diff options
| author | Chong Yidong | 2012-04-27 11:10:38 +0800 |
|---|---|---|
| committer | Chong Yidong | 2012-04-27 11:10:38 +0800 |
| commit | a8e7d6d783219972c08fd49a3a2afaf26eb139c2 (patch) | |
| tree | 5e86d23d9285389791dc8321d8a8a2ece2247bea | |
| parent | b360839071ef6c7a9e917fe57a4aaeb39138e8c0 (diff) | |
| parent | c5bb756916baa63cc663d68d4c24e5ad33a764e8 (diff) | |
| download | emacs-a8e7d6d783219972c08fd49a3a2afaf26eb139c2.tar.gz emacs-a8e7d6d783219972c08fd49a3a2afaf26eb139c2.zip | |
Merge changes from emacs-24 branch
98 files changed, 2007 insertions, 795 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index ad427397524..f53b74e98c4 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -61,7 +61,7 @@ sk Miroslav Vaško | |||
| 61 | 61 | ||
| 62 | ** Consider bumping customize-changed-options-previous-release. | 62 | ** Consider bumping customize-changed-options-previous-release. |
| 63 | 63 | ||
| 64 | ** cusver-check from admin.el cam help find new defcustoms missing | 64 | ** cusver-check from admin.el can help find new defcustoms missing |
| 65 | :version tags. | 65 | :version tags. |
| 66 | 66 | ||
| 67 | * BUGS | 67 | * BUGS |
| @@ -229,7 +229,7 @@ syntax.texi cyd | |||
| 229 | text.texi cyd | 229 | text.texi cyd |
| 230 | tips.texi rgm | 230 | tips.texi rgm |
| 231 | variables.texi cyd | 231 | variables.texi cyd |
| 232 | windows.texi | 232 | windows.texi rgm (skimmed) |
| 233 | 233 | ||
| 234 | 234 | ||
| 235 | Local variables: | 235 | Local variables: |
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 63ccb880d40..50c3d868eb3 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,24 @@ | |||
| 1 | 2012-04-27 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * emacs.texi: Some fixes for detailed menu. | ||
| 4 | |||
| 5 | 2012-04-26 Glenn Morris <rgm@gnu.org> | ||
| 6 | |||
| 7 | * emacs.texi: Add "et al." to authors. | ||
| 8 | |||
| 9 | * ack.texi, basic.texi, buffers.texi, building.texi: | ||
| 10 | * calendar.texi, cmdargs.texi, commands.texi, custom.texi: | ||
| 11 | * dired.texi, display.texi, emerge-xtra.texi, files.texi: | ||
| 12 | * fortran-xtra.texi, help.texi, kmacro.texi, mini.texi, misc.texi: | ||
| 13 | * msdog-xtra.texi, picture-xtra.texi, programs.texi, rmail.texi: | ||
| 14 | * search.texi, trouble.texi, windows.texi: | ||
| 15 | Use Texinfo recommended convention for quotes+punctuation. | ||
| 16 | |||
| 17 | 2012-04-25 Eli Zaretskii <eliz@gnu.org> | ||
| 18 | |||
| 19 | * mule.texi (Bidirectional Editing): Improve indexing. Minor | ||
| 20 | wording tweaks. | ||
| 21 | |||
| 1 | 2012-04-15 Chong Yidong <cyd@gnu.org> | 22 | 2012-04-15 Chong Yidong <cyd@gnu.org> |
| 2 | 23 | ||
| 3 | * misc.texi (emacsclient Options): More clarifications. | 24 | * misc.texi (emacsclient Options): More clarifications. |
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index 51f6d70bd90..eafd38155f2 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi | |||
| @@ -240,7 +240,7 @@ for compiled Emacs Lisp code. | |||
| 240 | 240 | ||
| 241 | @item | 241 | @item |
| 242 | Mathias Dahl wrote @file{image-dired.el}, a package for viewing image | 242 | Mathias Dahl wrote @file{image-dired.el}, a package for viewing image |
| 243 | files as ``thumbnails.'' | 243 | files as ``thumbnails''. |
| 244 | 244 | ||
| 245 | @item | 245 | @item |
| 246 | Julien Danjou wrote an implementation of ``Desktop Notifications'' | 246 | Julien Danjou wrote an implementation of ``Desktop Notifications'' |
| @@ -1027,7 +1027,7 @@ Together with Dmitry Dzhus, he wrote @file{gdb-mi.el}, the successor to | |||
| 1027 | 1027 | ||
| 1028 | @item | 1028 | @item |
| 1029 | Danny Roozendaal implemented @file{handwrite.el}, which converts text | 1029 | Danny Roozendaal implemented @file{handwrite.el}, which converts text |
| 1030 | into ``handwriting.'' | 1030 | into ``handwriting''. |
| 1031 | 1031 | ||
| 1032 | @item | 1032 | @item |
| 1033 | Markus Rost wrote @file{cus-test.el}, a testing framework for customize. | 1033 | Markus Rost wrote @file{cus-test.el}, a testing framework for customize. |
| @@ -1224,7 +1224,7 @@ the keyboard. | |||
| 1224 | 1224 | ||
| 1225 | @item | 1225 | @item |
| 1226 | Jean-Philippe Theberge wrote @file{thumbs.el}, a package for viewing | 1226 | Jean-Philippe Theberge wrote @file{thumbs.el}, a package for viewing |
| 1227 | image files as ``thumbnails.'' | 1227 | image files as ``thumbnails''. |
| 1228 | 1228 | ||
| 1229 | @item | 1229 | @item |
| 1230 | Spencer Thomas wrote the original @file{dabbrev.el}, providing a command | 1230 | Spencer Thomas wrote the original @file{dabbrev.el}, providing a command |
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index 5ad48eb48ef..2650b55811f 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi | |||
| @@ -668,7 +668,7 @@ those two positions are the accessible ones. @xref{Narrowing}. | |||
| 668 | @cindex arguments to commands | 668 | @cindex arguments to commands |
| 669 | 669 | ||
| 670 | In the terminology of mathematics and computing, @dfn{argument} | 670 | In the terminology of mathematics and computing, @dfn{argument} |
| 671 | means ``data provided to a function or operation.'' You can give any | 671 | means ``data provided to a function or operation''. You can give any |
| 672 | Emacs command a @dfn{numeric argument} (also called a @dfn{prefix | 672 | Emacs command a @dfn{numeric argument} (also called a @dfn{prefix |
| 673 | argument}). Some commands interpret the argument as a repetition | 673 | argument}). Some commands interpret the argument as a repetition |
| 674 | count. For example, giving @kbd{C-f} an argument of ten causes it to | 674 | count. For example, giving @kbd{C-f} an argument of ten causes it to |
| @@ -762,7 +762,7 @@ described when they come up; they exist to make an individual command | |||
| 762 | more convenient, and they are documented in that command's | 762 | more convenient, and they are documented in that command's |
| 763 | documentation string. | 763 | documentation string. |
| 764 | 764 | ||
| 765 | We use the term ``prefix argument'' as well as ``numeric argument,'' | 765 | We use the term ``prefix argument'' as well as ``numeric argument'', |
| 766 | to emphasize that you type these argument before the command, and to | 766 | to emphasize that you type these argument before the command, and to |
| 767 | distinguish them from minibuffer arguments that come after the | 767 | distinguish them from minibuffer arguments that come after the |
| 768 | command. | 768 | command. |
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index d2783bcb0ba..90d5084e3d9 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi | |||
| @@ -180,7 +180,7 @@ buffers that were current most recently come first. | |||
| 180 | 180 | ||
| 181 | @samp{.} in the first field of a line indicates that the buffer is | 181 | @samp{.} in the first field of a line indicates that the buffer is |
| 182 | current. @samp{%} indicates a read-only buffer. @samp{*} indicates | 182 | current. @samp{%} indicates a read-only buffer. @samp{*} indicates |
| 183 | that the buffer is ``modified.'' If several buffers are modified, it | 183 | that the buffer is ``modified''. If several buffers are modified, it |
| 184 | may be time to save some with @kbd{C-x s} (@pxref{Save Commands}). | 184 | may be time to save some with @kbd{C-x s} (@pxref{Save Commands}). |
| 185 | Here is an example of a buffer list: | 185 | Here is an example of a buffer list: |
| 186 | 186 | ||
| @@ -392,7 +392,7 @@ line: | |||
| 392 | 392 | ||
| 393 | @table @kbd | 393 | @table @kbd |
| 394 | @item ~ | 394 | @item ~ |
| 395 | Mark the buffer ``unmodified.'' The command @kbd{~} does this | 395 | Mark the buffer ``unmodified''. The command @kbd{~} does this |
| 396 | immediately when you type it. | 396 | immediately when you type it. |
| 397 | @item % | 397 | @item % |
| 398 | Toggle the buffer's read-only flag. The command @kbd{%} does | 398 | Toggle the buffer's read-only flag. The command @kbd{%} does |
| @@ -590,7 +590,7 @@ rule or another is easier for you to remember and apply quickly. | |||
| 590 | Iswitchb global minor mode provides convenient switching between | 590 | Iswitchb global minor mode provides convenient switching between |
| 591 | buffers using substrings of their names. It replaces the normal | 591 | buffers using substrings of their names. It replaces the normal |
| 592 | definitions of @kbd{C-x b}, @kbd{C-x 4 b}, @kbd{C-x 5 b}, and @kbd{C-x | 592 | definitions of @kbd{C-x b}, @kbd{C-x 4 b}, @kbd{C-x 5 b}, and @kbd{C-x |
| 593 | 4 C-o} with alternative commands that are somewhat ``smarter.'' | 593 | 4 C-o} with alternative commands that are somewhat ``smarter''. |
| 594 | 594 | ||
| 595 | When one of these commands prompts you for a buffer name, you can | 595 | When one of these commands prompts you for a buffer name, you can |
| 596 | type in just a substring of the name you want to choose. As you enter | 596 | type in just a substring of the name you want to choose. As you enter |
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index fef7d2b2828..4b92376b8a9 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi | |||
| @@ -331,7 +331,7 @@ you can do anything else in Emacs). @xref{MS-DOS}. | |||
| 331 | Just as you can run a compiler from Emacs and then visit the lines | 331 | Just as you can run a compiler from Emacs and then visit the lines |
| 332 | with compilation errors, you can also run @command{grep} and then | 332 | with compilation errors, you can also run @command{grep} and then |
| 333 | visit the lines on which matches were found. This works by treating | 333 | visit the lines on which matches were found. This works by treating |
| 334 | the matches reported by @command{grep} as if they were ``errors.'' | 334 | the matches reported by @command{grep} as if they were ``errors''. |
| 335 | The output buffer uses Grep mode, which is a variant of Compilation | 335 | The output buffer uses Grep mode, which is a variant of Compilation |
| 336 | mode (@pxref{Compilation Mode}). | 336 | mode (@pxref{Compilation Mode}). |
| 337 | 337 | ||
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index c2851d4abd3..a1e98bfcb92 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi | |||
| @@ -624,7 +624,7 @@ for all users in a @file{default.el} file. @xref{Init File}. | |||
| 624 | These calendar commands display the dates and times of the phases of | 624 | These calendar commands display the dates and times of the phases of |
| 625 | the moon (new moon, first quarter, full moon, last quarter). This | 625 | the moon (new moon, first quarter, full moon, last quarter). This |
| 626 | feature is useful for debugging problems that ``depend on the phase of | 626 | feature is useful for debugging problems that ``depend on the phase of |
| 627 | the moon.'' | 627 | the moon''. |
| 628 | 628 | ||
| 629 | @table @kbd | 629 | @table @kbd |
| 630 | @item M | 630 | @item M |
| @@ -822,7 +822,7 @@ Display Mayan date for selected day (@code{calendar-mayan-print-date}). | |||
| 822 | 822 | ||
| 823 | Otherwise, move point to the date you want to convert, then type the | 823 | Otherwise, move point to the date you want to convert, then type the |
| 824 | appropriate command starting with @kbd{p} from the table above. The | 824 | appropriate command starting with @kbd{p} from the table above. The |
| 825 | prefix @kbd{p} is a mnemonic for ``print,'' since Emacs ``prints'' the | 825 | prefix @kbd{p} is a mnemonic for ``print'', since Emacs ``prints'' the |
| 826 | equivalent date in the echo area. @kbd{p o} displays the | 826 | equivalent date in the echo area. @kbd{p o} displays the |
| 827 | date in all forms known to Emacs. You can also use @kbd{Mouse-3} and | 827 | date in all forms known to Emacs. You can also use @kbd{Mouse-3} and |
| 828 | then choose @kbd{Other calendars} from the menu that appears. This | 828 | then choose @kbd{Other calendars} from the menu that appears. This |
| @@ -901,7 +901,7 @@ Islamic, or French names. | |||
| 901 | @findex calendar-hebrew-list-yahrzeits | 901 | @findex calendar-hebrew-list-yahrzeits |
| 902 | @cindex yahrzeits | 902 | @cindex yahrzeits |
| 903 | One common issue concerning the Hebrew calendar is the computation | 903 | One common issue concerning the Hebrew calendar is the computation |
| 904 | of the anniversary of a date of death, called a ``yahrzeit.'' The Emacs | 904 | of the anniversary of a date of death, called a ``yahrzeit''. The Emacs |
| 905 | calendar includes a facility for such calculations. If you are in the | 905 | calendar includes a facility for such calculations. If you are in the |
| 906 | calendar, the command @kbd{M-x calendar-hebrew-list-yahrzeits} asks you for | 906 | calendar, the command @kbd{M-x calendar-hebrew-list-yahrzeits} asks you for |
| 907 | a range of years and then displays a list of the yahrzeit dates for those | 907 | a range of years and then displays a list of the yahrzeit dates for those |
| @@ -1426,8 +1426,8 @@ that applies to the fourth Thursday in November: | |||
| 1426 | @noindent | 1426 | @noindent |
| 1427 | The 11 specifies November (the eleventh month), the 4 specifies Thursday | 1427 | The 11 specifies November (the eleventh month), the 4 specifies Thursday |
| 1428 | (the fourth day of the week, where Sunday is numbered zero), and the | 1428 | (the fourth day of the week, where Sunday is numbered zero), and the |
| 1429 | second 4 specifies the fourth Thursday (1 would mean ``first,'' 2 would | 1429 | second 4 specifies the fourth Thursday (1 would mean ``first'', 2 would |
| 1430 | mean ``second,'' @minus{}2 would mean ``second-to-last,'' and so on). | 1430 | mean ``second'', @minus{}2 would mean ``second-to-last'', and so on). |
| 1431 | The month can be a single month or a list of months. Thus you could change | 1431 | The month can be a single month or a list of months. Thus you could change |
| 1432 | the 11 above to @samp{'(1 2 3)} and have the entry apply to the last | 1432 | the 11 above to @samp{'(1 2 3)} and have the entry apply to the last |
| 1433 | Thursday of January, February, and March. If the month is @code{t}, the | 1433 | Thursday of January, February, and March. If the month is @code{t}, the |
| @@ -1681,7 +1681,7 @@ timeclock-change}. | |||
| 1681 | Once you've collected data from a number of time intervals, you can use | 1681 | Once you've collected data from a number of time intervals, you can use |
| 1682 | @kbd{M-x timeclock-workday-remaining} to see how much time is left to | 1682 | @kbd{M-x timeclock-workday-remaining} to see how much time is left to |
| 1683 | work today (assuming a typical average of 8 hours a day), and @kbd{M-x | 1683 | work today (assuming a typical average of 8 hours a day), and @kbd{M-x |
| 1684 | timeclock-when-to-leave} which will calculate when you're ``done.'' | 1684 | timeclock-when-to-leave} which will calculate when you're ``done''. |
| 1685 | 1685 | ||
| 1686 | @vindex timeclock-modeline-display | 1686 | @vindex timeclock-modeline-display |
| 1687 | @findex timeclock-modeline-display | 1687 | @findex timeclock-modeline-display |
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 4c6d6ef7bad..222aa0f8434 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi | |||
| @@ -442,7 +442,7 @@ Directory for the documentation string file, which is used to | |||
| 442 | initialize the Lisp variable @code{doc-directory}. | 442 | initialize the Lisp variable @code{doc-directory}. |
| 443 | @item EMACSLOADPATH | 443 | @item EMACSLOADPATH |
| 444 | A colon-separated list of directories@footnote{ Here and below, | 444 | A colon-separated list of directories@footnote{ Here and below, |
| 445 | whenever we say ``colon-separated list of directories,'' it pertains | 445 | whenever we say ``colon-separated list of directories'', it pertains |
| 446 | to Unix and GNU/Linux systems. On MS-DOS and MS-Windows, the | 446 | to Unix and GNU/Linux systems. On MS-DOS and MS-Windows, the |
| 447 | directories are separated by semi-colons instead, since DOS/Windows | 447 | directories are separated by semi-colons instead, since DOS/Windows |
| 448 | file names might include a colon after a drive letter.} to search for | 448 | file names might include a colon after a drive letter.} to search for |
diff --git a/doc/emacs/commands.texi b/doc/emacs/commands.texi index 3285b65e57b..9678adfe87f 100644 --- a/doc/emacs/commands.texi +++ b/doc/emacs/commands.texi | |||
| @@ -166,7 +166,7 @@ commands, even though strictly speaking the key is bound to a command. | |||
| 166 | Usually we state the name of the command which really does the work in | 166 | Usually we state the name of the command which really does the work in |
| 167 | parentheses after mentioning the key that runs it. For example, we | 167 | parentheses after mentioning the key that runs it. For example, we |
| 168 | will say that ``The command @kbd{C-n} (@code{next-line}) moves point | 168 | will say that ``The command @kbd{C-n} (@code{next-line}) moves point |
| 169 | vertically down,'' meaning that the command @code{next-line} moves | 169 | vertically down'', meaning that the command @code{next-line} moves |
| 170 | vertically down, and the key @kbd{C-n} is normally bound to it. | 170 | vertically down, and the key @kbd{C-n} is normally bound to it. |
| 171 | 171 | ||
| 172 | Since we are discussing customization, we should tell you about | 172 | Since we are discussing customization, we should tell you about |
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 72b4961e209..cfd45de6aca 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi | |||
| @@ -1922,7 +1922,7 @@ single click definition has run when the first click was received. | |||
| 1922 | This constrains what you can do with double clicks, but user interface | 1922 | This constrains what you can do with double clicks, but user interface |
| 1923 | designers say that this constraint ought to be followed in any case. A | 1923 | designers say that this constraint ought to be followed in any case. A |
| 1924 | double click should do something similar to the single click, only | 1924 | double click should do something similar to the single click, only |
| 1925 | ``more so.'' The command for the double-click event should perform the | 1925 | ``more so''. The command for the double-click event should perform the |
| 1926 | extra work for the double click. | 1926 | extra work for the double click. |
| 1927 | 1927 | ||
| 1928 | If a double-click event has no binding, it changes to the | 1928 | If a double-click event has no binding, it changes to the |
| @@ -1970,7 +1970,7 @@ or @samp{triple-}, which always precede @samp{drag-} or @samp{down-}. | |||
| 1970 | A frame includes areas that don't show text from the buffer, such as | 1970 | A frame includes areas that don't show text from the buffer, such as |
| 1971 | the mode line and the scroll bar. You can tell whether a mouse button | 1971 | the mode line and the scroll bar. You can tell whether a mouse button |
| 1972 | comes from a special area of the screen by means of dummy ``prefix | 1972 | comes from a special area of the screen by means of dummy ``prefix |
| 1973 | keys.'' For example, if you click the mouse in the mode line, you get | 1973 | keys''. For example, if you click the mouse in the mode line, you get |
| 1974 | the prefix key @code{mode-line} before the ordinary mouse-button symbol. | 1974 | the prefix key @code{mode-line} before the ordinary mouse-button symbol. |
| 1975 | Thus, here is how to define the command for clicking the first button in | 1975 | Thus, here is how to define the command for clicking the first button in |
| 1976 | a mode line to run @code{scroll-up-command}: | 1976 | a mode line to run @code{scroll-up-command}: |
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index 301f8a76477..f3a1ae2fc99 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi | |||
| @@ -14,7 +14,7 @@ optionally some of its subdirectories as well. You can use the normal | |||
| 14 | Emacs commands to move around in this buffer, and special Dired | 14 | Emacs commands to move around in this buffer, and special Dired |
| 15 | commands to operate on the listed files. | 15 | commands to operate on the listed files. |
| 16 | 16 | ||
| 17 | The Dired buffer is ``read-only,'' and inserting text in it is not | 17 | The Dired buffer is ``read-only'', and inserting text in it is not |
| 18 | allowed. Ordinary printing characters such as @kbd{d} and @kbd{x} are | 18 | allowed. Ordinary printing characters such as @kbd{d} and @kbd{x} are |
| 19 | redefined for special Dired commands. Some Dired commands @dfn{mark} | 19 | redefined for special Dired commands. Some Dired commands @dfn{mark} |
| 20 | or @dfn{flag} the @dfn{current file} (that is, the file on the current | 20 | or @dfn{flag} the @dfn{current file} (that is, the file on the current |
| @@ -1252,7 +1252,7 @@ and erases all flags and marks. | |||
| 1252 | @findex wdired-change-to-wdired-mode | 1252 | @findex wdired-change-to-wdired-mode |
| 1253 | Wdired is a special mode that allows you to perform file operations | 1253 | Wdired is a special mode that allows you to perform file operations |
| 1254 | by editing the Dired buffer directly (the ``W'' in ``Wdired'' stands | 1254 | by editing the Dired buffer directly (the ``W'' in ``Wdired'' stands |
| 1255 | for ``writable.'') To enter Wdired mode, type @kbd{C-x C-q} | 1255 | for ``writable''.) To enter Wdired mode, type @kbd{C-x C-q} |
| 1256 | (@code{dired-toggle-read-only}) while in a Dired buffer. | 1256 | (@code{dired-toggle-read-only}) while in a Dired buffer. |
| 1257 | Alternatively, use the @samp{Immediate / Edit File Names} menu item. | 1257 | Alternatively, use the @samp{Immediate / Edit File Names} menu item. |
| 1258 | 1258 | ||
| @@ -1297,7 +1297,7 @@ buffer containing image-dired, corresponding to the marked files. | |||
| 1297 | You can also enter Image-Dired directly by typing @kbd{M-x | 1297 | You can also enter Image-Dired directly by typing @kbd{M-x |
| 1298 | image-dired}. This prompts for a directory; specify one that has | 1298 | image-dired}. This prompts for a directory; specify one that has |
| 1299 | image files. This creates thumbnails for all the images in that | 1299 | image files. This creates thumbnails for all the images in that |
| 1300 | directory, and displays them all in the ``thumbnail buffer.'' This | 1300 | directory, and displays them all in the ``thumbnail buffer''. This |
| 1301 | takes a long time if the directory contains many image files, and it | 1301 | takes a long time if the directory contains many image files, and it |
| 1302 | asks for confirmation if the number of image files exceeds | 1302 | asks for confirmation if the number of image files exceeds |
| 1303 | @code{image-dired-show-all-from-dir-max-files}. | 1303 | @code{image-dired-show-all-from-dir-max-files}. |
| @@ -1408,7 +1408,7 @@ the current buffer. | |||
| 1408 | 1408 | ||
| 1409 | The default comparison method (used if you type @key{RET} at the | 1409 | The default comparison method (used if you type @key{RET} at the |
| 1410 | prompt) is to compare just the file names---each file name that does | 1410 | prompt) is to compare just the file names---each file name that does |
| 1411 | not appear in the other directory is ``different.'' You can specify | 1411 | not appear in the other directory is ``different''. You can specify |
| 1412 | more stringent comparisons by entering a Lisp expression, which can | 1412 | more stringent comparisons by entering a Lisp expression, which can |
| 1413 | refer to the variables @code{size1} and @code{size2}, the respective | 1413 | refer to the variables @code{size1} and @code{size2}, the respective |
| 1414 | file sizes; @code{mtime1} and @code{mtime2}, the last modification | 1414 | file sizes; @code{mtime1} and @code{mtime2}, the last modification |
| @@ -1416,7 +1416,7 @@ times in seconds, as floating point numbers; and @code{fa1} and | |||
| 1416 | @code{fa2}, the respective file attribute lists (as returned by the | 1416 | @code{fa2}, the respective file attribute lists (as returned by the |
| 1417 | function @code{file-attributes}). This expression is evaluated for | 1417 | function @code{file-attributes}). This expression is evaluated for |
| 1418 | each pair of like-named files, and if the expression's value is | 1418 | each pair of like-named files, and if the expression's value is |
| 1419 | non-@code{nil}, those files are considered ``different.'' | 1419 | non-@code{nil}, those files are considered ``different''. |
| 1420 | 1420 | ||
| 1421 | For instance, the sequence @code{M-x dired-compare-directories | 1421 | For instance, the sequence @code{M-x dired-compare-directories |
| 1422 | @key{RET} (> mtime1 mtime2) @key{RET}} marks files newer in this | 1422 | @key{RET} (> mtime1 mtime2) @key{RET}} marks files newer in this |
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index da33d352698..84e81f565cc 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi | |||
| @@ -448,7 +448,7 @@ and visits it with View mode enabled. | |||
| 448 | @cindex synchronizing windows | 448 | @cindex synchronizing windows |
| 449 | 449 | ||
| 450 | @dfn{Follow mode} is a minor mode that makes two windows, both | 450 | @dfn{Follow mode} is a minor mode that makes two windows, both |
| 451 | showing the same buffer, scroll as a single tall ``virtual window.'' | 451 | showing the same buffer, scroll as a single tall ``virtual window''. |
| 452 | To use Follow mode, go to a frame with just one window, split it into | 452 | To use Follow mode, go to a frame with just one window, split it into |
| 453 | two side-by-side windows using @kbd{C-x 3}, and then type @kbd{M-x | 453 | two side-by-side windows using @kbd{C-x 3}, and then type @kbd{M-x |
| 454 | follow-mode}. From then on, you can edit the buffer in either of the | 454 | follow-mode}. From then on, you can edit the buffer in either of the |
| @@ -982,15 +982,15 @@ fringes on the selected frame only, use @kbd{M-x set-fringe-style}. | |||
| 982 | line (@pxref{Continuation Lines}). When one line of text is split | 982 | line (@pxref{Continuation Lines}). When one line of text is split |
| 983 | into multiple screen lines, the left fringe shows a curving arrow for | 983 | into multiple screen lines, the left fringe shows a curving arrow for |
| 984 | each screen line except the first, indicating that ``this is not the | 984 | each screen line except the first, indicating that ``this is not the |
| 985 | real beginning.'' The right fringe shows a curving arrow for each | 985 | real beginning''. The right fringe shows a curving arrow for each |
| 986 | screen line except the last, indicating that ``this is not the real | 986 | screen line except the last, indicating that ``this is not the real |
| 987 | end.'' If the line's direction is right-to-left (@pxref{Bidirectional | 987 | end''. If the line's direction is right-to-left (@pxref{Bidirectional |
| 988 | Editing}), the meanings of the curving arrows in the fringes are | 988 | Editing}), the meanings of the curving arrows in the fringes are |
| 989 | swapped. | 989 | swapped. |
| 990 | 990 | ||
| 991 | The fringes indicate line truncation with short horizontal arrows | 991 | The fringes indicate line truncation with short horizontal arrows |
| 992 | meaning ``there's more text on this line which is scrolled | 992 | meaning ``there's more text on this line which is scrolled |
| 993 | horizontally out of view.'' Clicking the mouse on one of the arrows | 993 | horizontally out of view''. Clicking the mouse on one of the arrows |
| 994 | scrolls the display horizontally in the direction of the arrow. | 994 | scrolls the display horizontally in the direction of the arrow. |
| 995 | 995 | ||
| 996 | The fringes can also indicate other things, such as buffer | 996 | The fringes can also indicate other things, such as buffer |
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 25e5bb2af0d..13f60e8cfdf 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -72,7 +72,7 @@ developing GNU and promoting software freedom.'' | |||
| 72 | @sp 4 | 72 | @sp 4 |
| 73 | @center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}. | 73 | @center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}. |
| 74 | @sp 5 | 74 | @sp 5 |
| 75 | @center Richard Stallman | 75 | @center Richard Stallman et al. |
| 76 | @page | 76 | @page |
| 77 | @vskip 0pt plus 1filll | 77 | @vskip 0pt plus 1filll |
| 78 | @insertcopying | 78 | @insertcopying |
| @@ -288,11 +288,11 @@ The Mark and the Region | |||
| 288 | Killing and Moving Text | 288 | Killing and Moving Text |
| 289 | 289 | ||
| 290 | * Deletion and Killing:: Commands that remove text. | 290 | * Deletion and Killing:: Commands that remove text. |
| 291 | * Yanking:: Recovering killed text. Moving text. (Pasting.) | 291 | * Yanking:: Commands that insert text. |
| 292 | * Cut and Paste:: Clipboard and selections on graphical displays. | 292 | * Cut and Paste:: Clipboard and selections on graphical displays. |
| 293 | * Accumulating Text:: Other ways of copying text. | 293 | * Accumulating Text:: Other methods to add text to the buffer. |
| 294 | * Rectangles:: Operating on text in rectangular areas. | 294 | * Rectangles:: Operating on text in rectangular areas. |
| 295 | * CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} to kill and yank. | 295 | * CUA Bindings:: Using @kbd{C-x}/@kbd{C-c}/@kbd{C-v} to kill and yank. |
| 296 | 296 | ||
| 297 | Deletion and Killing | 297 | Deletion and Killing |
| 298 | 298 | ||
| @@ -309,9 +309,9 @@ Yanking | |||
| 309 | * Earlier Kills:: Yanking something killed some time ago. | 309 | * Earlier Kills:: Yanking something killed some time ago. |
| 310 | * Appending Kills:: Several kills in a row all yank together. | 310 | * Appending Kills:: Several kills in a row all yank together. |
| 311 | 311 | ||
| 312 | Killing and Yanking on Graphical Displays | 312 | "Cut and Paste" Operations on Graphical Displays |
| 313 | 313 | ||
| 314 | * Clipboard:: How Emacs interacts with the system clipboard. | 314 | * Clipboard:: How Emacs uses the system clipboard. |
| 315 | * Primary Selection:: The temporarily selected text selection. | 315 | * Primary Selection:: The temporarily selected text selection. |
| 316 | * Secondary Selection:: Cutting without altering point and mark. | 316 | * Secondary Selection:: Cutting without altering point and mark. |
| 317 | 317 | ||
| @@ -328,7 +328,7 @@ Registers | |||
| 328 | Controlling the Display | 328 | Controlling the Display |
| 329 | 329 | ||
| 330 | * Scrolling:: Commands to move text up and down in a window. | 330 | * Scrolling:: Commands to move text up and down in a window. |
| 331 | * Recentering:: A scrolling command that centers the current line. | 331 | * Recentering:: A scroll command that centers the current line. |
| 332 | * Auto Scrolling:: Redisplay scrolls text automatically when needed. | 332 | * Auto Scrolling:: Redisplay scrolls text automatically when needed. |
| 333 | * Horizontal Scrolling:: Moving text left and right in a window. | 333 | * Horizontal Scrolling:: Moving text left and right in a window. |
| 334 | * Narrowing:: Restricting display and editing to a portion | 334 | * Narrowing:: Restricting display and editing to a portion |
| @@ -486,7 +486,7 @@ Multiple Windows | |||
| 486 | * Displaying Buffers:: How Emacs picks a window for displaying a buffer. | 486 | * Displaying Buffers:: How Emacs picks a window for displaying a buffer. |
| 487 | * Window Convenience:: Convenience functions for window handling. | 487 | * Window Convenience:: Convenience functions for window handling. |
| 488 | 488 | ||
| 489 | Displaying Buffers | 489 | Displaying a Buffer in a Window |
| 490 | 490 | ||
| 491 | * Window Choice:: How @code{display-buffer} works. | 491 | * Window Choice:: How @code{display-buffer} works. |
| 492 | 492 | ||
| @@ -509,7 +509,7 @@ Frames and Graphical Displays | |||
| 509 | * Tool Bars:: Enabling and disabling the tool bar. | 509 | * Tool Bars:: Enabling and disabling the tool bar. |
| 510 | * Dialog Boxes:: Controlling use of dialog boxes. | 510 | * Dialog Boxes:: Controlling use of dialog boxes. |
| 511 | * Tooltips:: Displaying information at the current mouse position. | 511 | * Tooltips:: Displaying information at the current mouse position. |
| 512 | * Mouse Avoidance:: Moving the mouse pointer out of the way. | 512 | * Mouse Avoidance:: Preventing the mouse pointer from obscuring text. |
| 513 | * Non-Window Terminals:: Multiple frames on terminals that show only one. | 513 | * Non-Window Terminals:: Multiple frames on terminals that show only one. |
| 514 | * Text-Only Mouse:: Using the mouse in text terminals. | 514 | * Text-Only Mouse:: Using the mouse in text terminals. |
| 515 | 515 | ||
| @@ -540,7 +540,7 @@ International Character Set Support | |||
| 540 | * Charsets:: How Emacs groups its internal character codes. | 540 | * Charsets:: How Emacs groups its internal character codes. |
| 541 | * Bidirectional Editing:: Support for right-to-left scripts. | 541 | * Bidirectional Editing:: Support for right-to-left scripts. |
| 542 | 542 | ||
| 543 | Modes | 543 | Major and Minor Modes |
| 544 | 544 | ||
| 545 | * Major Modes:: Text mode vs. Lisp mode vs. C mode... | 545 | * Major Modes:: Text mode vs. Lisp mode vs. C mode... |
| 546 | * Minor Modes:: Each minor mode is a feature you can turn on | 546 | * Minor Modes:: Each minor mode is a feature you can turn on |
| @@ -600,7 +600,7 @@ Org Mode | |||
| 600 | * TeX Print:: Commands for printing part of a file with TeX. | 600 | * TeX Print:: Commands for printing part of a file with TeX. |
| 601 | * TeX Misc:: Customization of TeX mode, and related features. | 601 | * TeX Misc:: Customization of TeX mode, and related features. |
| 602 | 602 | ||
| 603 | Editing Enriched Text | 603 | Enriched Text |
| 604 | 604 | ||
| 605 | * Enriched Mode:: Entering and exiting Enriched mode. | 605 | * Enriched Mode:: Entering and exiting Enriched mode. |
| 606 | * Hard and Soft Newlines:: There are two different kinds of newlines. | 606 | * Hard and Soft Newlines:: There are two different kinds of newlines. |
| @@ -783,7 +783,7 @@ Introduction to Version Control | |||
| 783 | * Version Control Systems:: Supported version control back-end systems. | 783 | * Version Control Systems:: Supported version control back-end systems. |
| 784 | * VCS Concepts:: Words and concepts related to version control. | 784 | * VCS Concepts:: Words and concepts related to version control. |
| 785 | * VCS Merging:: How file conflicts are handled. | 785 | * VCS Merging:: How file conflicts are handled. |
| 786 | * VCS Changesets:: Changesets in version control. | 786 | * VCS Changesets:: How changes are grouped. |
| 787 | * VCS Repositories:: Where version control repositories are stored. | 787 | * VCS Repositories:: Where version control repositories are stored. |
| 788 | * Types of Log File:: The VCS log in contrast to the ChangeLog. | 788 | * Types of Log File:: The VCS log in contrast to the ChangeLog. |
| 789 | 789 | ||
| @@ -798,10 +798,10 @@ VC Directory Mode | |||
| 798 | * VC Directory Buffer:: What the buffer looks like and means. | 798 | * VC Directory Buffer:: What the buffer looks like and means. |
| 799 | * VC Directory Commands:: Commands to use in a VC directory buffer. | 799 | * VC Directory Commands:: Commands to use in a VC directory buffer. |
| 800 | 800 | ||
| 801 | Multiple Branches of a File | 801 | Version Control Branches |
| 802 | 802 | ||
| 803 | * Switching Branches:: How to get to another existing branch. | 803 | * Switching Branches:: How to get to another existing branch. |
| 804 | * VC Pull:: Updating a branch from another branch. | 804 | * VC Pull:: Updating the contents of a branch. |
| 805 | * Merging:: Transferring changes between branches. | 805 | * Merging:: Transferring changes between branches. |
| 806 | * Creating Branches:: How to start a new branch. | 806 | * Creating Branches:: How to start a new branch. |
| 807 | 807 | ||
| @@ -828,12 +828,12 @@ Change Logs | |||
| 828 | Tags Tables | 828 | Tags Tables |
| 829 | 829 | ||
| 830 | * Tag Syntax:: Tag syntax for various types of code and text files. | 830 | * Tag Syntax:: Tag syntax for various types of code and text files. |
| 831 | * Create Tags Table:: Creating a tags table with @code{etags}. | 831 | * Create Tags Table:: Creating a tags table with @command{etags}. |
| 832 | * Etags Regexps:: Create arbitrary tags using regular expressions. | 832 | * Etags Regexps:: Create arbitrary tags using regular expressions. |
| 833 | * Select Tags Table:: How to visit a tags table. | 833 | * Select Tags Table:: How to visit a tags table. |
| 834 | * Find Tag:: Commands to find the definition of a specific tag. | 834 | * Find Tag:: Commands to find the definition of a specific tag. |
| 835 | * Tags Search:: Using a tags table for searching and replacing. | 835 | * Tags Search:: Using a tags table for searching and replacing. |
| 836 | * List Tags:: Listing and finding tags defined in a file. | 836 | * List Tags:: Using tags for completion, and listing them. |
| 837 | 837 | ||
| 838 | @ifnottex | 838 | @ifnottex |
| 839 | Merging Files with Emerge | 839 | Merging Files with Emerge |
| @@ -952,16 +952,9 @@ Customizing the Calendar and Diary | |||
| 952 | * Sexp Diary Entries:: More flexible diary entries. | 952 | * Sexp Diary Entries:: More flexible diary entries. |
| 953 | @end ifnottex | 953 | @end ifnottex |
| 954 | 954 | ||
| 955 | Document Viewing | ||
| 956 | |||
| 957 | * DocView Navigation:: Navigating DocView buffers. | ||
| 958 | * DocView Searching:: Searching inside documents. | ||
| 959 | * DocView Slicing:: Specifying which part of a page is displayed. | ||
| 960 | * DocView Conversion:: Influencing and triggering conversion. | ||
| 961 | |||
| 962 | Sending Mail | 955 | Sending Mail |
| 963 | 956 | ||
| 964 | * Mail Format:: Format of the mail being composed. | 957 | * Mail Format:: Format of a mail message. |
| 965 | * Mail Headers:: Details of some standard mail header fields. | 958 | * Mail Headers:: Details of some standard mail header fields. |
| 966 | * Mail Aliases:: Abbreviating and grouping mail addresses. | 959 | * Mail Aliases:: Abbreviating and grouping mail addresses. |
| 967 | * Mail Commands:: Special commands for editing mail being composed. | 960 | * Mail Commands:: Special commands for editing mail being composed. |
| @@ -1012,6 +1005,13 @@ Gnus | |||
| 1012 | * Gnus Group Buffer:: A short description of Gnus group commands. | 1005 | * Gnus Group Buffer:: A short description of Gnus group commands. |
| 1013 | * Gnus Summary Buffer:: A short description of Gnus summary commands. | 1006 | * Gnus Summary Buffer:: A short description of Gnus summary commands. |
| 1014 | 1007 | ||
| 1008 | Document Viewing | ||
| 1009 | |||
| 1010 | * DocView Navigation:: Navigating DocView buffers. | ||
| 1011 | * DocView Searching:: Searching inside documents. | ||
| 1012 | * DocView Slicing:: Specifying which part of a page is displayed. | ||
| 1013 | * DocView Conversion:: Influencing and triggering conversion. | ||
| 1014 | |||
| 1015 | Running Shell Commands from Emacs | 1015 | Running Shell Commands from Emacs |
| 1016 | 1016 | ||
| 1017 | * Single Shell:: How to run one shell command and return. | 1017 | * Single Shell:: How to run one shell command and return. |
| @@ -1061,10 +1061,10 @@ Customization | |||
| 1061 | * Variables:: Many Emacs commands examine Emacs variables | 1061 | * Variables:: Many Emacs commands examine Emacs variables |
| 1062 | to decide what to do; by setting variables, | 1062 | to decide what to do; by setting variables, |
| 1063 | you can control their functioning. | 1063 | you can control their functioning. |
| 1064 | * Key Bindings:: Keymaps say what command each key runs. | 1064 | * Key Bindings:: The keymaps say what command each key runs. |
| 1065 | By changing them, you can "redefine" keys. | 1065 | By changing them, you can "redefine" keys. |
| 1066 | * Init File:: How to write common customizations in the | 1066 | * Init File:: How to write common customizations in the |
| 1067 | @file{.emacs} file. | 1067 | initialization file. |
| 1068 | 1068 | ||
| 1069 | Easy Customization Interface | 1069 | Easy Customization Interface |
| 1070 | 1070 | ||
| @@ -1098,7 +1098,7 @@ Customizing Key Bindings | |||
| 1098 | * Local Keymaps:: Major and minor modes have their own keymaps. | 1098 | * Local Keymaps:: Major and minor modes have their own keymaps. |
| 1099 | * Minibuffer Maps:: The minibuffer uses its own local keymaps. | 1099 | * Minibuffer Maps:: The minibuffer uses its own local keymaps. |
| 1100 | * Rebinding:: How to redefine one key's meaning conveniently. | 1100 | * Rebinding:: How to redefine one key's meaning conveniently. |
| 1101 | * Init Rebinding:: Rebinding keys with your init file, @file{.emacs}. | 1101 | * Init Rebinding:: Rebinding keys with your initialization file. |
| 1102 | * Modifier Keys:: Using modifier keys in key bindings. | 1102 | * Modifier Keys:: Using modifier keys in key bindings. |
| 1103 | * Function Keys:: Rebinding terminal function keys. | 1103 | * Function Keys:: Rebinding terminal function keys. |
| 1104 | * Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. | 1104 | * Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. |
| @@ -1107,7 +1107,7 @@ Customizing Key Bindings | |||
| 1107 | before it can be executed. This is done to protect | 1107 | before it can be executed. This is done to protect |
| 1108 | beginners from surprises. | 1108 | beginners from surprises. |
| 1109 | 1109 | ||
| 1110 | The Init File, @file{~/.emacs} | 1110 | The Emacs Initialization File |
| 1111 | 1111 | ||
| 1112 | * Init Syntax:: Syntax of constants in Emacs Lisp. | 1112 | * Init Syntax:: Syntax of constants in Emacs Lisp. |
| 1113 | * Init Examples:: How to do some things with an init file. | 1113 | * Init Examples:: How to do some things with an init file. |
| @@ -1167,7 +1167,7 @@ GTK resources | |||
| 1167 | 1167 | ||
| 1168 | * GTK Resource Basics:: Basic usage of GTK+ resources. | 1168 | * GTK Resource Basics:: Basic usage of GTK+ resources. |
| 1169 | * GTK Widget Names:: How GTK+ widgets are named. | 1169 | * GTK Widget Names:: How GTK+ widgets are named. |
| 1170 | * GTK Names in Emacs:: GTK+ widgets used by Emacs. | 1170 | * GTK Names in Emacs:: GTK widgets used by Emacs. |
| 1171 | * GTK styles:: What can be customized in a GTK widget. | 1171 | * GTK styles:: What can be customized in a GTK widget. |
| 1172 | 1172 | ||
| 1173 | Emacs and Mac OS / GNUstep | 1173 | Emacs and Mac OS / GNUstep |
| @@ -1183,7 +1183,8 @@ Emacs and Microsoft Windows/MS-DOS | |||
| 1183 | * Text and Binary:: Text files use CRLF to terminate lines. | 1183 | * Text and Binary:: Text files use CRLF to terminate lines. |
| 1184 | * Windows Files:: File-name conventions on Windows. | 1184 | * Windows Files:: File-name conventions on Windows. |
| 1185 | * ls in Lisp:: Emulation of @code{ls} for Dired. | 1185 | * ls in Lisp:: Emulation of @code{ls} for Dired. |
| 1186 | * Windows HOME:: Where Emacs looks for your @file{.emacs}. | 1186 | * Windows HOME:: Where Emacs looks for your @file{.emacs} and |
| 1187 | where it starts up. | ||
| 1187 | * Windows Keyboard:: Windows-specific keyboard features. | 1188 | * Windows Keyboard:: Windows-specific keyboard features. |
| 1188 | * Windows Mouse:: Windows-specific mouse features. | 1189 | * Windows Mouse:: Windows-specific mouse features. |
| 1189 | * Windows Processes:: Running subprocesses on Windows. | 1190 | * Windows Processes:: Running subprocesses on Windows. |
diff --git a/doc/emacs/emerge-xtra.texi b/doc/emacs/emerge-xtra.texi index 72e0b36b704..552580ef851 100644 --- a/doc/emacs/emerge-xtra.texi +++ b/doc/emacs/emerge-xtra.texi | |||
| @@ -151,7 +151,7 @@ input. The mode line indicates Auto Advance mode with @samp{A}. | |||
| 151 | If Skip Prefers mode is in effect, the @kbd{n} and @kbd{p} commands | 151 | If Skip Prefers mode is in effect, the @kbd{n} and @kbd{p} commands |
| 152 | skip over differences in states ``prefer-A'' and ``prefer-B'' | 152 | skip over differences in states ``prefer-A'' and ``prefer-B'' |
| 153 | (@pxref{State of Difference}). Thus you see only differences for | 153 | (@pxref{State of Difference}). Thus you see only differences for |
| 154 | which neither version is presumed ``correct.'' The mode line | 154 | which neither version is presumed ``correct''. The mode line |
| 155 | indicates Skip Prefers mode with @samp{S}. This mode is only relevant | 155 | indicates Skip Prefers mode with @samp{S}. This mode is only relevant |
| 156 | when there is an ancestor. | 156 | when there is an ancestor. |
| 157 | 157 | ||
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 10ba9ed1fa6..31883a1f5cc 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi | |||
| @@ -97,7 +97,7 @@ minibuffer, with a directory omitted, specifies the file | |||
| 97 | 97 | ||
| 98 | When typing a file name into the minibuffer, you can make use of a | 98 | When typing a file name into the minibuffer, you can make use of a |
| 99 | couple of shortcuts: a double slash is interpreted as ``ignore | 99 | couple of shortcuts: a double slash is interpreted as ``ignore |
| 100 | everything before the second slash in the pair,'' and @samp{~/} is | 100 | everything before the second slash in the pair'', and @samp{~/} is |
| 101 | interpreted as your home directory. @xref{Minibuffer File}. | 101 | interpreted as your home directory. @xref{Minibuffer File}. |
| 102 | 102 | ||
| 103 | @cindex environment variables in file names | 103 | @cindex environment variables in file names |
| @@ -1340,7 +1340,7 @@ correct the line numbers in the hunk headers, to ensure that the diff | |||
| 1340 | remains ``correct''. To disable automatic line number correction, | 1340 | remains ``correct''. To disable automatic line number correction, |
| 1341 | change the variable @code{diff-update-on-the-fly} to @code{nil}. | 1341 | change the variable @code{diff-update-on-the-fly} to @code{nil}. |
| 1342 | 1342 | ||
| 1343 | Diff mode treats each hunk as an ``error message,'' similar to | 1343 | Diff mode treats each hunk as an ``error message'', similar to |
| 1344 | Compilation mode. Thus, you can use commands such as @kbd{C-x '} to | 1344 | Compilation mode. Thus, you can use commands such as @kbd{C-x '} to |
| 1345 | visit the corresponding source locations. @xref{Compilation Mode}. | 1345 | visit the corresponding source locations. @xref{Compilation Mode}. |
| 1346 | 1346 | ||
diff --git a/doc/emacs/fortran-xtra.texi b/doc/emacs/fortran-xtra.texi index 0dc99034ae6..43e2e63863e 100644 --- a/doc/emacs/fortran-xtra.texi +++ b/doc/emacs/fortran-xtra.texi | |||
| @@ -207,7 +207,7 @@ the Fortran standard counts from 1.) The variable | |||
| 207 | @code{fortran-continuation-string} specifies what character to put in | 207 | @code{fortran-continuation-string} specifies what character to put in |
| 208 | column 5. A line that starts with a tab character followed by any digit | 208 | column 5. A line that starts with a tab character followed by any digit |
| 209 | except @samp{0} is also a continuation line. We call this style of | 209 | except @samp{0} is also a continuation line. We call this style of |
| 210 | continuation @dfn{tab format}. (Fortran 90 introduced ``free form,'' | 210 | continuation @dfn{tab format}. (Fortran 90 introduced ``free form'', |
| 211 | with another style of continuation lines). | 211 | with another style of continuation lines). |
| 212 | 212 | ||
| 213 | @vindex indent-tabs-mode @r{(Fortran mode)} | 213 | @vindex indent-tabs-mode @r{(Fortran mode)} |
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi index eef38136583..e8c5614ff58 100644 --- a/doc/emacs/help.texi +++ b/doc/emacs/help.texi | |||
| @@ -96,7 +96,7 @@ of the major mode, then global bindings (@code{describe-bindings}). | |||
| 96 | @item C-h c @var{key} | 96 | @item C-h c @var{key} |
| 97 | Show the name of the command that the key sequence @var{key} is bound | 97 | Show the name of the command that the key sequence @var{key} is bound |
| 98 | to (@code{describe-key-briefly}). Here @kbd{c} stands for | 98 | to (@code{describe-key-briefly}). Here @kbd{c} stands for |
| 99 | ``character.'' For more extensive information on @var{key}, use | 99 | ``character''. For more extensive information on @var{key}, use |
| 100 | @kbd{C-h k}. | 100 | @kbd{C-h k}. |
| 101 | @item C-h d @var{topics} @key{RET} | 101 | @item C-h d @var{topics} @key{RET} |
| 102 | Display the commands and variables whose documentation matches | 102 | Display the commands and variables whose documentation matches |
diff --git a/doc/emacs/kmacro.texi b/doc/emacs/kmacro.texi index 766470e514b..e7522a9db43 100644 --- a/doc/emacs/kmacro.texi +++ b/doc/emacs/kmacro.texi | |||
| @@ -225,7 +225,7 @@ desired macro is at the head of the ring. To execute the new macro | |||
| 225 | ring head immediately, just type @kbd{C-k}. | 225 | ring head immediately, just type @kbd{C-k}. |
| 226 | 226 | ||
| 227 | Note that Emacs treats the head of the macro ring as the ``last | 227 | Note that Emacs treats the head of the macro ring as the ``last |
| 228 | defined keyboard macro.'' For instance, @key{F4} will execute that | 228 | defined keyboard macro''. For instance, @key{F4} will execute that |
| 229 | macro, and @kbd{C-x C-k n} will give it a name. | 229 | macro, and @kbd{C-x C-k n} will give it a name. |
| 230 | 230 | ||
| 231 | @vindex kmacro-ring-max | 231 | @vindex kmacro-ring-max |
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi index e498516ae7f..f50e3085f2d 100644 --- a/doc/emacs/mini.texi +++ b/doc/emacs/mini.texi | |||
| @@ -88,7 +88,7 @@ Find file: /u2/emacs/src//etc/termcap | |||
| 88 | @cindex slashes repeated in file name | 88 | @cindex slashes repeated in file name |
| 89 | @findex file-name-shadow-mode | 89 | @findex file-name-shadow-mode |
| 90 | Emacs interprets a double slash as ``ignore everything before the | 90 | Emacs interprets a double slash as ``ignore everything before the |
| 91 | second slash in the pair.'' In the example above, | 91 | second slash in the pair''. In the example above, |
| 92 | @file{/u2/emacs/src/} is ignored, so the argument you supplied is | 92 | @file{/u2/emacs/src/} is ignored, so the argument you supplied is |
| 93 | @file{/etc/termcap}. The ignored part of the file name is dimmed if | 93 | @file{/etc/termcap}. The ignored part of the file name is dimmed if |
| 94 | the terminal allows it. (To disable this dimming, turn off File Name | 94 | the terminal allows it. (To disable this dimming, turn off File Name |
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 50b68767991..b91763116b8 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi | |||
| @@ -1191,7 +1191,7 @@ that buffer. | |||
| 1191 | line mode, Term basically acts like Shell mode (@pxref{Shell Mode}). | 1191 | line mode, Term basically acts like Shell mode (@pxref{Shell Mode}). |
| 1192 | 1192 | ||
| 1193 | In char mode, each character is sent directly to the subshell, as | 1193 | In char mode, each character is sent directly to the subshell, as |
| 1194 | ``terminal input.'' Any ``echoing'' of your input is the | 1194 | ``terminal input''. Any ``echoing'' of your input is the |
| 1195 | responsibility of the subshell. The sole exception is the terminal | 1195 | responsibility of the subshell. The sole exception is the terminal |
| 1196 | escape character, which by default is @kbd{C-c} (@pxref{Term Mode}). | 1196 | escape character, which by default is @kbd{C-c} (@pxref{Term Mode}). |
| 1197 | Any ``terminal output'' from the subshell goes into the buffer, | 1197 | Any ``terminal output'' from the subshell goes into the buffer, |
| @@ -2076,10 +2076,10 @@ Insert a byte with a code typed in octal. | |||
| 2076 | Insert a byte with a code typed in hex. | 2076 | Insert a byte with a code typed in hex. |
| 2077 | 2077 | ||
| 2078 | @item C-x [ | 2078 | @item C-x [ |
| 2079 | Move to the beginning of a 1k-byte ``page.'' | 2079 | Move to the beginning of a 1k-byte ``page''. |
| 2080 | 2080 | ||
| 2081 | @item C-x ] | 2081 | @item C-x ] |
| 2082 | Move to the end of a 1k-byte ``page.'' | 2082 | Move to the end of a 1k-byte ``page''. |
| 2083 | 2083 | ||
| 2084 | @item M-g | 2084 | @item M-g |
| 2085 | Move to an address specified in hex. | 2085 | Move to an address specified in hex. |
| @@ -2149,7 +2149,7 @@ usually turned on. | |||
| 2149 | However, this may be slow if there are a lot of buffers in the | 2149 | However, this may be slow if there are a lot of buffers in the |
| 2150 | desktop. You can specify the maximum number of buffers to restore | 2150 | desktop. You can specify the maximum number of buffers to restore |
| 2151 | immediately with the variable @code{desktop-restore-eager}; the | 2151 | immediately with the variable @code{desktop-restore-eager}; the |
| 2152 | remaining buffers are restored ``lazily,'' when Emacs is idle. | 2152 | remaining buffers are restored ``lazily'', when Emacs is idle. |
| 2153 | 2153 | ||
| 2154 | @findex desktop-clear | 2154 | @findex desktop-clear |
| 2155 | @vindex desktop-globals-to-clear | 2155 | @vindex desktop-globals-to-clear |
diff --git a/doc/emacs/msdog-xtra.texi b/doc/emacs/msdog-xtra.texi index af8882a1fd4..0d05c8ac9c6 100644 --- a/doc/emacs/msdog-xtra.texi +++ b/doc/emacs/msdog-xtra.texi | |||
| @@ -548,7 +548,7 @@ when invoked with the @samp{-nw} option. | |||
| 548 | @cindex inferior processes under MS-DOS | 548 | @cindex inferior processes under MS-DOS |
| 549 | @findex compile @r{(MS-DOS)} | 549 | @findex compile @r{(MS-DOS)} |
| 550 | @findex grep @r{(MS-DOS)} | 550 | @findex grep @r{(MS-DOS)} |
| 551 | Because MS-DOS is a single-process ``operating system,'' | 551 | Because MS-DOS is a single-process ``operating system'', |
| 552 | asynchronous subprocesses are not available. In particular, Shell | 552 | asynchronous subprocesses are not available. In particular, Shell |
| 553 | mode and its variants do not work. Most Emacs features that use | 553 | mode and its variants do not work. Most Emacs features that use |
| 554 | asynchronous subprocesses also don't work on MS-DOS, including | 554 | asynchronous subprocesses also don't work on MS-DOS, including |
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index df2d687114b..9c1d908f882 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi | |||
| @@ -1337,6 +1337,7 @@ fontset}, the @dfn{startup fontset} and the @dfn{default fontset}. | |||
| 1337 | @c FIXME? The doc of *standard*-fontset-spec says: | 1337 | @c FIXME? The doc of *standard*-fontset-spec says: |
| 1338 | @c "You have the biggest chance to display international characters | 1338 | @c "You have the biggest chance to display international characters |
| 1339 | @c with correct glyphs by using the *standard* fontset." (my emphasis) | 1339 | @c with correct glyphs by using the *standard* fontset." (my emphasis) |
| 1340 | @c See http://lists.gnu.org/archive/html/emacs-devel/2012-04/msg00430.html | ||
| 1340 | The default fontset is most likely to have fonts for a wide variety of | 1341 | The default fontset is most likely to have fonts for a wide variety of |
| 1341 | non-@acronym{ASCII} characters, and is the default fallback for the | 1342 | non-@acronym{ASCII} characters, and is the default fallback for the |
| 1342 | other two fontsets, and if you set a default font rather than fontset. | 1343 | other two fontsets, and if you set a default font rather than fontset. |
| @@ -1762,15 +1763,17 @@ non-@code{nil}, Emacs reorders characters that have right-to-left | |||
| 1762 | directionality when they are displayed. The default value is | 1763 | directionality when they are displayed. The default value is |
| 1763 | @code{t}. | 1764 | @code{t}. |
| 1764 | 1765 | ||
| 1766 | @cindex base direction of paragraphs | ||
| 1767 | @cindex paragraph, base direction | ||
| 1765 | Each paragraph of bidirectional text can have its own @dfn{base | 1768 | Each paragraph of bidirectional text can have its own @dfn{base |
| 1766 | direction}, either right-to-left or left-to-right. (Paragraph | 1769 | direction}, either right-to-left or left-to-right. (Paragraph |
| 1767 | @c paragraph-separate etc have no influence on this? | 1770 | @c paragraph-separate etc have no influence on this? |
| 1768 | boundaries are empty lines, i.e.@: lines consisting entirely of | 1771 | boundaries are empty lines, i.e.@: lines consisting entirely of |
| 1769 | whitespace characters.) Text in left-to-right paragraphs begins at | 1772 | whitespace characters.) Text in left-to-right paragraphs begins on |
| 1770 | the left margin of the window and is truncated or continued when it | 1773 | the screen at the left margin of the window and is truncated or |
| 1771 | reaches the right margin. By contrast, text in right-to-left | 1774 | continued when it reaches the right margin. By contrast, text in |
| 1772 | paragraphs begins at the right margin and is continued or truncated at | 1775 | right-to-left paragraphs is displayed starting at the right margin and |
| 1773 | the left margin. | 1776 | is continued or truncated at the left margin. |
| 1774 | 1777 | ||
| 1775 | @vindex bidi-paragraph-direction | 1778 | @vindex bidi-paragraph-direction |
| 1776 | Emacs determines the base direction of each paragraph dynamically, | 1779 | Emacs determines the base direction of each paragraph dynamically, |
diff --git a/doc/emacs/picture-xtra.texi b/doc/emacs/picture-xtra.texi index 5a10bf2c31c..edf75f078d5 100644 --- a/doc/emacs/picture-xtra.texi +++ b/doc/emacs/picture-xtra.texi | |||
| @@ -199,7 +199,7 @@ C-b} (@code{picture-motion-reverse}) moves in the opposite direction. | |||
| 199 | With no argument, it moves to a point underneath the next | 199 | With no argument, it moves to a point underneath the next |
| 200 | ``interesting'' character that follows whitespace in the previous | 200 | ``interesting'' character that follows whitespace in the previous |
| 201 | nonblank line. ``Next'' here means ``appearing at a horizontal position | 201 | nonblank line. ``Next'' here means ``appearing at a horizontal position |
| 202 | greater than the one point starts out at.'' With an argument, as in | 202 | greater than the one point starts out at''. With an argument, as in |
| 203 | @kbd{C-u M-@key{TAB}}, this command moves to the next such interesting | 203 | @kbd{C-u M-@key{TAB}}, this command moves to the next such interesting |
| 204 | character in the current line. @kbd{M-@key{TAB}} does not change the | 204 | character in the current line. @kbd{M-@key{TAB}} does not change the |
| 205 | text; it only moves point. ``Interesting'' characters are defined by | 205 | text; it only moves point. ``Interesting'' characters are defined by |
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index 5f7abcf3881..23f808b93ea 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi | |||
| @@ -1109,7 +1109,7 @@ You can also use @kbd{M-x info-lookup-file} to look for documentation | |||
| 1109 | for a file name. | 1109 | for a file name. |
| 1110 | 1110 | ||
| 1111 | If you use @kbd{C-h S} in a major mode that does not support it, | 1111 | If you use @kbd{C-h S} in a major mode that does not support it, |
| 1112 | it asks you to specify the ``symbol help mode.'' You should enter | 1112 | it asks you to specify the ``symbol help mode''. You should enter |
| 1113 | a command such as @code{c-mode} that would select a major | 1113 | a command such as @code{c-mode} that would select a major |
| 1114 | mode which @kbd{C-h S} does support. | 1114 | mode which @kbd{C-h S} does support. |
| 1115 | 1115 | ||
| @@ -1451,7 +1451,7 @@ with the Foldout package (@pxref{Foldout}). | |||
| 1451 | 1451 | ||
| 1452 | This section gives a brief description of the special features | 1452 | This section gives a brief description of the special features |
| 1453 | available in C, C++, Objective-C, Java, CORBA IDL, Pike and AWK modes. | 1453 | available in C, C++, Objective-C, Java, CORBA IDL, Pike and AWK modes. |
| 1454 | (These are called ``C mode and related modes.'') | 1454 | (These are called ``C mode and related modes''.) |
| 1455 | @ifinfo | 1455 | @ifinfo |
| 1456 | @xref{Top,, CC Mode, ccmode, CC Mode}, for more details. | 1456 | @xref{Top,, CC Mode, ccmode, CC Mode}, for more details. |
| 1457 | @end ifinfo | 1457 | @end ifinfo |
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index 3b3605f800c..6221bbac1a8 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi | |||
| @@ -1355,7 +1355,7 @@ your Rmail file (@pxref{Rmail Inbox}). When loaded for the first time, | |||
| 1355 | Rmail attempts to locate the @code{movemail} program and determine its | 1355 | Rmail attempts to locate the @code{movemail} program and determine its |
| 1356 | version. There are two versions of the @code{movemail} program: the | 1356 | version. There are two versions of the @code{movemail} program: the |
| 1357 | native one, shipped with GNU Emacs (the ``emacs version'') and the one | 1357 | native one, shipped with GNU Emacs (the ``emacs version'') and the one |
| 1358 | included in GNU mailutils (the ``mailutils version,'' | 1358 | included in GNU mailutils (the ``mailutils version'', |
| 1359 | @pxref{movemail,,,mailutils,GNU mailutils}). They support the same | 1359 | @pxref{movemail,,,mailutils,GNU mailutils}). They support the same |
| 1360 | command line syntax and the same basic subset of options. However, the | 1360 | command line syntax and the same basic subset of options. However, the |
| 1361 | Mailutils version offers additional features. | 1361 | Mailutils version offers additional features. |
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 38f00f03532..9d30c6f4caf 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi | |||
| @@ -146,7 +146,7 @@ you don't like this feature, you can disable it by setting | |||
| 146 | After exiting a search, you can search for the same string again by | 146 | After exiting a search, you can search for the same string again by |
| 147 | typing just @kbd{C-s C-s}. The first @kbd{C-s} is the key that | 147 | typing just @kbd{C-s C-s}. The first @kbd{C-s} is the key that |
| 148 | invokes incremental search, and the second @kbd{C-s} means ``search | 148 | invokes incremental search, and the second @kbd{C-s} means ``search |
| 149 | again.'' Similarly, @kbd{C-r C-r} searches backward for the last | 149 | again''. Similarly, @kbd{C-r C-r} searches backward for the last |
| 150 | search string. In determining the last search string, it doesn't | 150 | search string. In determining the last search string, it doesn't |
| 151 | matter whether the string was searched for with @kbd{C-s} or | 151 | matter whether the string was searched for with @kbd{C-s} or |
| 152 | @kbd{C-r}. | 152 | @kbd{C-r}. |
| @@ -552,7 +552,7 @@ therefore @samp{f} is a regular expression that matches the string | |||
| 552 | @samp{ff}.) Likewise, @samp{o} is a regular expression that matches | 552 | @samp{ff}.) Likewise, @samp{o} is a regular expression that matches |
| 553 | only @samp{o}. (When case distinctions are being ignored, these regexps | 553 | only @samp{o}. (When case distinctions are being ignored, these regexps |
| 554 | also match @samp{F} and @samp{O}, but we consider this a generalization | 554 | also match @samp{F} and @samp{O}, but we consider this a generalization |
| 555 | of ``the same string,'' rather than an exception.) | 555 | of ``the same string'', rather than an exception.) |
| 556 | 556 | ||
| 557 | Any two regular expressions @var{a} and @var{b} can be concatenated. | 557 | Any two regular expressions @var{a} and @var{b} can be concatenated. |
| 558 | The result is a regular expression which matches a string if @var{a} | 558 | The result is a regular expression which matches a string if @var{a} |
| @@ -801,7 +801,7 @@ After the end of a @samp{\( @dots{} \)} construct, the matcher remembers | |||
| 801 | the beginning and end of the text matched by that construct. Then, | 801 | the beginning and end of the text matched by that construct. Then, |
| 802 | later on in the regular expression, you can use @samp{\} followed by the | 802 | later on in the regular expression, you can use @samp{\} followed by the |
| 803 | digit @var{d} to mean ``match the same text matched the @var{d}th time | 803 | digit @var{d} to mean ``match the same text matched the @var{d}th time |
| 804 | by the @samp{\( @dots{} \)} construct.'' | 804 | by the @samp{\( @dots{} \)} construct''. |
| 805 | 805 | ||
| 806 | The strings matching the first nine @samp{\( @dots{} \)} constructs | 806 | The strings matching the first nine @samp{\( @dots{} \)} constructs |
| 807 | appearing in a regular expression are assigned numbers 1 through 9 in | 807 | appearing in a regular expression are assigned numbers 1 through 9 in |
| @@ -1030,7 +1030,7 @@ it can refer to all or part of what is matched by the @var{regexp}. | |||
| 1030 | @samp{\&} in @var{newstring} stands for the entire match being | 1030 | @samp{\&} in @var{newstring} stands for the entire match being |
| 1031 | replaced. @samp{\@var{d}} in @var{newstring}, where @var{d} is a | 1031 | replaced. @samp{\@var{d}} in @var{newstring}, where @var{d} is a |
| 1032 | digit, stands for whatever matched the @var{d}th parenthesized | 1032 | digit, stands for whatever matched the @var{d}th parenthesized |
| 1033 | grouping in @var{regexp}. (This is called a ``back reference.'') | 1033 | grouping in @var{regexp}. (This is called a ``back reference''.) |
| 1034 | @samp{\#} refers to the count of replacements already made in this | 1034 | @samp{\#} refers to the count of replacements already made in this |
| 1035 | command, as a decimal number. In the first replacement, @samp{\#} | 1035 | command, as a decimal number. In the first replacement, @samp{\#} |
| 1036 | stands for @samp{0}; in the second, for @samp{1}; and so on. For | 1036 | stands for @samp{0}; in the second, for @samp{1}; and so on. For |
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index b118295ab1a..3bbdecc0176 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi | |||
| @@ -534,16 +534,16 @@ large, and Emacs displays @samp{I feel pretty today}. The bug report | |||
| 534 | would need to provide all that information. You should not assume | 534 | would need to provide all that information. You should not assume |
| 535 | that the problem is due to the size of the file and say, ``I visited a | 535 | that the problem is due to the size of the file and say, ``I visited a |
| 536 | large file, and Emacs displayed @samp{I feel pretty today}.'' This is | 536 | large file, and Emacs displayed @samp{I feel pretty today}.'' This is |
| 537 | what we mean by ``guessing explanations.'' The problem might be due | 537 | what we mean by ``guessing explanations''. The problem might be due |
| 538 | to the fact that there is a @samp{z} in the file name. If this is so, | 538 | to the fact that there is a @samp{z} in the file name. If this is so, |
| 539 | then when we got your report, we would try out the problem with some | 539 | then when we got your report, we would try out the problem with some |
| 540 | ``large file,'' probably with no @samp{z} in its name, and not see any | 540 | ``large file'', probably with no @samp{z} in its name, and not see any |
| 541 | problem. There is no way we could guess that we should try visiting a | 541 | problem. There is no way we could guess that we should try visiting a |
| 542 | file with a @samp{z} in its name. | 542 | file with a @samp{z} in its name. |
| 543 | 543 | ||
| 544 | You should not even say ``visit a file'' instead of @kbd{C-x C-f}. | 544 | You should not even say ``visit a file'' instead of @kbd{C-x C-f}. |
| 545 | Similarly, rather than saying ``if I have three characters on the | 545 | Similarly, rather than saying ``if I have three characters on the |
| 546 | line,'' say ``after I type @kbd{@key{RET} A B C @key{RET} C-p},'' if | 546 | line'', say ``after I type @kbd{@key{RET} A B C @key{RET} C-p}'', if |
| 547 | that is the way you entered the text. | 547 | that is the way you entered the text. |
| 548 | 548 | ||
| 549 | If possible, try quickly to reproduce the bug by invoking Emacs with | 549 | If possible, try quickly to reproduce the bug by invoking Emacs with |
| @@ -731,7 +731,7 @@ you can copy its output from the @file{*Messages*} buffer. | |||
| 731 | 731 | ||
| 732 | @item | 732 | @item |
| 733 | A description of what behavior you observe that you believe is | 733 | A description of what behavior you observe that you believe is |
| 734 | incorrect. For example, ``The Emacs process gets a fatal signal,'' or, | 734 | incorrect. For example, ``The Emacs process gets a fatal signal'', or, |
| 735 | ``The resulting text is as follows, which I think is wrong.'' | 735 | ``The resulting text is as follows, which I think is wrong.'' |
| 736 | 736 | ||
| 737 | Of course, if the bug is that Emacs gets a fatal signal, then one can't | 737 | Of course, if the bug is that Emacs gets a fatal signal, then one can't |
| @@ -872,7 +872,7 @@ More detailed advice and other useful techniques for debugging Emacs | |||
| 872 | are available in the file @file{etc/DEBUG} in the Emacs distribution. | 872 | are available in the file @file{etc/DEBUG} in the Emacs distribution. |
| 873 | That file also includes instructions for investigating problems | 873 | That file also includes instructions for investigating problems |
| 874 | whereby Emacs stops responding (many people assume that Emacs is | 874 | whereby Emacs stops responding (many people assume that Emacs is |
| 875 | ``hung,'' whereas in fact it might be in an infinite loop). | 875 | ``hung'', whereas in fact it might be in an infinite loop). |
| 876 | 876 | ||
| 877 | To find the file @file{etc/DEBUG} in your Emacs installation, use the | 877 | To find the file @file{etc/DEBUG} in your Emacs installation, use the |
| 878 | directory name stored in the variable @code{data-directory}. | 878 | directory name stored in the variable @code{data-directory}. |
diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi index ee0f0027454..72e01a368a1 100644 --- a/doc/emacs/windows.texi +++ b/doc/emacs/windows.texi | |||
| @@ -151,7 +151,7 @@ selects the window without moving point in it. | |||
| 151 | @kindex C-x o | 151 | @kindex C-x o |
| 152 | @findex other-window | 152 | @findex other-window |
| 153 | With the keyboard, you can switch windows by typing @kbd{C-x o} | 153 | With the keyboard, you can switch windows by typing @kbd{C-x o} |
| 154 | (@code{other-window}). That is an @kbd{o}, for ``other,'' not a zero. | 154 | (@code{other-window}). That is an @kbd{o}, for ``other'', not a zero. |
| 155 | When there are more than two windows, this command moves through all the | 155 | When there are more than two windows, this command moves through all the |
| 156 | windows in a cyclic order, generally top to bottom and left to right. | 156 | windows in a cyclic order, generally top to bottom and left to right. |
| 157 | After the rightmost and bottommost window, it goes back to the one at | 157 | After the rightmost and bottommost window, it goes back to the one at |
| @@ -452,7 +452,7 @@ buffer. @xref{Follow Mode}. | |||
| 452 | The Windmove package defines commands for moving directionally | 452 | The Windmove package defines commands for moving directionally |
| 453 | between neighboring windows in a frame. @kbd{M-x windmove-right} | 453 | between neighboring windows in a frame. @kbd{M-x windmove-right} |
| 454 | selects the window immediately to the right of the currently selected | 454 | selects the window immediately to the right of the currently selected |
| 455 | one, and similarly for the ``left,'' ``up,'' and ``down'' | 455 | one, and similarly for the ``left'', ``up'', and ``down'' |
| 456 | counterparts. @kbd{M-x windmove-default-keybindings} binds these | 456 | counterparts. @kbd{M-x windmove-default-keybindings} binds these |
| 457 | commands to @kbd{S-right} etc.; doing so disables shift selection for | 457 | commands to @kbd{S-right} etc.; doing so disables shift selection for |
| 458 | those keys (@pxref{Shift Selection}). | 458 | those keys (@pxref{Shift Selection}). |
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 5333e3af3df..9c323d7937f 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,54 @@ | |||
| 1 | 2012-04-27 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * elisp.texi, vol1.texi, vol2.texi: Some fixes for detailed menu. | ||
| 4 | * modes.texi (Major Modes, Auto-Indentation): | ||
| 5 | * buffers.texi (Buffers): Some fixes for menu descriptions. | ||
| 6 | |||
| 7 | 2012-04-27 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 8 | * functions.texi (Simple Lambda, Argument List): | ||
| 9 | * eval.texi (Function Indirection): Avoid deprecated form. | ||
| 10 | |||
| 11 | 2012-04-27 Glenn Morris <rgm@gnu.org> | ||
| 12 | |||
| 13 | * book-spine.texi, elisp.texi, vol1.texi, vol2.texi: | ||
| 14 | Add "et al." to authors. | ||
| 15 | |||
| 16 | * buffers.texi, commands.texi, compile.texi, control.texi: | ||
| 17 | * customize.texi, display.texi, eval.texi, files.texi, frames.texi: | ||
| 18 | * hash.texi, help.texi, intro.texi, keymaps.texi, lists.texi: | ||
| 19 | * modes.texi, numbers.texi, objects.texi, streams.texi: | ||
| 20 | * symbols.texi, syntax.texi, text.texi, tips.texi, variables.texi: | ||
| 21 | Use Texinfo recommended convention for quotes+punctuation. | ||
| 22 | |||
| 23 | 2012-04-27 Chong Yidong <cyd@gnu.org> | ||
| 24 | |||
| 25 | * keymaps.texi (Scanning Keymaps): Fix description of NO-REMAP arg | ||
| 26 | to where-is-internal (Bug#10872). | ||
| 27 | |||
| 28 | 2012-04-27 Glenn Morris <rgm@gnu.org> | ||
| 29 | |||
| 30 | * macros.texi (Indenting Macros): Fix typo. | ||
| 31 | |||
| 32 | * windows.texi (Basic Windows, Windows and Frames, Window Sizes) | ||
| 33 | (Resizing Windows, Deleting Windows, Selecting Windows) | ||
| 34 | (Choosing Window Options, Horizontal Scrolling) | ||
| 35 | (Cyclic Window Ordering, Window History, Dedicated Windows) | ||
| 36 | (Quitting Windows, Window Configurations, Textual Scrolling): | ||
| 37 | (Coordinates and Windows, Window Configurations) | ||
| 38 | (Window Parameters, Window Hooks): Copyedits. | ||
| 39 | (Splitting Windows, Deleting Windows): | ||
| 40 | Fix ignore-window-parameters logic. | ||
| 41 | (Selecting Windows, Choosing Window Options): Markup fixes. | ||
| 42 | (Window Start and End): Remove pointless example. | ||
| 43 | Remove cross-reference to deleted count-lines content. | ||
| 44 | (Textual Scrolling): Mention recenter-redisplay, recenter-top-bottom, | ||
| 45 | and recenter-positions. Remove recenter example. | ||
| 46 | |||
| 47 | * elisp.texi, vol1.texi, vol2.texi: Bump VERSION and DATE. | ||
| 48 | |||
| 49 | * minibuf.texi (Intro to Minibuffers): | ||
| 50 | Tweak discussion of resizing minibuffer window. | ||
| 51 | |||
| 1 | 2012-04-26 Glenn Morris <rgm@gnu.org> | 52 | 2012-04-26 Glenn Morris <rgm@gnu.org> |
| 2 | 53 | ||
| 3 | * elisp-covers.texi, front-cover-1.texi: Remove files. | 54 | * elisp-covers.texi, front-cover-1.texi: Remove files. |
diff --git a/doc/lispref/book-spine.texi b/doc/lispref/book-spine.texi index 270def6d8b3..721416316d2 100644 --- a/doc/lispref/book-spine.texi +++ b/doc/lispref/book-spine.texi | |||
| @@ -20,8 +20,8 @@ | |||
| 20 | @center by | 20 | @center by |
| 21 | @center Bil Lewis, | 21 | @center Bil Lewis, |
| 22 | @center Dan LaLiberte, | 22 | @center Dan LaLiberte, |
| 23 | @center and the | 23 | @center the GNU Manual Group, |
| 24 | @center GNU Manual Group | 24 | @center et al. |
| 25 | @sp 5 | 25 | @sp 5 |
| 26 | @center Free Software Foundation | 26 | @center Free Software Foundation |
| 27 | @bye | 27 | @bye |
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi index 844b6423a52..165faf32b09 100644 --- a/doc/lispref/buffers.texi +++ b/doc/lispref/buffers.texi | |||
| @@ -23,7 +23,7 @@ not be displayed in any windows. | |||
| 23 | * Buffer File Name:: The buffer file name indicates which file is visited. | 23 | * Buffer File Name:: The buffer file name indicates which file is visited. |
| 24 | * Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. | 24 | * Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. |
| 25 | * Modification Time:: Determining whether the visited file was changed | 25 | * Modification Time:: Determining whether the visited file was changed |
| 26 | ``behind Emacs's back''. | 26 | "behind Emacs's back". |
| 27 | * Read Only Buffers:: Modifying text is not allowed in a read-only buffer. | 27 | * Read Only Buffers:: Modifying text is not allowed in a read-only buffer. |
| 28 | * The Buffer List:: How to look at all the existing buffers. | 28 | * The Buffer List:: How to look at all the existing buffers. |
| 29 | * Creating Buffers:: Functions that create buffers. | 29 | * Creating Buffers:: Functions that create buffers. |
| @@ -481,7 +481,7 @@ correspond to the new file name, unless the new name is already in | |||
| 481 | use. | 481 | use. |
| 482 | 482 | ||
| 483 | If @var{filename} is @code{nil} or the empty string, that stands for | 483 | If @var{filename} is @code{nil} or the empty string, that stands for |
| 484 | ``no visited file.'' In this case, @code{set-visited-file-name} marks | 484 | ``no visited file''. In this case, @code{set-visited-file-name} marks |
| 485 | the buffer as having no visited file, without changing the buffer's | 485 | the buffer as having no visited file, without changing the buffer's |
| 486 | modified flag. | 486 | modified flag. |
| 487 | 487 | ||
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index bf26d83b7bf..dea838462bb 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi | |||
| @@ -718,7 +718,7 @@ We use @code{"p"} because the numeric prefix argument is never | |||
| 718 | message when called from a keyboard macro. | 718 | message when called from a keyboard macro. |
| 719 | 719 | ||
| 720 | The above method with the additional argument is usually best, | 720 | The above method with the additional argument is usually best, |
| 721 | because it allows callers to say ``treat this call as interactive.'' | 721 | because it allows callers to say ``treat this call as interactive''. |
| 722 | But you can also do the job by testing @code{called-interactively-p}. | 722 | But you can also do the job by testing @code{called-interactively-p}. |
| 723 | 723 | ||
| 724 | @defun called-interactively-p kind | 724 | @defun called-interactively-p kind |
| @@ -2325,7 +2325,7 @@ same symbol that would normally represent that combination of mouse | |||
| 2325 | button and modifier keys. The information about the window part is kept | 2325 | button and modifier keys. The information about the window part is kept |
| 2326 | elsewhere in the event---in the coordinates. But | 2326 | elsewhere in the event---in the coordinates. But |
| 2327 | @code{read-key-sequence} translates this information into imaginary | 2327 | @code{read-key-sequence} translates this information into imaginary |
| 2328 | ``prefix keys,'' all of which are symbols: @code{header-line}, | 2328 | ``prefix keys'', all of which are symbols: @code{header-line}, |
| 2329 | @code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line}, | 2329 | @code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line}, |
| 2330 | @code{vertical-line}, and @code{vertical-scroll-bar}. You can define | 2330 | @code{vertical-line}, and @code{vertical-scroll-bar}. You can define |
| 2331 | meanings for mouse clicks in special window parts by defining key | 2331 | meanings for mouse clicks in special window parts by defining key |
| @@ -2705,7 +2705,7 @@ individual events, which you can put in @code{unread-command-events}. | |||
| 2705 | 2705 | ||
| 2706 | @defvar unread-command-char | 2706 | @defvar unread-command-char |
| 2707 | This variable holds a character to be read as command input. | 2707 | This variable holds a character to be read as command input. |
| 2708 | A value of -1 means ``empty.'' | 2708 | A value of -1 means ``empty''. |
| 2709 | 2709 | ||
| 2710 | This variable is mostly obsolete now that you can use | 2710 | This variable is mostly obsolete now that you can use |
| 2711 | @code{unread-command-events} instead; it exists only to support programs | 2711 | @code{unread-command-events} instead; it exists only to support programs |
| @@ -3195,7 +3195,7 @@ using the minibuffer. Usually it is more convenient for the user if you | |||
| 3195 | change the major mode of the current buffer temporarily to a special | 3195 | change the major mode of the current buffer temporarily to a special |
| 3196 | major mode, which should have a command to go back to the previous mode. | 3196 | major mode, which should have a command to go back to the previous mode. |
| 3197 | (The @kbd{e} command in Rmail uses this technique.) Or, if you wish to | 3197 | (The @kbd{e} command in Rmail uses this technique.) Or, if you wish to |
| 3198 | give the user different text to edit ``recursively,'' create and select | 3198 | give the user different text to edit ``recursively'', create and select |
| 3199 | a new buffer in a special mode. In this mode, define a command to | 3199 | a new buffer in a special mode. In this mode, define a command to |
| 3200 | complete the processing and go back to the previous buffer. (The | 3200 | complete the processing and go back to the previous buffer. (The |
| 3201 | @kbd{m} command in Rmail does this.) | 3201 | @kbd{m} command in Rmail does this.) |
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi index ead75942b24..8cebd9fade6 100644 --- a/doc/lispref/compile.texi +++ b/doc/lispref/compile.texi | |||
| @@ -274,7 +274,7 @@ reloading each file after recompiling it. | |||
| 274 | use a special Lisp reader construct, @samp{#@@@var{count}}. This | 274 | use a special Lisp reader construct, @samp{#@@@var{count}}. This |
| 275 | construct skips the next @var{count} characters. It also uses the | 275 | construct skips the next @var{count} characters. It also uses the |
| 276 | @samp{#$} construct, which stands for ``the name of this file, as a | 276 | @samp{#$} construct, which stands for ``the name of this file, as a |
| 277 | string.'' It is usually best not to use these constructs in Lisp source | 277 | string''. It is usually best not to use these constructs in Lisp source |
| 278 | files, since they are not designed to be clear to humans reading the | 278 | files, since they are not designed to be clear to humans reading the |
| 279 | file. | 279 | file. |
| 280 | 280 | ||
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index aa24291d892..d6dee7ecf91 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi | |||
| @@ -220,7 +220,7 @@ non-@code{nil}, the clause ``succeeds''; then @code{cond} evaluates its | |||
| 220 | @var{body-forms}, and the value of the last of @var{body-forms} becomes | 220 | @var{body-forms}, and the value of the last of @var{body-forms} becomes |
| 221 | the value of the @code{cond}. The remaining clauses are ignored. | 221 | the value of the @code{cond}. The remaining clauses are ignored. |
| 222 | 222 | ||
| 223 | If the value of @var{condition} is @code{nil}, the clause ``fails,'' so | 223 | If the value of @var{condition} is @code{nil}, the clause ``fails'', so |
| 224 | the @code{cond} moves on to the following clause, trying its | 224 | the @code{cond} moves on to the following clause, trying its |
| 225 | @var{condition}. | 225 | @var{condition}. |
| 226 | 226 | ||
| @@ -622,7 +622,7 @@ error is signaled with data @code{(@var{tag} @var{value})}. | |||
| 622 | @subsection Examples of @code{catch} and @code{throw} | 622 | @subsection Examples of @code{catch} and @code{throw} |
| 623 | 623 | ||
| 624 | One way to use @code{catch} and @code{throw} is to exit from a doubly | 624 | One way to use @code{catch} and @code{throw} is to exit from a doubly |
| 625 | nested loop. (In most languages, this would be done with a ``goto.'') | 625 | nested loop. (In most languages, this would be done with a ``goto''.) |
| 626 | Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j} | 626 | Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j} |
| 627 | varying from 0 to 9: | 627 | varying from 0 to 9: |
| 628 | 628 | ||
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index 04b3cdd11f0..c8e60fd84f4 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi | |||
| @@ -817,7 +817,7 @@ For example, | |||
| 817 | 817 | ||
| 818 | @noindent | 818 | @noindent |
| 819 | describes a variable for which @code{t} means yes, @code{nil} means no, | 819 | describes a variable for which @code{t} means yes, @code{nil} means no, |
| 820 | and @code{foo} means ``ask.'' | 820 | and @code{foo} means ``ask''. |
| 821 | 821 | ||
| 822 | @item (other @var{value}) | 822 | @item (other @var{value}) |
| 823 | This alternative can match any Lisp value, but if the user chooses this | 823 | This alternative can match any Lisp value, but if the user chooses this |
| @@ -834,7 +834,7 @@ For example, | |||
| 834 | 834 | ||
| 835 | @noindent | 835 | @noindent |
| 836 | describes a variable for which @code{t} means yes, @code{nil} means no, | 836 | describes a variable for which @code{t} means yes, @code{nil} means no, |
| 837 | and anything else means ``ask.'' If the user chooses @samp{Ask} from | 837 | and anything else means ``ask''. If the user chooses @samp{Ask} from |
| 838 | the menu of alternatives, that specifies the value @code{foo}; but any | 838 | the menu of alternatives, that specifies the value @code{foo}; but any |
| 839 | other value (not @code{t}, @code{nil} or @code{foo}) displays as | 839 | other value (not @code{t}, @code{nil} or @code{foo}) displays as |
| 840 | @samp{Ask}, just like @code{foo}. | 840 | @samp{Ask}, just like @code{foo}. |
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 0113ae86358..4ec3b8bf08a 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -155,7 +155,7 @@ boundary. @xref{Filling}. | |||
| 155 | indicate truncated and continued lines (@pxref{Fringes}). On a text | 155 | indicate truncated and continued lines (@pxref{Fringes}). On a text |
| 156 | terminal, a @samp{$} in the rightmost column of the window indicates | 156 | terminal, a @samp{$} in the rightmost column of the window indicates |
| 157 | truncation; a @samp{\} on the rightmost column indicates a line that | 157 | truncation; a @samp{\} on the rightmost column indicates a line that |
| 158 | ``wraps.'' (The display table can specify alternate characters to use | 158 | ``wraps''. (The display table can specify alternate characters to use |
| 159 | for this; @pxref{Display Tables}). | 159 | for this; @pxref{Display Tables}). |
| 160 | 160 | ||
| 161 | @defopt truncate-lines | 161 | @defopt truncate-lines |
| @@ -451,7 +451,7 @@ prints the message of @var{reporter} followed by word ``done'' in the | |||
| 451 | echo area. | 451 | echo area. |
| 452 | 452 | ||
| 453 | You should always call this function and not hope for | 453 | You should always call this function and not hope for |
| 454 | @code{progress-reporter-update} to print ``100%.'' Firstly, it may | 454 | @code{progress-reporter-update} to print ``100%''. Firstly, it may |
| 455 | never print it, there are many good reasons for this not to happen. | 455 | never print it, there are many good reasons for this not to happen. |
| 456 | Secondly, ``done'' is more explicit. | 456 | Secondly, ``done'' is more explicit. |
| 457 | @end defun | 457 | @end defun |
| @@ -1308,7 +1308,7 @@ The return value is @var{overlay}. | |||
| 1308 | This is the only valid way to change the endpoints of an overlay. Do | 1308 | This is the only valid way to change the endpoints of an overlay. Do |
| 1309 | not try modifying the markers in the overlay by hand, as that fails to | 1309 | not try modifying the markers in the overlay by hand, as that fails to |
| 1310 | update other vital data structures and can cause some overlays to be | 1310 | update other vital data structures and can cause some overlays to be |
| 1311 | ``lost.'' | 1311 | ``lost''. |
| 1312 | @end defun | 1312 | @end defun |
| 1313 | 1313 | ||
| 1314 | @defun remove-overlays &optional start end name value | 1314 | @defun remove-overlays &optional start end name value |
| @@ -1385,7 +1385,7 @@ foo | |||
| 1385 | @end example | 1385 | @end example |
| 1386 | 1386 | ||
| 1387 | Emacs stores the overlays of each buffer in two lists, divided | 1387 | Emacs stores the overlays of each buffer in two lists, divided |
| 1388 | around an arbitrary ``center position.'' One list extends backwards | 1388 | around an arbitrary ``center position''. One list extends backwards |
| 1389 | through the buffer from that center position, and the other extends | 1389 | through the buffer from that center position, and the other extends |
| 1390 | forwards from that center position. The center position can be anywhere | 1390 | forwards from that center position. The center position can be anywhere |
| 1391 | in the buffer. | 1391 | in the buffer. |
| @@ -4359,7 +4359,7 @@ $$\pmatrix{ 2 & -1 & 0 \cr | |||
| 4359 | @end ifnottex | 4359 | @end ifnottex |
| 4360 | 4360 | ||
| 4361 | @item disabled | 4361 | @item disabled |
| 4362 | Specifies transforming the image so that it looks ``disabled.'' | 4362 | Specifies transforming the image so that it looks ``disabled''. |
| 4363 | @end table | 4363 | @end table |
| 4364 | 4364 | ||
| 4365 | @item :mask @var{mask} | 4365 | @item :mask @var{mask} |
| @@ -5531,7 +5531,7 @@ Any @var{args} are passed to @var{map-function}. | |||
| 5531 | @subsection Abstract Display Example | 5531 | @subsection Abstract Display Example |
| 5532 | 5532 | ||
| 5533 | Here is a simple example using functions of the ewoc package to | 5533 | Here is a simple example using functions of the ewoc package to |
| 5534 | implement a ``color components display,'' an area in a buffer that | 5534 | implement a ``color components display'', an area in a buffer that |
| 5535 | represents a vector of three integers (itself representing a 24-bit RGB | 5535 | represents a vector of three integers (itself representing a 24-bit RGB |
| 5536 | value) in various ways. | 5536 | value) in various ways. |
| 5537 | 5537 | ||
| @@ -5842,7 +5842,7 @@ display the character @var{c} as those glyphs; @pxref{Glyphs}). | |||
| 5842 | 5842 | ||
| 5843 | @strong{Warning:} if you use the display table to change the display | 5843 | @strong{Warning:} if you use the display table to change the display |
| 5844 | of newline characters, the whole buffer will be displayed as one long | 5844 | of newline characters, the whole buffer will be displayed as one long |
| 5845 | ``line.'' | 5845 | ``line''. |
| 5846 | 5846 | ||
| 5847 | The display table also has six ``extra slots'' which serve special | 5847 | The display table also has six ``extra slots'' which serve special |
| 5848 | purposes. Here is a table of their meanings; @code{nil} in any slot | 5848 | purposes. Here is a table of their meanings; @code{nil} in any slot |
| @@ -6153,7 +6153,7 @@ capability (@samp{vb}). | |||
| 6153 | 6153 | ||
| 6154 | @defvar ring-bell-function | 6154 | @defvar ring-bell-function |
| 6155 | If this is non-@code{nil}, it specifies how Emacs should ``ring the | 6155 | If this is non-@code{nil}, it specifies how Emacs should ``ring the |
| 6156 | bell.'' Its value should be a function of no arguments. If this is | 6156 | bell''. Its value should be a function of no arguments. If this is |
| 6157 | non-@code{nil}, it takes precedence over the @code{visible-bell} | 6157 | non-@code{nil}, it takes precedence over the @code{visible-bell} |
| 6158 | variable. | 6158 | variable. |
| 6159 | @end defvar | 6159 | @end defvar |
| @@ -6162,7 +6162,7 @@ variable. | |||
| 6162 | @section Window Systems | 6162 | @section Window Systems |
| 6163 | 6163 | ||
| 6164 | Emacs works with several window systems, most notably the X Window | 6164 | Emacs works with several window systems, most notably the X Window |
| 6165 | System. Both Emacs and X use the term ``window,'' but use it | 6165 | System. Both Emacs and X use the term ``window'', but use it |
| 6166 | differently. An Emacs frame is a single window as far as X is | 6166 | differently. An Emacs frame is a single window as far as X is |
| 6167 | concerned; the individual Emacs windows are not known to X at all. | 6167 | concerned; the individual Emacs windows are not known to X at all. |
| 6168 | 6168 | ||
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 4319d5eddda..9c5ae73f718 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi | |||
| @@ -5,11 +5,10 @@ | |||
| 5 | @c %**end of header | 5 | @c %**end of header |
| 6 | 6 | ||
| 7 | @c Version of the manual and of Emacs. | 7 | @c Version of the manual and of Emacs. |
| 8 | @c Please remember to update the edition number in README as well. | 8 | @c Please remember to update these in vol1.texi and vol2.texi as well. |
| 9 | @c And also the copies in vol1.texi and vol2.texi. | 9 | @set VERSION 3.1 |
| 10 | @set VERSION 3.0 | ||
| 11 | @include emacsver.texi | 10 | @include emacsver.texi |
| 12 | @set DATE July 2009 | 11 | @set DATE July 2012 |
| 13 | 12 | ||
| 14 | @c in general, keep the following line commented out, unless doing a | 13 | @c in general, keep the following line commented out, unless doing a |
| 15 | @c copy of this manual that will be published. The manual should go | 14 | @c copy of this manual that will be published. The manual should go |
| @@ -73,8 +72,8 @@ developing GNU and promoting software freedom.'' | |||
| 73 | @subtitle For Emacs Version @value{EMACSVER} | 72 | @subtitle For Emacs Version @value{EMACSVER} |
| 74 | @subtitle Revision @value{VERSION}, @value{DATE} | 73 | @subtitle Revision @value{VERSION}, @value{DATE} |
| 75 | 74 | ||
| 76 | @author by Bil Lewis, Dan LaLiberte, Richard Stallman | 75 | @author by Bil Lewis, Dan LaLiberte, Richard Stallman, |
| 77 | @author and the GNU Manual Group | 76 | @author the GNU Manual Group, et al. |
| 78 | @page | 77 | @page |
| 79 | @vskip 0pt plus 1filll | 78 | @vskip 0pt plus 1filll |
| 80 | @insertcopying | 79 | @insertcopying |
| @@ -460,7 +459,7 @@ Functions | |||
| 460 | * Closures:: Functions that enclose a lexical environment. | 459 | * Closures:: Functions that enclose a lexical environment. |
| 461 | * Obsolete Functions:: Declaring functions obsolete. | 460 | * Obsolete Functions:: Declaring functions obsolete. |
| 462 | * Inline Functions:: Defining functions that the compiler | 461 | * Inline Functions:: Defining functions that the compiler |
| 463 | will open code. | 462 | will expand inline. |
| 464 | * Declaring Functions:: Telling the compiler that a function is defined. | 463 | * Declaring Functions:: Telling the compiler that a function is defined. |
| 465 | * Function Safety:: Determining whether a function is safe to call. | 464 | * Function Safety:: Determining whether a function is safe to call. |
| 466 | * Related Topics:: Cross-references to specific Lisp primitives | 465 | * Related Topics:: Cross-references to specific Lisp primitives |
| @@ -493,7 +492,7 @@ Common Problems Using Macros | |||
| 493 | * Eval During Expansion:: Don't evaluate them; put them in the expansion. | 492 | * Eval During Expansion:: Don't evaluate them; put them in the expansion. |
| 494 | * Repeated Expansion:: Avoid depending on how many times expansion is done. | 493 | * Repeated Expansion:: Avoid depending on how many times expansion is done. |
| 495 | 494 | ||
| 496 | Writing Customization Definitions | 495 | Customization Settings |
| 497 | 496 | ||
| 498 | * Common Keywords:: Common keyword arguments for all kinds of | 497 | * Common Keywords:: Common keyword arguments for all kinds of |
| 499 | customization declarations. | 498 | customization declarations. |
| @@ -754,6 +753,7 @@ Defining Menus | |||
| 754 | various features. | 753 | various features. |
| 755 | * Menu Separators:: Drawing a horizontal line through a menu. | 754 | * Menu Separators:: Drawing a horizontal line through a menu. |
| 756 | * Alias Menu Items:: Using command aliases in menu items. | 755 | * Alias Menu Items:: Using command aliases in menu items. |
| 756 | * Toolkit Differences:: Not all toolkits provide the same features. | ||
| 757 | 757 | ||
| 758 | Major and Minor Modes | 758 | Major and Minor Modes |
| 759 | 759 | ||
| @@ -824,6 +824,21 @@ Multiline Font Lock Constructs | |||
| 824 | * Region to Refontify:: Controlling which region gets refontified | 824 | * Region to Refontify:: Controlling which region gets refontified |
| 825 | after a buffer change. | 825 | after a buffer change. |
| 826 | 826 | ||
| 827 | Automatic Indentation of code | ||
| 828 | |||
| 829 | * SMIE:: A simple minded indentation engine. | ||
| 830 | |||
| 831 | Simple Minded Indentation Engine | ||
| 832 | |||
| 833 | * SMIE setup:: SMIE setup and features. | ||
| 834 | * Operator Precedence Grammars:: A very simple parsing technique. | ||
| 835 | * SMIE Grammar:: Defining the grammar of a language. | ||
| 836 | * SMIE Lexer:: Defining tokens. | ||
| 837 | * SMIE Tricks:: Working around the parser's limitations. | ||
| 838 | * SMIE Indentation:: Specifying indentation rules. | ||
| 839 | * SMIE Indentation Helpers:: Helper functions for indentation rules. | ||
| 840 | * SMIE Indentation Example:: Sample indentation rules. | ||
| 841 | |||
| 827 | Documentation | 842 | Documentation |
| 828 | 843 | ||
| 829 | * Documentation Basics:: Where doc strings are defined and stored. | 844 | * Documentation Basics:: Where doc strings are defined and stored. |
| @@ -1220,8 +1235,7 @@ Processes | |||
| 1220 | * Datagrams:: UDP network connections. | 1235 | * Datagrams:: UDP network connections. |
| 1221 | * Low-Level Network:: Lower-level but more general function | 1236 | * Low-Level Network:: Lower-level but more general function |
| 1222 | to create connections and servers. | 1237 | to create connections and servers. |
| 1223 | * Misc Network:: Additional relevant functions for | 1238 | * Misc Network:: Additional relevant functions for net connections. |
| 1224 | network connections. | ||
| 1225 | * Serial Ports:: Communicating with serial ports. | 1239 | * Serial Ports:: Communicating with serial ports. |
| 1226 | * Byte Packing:: Using bindat to pack and unpack binary data. | 1240 | * Byte Packing:: Using bindat to pack and unpack binary data. |
| 1227 | 1241 | ||
| @@ -1341,6 +1355,7 @@ Images | |||
| 1341 | * GIF Images:: Special features for GIF format. | 1355 | * GIF Images:: Special features for GIF format. |
| 1342 | * TIFF Images:: Special features for TIFF format. | 1356 | * TIFF Images:: Special features for TIFF format. |
| 1343 | * PostScript Images:: Special features for PostScript format. | 1357 | * PostScript Images:: Special features for PostScript format. |
| 1358 | * ImageMagick Images:: Special features available through ImageMagick. | ||
| 1344 | * Other Image Types:: Various other formats are supported. | 1359 | * Other Image Types:: Various other formats are supported. |
| 1345 | * Defining Images:: Convenient ways to define an image for later use. | 1360 | * Defining Images:: Convenient ways to define an image for later use. |
| 1346 | * Showing Images:: Convenient ways to display an image once | 1361 | * Showing Images:: Convenient ways to display an image once |
| @@ -1396,13 +1411,6 @@ Operating System Interface | |||
| 1396 | * Notifications:: Desktop notifications. | 1411 | * Notifications:: Desktop notifications. |
| 1397 | * Dynamic Libraries:: On-demand loading of support libraries. | 1412 | * Dynamic Libraries:: On-demand loading of support libraries. |
| 1398 | 1413 | ||
| 1399 | Preparing Lisp code for distribution | ||
| 1400 | |||
| 1401 | * Packaging Basics:: The basic concepts of Emacs Lisp packages. | ||
| 1402 | * Simple Packages:: How to package a single .el file. | ||
| 1403 | * Multi-file Packages:: How to package multiple files. | ||
| 1404 | * Package Archives:: Maintaining package archives. | ||
| 1405 | |||
| 1406 | Starting Up Emacs | 1414 | Starting Up Emacs |
| 1407 | 1415 | ||
| 1408 | * Startup Summary:: Sequence of actions Emacs performs at startup. | 1416 | * Startup Summary:: Sequence of actions Emacs performs at startup. |
| @@ -1421,6 +1429,13 @@ Terminal Input | |||
| 1421 | * Input Modes:: Options for how input is processed. | 1429 | * Input Modes:: Options for how input is processed. |
| 1422 | * Recording Input:: Saving histories of recent or all input events. | 1430 | * Recording Input:: Saving histories of recent or all input events. |
| 1423 | 1431 | ||
| 1432 | Preparing Lisp code for distribution | ||
| 1433 | |||
| 1434 | * Packaging Basics:: The basic concepts of Emacs Lisp packages. | ||
| 1435 | * Simple Packages:: How to package a single .el file. | ||
| 1436 | * Multi-file Packages:: How to package multiple files. | ||
| 1437 | * Package Archives:: Maintaining package archives. | ||
| 1438 | |||
| 1424 | Tips and Conventions | 1439 | Tips and Conventions |
| 1425 | 1440 | ||
| 1426 | * Coding Conventions:: Conventions for clean and robust programs. | 1441 | * Coding Conventions:: Conventions for clean and robust programs. |
diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi index 4c1150d1a51..76059079ca1 100644 --- a/doc/lispref/eval.texi +++ b/doc/lispref/eval.texi | |||
| @@ -103,7 +103,7 @@ interpretation. @xref{Command Loop}. | |||
| 103 | @dfn{form} (or an @dfn{expression}). How Emacs evaluates a form | 103 | @dfn{form} (or an @dfn{expression}). How Emacs evaluates a form |
| 104 | depends on its data type. Emacs has three different kinds of form | 104 | depends on its data type. Emacs has three different kinds of form |
| 105 | that are evaluated differently: symbols, lists, and ``all other | 105 | that are evaluated differently: symbols, lists, and ``all other |
| 106 | types.'' This section describes all three kinds, one by one, starting | 106 | types''. This section describes all three kinds, one by one, starting |
| 107 | with the ``all other types'' which are self-evaluating forms. | 107 | with the ``all other types'' which are self-evaluating forms. |
| 108 | 108 | ||
| 109 | @menu | 109 | @menu |
| @@ -304,6 +304,22 @@ function, not a symbol. | |||
| 304 | Executing the function itself evaluates its body; this does involve | 304 | Executing the function itself evaluates its body; this does involve |
| 305 | symbol function indirection when calling @code{erste}. | 305 | symbol function indirection when calling @code{erste}. |
| 306 | 306 | ||
| 307 | This form is rarely used and is now deprecated. Instead, you should write it | ||
| 308 | as: | ||
| 309 | |||
| 310 | @smallexample | ||
| 311 | @group | ||
| 312 | (funcall (lambda (arg) (erste arg)) | ||
| 313 | '(1 2 3)) | ||
| 314 | @end group | ||
| 315 | @end smallexample | ||
| 316 | or just | ||
| 317 | @smallexample | ||
| 318 | @group | ||
| 319 | (let ((arg '(1 2 3))) (erste arg)) | ||
| 320 | @end group | ||
| 321 | @end smallexample | ||
| 322 | |||
| 307 | The built-in function @code{indirect-function} provides an easy way to | 323 | The built-in function @code{indirect-function} provides an easy way to |
| 308 | perform symbol function indirection explicitly. | 324 | perform symbol function indirection explicitly. |
| 309 | 325 | ||
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 3597d9f80c4..1af904aff41 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi | |||
| @@ -71,8 +71,8 @@ back into the file. | |||
| 71 | 71 | ||
| 72 | In spite of the distinction between files and buffers, people often | 72 | In spite of the distinction between files and buffers, people often |
| 73 | refer to a file when they mean a buffer and vice-versa. Indeed, we say, | 73 | refer to a file when they mean a buffer and vice-versa. Indeed, we say, |
| 74 | ``I am editing a file,'' rather than, ``I am editing a buffer that I | 74 | ``I am editing a file'', rather than, ``I am editing a buffer that I |
| 75 | will soon save as a file of the same name.'' Humans do not usually need | 75 | will soon save as a file of the same name''. Humans do not usually need |
| 76 | to make the distinction explicit. When dealing with a computer program, | 76 | to make the distinction explicit. When dealing with a computer program, |
| 77 | however, it is good to keep the distinction in mind. | 77 | however, it is good to keep the distinction in mind. |
| 78 | 78 | ||
| @@ -688,7 +688,7 @@ The file lock is really a file, a symbolic link with a special name, | |||
| 688 | stored in the same directory as the file you are editing. | 688 | stored in the same directory as the file you are editing. |
| 689 | 689 | ||
| 690 | When you access files using NFS, there may be a small probability that | 690 | When you access files using NFS, there may be a small probability that |
| 691 | you and another user will both lock the same file ``simultaneously.'' | 691 | you and another user will both lock the same file ``simultaneously''. |
| 692 | If this happens, it is possible for the two users to make changes | 692 | If this happens, it is possible for the two users to make changes |
| 693 | simultaneously, but Emacs will still warn the user who saves second. | 693 | simultaneously, but Emacs will still warn the user who saves second. |
| 694 | Also, the detection of modification of a buffer visiting a file changed | 694 | Also, the detection of modification of a buffer visiting a file changed |
| @@ -1806,7 +1806,7 @@ return value, but backup version numbers are kept. | |||
| 1806 | @end defun | 1806 | @end defun |
| 1807 | 1807 | ||
| 1808 | @defun file-name-extension filename &optional period | 1808 | @defun file-name-extension filename &optional period |
| 1809 | This function returns @var{filename}'s final ``extension,'' if any, | 1809 | This function returns @var{filename}'s final ``extension'', if any, |
| 1810 | after applying @code{file-name-sans-versions} to remove any | 1810 | after applying @code{file-name-sans-versions} to remove any |
| 1811 | version/backup part. The extension, in a file name, is the part that | 1811 | version/backup part. The extension, in a file name, is the part that |
| 1812 | follows the last @samp{.} in the last name component (minus any | 1812 | follows the last @samp{.} in the last name component (minus any |
| @@ -2798,7 +2798,7 @@ unlocking the buffer if it is locked. | |||
| 2798 | possibly others to be added in the future. It need not implement all | 2798 | possibly others to be added in the future. It need not implement all |
| 2799 | these operations itself---when it has nothing special to do for a | 2799 | these operations itself---when it has nothing special to do for a |
| 2800 | certain operation, it can reinvoke the primitive, to handle the | 2800 | certain operation, it can reinvoke the primitive, to handle the |
| 2801 | operation ``in the usual way.'' It should always reinvoke the primitive | 2801 | operation ``in the usual way''. It should always reinvoke the primitive |
| 2802 | for an operation it does not recognize. Here's one way to do this: | 2802 | for an operation it does not recognize. Here's one way to do this: |
| 2803 | 2803 | ||
| 2804 | @smallexample | 2804 | @smallexample |
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index d824f51e47e..869f03e2273 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -882,7 +882,7 @@ This variable specifies how to blink the cursor. Each element has the | |||
| 882 | form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor | 882 | form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor |
| 883 | type equals @var{on-state} (comparing using @code{equal}), the | 883 | type equals @var{on-state} (comparing using @code{equal}), the |
| 884 | corresponding @var{off-state} specifies what the cursor looks like | 884 | corresponding @var{off-state} specifies what the cursor looks like |
| 885 | when it blinks ``off.'' Both @var{on-state} and @var{off-state} | 885 | when it blinks ``off''. Both @var{on-state} and @var{off-state} |
| 886 | should be suitable values for the @code{cursor-type} frame parameter. | 886 | should be suitable values for the @code{cursor-type} frame parameter. |
| 887 | 887 | ||
| 888 | There are various defaults for how to blink each type of cursor, if | 888 | There are various defaults for how to blink each type of cursor, if |
| @@ -1069,7 +1069,7 @@ characters rather than pixels. | |||
| 1069 | These values include the internal borders, and windows' scroll bars | 1069 | These values include the internal borders, and windows' scroll bars |
| 1070 | and fringes (which belong to individual windows, not to the frame | 1070 | and fringes (which belong to individual windows, not to the frame |
| 1071 | itself). The exact value of the heights depends on the window-system | 1071 | itself). The exact value of the heights depends on the window-system |
| 1072 | and toolkit in use. With Gtk+, the height does not include any tool | 1072 | and toolkit in use. With GTK+, the height does not include any tool |
| 1073 | bar or menu bar. With the Motif or Lucid toolkits, it includes the | 1073 | bar or menu bar. With the Motif or Lucid toolkits, it includes the |
| 1074 | tool bar but not the menu bar. In a graphical version with no | 1074 | tool bar but not the menu bar. In a graphical version with no |
| 1075 | toolkit, it includes both the tool bar and menu bar. For a text | 1075 | toolkit, it includes both the tool bar and menu bar. For a text |
| @@ -1532,7 +1532,7 @@ track of such changes. @xref{Misc Events}. | |||
| 1532 | Most window systems use a desktop metaphor. Part of this metaphor is | 1532 | Most window systems use a desktop metaphor. Part of this metaphor is |
| 1533 | the idea that windows are stacked in a notional third dimension | 1533 | the idea that windows are stacked in a notional third dimension |
| 1534 | perpendicular to the screen surface, and thus ordered from ``highest'' | 1534 | perpendicular to the screen surface, and thus ordered from ``highest'' |
| 1535 | to ``lowest.'' Where two windows overlap, the one higher up covers | 1535 | to ``lowest''. Where two windows overlap, the one higher up covers |
| 1536 | the one underneath. Even a window at the bottom of the stack can be | 1536 | the one underneath. Even a window at the bottom of the stack can be |
| 1537 | seen if no other window overlaps it. | 1537 | seen if no other window overlaps it. |
| 1538 | 1538 | ||
| @@ -1540,7 +1540,7 @@ seen if no other window overlaps it. | |||
| 1540 | @cindex lowering a frame | 1540 | @cindex lowering a frame |
| 1541 | A window's place in this ordering is not fixed; in fact, users tend | 1541 | A window's place in this ordering is not fixed; in fact, users tend |
| 1542 | to change the order frequently. @dfn{Raising} a window means moving | 1542 | to change the order frequently. @dfn{Raising} a window means moving |
| 1543 | it ``up,'' to the top of the stack. @dfn{Lowering} a window means | 1543 | it ``up'', to the top of the stack. @dfn{Lowering} a window means |
| 1544 | moving it to the bottom of the stack. This motion is in the notional | 1544 | moving it to the bottom of the stack. This motion is in the notional |
| 1545 | third dimension only, and does not change the position of the window | 1545 | third dimension only, and does not change the position of the window |
| 1546 | on the screen. | 1546 | on the screen. |
| @@ -1814,7 +1814,7 @@ the menu keymap as necessary. | |||
| 1814 | A dialog box is a variant of a pop-up menu---it looks a little | 1814 | A dialog box is a variant of a pop-up menu---it looks a little |
| 1815 | different, it always appears in the center of a frame, and it has just | 1815 | different, it always appears in the center of a frame, and it has just |
| 1816 | one level and one or more buttons. The main use of dialog boxes is | 1816 | one level and one or more buttons. The main use of dialog boxes is |
| 1817 | for asking questions that the user can answer with ``yes,'' ``no,'' | 1817 | for asking questions that the user can answer with ``yes'', ``no'', |
| 1818 | and a few other alternatives. With a single button, they can also | 1818 | and a few other alternatives. With a single button, they can also |
| 1819 | force the user to acknowledge important information. The functions | 1819 | force the user to acknowledge important information. The functions |
| 1820 | @code{y-or-n-p} and @code{yes-or-no-p} use dialog boxes instead of the | 1820 | @code{y-or-n-p} and @code{yes-or-no-p} use dialog boxes instead of the |
| @@ -2028,7 +2028,7 @@ colors.) | |||
| 2028 | These functions provide a way to determine which color names are | 2028 | These functions provide a way to determine which color names are |
| 2029 | valid, and what they look like. In some cases, the value depends on the | 2029 | valid, and what they look like. In some cases, the value depends on the |
| 2030 | @dfn{selected frame}, as described below; see @ref{Input Focus}, for the | 2030 | @dfn{selected frame}, as described below; see @ref{Input Focus}, for the |
| 2031 | meaning of the term ``selected frame.'' | 2031 | meaning of the term ``selected frame''. |
| 2032 | 2032 | ||
| 2033 | To read user input of color names with completion, use | 2033 | To read user input of color names with completion, use |
| 2034 | @code{read-color} (@pxref{High-Level Completion, read-color}). | 2034 | @code{read-color} (@pxref{High-Level Completion, read-color}). |
| @@ -2425,7 +2425,7 @@ software (as a string). Really this means whoever distributes the X | |||
| 2425 | server. | 2425 | server. |
| 2426 | 2426 | ||
| 2427 | When the developers of X labeled software distributors as | 2427 | When the developers of X labeled software distributors as |
| 2428 | ``vendors,'' they showed their false assumption that no system could | 2428 | ``vendors'', they showed their false assumption that no system could |
| 2429 | ever be developed and distributed noncommercially. | 2429 | ever be developed and distributed noncommercially. |
| 2430 | @end defun | 2430 | @end defun |
| 2431 | 2431 | ||
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index 73bdefe19fc..b5cf38ed6f2 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi | |||
| @@ -266,13 +266,12 @@ function is the value returned by the last element of the body. | |||
| 266 | @end example | 266 | @end example |
| 267 | 267 | ||
| 268 | @noindent | 268 | @noindent |
| 269 | We can call this function by writing it as the @sc{car} of an | 269 | We can call this function by passing it to @code{funcall}, like this: |
| 270 | expression, like this: | ||
| 271 | 270 | ||
| 272 | @example | 271 | @example |
| 273 | @group | 272 | @group |
| 274 | ((lambda (a b c) (+ a b c)) | 273 | (funcall (lambda (a b c) (+ a b c)) |
| 275 | 1 2 3) | 274 | 1 2 3) |
| 276 | @end group | 275 | @end group |
| 277 | @end example | 276 | @end example |
| 278 | 277 | ||
| @@ -287,8 +286,8 @@ this example: | |||
| 287 | 286 | ||
| 288 | @example | 287 | @example |
| 289 | @group | 288 | @group |
| 290 | ((lambda (a b c) (+ a b c)) | 289 | (funcall (lambda (a b c) (+ a b c)) |
| 291 | 1 (* 2 3) (- 5 4)) | 290 | 1 (* 2 3) (- 5 4)) |
| 292 | @end group | 291 | @end group |
| 293 | @end example | 292 | @end example |
| 294 | 293 | ||
| @@ -399,16 +398,16 @@ after a @code{&rest} argument. | |||
| 399 | Here are some examples of argument lists and proper calls: | 398 | Here are some examples of argument lists and proper calls: |
| 400 | 399 | ||
| 401 | @smallexample | 400 | @smallexample |
| 402 | ((lambda (n) (1+ n)) ; @r{One required:} | 401 | (funcall (lambda (n) (1+ n)) ; @r{One required:} |
| 403 | 1) ; @r{requires exactly one argument.} | 402 | 1) ; @r{requires exactly one argument.} |
| 404 | @result{} 2 | 403 | @result{} 2 |
| 405 | ((lambda (n &optional n1) ; @r{One required and one optional:} | 404 | (funcall (lambda (n &optional n1) ; @r{One required and one optional:} |
| 406 | (if n1 (+ n n1) (1+ n))) ; @r{1 or 2 arguments.} | 405 | (if n1 (+ n n1) (1+ n))) ; @r{1 or 2 arguments.} |
| 407 | 1 2) | 406 | 1 2) |
| 408 | @result{} 3 | 407 | @result{} 3 |
| 409 | ((lambda (n &rest ns) ; @r{One required and one rest:} | 408 | (funcall (lambda (n &rest ns) ; @r{One required and one rest:} |
| 410 | (+ n (apply '+ ns))) ; @r{1 or more arguments.} | 409 | (+ n (apply '+ ns))) ; @r{1 or more arguments.} |
| 411 | 1 2 3 4 5) | 410 | 1 2 3 4 5) |
| 412 | @result{} 15 | 411 | @result{} 15 |
| 413 | @end smallexample | 412 | @end smallexample |
| 414 | 413 | ||
diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi index 0ca4c915a65..1aa6004b3a6 100644 --- a/doc/lispref/hash.texi +++ b/doc/lispref/hash.texi | |||
| @@ -74,13 +74,13 @@ alternatives: | |||
| 74 | Keys which are numbers are ``the same'' if they are @code{equal}, that | 74 | Keys which are numbers are ``the same'' if they are @code{equal}, that |
| 75 | is, if they are equal in value and either both are integers or both | 75 | is, if they are equal in value and either both are integers or both |
| 76 | are floating point numbers; otherwise, two distinct objects are never | 76 | are floating point numbers; otherwise, two distinct objects are never |
| 77 | ``the same.'' | 77 | ``the same''. |
| 78 | 78 | ||
| 79 | @item eq | 79 | @item eq |
| 80 | Any two distinct Lisp objects are ``different'' as keys. | 80 | Any two distinct Lisp objects are ``different'' as keys. |
| 81 | 81 | ||
| 82 | @item equal | 82 | @item equal |
| 83 | Two Lisp objects are ``the same,'' as keys, if they are equal | 83 | Two Lisp objects are ``the same'', as keys, if they are equal |
| 84 | according to @code{equal}. | 84 | according to @code{equal}. |
| 85 | @end table | 85 | @end table |
| 86 | 86 | ||
| @@ -128,7 +128,7 @@ doing that takes some extra time. | |||
| 128 | The default size is 65. | 128 | The default size is 65. |
| 129 | 129 | ||
| 130 | @item :rehash-size @var{rehash-size} | 130 | @item :rehash-size @var{rehash-size} |
| 131 | When you add an association to a hash table and the table is ``full,'' | 131 | When you add an association to a hash table and the table is ``full'', |
| 132 | it grows automatically. This value specifies how to make the hash table | 132 | it grows automatically. This value specifies how to make the hash table |
| 133 | larger, at that time. | 133 | larger, at that time. |
| 134 | 134 | ||
| @@ -262,7 +262,7 @@ will use @var{test-fn} to compare key values, and @var{hash-fn} to compute | |||
| 262 | a ``hash code'' from a key value. | 262 | a ``hash code'' from a key value. |
| 263 | 263 | ||
| 264 | The function @var{test-fn} should accept two arguments, two keys, and | 264 | The function @var{test-fn} should accept two arguments, two keys, and |
| 265 | return non-@code{nil} if they are considered ``the same.'' | 265 | return non-@code{nil} if they are considered ``the same''. |
| 266 | 266 | ||
| 267 | The function @var{hash-fn} should accept one argument, a key, and return | 267 | The function @var{hash-fn} should accept one argument, a key, and return |
| 268 | an integer that is the ``hash code'' of that key. For good results, the | 268 | an integer that is the ``hash code'' of that key. For good results, the |
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index 5dfb2b05ff8..762b42113f2 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi | |||
| @@ -599,7 +599,7 @@ subcommands of the prefix key. | |||
| 599 | 599 | ||
| 600 | @defopt help-event-list | 600 | @defopt help-event-list |
| 601 | The value of this variable is a list of event types that serve as | 601 | The value of this variable is a list of event types that serve as |
| 602 | alternative ``help characters.'' These events are handled just like the | 602 | alternative ``help characters''. These events are handled just like the |
| 603 | event specified by @code{help-char}. | 603 | event specified by @code{help-char}. |
| 604 | @end defopt | 604 | @end defopt |
| 605 | 605 | ||
diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi index d3a5b253162..37d2cc55a9e 100644 --- a/doc/lispref/intro.texi +++ b/doc/lispref/intro.texi | |||
| @@ -146,7 +146,7 @@ printer'' refer to those routines in Lisp that convert textual | |||
| 146 | representations of Lisp objects into actual Lisp objects, and vice | 146 | representations of Lisp objects into actual Lisp objects, and vice |
| 147 | versa. @xref{Printed Representation}, for more details. You, the | 147 | versa. @xref{Printed Representation}, for more details. You, the |
| 148 | person reading this manual, are thought of as ``the programmer'' and are | 148 | person reading this manual, are thought of as ``the programmer'' and are |
| 149 | addressed as ``you.'' ``The user'' is the person who uses Lisp | 149 | addressed as ``you''. ``The user'' is the person who uses Lisp |
| 150 | programs, including those you write. | 150 | programs, including those you write. |
| 151 | 151 | ||
| 152 | @cindex typographic conventions | 152 | @cindex typographic conventions |
| @@ -219,7 +219,7 @@ the examples in this manual, this is indicated with @samp{@result{}}: | |||
| 219 | @end example | 219 | @end example |
| 220 | 220 | ||
| 221 | @noindent | 221 | @noindent |
| 222 | You can read this as ``@code{(car '(1 2))} evaluates to 1.'' | 222 | You can read this as ``@code{(car '(1 2))} evaluates to 1''. |
| 223 | 223 | ||
| 224 | When a form is a macro call, it expands into a new form for Lisp to | 224 | When a form is a macro call, it expands into a new form for Lisp to |
| 225 | evaluate. We show the result of the expansion with | 225 | evaluate. We show the result of the expansion with |
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index b12752fdeea..337364cb2ce 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi | |||
| @@ -1032,7 +1032,7 @@ binding of @var{othertype} in @var{othermap} and uses that. | |||
| 1032 | This feature permits you to define one key as an alias for another key. | 1032 | This feature permits you to define one key as an alias for another key. |
| 1033 | For example, an entry whose @sc{car} is the keymap called @code{esc-map} | 1033 | For example, an entry whose @sc{car} is the keymap called @code{esc-map} |
| 1034 | and whose @sc{cdr} is 32 (the code for @key{SPC}) means, ``Use the global | 1034 | and whose @sc{cdr} is 32 (the code for @key{SPC}) means, ``Use the global |
| 1035 | binding of @kbd{Meta-@key{SPC}}, whatever that may be.'' | 1035 | binding of @kbd{Meta-@key{SPC}}, whatever that may be''. |
| 1036 | @end itemize | 1036 | @end itemize |
| 1037 | 1037 | ||
| 1038 | @item @var{symbol} | 1038 | @item @var{symbol} |
| @@ -1887,9 +1887,9 @@ maps searched are @var{keymap} and the global keymap. If @var{keymap} | |||
| 1887 | is a list of keymaps, only those keymaps are searched. | 1887 | is a list of keymaps, only those keymaps are searched. |
| 1888 | 1888 | ||
| 1889 | Usually it's best to use @code{overriding-local-map} as the expression | 1889 | Usually it's best to use @code{overriding-local-map} as the expression |
| 1890 | for @var{keymap}. Then @code{where-is-internal} searches precisely the | 1890 | for @var{keymap}. Then @code{where-is-internal} searches precisely |
| 1891 | keymaps that are active. To search only the global map, pass | 1891 | the keymaps that are active. To search only the global map, pass the |
| 1892 | @code{(keymap)} (an empty keymap) as @var{keymap}. | 1892 | value @code{(keymap)} (an empty keymap) as @var{keymap}. |
| 1893 | 1893 | ||
| 1894 | If @var{firstonly} is @code{non-ascii}, then the value is a single | 1894 | If @var{firstonly} is @code{non-ascii}, then the value is a single |
| 1895 | vector representing the first key sequence found, rather than a list of | 1895 | vector representing the first key sequence found, rather than a list of |
| @@ -1903,20 +1903,24 @@ If @var{noindirect} is non-@code{nil}, @code{where-is-internal} doesn't | |||
| 1903 | follow indirect keymap bindings. This makes it possible to search for | 1903 | follow indirect keymap bindings. This makes it possible to search for |
| 1904 | an indirect definition itself. | 1904 | an indirect definition itself. |
| 1905 | 1905 | ||
| 1906 | When command remapping is in effect (@pxref{Remapping Commands}), | 1906 | The fifth argument, @var{no-remap}, determines how this function |
| 1907 | @code{where-is-internal} figures out when a command will be run due to | 1907 | treats command remappings (@pxref{Remapping Commands}). There are two |
| 1908 | remapping and reports keys accordingly. It also returns @code{nil} if | 1908 | cases of interest: |
| 1909 | @var{command} won't really be run because it has been remapped to some | ||
| 1910 | other command. However, if @var{no-remap} is non-@code{nil}. | ||
| 1911 | @code{where-is-internal} ignores remappings. | ||
| 1912 | 1909 | ||
| 1913 | @smallexample | 1910 | @table @asis |
| 1914 | @group | 1911 | @item If a command @var{other-command} is remapped to @var{command}: |
| 1915 | (where-is-internal 'describe-function) | 1912 | If @var{no-remap} is @code{nil}, find the bindings for |
| 1916 | @result{} ([8 102] [f1 102] [help 102] | 1913 | @var{other-command} and treat them as though they are also bindings |
| 1917 | [menu-bar help-menu describe describe-function]) | 1914 | for @var{command}. If @var{no-remap} is non-@code{nil}, include the |
| 1918 | @end group | 1915 | vector @code{[remap @var{other-command}]} in the list of possible key |
| 1919 | @end smallexample | 1916 | sequences, instead of finding those bindings. |
| 1917 | |||
| 1918 | @item If @var{command} is remapped to @var{other-command}: | ||
| 1919 | If @var{no-remap} is @code{nil}, return the bindings for | ||
| 1920 | @var{other-command} rather than @var{command}. If @var{no-remap} is | ||
| 1921 | non-@code{nil}, return the bindings for @var{command}, ignoring the | ||
| 1922 | fact that it is remapped. | ||
| 1923 | @end table | ||
| 1920 | @end defun | 1924 | @end defun |
| 1921 | 1925 | ||
| 1922 | @deffn Command describe-bindings &optional prefix buffer-or-name | 1926 | @deffn Command describe-bindings &optional prefix buffer-or-name |
| @@ -2147,7 +2151,7 @@ This works because @code{toggle-debug-on-error} is defined as a command | |||
| 2147 | which toggles the variable @code{debug-on-error}. | 2151 | which toggles the variable @code{debug-on-error}. |
| 2148 | 2152 | ||
| 2149 | @dfn{Radio buttons} are a group of menu items, in which at any time one | 2153 | @dfn{Radio buttons} are a group of menu items, in which at any time one |
| 2150 | and only one is ``selected.'' There should be a variable whose value | 2154 | and only one is ``selected''. There should be a variable whose value |
| 2151 | says which one is selected at any time. The @var{selected} form for | 2155 | says which one is selected at any time. The @var{selected} form for |
| 2152 | each radio button in the group should check whether the variable has the | 2156 | each radio button in the group should check whether the variable has the |
| 2153 | right value for selecting that button. Clicking on the button should | 2157 | right value for selecting that button. Clicking on the button should |
| @@ -2424,7 +2428,7 @@ Next we define the menu items: | |||
| 2424 | Note the symbols which the bindings are ``made for''; these appear | 2428 | Note the symbols which the bindings are ``made for''; these appear |
| 2425 | inside square brackets, in the key sequence being defined. In some | 2429 | inside square brackets, in the key sequence being defined. In some |
| 2426 | cases, this symbol is the same as the command name; sometimes it is | 2430 | cases, this symbol is the same as the command name; sometimes it is |
| 2427 | different. These symbols are treated as ``function keys,'' but they are | 2431 | different. These symbols are treated as ``function keys'', but they are |
| 2428 | not real function keys on the keyboard. They do not affect the | 2432 | not real function keys on the keyboard. They do not affect the |
| 2429 | functioning of the menu itself, but they are ``echoed'' in the echo area | 2433 | functioning of the menu itself, but they are ``echoed'' in the echo area |
| 2430 | when the user selects from the menu, and they appear in the output of | 2434 | when the user selects from the menu, and they appear in the output of |
diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi index 2325915d76a..423bc7b6d8a 100644 --- a/doc/lispref/lists.texi +++ b/doc/lispref/lists.texi | |||
| @@ -34,12 +34,12 @@ object that represents an ordered pair. That is, it has two slots, | |||
| 34 | and each slot @dfn{holds}, or @dfn{refers to}, some Lisp object. One | 34 | and each slot @dfn{holds}, or @dfn{refers to}, some Lisp object. One |
| 35 | slot is known as the @sc{car}, and the other is known as the @sc{cdr}. | 35 | slot is known as the @sc{car}, and the other is known as the @sc{cdr}. |
| 36 | (These names are traditional; see @ref{Cons Cell Type}.) @sc{cdr} is | 36 | (These names are traditional; see @ref{Cons Cell Type}.) @sc{cdr} is |
| 37 | pronounced ``could-er.'' | 37 | pronounced ``could-er''. |
| 38 | 38 | ||
| 39 | We say that ``the @sc{car} of this cons cell is'' whatever object | 39 | We say that ``the @sc{car} of this cons cell is'' whatever object |
| 40 | its @sc{car} slot currently holds, and likewise for the @sc{cdr}. | 40 | its @sc{car} slot currently holds, and likewise for the @sc{cdr}. |
| 41 | 41 | ||
| 42 | A list is a series of cons cells ``chained together,'' so that each | 42 | A list is a series of cons cells ``chained together'', so that each |
| 43 | cell refers to the next one. There is one cons cell for each element | 43 | cell refers to the next one. There is one cons cell for each element |
| 44 | of the list. By convention, the @sc{car}s of the cons cells hold the | 44 | of the list. By convention, the @sc{car}s of the cons cells hold the |
| 45 | elements of the list, and the @sc{cdr}s are used to chain the list | 45 | elements of the list, and the @sc{cdr}s are used to chain the list |
| @@ -1632,7 +1632,7 @@ a @sc{cdr} @code{equal} to @var{value}. | |||
| 1632 | 1632 | ||
| 1633 | @code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of | 1633 | @code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of |
| 1634 | each @var{alist} association instead of the @sc{car}. You can think of | 1634 | each @var{alist} association instead of the @sc{car}. You can think of |
| 1635 | this as ``reverse @code{assoc},'' finding the key for a given value. | 1635 | this as ``reverse @code{assoc}'', finding the key for a given value. |
| 1636 | @end defun | 1636 | @end defun |
| 1637 | 1637 | ||
| 1638 | @defun assq key alist | 1638 | @defun assq key alist |
| @@ -1673,7 +1673,7 @@ a @sc{cdr} @code{eq} to @var{value}. | |||
| 1673 | 1673 | ||
| 1674 | @code{rassq} is like @code{assq} except that it compares the @sc{cdr} of | 1674 | @code{rassq} is like @code{assq} except that it compares the @sc{cdr} of |
| 1675 | each @var{alist} association instead of the @sc{car}. You can think of | 1675 | each @var{alist} association instead of the @sc{car}. You can think of |
| 1676 | this as ``reverse @code{assq},'' finding the key for a given value. | 1676 | this as ``reverse @code{assq}'', finding the key for a given value. |
| 1677 | 1677 | ||
| 1678 | For example: | 1678 | For example: |
| 1679 | 1679 | ||
diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi index bc4cec3307d..3984e5c03aa 100644 --- a/doc/lispref/macros.texi +++ b/doc/lispref/macros.texi | |||
| @@ -604,7 +604,7 @@ either. | |||
| 604 | @section Indenting Macros | 604 | @section Indenting Macros |
| 605 | 605 | ||
| 606 | Within a macro definition, you can use the @code{declare} form | 606 | Within a macro definition, you can use the @code{declare} form |
| 607 | (@pxref{Defining Macros}) to specify how to @key{TAB} should indent | 607 | (@pxref{Defining Macros}) to specify how @key{TAB} should indent |
| 608 | calls to the macro. An indentation specification is written like this: | 608 | calls to the macro. An indentation specification is written like this: |
| 609 | 609 | ||
| 610 | @example | 610 | @example |
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index c840eb6ded0..8ce7e0d4686 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi | |||
| @@ -57,16 +57,17 @@ including @code{beginning-of-line}, @code{forward-word}, | |||
| 57 | @code{forward-sentence}, and @code{forward-paragraph}, stop at the | 57 | @code{forward-sentence}, and @code{forward-paragraph}, stop at the |
| 58 | boundary between the prompt and the actual text. | 58 | boundary between the prompt and the actual text. |
| 59 | 59 | ||
| 60 | @c See http://debbugs.gnu.org/11276 | ||
| 60 | The minibuffer's window is normally a single line; it grows | 61 | The minibuffer's window is normally a single line; it grows |
| 61 | automatically if the contents require more space. You can explicitly | 62 | automatically if the contents require more space. Whilst it is |
| 62 | @c FIXME? Works in 23.4, not 24.0.95. (Bug#11276) | 63 | active, you can explicitly resize it temporarily with the window |
| 63 | resize it temporarily with the window sizing commands; it reverts to | 64 | sizing commands; it reverts to its normal size when the minibuffer is |
| 64 | its normal size when the minibuffer is exited. You can resize it | 65 | exited. When the minibuffer is not active, you can resize it |
| 65 | @c FIXME? Doesn't work in any version of Emacs? | ||
| 66 | permanently by using the window sizing commands in the frame's other | 66 | permanently by using the window sizing commands in the frame's other |
| 67 | window, when the minibuffer is not active. If the frame contains just | 67 | window, or dragging the mode line with the mouse. (Due to details of |
| 68 | a minibuffer, you can change the minibuffer's size by changing the | 68 | the current implementation, for this to work @code{resize-mini-windows} |
| 69 | frame's size. | 69 | must be @code{nil}.) If the frame contains just a minibuffer, you can |
| 70 | change the minibuffer's size by changing the frame's size. | ||
| 70 | 71 | ||
| 71 | Use of the minibuffer reads input events, and that alters the values | 72 | Use of the minibuffer reads input events, and that alters the values |
| 72 | of variables such as @code{this-command} and @code{last-command} | 73 | of variables such as @code{this-command} and @code{last-command} |
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index aa089aec36b..00cd43d7b71 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi | |||
| @@ -283,7 +283,7 @@ buffer is put in Fundamental mode (@pxref{Major Mode Conventions}). | |||
| 283 | * Derived Modes:: Defining a new major mode based on another major | 283 | * Derived Modes:: Defining a new major mode based on another major |
| 284 | mode. | 284 | mode. |
| 285 | * Basic Major Modes:: Modes that other modes are often derived from. | 285 | * Basic Major Modes:: Modes that other modes are often derived from. |
| 286 | * Mode Hooks:: Hooks run at the end of major mode commands. | 286 | * Mode Hooks:: Hooks run at the end of major mode functions. |
| 287 | * Tabulated List Mode:: Parent mode for buffers containing tabulated data. | 287 | * Tabulated List Mode:: Parent mode for buffers containing tabulated data. |
| 288 | * Generic Modes:: Defining a simple major mode that supports | 288 | * Generic Modes:: Defining a simple major mode that supports |
| 289 | comment syntax and Font Lock mode. | 289 | comment syntax and Font Lock mode. |
| @@ -384,7 +384,7 @@ reserved for users. | |||
| 384 | 384 | ||
| 385 | A major mode can also rebind the keys @kbd{M-n}, @kbd{M-p} and | 385 | A major mode can also rebind the keys @kbd{M-n}, @kbd{M-p} and |
| 386 | @kbd{M-s}. The bindings for @kbd{M-n} and @kbd{M-p} should normally | 386 | @kbd{M-s}. The bindings for @kbd{M-n} and @kbd{M-p} should normally |
| 387 | be some kind of ``moving forward and backward,'' but this does not | 387 | be some kind of ``moving forward and backward'', but this does not |
| 388 | necessarily mean cursor motion. | 388 | necessarily mean cursor motion. |
| 389 | 389 | ||
| 390 | It is legitimate for a major mode to rebind a standard key sequence if | 390 | It is legitimate for a major mode to rebind a standard key sequence if |
| @@ -938,7 +938,7 @@ such a major mode, please correct it to follow these conventions. | |||
| 938 | 938 | ||
| 939 | When you defined a major mode using @code{define-derived-mode}, it | 939 | When you defined a major mode using @code{define-derived-mode}, it |
| 940 | automatically makes sure these conventions are followed. If you | 940 | automatically makes sure these conventions are followed. If you |
| 941 | define a major mode ``by hand,'' not using @code{define-derived-mode}, | 941 | define a major mode ``by hand'', not using @code{define-derived-mode}, |
| 942 | use the following functions to handle these conventions automatically. | 942 | use the following functions to handle these conventions automatically. |
| 943 | 943 | ||
| 944 | @defun run-mode-hooks &rest hookvars | 944 | @defun run-mode-hooks &rest hookvars |
| @@ -1122,8 +1122,8 @@ documentation for the mode command. If you do not supply it, | |||
| 1122 | The argument @var{comment-list} is a list in which each element is | 1122 | The argument @var{comment-list} is a list in which each element is |
| 1123 | either a character, a string of one or two characters, or a cons cell. | 1123 | either a character, a string of one or two characters, or a cons cell. |
| 1124 | A character or a string is set up in the mode's syntax table as a | 1124 | A character or a string is set up in the mode's syntax table as a |
| 1125 | ``comment starter.'' If the entry is a cons cell, the @sc{car} is set | 1125 | ``comment starter''. If the entry is a cons cell, the @sc{car} is set |
| 1126 | up as a ``comment starter'' and the @sc{cdr} as a ``comment ender.'' | 1126 | up as a ``comment starter'' and the @sc{cdr} as a ``comment ender''. |
| 1127 | (Use @code{nil} for the latter if you want comments to end at the end | 1127 | (Use @code{nil} for the latter if you want comments to end at the end |
| 1128 | of the line.) Note that the syntax table mechanism has limitations | 1128 | of the line.) Note that the syntax table mechanism has limitations |
| 1129 | about what comment starters and enders are actually possible. | 1129 | about what comment starters and enders are actually possible. |
| @@ -1648,7 +1648,7 @@ See the command \\[hungry-electric-delete]." | |||
| 1648 | @end smallexample | 1648 | @end smallexample |
| 1649 | 1649 | ||
| 1650 | @noindent | 1650 | @noindent |
| 1651 | This defines a minor mode named ``Hungry mode,'' a command named | 1651 | This defines a minor mode named ``Hungry mode'', a command named |
| 1652 | @code{hungry-mode} to toggle it, a variable named @code{hungry-mode} | 1652 | @code{hungry-mode} to toggle it, a variable named @code{hungry-mode} |
| 1653 | which indicates whether the mode is enabled, and a variable named | 1653 | which indicates whether the mode is enabled, and a variable named |
| 1654 | @code{hungry-mode-map} which holds the keymap that is active when the | 1654 | @code{hungry-mode-map} which holds the keymap that is active when the |
| @@ -3374,7 +3374,7 @@ Another one is SMIE which takes an approach in the spirit | |||
| 3374 | of Lisp sexps and adapts it to non-Lisp languages. | 3374 | of Lisp sexps and adapts it to non-Lisp languages. |
| 3375 | 3375 | ||
| 3376 | @menu | 3376 | @menu |
| 3377 | * SMIE:: A simple minded indentation engine | 3377 | * SMIE:: A simple minded indentation engine. |
| 3378 | @end menu | 3378 | @end menu |
| 3379 | 3379 | ||
| 3380 | @node SMIE | 3380 | @node SMIE |
| @@ -3400,14 +3400,14 @@ languages cannot be parsed correctly using SMIE, at least not without | |||
| 3400 | resorting to some special tricks (@pxref{SMIE Tricks}). | 3400 | resorting to some special tricks (@pxref{SMIE Tricks}). |
| 3401 | 3401 | ||
| 3402 | @menu | 3402 | @menu |
| 3403 | * SMIE setup:: SMIE setup and features | 3403 | * SMIE setup:: SMIE setup and features. |
| 3404 | * Operator Precedence Grammars:: A very simple parsing technique | 3404 | * Operator Precedence Grammars:: A very simple parsing technique. |
| 3405 | * SMIE Grammar:: Defining the grammar of a language | 3405 | * SMIE Grammar:: Defining the grammar of a language. |
| 3406 | * SMIE Lexer:: Defining tokens | 3406 | * SMIE Lexer:: Defining tokens. |
| 3407 | * SMIE Tricks:: Working around the parser's limitations | 3407 | * SMIE Tricks:: Working around the parser's limitations. |
| 3408 | * SMIE Indentation:: Specifying indentation rules | 3408 | * SMIE Indentation:: Specifying indentation rules. |
| 3409 | * SMIE Indentation Helpers:: Helper functions for indentation rules | 3409 | * SMIE Indentation Helpers:: Helper functions for indentation rules. |
| 3410 | * SMIE Indentation Example:: Sample indentation rules | 3410 | * SMIE Indentation Example:: Sample indentation rules. |
| 3411 | @end menu | 3411 | @end menu |
| 3412 | 3412 | ||
| 3413 | @node SMIE setup | 3413 | @node SMIE setup |
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi index 66f491b7780..02d306b3f75 100644 --- a/doc/lispref/numbers.texi +++ b/doc/lispref/numbers.texi | |||
| @@ -777,7 +777,7 @@ and returns that value as a floating point number. | |||
| 777 | sequence of @dfn{bits} (digits which are either zero or one). A bitwise | 777 | sequence of @dfn{bits} (digits which are either zero or one). A bitwise |
| 778 | operation acts on the individual bits of such a sequence. For example, | 778 | operation acts on the individual bits of such a sequence. For example, |
| 779 | @dfn{shifting} moves the whole sequence left or right one or more places, | 779 | @dfn{shifting} moves the whole sequence left or right one or more places, |
| 780 | reproducing the same pattern ``moved over.'' | 780 | reproducing the same pattern ``moved over''. |
| 781 | 781 | ||
| 782 | The bitwise operations in Emacs Lisp apply only to integers. | 782 | The bitwise operations in Emacs Lisp apply only to integers. |
| 783 | 783 | ||
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi index 58ceeb02b76..b49d2bc05fe 100644 --- a/doc/lispref/objects.texi +++ b/doc/lispref/objects.texi | |||
| @@ -675,7 +675,7 @@ not distinguish between a cons cell slot ``holding'' a value versus | |||
| 675 | 675 | ||
| 676 | @cindex atoms | 676 | @cindex atoms |
| 677 | Because cons cells are so central to Lisp, we also have a word for | 677 | Because cons cells are so central to Lisp, we also have a word for |
| 678 | ``an object which is not a cons cell.'' These objects are called | 678 | ``an object which is not a cons cell''. These objects are called |
| 679 | @dfn{atoms}. | 679 | @dfn{atoms}. |
| 680 | 680 | ||
| 681 | @cindex parenthesis | 681 | @cindex parenthesis |
| @@ -1289,7 +1289,7 @@ without qualification, we mean a Lisp macro, not a keyboard macro. | |||
| 1289 | A @dfn{primitive function} is a function callable from Lisp but | 1289 | A @dfn{primitive function} is a function callable from Lisp but |
| 1290 | written in the C programming language. Primitive functions are also | 1290 | written in the C programming language. Primitive functions are also |
| 1291 | called @dfn{subrs} or @dfn{built-in functions}. (The word ``subr'' is | 1291 | called @dfn{subrs} or @dfn{built-in functions}. (The word ``subr'' is |
| 1292 | derived from ``subroutine.'') Most primitive functions evaluate all | 1292 | derived from ``subroutine''.) Most primitive functions evaluate all |
| 1293 | their arguments when they are called. A primitive function that does | 1293 | their arguments when they are called. A primitive function that does |
| 1294 | not evaluate all its arguments is called a @dfn{special form} | 1294 | not evaluate all its arguments is called a @dfn{special form} |
| 1295 | (@pxref{Special Forms}).@refill | 1295 | (@pxref{Special Forms}).@refill |
diff --git a/doc/lispref/streams.texi b/doc/lispref/streams.texi index 7028b6e4e3f..66df1f34eda 100644 --- a/doc/lispref/streams.texi +++ b/doc/lispref/streams.texi | |||
| @@ -114,7 +114,7 @@ When it is called with one argument (always a character), @var{function} | |||
| 114 | should save the argument and arrange to return it on the next call. | 114 | should save the argument and arrange to return it on the next call. |
| 115 | This is called @dfn{unreading} the character; it happens when the Lisp | 115 | This is called @dfn{unreading} the character; it happens when the Lisp |
| 116 | reader reads one character too many and wants to ``put it back where it | 116 | reader reads one character too many and wants to ``put it back where it |
| 117 | came from.'' In this case, it makes no difference what value | 117 | came from''. In this case, it makes no difference what value |
| 118 | @var{function} returns. | 118 | @var{function} returns. |
| 119 | @end itemize | 119 | @end itemize |
| 120 | 120 | ||
| @@ -618,7 +618,7 @@ spacing between calls. | |||
| 618 | @defun terpri &optional stream | 618 | @defun terpri &optional stream |
| 619 | @cindex newline in print | 619 | @cindex newline in print |
| 620 | This function outputs a newline to @var{stream}. The name stands | 620 | This function outputs a newline to @var{stream}. The name stands |
| 621 | for ``terminate print.'' | 621 | for ``terminate print''. |
| 622 | @end defun | 622 | @end defun |
| 623 | 623 | ||
| 624 | @defun write-char character &optional stream | 624 | @defun write-char character &optional stream |
diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi index ac2cea02040..1e749b8c3bb 100644 --- a/doc/lispref/symbols.texi +++ b/doc/lispref/symbols.texi | |||
| @@ -140,7 +140,7 @@ act correctly if it is evaluated with lexical scoping enabled | |||
| 140 | @code{defun} defines a symbol as a function, creating a lambda | 140 | @code{defun} defines a symbol as a function, creating a lambda |
| 141 | expression and storing it in the function cell of the symbol. This | 141 | expression and storing it in the function cell of the symbol. This |
| 142 | lambda expression thus becomes the function definition of the symbol. | 142 | lambda expression thus becomes the function definition of the symbol. |
| 143 | (The term ``function definition,'' meaning the contents of the function | 143 | (The term ``function definition'', meaning the contents of the function |
| 144 | cell, is derived from the idea that @code{defun} gives the symbol its | 144 | cell, is derived from the idea that @code{defun} gives the symbol its |
| 145 | definition as a function.) @code{defsubst} and @code{defalias} are two | 145 | definition as a function.) @code{defsubst} and @code{defalias} are two |
| 146 | other ways of defining a function. @xref{Functions}. | 146 | other ways of defining a function. @xref{Functions}. |
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi index 830ceeedefd..4a860657444 100644 --- a/doc/lispref/syntax.texi +++ b/doc/lispref/syntax.texi | |||
| @@ -56,7 +56,7 @@ Modes}, for an example of how to set up a syntax table. | |||
| 56 | A syntax table can inherit the data for some characters from the | 56 | A syntax table can inherit the data for some characters from the |
| 57 | standard syntax table, while specifying other characters itself. The | 57 | standard syntax table, while specifying other characters itself. The |
| 58 | ``inherit'' syntax class means ``inherit this character's syntax from | 58 | ``inherit'' syntax class means ``inherit this character's syntax from |
| 59 | the standard syntax table.'' Just changing the standard syntax for a | 59 | the standard syntax table''. Just changing the standard syntax for a |
| 60 | character affects all syntax tables that inherit from it. | 60 | character affects all syntax tables that inherit from it. |
| 61 | 61 | ||
| 62 | @defun syntax-table-p object | 62 | @defun syntax-table-p object |
| @@ -617,7 +617,7 @@ higher-level functions for moving over balanced expressions. | |||
| 617 | A character's syntax controls how it changes the state of the | 617 | A character's syntax controls how it changes the state of the |
| 618 | parser, rather than describing the state itself. For example, a | 618 | parser, rather than describing the state itself. For example, a |
| 619 | string delimiter character toggles the parser state between | 619 | string delimiter character toggles the parser state between |
| 620 | ``in-string'' and ``in-code,'' but the syntax of characters does not | 620 | ``in-string'' and ``in-code'', but the syntax of characters does not |
| 621 | directly say whether they are inside a string. For example (note that | 621 | directly say whether they are inside a string. For example (note that |
| 622 | 15 is the syntax code for generic string delimiters), | 622 | 15 is the syntax code for generic string delimiters), |
| 623 | 623 | ||
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index a9c51fead1b..d794ddc385b 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi | |||
| @@ -555,7 +555,7 @@ error; if some of the text in it is read-only, it signals a | |||
| 555 | asking for any confirmation. It returns @code{nil}. | 555 | asking for any confirmation. It returns @code{nil}. |
| 556 | 556 | ||
| 557 | Normally, deleting a large amount of text from a buffer inhibits further | 557 | Normally, deleting a large amount of text from a buffer inhibits further |
| 558 | auto-saving of that buffer ``because it has shrunk.'' However, | 558 | auto-saving of that buffer ``because it has shrunk''. However, |
| 559 | @code{erase-buffer} does not do this, the idea being that the future | 559 | @code{erase-buffer} does not do this, the idea being that the future |
| 560 | text is not really related to the former text, and its size should not | 560 | text is not really related to the former text, and its size should not |
| 561 | be compared with that of the former text. | 561 | be compared with that of the former text. |
| @@ -806,7 +806,7 @@ that treat it as a ring. | |||
| 806 | 806 | ||
| 807 | Some people think this use of the word ``kill'' is unfortunate, since | 807 | Some people think this use of the word ``kill'' is unfortunate, since |
| 808 | it refers to operations that specifically @emph{do not} destroy the | 808 | it refers to operations that specifically @emph{do not} destroy the |
| 809 | entities ``killed.'' This is in sharp contrast to ordinary life, in | 809 | entities ``killed''. This is in sharp contrast to ordinary life, in |
| 810 | which death is permanent and ``killed'' entities do not come back to | 810 | which death is permanent and ``killed'' entities do not come back to |
| 811 | life. Therefore, other metaphors have been proposed. For example, the | 811 | life. Therefore, other metaphors have been proposed. For example, the |
| 812 | term ``cut ring'' makes sense to people who, in pre-computer days, used | 812 | term ``cut ring'' makes sense to people who, in pre-computer days, used |
| @@ -845,7 +845,7 @@ the entry made by the first one. | |||
| 845 | 845 | ||
| 846 | For yanking, one entry in the kill ring is designated the ``front'' of | 846 | For yanking, one entry in the kill ring is designated the ``front'' of |
| 847 | the ring. Some yank commands ``rotate'' the ring by designating a | 847 | the ring. Some yank commands ``rotate'' the ring by designating a |
| 848 | different element as the ``front.'' But this virtual rotation doesn't | 848 | different element as the ``front''. But this virtual rotation doesn't |
| 849 | change the list itself---the most recent entry always comes first in the | 849 | change the list itself---the most recent entry always comes first in the |
| 850 | list. | 850 | list. |
| 851 | 851 | ||
| @@ -1093,8 +1093,8 @@ programs, when you are using a window system. Its value should be | |||
| 1093 | @code{nil} or a function of no arguments. | 1093 | @code{nil} or a function of no arguments. |
| 1094 | 1094 | ||
| 1095 | If the value is a function, @code{current-kill} calls it to get the | 1095 | If the value is a function, @code{current-kill} calls it to get the |
| 1096 | ``most recent kill.'' If the function returns a non-@code{nil} value, | 1096 | ``most recent kill''. If the function returns a non-@code{nil} value, |
| 1097 | then that value is used as the ``most recent kill.'' If it returns | 1097 | then that value is used as the ``most recent kill''. If it returns |
| 1098 | @code{nil}, then the front of the kill ring is used. | 1098 | @code{nil}, then the front of the kill ring is used. |
| 1099 | 1099 | ||
| 1100 | To facilitate support for window systems that support multiple | 1100 | To facilitate support for window systems that support multiple |
| @@ -3504,7 +3504,7 @@ once for the same part of the buffer, you can use the variable | |||
| 3504 | If this variable's value is non-@code{nil}, it is a symbol which is used | 3504 | If this variable's value is non-@code{nil}, it is a symbol which is used |
| 3505 | as a text property name. A non-@code{nil} value for that text property | 3505 | as a text property name. A non-@code{nil} value for that text property |
| 3506 | means, ``the other text properties for this character have already been | 3506 | means, ``the other text properties for this character have already been |
| 3507 | computed.'' | 3507 | computed''. |
| 3508 | 3508 | ||
| 3509 | If all the characters in the range specified for @code{buffer-substring} | 3509 | If all the characters in the range specified for @code{buffer-substring} |
| 3510 | have a non-@code{nil} value for this property, @code{buffer-substring} | 3510 | have a non-@code{nil} value for this property, @code{buffer-substring} |
| @@ -3808,7 +3808,7 @@ after @var{old-pos}.) If @var{escape-from-edge} is non-@code{nil}, | |||
| 3808 | @var{new-pos} can be anywhere in the two adjacent fields. | 3808 | @var{new-pos} can be anywhere in the two adjacent fields. |
| 3809 | Additionally, if two fields are separated by another field with the | 3809 | Additionally, if two fields are separated by another field with the |
| 3810 | special value @code{boundary}, then any point within this special | 3810 | special value @code{boundary}, then any point within this special |
| 3811 | field is also considered to be ``on the boundary.'' | 3811 | field is also considered to be ``on the boundary''. |
| 3812 | 3812 | ||
| 3813 | Commands like @kbd{C-a} with no argument, that normally move backward | 3813 | Commands like @kbd{C-a} with no argument, that normally move backward |
| 3814 | to a specific kind of location and stay there once there, probably | 3814 | to a specific kind of location and stay there once there, probably |
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index 4ba7dd9dfe9..0e58373119f 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi | |||
| @@ -640,7 +640,7 @@ have the form (KEY . VALUE). Here, KEY is ... | |||
| 640 | 640 | ||
| 641 | @item | 641 | @item |
| 642 | Never change the case of a Lisp symbol when you mention it in a doc | 642 | Never change the case of a Lisp symbol when you mention it in a doc |
| 643 | string. If the symbol's name is @code{foo}, write ``foo,'' not | 643 | string. If the symbol's name is @code{foo}, write ``foo'', not |
| 644 | ``Foo'' (which is a different symbol). | 644 | ``Foo'' (which is a different symbol). |
| 645 | 645 | ||
| 646 | This might appear to contradict the policy of writing function | 646 | This might appear to contradict the policy of writing function |
| @@ -772,9 +772,9 @@ is indicative and has a proper subject. | |||
| 772 | 772 | ||
| 773 | @item | 773 | @item |
| 774 | The documentation string for a function that is a yes-or-no predicate | 774 | The documentation string for a function that is a yes-or-no predicate |
| 775 | should start with words such as ``Return t if,'' to indicate | 775 | should start with words such as ``Return t if'', to indicate |
| 776 | explicitly what constitutes ``truth.'' The word ``return'' avoids | 776 | explicitly what constitutes ``truth''. The word ``return'' avoids |
| 777 | starting the sentence with lower-case ``t,'' which could be somewhat | 777 | starting the sentence with lower-case ``t'', which could be somewhat |
| 778 | distracting. | 778 | distracting. |
| 779 | 779 | ||
| 780 | @item | 780 | @item |
| @@ -797,8 +797,8 @@ returned.'' | |||
| 797 | 797 | ||
| 798 | @item | 798 | @item |
| 799 | Avoid using the word ``cause'' (or its equivalents) unnecessarily. | 799 | Avoid using the word ``cause'' (or its equivalents) unnecessarily. |
| 800 | Instead of, ``Cause Emacs to display text in boldface,'' write just | 800 | Instead of, ``Cause Emacs to display text in boldface'', write just |
| 801 | ``Display text in boldface.'' | 801 | ``Display text in boldface''. |
| 802 | 802 | ||
| 803 | @item | 803 | @item |
| 804 | Avoid using ``iff'' (a mathematics term meaning ``if and only if''), | 804 | Avoid using ``iff'' (a mathematics term meaning ``if and only if''), |
| @@ -821,7 +821,7 @@ to set, use @code{defcustom}. @xref{Defining Variables}. | |||
| 821 | 821 | ||
| 822 | @item | 822 | @item |
| 823 | The documentation string for a variable that is a yes-or-no flag should | 823 | The documentation string for a variable that is a yes-or-no flag should |
| 824 | start with words such as ``Non-nil means,'' to make it clear that | 824 | start with words such as ``Non-nil means'', to make it clear that |
| 825 | all non-@code{nil} values are equivalent and indicate explicitly what | 825 | all non-@code{nil} values are equivalent and indicate explicitly what |
| 826 | @code{nil} and non-@code{nil} mean. | 826 | @code{nil} and non-@code{nil} mean. |
| 827 | @end itemize | 827 | @end itemize |
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index e0e629ec9d3..4e622231645 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi | |||
| @@ -670,7 +670,7 @@ symbol is changed. | |||
| 670 | 670 | ||
| 671 | @code{setq} does not evaluate @var{symbol}; it sets the symbol that you | 671 | @code{setq} does not evaluate @var{symbol}; it sets the symbol that you |
| 672 | write. We say that this argument is @dfn{automatically quoted}. The | 672 | write. We say that this argument is @dfn{automatically quoted}. The |
| 673 | @samp{q} in @code{setq} stands for ``quoted.'' | 673 | @samp{q} in @code{setq} stands for ``quoted''. |
| 674 | 674 | ||
| 675 | The value of the @code{setq} form is the value of the last @var{form}. | 675 | The value of the @code{setq} form is the value of the last @var{form}. |
| 676 | 676 | ||
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi index 25ea8577467..2687cd57d5a 100644 --- a/doc/lispref/vol1.texi +++ b/doc/lispref/vol1.texi | |||
| @@ -24,10 +24,9 @@ | |||
| 24 | @end tex | 24 | @end tex |
| 25 | 25 | ||
| 26 | @c Version of the manual and of Emacs. | 26 | @c Version of the manual and of Emacs. |
| 27 | @c Please remember to update the edition number in README as well. | 27 | @set VERSION 3.1 |
| 28 | @set VERSION 3.0 | ||
| 29 | @include emacsver.texi | 28 | @include emacsver.texi |
| 30 | @set DATE July 2009 | 29 | @set DATE May 2012 |
| 31 | 30 | ||
| 32 | @dircategory Emacs | 31 | @dircategory Emacs |
| 33 | @direntry | 32 | @direntry |
| @@ -90,8 +89,8 @@ developing GNU and promoting software freedom.'' | |||
| 90 | @subtitle For Emacs Version @value{EMACSVER} | 89 | @subtitle For Emacs Version @value{EMACSVER} |
| 91 | @subtitle Revision @value{VERSION}, @value{DATE} | 90 | @subtitle Revision @value{VERSION}, @value{DATE} |
| 92 | 91 | ||
| 93 | @author by Bil Lewis, Dan LaLiberte, Richard Stallman | 92 | @author by Bil Lewis, Dan LaLiberte, Richard Stallman, |
| 94 | @author and the GNU Manual Group | 93 | @author the GNU Manual Group, et al. |
| 95 | @page | 94 | @page |
| 96 | @vskip 0pt plus 1filll | 95 | @vskip 0pt plus 1filll |
| 97 | @insertcopying | 96 | @insertcopying |
| @@ -480,7 +479,7 @@ Functions | |||
| 480 | * Closures:: Functions that enclose a lexical environment. | 479 | * Closures:: Functions that enclose a lexical environment. |
| 481 | * Obsolete Functions:: Declaring functions obsolete. | 480 | * Obsolete Functions:: Declaring functions obsolete. |
| 482 | * Inline Functions:: Defining functions that the compiler | 481 | * Inline Functions:: Defining functions that the compiler |
| 483 | will open code. | 482 | will expand inline. |
| 484 | * Declaring Functions:: Telling the compiler that a function is defined. | 483 | * Declaring Functions:: Telling the compiler that a function is defined. |
| 485 | * Function Safety:: Determining whether a function is safe to call. | 484 | * Function Safety:: Determining whether a function is safe to call. |
| 486 | * Related Topics:: Cross-references to specific Lisp primitives | 485 | * Related Topics:: Cross-references to specific Lisp primitives |
| @@ -513,7 +512,7 @@ Common Problems Using Macros | |||
| 513 | * Eval During Expansion:: Don't evaluate them; put them in the expansion. | 512 | * Eval During Expansion:: Don't evaluate them; put them in the expansion. |
| 514 | * Repeated Expansion:: Avoid depending on how many times expansion is done. | 513 | * Repeated Expansion:: Avoid depending on how many times expansion is done. |
| 515 | 514 | ||
| 516 | Writing Customization Definitions | 515 | Customization Settings |
| 517 | 516 | ||
| 518 | * Common Keywords:: Common keyword arguments for all kinds of | 517 | * Common Keywords:: Common keyword arguments for all kinds of |
| 519 | customization declarations. | 518 | customization declarations. |
| @@ -776,6 +775,7 @@ Defining Menus | |||
| 776 | various features. | 775 | various features. |
| 777 | * Menu Separators:: Drawing a horizontal line through a menu. | 776 | * Menu Separators:: Drawing a horizontal line through a menu. |
| 778 | * Alias Menu Items:: Using command aliases in menu items. | 777 | * Alias Menu Items:: Using command aliases in menu items. |
| 778 | * Toolkit Differences:: Not all toolkits provide the same features. | ||
| 779 | 779 | ||
| 780 | Major and Minor Modes | 780 | Major and Minor Modes |
| 781 | 781 | ||
| @@ -802,7 +802,7 @@ Major Modes | |||
| 802 | * Derived Modes:: Defining a new major mode based on another major | 802 | * Derived Modes:: Defining a new major mode based on another major |
| 803 | mode. | 803 | mode. |
| 804 | * Basic Major Modes:: Modes that other modes are often derived from. | 804 | * Basic Major Modes:: Modes that other modes are often derived from. |
| 805 | * Mode Hooks:: Hooks run at the end of major mode commands. | 805 | * Mode Hooks:: Hooks run at the end of major mode functions. |
| 806 | * Tabulated List Mode:: Parent mode for buffers containing tabulated data. | 806 | * Tabulated List Mode:: Parent mode for buffers containing tabulated data. |
| 807 | * Generic Modes:: Defining a simple major mode that supports | 807 | * Generic Modes:: Defining a simple major mode that supports |
| 808 | comment syntax and Font Lock mode. | 808 | comment syntax and Font Lock mode. |
| @@ -846,6 +846,21 @@ Multiline Font Lock Constructs | |||
| 846 | * Region to Refontify:: Controlling which region gets refontified | 846 | * Region to Refontify:: Controlling which region gets refontified |
| 847 | after a buffer change. | 847 | after a buffer change. |
| 848 | 848 | ||
| 849 | Automatic Indentation of code | ||
| 850 | |||
| 851 | * SMIE:: A simple minded indentation engine. | ||
| 852 | |||
| 853 | Simple Minded Indentation Engine | ||
| 854 | |||
| 855 | * SMIE setup:: SMIE setup and features. | ||
| 856 | * Operator Precedence Grammars:: A very simple parsing technique. | ||
| 857 | * SMIE Grammar:: Defining the grammar of a language. | ||
| 858 | * SMIE Lexer:: Defining tokens. | ||
| 859 | * SMIE Tricks:: Working around the parser's limitations. | ||
| 860 | * SMIE Indentation:: Specifying indentation rules. | ||
| 861 | * SMIE Indentation Helpers:: Helper functions for indentation rules. | ||
| 862 | * SMIE Indentation Example:: Sample indentation rules. | ||
| 863 | |||
| 849 | Documentation | 864 | Documentation |
| 850 | 865 | ||
| 851 | * Documentation Basics:: Where doc strings are defined and stored. | 866 | * Documentation Basics:: Where doc strings are defined and stored. |
| @@ -1242,8 +1257,7 @@ Processes | |||
| 1242 | * Datagrams:: UDP network connections. | 1257 | * Datagrams:: UDP network connections. |
| 1243 | * Low-Level Network:: Lower-level but more general function | 1258 | * Low-Level Network:: Lower-level but more general function |
| 1244 | to create connections and servers. | 1259 | to create connections and servers. |
| 1245 | * Misc Network:: Additional relevant functions for | 1260 | * Misc Network:: Additional relevant functions for net connections. |
| 1246 | network connections. | ||
| 1247 | * Serial Ports:: Communicating with serial ports. | 1261 | * Serial Ports:: Communicating with serial ports. |
| 1248 | * Byte Packing:: Using bindat to pack and unpack binary data. | 1262 | * Byte Packing:: Using bindat to pack and unpack binary data. |
| 1249 | 1263 | ||
| @@ -1363,6 +1377,7 @@ Images | |||
| 1363 | * GIF Images:: Special features for GIF format. | 1377 | * GIF Images:: Special features for GIF format. |
| 1364 | * TIFF Images:: Special features for TIFF format. | 1378 | * TIFF Images:: Special features for TIFF format. |
| 1365 | * PostScript Images:: Special features for PostScript format. | 1379 | * PostScript Images:: Special features for PostScript format. |
| 1380 | * ImageMagick Images:: Special features available through ImageMagick. | ||
| 1366 | * Other Image Types:: Various other formats are supported. | 1381 | * Other Image Types:: Various other formats are supported. |
| 1367 | * Defining Images:: Convenient ways to define an image for later use. | 1382 | * Defining Images:: Convenient ways to define an image for later use. |
| 1368 | * Showing Images:: Convenient ways to display an image once | 1383 | * Showing Images:: Convenient ways to display an image once |
| @@ -1418,12 +1433,6 @@ Operating System Interface | |||
| 1418 | * Notifications:: Desktop notifications. | 1433 | * Notifications:: Desktop notifications. |
| 1419 | * Dynamic Libraries:: On-demand loading of support libraries. | 1434 | * Dynamic Libraries:: On-demand loading of support libraries. |
| 1420 | 1435 | ||
| 1421 | Preparing Lisp code for distribution | ||
| 1422 | |||
| 1423 | * Packaging Basics:: The basic concepts of Emacs Lisp packages. | ||
| 1424 | * Simple Packages:: How to package a single .el file. | ||
| 1425 | * Multi-file Packages:: How to package multiple files. | ||
| 1426 | |||
| 1427 | Starting Up Emacs | 1436 | Starting Up Emacs |
| 1428 | 1437 | ||
| 1429 | * Startup Summary:: Sequence of actions Emacs performs at startup. | 1438 | * Startup Summary:: Sequence of actions Emacs performs at startup. |
| @@ -1442,6 +1451,13 @@ Terminal Input | |||
| 1442 | * Input Modes:: Options for how input is processed. | 1451 | * Input Modes:: Options for how input is processed. |
| 1443 | * Recording Input:: Saving histories of recent or all input events. | 1452 | * Recording Input:: Saving histories of recent or all input events. |
| 1444 | 1453 | ||
| 1454 | Preparing Lisp code for distribution | ||
| 1455 | |||
| 1456 | * Packaging Basics:: The basic concepts of Emacs Lisp packages. | ||
| 1457 | * Simple Packages:: How to package a single .el file. | ||
| 1458 | * Multi-file Packages:: How to package multiple files. | ||
| 1459 | * Package Archives:: Maintaining package archives. | ||
| 1460 | |||
| 1445 | Tips and Conventions | 1461 | Tips and Conventions |
| 1446 | 1462 | ||
| 1447 | * Coding Conventions:: Conventions for clean and robust programs. | 1463 | * Coding Conventions:: Conventions for clean and robust programs. |
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi index 2fd2a8d8224..c74e7c438b4 100644 --- a/doc/lispref/vol2.texi +++ b/doc/lispref/vol2.texi | |||
| @@ -24,10 +24,9 @@ | |||
| 24 | @end tex | 24 | @end tex |
| 25 | 25 | ||
| 26 | @c Version of the manual and of Emacs. | 26 | @c Version of the manual and of Emacs. |
| 27 | @c Please remember to update the edition number in README as well. | 27 | @set VERSION 3.1 |
| 28 | @set VERSION 3.0 | ||
| 29 | @include emacsver.texi | 28 | @include emacsver.texi |
| 30 | @set DATE July 2009 | 29 | @set DATE May 2012 |
| 31 | 30 | ||
| 32 | @dircategory Emacs | 31 | @dircategory Emacs |
| 33 | @direntry | 32 | @direntry |
| @@ -90,8 +89,8 @@ developing GNU and promoting software freedom.'' | |||
| 90 | @subtitle For Emacs Version @value{EMACSVER} | 89 | @subtitle For Emacs Version @value{EMACSVER} |
| 91 | @subtitle Revision @value{VERSION}, @value{DATE} | 90 | @subtitle Revision @value{VERSION}, @value{DATE} |
| 92 | 91 | ||
| 93 | @author by Bil Lewis, Dan LaLiberte, Richard Stallman | 92 | @author by Bil Lewis, Dan LaLiberte, Richard Stallman, |
| 94 | @author and the GNU Manual Group | 93 | @author the GNU Manual Group, et al. |
| 95 | @page | 94 | @page |
| 96 | @vskip 0pt plus 1filll | 95 | @vskip 0pt plus 1filll |
| 97 | @insertcopying | 96 | @insertcopying |
| @@ -479,7 +478,7 @@ Functions | |||
| 479 | * Closures:: Functions that enclose a lexical environment. | 478 | * Closures:: Functions that enclose a lexical environment. |
| 480 | * Obsolete Functions:: Declaring functions obsolete. | 479 | * Obsolete Functions:: Declaring functions obsolete. |
| 481 | * Inline Functions:: Defining functions that the compiler | 480 | * Inline Functions:: Defining functions that the compiler |
| 482 | will open code. | 481 | will expand inline. |
| 483 | * Declaring Functions:: Telling the compiler that a function is defined. | 482 | * Declaring Functions:: Telling the compiler that a function is defined. |
| 484 | * Function Safety:: Determining whether a function is safe to call. | 483 | * Function Safety:: Determining whether a function is safe to call. |
| 485 | * Related Topics:: Cross-references to specific Lisp primitives | 484 | * Related Topics:: Cross-references to specific Lisp primitives |
| @@ -512,7 +511,7 @@ Common Problems Using Macros | |||
| 512 | * Eval During Expansion:: Don't evaluate them; put them in the expansion. | 511 | * Eval During Expansion:: Don't evaluate them; put them in the expansion. |
| 513 | * Repeated Expansion:: Avoid depending on how many times expansion is done. | 512 | * Repeated Expansion:: Avoid depending on how many times expansion is done. |
| 514 | 513 | ||
| 515 | Writing Customization Definitions | 514 | Customization Settings |
| 516 | 515 | ||
| 517 | * Common Keywords:: Common keyword arguments for all kinds of | 516 | * Common Keywords:: Common keyword arguments for all kinds of |
| 518 | customization declarations. | 517 | customization declarations. |
| @@ -775,6 +774,7 @@ Defining Menus | |||
| 775 | various features. | 774 | various features. |
| 776 | * Menu Separators:: Drawing a horizontal line through a menu. | 775 | * Menu Separators:: Drawing a horizontal line through a menu. |
| 777 | * Alias Menu Items:: Using command aliases in menu items. | 776 | * Alias Menu Items:: Using command aliases in menu items. |
| 777 | * Toolkit Differences:: Not all toolkits provide the same features. | ||
| 778 | 778 | ||
| 779 | Major and Minor Modes | 779 | Major and Minor Modes |
| 780 | 780 | ||
| @@ -801,7 +801,7 @@ Major Modes | |||
| 801 | * Derived Modes:: Defining a new major mode based on another major | 801 | * Derived Modes:: Defining a new major mode based on another major |
| 802 | mode. | 802 | mode. |
| 803 | * Basic Major Modes:: Modes that other modes are often derived from. | 803 | * Basic Major Modes:: Modes that other modes are often derived from. |
| 804 | * Mode Hooks:: Hooks run at the end of major mode commands. | 804 | * Mode Hooks:: Hooks run at the end of major mode functions. |
| 805 | * Tabulated List Mode:: Parent mode for buffers containing tabulated data. | 805 | * Tabulated List Mode:: Parent mode for buffers containing tabulated data. |
| 806 | * Generic Modes:: Defining a simple major mode that supports | 806 | * Generic Modes:: Defining a simple major mode that supports |
| 807 | comment syntax and Font Lock mode. | 807 | comment syntax and Font Lock mode. |
| @@ -845,6 +845,21 @@ Multiline Font Lock Constructs | |||
| 845 | * Region to Refontify:: Controlling which region gets refontified | 845 | * Region to Refontify:: Controlling which region gets refontified |
| 846 | after a buffer change. | 846 | after a buffer change. |
| 847 | 847 | ||
| 848 | Automatic Indentation of code | ||
| 849 | |||
| 850 | * SMIE:: A simple minded indentation engine. | ||
| 851 | |||
| 852 | Simple Minded Indentation Engine | ||
| 853 | |||
| 854 | * SMIE setup:: SMIE setup and features. | ||
| 855 | * Operator Precedence Grammars:: A very simple parsing technique. | ||
| 856 | * SMIE Grammar:: Defining the grammar of a language. | ||
| 857 | * SMIE Lexer:: Defining tokens. | ||
| 858 | * SMIE Tricks:: Working around the parser's limitations. | ||
| 859 | * SMIE Indentation:: Specifying indentation rules. | ||
| 860 | * SMIE Indentation Helpers:: Helper functions for indentation rules. | ||
| 861 | * SMIE Indentation Example:: Sample indentation rules. | ||
| 862 | |||
| 848 | Documentation | 863 | Documentation |
| 849 | 864 | ||
| 850 | * Documentation Basics:: Where doc strings are defined and stored. | 865 | * Documentation Basics:: Where doc strings are defined and stored. |
| @@ -1362,6 +1377,7 @@ Images | |||
| 1362 | * GIF Images:: Special features for GIF format. | 1377 | * GIF Images:: Special features for GIF format. |
| 1363 | * TIFF Images:: Special features for TIFF format. | 1378 | * TIFF Images:: Special features for TIFF format. |
| 1364 | * PostScript Images:: Special features for PostScript format. | 1379 | * PostScript Images:: Special features for PostScript format. |
| 1380 | * ImageMagick Images:: Special features available through ImageMagick. | ||
| 1365 | * Other Image Types:: Various other formats are supported. | 1381 | * Other Image Types:: Various other formats are supported. |
| 1366 | * Defining Images:: Convenient ways to define an image for later use. | 1382 | * Defining Images:: Convenient ways to define an image for later use. |
| 1367 | * Showing Images:: Convenient ways to display an image once | 1383 | * Showing Images:: Convenient ways to display an image once |
| @@ -1417,12 +1433,6 @@ Operating System Interface | |||
| 1417 | * Notifications:: Desktop notifications. | 1433 | * Notifications:: Desktop notifications. |
| 1418 | * Dynamic Libraries:: On-demand loading of support libraries. | 1434 | * Dynamic Libraries:: On-demand loading of support libraries. |
| 1419 | 1435 | ||
| 1420 | Preparing Lisp code for distribution | ||
| 1421 | |||
| 1422 | * Packaging Basics:: The basic concepts of Emacs Lisp packages. | ||
| 1423 | * Simple Packages:: How to package a single .el file. | ||
| 1424 | * Multi-file Packages:: How to package multiple files. | ||
| 1425 | |||
| 1426 | Starting Up Emacs | 1436 | Starting Up Emacs |
| 1427 | 1437 | ||
| 1428 | * Startup Summary:: Sequence of actions Emacs performs at startup. | 1438 | * Startup Summary:: Sequence of actions Emacs performs at startup. |
| @@ -1441,6 +1451,12 @@ Terminal Input | |||
| 1441 | * Input Modes:: Options for how input is processed. | 1451 | * Input Modes:: Options for how input is processed. |
| 1442 | * Recording Input:: Saving histories of recent or all input events. | 1452 | * Recording Input:: Saving histories of recent or all input events. |
| 1443 | 1453 | ||
| 1454 | Preparing Lisp code for distribution | ||
| 1455 | |||
| 1456 | * Packaging Basics:: The basic concepts of Emacs Lisp packages. | ||
| 1457 | * Simple Packages:: How to package a single .el file. | ||
| 1458 | * Multi-file Packages:: How to package multiple files. | ||
| 1459 | |||
| 1444 | Tips and Conventions | 1460 | Tips and Conventions |
| 1445 | 1461 | ||
| 1446 | * Coding Conventions:: Conventions for clean and robust programs. | 1462 | * Coding Conventions:: Conventions for clean and robust programs. |
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index a9a25d8e867..094729033b1 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi | |||
| @@ -49,7 +49,7 @@ is displayed in windows. | |||
| 49 | @section Basic Concepts of Emacs Windows | 49 | @section Basic Concepts of Emacs Windows |
| 50 | @cindex window | 50 | @cindex window |
| 51 | 51 | ||
| 52 | A @dfn{window} is a area of the screen which is used to display a | 52 | A @dfn{window} is a area of the screen that is used to display a |
| 53 | buffer (@pxref{Buffers}). In Emacs Lisp, windows are represented by a | 53 | buffer (@pxref{Buffers}). In Emacs Lisp, windows are represented by a |
| 54 | special Lisp object type. | 54 | special Lisp object type. |
| 55 | 55 | ||
| @@ -297,8 +297,8 @@ child of its parent. | |||
| 297 | 297 | ||
| 298 | The functions @code{window-next-sibling} and | 298 | The functions @code{window-next-sibling} and |
| 299 | @code{window-prev-sibling} should not be confused with the functions | 299 | @code{window-prev-sibling} should not be confused with the functions |
| 300 | @code{next-window} and @code{previous-window} which respectively | 300 | @code{next-window} and @code{previous-window}, which return the next |
| 301 | return the next and previous window in the cyclic ordering of windows | 301 | and previous window, respectively, in the cyclic ordering of windows |
| 302 | (@pxref{Cyclic Window Ordering}). | 302 | (@pxref{Cyclic Window Ordering}). |
| 303 | 303 | ||
| 304 | You can use the following functions to find the first live window on | 304 | You can use the following functions to find the first live window on |
| @@ -376,7 +376,7 @@ line (@pxref{Mode Line Format}). | |||
| 376 | 376 | ||
| 377 | Emacs provides several functions for finding the height and width of | 377 | Emacs provides several functions for finding the height and width of |
| 378 | a window. Except where noted, Emacs reports window heights and widths | 378 | a window. Except where noted, Emacs reports window heights and widths |
| 379 | as integer numbers of lines and columns respectively. On a graphical | 379 | as integer numbers of lines and columns, respectively. On a graphical |
| 380 | display, each ``line'' and ``column'' actually corresponds to the | 380 | display, each ``line'' and ``column'' actually corresponds to the |
| 381 | height and width of a ``default'' character specified by the frame's | 381 | height and width of a ``default'' character specified by the frame's |
| 382 | default font. Thus, if a window is displaying text with a different | 382 | default font. Thus, if a window is displaying text with a different |
| @@ -619,7 +619,7 @@ window. | |||
| 619 | 619 | ||
| 620 | The optional argument @var{max-height}, if non-@code{nil}, specifies | 620 | The optional argument @var{max-height}, if non-@code{nil}, specifies |
| 621 | the maximum total height that this function can give @var{window}. | 621 | the maximum total height that this function can give @var{window}. |
| 622 | The optional argument @var{min-height}, if no-@code{nil}, specifies | 622 | The optional argument @var{min-height}, if non-@code{nil}, specifies |
| 623 | the minimum total height that it can give, which overrides the | 623 | the minimum total height that it can give, which overrides the |
| 624 | variable @code{window-min-height}. | 624 | variable @code{window-min-height}. |
| 625 | 625 | ||
| @@ -723,7 +723,7 @@ properties of the window selected within @var{window}'s frame. | |||
| 723 | 723 | ||
| 724 | The behavior of this function may be altered by the window parameters | 724 | The behavior of this function may be altered by the window parameters |
| 725 | of @var{window}, so long as the variable | 725 | of @var{window}, so long as the variable |
| 726 | @code{ignore-window-parameters} is non-@code{nil}. If the value of | 726 | @code{ignore-window-parameters} is @code{nil}. If the value of |
| 727 | the @code{split-window} window parameter is @code{t}, this function | 727 | the @code{split-window} window parameter is @code{t}, this function |
| 728 | ignores all other window parameters. Otherwise, if the value of the | 728 | ignores all other window parameters. Otherwise, if the value of the |
| 729 | @code{split-window} window parameter is a function, that function is | 729 | @code{split-window} window parameter is a function, that function is |
| @@ -1062,7 +1062,7 @@ combination. @xref{Splitting Windows}. | |||
| 1062 | 1062 | ||
| 1063 | The behavior of this function may be altered by the window parameters | 1063 | The behavior of this function may be altered by the window parameters |
| 1064 | of @var{window}, so long as the variable | 1064 | of @var{window}, so long as the variable |
| 1065 | @code{ignore-window-parameters} is non-@code{nil}. If the value of | 1065 | @code{ignore-window-parameters} is @code{nil}. If the value of |
| 1066 | the @code{delete-window} window parameter is @code{t}, this function | 1066 | the @code{delete-window} window parameter is @code{t}, this function |
| 1067 | ignores all other window parameters. Otherwise, if the value of the | 1067 | ignores all other window parameters. Otherwise, if the value of the |
| 1068 | @code{delete-window} window parameter is a function, that function is | 1068 | @code{delete-window} window parameter is a function, that function is |
| @@ -1079,7 +1079,7 @@ defaults to the selected window. The return value is @code{nil}. | |||
| 1079 | 1079 | ||
| 1080 | The behavior of this function may be altered by the window parameters | 1080 | The behavior of this function may be altered by the window parameters |
| 1081 | of @var{window}, so long as the variable | 1081 | of @var{window}, so long as the variable |
| 1082 | @code{ignore-window-parameters} is non-@code{nil}. If the value of | 1082 | @code{ignore-window-parameters} is @code{nil}. If the value of |
| 1083 | the @code{delete-other-windows} window parameter is @code{t}, this | 1083 | the @code{delete-other-windows} window parameter is @code{t}, this |
| 1084 | function ignores all other window parameters. Otherwise, if the value | 1084 | function ignores all other window parameters. Otherwise, if the value |
| 1085 | of the @code{delete-other-windows} window parameter is a function, | 1085 | of the @code{delete-other-windows} window parameter is a function, |
| @@ -1119,8 +1119,8 @@ means operate on that frame. | |||
| 1119 | 1119 | ||
| 1120 | Note that this argument does not have the same meaning as in other | 1120 | Note that this argument does not have the same meaning as in other |
| 1121 | functions which scan all live windows (@pxref{Cyclic Window | 1121 | functions which scan all live windows (@pxref{Cyclic Window |
| 1122 | Ordering}). Specifically, the values @code{t} and @code{nil} have the | 1122 | Ordering}). Specifically, the meanings of @code{t} and @code{nil} here |
| 1123 | opposite of their meanings in those other functions. | 1123 | are the opposite of what they are in those other functions. |
| 1124 | @end deffn | 1124 | @end deffn |
| 1125 | 1125 | ||
| 1126 | @node Selecting Windows | 1126 | @node Selecting Windows |
| @@ -1171,11 +1171,11 @@ the buffer list. | |||
| 1171 | This macro selects @var{window}, executes @var{forms} in sequence, then | 1171 | This macro selects @var{window}, executes @var{forms} in sequence, then |
| 1172 | restores the previously selected window and current buffer. The ordering | 1172 | restores the previously selected window and current buffer. The ordering |
| 1173 | of recently selected windows and the buffer list remain unchanged unless | 1173 | of recently selected windows and the buffer list remain unchanged unless |
| 1174 | you deliberately change them within @var{forms}, for example, by calling | 1174 | you deliberately change them within @var{forms}; for example, by calling |
| 1175 | @code{select-window} with argument @var{norecord} @code{nil}. | 1175 | @code{select-window} with argument @var{norecord} @code{nil}. |
| 1176 | 1176 | ||
| 1177 | The order of recently selected windows and the buffer list are not | 1177 | This macro does not change the order of recently selected windows or |
| 1178 | changed by this macro. | 1178 | the buffer list. |
| 1179 | @end defmac | 1179 | @end defmac |
| 1180 | 1180 | ||
| 1181 | @defun frame-selected-window &optional frame | 1181 | @defun frame-selected-window &optional frame |
| @@ -1185,7 +1185,7 @@ within that frame. @var{frame} should be a live frame; if omitted or | |||
| 1185 | @end defun | 1185 | @end defun |
| 1186 | 1186 | ||
| 1187 | @defun set-frame-selected-window frame window &optional norecord | 1187 | @defun set-frame-selected-window frame window &optional norecord |
| 1188 | This function makes @code{window} the window selected within the frame | 1188 | This function makes @var{window} the window selected within the frame |
| 1189 | @var{frame}. @var{frame} should be a live frame; if omitted or | 1189 | @var{frame}. @var{frame} should be a live frame; if omitted or |
| 1190 | @code{nil}, it defaults to the selected frame. @var{window} should be | 1190 | @code{nil}, it defaults to the selected frame. @var{window} should be |
| 1191 | a live window; if omitted or @code{nil}, it defaults to the selected | 1191 | a live window; if omitted or @code{nil}, it defaults to the selected |
| @@ -1223,7 +1223,7 @@ the cyclic ordering of windows. @var{window} should be a live window; | |||
| 1223 | if omitted or @code{nil}, it defaults to the selected window. | 1223 | if omitted or @code{nil}, it defaults to the selected window. |
| 1224 | 1224 | ||
| 1225 | The optional argument @var{minibuf} specifies whether minibuffer windows | 1225 | The optional argument @var{minibuf} specifies whether minibuffer windows |
| 1226 | shall be included in the cyclic ordering. Normally, when @var{minibuf} | 1226 | should be included in the cyclic ordering. Normally, when @var{minibuf} |
| 1227 | is @code{nil}, a minibuffer window is included only if it is currently | 1227 | is @code{nil}, a minibuffer window is included only if it is currently |
| 1228 | ``active''; this matches the behavior of @kbd{C-x o}. (Note that a | 1228 | ``active''; this matches the behavior of @kbd{C-x o}. (Note that a |
| 1229 | minibuffer window is active as long as its minibuffer is in use; see | 1229 | minibuffer window is active as long as its minibuffer is in use; see |
| @@ -1805,14 +1805,14 @@ desired buffer) or @code{nil} (which means the splitting failed). | |||
| 1805 | @end defopt | 1805 | @end defopt |
| 1806 | 1806 | ||
| 1807 | @defun split-window-sensibly window | 1807 | @defun split-window-sensibly window |
| 1808 | This function tries to split @code{window}, and return the newly | 1808 | This function tries to split @var{window}, and return the newly |
| 1809 | created window. If @code{window} cannot be split, it returns | 1809 | created window. If @var{window} cannot be split, it returns |
| 1810 | @code{nil}. | 1810 | @code{nil}. |
| 1811 | 1811 | ||
| 1812 | This function obeys the usual rules that determine when a window may | 1812 | This function obeys the usual rules that determine when a window may |
| 1813 | be split (@pxref{Splitting Windows}). It first tries to split by | 1813 | be split (@pxref{Splitting Windows}). It first tries to split by |
| 1814 | placing the new window below, subject to the restriction imposed by | 1814 | placing the new window below, subject to the restriction imposed by |
| 1815 | @code{split-height-threshold} (see below) in addition to any other | 1815 | @code{split-height-threshold} (see below), in addition to any other |
| 1816 | restrictions. If that fails, it tries to split by placing the new | 1816 | restrictions. If that fails, it tries to split by placing the new |
| 1817 | window to the right, subject to @code{split-width-threshold} (see | 1817 | window to the right, subject to @code{split-width-threshold} (see |
| 1818 | below). If that fails, and the window is the only window on its | 1818 | below). If that fails, and the window is the only window on its |
| @@ -1944,7 +1944,7 @@ to display @var{buffer}. | |||
| 1944 | 1944 | ||
| 1945 | If @var{args} is an alist, it specifies frame parameters for the new | 1945 | If @var{args} is an alist, it specifies frame parameters for the new |
| 1946 | frame. If @var{args} is a list whose @sc{car} is a symbol, then | 1946 | frame. If @var{args} is a list whose @sc{car} is a symbol, then |
| 1947 | @code{(car @var{args})} is called as a function to actually create and | 1947 | @code{(car @var{args})} is a function to actually create and |
| 1948 | set up the frame; it is called with @var{buffer} as first argument, and | 1948 | set up the frame; it is called with @var{buffer} as first argument, and |
| 1949 | @code{(cdr @var{args})} as additional arguments. | 1949 | @code{(cdr @var{args})} as additional arguments. |
| 1950 | 1950 | ||
| @@ -1962,7 +1962,7 @@ This variable holds frame parameters for | |||
| 1962 | 1962 | ||
| 1963 | @defopt same-window-buffer-names | 1963 | @defopt same-window-buffer-names |
| 1964 | A list of buffer names for buffers that should be displayed in the | 1964 | A list of buffer names for buffers that should be displayed in the |
| 1965 | selected window. If the buffer's name is in this list, | 1965 | selected window. If a buffer's name is in this list, |
| 1966 | @code{display-buffer} handles the buffer by switching to it in the | 1966 | @code{display-buffer} handles the buffer by switching to it in the |
| 1967 | selected window. | 1967 | selected window. |
| 1968 | @end defopt | 1968 | @end defopt |
| @@ -1997,8 +1997,8 @@ above. | |||
| 1997 | @section Window History | 1997 | @section Window History |
| 1998 | @cindex window history | 1998 | @cindex window history |
| 1999 | 1999 | ||
| 2000 | Each window remembers the buffers it has displayed earlier and the order | 2000 | Each window remembers the buffers it has previously displayed, and the order |
| 2001 | in which these buffers have been removed from it. This history is used, | 2001 | in which these buffers were removed from it. This history is used, |
| 2002 | for example, by @code{replace-buffer-in-windows} (@pxref{Buffers and | 2002 | for example, by @code{replace-buffer-in-windows} (@pxref{Buffers and |
| 2003 | Windows}). This list is automatically maintained by Emacs, but you can | 2003 | Windows}). This list is automatically maintained by Emacs, but you can |
| 2004 | use the following functions to explicitly inspect or alter it: | 2004 | use the following functions to explicitly inspect or alter it: |
| @@ -2061,41 +2061,41 @@ This command displays the previous buffer in @var{window}. The | |||
| 2061 | argument @var{window} should be a live window or @code{nil} (meaning | 2061 | argument @var{window} should be a live window or @code{nil} (meaning |
| 2062 | the selected window). If the optional argument @var{bury-or-kill} is | 2062 | the selected window). If the optional argument @var{bury-or-kill} is |
| 2063 | non-@code{nil}, this means that the buffer currently shown in | 2063 | non-@code{nil}, this means that the buffer currently shown in |
| 2064 | @var{window} is about to be buried or killed and consequently shall | 2064 | @var{window} is about to be buried or killed and consequently should |
| 2065 | not be switched to in future invocations of this command. | 2065 | not be switched to in future invocations of this command. |
| 2066 | 2066 | ||
| 2067 | The previous buffer is usually the buffer shown before the buffer | 2067 | The previous buffer is usually the buffer shown before the buffer |
| 2068 | currently shown in @var{window}. However, a buffer that has been buried | 2068 | currently shown in @var{window}. However, a buffer that has been buried |
| 2069 | or killed or has been already shown by a recent invocation of | 2069 | or killed, or has been already shown by a recent invocation of |
| 2070 | @code{switch-to-prev-buffer} does not qualify as previous buffer. | 2070 | @code{switch-to-prev-buffer}, does not qualify as previous buffer. |
| 2071 | 2071 | ||
| 2072 | If repeated invocations of this command have already shown all buffers | 2072 | If repeated invocations of this command have already shown all buffers |
| 2073 | previously shown in @var{window}, further invocations will show buffers | 2073 | previously shown in @var{window}, further invocations will show buffers |
| 2074 | from the buffer list of the frame @var{window} appears on (@pxref{The | 2074 | from the buffer list of the frame @var{window} appears on (@pxref{The |
| 2075 | Buffer List}) trying to skip buffers that are already shown in another | 2075 | Buffer List}), trying to skip buffers that are already shown in another |
| 2076 | window on that frame. | 2076 | window on that frame. |
| 2077 | @end deffn | 2077 | @end deffn |
| 2078 | 2078 | ||
| 2079 | @deffn Command switch-to-next-buffer &optional window | 2079 | @deffn Command switch-to-next-buffer &optional window |
| 2080 | This command switches to the next buffer in @var{window} thus undoing | 2080 | This command switches to the next buffer in @var{window}, thus undoing |
| 2081 | the effect of the last @code{switch-to-prev-buffer} command in | 2081 | the effect of the last @code{switch-to-prev-buffer} command in |
| 2082 | @var{window}. The argument @var{window} must be a live window and | 2082 | @var{window}. The argument @var{window} must be a live window and |
| 2083 | defaults to the selected one. | 2083 | defaults to the selected one. |
| 2084 | 2084 | ||
| 2085 | If there is no recent invocation of a @code{switch-to-prev-buffer} that | 2085 | If there is no recent invocation of @code{switch-to-prev-buffer} that |
| 2086 | can be undone, this function tries to show a buffer from the buffer list | 2086 | can be undone, this function tries to show a buffer from the buffer list |
| 2087 | of the frame @var{window} appears on (@pxref{The Buffer List}). | 2087 | of the frame @var{window} appears on (@pxref{The Buffer List}). |
| 2088 | @end deffn | 2088 | @end deffn |
| 2089 | 2089 | ||
| 2090 | By default @code{switch-to-prev-buffer} and @code{switch-to-next-buffer} | 2090 | By default @code{switch-to-prev-buffer} and @code{switch-to-next-buffer} |
| 2091 | can switch to a buffer that is already shown in another window on the | 2091 | can switch to a buffer that is already shown in another window on the |
| 2092 | same frame. The following option can be used to override that behavior. | 2092 | same frame. The following option can be used to override this behavior. |
| 2093 | 2093 | ||
| 2094 | @defopt switch-to-visible-buffer | 2094 | @defopt switch-to-visible-buffer |
| 2095 | If this variable is non-@code{nil}, @code{switch-to-prev-buffer} and | 2095 | If this variable is non-@code{nil}, @code{switch-to-prev-buffer} and |
| 2096 | @code{switch-to-next-buffer} may switch to a buffer that is already | 2096 | @code{switch-to-next-buffer} may switch to a buffer that is already |
| 2097 | visible on the same frame, provided the buffer was shown in the argument | 2097 | visible on the same frame, provided the buffer was shown in the relevant |
| 2098 | window before. If it's @code{nil}, @code{switch-to-prev-buffer} and | 2098 | window before. If it is @code{nil}, @code{switch-to-prev-buffer} and |
| 2099 | @code{switch-to-next-buffer} always try to avoid switching to a buffer | 2099 | @code{switch-to-next-buffer} always try to avoid switching to a buffer |
| 2100 | that is already visible in another window on the same frame. | 2100 | that is already visible in another window on the same frame. |
| 2101 | @end defopt | 2101 | @end defopt |
| @@ -2137,7 +2137,7 @@ another buffer in it and iconifies the frame. | |||
| 2137 | This function returns non-@code{nil} if @var{window} is dedicated to its | 2137 | This function returns non-@code{nil} if @var{window} is dedicated to its |
| 2138 | buffer and @code{nil} otherwise. More precisely, the return value is | 2138 | buffer and @code{nil} otherwise. More precisely, the return value is |
| 2139 | the value assigned by the last call of @code{set-window-dedicated-p} for | 2139 | the value assigned by the last call of @code{set-window-dedicated-p} for |
| 2140 | @var{window} or @code{nil} if that function was never called with | 2140 | @var{window}, or @code{nil} if that function was never called with |
| 2141 | @var{window} as its argument. The default for @var{window} is the | 2141 | @var{window} as its argument. The default for @var{window} is the |
| 2142 | selected window. | 2142 | selected window. |
| 2143 | @end defun | 2143 | @end defun |
| @@ -2158,20 +2158,20 @@ non-@code{nil} value. | |||
| 2158 | @node Quitting Windows | 2158 | @node Quitting Windows |
| 2159 | @section Quitting Windows | 2159 | @section Quitting Windows |
| 2160 | 2160 | ||
| 2161 | When you want to get rid of a window used for displaying a buffer you | 2161 | When you want to get rid of a window used for displaying a buffer, you |
| 2162 | can call @code{delete-window} or @code{delete-windows-on} | 2162 | can call @code{delete-window} or @code{delete-windows-on} |
| 2163 | (@pxref{Deleting Windows}) to remove that window from its frame. If the | 2163 | (@pxref{Deleting Windows}) to remove that window from its frame. If the |
| 2164 | buffer is shown on a separate frame, you might want to call | 2164 | buffer is shown on a separate frame, you might want to call |
| 2165 | @code{delete-frame} (@pxref{Deleting Frames}) instead. If, on the other | 2165 | @code{delete-frame} (@pxref{Deleting Frames}) instead. If, on the other |
| 2166 | hand, a window has been reused for displaying the buffer, you might | 2166 | hand, a window has been reused for displaying the buffer, you might |
| 2167 | prefer showing the buffer previously shown in that window by calling the | 2167 | prefer showing the buffer previously shown in that window, by calling the |
| 2168 | function @code{switch-to-prev-buffer} (@pxref{Window History}). | 2168 | function @code{switch-to-prev-buffer} (@pxref{Window History}). |
| 2169 | Finally, you might want to either bury (@pxref{The Buffer List}) or kill | 2169 | Finally, you might want to either bury (@pxref{The Buffer List}) or kill |
| 2170 | (@pxref{Killing Buffers}) the window's buffer. | 2170 | (@pxref{Killing Buffers}) the window's buffer. |
| 2171 | 2171 | ||
| 2172 | The following function uses information on how the window for | 2172 | The following function uses information on how the window for |
| 2173 | displaying the buffer was obtained in the first place thus attempting to | 2173 | displaying the buffer was obtained in the first place, thus attempting to |
| 2174 | automatize the above decisions for you. | 2174 | automate the above decisions for you. |
| 2175 | 2175 | ||
| 2176 | @deffn Command quit-window &optional kill window | 2176 | @deffn Command quit-window &optional kill window |
| 2177 | This command quits @var{window} and buries its buffer. The argument | 2177 | This command quits @var{window} and buries its buffer. The argument |
| @@ -2199,39 +2199,39 @@ restore the original height of @var{window}. | |||
| 2199 | The three cases described so far require that the buffer shown in | 2199 | The three cases described so far require that the buffer shown in |
| 2200 | @var{window} is still the buffer displayed by the last buffer display | 2200 | @var{window} is still the buffer displayed by the last buffer display |
| 2201 | function for this window. If another buffer has been shown in the | 2201 | function for this window. If another buffer has been shown in the |
| 2202 | meantime or the buffer previously shown no longer exists, this command | 2202 | meantime, or the buffer previously shown no longer exists, this command |
| 2203 | calls @code{switch-to-prev-buffer} (@pxref{Window History}) to show some | 2203 | calls @code{switch-to-prev-buffer} (@pxref{Window History}) to show some |
| 2204 | other buffer instead. | 2204 | other buffer instead. |
| 2205 | @end deffn | 2205 | @end deffn |
| 2206 | 2206 | ||
| 2207 | The function @code{quit-window} bases its decisions on information | 2207 | The function @code{quit-window} bases its decisions on information |
| 2208 | stored in @var{window}'s @code{quit-restore} window parameter | 2208 | stored in @var{window}'s @code{quit-restore} window parameter |
| 2209 | (@pxref{Window Parameters}) and resets that parameter to @code{nil} | 2209 | (@pxref{Window Parameters}), and resets that parameter to @code{nil} |
| 2210 | after it's done. | 2210 | after it's done. |
| 2211 | 2211 | ||
| 2212 | The following option specifies how to deal with a frame containing just | 2212 | The following option specifies how to deal with a frame containing just |
| 2213 | one window that shall be either quit or whose buffer shall be buried. | 2213 | one window that should be either quit, or whose buffer should be buried. |
| 2214 | 2214 | ||
| 2215 | @defopt frame-auto-hide-function | 2215 | @defopt frame-auto-hide-function |
| 2216 | The function specified by this option is called to automatically hide | 2216 | The function specified by this option is called to automatically hide |
| 2217 | frames. This function is called with one argument - a frame. | 2217 | frames. This function is called with one argument---a frame. |
| 2218 | 2218 | ||
| 2219 | The function specified here is called by @code{bury-buffer} (@pxref{The | 2219 | The function specified here is called by @code{bury-buffer} (@pxref{The |
| 2220 | Buffer List}) when the selected window is dedicated and shows the buffer | 2220 | Buffer List}) when the selected window is dedicated and shows the buffer |
| 2221 | that shall be buried. It is also called by @code{quit-window} (see | 2221 | that should be buried. It is also called by @code{quit-window} (see |
| 2222 | above) when the frame of the window that shall be quit has been | 2222 | above) when the frame of the window that should be quit has been |
| 2223 | specially created for displaying that window's buffer and the buffer | 2223 | specially created for displaying that window's buffer and the buffer |
| 2224 | shall be buried. | 2224 | should be buried. |
| 2225 | 2225 | ||
| 2226 | The default is to call @code{iconify-frame} (@pxref{Visibility of | 2226 | The default is to call @code{iconify-frame} (@pxref{Visibility of |
| 2227 | Frames}). Alternatively, you may either specify @code{delete-frame} | 2227 | Frames}). Alternatively, you may specify either @code{delete-frame} |
| 2228 | (@pxref{Deleting Frames}) to remove the frame from its display, | 2228 | (@pxref{Deleting Frames}) to remove the frame from its display, |
| 2229 | @code{ignore} to leave the frame unchanged, or any other function that | 2229 | @code{ignore} to leave the frame unchanged, or any other function that |
| 2230 | can take a frame as its sole argument. | 2230 | can take a frame as its sole argument. |
| 2231 | 2231 | ||
| 2232 | Note that the function specified by this option is called if and only if | 2232 | Note that the function specified by this option is called if and only if |
| 2233 | there's at least one other frame on the terminal of the frame it's | 2233 | there is at least one other frame on the terminal of the frame it's |
| 2234 | supposed to handle and that frame contains only one live window. | 2234 | supposed to handle, and that frame contains only one live window. |
| 2235 | @end defopt | 2235 | @end defopt |
| 2236 | 2236 | ||
| 2237 | 2237 | ||
| @@ -2321,14 +2321,7 @@ command to a key. | |||
| 2321 | @cindex window top line | 2321 | @cindex window top line |
| 2322 | This function returns the display-start position of window | 2322 | This function returns the display-start position of window |
| 2323 | @var{window}. If @var{window} is @code{nil}, the selected window is | 2323 | @var{window}. If @var{window} is @code{nil}, the selected window is |
| 2324 | used. For example, | 2324 | used. |
| 2325 | |||
| 2326 | @example | ||
| 2327 | @group | ||
| 2328 | (window-start) | ||
| 2329 | @result{} 7058 | ||
| 2330 | @end group | ||
| 2331 | @end example | ||
| 2332 | 2325 | ||
| 2333 | When you create a window, or display a different buffer in it, the | 2326 | When you create a window, or display a different buffer in it, the |
| 2334 | display-start position is set to a display-start position recently used | 2327 | display-start position is set to a display-start position recently used |
| @@ -2340,9 +2333,6 @@ it explicitly since the previous redisplay)---to make sure point appears | |||
| 2340 | on the screen. Nothing except redisplay automatically changes the | 2333 | on the screen. Nothing except redisplay automatically changes the |
| 2341 | window-start position; if you move point, do not expect the window-start | 2334 | window-start position; if you move point, do not expect the window-start |
| 2342 | position to change in response until after the next redisplay. | 2335 | position to change in response until after the next redisplay. |
| 2343 | |||
| 2344 | For a realistic example of using @code{window-start}, see the | ||
| 2345 | description of @code{count-lines}. @xref{Definition of count-lines}. | ||
| 2346 | @end defun | 2336 | @end defun |
| 2347 | 2337 | ||
| 2348 | @cindex window end position | 2338 | @cindex window end position |
| @@ -2516,12 +2506,16 @@ commands move the paper up and down. Thus, if you are looking at the | |||
| 2516 | middle of a buffer and repeatedly call @code{scroll-down}, you will | 2506 | middle of a buffer and repeatedly call @code{scroll-down}, you will |
| 2517 | eventually see the beginning of the buffer. | 2507 | eventually see the beginning of the buffer. |
| 2518 | 2508 | ||
| 2519 | Some people have urged that the opposite convention be used: they | 2509 | Unfortunately, this sometimes causes confusion, because some people |
| 2510 | tend to think in terms of the opposite convention: they | ||
| 2520 | imagine the window moving over text that remains in place, so that | 2511 | imagine the window moving over text that remains in place, so that |
| 2521 | ``down'' commands take you to the end of the buffer. This convention | 2512 | ``down'' commands take you to the end of the buffer. This convention |
| 2522 | is consistent with fact that such a command is bound to a key named | 2513 | is consistent with fact that such a command is bound to a key named |
| 2523 | @key{PageDown} on modern keyboards. We have not switched to this | 2514 | @key{PageDown} on modern keyboards. |
| 2524 | convention as that is likely to break existing Emacs Lisp code. | 2515 | @ignore |
| 2516 | We have not switched to this convention as that is likely to break | ||
| 2517 | existing Emacs Lisp code. | ||
| 2518 | @end ignore | ||
| 2525 | 2519 | ||
| 2526 | Textual scrolling functions (aside from @code{scroll-other-window}) | 2520 | Textual scrolling functions (aside from @code{scroll-other-window}) |
| 2527 | have unpredictable results if the current buffer is not the one | 2521 | have unpredictable results if the current buffer is not the one |
| @@ -2551,13 +2545,8 @@ signals an error. Otherwise, it returns @code{nil}. | |||
| 2551 | This function scrolls backward by @var{count} lines in the selected | 2545 | This function scrolls backward by @var{count} lines in the selected |
| 2552 | window. | 2546 | window. |
| 2553 | 2547 | ||
| 2554 | If @var{count} is negative, it scrolls forward instead. If | 2548 | If @var{count} is negative, it scrolls forward instead. In other |
| 2555 | @var{count} is omitted or @code{nil}, the distance scrolled is | 2549 | respects, it behaves the same way as @code{scroll-up} does. |
| 2556 | @code{next-screen-context-lines} lines less than the height of the | ||
| 2557 | window's text area. | ||
| 2558 | |||
| 2559 | If the selected window cannot be scrolled any further, this function | ||
| 2560 | signals an error. Otherwise, it returns @code{nil}. | ||
| 2561 | @end deffn | 2550 | @end deffn |
| 2562 | 2551 | ||
| 2563 | @deffn Command scroll-up-command &optional count | 2552 | @deffn Command scroll-up-command &optional count |
| @@ -2587,8 +2576,8 @@ already displayed, @code{scroll-other-window} displays it in some | |||
| 2587 | window. | 2576 | window. |
| 2588 | 2577 | ||
| 2589 | When the selected window is the minibuffer, the next window is normally | 2578 | When the selected window is the minibuffer, the next window is normally |
| 2590 | the one at the top left corner. You can specify a different window to | 2579 | the leftmost one immediately above it. You can specify a different |
| 2591 | scroll, when the minibuffer is selected, by setting the variable | 2580 | window to scroll, when the minibuffer is selected, by setting the variable |
| 2592 | @code{minibuffer-scroll-window}. This variable has no effect when any | 2581 | @code{minibuffer-scroll-window}. This variable has no effect when any |
| 2593 | other window is selected. When it is non-@code{nil} and the | 2582 | other window is selected. When it is non-@code{nil} and the |
| 2594 | minibuffer is selected, it takes precedence over | 2583 | minibuffer is selected, it takes precedence over |
| @@ -2600,7 +2589,7 @@ window is the one at the bottom right corner. In this case, | |||
| 2600 | @code{scroll-other-window} attempts to scroll the minibuffer. If the | 2589 | @code{scroll-other-window} attempts to scroll the minibuffer. If the |
| 2601 | minibuffer contains just one line, it has nowhere to scroll to, so the | 2590 | minibuffer contains just one line, it has nowhere to scroll to, so the |
| 2602 | line reappears after the echo area momentarily displays the message | 2591 | line reappears after the echo area momentarily displays the message |
| 2603 | @samp{Beginning of buffer}. | 2592 | @samp{End of buffer}. |
| 2604 | @end deffn | 2593 | @end deffn |
| 2605 | 2594 | ||
| 2606 | @defvar other-window-scroll-buffer | 2595 | @defvar other-window-scroll-buffer |
| @@ -2699,12 +2688,12 @@ If @var{count} is a non-negative number, that puts the line containing | |||
| 2699 | point @var{count} lines down from the top of the window. If | 2688 | point @var{count} lines down from the top of the window. If |
| 2700 | @var{count} is a negative number, then it counts upward from the | 2689 | @var{count} is a negative number, then it counts upward from the |
| 2701 | bottom of the window, so that @minus{}1 stands for the last usable | 2690 | bottom of the window, so that @minus{}1 stands for the last usable |
| 2702 | line in the window. If @var{count} is a non-@code{nil} list, then it | 2691 | line in the window. |
| 2703 | stands for the line in the middle of the window. | ||
| 2704 | 2692 | ||
| 2705 | If @var{count} is @code{nil}, @code{recenter} puts the line containing | 2693 | If @var{count} is @code{nil} (or a non-@code{nil} list), |
| 2706 | point in the middle of the window, then clears and redisplays the entire | 2694 | @code{recenter} puts the line containing point in the middle of the |
| 2707 | selected frame. | 2695 | window. If @var{count} is @code{nil}, this function may redraw the |
| 2696 | frame, according to the value of @code{recenter-redisplay}. | ||
| 2708 | 2697 | ||
| 2709 | When @code{recenter} is called interactively, @var{count} is the raw | 2698 | When @code{recenter} is called interactively, @var{count} is the raw |
| 2710 | prefix argument. Thus, typing @kbd{C-u} as the prefix sets the | 2699 | prefix argument. Thus, typing @kbd{C-u} as the prefix sets the |
| @@ -2713,22 +2702,32 @@ prefix argument. Thus, typing @kbd{C-u} as the prefix sets the | |||
| 2713 | top. | 2702 | top. |
| 2714 | 2703 | ||
| 2715 | With an argument of zero, @code{recenter} positions the current line at | 2704 | With an argument of zero, @code{recenter} positions the current line at |
| 2716 | the top of the window. This action is so handy that some people make a | 2705 | the top of the window. The command @code{recenter-top-bottom} offers |
| 2717 | separate key binding to do this. For example, | 2706 | a more convenient way to achieve this. |
| 2707 | @end deffn | ||
| 2718 | 2708 | ||
| 2719 | @example | 2709 | @defopt recenter-redisplay |
| 2720 | @group | 2710 | If this variable is non-@code{nil}, calling @code{recenter} with a |
| 2721 | (defun line-to-top-of-window () | 2711 | @code{nil} argument redraws the frame. The default value is |
| 2722 | "Scroll current line to top of window. | 2712 | @code{tty}, which means only redraw the frame if it is a tty frame. |
| 2723 | Replaces three keystroke sequence C-u 0 C-l." | 2713 | @end defopt |
| 2724 | (interactive) | ||
| 2725 | (recenter 0)) | ||
| 2726 | 2714 | ||
| 2727 | (global-set-key [kp-multiply] 'line-to-top-of-window) | 2715 | @deffn Command recenter-top-bottom &optional count |
| 2728 | @end group | 2716 | This command, which is the default binding for @kbd{C-l}, acts like |
| 2729 | @end example | 2717 | @code{recenter}, except if called with no argument. In that case, |
| 2718 | successive calls place point according to the cycling order defined | ||
| 2719 | by the variable @code{recenter-positions}. | ||
| 2730 | @end deffn | 2720 | @end deffn |
| 2731 | 2721 | ||
| 2722 | @defopt recenter-positions | ||
| 2723 | This variable controls how @code{recenter-top-bottom} behaves when | ||
| 2724 | called with no argument. The default value is @code{(middle top | ||
| 2725 | bottom)}, which means that successive calls of | ||
| 2726 | @code{recenter-top-bottom} with no argument cycle between placing | ||
| 2727 | point at the middle, top, and bottom of the window. | ||
| 2728 | @end defopt | ||
| 2729 | |||
| 2730 | |||
| 2732 | @node Vertical Scrolling | 2731 | @node Vertical Scrolling |
| 2733 | @section Vertical Fractional Scrolling | 2732 | @section Vertical Fractional Scrolling |
| 2734 | @cindex vertical fractional scrolling | 2733 | @cindex vertical fractional scrolling |
| @@ -2817,8 +2816,8 @@ times the normal character width. How many characters actually | |||
| 2817 | disappear off to the left depends on their width, and could vary from | 2816 | disappear off to the left depends on their width, and could vary from |
| 2818 | line to line. | 2817 | line to line. |
| 2819 | 2818 | ||
| 2820 | Because we read from side to side in the ``inner loop,'' and from top | 2819 | Because we read from side to side in the ``inner loop'', and from top |
| 2821 | to bottom in the ``outer loop,'' the effect of horizontal scrolling is | 2820 | to bottom in the ``outer loop'', the effect of horizontal scrolling is |
| 2822 | not like that of textual or vertical scrolling. Textual scrolling | 2821 | not like that of textual or vertical scrolling. Textual scrolling |
| 2823 | involves selection of a portion of text to display, and vertical | 2822 | involves selection of a portion of text to display, and vertical |
| 2824 | scrolling moves the window contents contiguously; but horizontal | 2823 | scrolling moves the window contents contiguously; but horizontal |
| @@ -3014,7 +3013,7 @@ frame. | |||
| 3014 | 3013 | ||
| 3015 | @defun coordinates-in-window-p coordinates window | 3014 | @defun coordinates-in-window-p coordinates window |
| 3016 | This function checks whether a window @var{window} occupies the | 3015 | This function checks whether a window @var{window} occupies the |
| 3017 | frame-relative coordinates @var{coordinates}, and if so which part of | 3016 | frame-relative coordinates @var{coordinates}, and if so, which part of |
| 3018 | the window that is. @var{window} should be a live window. | 3017 | the window that is. @var{window} should be a live window. |
| 3019 | @var{coordinates} should be a cons cell of the form @code{(@var{x} | 3018 | @var{coordinates} should be a cons cell of the form @code{(@var{x} |
| 3020 | . @var{y})}, where @var{x} and @var{y} are frame-relative coordinates. | 3019 | . @var{y})}, where @var{x} and @var{y} are frame-relative coordinates. |
| @@ -3112,14 +3111,14 @@ for the current buffer. | |||
| 3112 | You can bring back an entire frame layout by restoring a previously | 3111 | You can bring back an entire frame layout by restoring a previously |
| 3113 | saved window configuration. If you want to record the layout of all | 3112 | saved window configuration. If you want to record the layout of all |
| 3114 | frames instead of just one, use a frame configuration instead of a | 3113 | frames instead of just one, use a frame configuration instead of a |
| 3115 | window configuration; see @ref{Frame Configurations}. | 3114 | window configuration. @xref{Frame Configurations}. |
| 3116 | 3115 | ||
| 3117 | @defun current-window-configuration &optional frame | 3116 | @defun current-window-configuration &optional frame |
| 3118 | This function returns a new object representing @var{frame}'s current | 3117 | This function returns a new object representing @var{frame}'s current |
| 3119 | window configuration. The default for @var{frame} is the selected | 3118 | window configuration. The default for @var{frame} is the selected |
| 3120 | frame. The variable @code{window-persistent-parameters} specifies | 3119 | frame. The variable @code{window-persistent-parameters} specifies |
| 3121 | whether and which window parameters are saved by this function, see | 3120 | which window parameters (if any) are saved by this function. |
| 3122 | @ref{Window Parameters} for details. | 3121 | @xref{Window Parameters}. |
| 3123 | @end defun | 3122 | @end defun |
| 3124 | 3123 | ||
| 3125 | @defun set-window-configuration configuration | 3124 | @defun set-window-configuration configuration |
| @@ -3136,9 +3135,9 @@ change and triggers execution of the @code{window-size-change-functions} | |||
| 3136 | know how to tell whether the new configuration actually differs from the | 3135 | know how to tell whether the new configuration actually differs from the |
| 3137 | old one. | 3136 | old one. |
| 3138 | 3137 | ||
| 3139 | If the frame which @var{configuration} was saved from is dead, all this | 3138 | If the frame from which @var{configuration} was saved is dead, all this |
| 3140 | function does is restore the three variables @code{window-min-height}, | 3139 | function does is restore the three variables @code{window-min-height}, |
| 3141 | @code{window-min-width} and @code{minibuffer-scroll-window}. In this | 3140 | @code{window-min-width} and @code{minibuffer-scroll-window}. In this |
| 3142 | case, the function returns @code{nil}. Otherwise, it returns @code{t}. | 3141 | case, the function returns @code{nil}. Otherwise, it returns @code{t}. |
| 3143 | 3142 | ||
| 3144 | Here is a way of using this function to get the same effect | 3143 | Here is a way of using this function to get the same effect |
| @@ -3221,8 +3220,8 @@ configurations. | |||
| 3221 | 3220 | ||
| 3222 | The objects returned by @code{current-window-configuration} die | 3221 | The objects returned by @code{current-window-configuration} die |
| 3223 | together with the Emacs process. In order to store a window | 3222 | together with the Emacs process. In order to store a window |
| 3224 | configuration on disk and read it back in another Emacs session, the | 3223 | configuration on disk and read it back in another Emacs session, you |
| 3225 | functions described next can be used. These functions are also useful | 3224 | can use the functions described next. These functions are also useful |
| 3226 | to clone the state of a frame into an arbitrary live window | 3225 | to clone the state of a frame into an arbitrary live window |
| 3227 | (@code{set-window-configuration} effectively clones the windows of a | 3226 | (@code{set-window-configuration} effectively clones the windows of a |
| 3228 | frame into the root window of that very frame only). | 3227 | frame into the root window of that very frame only). |
| @@ -3235,17 +3234,17 @@ of the selected frame. | |||
| 3235 | If the optional argument @var{writable} is non-@code{nil}, this means to | 3234 | If the optional argument @var{writable} is non-@code{nil}, this means to |
| 3236 | not use markers for sampling positions like @code{window-point} or | 3235 | not use markers for sampling positions like @code{window-point} or |
| 3237 | @code{window-start}. This argument should be non-@code{nil} when the | 3236 | @code{window-start}. This argument should be non-@code{nil} when the |
| 3238 | state shall be written to disk and read back in another session. | 3237 | state will be written to disk and read back in another session. |
| 3239 | 3238 | ||
| 3240 | Together, the argument @var{writable} and the variable | 3239 | Together, the argument @var{writable} and the variable |
| 3241 | @code{window-persistent-parameters} specify which window parameters are | 3240 | @code{window-persistent-parameters} specify which window parameters are |
| 3242 | saved by this function, see @ref{Window Parameters} for details. | 3241 | saved by this function. @xref{Window Parameters}. |
| 3243 | @end defun | 3242 | @end defun |
| 3244 | 3243 | ||
| 3245 | The value returned by @code{window-state-get} can be used in the same | 3244 | The value returned by @code{window-state-get} can be used in the same |
| 3246 | session to make a clone of a window in another window. It can be also | 3245 | session to make a clone of a window in another window. It can be also |
| 3247 | written to disk and read back in another session. In either case, use | 3246 | written to disk and read back in another session. In either case, use |
| 3248 | the function described next to restore the state of the window. | 3247 | the following function to restore the state of the window. |
| 3249 | 3248 | ||
| 3250 | @defun window-state-put state &optional window ignore | 3249 | @defun window-state-put state &optional window ignore |
| 3251 | This function puts the window state @var{state} into @var{window}. The | 3250 | This function puts the window state @var{state} into @var{window}. The |
| @@ -3254,9 +3253,9 @@ earlier invocation of @code{window-state-get}, see above. The optional | |||
| 3254 | argument @var{window} must specify a live window and defaults to the | 3253 | argument @var{window} must specify a live window and defaults to the |
| 3255 | selected one. | 3254 | selected one. |
| 3256 | 3255 | ||
| 3257 | The optional argument @var{ignore} non-@code{nil} means to ignore | 3256 | If the optional argument @var{ignore} is non-@code{nil}, it means to ignore |
| 3258 | minimum window sizes and fixed size restrictions. If @var{ignore} | 3257 | minimum window sizes and fixed-size restrictions. If @var{ignore} |
| 3259 | equals @code{safe}, this means windows can get as small as one line | 3258 | is @code{safe}, this means windows can get as small as one line |
| 3260 | and/or two columns. | 3259 | and/or two columns. |
| 3261 | @end defun | 3260 | @end defun |
| 3262 | 3261 | ||
| @@ -3276,8 +3275,8 @@ setting for @var{parameter}, this function returns @code{nil}. | |||
| 3276 | 3275 | ||
| 3277 | @defun window-parameters &optional window | 3276 | @defun window-parameters &optional window |
| 3278 | This function returns all parameters of @var{window} and their values. | 3277 | This function returns all parameters of @var{window} and their values. |
| 3279 | The default for @var{window} is the selected window. The return value, | 3278 | The default for @var{window} is the selected window. The return value |
| 3280 | if non-@code{nil} is an association list whose elements have the form | 3279 | is either @code{nil}, or an association list whose elements have the form |
| 3281 | @code{(@var{parameter} . @var{value})}. | 3280 | @code{(@var{parameter} . @var{value})}. |
| 3282 | @end defun | 3281 | @end defun |
| 3283 | 3282 | ||
| @@ -3287,34 +3286,34 @@ This function sets @var{window}'s value of @var{parameter} to | |||
| 3287 | is the selected window. | 3286 | is the selected window. |
| 3288 | @end defun | 3287 | @end defun |
| 3289 | 3288 | ||
| 3290 | By default, functions saving and restoring window configurations or the | 3289 | By default, the functions that save and restore window configurations or the |
| 3291 | states of windows (@pxref{Window Configurations}) do not care about | 3290 | states of windows (@pxref{Window Configurations}) do not care about |
| 3292 | window parameters. This means, that when you change the value of a | 3291 | window parameters. This means that when you change the value of a |
| 3293 | parameter within the body of a @code{save-window-excursion}, the | 3292 | parameter within the body of a @code{save-window-excursion}, the |
| 3294 | previous value is not restored upon exit of that macro. It also means | 3293 | previous value is not restored when that macro exits. It also means |
| 3295 | that when you restore via @code{window-state-put} a window state saved | 3294 | that when you restore via @code{window-state-put} a window state saved |
| 3296 | earlier by @code{window-state-get}, all cloned windows have their | 3295 | earlier by @code{window-state-get}, all cloned windows have their |
| 3297 | parameters reset to @code{nil}. The following variable allows to | 3296 | parameters reset to @code{nil}. The following variable allows you to |
| 3298 | override the standard behavior. | 3297 | override the standard behavior: |
| 3299 | 3298 | ||
| 3300 | @defvar window-persistent-parameters | 3299 | @defvar window-persistent-parameters |
| 3301 | This variable is an alist specifying which parameters get saved by | 3300 | This variable is an alist specifying which parameters get saved by |
| 3302 | @code{current-window-configuration} and @code{window-state-get} and | 3301 | @code{current-window-configuration} and @code{window-state-get}, and |
| 3303 | subsequently restored by @code{set-window-configuration} and | 3302 | subsequently restored by @code{set-window-configuration} and |
| 3304 | @code{window-state-put}, see @ref{Window Configurations}. | 3303 | @code{window-state-put}. @xref{Window Configurations}. |
| 3305 | 3304 | ||
| 3306 | The @sc{car} of each entry of this alist is the symbol specifying the | 3305 | The @sc{car} of each entry of this alist is a symbol specifying the |
| 3307 | parameter. The @sc{cdr} should be one of the following: | 3306 | parameter. The @sc{cdr} should be one of the following: |
| 3308 | 3307 | ||
| 3309 | @table @asis | 3308 | @table @asis |
| 3310 | @item @code{nil} | 3309 | @item @code{nil} |
| 3311 | This value means the parameter is neither saved by | 3310 | This value means the parameter is saved neither by |
| 3312 | @code{window-state-get} nor by @code{current-window-configuration}. | 3311 | @code{window-state-get} nor by @code{current-window-configuration}. |
| 3313 | 3312 | ||
| 3314 | @item @code{t} | 3313 | @item @code{t} |
| 3315 | This value specifies that the parameter is saved by | 3314 | This value specifies that the parameter is saved by |
| 3316 | @code{current-window-configuration} and, provided its @var{writable} | 3315 | @code{current-window-configuration} and (provided its @var{writable} |
| 3317 | argument is @code{nil}, by @code{window-state-get}. | 3316 | argument is @code{nil}) by @code{window-state-get}. |
| 3318 | 3317 | ||
| 3319 | @item @code{writable} | 3318 | @item @code{writable} |
| 3320 | This means that the parameter is saved unconditionally by both | 3319 | This means that the parameter is saved unconditionally by both |
| @@ -3325,8 +3324,8 @@ may fail with an @code{invalid-read-syntax} error. | |||
| 3325 | @end table | 3324 | @end table |
| 3326 | @end defvar | 3325 | @end defvar |
| 3327 | 3326 | ||
| 3328 | Some functions, notably @code{delete-window}, | 3327 | Some functions (notably @code{delete-window}, |
| 3329 | @code{delete-other-windows} and @code{split-window} may behave specially | 3328 | @code{delete-other-windows} and @code{split-window}), may behave specially |
| 3330 | when their @var{window} argument has a parameter set. You can override | 3329 | when their @var{window} argument has a parameter set. You can override |
| 3331 | such special behavior by binding the following variable to a | 3330 | such special behavior by binding the following variable to a |
| 3332 | non-@code{nil} value: | 3331 | non-@code{nil} value: |
| @@ -3334,7 +3333,7 @@ non-@code{nil} value: | |||
| 3334 | @defvar ignore-window-parameters | 3333 | @defvar ignore-window-parameters |
| 3335 | If this variable is non-@code{nil}, some standard functions do not | 3334 | If this variable is non-@code{nil}, some standard functions do not |
| 3336 | process window parameters. The functions currently affected by this are | 3335 | process window parameters. The functions currently affected by this are |
| 3337 | @code{split-window}, @code{delete-window}, @code{delete-other-windows} | 3336 | @code{split-window}, @code{delete-window}, @code{delete-other-windows}, |
| 3338 | and @code{other-window}. | 3337 | and @code{other-window}. |
| 3339 | 3338 | ||
| 3340 | An application can bind this variable to a non-@code{nil} value around | 3339 | An application can bind this variable to a non-@code{nil} value around |
| @@ -3368,18 +3367,19 @@ This parameter marks the window as not selectable by @code{other-window} | |||
| 3368 | (@pxref{Cyclic Window Ordering}). | 3367 | (@pxref{Cyclic Window Ordering}). |
| 3369 | 3368 | ||
| 3370 | @item @code{clone-of} | 3369 | @item @code{clone-of} |
| 3371 | This parameter specifies the window this one has been cloned from and is | 3370 | This parameter specifies the window that this one has been cloned |
| 3372 | installed by @code{window-state-get}, see @ref{Window Configurations}. | 3371 | from. It is installed by @code{window-state-get} (@pxref{Window |
| 3372 | Configurations}). | ||
| 3373 | 3373 | ||
| 3374 | @item @code{quit-restore} | 3374 | @item @code{quit-restore} |
| 3375 | This parameter tells how to proceed with a window when the buffer it | 3375 | This parameter specifies what to do with a window when the buffer it |
| 3376 | shows is no more needed. It is installed by the buffer display | 3376 | shows is not needed any more. It is installed by the buffer display |
| 3377 | functions (@pxref{Choosing Window}) and consulted by the function | 3377 | functions (@pxref{Choosing Window}), and consulted by the function |
| 3378 | @code{quit-window} (@pxref{Quitting Windows}). | 3378 | @code{quit-window} (@pxref{Quitting Windows}). |
| 3379 | @end table | 3379 | @end table |
| 3380 | 3380 | ||
| 3381 | In addition, the parameters @code{window-atom} and @code{window-side} | 3381 | There are additional parameters @code{window-atom} and @code{window-side}; |
| 3382 | are reserved and should not be used by applications. | 3382 | these are reserved and should not be used by applications. |
| 3383 | 3383 | ||
| 3384 | 3384 | ||
| 3385 | @node Window Hooks | 3385 | @node Window Hooks |
| @@ -3401,7 +3401,7 @@ the window also runs these functions. | |||
| 3401 | This variable is not a normal hook, because each function is called with | 3401 | This variable is not a normal hook, because each function is called with |
| 3402 | two arguments: the window, and its new display-start position. | 3402 | two arguments: the window, and its new display-start position. |
| 3403 | 3403 | ||
| 3404 | These functions must be careful in using @code{window-end} | 3404 | These functions must take care when using @code{window-end} |
| 3405 | (@pxref{Window Start and End}); if you need an up-to-date value, you | 3405 | (@pxref{Window Start and End}); if you need an up-to-date value, you |
| 3406 | must use the @var{update} argument to ensure you get it. | 3406 | must use the @var{update} argument to ensure you get it. |
| 3407 | 3407 | ||
| @@ -3439,7 +3439,7 @@ of an existing frame. This includes splitting or deleting windows, | |||
| 3439 | changing the sizes of windows, or displaying a different buffer in a | 3439 | changing the sizes of windows, or displaying a different buffer in a |
| 3440 | window. | 3440 | window. |
| 3441 | 3441 | ||
| 3442 | The buffer-local part of this hook is run once per each window on the | 3442 | The buffer-local part of this hook is run once for each window on the |
| 3443 | affected frame, with the relevant window selected and its buffer | 3443 | affected frame, with the relevant window selected and its buffer |
| 3444 | current. The global part is run once for the modified frame, with that | 3444 | current. The global part is run once for the modified frame, with that |
| 3445 | frame selected. | 3445 | frame selected. |
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 834a8f2c47f..3d0900db9e4 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2012-04-27 Ippei Furuhashi <top.tuna+orgmode@gmail.com> (tiny change) | ||
| 2 | |||
| 3 | * org.texi (Agenda commands): Fix two typos: give corresponding | ||
| 4 | function names, according to `org-agenda-view-mode-dispatch'. | ||
| 5 | |||
| 6 | 2012-04-27 Glenn Morris <rgm@gnu.org> | ||
| 7 | |||
| 8 | * faq.texi (Major packages and programs): Remove section. | ||
| 9 | There is no point listing 6 packages (cf etc/MORE.STUFF). | ||
| 10 | (Finding Emacs and related packages): Move "Spell-checkers" here. | ||
| 1 | 2012-04-22 Michael Albinus <michael.albinus@gmx.de> | 11 | 2012-04-22 Michael Albinus <michael.albinus@gmx.de> |
| 2 | 12 | ||
| 3 | * dbus.texi (Version): New node. | 13 | * dbus.texi (Version): New node. |
diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi index 0f20c41c8eb..34005bcb9a0 100644 --- a/doc/misc/faq.texi +++ b/doc/misc/faq.texi | |||
| @@ -91,7 +91,6 @@ Emacs, the Emacs manual is often the best starting point. | |||
| 91 | * Bugs and problems:: | 91 | * Bugs and problems:: |
| 92 | * Compiling and installing Emacs:: | 92 | * Compiling and installing Emacs:: |
| 93 | * Finding Emacs and related packages:: | 93 | * Finding Emacs and related packages:: |
| 94 | * Major packages and programs:: | ||
| 95 | * Key bindings:: | 94 | * Key bindings:: |
| 96 | * Alternate character sets:: | 95 | * Alternate character sets:: |
| 97 | * Mail and news:: | 96 | * Mail and news:: |
| @@ -1050,7 +1049,7 @@ A new command @kbd{customize-themes} allows you to easily change the | |||
| 1050 | appearance of your Emacs. | 1049 | appearance of your Emacs. |
| 1051 | 1050 | ||
| 1052 | @item | 1051 | @item |
| 1053 | Emacs can be compiled with the Gtk+ 3 toolkit. | 1052 | Emacs can be compiled with the GTK+ 3 toolkit. |
| 1054 | 1053 | ||
| 1055 | @item | 1054 | @item |
| 1056 | Support for several new external libraries can be included at compile | 1055 | Support for several new external libraries can be included at compile |
| @@ -3242,6 +3241,7 @@ problem (@pxref{Reporting bugs}). | |||
| 3242 | * Finding Emacs on the Internet:: | 3241 | * Finding Emacs on the Internet:: |
| 3243 | * Finding a package with particular functionality:: | 3242 | * Finding a package with particular functionality:: |
| 3244 | * Packages that do not come with Emacs:: | 3243 | * Packages that do not come with Emacs:: |
| 3244 | * Spell-checkers:: | ||
| 3245 | * Current GNU distributions:: | 3245 | * Current GNU distributions:: |
| 3246 | * Difference between Emacs and XEmacs:: | 3246 | * Difference between Emacs and XEmacs:: |
| 3247 | * Emacs for minimalists:: | 3247 | * Emacs for minimalists:: |
| @@ -3323,6 +3323,29 @@ Several packages are stored in | |||
| 3323 | Read the file @file{etc/MORE.STUFF} for more information about | 3323 | Read the file @file{etc/MORE.STUFF} for more information about |
| 3324 | external packages. | 3324 | external packages. |
| 3325 | 3325 | ||
| 3326 | @node Spell-checkers | ||
| 3327 | @section Spell-checkers | ||
| 3328 | @cindex Spell-checker | ||
| 3329 | @cindex Checking spelling | ||
| 3330 | @cindex Ispell | ||
| 3331 | @cindex Aspell | ||
| 3332 | @cindex Hunspell | ||
| 3333 | |||
| 3334 | Various spell-checkers are compatible with Emacs, including: | ||
| 3335 | |||
| 3336 | @table @b | ||
| 3337 | |||
| 3338 | @item GNU Aspell | ||
| 3339 | @uref{http://aspell.net/} | ||
| 3340 | |||
| 3341 | @item Ispell | ||
| 3342 | @uref{http://fmg-www.cs.ucla.edu/geoff/ispell.html} | ||
| 3343 | |||
| 3344 | @item Hunspell | ||
| 3345 | @uref{http://hunspell.sourceforge.net/} | ||
| 3346 | |||
| 3347 | @end table | ||
| 3348 | |||
| 3326 | @node Current GNU distributions | 3349 | @node Current GNU distributions |
| 3327 | @section Where can I get other up-to-date GNU stuff? | 3350 | @section Where can I get other up-to-date GNU stuff? |
| 3328 | @cindex Current GNU distributions | 3351 | @cindex Current GNU distributions |
| @@ -3443,124 +3466,6 @@ Beginning with version 22.1, Emacs supports Mac OS X natively. | |||
| 3443 | See the file @file{nextstep/INSTALL} in the distribution. | 3466 | See the file @file{nextstep/INSTALL} in the distribution. |
| 3444 | 3467 | ||
| 3445 | @c ------------------------------------------------------------ | 3468 | @c ------------------------------------------------------------ |
| 3446 | @node Major packages and programs | ||
| 3447 | @chapter Major packages and programs | ||
| 3448 | @cindex Major packages and programs | ||
| 3449 | |||
| 3450 | @menu | ||
| 3451 | * VM:: | ||
| 3452 | * AUCTeX:: | ||
| 3453 | * BBDB:: | ||
| 3454 | * Spell-checkers:: | ||
| 3455 | * Emacs/W3:: | ||
| 3456 | * EDB:: | ||
| 3457 | * JDEE:: | ||
| 3458 | @end menu | ||
| 3459 | |||
| 3460 | @node VM | ||
| 3461 | @section VM (View Mail) --- another mail reader within Emacs, with MIME support | ||
| 3462 | @cindex VM | ||
| 3463 | @cindex Alternative mail software | ||
| 3464 | @cindex View Mail | ||
| 3465 | @cindex E-mail reader, VM | ||
| 3466 | |||
| 3467 | @table @b | ||
| 3468 | |||
| 3469 | @item Web site | ||
| 3470 | @uref{http://launchpad.net/vm} | ||
| 3471 | (was @uref{http://www.nongnu.org/viewmail/}) | ||
| 3472 | |||
| 3473 | @item Informational newsgroup | ||
| 3474 | @uref{news:gnu.emacs.vm.info}@* | ||
| 3475 | |||
| 3476 | @item Bug reports newsgroup | ||
| 3477 | @uref{news:gnu.emacs.vm.bug}@* | ||
| 3478 | @end table | ||
| 3479 | |||
| 3480 | VM was originally written by @uref{http://www.wonderworks.com/vm/,Kyle Jones}. | ||
| 3481 | @uref{ftp://ftp.wonderworks.com/pub/vm/,Older versions} of VM remain | ||
| 3482 | available. | ||
| 3483 | |||
| 3484 | |||
| 3485 | @node AUCTeX | ||
| 3486 | @section AUC@TeX{} --- enhanced @TeX{} modes with debugging facilities | ||
| 3487 | @cindex Mode for @TeX{} | ||
| 3488 | @cindex @TeX{} mode | ||
| 3489 | @cindex AUC@TeX{} mode for editing @TeX{} | ||
| 3490 | @cindex Writing and debugging @TeX{} | ||
| 3491 | |||
| 3492 | AUC@TeX{} is a set of sophisticated major modes for @TeX{}, LaTeX, | ||
| 3493 | ConTeXt, and Texinfo offering context-sensitive syntax highlighting, | ||
| 3494 | indentation, formatting and folding, macro completion, @TeX{} shell | ||
| 3495 | functionality, and debugging. Be also sure to check out | ||
| 3496 | @ref{Introduction, RefTeX, Introduction, reftex, Ref@TeX{} User Manual}. | ||
| 3497 | Current versions of AUC@TeX{} include the | ||
| 3498 | @uref{http://www.gnu.org/software/auctex/preview-latex.html,preview-latex} | ||
| 3499 | package for WYSIWYG previews of various LaTeX constructs in the Emacs | ||
| 3500 | source buffer. | ||
| 3501 | |||
| 3502 | @uref{http://www.gnu.org/software/auctex/, AUCTeX} | ||
| 3503 | |||
| 3504 | @node BBDB | ||
| 3505 | @section BBDB --- personal Info Rolodex integrated with mail/news readers | ||
| 3506 | @cindex BBDB | ||
| 3507 | @cindex Rolodex-like functionality | ||
| 3508 | @cindex Integrated contact database | ||
| 3509 | @cindex Contact database | ||
| 3510 | @cindex Big Brother Database | ||
| 3511 | @cindex Address book | ||
| 3512 | |||
| 3513 | @uref{http://bbdb.sourceforge.net/, The Insidious Big Brother Database} | ||
| 3514 | |||
| 3515 | @node Spell-checkers | ||
| 3516 | @section Spell-checkers | ||
| 3517 | @cindex Spell-checker | ||
| 3518 | @cindex Checking spelling | ||
| 3519 | @cindex Ispell | ||
| 3520 | @cindex Aspell | ||
| 3521 | @cindex Hunspell | ||
| 3522 | |||
| 3523 | Various spell-checkers are compatible with Emacs, including: | ||
| 3524 | |||
| 3525 | @table @b | ||
| 3526 | |||
| 3527 | @item GNU Aspell | ||
| 3528 | @uref{http://aspell.net/} | ||
| 3529 | |||
| 3530 | @item Ispell | ||
| 3531 | @uref{http://fmg-www.cs.ucla.edu/geoff/ispell.html} | ||
| 3532 | |||
| 3533 | @item Hunspell | ||
| 3534 | @uref{http://hunspell.sourceforge.net/} | ||
| 3535 | |||
| 3536 | @end table | ||
| 3537 | |||
| 3538 | @node Emacs/W3 | ||
| 3539 | @section Emacs/W3 --- A World Wide Web browser inside of Emacs | ||
| 3540 | @cindex WWW browser | ||
| 3541 | @cindex Web browser | ||
| 3542 | @cindex HTML browser in Emacs | ||
| 3543 | @cindex @code{w3-mode} | ||
| 3544 | |||
| 3545 | @uref{http://www.gnu.org/software/w3/, Emacs/W3} | ||
| 3546 | |||
| 3547 | @node EDB | ||
| 3548 | @section EDB --- Database program for Emacs; replaces forms editing modes | ||
| 3549 | @cindex EDB | ||
| 3550 | @cindex Database | ||
| 3551 | @cindex Forms mode | ||
| 3552 | |||
| 3553 | @uref{http://gnuvola.org/software/edb/, The Emacs Database} | ||
| 3554 | |||
| 3555 | @node JDEE | ||
| 3556 | @section JDEE --- Integrated development environment for Java | ||
| 3557 | @cindex Java development environment | ||
| 3558 | @cindex Integrated Java development environment | ||
| 3559 | @cindex JDEE | ||
| 3560 | |||
| 3561 | @uref{http://jdee.sourceforge.net/, A Java Development Environment for Emacs} | ||
| 3562 | |||
| 3563 | @c ------------------------------------------------------------ | ||
| 3564 | @node Key bindings | 3469 | @node Key bindings |
| 3565 | @chapter Key bindings | 3470 | @chapter Key bindings |
| 3566 | @cindex Key bindings | 3471 | @cindex Key bindings |
diff --git a/etc/ChangeLog b/etc/ChangeLog index f2cdfb83c44..1200b991597 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2012-04-26 Jambunathan K <kjambunathan@gmail.com> | ||
| 2 | |||
| 3 | * org/OrgOdtStyles.xml (OrgDescriptionList): Modify style. With | ||
| 4 | this change, in a description list, if the description paragraph | ||
| 5 | spawns multiple lines then it will correctly indented. | ||
| 6 | |||
| 1 | 2012-04-20 Glenn Morris <rgm@gnu.org> | 7 | 2012-04-20 Glenn Morris <rgm@gnu.org> |
| 2 | 8 | ||
| 3 | * CONTRIBUTE: Expand a bit on copyright assignments. | 9 | * CONTRIBUTE: Expand a bit on copyright assignments. |
| @@ -833,7 +833,7 @@ by default. | |||
| 833 | (Its name is misleading, since it has nothing to do with MIME | 833 | (Its name is misleading, since it has nothing to do with MIME |
| 834 | attachments.) The old name is now an obsolete alias to the new name. | 834 | attachments.) The old name is now an obsolete alias to the new name. |
| 835 | 835 | ||
| 836 | ** MH-E has been upgraded to MH-E version 8.3.1. | 836 | ** MH-E has been updated to MH-E version 8.3.1. |
| 837 | See MH-E-NEWS for details. | 837 | See MH-E-NEWS for details. |
| 838 | 838 | ||
| 839 | ** Modula-2 mode provides auto-indentation. | 839 | ** Modula-2 mode provides auto-indentation. |
| @@ -845,6 +845,9 @@ Completion is now performed via `completion-at-point', bound to C-M-i | |||
| 845 | or M-TAB. If `nxml-bind-meta-tab-to-complete-flag' is non-nil (the | 845 | or M-TAB. If `nxml-bind-meta-tab-to-complete-flag' is non-nil (the |
| 846 | default), this performs tag completion. | 846 | default), this performs tag completion. |
| 847 | 847 | ||
| 848 | ** Org mode has been updated to version 7.8.09. | ||
| 849 | See ORG-NEWS for details. | ||
| 850 | |||
| 848 | ** Prolog mode has been completely revamped, with lots of additional | 851 | ** Prolog mode has been completely revamped, with lots of additional |
| 849 | functionality such as more intelligent indentation, electricity, | 852 | functionality such as more intelligent indentation, electricity, |
| 850 | support for more variants, including Mercury, and a lot more. | 853 | support for more variants, including Mercury, and a lot more. |
| @@ -1228,6 +1231,8 @@ So do `defcustom' and other forms that call `defvar' as a subroutine. | |||
| 1228 | *** New function `special-variable-p' to check whether a variable is | 1231 | *** New function `special-variable-p' to check whether a variable is |
| 1229 | declared as dynamically bound. | 1232 | declared as dynamically bound. |
| 1230 | 1233 | ||
| 1234 | *** The form ((lambda ...) ...) is deprecated. | ||
| 1235 | |||
| 1231 | ** An Emacs Lisp testing tool is now included. | 1236 | ** An Emacs Lisp testing tool is now included. |
| 1232 | Emacs Lisp developers can use this tool to write automated tests for | 1237 | Emacs Lisp developers can use this tool to write automated tests for |
| 1233 | their code. See the ERT info manual for details. | 1238 | their code. See the ERT info manual for details. |
diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS new file mode 100644 index 00000000000..a6b31cf1249 --- /dev/null +++ b/etc/ORG-NEWS | |||
| @@ -0,0 +1,948 @@ | |||
| 1 | ORG NEWS -- history of user-visible changes. -*- org -*- | ||
| 2 | |||
| 3 | Copyright (C) 2012 Free Software Foundation, Inc. | ||
| 4 | See the end of the file for license conditions. | ||
| 5 | |||
| 6 | Please send Org bug reports to emacs-orgmode@gnu.org. | ||
| 7 | |||
| 8 | * Incompatible changes | ||
| 9 | |||
| 10 | ** New keys for TODO sparse trees | ||
| 11 | :PROPERTIES: | ||
| 12 | :OrgVersion: 7.01 | ||
| 13 | :END: | ||
| 14 | |||
| 15 | The key =C-c C-v= is now reserved for Org Babel action. TODO sparse | ||
| 16 | trees can still be made with =C-c / t= (all not-done states) and =C-c / | ||
| 17 | T= (specific states). | ||
| 18 | |||
| 19 | ** The Agenda =org-agenda-ndays= is now obsolete | ||
| 20 | :PROPERTIES: | ||
| 21 | :OrgVersion: 7.4 | ||
| 22 | :END: | ||
| 23 | |||
| 24 | The variable =org-agenda-ndays= is obsolete - please use | ||
| 25 | =org-agenda-span= instead. | ||
| 26 | |||
| 27 | Thanks to Julien Danjou for this. | ||
| 28 | |||
| 29 | ** Changes to the intended use of =org-export-latex-classes= | ||
| 30 | :PROPERTIES: | ||
| 31 | :OrgVersion: 6.35 | ||
| 32 | :END: | ||
| 33 | |||
| 34 | So far this variable has been used to specify the complete header of the | ||
| 35 | LaTeX document, including all the =\usepackage= calls necessary for the | ||
| 36 | document. This setup makes it difficult to maintain the list of | ||
| 37 | packages that Org itself would like to call, for example for the special | ||
| 38 | symbol support it needs. | ||
| 39 | |||
| 40 | First of all, you can *opt out of this change* in the following way: You | ||
| 41 | can say: /I want to have full control over headers, and I will take | ||
| 42 | responsibility to include the packages Org needs/. If that is what you | ||
| 43 | want, add this to your configuration and skip the rest of this section | ||
| 44 | (except maybe for the description of the =[EXTRA]= place holder): | ||
| 45 | |||
| 46 | #+begin_src emacs-lisp | ||
| 47 | (setq org-export-latex-default-packages-alist nil | ||
| 48 | org-export-latex-packages-alist nil) | ||
| 49 | #+end_src | ||
| 50 | |||
| 51 | /Continue to read here if you want to go along with the modified setup./ | ||
| 52 | |||
| 53 | There are now two variables that should be used to list the LaTeX | ||
| 54 | packages that need to be included in all classes. The header definition | ||
| 55 | in =org-export-latex-classes= should then not contain the corresponding | ||
| 56 | =\usepackage= calls (see below). | ||
| 57 | |||
| 58 | The two new variables are: | ||
| 59 | |||
| 60 | 1. =org-export-latex-default-packages-alist= :: This is the variable | ||
| 61 | where Org-mode itself puts the packages it needs. Normally you | ||
| 62 | should not change this variable. The only reason to change it | ||
| 63 | anyway is when one of these packages causes a conflict with another | ||
| 64 | package you want to use. Then you can remove that packages and | ||
| 65 | hope that you are not using Org-mode functionality that needs it. | ||
| 66 | |||
| 67 | 2. =org-export-latex-packages-alist= :: This is the variable where you | ||
| 68 | can put the packages that you'd like to use across all classes. | ||
| 69 | |||
| 70 | The sequence how these customizations will show up in the LaTeX | ||
| 71 | document are: | ||
| 72 | |||
| 73 | 1. Header from =org-export-latex-classes= | ||
| 74 | 2. =org-export-latex-default-packages-alist= | ||
| 75 | 3. =org-export-latex-packages-alist= | ||
| 76 | 4. Buffer-specific things set with =#+LaTeX_HEADER:= | ||
| 77 | |||
| 78 | If you want more control about which segment is placed where, or if you | ||
| 79 | want, for a specific class, have full control over the header and | ||
| 80 | exclude some of the automatic building blocks, you can put the following | ||
| 81 | macro-like place holders into the header: | ||
| 82 | |||
| 83 | #+begin_example | ||
| 84 | [DEFAULT-PACKAGES] \usepackage statements for default packages | ||
| 85 | [NO-DEFAULT-PACKAGES] do not include any of the default packages | ||
| 86 | [PACKAGES] \usepackage statements for packages | ||
| 87 | [NO-PACKAGES] do not include the packages | ||
| 88 | [EXTRA] the stuff from #+LaTeX_HEADER | ||
| 89 | [NO-EXTRA] do not include #+LaTeX_HEADER stuff | ||
| 90 | #+end_example | ||
| 91 | |||
| 92 | If you have currently customized =org-export-latex-classes=, you should | ||
| 93 | revise that customization and remove any package calls that are covered | ||
| 94 | by =org-export-latex-default-packages-alist=. This applies to the | ||
| 95 | following packages: | ||
| 96 | |||
| 97 | - inputenc | ||
| 98 | - fontenc | ||
| 99 | - fixltx2e | ||
| 100 | - graphicx | ||
| 101 | - longtable | ||
| 102 | - float | ||
| 103 | - wrapfig | ||
| 104 | - soul | ||
| 105 | - t1enc | ||
| 106 | - textcomp | ||
| 107 | - marvosym | ||
| 108 | - wasysym | ||
| 109 | - latexsym | ||
| 110 | - amssymb | ||
| 111 | - hyperref | ||
| 112 | |||
| 113 | If one of these packages creates a conflict with another package you are | ||
| 114 | using, you can remove it from =org-export-latex-default-packages-alist=. | ||
| 115 | But then you risk that some of the advertised export features of Org | ||
| 116 | will not work properly. | ||
| 117 | |||
| 118 | You can also consider moving packages that you use in all classes to | ||
| 119 | =org-export-latex-packages-alist=. If necessary, put the place holders | ||
| 120 | so that the packages get loaded in the right sequence. As said above, | ||
| 121 | for backward compatibility, if you omit the place holders, all the | ||
| 122 | variables will dump their content at the end of the header. | ||
| 123 | |||
| 124 | ** The constant =org-html-entities= is obsolete | ||
| 125 | :PROPERTIES: | ||
| 126 | :OrgVersion: 6.35 | ||
| 127 | :END: | ||
| 128 | |||
| 129 | Its content is now part of the new constant =org-entities=, which is | ||
| 130 | defined in the file org-entities.el. =org-html-entities= was an internal | ||
| 131 | variable, but it is possible that some users did write code using it. | ||
| 132 | |||
| 133 | ** `org-bbdb-anniversary-format-alist' has changed | ||
| 134 | :PROPERTIES: | ||
| 135 | :OrgVersion: 7.5 | ||
| 136 | :END: | ||
| 137 | |||
| 138 | Please check the docstring and update your settings accordingly. | ||
| 139 | |||
| 140 | ** Deleted =org-mode-p= | ||
| 141 | :PROPERTIES: | ||
| 142 | :OrgVersion: 7.8 | ||
| 143 | :END: | ||
| 144 | |||
| 145 | This function has been deleted: please update your code. | ||
| 146 | |||
| 147 | * Important new features | ||
| 148 | |||
| 149 | ** New Org to ODT exporter | ||
| 150 | :PROPERTIES: | ||
| 151 | :OrgVersion: 7.8 | ||
| 152 | :END: | ||
| 153 | |||
| 154 | Jambunathan's Org to ODT exporter is now part of Org. | ||
| 155 | |||
| 156 | To use it, it `C-c C-e o' in an Org file. See the documentation for more | ||
| 157 | information on how to customize it. | ||
| 158 | |||
| 159 | ** org-capture.el is now the default capture system | ||
| 160 | :PROPERTIES: | ||
| 161 | :OrgVersion: 7.01 | ||
| 162 | :END: | ||
| 163 | |||
| 164 | This replaces the earlier system org-remember. The manual only describes | ||
| 165 | org-capture, but for people who prefer to continue to use org-remember, | ||
| 166 | we keep a static copy of the former manual section [[http://orgmode.org/org-remember.pdf][chapter about | ||
| 167 | remember]]. | ||
| 168 | |||
| 169 | The new system has a technically cleaner implementation and more | ||
| 170 | possibilities for capturing different types of data. See [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's | ||
| 171 | announcement]] for more details. | ||
| 172 | |||
| 173 | To switch over to the new system: | ||
| 174 | |||
| 175 | 1. Run | ||
| 176 | |||
| 177 | : M-x org-capture-import-remember-templates RET | ||
| 178 | |||
| 179 | to get a translated version of your remember templates into the | ||
| 180 | new variable =org-capture-templates=. This will "mostly" work, | ||
| 181 | but maybe not for all cases. At least it will give you a good | ||
| 182 | place to modify your templates. After running this command, | ||
| 183 | enter the customize buffer for this variable with | ||
| 184 | |||
| 185 | : M-x customize-variable RET org-capture-templates RET | ||
| 186 | |||
| 187 | and convince yourself that everything is OK. Then save the | ||
| 188 | customization. | ||
| 189 | |||
| 190 | 2. Bind the command =org-capture= to a key, similar to what you did | ||
| 191 | with org-remember: | ||
| 192 | |||
| 193 | : (define-key global-map "\C-cc" 'org-capture) | ||
| 194 | |||
| 195 | If your fingers prefer =C-c r=, you can also use this key once | ||
| 196 | you have decided to move over completely to the new | ||
| 197 | implementation. During a test time, there is nothing wrong | ||
| 198 | with using both system in parallel. | ||
| 199 | |||
| 200 | * New libraries | ||
| 201 | |||
| 202 | ** New Org libraries | ||
| 203 | *** org-eshell.el (Konrad Hinsen) | ||
| 204 | :PROPERTIES: | ||
| 205 | :OrgVersion: 7.8 | ||
| 206 | :END: | ||
| 207 | |||
| 208 | Implement links to eshell buffers. | ||
| 209 | |||
| 210 | *** org-special-blocks (Carsten Dominik) | ||
| 211 | :PROPERTIES: | ||
| 212 | :OrgVersion: 7.8 | ||
| 213 | :END: | ||
| 214 | |||
| 215 | This package generalizes the #+begin_foo and #+end_foo tokens. | ||
| 216 | |||
| 217 | To use, put the following in your init file: | ||
| 218 | |||
| 219 | #+BEGIN_EXAMPLE | ||
| 220 | (require 'org-special-blocks) | ||
| 221 | #+END_EXAMPLE | ||
| 222 | |||
| 223 | The tokens #+begin_center, #+begin_verse, etc. existed previously. This | ||
| 224 | package generalizes them (at least for the LaTeX and html exporters). When | ||
| 225 | a #+begin_foo token is encountered by the LaTeX exporter, it is expanded | ||
| 226 | into \begin{foo}. The text inside the environment is not protected, as | ||
| 227 | text inside environments generally is. When #+begin_foo is encountered by | ||
| 228 | the html exporter, a div with class foo is inserted into the HTML file. It | ||
| 229 | is up to the user to add this class to his or her stylesheet if this div is | ||
| 230 | to mean anything. | ||
| 231 | |||
| 232 | *** org-taskjuggler.el (Christian Egli) | ||
| 233 | :PROPERTIES: | ||
| 234 | :OrgVersion: 7.01 | ||
| 235 | :END: | ||
| 236 | |||
| 237 | Christian Egli's /org-taskjuggler.el/ module is now part of Org. He | ||
| 238 | also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it. | ||
| 239 | |||
| 240 | *** org-ctags.el (Paul Sexton) | ||
| 241 | :PROPERTIES: | ||
| 242 | :OrgVersion: 6.34 | ||
| 243 | :END: | ||
| 244 | |||
| 245 | Targets like =<<my target>>= can now be found by Emacs' etag | ||
| 246 | functionality, and Org-mode links can be used to to link to etags, also | ||
| 247 | in non-Org-mode files. For details, see the file /org-ctags.el/. | ||
| 248 | |||
| 249 | This feature uses a new hook =org-open-link-functions= which will call | ||
| 250 | function to do something special with text links. | ||
| 251 | |||
| 252 | Thanks to Paul Sexton for this contribution. | ||
| 253 | |||
| 254 | *** org-docview.el (Jan Böcker) | ||
| 255 | :PROPERTIES: | ||
| 256 | :OrgVersion: 6.34 | ||
| 257 | :END: | ||
| 258 | |||
| 259 | This new module allows links to various file types using docview, where | ||
| 260 | Emacs displays images of document pages. Docview link types can point | ||
| 261 | to a specific page in a document, for example to page 131 of the | ||
| 262 | Org-mode manual: | ||
| 263 | |||
| 264 | : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]] | ||
| 265 | |||
| 266 | Thanks to Jan Böcker for this contribution. | ||
| 267 | |||
| 268 | ** New Babel libraries | ||
| 269 | |||
| 270 | - ob-picolisp.el (Thorsten Jolitz) | ||
| 271 | - ob-fortran.el (Sergey Litvinov) | ||
| 272 | - ob-shen.el (Eric Schulte) | ||
| 273 | - ob-maxima.el (Eric S Fraga) | ||
| 274 | - ob-java.el (Eric Schulte) | ||
| 275 | - ob-lilypond.el (Martyn Jago) | ||
| 276 | - ob-awk.el (Eric Schulte) | ||
| 277 | |||
| 278 | * Other new features and various enhancements | ||
| 279 | |||
| 280 | ** Hyperlinks | ||
| 281 | |||
| 282 | *** Org-Bibtex -- major improvements | ||
| 283 | :PROPERTIES: | ||
| 284 | :OrgVersion: 7.6 | ||
| 285 | :END: | ||
| 286 | |||
| 287 | Provides support for managing bibtex bibliographical references | ||
| 288 | data in headline properties. Each headline corresponds to a | ||
| 289 | single reference and the relevant bibliographic meta-data is | ||
| 290 | stored in headline properties, leaving the body of the headline | ||
| 291 | free to hold notes and comments. Org-bibtex is aware of all | ||
| 292 | standard bibtex reference types and fields. | ||
| 293 | |||
| 294 | The key new functions are | ||
| 295 | |||
| 296 | - org-bibtex-check :: queries the user to flesh out all required | ||
| 297 | (and with prefix argument optional) bibtex fields available | ||
| 298 | for the specific reference =type= of the current headline. | ||
| 299 | |||
| 300 | - org-bibtex-create :: Create a new entry at the given level, | ||
| 301 | using org-bibtex-check to flesh out the relevant fields. | ||
| 302 | |||
| 303 | - org-bibtex-yank :: Yank a bibtex entry on the kill ring as a | ||
| 304 | formatted Org-mode headline into the current buffer | ||
| 305 | |||
| 306 | - org-bibtex-export-to-kill-ring :: Export the current headline | ||
| 307 | to the kill ring as a formatted bibtex entry. | ||
| 308 | |||
| 309 | |||
| 310 | |||
| 311 | *** org-gnus.el now allows link creation from messages | ||
| 312 | :PROPERTIES: | ||
| 313 | :OrgVersion: 7.5 | ||
| 314 | :END: | ||
| 315 | |||
| 316 | You can now create links from messages. This is particularily | ||
| 317 | useful when the user wants to stored messages that he sends, for | ||
| 318 | later check. Thanks to Ulf Stegemann for the patch. | ||
| 319 | |||
| 320 | |||
| 321 | |||
| 322 | *** Modified link escaping | ||
| 323 | :PROPERTIES: | ||
| 324 | :OrgVersion: 7.5 | ||
| 325 | :END: | ||
| 326 | |||
| 327 | David Maus worked on `org-link-escape'. See [[http://article.gmane.org/gmane.emacs.orgmode/37888][his message]]: | ||
| 328 | |||
| 329 | : Percent escaping is used in Org mode to escape certain characters | ||
| 330 | : in links that would either break the parser (e.g. square brackets | ||
| 331 | : in link target oder description) or are not allowed to appear in | ||
| 332 | : a particular link type (e.g. non-ascii characters in a http: | ||
| 333 | : link). | ||
| 334 | : | ||
| 335 | : With this change in place Org will apply percent escaping and | ||
| 336 | : unescaping more consistently especially for non-ascii characters. | ||
| 337 | : Additionally some of the outstanding bugs or glitches concerning | ||
| 338 | : percent escaped links are solved. | ||
| 339 | |||
| 340 | Thanks a lot to David for this work. | ||
| 341 | |||
| 342 | |||
| 343 | |||
| 344 | *** Make =org-store-link= point to directory in a dired buffer | ||
| 345 | :PROPERTIES: | ||
| 346 | :OrgVersion: 6.35 | ||
| 347 | :END: | ||
| 348 | |||
| 349 | When, in a dired buffer, the cursor is not in a line listing a | ||
| 350 | file, `org-store-link' will store a link to the directory. | ||
| 351 | |||
| 352 | Patch by Stephen Eglen. | ||
| 353 | |||
| 354 | |||
| 355 | |||
| 356 | *** Allow regexps in =org-file-apps= to capture link parameters | ||
| 357 | :PROPERTIES: | ||
| 358 | :OrgVersion: 6.35 | ||
| 359 | :END: | ||
| 360 | |||
| 361 | The way extension regexps in =org-file-apps= are handled has | ||
| 362 | changed. Instead of matching against the file name, the regexps | ||
| 363 | are now matched against the whole link, and you can use grouping | ||
| 364 | to extract link parameters which you can then use in a command | ||
| 365 | string to be executed. | ||
| 366 | |||
| 367 | For example, to allow linking to PDF files using the syntax | ||
| 368 | =file:/doc.pdf::<page number>=, you can add the following entry to | ||
| 369 | org-file-apps: | ||
| 370 | |||
| 371 | #+begin_example | ||
| 372 | Extension: \.pdf::\([0-9]+\)\' | ||
| 373 | Command: evince "%s" -p %1 | ||
| 374 | #+end_example | ||
| 375 | |||
| 376 | Thanks to Jan Böcker for a patch to this effect. | ||
| 377 | |||
| 378 | ** Dates and time | ||
| 379 | |||
| 380 | *** Allow relative time when scheduling/adding a deadline | ||
| 381 | :PROPERTIES: | ||
| 382 | :OrgVersion: 7.7 | ||
| 383 | :END: | ||
| 384 | |||
| 385 | You can now use relative duration strings like "-2d" or "++3w" | ||
| 386 | when calling =org-schedule= or =org-deadline=: it will schedule | ||
| 387 | (or set the deadline for) the item respectively two days before | ||
| 388 | today and three weeks after the current timestamp, if any. | ||
| 389 | |||
| 390 | You can use this programmatically: =(org-schedule nil "+2d")= | ||
| 391 | will work on the current entry. | ||
| 392 | |||
| 393 | You can also use this while (bulk-)rescheduling and | ||
| 394 | (bulk-)resetting the deadline of (several) items from the agenda. | ||
| 395 | |||
| 396 | Thanks to Memnon Anon for a heads up about this! | ||
| 397 | |||
| 398 | |||
| 399 | |||
| 400 | |||
| 401 | *** American-style dates are now understood by =org-read-date= | ||
| 402 | :PROPERTIES: | ||
| 403 | :OrgVersion: 6.35 | ||
| 404 | :END: | ||
| 405 | |||
| 406 | So when you are prompted for a date, you can now answer like this | ||
| 407 | |||
| 408 | #+begin_example | ||
| 409 | 2/5/3 --> 2003-02-05 | ||
| 410 | 2/5 --> <CURRENT-YEAR>-02-05 | ||
| 411 | #+end_example | ||
| 412 | |||
| 413 | ** Agenda | ||
| 414 | |||
| 415 | *** =org-agenda-custom-commands= has a default value | ||
| 416 | :PROPERTIES: | ||
| 417 | :OrgVersion: 7.8 | ||
| 418 | :END: | ||
| 419 | |||
| 420 | This option used to be `nil' by default. This now has a default | ||
| 421 | value, displaying an agenda and all TODOs. See the docstring for | ||
| 422 | details. Thanks to Carsten for this. | ||
| 423 | |||
| 424 | |||
| 425 | *** Improved filtering through =org-agenda-to-appt= | ||
| 426 | :PROPERTIES: | ||
| 427 | :OrgVersion: 7.8 | ||
| 428 | :END: | ||
| 429 | |||
| 430 | The new function allows the user to refine the scope of entries | ||
| 431 | to pass to =org-agenda-get-day-entries= and allows to filter out | ||
| 432 | entries using a function. | ||
| 433 | |||
| 434 | Thanks to Peter Münster for raising a related issue and to | ||
| 435 | Tassilo Horn for this idea. Also thanks to Peter Münster for | ||
| 436 | [[git:68ffb7a7][fixing a small bug]] in the final implementation. | ||
| 437 | |||
| 438 | |||
| 439 | |||
| 440 | *** Allow ap/pm times in agenda time grid | ||
| 441 | :PROPERTIES: | ||
| 442 | :OrgVersion: 7.4 | ||
| 443 | :END: | ||
| 444 | |||
| 445 | Times in the agenda can now be displayed in am/pm format. See the new | ||
| 446 | variable =org-agenda-timegrid-use-ampm=. Thanks to C. A. Webber for | ||
| 447 | a patch to this effect. | ||
| 448 | |||
| 449 | |||
| 450 | |||
| 451 | *** Agenda: Added a bulk "scattering" command | ||
| 452 | :PROPERTIES: | ||
| 453 | :OrgVersion: 7.4 | ||
| 454 | :END: | ||
| 455 | |||
| 456 | =B S= in the agenda buffer will cause tasks to be rescheduled a random | ||
| 457 | number of days into the future, with 7 as the default. This is useful | ||
| 458 | if you've got a ton of tasks scheduled for today, you realize you'll | ||
| 459 | never deal with them all, and you just want them to be distributed | ||
| 460 | across the next N days. When called with a prefix arg, rescheduling | ||
| 461 | will avoid weekend days. | ||
| 462 | |||
| 463 | Thanks to John Wiegley for this. | ||
| 464 | |||
| 465 | ** Exporting | ||
| 466 | |||
| 467 | *** Simplification of org-export-html-preamble/postamble | ||
| 468 | :PROPERTIES: | ||
| 469 | :OrgVersion: 7.5 | ||
| 470 | :END: | ||
| 471 | |||
| 472 | When set to `t', export the preamble/postamble as usual, honoring the | ||
| 473 | =org-export-email/author/creator-info= variables. | ||
| 474 | |||
| 475 | When set to a formatting string, insert this string. See the docstring | ||
| 476 | of these variable for details about available %-sequences. | ||
| 477 | |||
| 478 | You can set =:html-preamble= in publishing project in the same way: `t' | ||
| 479 | means to honor =:email/creator/author-info=, and a formatting string | ||
| 480 | will insert a string. | ||
| 481 | |||
| 482 | *** New exporters to Latin-1 and UTF-8 | ||
| 483 | :PROPERTIES: | ||
| 484 | :OrgVersion: 6.35 | ||
| 485 | :END: | ||
| 486 | |||
| 487 | While Ulf Stegemann was going through the entities list to improve the | ||
| 488 | LaTeX export, he had the great idea to provide representations for many | ||
| 489 | of the entities in Latin-1, and for all of them in UTF-8. This means | ||
| 490 | that we can now export files rich in special symbols to Latin-1 and to | ||
| 491 | UTF-8 files. These new exporters can be reached with the commands =C-c | ||
| 492 | C-e n= and =C-c C-e u=, respectively. | ||
| 493 | |||
| 494 | When there is no representation for a given symbol in the targeted | ||
| 495 | coding system, you can choose to keep the TeX-macro-like | ||
| 496 | representation, or to get an "explanatory" representation. For | ||
| 497 | example, =\simeq= could be represented as "[approx. equal to]". Please | ||
| 498 | use the variable =org-entities-ascii-explanatory= to state your | ||
| 499 | preference. | ||
| 500 | |||
| 501 | *** HTML export: Add class to outline containers using property | ||
| 502 | :PROPERTIES: | ||
| 503 | :OrgVersion: 6.35 | ||
| 504 | :END: | ||
| 505 | |||
| 506 | The =HTML_CONTAINER_CLASS= property can now be used to add a class name | ||
| 507 | to the outline container of a node in HTML export. | ||
| 508 | |||
| 509 | *** Throw an error when creating an image from a LaTeX snippet fails | ||
| 510 | :PROPERTIES: | ||
| 511 | :OrgVersion: 6.35 | ||
| 512 | :END: | ||
| 513 | |||
| 514 | This behavior can be configured with the new option variable | ||
| 515 | =org-format-latex-signal-error=. | ||
| 516 | |||
| 517 | *** Support for creating BEAMER presentations from Org-mode documents | ||
| 518 | :PROPERTIES: | ||
| 519 | :OrgVersion: 6.34 | ||
| 520 | :END: | ||
| 521 | |||
| 522 | Org-mode documents or subtrees can now be converted directly in to | ||
| 523 | BEAMER presentation. Turning a tree into a simple presentations is | ||
| 524 | straight forward, and there is also quite some support to make richer | ||
| 525 | presentations as well. See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER section]] in the manual for more | ||
| 526 | details. | ||
| 527 | |||
| 528 | Thanks to everyone who has contributed to the discussion about BEAMER | ||
| 529 | support and how it should work. This was a great example for how this | ||
| 530 | community can achieve a much better result than any individual could. | ||
| 531 | |||
| 532 | ** Refiling | ||
| 533 | |||
| 534 | *** Refile targets can now be cached | ||
| 535 | :PROPERTIES: | ||
| 536 | :OrgVersion: 7.01 | ||
| 537 | :END: | ||
| 538 | |||
| 539 | You can turn on caching of refile targets by setting the variable | ||
| 540 | =org-refile-use-cache=. This should speed up refiling if you have many | ||
| 541 | eligible targets in many files. If you need to update the cache | ||
| 542 | because Org misses a newly created entry or still offers a deleted one, | ||
| 543 | press =C-0 C-c C-w=. | ||
| 544 | |||
| 545 | *** New logging support for refiling | ||
| 546 | :PROPERTIES: | ||
| 547 | :OrgVersion: 6.35 | ||
| 548 | :END: | ||
| 549 | |||
| 550 | Whenever you refile an item, a time stamp and even a note can be added | ||
| 551 | to this entry. For details, see the new option =org-log-refile=. | ||
| 552 | |||
| 553 | Thanks to Charles Cave for this idea. | ||
| 554 | |||
| 555 | ** Completion | ||
| 556 | |||
| 557 | *** In-buffer completion is now done using John Wiegleys pcomplete.el | ||
| 558 | :PROPERTIES: | ||
| 559 | :OrgVersion: 7.4 | ||
| 560 | :END: | ||
| 561 | |||
| 562 | Thanks to John Wiegley for much of this code. | ||
| 563 | |||
| 564 | ** Tables | ||
| 565 | |||
| 566 | *** New command =org-table-transpose-table-at-point= | ||
| 567 | :PROPERTIES: | ||
| 568 | :OrgVersion: 7.8 | ||
| 569 | :END: | ||
| 570 | |||
| 571 | See the docstring. This hack from Juan Pechiar is now part of Org's | ||
| 572 | core. Thanks to Juan! | ||
| 573 | |||
| 574 | *** Display field's coordinates when editing it with =C-c `= | ||
| 575 | :PROPERTIES: | ||
| 576 | :OrgVersion: 7.7 | ||
| 577 | :END: | ||
| 578 | |||
| 579 | When editing a field with =C-c `=, the field's coordinate will the | ||
| 580 | displayed in the buffer. | ||
| 581 | |||
| 582 | Thanks to Michael Brand for a patch to this effect. | ||
| 583 | |||
| 584 | *** Spreadsheet computation of durations and time values | ||
| 585 | :PROPERTIES: | ||
| 586 | :OrgVersion: 7.6 | ||
| 587 | :END: | ||
| 588 | |||
| 589 | If you want to compute time values use the =T= flag, either in Calc | ||
| 590 | formulas or Elisp formulas: | ||
| 591 | |||
| 592 | | Task 1 | Task 2 | Total | | ||
| 593 | |--------+--------+---------| | ||
| 594 | | 35:00 | 35:00 | 1:10:00 | | ||
| 595 | #+TBLFM: @2$3=$1+$2;T | ||
| 596 | |||
| 597 | Values must be of the form =[HH:]MM:SS=, where hours are optional. | ||
| 598 | |||
| 599 | Thanks to Martin Halder, Eric Schulte and Carsten for code and feedback | ||
| 600 | on this. | ||
| 601 | |||
| 602 | *** Implement formulas applying to field ranges | ||
| 603 | :PROPERTIES: | ||
| 604 | :OrgVersion: 7.5 | ||
| 605 | :END: | ||
| 606 | |||
| 607 | Carsten implemented this field-ranges formulas. | ||
| 608 | |||
| 609 | : A frequently requested feature for tables has been to be able to define | ||
| 610 | : row formulas in a way similar to column formulas. The patch below allows | ||
| 611 | : things like | ||
| 612 | : | ||
| 613 | : @3= | ||
| 614 | : @2$2..@5$7= | ||
| 615 | : @I$2..@II$4= | ||
| 616 | : | ||
| 617 | : as the left hand side for table formulas in order to write a formula that | ||
| 618 | : is valid for an entire column or for a rectangular section in a | ||
| 619 | : table. | ||
| 620 | |||
| 621 | Thanks a lot to Carsten for this. | ||
| 622 | |||
| 623 | *** Sending radio tables from org buffers is now allowed | ||
| 624 | :PROPERTIES: | ||
| 625 | :OrgVersion: 7.4 | ||
| 626 | :END: | ||
| 627 | |||
| 628 | Org radio tables can no also be sent inside Org buffers. Also, there | ||
| 629 | is a new hook which get called after a table has been sent. | ||
| 630 | |||
| 631 | Thanks to Seweryn Kokot. | ||
| 632 | |||
| 633 | ** Lists | ||
| 634 | |||
| 635 | *** Improved handling of lists | ||
| 636 | :PROPERTIES: | ||
| 637 | :OrgVersion: 7.5 | ||
| 638 | :END: | ||
| 639 | |||
| 640 | Nicolas Goaziou extended and improved the way Org handles lists. | ||
| 641 | |||
| 642 | 1. Indentation of text determines again end of items in lists. So, some | ||
| 643 | text less indented than the previous item doesn't close the whole | ||
| 644 | list anymore, only all items more indented than it. | ||
| 645 | |||
| 646 | 2. Alphabetical bullets are implemented, through the use of the | ||
| 647 | variable `org-alphabetical-lists'. This also adds alphabetical | ||
| 648 | counters like [@c] or [@W]. | ||
| 649 | |||
| 650 | 3. Lists can now safely contain drawers, inline tasks, or various | ||
| 651 | blocks, themselves containing lists. Two variables are controlling | ||
| 652 | this: `org-list-forbidden-blocks', and `org-list-export-context'. | ||
| 653 | |||
| 654 | 4. Improve `newline-and-indent' (C-j): used in an item, it will keep | ||
| 655 | text from moving at column 0. This allows to split text and make | ||
| 656 | paragraphs and still not break the list. | ||
| 657 | |||
| 658 | 5. Improve `org-toggle-item' (C-c -): used on a region with standard | ||
| 659 | text, it will change the region into one item. With a prefix | ||
| 660 | argument, it will fallback to the previous behavior and make every | ||
| 661 | line in region an item. It permits to easily integrate paragraphs | ||
| 662 | inside a list. | ||
| 663 | |||
| 664 | 6. `fill-paragraph' (M-q) now understands lists. It can freely be used | ||
| 665 | inside items, or on text just after a list, even with no blank line | ||
| 666 | around, without breaking list structure. | ||
| 667 | |||
| 668 | Thanks a lot to Nicolas for all this! | ||
| 669 | |||
| 670 | ** Inline display of linked images | ||
| 671 | :PROPERTIES: | ||
| 672 | :OrgVersion: 6.36 | ||
| 673 | :END: | ||
| 674 | |||
| 675 | Images can now be displayed inline. The key C-c C-x C-v does toggle the | ||
| 676 | display of such images. Note that only image links that have no | ||
| 677 | description part will be inlined. | ||
| 678 | |||
| 679 | ** Implement offsets for ordered lists | ||
| 680 | :PROPERTIES: | ||
| 681 | :OrgVersion: 6.36 | ||
| 682 | :END: | ||
| 683 | |||
| 684 | If you want to start an ordered plain list with a number different from | ||
| 685 | 1, you can now do it like this: | ||
| 686 | |||
| 687 | : 1. [@start:12] will star a lit a number 12 | ||
| 688 | |||
| 689 | ** Babel: code block body expansion for table and preview | ||
| 690 | :PROPERTIES: | ||
| 691 | :OrgVersion: 6.36 | ||
| 692 | :END: | ||
| 693 | |||
| 694 | In org-babel, code is "expanded" prior to evaluation. I.e. the code that | ||
| 695 | is actually evaluated comprises the code block contents, augmented with | ||
| 696 | the extra code which assigns the referenced data to variables. It is now | ||
| 697 | possible to preview expanded contents, and also to expand code during | ||
| 698 | during tangling. This expansion takes into account all header arguments, | ||
| 699 | and variables. | ||
| 700 | |||
| 701 | A new key-binding `C-c M-b p' bound to `org-babel-expand-src-block' can | ||
| 702 | be used from inside of a source code block to preview its expanded | ||
| 703 | contents (which can be very useful for debugging). tangling | ||
| 704 | |||
| 705 | The expanded body can now be tangled, this includes variable values | ||
| 706 | which may be the results of other source-code blocks, or stored in | ||
| 707 | headline properties or tables. One possible use for this is to allow | ||
| 708 | those using org-babel for their emacs initialization to store values | ||
| 709 | (e.g. usernames, passwords, etc...) in headline properties or in tables. | ||
| 710 | |||
| 711 | Org-babel now supports three new header arguments, and new default | ||
| 712 | behavior for handling horizontal lines in tables (hlines), column names, | ||
| 713 | and rownames across all languages. | ||
| 714 | |||
| 715 | ** Editing Convenience and Appearance | ||
| 716 | |||
| 717 | *** New command =org-copy-visible= (=C-c C-x v=) | ||
| 718 | :PROPERTIES: | ||
| 719 | :OrgVersion: 7.7 | ||
| 720 | :END: | ||
| 721 | |||
| 722 | This command will copy the visible text in the region into the kill | ||
| 723 | ring. Thanks to Florian Beck for this function and to Carsten for | ||
| 724 | adding it to org.el and documenting it! | ||
| 725 | |||
| 726 | *** Make it possible to protect hidden subtrees from being killed by =C-k= | ||
| 727 | :PROPERTIES: | ||
| 728 | :OrgVersion: 7.01 | ||
| 729 | :END: | ||
| 730 | |||
| 731 | See the new variable =org-ctrl-k-protect-subtree=. This was a request | ||
| 732 | by Scott Otterson. | ||
| 733 | |||
| 734 | *** Implement pretty display of entities, sub-, and superscripts. | ||
| 735 | :PROPERTIES: | ||
| 736 | :OrgVersion: 7.01 | ||
| 737 | :END: | ||
| 738 | |||
| 739 | The command =C-c C-x \= toggles the display of Org's special entities | ||
| 740 | like =\alpha= as pretty unicode characters. Also, sub and superscripts | ||
| 741 | are displayed in a pretty way (raised/lower display, in a smaller | ||
| 742 | font). If you want to exclude sub- and superscripts, see the variable | ||
| 743 | =org-pretty-entities-include-sub-superscripts=. | ||
| 744 | |||
| 745 | Thanks to Eric Schulte and Ulf Stegeman for making this possible. | ||
| 746 | |||
| 747 | *** New faces for title, date, author and email address lines | ||
| 748 | :PROPERTIES: | ||
| 749 | :OrgVersion: 6.35 | ||
| 750 | :END: | ||
| 751 | |||
| 752 | The keywords in these lines are now dimmed out, and the title is | ||
| 753 | displayed in a larger font, and a special font is also used for author, | ||
| 754 | date, and email information. This is implemented by the following new | ||
| 755 | faces: | ||
| 756 | |||
| 757 | =org-document-title= | ||
| 758 | =org-document-info= | ||
| 759 | =org-document-info-keyword= | ||
| 760 | |||
| 761 | In addition, the variable =org-hidden-keywords= can be used to make the | ||
| 762 | corresponding keywords disappear. | ||
| 763 | |||
| 764 | Thanks to Dan Davison for this feature. | ||
| 765 | |||
| 766 | *** Simpler way to specify faces for tags and todo keywords | ||
| 767 | :PROPERTIES: | ||
| 768 | :OrgVersion: 6.35 | ||
| 769 | :END: | ||
| 770 | |||
| 771 | The variables =org-todo-keyword-faces=, =org-tag-faces=, and | ||
| 772 | =org-priority-faces= now accept simple color names as specifications. | ||
| 773 | The colors will be used as either foreground or background color for | ||
| 774 | the corresponding keyword. See also the variable | ||
| 775 | =org-faces-easy-properties=, which governs which face property is | ||
| 776 | affected by this setting. | ||
| 777 | |||
| 778 | This is really a great simplification for setting keyword faces. The | ||
| 779 | change is based on an idea and patch by Ryan Thompson. | ||
| 780 | |||
| 781 | *** <N> in tables now means fixed width, not maximum width | ||
| 782 | :PROPERTIES: | ||
| 783 | :OrgVersion: 6.35 | ||
| 784 | :END: | ||
| 785 | |||
| 786 | Requested by Michael Brand. | ||
| 787 | |||
| 788 | *** Better level cycling function | ||
| 789 | :PROPERTIES: | ||
| 790 | :OrgVersion: 6.35 | ||
| 791 | :END: | ||
| 792 | |||
| 793 | =TAB= in an empty headline cycles the level of that headline through | ||
| 794 | likely states. Ryan Thompson implemented an improved version of this | ||
| 795 | function, which does not depend upon when exactly this command is used. | ||
| 796 | Thanks to Ryan for this improvement. | ||
| 797 | |||
| 798 | *** Adaptive filling | ||
| 799 | :PROPERTIES: | ||
| 800 | :OrgVersion: 6.35 | ||
| 801 | :END: | ||
| 802 | |||
| 803 | For paragraph text, =org-adaptive-fill-function= did not handle the | ||
| 804 | base case of regular text which needed to be filled. This is now | ||
| 805 | fixed. Among other things, it allows email-style ">" comments to be | ||
| 806 | filled correctly. | ||
| 807 | |||
| 808 | Thanks to Dan Hackney for this patch. | ||
| 809 | |||
| 810 | *** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el) | ||
| 811 | :PROPERTIES: | ||
| 812 | :OrgVersion: 6.35 | ||
| 813 | :END: | ||
| 814 | |||
| 815 | Thanks to Richard Riley for triggering this change. | ||
| 816 | |||
| 817 | *** Better automatic letter selection for TODO keywords | ||
| 818 | :PROPERTIES: | ||
| 819 | :OrgVersion: 6.35 | ||
| 820 | :END: | ||
| 821 | |||
| 822 | When all first letters of keywords have been used, Org now assigns more | ||
| 823 | meaningful characters based on the keywords. | ||
| 824 | |||
| 825 | Thanks to Mikael Fornius for this patch. | ||
| 826 | |||
| 827 | ** Clocking | ||
| 828 | |||
| 829 | *** Clock: Allow synchronous update of timestamps in CLOCK log | ||
| 830 | :PROPERTIES: | ||
| 831 | :OrgVersion: 7.7 | ||
| 832 | :END: | ||
| 833 | |||
| 834 | Using =S-M-<up/down>= on CLOCK log timestamps will increase/decrease | ||
| 835 | the two timestamps on this line so that duration will keep the same. | ||
| 836 | Note that duration can still be slightly modified in case a timestamp | ||
| 837 | needs some rounding. | ||
| 838 | |||
| 839 | Thanks to Rainer Stengele for this idea. | ||
| 840 | |||
| 841 | *** Localized clock tables | ||
| 842 | :PROPERTIES: | ||
| 843 | :OrgVersion: 7.5 | ||
| 844 | :END: | ||
| 845 | |||
| 846 | Clock tables now support a new new =:lang= parameter, allowing the user | ||
| 847 | to customize the localization of the table headers. See the variable | ||
| 848 | =org-clock-clocktable-language-setup= which controls available | ||
| 849 | translated strings. | ||
| 850 | |||
| 851 | *** Show clock overruns in mode line | ||
| 852 | :PROPERTIES: | ||
| 853 | :OrgVersion: 6.35 | ||
| 854 | :END: | ||
| 855 | |||
| 856 | When clocking an item with a planned effort, overrunning the planned | ||
| 857 | time is now made visible in the mode line, for example using the new | ||
| 858 | face =org-mode-line-clock-overrun=, or by adding an extra string given | ||
| 859 | by =org-task-overrun-text=. | ||
| 860 | |||
| 861 | Thanks to Richard Riley for a patch to this effect. | ||
| 862 | |||
| 863 | *** Clock reports can now include the running, incomplete clock | ||
| 864 | :PROPERTIES: | ||
| 865 | :OrgVersion: 6.35 | ||
| 866 | :END: | ||
| 867 | |||
| 868 | If you have a clock running, and the entry being clocked falls into the | ||
| 869 | scope when creating a clock table, the time so far spent can be added | ||
| 870 | to the total. This behavior depends on the setting of | ||
| 871 | =org-clock-report-include-clocking-task=. The default is =nil=. | ||
| 872 | |||
| 873 | Thanks to Bernt Hansen for this useful addition. | ||
| 874 | |||
| 875 | ** Misc | ||
| 876 | |||
| 877 | *** Improvements with inline tasks and indentation | ||
| 878 | :PROPERTIES: | ||
| 879 | :OrgVersion: 7.4 | ||
| 880 | :END: | ||
| 881 | |||
| 882 | There is now a configurable way on how to export inline tasks. See the | ||
| 883 | new variable =org-inlinetask-export-templates=. | ||
| 884 | |||
| 885 | Thanks to Nicolas Goaziou for coding these changes. | ||
| 886 | |||
| 887 | *** A property value of "nil" now means to unset a property | ||
| 888 | :PROPERTIES: | ||
| 889 | :OrgVersion: 7.01 | ||
| 890 | :END: | ||
| 891 | |||
| 892 | This can be useful in particular with property inheritance, if some | ||
| 893 | upper level has the property, and some grandchild of it would like to | ||
| 894 | have the default settings (i.e. not overruled by a property) back. | ||
| 895 | |||
| 896 | Thanks to Robert Goldman and Bernt Hansen for suggesting this change. | ||
| 897 | |||
| 898 | *** New helper functions in org-table.el | ||
| 899 | :PROPERTIES: | ||
| 900 | :OrgVersion: 6.35 | ||
| 901 | :END: | ||
| 902 | |||
| 903 | There are new functions to access and write to a specific table field. | ||
| 904 | This is for hackers, and maybe for the org-babel people. | ||
| 905 | |||
| 906 | #+begin_example | ||
| 907 | org-table-get | ||
| 908 | org-table-put | ||
| 909 | org-table-current-line | ||
| 910 | org-table-goto-line | ||
| 911 | #+end_example | ||
| 912 | |||
| 913 | *** Archiving: Allow to reverse order in target node | ||
| 914 | :PROPERTIES: | ||
| 915 | :OrgVersion: 6.35 | ||
| 916 | :END: | ||
| 917 | |||
| 918 | The new option =org-archive-reversed-order= allows to have archived | ||
| 919 | entries inserted in a last-on-top fashion in the target node. | ||
| 920 | |||
| 921 | This was requested by Tom. | ||
| 922 | |||
| 923 | *** Org-reveal: Double prefix arg shows the entire subtree of the parent | ||
| 924 | :PROPERTIES: | ||
| 925 | :OrgVersion: 6.35 | ||
| 926 | :END: | ||
| 927 | |||
| 928 | This can help to get out of an inconsistent state produced for example | ||
| 929 | by viewing from the agenda. | ||
| 930 | |||
| 931 | This was a request by Matt Lundin. | ||
| 932 | |||
| 933 | * License | ||
| 934 | |||
| 935 | This file is part of GNU Emacs. | ||
| 936 | |||
| 937 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 938 | it under the terms of the GNU General Public License as published by | ||
| 939 | the Free Software Foundation, either version 3 of the License, or | ||
| 940 | (at your option) any later version. | ||
| 941 | |||
| 942 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 943 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 944 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 945 | GNU General Public License for more details. | ||
| 946 | |||
| 947 | You should have received a copy of the GNU General Public License | ||
| 948 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
diff --git a/etc/org/OrgOdtStyles.xml b/etc/org/OrgOdtStyles.xml index 470b7b134a7..84125c96d8a 100644 --- a/etc/org/OrgOdtStyles.xml +++ b/etc/org/OrgOdtStyles.xml | |||
| @@ -649,34 +649,34 @@ | |||
| 649 | <!-- Description List --> | 649 | <!-- Description List --> |
| 650 | <text:list-style style:name="OrgDescriptionList"> | 650 | <text:list-style style:name="OrgDescriptionList"> |
| 651 | <text:list-level-style-number text:level="1" style:num-format=""> | 651 | <text:list-level-style-number text:level="1" style:num-format=""> |
| 652 | <style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm"/> | 652 | <style:list-level-properties text:space-before="0.635cm"/> |
| 653 | </text:list-level-style-number> | 653 | </text:list-level-style-number> |
| 654 | <text:list-level-style-number text:level="2" style:num-format=""> | 654 | <text:list-level-style-number text:level="2" style:num-format=""> |
| 655 | <style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm"/> | 655 | <style:list-level-properties text:space-before="1.27cm"/> |
| 656 | </text:list-level-style-number> | 656 | </text:list-level-style-number> |
| 657 | <text:list-level-style-number text:level="3" style:num-format=""> | 657 | <text:list-level-style-number text:level="3" style:num-format=""> |
| 658 | <style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm"/> | 658 | <style:list-level-properties text:space-before="1.905cm"/> |
| 659 | </text:list-level-style-number> | 659 | </text:list-level-style-number> |
| 660 | <text:list-level-style-number text:level="4" style:num-format=""> | 660 | <text:list-level-style-number text:level="4" style:num-format=""> |
| 661 | <style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm"/> | 661 | <style:list-level-properties text:space-before="2.54cm"/> |
| 662 | </text:list-level-style-number> | 662 | </text:list-level-style-number> |
| 663 | <text:list-level-style-number text:level="5" style:num-format=""> | 663 | <text:list-level-style-number text:level="5" style:num-format=""> |
| 664 | <style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm"/> | 664 | <style:list-level-properties text:space-before="3.175cm"/> |
| 665 | </text:list-level-style-number> | 665 | </text:list-level-style-number> |
| 666 | <text:list-level-style-number text:level="6" style:num-format=""> | 666 | <text:list-level-style-number text:level="6" style:num-format=""> |
| 667 | <style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm"/> | 667 | <style:list-level-properties text:space-before="3.81cm"/> |
| 668 | </text:list-level-style-number> | 668 | </text:list-level-style-number> |
| 669 | <text:list-level-style-number text:level="7" style:num-format=""> | 669 | <text:list-level-style-number text:level="7" style:num-format=""> |
| 670 | <style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm"/> | 670 | <style:list-level-properties text:space-before="4.445cm"/> |
| 671 | </text:list-level-style-number> | 671 | </text:list-level-style-number> |
| 672 | <text:list-level-style-number text:level="8" style:num-format=""> | 672 | <text:list-level-style-number text:level="8" style:num-format=""> |
| 673 | <style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm"/> | 673 | <style:list-level-properties text:space-before="5.08cm"/> |
| 674 | </text:list-level-style-number> | 674 | </text:list-level-style-number> |
| 675 | <text:list-level-style-number text:level="9" style:num-format=""> | 675 | <text:list-level-style-number text:level="9" style:num-format=""> |
| 676 | <style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm"/> | 676 | <style:list-level-properties text:space-before="5.715cm"/> |
| 677 | </text:list-level-style-number> | 677 | </text:list-level-style-number> |
| 678 | <text:list-level-style-number text:level="10" style:num-format=""> | 678 | <text:list-level-style-number text:level="10" style:num-format=""> |
| 679 | <style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm"/> | 679 | <style:list-level-properties text:space-before="6.35cm"/> |
| 680 | </text:list-level-style-number> | 680 | </text:list-level-style-number> |
| 681 | </text:list-style> | 681 | </text:list-style> |
| 682 | 682 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0b0065f520e..f88a386178f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,7 +1,57 @@ | |||
| 1 | 2012-04-27 Chong Yidong <cyd@gnu.org> | 1 | 2012-04-27 Chong Yidong <cyd@gnu.org> |
| 2 | 2 | ||
| 3 | * subr.el (read-key): Avoid running filter function when setting | ||
| 4 | up temporary tool bar entries (Bug#9922). | ||
| 5 | |||
| 6 | 2012-04-27 Andreas Schwab <schwab@linux-m68k.org> | ||
| 7 | |||
| 8 | * vc/vc-git.el (vc-git-state): Fix regexp matching diff output. | ||
| 9 | (Bug#11344) | ||
| 10 | |||
| 11 | 2012-04-27 Chong Yidong <cyd@gnu.org> | ||
| 12 | |||
| 13 | * select.el (xselect--encode-string): New function, split from | ||
| 14 | xselect-convert-to-string. | ||
| 15 | (xselect-convert-to-string): Use it. | ||
| 16 | (xselect-convert-to-filename, xselect-convert-to-os) | ||
| 17 | (xselect-convert-to-host, xselect-convert-to-user): Ensure that | ||
| 18 | returned strings are properly encoded (Bug#11315). | ||
| 19 | |||
| 20 | 2012-04-27 Chong Yidong <cyd@gnu.org> | ||
| 21 | |||
| 22 | * simple.el (delete-active-region): Move to killing custom group. | ||
| 23 | |||
| 24 | 2012-04-27 Andreas Schwab <schwab@linux-m68k.org> | ||
| 25 | |||
| 26 | * progmodes/which-func.el (which-func-current): Quote % | ||
| 27 | characters for mode-line processing. | ||
| 28 | |||
| 29 | 2012-04-21 Chong Yidong <cyd@gnu.org> | ||
| 30 | |||
| 31 | * xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to | ||
| 32 | reaching eob (Bug#11286). | ||
| 33 | |||
| 34 | 2012-04-27 Eli Zaretskii <eliz@gnu.org> | ||
| 35 | |||
| 36 | * progmodes/gdb-mi.el (gdb-control-level): New variable. | ||
| 37 | (gdb): Make it buffer-local and init to zero. | ||
| 38 | (gdb-control-commands-regexp): New variable. | ||
| 39 | (gdb-send): Don't wrap in "-interpreter-exec console" if | ||
| 40 | gdb-control-level is positive. Increment gdb-control-level | ||
| 41 | whenever the command matches gdb-control-commands-regexp, and | ||
| 42 | decrement it each time the command is "end". (Bug#11279) | ||
| 43 | |||
| 44 | 2012-04-27 Martin Rudalics <rudalics@gmx.at> | ||
| 45 | |||
| 46 | * window.el (adjust-window-trailing-edge, enlarge-window) | ||
| 47 | (shrink-window, window-resize): | ||
| 48 | * mouse.el (mouse-drag-line): Fix resizing of minibuffer | ||
| 49 | windows (Bug#11276). | ||
| 50 | |||
| 51 | 2012-04-27 Chong Yidong <cyd@gnu.org> | ||
| 52 | |||
| 3 | * progmodes/pascal.el (pascal--extra-indent): Rename from ind, to | 53 | * progmodes/pascal.el (pascal--extra-indent): Rename from ind, to |
| 4 | fix "missig prefix" warning. All callers changed. | 54 | fix "missing prefix" warning. All callers changed. |
| 5 | 55 | ||
| 6 | 2012-04-27 Stefan Monnier <monnier@iro.umontreal.ca> | 56 | 2012-04-27 Stefan Monnier <monnier@iro.umontreal.ca> |
| 7 | 57 | ||
diff --git a/lisp/emacs-lisp/check-declare.el b/lisp/emacs-lisp/check-declare.el index 3135b9b5827..d4213899ef6 100644 --- a/lisp/emacs-lisp/check-declare.el +++ b/lisp/emacs-lisp/check-declare.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; check-declare.el --- Check declare-function statements | 1 | ;;; check-declare.el --- Check declare-function statements |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2007-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2007-2012 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Glenn Morris <rgm@gnu.org> | 5 | ;; Author: Glenn Morris <rgm@gnu.org> |
| 6 | ;; Keywords: lisp, tools, maint | 6 | ;; Keywords: lisp, tools, maint |
| @@ -28,7 +28,7 @@ | |||
| 28 | ;; checks that all such statements in a file or directory are accurate. | 28 | ;; checks that all such statements in a file or directory are accurate. |
| 29 | ;; The entry points are `check-declare-file' and `check-declare-directory'. | 29 | ;; The entry points are `check-declare-file' and `check-declare-directory'. |
| 30 | 30 | ||
| 31 | ;; For more information, see Info node `elisp(Declaring Functions)'. | 31 | ;; For more information, see Info node `(elisp)Declaring Functions'. |
| 32 | 32 | ||
| 33 | ;;; TODO: | 33 | ;;; TODO: |
| 34 | 34 | ||
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index e25ffd933e6..556094ca614 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2012-04-27 Andreas Schwab <schwab@linux-m68k.org> | ||
| 2 | |||
| 3 | * gnus.el (debbugs-gnu): Don't override existing autoload definition. | ||
| 4 | |||
| 1 | 2012-04-26 Daiki Ueno <ueno@unixuser.org> | 5 | 2012-04-26 Daiki Ueno <ueno@unixuser.org> |
| 2 | 6 | ||
| 3 | * plstore.el (plstore-called-interactively-p): New compat macro copied | 7 | * plstore.el (plstore-called-interactively-p): New compat macro copied |
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index cc4f2eb1e7a..635bb6fc96f 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el | |||
| @@ -4397,7 +4397,9 @@ prompt the user for the name of an NNTP server to use." | |||
| 4397 | (gnus-1 arg dont-connect slave) | 4397 | (gnus-1 arg dont-connect slave) |
| 4398 | (gnus-final-warning))) | 4398 | (gnus-final-warning))) |
| 4399 | 4399 | ||
| 4400 | (autoload 'debbugs-gnu "debbugs-gnu") | 4400 | (eval-and-compile |
| 4401 | (unless (fboundp 'debbugs-gnu) | ||
| 4402 | (autoload 'debbugs-gnu "debbugs-gnu" "List all outstanding Emacs bugs." t))) | ||
| 4401 | (defun gnus-list-debbugs () | 4403 | (defun gnus-list-debbugs () |
| 4402 | "List all open Gnus bug reports." | 4404 | "List all open Gnus bug reports." |
| 4403 | (interactive) | 4405 | (interactive) |
diff --git a/lisp/mouse.el b/lisp/mouse.el index 8e08f89f22c..46e50ed9508 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -403,13 +403,16 @@ must be one of the symbols header, mode, or vertical." | |||
| 403 | (or mouse-1-click-in-non-selected-windows | 403 | (or mouse-1-click-in-non-selected-windows |
| 404 | (eq window (selected-window))) | 404 | (eq window (selected-window))) |
| 405 | (mouse-on-link-p start))) | 405 | (mouse-on-link-p start))) |
| 406 | (enlarge-minibuffer | 406 | (resize-minibuffer |
| 407 | ;; Resize the minibuffer window if it's on the same frame as | ||
| 408 | ;; and immediately below the position window and it's either | ||
| 409 | ;; active or `resize-mini-windows' is nil. | ||
| 407 | (and (eq line 'mode) | 410 | (and (eq line 'mode) |
| 408 | (not resize-mini-windows) | ||
| 409 | (eq (window-frame minibuffer-window) frame) | 411 | (eq (window-frame minibuffer-window) frame) |
| 410 | (not (one-window-p t frame)) | ||
| 411 | (= (nth 1 (window-edges minibuffer-window)) | 412 | (= (nth 1 (window-edges minibuffer-window)) |
| 412 | (nth 3 (window-edges window))))) | 413 | (nth 3 (window-edges window))) |
| 414 | (or (not resize-mini-windows) | ||
| 415 | (eq minibuffer-window (active-minibuffer-window))))) | ||
| 413 | (which-side | 416 | (which-side |
| 414 | (and (eq line 'vertical) | 417 | (and (eq line 'vertical) |
| 415 | (or (cdr (assq 'vertical-scroll-bars (frame-parameters frame))) | 418 | (or (cdr (assq 'vertical-scroll-bars (frame-parameters frame))) |
| @@ -424,7 +427,7 @@ must be one of the symbols header, mode, or vertical." | |||
| 424 | ((eq line 'mode) | 427 | ((eq line 'mode) |
| 425 | ;; Check whether mode-line can be dragged at all. | 428 | ;; Check whether mode-line can be dragged at all. |
| 426 | (when (and (window-at-side-p window 'bottom) | 429 | (when (and (window-at-side-p window 'bottom) |
| 427 | (not enlarge-minibuffer)) | 430 | (not resize-minibuffer)) |
| 428 | (setq done t))) | 431 | (setq done t))) |
| 429 | ((eq line 'vertical) | 432 | ((eq line 'vertical) |
| 430 | ;; Get the window to adjust for the vertical case. | 433 | ;; Get the window to adjust for the vertical case. |
| @@ -498,13 +501,9 @@ must be one of the symbols header, mode, or vertical." | |||
| 498 | ;; Remember that we dragged. | 501 | ;; Remember that we dragged. |
| 499 | (setq dragged t)) | 502 | (setq dragged t)) |
| 500 | 503 | ||
| 501 | (cond | 504 | (if (eq line 'mode) |
| 502 | (enlarge-minibuffer | 505 | (adjust-window-trailing-edge window growth) |
| 503 | (adjust-window-trailing-edge window growth)) | 506 | (adjust-window-trailing-edge window (- growth)))))) |
| 504 | ((eq line 'mode) | ||
| 505 | (adjust-window-trailing-edge window growth)) | ||
| 506 | (t | ||
| 507 | (adjust-window-trailing-edge window (- growth))))))) | ||
| 508 | 507 | ||
| 509 | ;; Presumably, if this was just a click, the last event should be | 508 | ;; Presumably, if this was just a click, the last event should be |
| 510 | ;; `mouse-1', whereas if this did move the mouse, it should be a | 509 | ;; `mouse-1', whereas if this did move the mouse, it should be a |
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index 86f493a0a5b..c340fd45df3 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog | |||
| @@ -1,3 +1,67 @@ | |||
| 1 | 2012-04-27 Nicolas Goaziou <n.goaziou@gmail.com> | ||
| 2 | |||
| 3 | * org-table.el (org-table-number-fraction): Fix typo. | ||
| 4 | |||
| 5 | 2012-04-27 Eric Schulte <eric.schulte@gmx.com> | ||
| 6 | |||
| 7 | * ob-python.el (org-babel-execute:python): Ensure newline precedes | ||
| 8 | automatically-added returns. | ||
| 9 | |||
| 10 | 2012-04-27 Nicolas Goaziou <n.goaziou@gmail.com> | ||
| 11 | |||
| 12 | * org-mouse.el (org-mode-hook): Do not move point when clicking on | ||
| 13 | a footnote reference. | ||
| 14 | |||
| 15 | 2012-04-27 Bastien Guerry <bzg@gnu.org> | ||
| 16 | |||
| 17 | * org-faces.el (org-date-selected): Fix docstring. | ||
| 18 | |||
| 19 | 2012-04-27 Nicolas Goaziou <n.goaziou@gmail.com> | ||
| 20 | |||
| 21 | * org-list.el (org-list-struct-indent): Follow | ||
| 22 | `org-list-demote-modify-bullet' specifications for ordered | ||
| 23 | bullets. | ||
| 24 | (org-list-indent-item-generic, org-indent-item-tree) | ||
| 25 | (org-outdent-item-tree): Fix bug when operating on a region. | ||
| 26 | (org-outdent-item, org-indent-item): Allow to operate on a region. | ||
| 27 | |||
| 28 | * org.el (org-shiftmetaleft, org-shiftmetaright): Allow to operate | ||
| 29 | on a region. | ||
| 30 | |||
| 31 | 2012-04-27 Nicolas Goaziou <n.goaziou@gmail.com> | ||
| 32 | |||
| 33 | * org-footnote.el (org-footnote-normalize): Fix positioning in | ||
| 34 | HTML export without a footnote section. | ||
| 35 | |||
| 36 | 2012-04-27 Madan Ramakrishnan <madanr79@gmail.com> (tiny change) | ||
| 37 | |||
| 38 | * org-agenda.el (org-agenda-bulk-mark): Truly make arg optional as | ||
| 39 | advertised by the function. | ||
| 40 | |||
| 41 | 2012-04-27 Zachary Kanfer <zkanfer@gmail.com> (tiny change) | ||
| 42 | |||
| 43 | * org.el (org-read-date-display): Fix bug when displaying the | ||
| 44 | overlay. | ||
| 45 | |||
| 46 | 2012-04-27 Bastien Guerry <bzg@gnu.org> | ||
| 47 | |||
| 48 | * org.el (org-mode): Don't use `buffer-face-mode' by default. | ||
| 49 | |||
| 50 | 2012-04-27 Bastien Guerry <bzg@gnu.org> | ||
| 51 | |||
| 52 | * org-faces.el (org-date-selected): New face. | ||
| 53 | |||
| 54 | 2012-04-27 Jambunathan K <kjambunathan@gmail.com> | ||
| 55 | |||
| 56 | * org-odt.el (org-odt-format-org-link): Pay no heed to whether the | ||
| 57 | internal links destined for headlines provide a description or | ||
| 58 | not. In fact, the `org-store-link' and `org-insert-link' create | ||
| 59 | internal links which do have a description. | ||
| 60 | |||
| 61 | 2012-04-27 Bastien Guerry <bzg@gnu.org> | ||
| 62 | |||
| 63 | * org-clock.el (org-program-exists): Fix docstring. | ||
| 64 | |||
| 1 | 2012-04-14 Bastien Guerry <bzg@gnu.org> | 65 | 2012-04-14 Bastien Guerry <bzg@gnu.org> |
| 2 | 66 | ||
| 3 | * org.el (org-point-at-end-of-empty-headline): Only try to match | 67 | * org.el (org-point-at-end-of-empty-headline): Only try to match |
| @@ -438,11 +502,6 @@ | |||
| 438 | * org-attach.el (org-attach-store-link-p): Remove spurious quote | 502 | * org-attach.el (org-attach-store-link-p): Remove spurious quote |
| 439 | in customization form choice. | 503 | in customization form choice. |
| 440 | 504 | ||
| 441 | 2012-04-01 Tassilo Horn <tassilo@member.fsf.org> | ||
| 442 | |||
| 443 | * org-contacts.el (org-contacts-check-mail-address): Add missing | ||
| 444 | word to `y-or-n-p' question. | ||
| 445 | |||
| 446 | 2012-04-01 Eric Schulte <eric.schulte@gmx.com> | 505 | 2012-04-01 Eric Schulte <eric.schulte@gmx.com> |
| 447 | 506 | ||
| 448 | * ob-sh.el (org-babel-execute:sh): Pass all params to subroutine. | 507 | * ob-sh.el (org-babel-execute:sh): Pass all params to subroutine. |
| @@ -934,11 +993,6 @@ | |||
| 934 | * org-footnote.el (org-footnote-normalize): Make sure that | 993 | * org-footnote.el (org-footnote-normalize): Make sure that |
| 935 | footnotes are moved to a single place during export. | 994 | footnotes are moved to a single place during export. |
| 936 | 995 | ||
| 937 | 2012-04-01 Bastien Guerry <bzg@gnu.org> | ||
| 938 | |||
| 939 | * org.el (org-cycle-internal-global): Prevent the display of | ||
| 940 | messages when cycling from with a Gnus article buffer. | ||
| 941 | |||
| 942 | 2012-04-01 Nicolas Goaziou <n.goaziou@gmail.com> | 996 | 2012-04-01 Nicolas Goaziou <n.goaziou@gmail.com> |
| 943 | 997 | ||
| 944 | * org-footnote.el (org-footnote-normalize): Ensure footnote | 998 | * org-footnote.el (org-footnote-normalize): Ensure footnote |
| @@ -1807,11 +1861,6 @@ | |||
| 1807 | 1861 | ||
| 1808 | 2012-01-03 Bastien Guerry <bzg@gnu.org> | 1862 | 2012-01-03 Bastien Guerry <bzg@gnu.org> |
| 1809 | 1863 | ||
| 1810 | * org-drill.el (org-drill-leech-method, org-drill-scope) | ||
| 1811 | (org-drill-spaced-repetition-algorithm): Fix wrong :type spec. | ||
| 1812 | |||
| 1813 | 2012-01-03 Bastien Guerry <bzg@gnu.org> | ||
| 1814 | |||
| 1815 | * org.el (org-property-re): Also match cumulating properties | 1864 | * org.el (org-property-re): Also match cumulating properties |
| 1816 | like ":prop+:". | 1865 | like ":prop+:". |
| 1817 | 1866 | ||
| @@ -5929,10 +5978,6 @@ | |||
| 5929 | * ob-exp.el (org-babel-exp-in-export-file): Bind | 5978 | * ob-exp.el (org-babel-exp-in-export-file): Bind |
| 5930 | `org-link-search-inhibit-query' to t to inhibit prompts. | 5979 | `org-link-search-inhibit-query' to t to inhibit prompts. |
| 5931 | 5980 | ||
| 5932 | 2011-07-28 Julien Danjou <julien@danjou.info> | ||
| 5933 | |||
| 5934 | * org-contacts.el: Merge org-contacts-wl.el. | ||
| 5935 | |||
| 5936 | 2011-07-28 Carsten Dominik <carsten.dominik@gmail.com> | 5981 | 2011-07-28 Carsten Dominik <carsten.dominik@gmail.com> |
| 5937 | 5982 | ||
| 5938 | * org-exp.el (org-export-add-options-to-plist): Use the right | 5983 | * org-exp.el (org-export-add-options-to-plist): Use the right |
| @@ -5967,10 +6012,6 @@ | |||
| 5967 | * org-agenda.el (org-agenda-open-link): Pass entire text of agenda | 6012 | * org-agenda.el (org-agenda-open-link): Pass entire text of agenda |
| 5968 | line to `org-offer-links-in-entry'. | 6013 | line to `org-offer-links-in-entry'. |
| 5969 | 6014 | ||
| 5970 | 2011-07-28 Michael Markert <markert.michael@googlemail.com> | ||
| 5971 | |||
| 5972 | * org-contacts-wl.el: New file. | ||
| 5973 | |||
| 5974 | 2011-07-28 Matt Lundin <mdl@imapmail.org> | 6015 | 2011-07-28 Matt Lundin <mdl@imapmail.org> |
| 5975 | 6016 | ||
| 5976 | * org-bibtex.el (org-bibtex-search): New function. | 6017 | * org-bibtex.el (org-bibtex-search): New function. |
| @@ -6736,9 +6777,6 @@ | |||
| 6736 | (org-agenda-open-link): Stop using prefix-length. | 6777 | (org-agenda-open-link): Stop using prefix-length. |
| 6737 | (org-agenda-change-all-lines): Stop using prefix-length. | 6778 | (org-agenda-change-all-lines): Stop using prefix-length. |
| 6738 | 6779 | ||
| 6739 | * org-colview-xemacs.el (org-columns-display-here): Stop using | ||
| 6740 | prefix-length. Always return claned items. | ||
| 6741 | |||
| 6742 | * org-colview.el (org-columns-display-here): Stop using | 6780 | * org-colview.el (org-columns-display-here): Stop using |
| 6743 | prefix-length. Always return claned items. | 6781 | prefix-length. Always return claned items. |
| 6744 | 6782 | ||
| @@ -13095,16 +13133,6 @@ | |||
| 13095 | 13133 | ||
| 13096 | * org-capture.el (org-capture-templates): Fix customize type. | 13134 | * org-capture.el (org-capture-templates): Fix customize type. |
| 13097 | 13135 | ||
| 13098 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 13099 | |||
| 13100 | * org-colview-xemacs.el (org-columns-compile-map): | ||
| 13101 | (org-columns-number-to-string): | ||
| 13102 | (org-columns-string-to-number): Handle estimate ranges. | ||
| 13103 | (org-estimate-mean-and-var): New function. | ||
| 13104 | (org-estimate-combine): New function. | ||
| 13105 | (org-estimate-print): New function. | ||
| 13106 | (org-string-to-estimate): New function. | ||
| 13107 | |||
| 13108 | 2010-09-25 Juanma Barranquero <lekktu@gmail.com> | 13136 | 2010-09-25 Juanma Barranquero <lekktu@gmail.com> |
| 13109 | 13137 | ||
| 13110 | * org.el (org-refile-targets): | 13138 | * org.el (org-refile-targets): |
| @@ -14132,9 +14160,6 @@ | |||
| 14132 | * org-src.el (org-edit-src-find-region-and-lang): Test for | 14160 | * org-src.el (org-edit-src-find-region-and-lang): Test for |
| 14133 | table.el as late as possible. | 14161 | table.el as late as possible. |
| 14134 | 14162 | ||
| 14135 | * org-colview-xemacs.el: Make sure this file is never loaded into | ||
| 14136 | Emacs. Remove all tests for XEmacs. | ||
| 14137 | |||
| 14138 | * org-colview.el: Make sure this file is never loaded into XEmacs. | 14163 | * org-colview.el: Make sure this file is never loaded into XEmacs. |
| 14139 | 14164 | ||
| 14140 | * org-agenda.el (org-highlight, org-unhighlight): Use direct | 14165 | * org-agenda.el (org-highlight, org-unhighlight): Use direct |
| @@ -15497,9 +15522,6 @@ | |||
| 15497 | * org-exp.el (org-export): Use "1" as a sign to export only the | 15522 | * org-exp.el (org-export): Use "1" as a sign to export only the |
| 15498 | subtree. | 15523 | subtree. |
| 15499 | 15524 | ||
| 15500 | * org-colview-xemacs.el (org-columns-edit-value): | ||
| 15501 | Use org-unrestricted property. | ||
| 15502 | |||
| 15503 | * org-colview.el (org-columns-edit-value): | 15525 | * org-colview.el (org-columns-edit-value): |
| 15504 | Use org-unrestricted property. | 15526 | Use org-unrestricted property. |
| 15505 | 15527 | ||
| @@ -15898,13 +15920,6 @@ | |||
| 15898 | (org-agenda-colview-summarize): Handle extended summary types | 15920 | (org-agenda-colview-summarize): Handle extended summary types |
| 15899 | properly. | 15921 | properly. |
| 15900 | 15922 | ||
| 15901 | * org-colview-xemacs.el (org-columns-display-here): Don't try to | ||
| 15902 | calculate values if the underlying property is not set. | ||
| 15903 | (org-columns-string-to-number): Convert age strings back into | ||
| 15904 | fractional days. | ||
| 15905 | (org-agenda-colview-summarize): Handle extended summary types | ||
| 15906 | properly. | ||
| 15907 | |||
| 15908 | 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> | 15923 | 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> |
| 15909 | 15924 | ||
| 15910 | * org-exp.el (org-export-format-drawer-function): New variable. | 15925 | * org-exp.el (org-export-format-drawer-function): New variable. |
| @@ -16083,10 +16098,6 @@ | |||
| 16083 | org-return-follows-link' is set and there is nothing else to do in | 16098 | org-return-follows-link' is set and there is nothing else to do in |
| 16084 | this line. | 16099 | this line. |
| 16085 | 16100 | ||
| 16086 | 2009-11-13 James TD Smith <ahktenzero@mohorovi.cc> | ||
| 16087 | |||
| 16088 | * org-colview-xemacs.el: Add in changes from org-colview.el. | ||
| 16089 | |||
| 16090 | 2009-11-13 Dan Davison <davison@stats.ox.ac.uk> | 16101 | 2009-11-13 Dan Davison <davison@stats.ox.ac.uk> |
| 16091 | 16102 | ||
| 16092 | * org-exp-blocks.el: Modify split separator regexp to avoid empty | 16103 | * org-exp-blocks.el: Modify split separator regexp to avoid empty |
| @@ -17212,9 +17223,6 @@ | |||
| 17212 | * org-colview.el (org-columns, org-columns-redo) | 17223 | * org-colview.el (org-columns, org-columns-redo) |
| 17213 | (org-agenda-columns): Don't use `goto-line'. | 17224 | (org-agenda-columns): Don't use `goto-line'. |
| 17214 | 17225 | ||
| 17215 | * org-colview-xemacs.el (org-columns, org-agenda-columns): | ||
| 17216 | Don't use `goto-line'. | ||
| 17217 | |||
| 17218 | * org-agenda.el (org-agenda-mode): Force visual line motion off. | 17226 | * org-agenda.el (org-agenda-mode): Force visual line motion off. |
| 17219 | (org-agenda-add-entry-text-maxlines): Improve docstring. | 17227 | (org-agenda-add-entry-text-maxlines): Improve docstring. |
| 17220 | (org-agenda-start-with-entry-text-mode): New option. | 17228 | (org-agenda-start-with-entry-text-mode): New option. |
| @@ -17319,10 +17327,6 @@ | |||
| 17319 | * org-colview.el (org-columns-edit-value, org-columns-new) | 17327 | * org-colview.el (org-columns-edit-value, org-columns-new) |
| 17320 | (org-insert-columns-dblock): Use org-icompleting-read. | 17328 | (org-insert-columns-dblock): Use org-icompleting-read. |
| 17321 | 17329 | ||
| 17322 | * org-colview-xemacs.el (org-columns-edit-value) | ||
| 17323 | (org-columns-new, org-insert-columns-dblock): | ||
| 17324 | Use org-icompleting-read. | ||
| 17325 | |||
| 17326 | * org-attach.el (org-attach-delete-one, org-attach-open): | 17330 | * org-attach.el (org-attach-delete-one, org-attach-open): |
| 17327 | Use org-icompleting-read. | 17331 | Use org-icompleting-read. |
| 17328 | 17332 | ||
| @@ -18017,10 +18021,6 @@ | |||
| 18017 | in column values. | 18021 | in column values. |
| 18018 | (org-columns-capture-view): Exclude comment and archived trees. | 18022 | (org-columns-capture-view): Exclude comment and archived trees. |
| 18019 | 18023 | ||
| 18020 | * org-colview-xemacs.el (org-columns-capture-view): | ||
| 18021 | Protect vertical bars in column values. | ||
| 18022 | (org-columns-capture-view): Exclude comment and archived trees. | ||
| 18023 | |||
| 18024 | * org.el (org-quote-vert): New function. | 18024 | * org.el (org-quote-vert): New function. |
| 18025 | 18025 | ||
| 18026 | * org-latex.el (org-export-latex-verbatim-wrap): New option. | 18026 | * org-latex.el (org-export-latex-verbatim-wrap): New option. |
| @@ -18209,9 +18209,6 @@ | |||
| 18209 | * org-colview.el (org-dblock-write:columnview): Allow indented | 18209 | * org-colview.el (org-dblock-write:columnview): Allow indented |
| 18210 | #+TBLFM line. | 18210 | #+TBLFM line. |
| 18211 | 18211 | ||
| 18212 | * org-colview-xemacs.el (org-dblock-write:columnview): | ||
| 18213 | Allow indented #+TBLFM line. | ||
| 18214 | |||
| 18215 | * org-clock.el (org-dblock-write:clocktable): Allow indented | 18212 | * org-clock.el (org-dblock-write:clocktable): Allow indented |
| 18216 | #+TBLFM line. | 18213 | #+TBLFM line. |
| 18217 | 18214 | ||
| @@ -18288,9 +18285,6 @@ | |||
| 18288 | 18285 | ||
| 18289 | * org.el (org-enable-priority-commands): New option. | 18286 | * org.el (org-enable-priority-commands): New option. |
| 18290 | 18287 | ||
| 18291 | * org-colview-xemacs.el (org-columns-compute) | ||
| 18292 | (org-columns-number-to-string): Fix problems with empty fields. | ||
| 18293 | |||
| 18294 | * org-colview.el (org-columns-compute) | 18288 | * org-colview.el (org-columns-compute) |
| 18295 | (org-columns-number-to-string): Fix problems with empty fields. | 18289 | (org-columns-number-to-string): Fix problems with empty fields. |
| 18296 | 18290 | ||
| @@ -18493,9 +18487,6 @@ | |||
| 18493 | (org-export-region-as-latex): Use the property list. | 18487 | (org-export-region-as-latex): Use the property list. |
| 18494 | (org-export-as-latex): ???? | 18488 | (org-export-as-latex): ???? |
| 18495 | 18489 | ||
| 18496 | * org-colview-xemacs.el (org-columns-remove-overlays) | ||
| 18497 | (org-columns): Fix call to `local-variable-p'. | ||
| 18498 | |||
| 18499 | 2009-08-06 Carsten Dominik <carsten.dominik@gmail.com> | 18490 | 2009-08-06 Carsten Dominik <carsten.dominik@gmail.com> |
| 18500 | 18491 | ||
| 18501 | * org-latex.el (org-export-latex-after-blockquotes-hook): New hook. | 18492 | * org-latex.el (org-export-latex-after-blockquotes-hook): New hook. |
| @@ -18931,12 +18922,6 @@ | |||
| 18931 | (org-columns-remove-overlays): Restore the value of `truncate-lines'. | 18922 | (org-columns-remove-overlays): Restore the value of `truncate-lines'. |
| 18932 | (org-columns): Remember the value of `truncate-lines'. | 18923 | (org-columns): Remember the value of `truncate-lines'. |
| 18933 | 18924 | ||
| 18934 | * org-colview-xemacs.el (org-colview-initial-truncate-line-value): | ||
| 18935 | New variable. | ||
| 18936 | (org-columns-remove-overlays): Restore the value of | ||
| 18937 | `truncate-lines'. | ||
| 18938 | (org-columns): Remember the value of `truncate-lines'. | ||
| 18939 | |||
| 18940 | * org.el (org-columns-skip-arrchived-trees): New option. | 18925 | * org.el (org-columns-skip-arrchived-trees): New option. |
| 18941 | 18926 | ||
| 18942 | * org-agenda.el (org-agenda-export-html-style): Define color for | 18927 | * org-agenda.el (org-agenda-export-html-style): Define color for |
| @@ -19678,10 +19663,6 @@ | |||
| 19678 | Better error catching when a date/time property does not have allowed | 19663 | Better error catching when a date/time property does not have allowed |
| 19679 | values defined. | 19664 | values defined. |
| 19680 | 19665 | ||
| 19681 | * org-colview-xemacs.el (org-colview-construct-allowed-dates): | ||
| 19682 | Better error catching when a date/time property does not have | ||
| 19683 | allowed values defined. | ||
| 19684 | |||
| 19685 | 2009-01-25 Carsten Dominik <carsten.dominik@gmail.com> | 19666 | 2009-01-25 Carsten Dominik <carsten.dominik@gmail.com> |
| 19686 | 19667 | ||
| 19687 | * org.el (org-map-entries): Restore point and restriction after | 19668 | * org.el (org-map-entries): Restore point and restriction after |
| @@ -20429,10 +20410,6 @@ | |||
| 20429 | * org-colview.el (org-columns-edit-value, org-columns-new) | 20410 | * org-colview.el (org-columns-edit-value, org-columns-new) |
| 20430 | (org-insert-columns-dblock): Use `org-ido-completing-read'. | 20411 | (org-insert-columns-dblock): Use `org-ido-completing-read'. |
| 20431 | 20412 | ||
| 20432 | * org-colview-xemacs.el (org-columns-edit-value) | ||
| 20433 | (org-columns-new, org-insert-columns-dblock): | ||
| 20434 | Use `org-ido-completing-read'. | ||
| 20435 | |||
| 20436 | * org-attach.el (org-attach-delete-one, org-attach-open): | 20413 | * org-attach.el (org-attach-delete-one, org-attach-open): |
| 20437 | Use `org-ido-completing-read'. | 20414 | Use `org-ido-completing-read'. |
| 20438 | 20415 | ||
| @@ -21011,9 +20988,6 @@ | |||
| 21011 | * org-colview.el (org-columns-get-format-and-top-level): | 20988 | * org-colview.el (org-columns-get-format-and-top-level): |
| 21012 | Remove resetting the marker. | 20989 | Remove resetting the marker. |
| 21013 | 20990 | ||
| 21014 | * org-colview-xemacs.el (org-columns-get-format-and-top-level): | ||
| 21015 | Remove resetting the marker. | ||
| 21016 | |||
| 21017 | * org.el (org-entry-property-inherited-from): Improve docstring. | 20991 | * org.el (org-entry-property-inherited-from): Improve docstring. |
| 21018 | (org-entry-get-with-inheritance): Reset marker before starting the | 20992 | (org-entry-get-with-inheritance): Reset marker before starting the |
| 21019 | search. | 20993 | search. |
| @@ -21188,11 +21162,6 @@ | |||
| 21188 | (org-columns-next-allowed-value): | 21162 | (org-columns-next-allowed-value): |
| 21189 | Use `org-colview-construct-allowed-dates'. | 21163 | Use `org-colview-construct-allowed-dates'. |
| 21190 | 21164 | ||
| 21191 | * org-colview-xemacs.el (org-colview-construct-allowed-dates): | ||
| 21192 | New function. | ||
| 21193 | (org-columns-next-allowed-value): | ||
| 21194 | Use `org-colview-construct-allowed-dates'. | ||
| 21195 | |||
| 21196 | * org.el (org-protect-slash): New function. | 21165 | * org.el (org-protect-slash): New function. |
| 21197 | (org-get-refile-targets): Use `org-protect-slash'. | 21166 | (org-get-refile-targets): Use `org-protect-slash'. |
| 21198 | 21167 | ||
| @@ -21322,9 +21291,6 @@ | |||
| 21322 | * org-colview.el (org-columns-display-here): | 21291 | * org-colview.el (org-columns-display-here): |
| 21323 | Use `org-columns-modify-value-for-display-function'. | 21292 | Use `org-columns-modify-value-for-display-function'. |
| 21324 | 21293 | ||
| 21325 | * org-colview-xemacs.el (org-columns-display-here): | ||
| 21326 | Use `org-columns-modify-value-for-display-function'. | ||
| 21327 | |||
| 21328 | * org.el (org-columns-modify-value-for-display-function): New option. | 21294 | * org.el (org-columns-modify-value-for-display-function): New option. |
| 21329 | 21295 | ||
| 21330 | * org-publish.el (org-publish-file): Make sure the directory match | 21296 | * org-publish.el (org-publish-file): Make sure the directory match |
| @@ -21515,8 +21481,6 @@ | |||
| 21515 | 21481 | ||
| 21516 | * org-colview.el (org-columns-next-allowed-value): Bug fix. | 21482 | * org-colview.el (org-columns-next-allowed-value): Bug fix. |
| 21517 | 21483 | ||
| 21518 | * org-colview-xemacs.el (org-columns-next-allowed-value): Bug fix. | ||
| 21519 | |||
| 21520 | * org-agenda.el (org-agenda-get-closed): Get the end time into the | 21484 | * org-agenda.el (org-agenda-get-closed): Get the end time into the |
| 21521 | agenda prefix as well. | 21485 | agenda prefix as well. |
| 21522 | 21486 | ||
| @@ -21637,9 +21601,6 @@ | |||
| 21637 | * org-colview.el (org-columns-next-allowed-value): Handle next | 21601 | * org-colview.el (org-columns-next-allowed-value): Handle next |
| 21638 | argument NTH to directly select a value. | 21602 | argument NTH to directly select a value. |
| 21639 | 21603 | ||
| 21640 | * org-colview-xemacs.el (org-columns-next-allowed-value): Handle next | ||
| 21641 | argument NTH to directly select a value. | ||
| 21642 | |||
| 21643 | 2008-06-17 Carsten Dominik <dominik@science.uva.nl> | 21604 | 2008-06-17 Carsten Dominik <dominik@science.uva.nl> |
| 21644 | 21605 | ||
| 21645 | * org-agenda.el (org-agenda-scheduled-leaders): Fix docstring. | 21606 | * org-agenda.el (org-agenda-scheduled-leaders): Fix docstring. |
| @@ -21783,9 +21744,6 @@ | |||
| 21783 | * org-clock.el (org-clock-display, org-clock-out) | 21744 | * org-clock.el (org-clock-display, org-clock-out) |
| 21784 | (org-update-mode-line): Use `org-time-clocksum-format'. | 21745 | (org-update-mode-line): Use `org-time-clocksum-format'. |
| 21785 | 21746 | ||
| 21786 | * org-colview-xemacs.el (org-columns-number-to-string): | ||
| 21787 | Use `org-time-clocksum-format'. | ||
| 21788 | |||
| 21789 | * org-colview.el (org-columns-number-to-string): | 21747 | * org-colview.el (org-columns-number-to-string): |
| 21790 | Use `org-time-clocksum-format'. | 21748 | Use `org-time-clocksum-format'. |
| 21791 | 21749 | ||
diff --git a/lisp/org/ob-python.el b/lisp/org/ob-python.el index 0dc744aaa73..348248f35cf 100644 --- a/lisp/org/ob-python.el +++ b/lisp/org/ob-python.el | |||
| @@ -64,7 +64,7 @@ This function is called by `org-babel-execute-src-block'." | |||
| 64 | (preamble (cdr (assoc :preamble params))) | 64 | (preamble (cdr (assoc :preamble params))) |
| 65 | (full-body | 65 | (full-body |
| 66 | (org-babel-expand-body:generic | 66 | (org-babel-expand-body:generic |
| 67 | (concat body (if return-val (format "return %s" return-val) "")) | 67 | (concat body (if return-val (format "\nreturn %s" return-val) "")) |
| 68 | params (org-babel-variable-assignments:python params))) | 68 | params (org-babel-variable-assignments:python params))) |
| 69 | (result (org-babel-python-evaluate | 69 | (result (org-babel-python-evaluate |
| 70 | session full-body result-type result-params preamble))) | 70 | session full-body result-type result-params preamble))) |
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el index 3bb0fc84897..ddb56ca4bac 100644 --- a/lisp/org/org-agenda.el +++ b/lisp/org/org-agenda.el | |||
| @@ -8294,7 +8294,7 @@ This is a command that has to be installed in `calendar-mode-map'." | |||
| 8294 | (defun org-agenda-bulk-mark (&optional arg) | 8294 | (defun org-agenda-bulk-mark (&optional arg) |
| 8295 | "Mark the entry at point for future bulk action." | 8295 | "Mark the entry at point for future bulk action." |
| 8296 | (interactive "p") | 8296 | (interactive "p") |
| 8297 | (dotimes (i (max arg 1)) | 8297 | (dotimes (i (or arg 1)) |
| 8298 | (unless (org-get-at-bol 'org-agenda-diary-link) | 8298 | (unless (org-get-at-bol 'org-agenda-diary-link) |
| 8299 | (let* ((m (org-get-at-bol 'org-hd-marker)) | 8299 | (let* ((m (org-get-at-bol 'org-hd-marker)) |
| 8300 | ov) | 8300 | ov) |
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el index 434f6a1d5f6..aabcfc187db 100644 --- a/lisp/org/org-clock.el +++ b/lisp/org/org-clock.el | |||
| @@ -664,7 +664,7 @@ Use alsa's aplay tool if available." | |||
| 664 | (error (beep t) (beep t))))))))) | 664 | (error (beep t) (beep t))))))))) |
| 665 | 665 | ||
| 666 | (defun org-program-exists (program-name) | 666 | (defun org-program-exists (program-name) |
| 667 | "Checks whenever we can locate program and launch it." | 667 | "Checks whenever we can locate PROGRAM-NAME using the `which' executable." |
| 668 | (if (member system-type '(gnu/linux darwin)) | 668 | (if (member system-type '(gnu/linux darwin)) |
| 669 | (= 0 (call-process "which" nil nil nil program-name)))) | 669 | (= 0 (call-process "which" nil nil nil program-name)))) |
| 670 | 670 | ||
diff --git a/lisp/org/org-faces.el b/lisp/org/org-faces.el index 481d662eca1..58f879dd51a 100644 --- a/lisp/org/org-faces.el +++ b/lisp/org/org-faces.el | |||
| @@ -285,6 +285,16 @@ column view defines special faces for each outline level. See the file | |||
| 285 | "Face for date/time stamps." | 285 | "Face for date/time stamps." |
| 286 | :group 'org-faces) | 286 | :group 'org-faces) |
| 287 | 287 | ||
| 288 | (defface org-date-selected | ||
| 289 | (org-compatible-face nil | ||
| 290 | '((((class color) (min-colors 16) (background light)) (:foreground "Red1" :bold nil)) | ||
| 291 | (((class color) (min-colors 16) (background dark)) (:foreground "Pink" :bold nil)) | ||
| 292 | (((class color) (min-colors 8) (background light)) (:foreground "red" :bold nil)) | ||
| 293 | (((class color) (min-colors 8) (background dark)) (:foreground "red" :bold nil)) | ||
| 294 | (t (:inverse-video t)))) | ||
| 295 | "Face for highlighting the calendar day when using `org-read-date'." | ||
| 296 | :group 'org-faces) | ||
| 297 | |||
| 288 | (defface org-sexp-date | 298 | (defface org-sexp-date |
| 289 | '((((class color) (background light)) (:foreground "Purple")) | 299 | '((((class color) (background light)) (:foreground "Purple")) |
| 290 | (((class color) (background dark)) (:foreground "Cyan")) | 300 | (((class color) (background dark)) (:foreground "Cyan")) |
diff --git a/lisp/org/org-footnote.el b/lisp/org/org-footnote.el index 9319e0813c0..a9ba8d7510b 100644 --- a/lisp/org/org-footnote.el +++ b/lisp/org/org-footnote.el | |||
| @@ -716,8 +716,8 @@ Additional note on `org-footnote-insert-pos-for-preprocessor': | |||
| 716 | ((and org-footnote-section (eq major-mode 'org-mode)) | 716 | ((and org-footnote-section (eq major-mode 'org-mode)) |
| 717 | (goto-char (point-min)) | 717 | (goto-char (point-min)) |
| 718 | (if (re-search-forward | 718 | (if (re-search-forward |
| 719 | (concat "^\\*[ \t]+" (regexp-quote org-footnote-section) | 719 | (concat "^\\*[ \t]+" (regexp-quote org-footnote-section) |
| 720 | "[ \t]*$") nil t) | 720 | "[ \t]*$") nil t) |
| 721 | (delete-region (match-beginning 0) (org-end-of-subtree t t))) | 721 | (delete-region (match-beginning 0) (org-end-of-subtree t t))) |
| 722 | ;; A new footnote section is inserted by default at the end of | 722 | ;; A new footnote section is inserted by default at the end of |
| 723 | ;; the buffer. | 723 | ;; the buffer. |
| @@ -727,7 +727,14 @@ Additional note on `org-footnote-insert-pos-for-preprocessor': | |||
| 727 | (unless (bolp) (newline))) | 727 | (unless (bolp) (newline))) |
| 728 | ;; No footnote section set: Footnotes will be added at the end | 728 | ;; No footnote section set: Footnotes will be added at the end |
| 729 | ;; of the section containing their first reference. | 729 | ;; of the section containing their first reference. |
| 730 | ((eq major-mode 'org-mode)) | 730 | ;; Nevertheless, in an export situation, set insertion point to |
| 731 | ;; `point-max' by default. | ||
| 732 | ((eq major-mode 'org-mode) | ||
| 733 | (when export-props | ||
| 734 | (goto-char (point-max)) | ||
| 735 | (skip-chars-backward " \r\t\n") | ||
| 736 | (forward-line) | ||
| 737 | (delete-region (point) (point-max)))) | ||
| 731 | (t | 738 | (t |
| 732 | ;; Remove any left-over tag in the buffer, if one is set up. | 739 | ;; Remove any left-over tag in the buffer, if one is set up. |
| 733 | (when org-footnote-tag-for-non-org-mode-files | 740 | (when org-footnote-tag-for-non-org-mode-files |
diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el index c3775888325..4498280ac77 100644 --- a/lisp/org/org-list.el +++ b/lisp/org/org-list.el | |||
| @@ -1484,8 +1484,19 @@ bullets between START and END." | |||
| 1484 | (change-bullet-maybe | 1484 | (change-bullet-maybe |
| 1485 | (function | 1485 | (function |
| 1486 | (lambda (item) | 1486 | (lambda (item) |
| 1487 | (let* ((bul (org-trim (org-list-get-bullet item struct))) | 1487 | (let ((new-bul-p |
| 1488 | (new-bul-p (cdr (assoc bul org-list-demote-modify-bullet)))) | 1488 | (cdr (assoc |
| 1489 | ;; Normalize ordered bullets. | ||
| 1490 | (let ((bul (org-trim | ||
| 1491 | (org-list-get-bullet item struct)))) | ||
| 1492 | (cond ((string-match "[A-Z]\\." bul) "A.") | ||
| 1493 | ((string-match "[A-Z])" bul) "A)") | ||
| 1494 | ((string-match "[a-z]\\." bul) "a.") | ||
| 1495 | ((string-match "[a-z])" bul) "a)") | ||
| 1496 | ((string-match "[0-9]\\." bul) "1.") | ||
| 1497 | ((string-match "[0-9])" bul) "1)") | ||
| 1498 | (t bul))) | ||
| 1499 | org-list-demote-modify-bullet)))) | ||
| 1489 | (when new-bul-p (org-list-set-bullet item struct new-bul-p)))))) | 1500 | (when new-bul-p (org-list-set-bullet item struct new-bul-p)))))) |
| 1490 | (ind | 1501 | (ind |
| 1491 | (lambda (cell) | 1502 | (lambda (cell) |
| @@ -2500,7 +2511,6 @@ STRUCT is the list structure. | |||
| 2500 | 2511 | ||
| 2501 | Return t if successful." | 2512 | Return t if successful." |
| 2502 | (save-excursion | 2513 | (save-excursion |
| 2503 | (beginning-of-line) | ||
| 2504 | (let* ((regionp (org-region-active-p)) | 2514 | (let* ((regionp (org-region-active-p)) |
| 2505 | (rbeg (and regionp (region-beginning))) | 2515 | (rbeg (and regionp (region-beginning))) |
| 2506 | (rend (and regionp (region-end))) | 2516 | (rend (and regionp (region-end))) |
| @@ -2509,7 +2519,8 @@ Return t if successful." | |||
| 2509 | (prevs (org-list-prevs-alist struct)) | 2519 | (prevs (org-list-prevs-alist struct)) |
| 2510 | ;; Are we going to move the whole list? | 2520 | ;; Are we going to move the whole list? |
| 2511 | (specialp | 2521 | (specialp |
| 2512 | (and (= top (point)) | 2522 | (and (not regionp) |
| 2523 | (= top (point-at-bol)) | ||
| 2513 | (cdr (assq 'indent org-list-automatic-rules)) | 2524 | (cdr (assq 'indent org-list-automatic-rules)) |
| 2514 | (if no-subtree | 2525 | (if no-subtree |
| 2515 | (error | 2526 | (error |
| @@ -2523,12 +2534,12 @@ Return t if successful." | |||
| 2523 | (progn | 2534 | (progn |
| 2524 | (set-marker org-last-indent-begin-marker rbeg) | 2535 | (set-marker org-last-indent-begin-marker rbeg) |
| 2525 | (set-marker org-last-indent-end-marker rend)) | 2536 | (set-marker org-last-indent-end-marker rend)) |
| 2526 | (set-marker org-last-indent-begin-marker (point)) | 2537 | (set-marker org-last-indent-begin-marker (point-at-bol)) |
| 2527 | (set-marker org-last-indent-end-marker | 2538 | (set-marker org-last-indent-end-marker |
| 2528 | (cond | 2539 | (cond |
| 2529 | (specialp (org-list-get-bottom-point struct)) | 2540 | (specialp (org-list-get-bottom-point struct)) |
| 2530 | (no-subtree (1+ (point))) | 2541 | (no-subtree (1+ (point-at-bol))) |
| 2531 | (t (org-list-get-item-end (point) struct)))))) | 2542 | (t (org-list-get-item-end (point-at-bol) struct)))))) |
| 2532 | (let* ((beg (marker-position org-last-indent-begin-marker)) | 2543 | (let* ((beg (marker-position org-last-indent-begin-marker)) |
| 2533 | (end (marker-position org-last-indent-end-marker))) | 2544 | (end (marker-position org-last-indent-end-marker))) |
| 2534 | (cond | 2545 | (cond |
| @@ -2583,19 +2594,35 @@ Return t if successful." | |||
| 2583 | "Outdent a local list item, but not its children. | 2594 | "Outdent a local list item, but not its children. |
| 2584 | If a region is active, all items inside will be moved." | 2595 | If a region is active, all items inside will be moved." |
| 2585 | (interactive) | 2596 | (interactive) |
| 2586 | (if (org-at-item-p) | 2597 | (let ((regionp (org-region-active-p))) |
| 2587 | (let ((struct (org-list-struct))) | 2598 | (cond |
| 2588 | (org-list-indent-item-generic -1 t struct)) | 2599 | ((or (org-at-item-p) |
| 2589 | (error "Not at an item"))) | 2600 | (and regionp |
| 2601 | (save-excursion (goto-char (region-beginning)) | ||
| 2602 | (org-at-item-p)))) | ||
| 2603 | (let ((struct (if (not regionp) (org-list-struct) | ||
| 2604 | (save-excursion (goto-char (region-beginning)) | ||
| 2605 | (org-list-struct))))) | ||
| 2606 | (org-list-indent-item-generic -1 t struct))) | ||
| 2607 | (regionp (error "Region not starting at an item")) | ||
| 2608 | (t (error "Not at an item"))))) | ||
| 2590 | 2609 | ||
| 2591 | (defun org-indent-item () | 2610 | (defun org-indent-item () |
| 2592 | "Indent a local list item, but not its children. | 2611 | "Indent a local list item, but not its children. |
| 2593 | If a region is active, all items inside will be moved." | 2612 | If a region is active, all items inside will be moved." |
| 2594 | (interactive) | 2613 | (interactive) |
| 2595 | (if (org-at-item-p) | 2614 | (let ((regionp (org-region-active-p))) |
| 2596 | (let ((struct (org-list-struct))) | 2615 | (cond |
| 2597 | (org-list-indent-item-generic 1 t struct)) | 2616 | ((or (org-at-item-p) |
| 2598 | (error "Not at an item"))) | 2617 | (and regionp |
| 2618 | (save-excursion (goto-char (region-beginning)) | ||
| 2619 | (org-at-item-p)))) | ||
| 2620 | (let ((struct (if (not regionp) (org-list-struct) | ||
| 2621 | (save-excursion (goto-char (region-beginning)) | ||
| 2622 | (org-list-struct))))) | ||
| 2623 | (org-list-indent-item-generic 1 t struct))) | ||
| 2624 | (regionp (error "Region not starting at an item")) | ||
| 2625 | (t (error "Not at an item"))))) | ||
| 2599 | 2626 | ||
| 2600 | (defun org-outdent-item-tree () | 2627 | (defun org-outdent-item-tree () |
| 2601 | "Outdent a local list item including its children. | 2628 | "Outdent a local list item including its children. |
| @@ -2604,10 +2631,12 @@ If a region is active, all items inside will be moved." | |||
| 2604 | (let ((regionp (org-region-active-p))) | 2631 | (let ((regionp (org-region-active-p))) |
| 2605 | (cond | 2632 | (cond |
| 2606 | ((or (org-at-item-p) | 2633 | ((or (org-at-item-p) |
| 2607 | (and (org-region-active-p) | 2634 | (and regionp |
| 2608 | (goto-char (region-beginning)) | 2635 | (save-excursion (goto-char (region-beginning)) |
| 2609 | (org-at-item-p))) | 2636 | (org-at-item-p)))) |
| 2610 | (let ((struct (org-list-struct))) | 2637 | (let ((struct (if (not regionp) (org-list-struct) |
| 2638 | (save-excursion (goto-char (region-beginning)) | ||
| 2639 | (org-list-struct))))) | ||
| 2611 | (org-list-indent-item-generic -1 nil struct))) | 2640 | (org-list-indent-item-generic -1 nil struct))) |
| 2612 | (regionp (error "Region not starting at an item")) | 2641 | (regionp (error "Region not starting at an item")) |
| 2613 | (t (error "Not at an item"))))) | 2642 | (t (error "Not at an item"))))) |
| @@ -2619,10 +2648,12 @@ If a region is active, all items inside will be moved." | |||
| 2619 | (let ((regionp (org-region-active-p))) | 2648 | (let ((regionp (org-region-active-p))) |
| 2620 | (cond | 2649 | (cond |
| 2621 | ((or (org-at-item-p) | 2650 | ((or (org-at-item-p) |
| 2622 | (and (org-region-active-p) | 2651 | (and regionp |
| 2623 | (goto-char (region-beginning)) | 2652 | (save-excursion (goto-char (region-beginning)) |
| 2624 | (org-at-item-p))) | 2653 | (org-at-item-p)))) |
| 2625 | (let ((struct (org-list-struct))) | 2654 | (let ((struct (if (not regionp) (org-list-struct) |
| 2655 | (save-excursion (goto-char (region-beginning)) | ||
| 2656 | (org-list-struct))))) | ||
| 2626 | (org-list-indent-item-generic 1 nil struct))) | 2657 | (org-list-indent-item-generic 1 nil struct))) |
| 2627 | (regionp (error "Region not starting at an item")) | 2658 | (regionp (error "Region not starting at an item")) |
| 2628 | (t (error "Not at an item"))))) | 2659 | (t (error "Not at an item"))))) |
diff --git a/lisp/org/org-mouse.el b/lisp/org/org-mouse.el index 5a87bd64697..b467064b888 100644 --- a/lisp/org/org-mouse.el +++ b/lisp/org/org-mouse.el | |||
| @@ -915,6 +915,7 @@ This means, between the beginning of line and the point." | |||
| 915 | ((assq :checkbox context) (org-toggle-checkbox)) | 915 | ((assq :checkbox context) (org-toggle-checkbox)) |
| 916 | ((assq :item-bullet context) | 916 | ((assq :item-bullet context) |
| 917 | (let ((org-cycle-include-plain-lists t)) (org-cycle))) | 917 | (let ((org-cycle-include-plain-lists t)) (org-cycle))) |
| 918 | ((org-footnote-at-reference-p) nil) | ||
| 918 | (t ad-do-it)))))) | 919 | (t ad-do-it)))))) |
| 919 | 920 | ||
| 920 | (defun org-mouse-move-tree-start (event) | 921 | (defun org-mouse-move-tree-start (event) |
diff --git a/lisp/org/org-odt.el b/lisp/org/org-odt.el index 234272a378d..2e984a575bd 100644 --- a/lisp/org/org-odt.el +++ b/lisp/org/org-odt.el | |||
| @@ -1689,7 +1689,6 @@ ATTR is a string of other attributes of the a element." | |||
| 1689 | (or (not thefile) (string= thefile "")) | 1689 | (or (not thefile) (string= thefile "")) |
| 1690 | (plist-get org-lparse-opt-plist :section-numbers) | 1690 | (plist-get org-lparse-opt-plist :section-numbers) |
| 1691 | (setq sec-frag fragment) | 1691 | (setq sec-frag fragment) |
| 1692 | (org-find-text-property-in-string 'org-no-description fragment) | ||
| 1693 | (or (string-match "\\`sec\\(\\(-[0-9]+\\)+\\)" sec-frag) | 1692 | (or (string-match "\\`sec\\(\\(-[0-9]+\\)+\\)" sec-frag) |
| 1694 | (and (setq sec-frag | 1693 | (and (setq sec-frag |
| 1695 | (loop for alias in org-export-target-aliases do | 1694 | (loop for alias in org-export-target-aliases do |
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el index 08981b57e49..37e5c4f91a6 100644 --- a/lisp/org/org-table.el +++ b/lisp/org/org-table.el | |||
| @@ -135,8 +135,8 @@ Other options offered by the customize interface are more restrictive." | |||
| 135 | 135 | ||
| 136 | (defcustom org-table-number-fraction 0.5 | 136 | (defcustom org-table-number-fraction 0.5 |
| 137 | "Fraction of numbers in a column required to make the column align right. | 137 | "Fraction of numbers in a column required to make the column align right. |
| 138 | In a column all non-white fields are considered. If at least this | 138 | In a column all non-white fields are considered. If at least |
| 139 | fraction of fields is matched by `org-table-number-fraction', | 139 | this fraction of fields is matched by `org-table-number-regexp', |
| 140 | alignment to the right border applies." | 140 | alignment to the right border applies." |
| 141 | :group 'org-table-settings | 141 | :group 'org-table-settings |
| 142 | :type 'number) | 142 | :type 'number) |
diff --git a/lisp/org/org.el b/lisp/org/org.el index c2cc2354439..838a9a18ad4 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el | |||
| @@ -5057,8 +5057,7 @@ The following commands are available: | |||
| 5057 | 'org-parse-arguments) | 5057 | 'org-parse-arguments) |
| 5058 | (set (make-local-variable 'pcomplete-termination-string) "") | 5058 | (set (make-local-variable 'pcomplete-termination-string) "") |
| 5059 | (when (>= emacs-major-version 23) | 5059 | (when (>= emacs-major-version 23) |
| 5060 | (set (make-local-variable 'buffer-face-mode-face) 'org-default) | 5060 | (set (make-local-variable 'buffer-face-mode-face) 'org-default)) |
| 5061 | (buffer-face-mode)) | ||
| 5062 | 5061 | ||
| 5063 | ;; If empty file that did not turn on org-mode automatically, make it to. | 5062 | ;; If empty file that did not turn on org-mode automatically, make it to. |
| 5064 | (if (and org-insert-mode-line-in-empty-file | 5063 | (if (and org-insert-mode-line-in-empty-file |
| @@ -14915,7 +14914,7 @@ So these are more for recording a certain time/date." | |||
| 14915 | (org-time-stamp arg 'inactive)) | 14914 | (org-time-stamp arg 'inactive)) |
| 14916 | 14915 | ||
| 14917 | (defvar org-date-ovl (make-overlay 1 1)) | 14916 | (defvar org-date-ovl (make-overlay 1 1)) |
| 14918 | (overlay-put org-date-ovl 'face 'org-warning) | 14917 | (overlay-put org-date-ovl 'face 'org-date-selected) |
| 14919 | (org-detach-overlay org-date-ovl) | 14918 | (org-detach-overlay org-date-ovl) |
| 14920 | 14919 | ||
| 14921 | (defvar org-ans1) ; dynamically scoped parameter | 14920 | (defvar org-ans1) ; dynamically scoped parameter |
| @@ -15131,35 +15130,35 @@ user." | |||
| 15131 | (when org-read-date-display-live | 15130 | (when org-read-date-display-live |
| 15132 | (when org-read-date-overlay | 15131 | (when org-read-date-overlay |
| 15133 | (delete-overlay org-read-date-overlay)) | 15132 | (delete-overlay org-read-date-overlay)) |
| 15134 | (let ((p (point))) | 15133 | (when (minibufferp (current-buffer)) |
| 15135 | (end-of-line 1) | 15134 | (save-excursion |
| 15136 | (while (not (equal (buffer-substring | 15135 | (end-of-line 1) |
| 15137 | (max (point-min) (- (point) 4)) (point)) | 15136 | (while (not (equal (buffer-substring |
| 15138 | " ")) | 15137 | (max (point-min) (- (point) 4)) (point)) |
| 15139 | (insert " ")) | 15138 | " ")) |
| 15140 | (goto-char p)) | 15139 | (insert " "))) |
| 15141 | (let* ((ans (concat (buffer-substring (point-at-bol) (point-max)) | 15140 | (let* ((ans (concat (buffer-substring (point-at-bol) (point-max)) |
| 15142 | " " (or org-ans1 org-ans2))) | 15141 | " " (or org-ans1 org-ans2))) |
| 15143 | (org-end-time-was-given nil) | 15142 | (org-end-time-was-given nil) |
| 15144 | (f (org-read-date-analyze ans org-def org-defdecode)) | 15143 | (f (org-read-date-analyze ans org-def org-defdecode)) |
| 15145 | (fmts (if org-dcst | 15144 | (fmts (if org-dcst |
| 15146 | org-time-stamp-custom-formats | 15145 | org-time-stamp-custom-formats |
| 15147 | org-time-stamp-formats)) | 15146 | org-time-stamp-formats)) |
| 15148 | (fmt (if (or org-with-time | 15147 | (fmt (if (or org-with-time |
| 15149 | (and (boundp 'org-time-was-given) org-time-was-given)) | 15148 | (and (boundp 'org-time-was-given) org-time-was-given)) |
| 15150 | (cdr fmts) | 15149 | (cdr fmts) |
| 15151 | (car fmts))) | 15150 | (car fmts))) |
| 15152 | (txt (concat "=> " (format-time-string fmt (apply 'encode-time f))))) | 15151 | (txt (concat "=> " (format-time-string fmt (apply 'encode-time f))))) |
| 15153 | (when (and org-end-time-was-given | 15152 | (when (and org-end-time-was-given |
| 15154 | (string-match org-plain-time-of-day-regexp txt)) | 15153 | (string-match org-plain-time-of-day-regexp txt)) |
| 15155 | (setq txt (concat (substring txt 0 (match-end 0)) "-" | 15154 | (setq txt (concat (substring txt 0 (match-end 0)) "-" |
| 15156 | org-end-time-was-given | 15155 | org-end-time-was-given |
| 15157 | (substring txt (match-end 0))))) | 15156 | (substring txt (match-end 0))))) |
| 15158 | (when org-read-date-analyze-futurep | 15157 | (when org-read-date-analyze-futurep |
| 15159 | (setq txt (concat txt " (=>F)"))) | 15158 | (setq txt (concat txt " (=>F)"))) |
| 15160 | (setq org-read-date-overlay | 15159 | (setq org-read-date-overlay |
| 15161 | (make-overlay (1- (point-at-eol)) (point-at-eol))) | 15160 | (make-overlay (1- (point-at-eol)) (point-at-eol))) |
| 15162 | (org-overlay-display org-read-date-overlay txt 'secondary-selection)))) | 15161 | (org-overlay-display org-read-date-overlay txt 'secondary-selection))))) |
| 15163 | 15162 | ||
| 15164 | (defun org-read-date-analyze (ans org-def org-defdecode) | 15163 | (defun org-read-date-analyze (ans org-def org-defdecode) |
| 15165 | "Analyze the combined answer of the date prompt." | 15164 | "Analyze the combined answer of the date prompt." |
| @@ -17969,28 +17968,34 @@ See the individual commands for more information." | |||
| 17969 | 17968 | ||
| 17970 | (defun org-shiftmetaleft () | 17969 | (defun org-shiftmetaleft () |
| 17971 | "Promote subtree or delete table column. | 17970 | "Promote subtree or delete table column. |
| 17972 | Calls `org-promote-subtree', `org-outdent-item', | 17971 | Calls `org-promote-subtree', `org-outdent-item-tree', or |
| 17973 | or `org-table-delete-column', depending on context. | 17972 | `org-table-delete-column', depending on context. See the |
| 17974 | See the individual commands for more information." | 17973 | individual commands for more information." |
| 17975 | (interactive) | 17974 | (interactive) |
| 17976 | (cond | 17975 | (cond |
| 17977 | ((run-hook-with-args-until-success 'org-shiftmetaleft-hook)) | 17976 | ((run-hook-with-args-until-success 'org-shiftmetaleft-hook)) |
| 17978 | ((org-at-table-p) (call-interactively 'org-table-delete-column)) | 17977 | ((org-at-table-p) (call-interactively 'org-table-delete-column)) |
| 17979 | ((org-at-heading-p) (call-interactively 'org-promote-subtree)) | 17978 | ((org-at-heading-p) (call-interactively 'org-promote-subtree)) |
| 17980 | ((org-at-item-p) (call-interactively 'org-outdent-item-tree)) | 17979 | ((if (not (org-region-active-p)) (org-at-item-p) |
| 17980 | (save-excursion (goto-char (region-beginning)) | ||
| 17981 | (org-at-item-p))) | ||
| 17982 | (call-interactively 'org-outdent-item-tree)) | ||
| 17981 | (t (org-modifier-cursor-error)))) | 17983 | (t (org-modifier-cursor-error)))) |
| 17982 | 17984 | ||
| 17983 | (defun org-shiftmetaright () | 17985 | (defun org-shiftmetaright () |
| 17984 | "Demote subtree or insert table column. | 17986 | "Demote subtree or insert table column. |
| 17985 | Calls `org-demote-subtree', `org-indent-item', | 17987 | Calls `org-demote-subtree', `org-indent-item-tree', or |
| 17986 | or `org-table-insert-column', depending on context. | 17988 | `org-table-insert-column', depending on context. See the |
| 17987 | See the individual commands for more information." | 17989 | individual commands for more information." |
| 17988 | (interactive) | 17990 | (interactive) |
| 17989 | (cond | 17991 | (cond |
| 17990 | ((run-hook-with-args-until-success 'org-shiftmetaright-hook)) | 17992 | ((run-hook-with-args-until-success 'org-shiftmetaright-hook)) |
| 17991 | ((org-at-table-p) (call-interactively 'org-table-insert-column)) | 17993 | ((org-at-table-p) (call-interactively 'org-table-insert-column)) |
| 17992 | ((org-at-heading-p) (call-interactively 'org-demote-subtree)) | 17994 | ((org-at-heading-p) (call-interactively 'org-demote-subtree)) |
| 17993 | ((org-at-item-p) (call-interactively 'org-indent-item-tree)) | 17995 | ((if (not (org-region-active-p)) (org-at-item-p) |
| 17996 | (save-excursion (goto-char (region-beginning)) | ||
| 17997 | (org-at-item-p))) | ||
| 17998 | (call-interactively 'org-indent-item-tree)) | ||
| 17994 | (t (org-modifier-cursor-error)))) | 17999 | (t (org-modifier-cursor-error)))) |
| 17995 | 18000 | ||
| 17996 | (defun org-shiftmetaup (&optional arg) | 18001 | (defun org-shiftmetaup (&optional arg) |
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index 9f9551cc5d8..0cc5de90573 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el | |||
| @@ -603,6 +603,8 @@ NOARG must be t when this macro is used outside `gud-def'" | |||
| 603 | (set (make-local-variable 'gud-marker-filter) #'gud-gdb-marker-filter)) | 603 | (set (make-local-variable 'gud-marker-filter) #'gud-gdb-marker-filter)) |
| 604 | (funcall filter proc string)))) | 604 | (funcall filter proc string)))) |
| 605 | 605 | ||
| 606 | (defvar gdb-control-level 0) | ||
| 607 | |||
| 606 | ;;;###autoload | 608 | ;;;###autoload |
| 607 | (defun gdb (command-line) | 609 | (defun gdb (command-line) |
| 608 | "Run gdb on program FILE in buffer *gud-FILE*. | 610 | "Run gdb on program FILE in buffer *gud-FILE*. |
| @@ -677,6 +679,7 @@ detailed description of this mode. | |||
| 677 | (set-process-filter proc #'gdb--check-interpreter)) | 679 | (set-process-filter proc #'gdb--check-interpreter)) |
| 678 | 680 | ||
| 679 | (set (make-local-variable 'gud-minor-mode) 'gdbmi) | 681 | (set (make-local-variable 'gud-minor-mode) 'gdbmi) |
| 682 | (set (make-local-variable 'gdb-control-level) 0) | ||
| 680 | (setq comint-input-sender 'gdb-send) | 683 | (setq comint-input-sender 'gdb-send) |
| 681 | (when (ring-empty-p comint-input-ring) ; cf shell-mode | 684 | (when (ring-empty-p comint-input-ring) ; cf shell-mode |
| 682 | (let ((hfile (expand-file-name (or (getenv "GDBHISTFILE") | 685 | (let ((hfile (expand-file-name (or (getenv "GDBHISTFILE") |
| @@ -1705,6 +1708,16 @@ static char *magick[] = { | |||
| 1705 | :group 'gdb) | 1708 | :group 'gdb) |
| 1706 | 1709 | ||
| 1707 | 1710 | ||
| 1711 | (defvar gdb-control-commands-regexp | ||
| 1712 | (concat | ||
| 1713 | "^\\(" | ||
| 1714 | "commands\\|if\\|while\\|define\\|document\\|python\\|" | ||
| 1715 | "while-stepping\\|stepping\\|ws\\|actions" | ||
| 1716 | "\\)\\([[:blank:]]+.*\\)?$") | ||
| 1717 | "Regexp matching GDB commands that enter a recursive reading loop. | ||
| 1718 | As long as GDB is in the recursive reading loop, it does not expect | ||
| 1719 | commands to be prefixed by \"-interpreter-exec console\".") | ||
| 1720 | |||
| 1708 | (defun gdb-send (proc string) | 1721 | (defun gdb-send (proc string) |
| 1709 | "A comint send filter for gdb." | 1722 | "A comint send filter for gdb." |
| 1710 | (with-current-buffer gud-comint-buffer | 1723 | (with-current-buffer gud-comint-buffer |
| @@ -1714,11 +1727,15 @@ static char *magick[] = { | |||
| 1714 | (if (not (string= "" string)) | 1727 | (if (not (string= "" string)) |
| 1715 | (setq gdb-last-command string) | 1728 | (setq gdb-last-command string) |
| 1716 | (if gdb-last-command (setq string gdb-last-command))) | 1729 | (if gdb-last-command (setq string gdb-last-command))) |
| 1717 | (if (string-match "^-" string) | 1730 | (if (or (string-match "^-" string) |
| 1718 | ;; MI command | 1731 | (> gdb-control-level 0)) |
| 1732 | ;; Either MI command or we are feeding GDB's recursive reading loop. | ||
| 1719 | (progn | 1733 | (progn |
| 1720 | (setq gdb-first-done-or-error t) | 1734 | (setq gdb-first-done-or-error t) |
| 1721 | (process-send-string proc (concat string "\n"))) | 1735 | (process-send-string proc (concat string "\n")) |
| 1736 | (if (and (string-match "^end$" string) | ||
| 1737 | (> gdb-control-level 0)) | ||
| 1738 | (setq gdb-control-level (1- gdb-control-level)))) | ||
| 1722 | ;; CLI command | 1739 | ;; CLI command |
| 1723 | (if (string-match "\\\\$" string) | 1740 | (if (string-match "\\\\$" string) |
| 1724 | (setq gdb-continuation (concat gdb-continuation string "\n")) | 1741 | (setq gdb-continuation (concat gdb-continuation string "\n")) |
| @@ -1729,7 +1746,12 @@ static char *magick[] = { | |||
| 1729 | (if gdb-enable-debug | 1746 | (if gdb-enable-debug |
| 1730 | (push (cons 'mi-send to-send) gdb-debug-log)) | 1747 | (push (cons 'mi-send to-send) gdb-debug-log)) |
| 1731 | (process-send-string proc to-send)) | 1748 | (process-send-string proc to-send)) |
| 1732 | (setq gdb-continuation nil)))) | 1749 | (if (and (string-match "^end$" string) |
| 1750 | (> gdb-control-level 0)) | ||
| 1751 | (setq gdb-control-level (1- gdb-control-level))) | ||
| 1752 | (setq gdb-continuation nil))) | ||
| 1753 | (if (string-match gdb-control-commands-regexp string) | ||
| 1754 | (setq gdb-control-level (1+ gdb-control-level)))) | ||
| 1733 | 1755 | ||
| 1734 | (defun gdb-mi-quote (string) | 1756 | (defun gdb-mi-quote (string) |
| 1735 | "Return STRING quoted properly as an MI argument. | 1757 | "Return STRING quoted properly as an MI argument. |
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el index cdaeadde906..d57a3128a16 100644 --- a/lisp/progmodes/which-func.el +++ b/lisp/progmodes/which-func.el | |||
| @@ -179,7 +179,9 @@ and you want to simplify them for the mode line | |||
| 179 | (defvar which-func-table (make-hash-table :test 'eq :weakness 'key)) | 179 | (defvar which-func-table (make-hash-table :test 'eq :weakness 'key)) |
| 180 | 180 | ||
| 181 | (defconst which-func-current | 181 | (defconst which-func-current |
| 182 | '(:eval (gethash (selected-window) which-func-table which-func-unknown))) | 182 | '(:eval (replace-regexp-in-string |
| 183 | "%" "%%" | ||
| 184 | (gethash (selected-window) which-func-table which-func-unknown)))) | ||
| 183 | ;;;###autoload (put 'which-func-current 'risky-local-variable t) | 185 | ;;;###autoload (put 'which-func-current 'risky-local-variable t) |
| 184 | 186 | ||
| 185 | (defvar which-func-mode nil | 187 | (defvar which-func-mode nil |
diff --git a/lisp/select.el b/lisp/select.el index 0260eba4682..3948fcc5456 100644 --- a/lisp/select.el +++ b/lisp/select.el | |||
| @@ -213,30 +213,25 @@ two markers or an overlay. Otherwise, it is nil." | |||
| 213 | (defun xselect--int-to-cons (n) | 213 | (defun xselect--int-to-cons (n) |
| 214 | (cons (ash n -16) (logand n 65535))) | 214 | (cons (ash n -16) (logand n 65535))) |
| 215 | 215 | ||
| 216 | (defun xselect-convert-to-string (_selection type value) | 216 | (defun xselect--encode-string (type str &optional can-modify) |
| 217 | (let (str coding) | 217 | (when str |
| 218 | ;; Get the actual string from VALUE. | 218 | ;; If TYPE is nil, this is a local request; return STR as-is. |
| 219 | (cond ((stringp value) | 219 | (if (null type) |
| 220 | (setq str value)) | 220 | str |
| 221 | ((setq value (xselect--selection-bounds value)) | 221 | ;; Otherwise, encode STR. |
| 222 | (with-current-buffer (nth 2 value) | 222 | (let ((coding (or next-selection-coding-system |
| 223 | (setq str (buffer-substring (nth 0 value) | 223 | selection-coding-system))) |
| 224 | (nth 1 value)))))) | ||
| 225 | (when str | ||
| 226 | ;; If TYPE is nil, this is a local request, thus return STR as | ||
| 227 | ;; is. Otherwise, encode STR. | ||
| 228 | (if (not type) | ||
| 229 | str | ||
| 230 | (setq coding (or next-selection-coding-system selection-coding-system)) | ||
| 231 | (if coding | 224 | (if coding |
| 232 | (setq coding (coding-system-base coding))) | 225 | (setq coding (coding-system-base coding))) |
| 233 | (let ((inhibit-read-only t)) | 226 | (let ((inhibit-read-only t)) |
| 234 | ;; Suppress producing escape sequences for compositions. | 227 | ;; Suppress producing escape sequences for compositions. |
| 228 | ;; But avoid modifying the string if it's a buffer name etc. | ||
| 229 | (unless can-modify (setq str (substring str 0))) | ||
| 235 | (remove-text-properties 0 (length str) '(composition nil) str) | 230 | (remove-text-properties 0 (length str) '(composition nil) str) |
| 231 | ;; TEXT is a polymorphic target. Select the actual type | ||
| 232 | ;; from `UTF8_STRING', `COMPOUND_TEXT', `STRING', and | ||
| 233 | ;; `C_STRING'. | ||
| 236 | (if (eq type 'TEXT) | 234 | (if (eq type 'TEXT) |
| 237 | ;; TEXT is a polymorphic target. We must select the | ||
| 238 | ;; actual type from `UTF8_STRING', `COMPOUND_TEXT', | ||
| 239 | ;; `STRING', and `C_STRING'. | ||
| 240 | (if (not (multibyte-string-p str)) | 235 | (if (not (multibyte-string-p str)) |
| 241 | (setq type 'C_STRING) | 236 | (setq type 'C_STRING) |
| 242 | (let (non-latin-1 non-unicode eight-bit) | 237 | (let (non-latin-1 non-unicode eight-bit) |
| @@ -279,6 +274,14 @@ two markers or an overlay. Otherwise, it is nil." | |||
| 279 | (setq next-selection-coding-system nil) | 274 | (setq next-selection-coding-system nil) |
| 280 | (cons type str)))) | 275 | (cons type str)))) |
| 281 | 276 | ||
| 277 | (defun xselect-convert-to-string (_selection type value) | ||
| 278 | (let ((str (cond ((stringp value) value) | ||
| 279 | ((setq value (xselect--selection-bounds value)) | ||
| 280 | (with-current-buffer (nth 2 value) | ||
| 281 | (buffer-substring (nth 0 value) | ||
| 282 | (nth 1 value))))))) | ||
| 283 | (xselect--encode-string type str t))) | ||
| 284 | |||
| 282 | (defun xselect-convert-to-length (_selection _type value) | 285 | (defun xselect-convert-to-length (_selection _type value) |
| 283 | (let ((len (cond ((stringp value) | 286 | (let ((len (cond ((stringp value) |
| 284 | (length value)) | 287 | (length value)) |
| @@ -311,7 +314,7 @@ two markers or an overlay. Otherwise, it is nil." | |||
| 311 | 314 | ||
| 312 | (defun xselect-convert-to-filename (_selection _type value) | 315 | (defun xselect-convert-to-filename (_selection _type value) |
| 313 | (when (setq value (xselect--selection-bounds value)) | 316 | (when (setq value (xselect--selection-bounds value)) |
| 314 | (buffer-file-name (nth 2 value)))) | 317 | (xselect--encode-string 'TEXT (buffer-file-name (nth 2 value))))) |
| 315 | 318 | ||
| 316 | (defun xselect-convert-to-charpos (_selection _type value) | 319 | (defun xselect-convert-to-charpos (_selection _type value) |
| 317 | (when (setq value (xselect--selection-bounds value)) | 320 | (when (setq value (xselect--selection-bounds value)) |
| @@ -337,13 +340,13 @@ two markers or an overlay. Otherwise, it is nil." | |||
| 337 | (xselect--int-to-cons (max beg end)))))))) | 340 | (xselect--int-to-cons (max beg end)))))))) |
| 338 | 341 | ||
| 339 | (defun xselect-convert-to-os (_selection _type _size) | 342 | (defun xselect-convert-to-os (_selection _type _size) |
| 340 | (symbol-name system-type)) | 343 | (xselect--encode-string 'TEXT (symbol-name system-type))) |
| 341 | 344 | ||
| 342 | (defun xselect-convert-to-host (_selection _type _size) | 345 | (defun xselect-convert-to-host (_selection _type _size) |
| 343 | (system-name)) | 346 | (xselect--encode-string 'TEXT (system-name))) |
| 344 | 347 | ||
| 345 | (defun xselect-convert-to-user (_selection _type _size) | 348 | (defun xselect-convert-to-user (_selection _type _size) |
| 346 | (user-full-name)) | 349 | (xselect--encode-string 'TEXT (user-full-name))) |
| 347 | 350 | ||
| 348 | (defun xselect-convert-to-class (_selection _type _size) | 351 | (defun xselect-convert-to-class (_selection _type _size) |
| 349 | "Convert selection to class. | 352 | "Convert selection to class. |
diff --git a/lisp/simple.el b/lisp/simple.el index 67f6e4eedf7..55f7d1261ee 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -817,7 +817,7 @@ instead of deleted." | |||
| 817 | :type '(choice (const :tag "Delete active region" t) | 817 | :type '(choice (const :tag "Delete active region" t) |
| 818 | (const :tag "Kill active region" kill) | 818 | (const :tag "Kill active region" kill) |
| 819 | (const :tag "Do ordinary deletion" nil)) | 819 | (const :tag "Do ordinary deletion" nil)) |
| 820 | :group 'editing | 820 | :group 'killing |
| 821 | :version "24.1") | 821 | :version "24.1") |
| 822 | 822 | ||
| 823 | (defun delete-backward-char (n &optional killflag) | 823 | (defun delete-backward-char (n &optional killflag) |
diff --git a/lisp/startup.el b/lisp/startup.el index 4a8af55af2f..d6e73023699 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -41,7 +41,7 @@ | |||
| 41 | (defcustom initial-buffer-choice nil | 41 | (defcustom initial-buffer-choice nil |
| 42 | "Buffer to show after starting Emacs. | 42 | "Buffer to show after starting Emacs. |
| 43 | If the value is nil and `inhibit-startup-screen' is nil, show the | 43 | If the value is nil and `inhibit-startup-screen' is nil, show the |
| 44 | startup screen. If the value is string, visit the specified file | 44 | startup screen. If the value is a string, visit the specified file |
| 45 | or directory using `find-file'. If t, open the `*scratch*' | 45 | or directory using `find-file'. If t, open the `*scratch*' |
| 46 | buffer." | 46 | buffer." |
| 47 | :type '(choice | 47 | :type '(choice |
diff --git a/lisp/subr.el b/lisp/subr.el index 2404f6a56d2..b548f82ca5a 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -2023,7 +2023,10 @@ some sort of escape sequence, the ambiguity is resolved via `read-key-delay'." | |||
| 2023 | (let ((map (make-sparse-keymap))) | 2023 | (let ((map (make-sparse-keymap))) |
| 2024 | ;; Don't hide the menu-bar and tool-bar entries. | 2024 | ;; Don't hide the menu-bar and tool-bar entries. |
| 2025 | (define-key map [menu-bar] (lookup-key global-map [menu-bar])) | 2025 | (define-key map [menu-bar] (lookup-key global-map [menu-bar])) |
| 2026 | (define-key map [tool-bar] (lookup-key global-map [tool-bar])) | 2026 | (define-key map [tool-bar] |
| 2027 | ;; This hack avoids evaluating the :filter (Bug#9922). | ||
| 2028 | (or (cdr (assq 'tool-bar global-map)) | ||
| 2029 | (lookup-key global-map [tool-bar]))) | ||
| 2027 | map)) | 2030 | map)) |
| 2028 | (aref (catch 'read-key (read-key-sequence-vector prompt nil t)) 0)) | 2031 | (aref (catch 'read-key (read-key-sequence-vector prompt nil t)) 0)) |
| 2029 | (cancel-timer timer) | 2032 | (cancel-timer timer) |
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index c185c4e8fab..ebaec2494ac 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el | |||
| @@ -220,7 +220,7 @@ matching the resulting Git log output, and KEYWORDS is a list of | |||
| 220 | (let ((diff (vc-git--run-command-string | 220 | (let ((diff (vc-git--run-command-string |
| 221 | file "diff-index" "-p" "--raw" "-z" "HEAD" "--"))) | 221 | file "diff-index" "-p" "--raw" "-z" "HEAD" "--"))) |
| 222 | (if (and diff | 222 | (if (and diff |
| 223 | (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0\\(.\\)?" | 223 | (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0\\(.*\n.\\)?" |
| 224 | diff)) | 224 | diff)) |
| 225 | (let ((diff-letter (match-string 1 diff))) | 225 | (let ((diff-letter (match-string 1 diff))) |
| 226 | (if (not (match-beginning 2)) | 226 | (if (not (match-beginning 2)) |
diff --git a/lisp/window.el b/lisp/window.el index b8f1bf3456d..d57bd4e2300 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -1482,12 +1482,24 @@ edge of WINDOW consider using `adjust-window-trailing-edge' | |||
| 1482 | instead." | 1482 | instead." |
| 1483 | (setq window (window-normalize-window window)) | 1483 | (setq window (window-normalize-window window)) |
| 1484 | (let* ((frame (window-frame window)) | 1484 | (let* ((frame (window-frame window)) |
| 1485 | (minibuffer-window (minibuffer-window frame)) | ||
| 1485 | sibling) | 1486 | sibling) |
| 1486 | (cond | 1487 | (cond |
| 1487 | ((eq window (frame-root-window frame)) | 1488 | ((eq window (frame-root-window frame)) |
| 1488 | (error "Cannot resize the root window of a frame")) | 1489 | (error "Cannot resize the root window of a frame")) |
| 1489 | ((window-minibuffer-p window) | 1490 | ((window-minibuffer-p window) |
| 1490 | (window--resize-mini-window window delta)) | 1491 | (if horizontal |
| 1492 | (error "Cannot resize minibuffer window horizontally") | ||
| 1493 | (window--resize-mini-window window delta))) | ||
| 1494 | ((and (not horizontal) | ||
| 1495 | (window-full-height-p window) | ||
| 1496 | (eq (window-frame minibuffer-window) frame) | ||
| 1497 | (or (not resize-mini-windows) | ||
| 1498 | (eq minibuffer-window (active-minibuffer-window)))) | ||
| 1499 | ;; If WINDOW is full height and either `resize-mini-windows' is | ||
| 1500 | ;; nil or the minibuffer window is active, resize the minibuffer | ||
| 1501 | ;; window. | ||
| 1502 | (window--resize-mini-window minibuffer-window (- delta))) | ||
| 1491 | ((window--resizable-p window delta horizontal ignore) | 1503 | ((window--resizable-p window delta horizontal ignore) |
| 1492 | (window--resize-reset frame horizontal) | 1504 | (window--resize-reset frame horizontal) |
| 1493 | (window--resize-this-window window delta horizontal ignore t) | 1505 | (window--resize-this-window window delta horizontal ignore t) |
| @@ -2002,17 +2014,25 @@ right. If DELTA is less than zero, move the edge upwards or to | |||
| 2002 | the left. If the edge can't be moved by DELTA lines or columns, | 2014 | the left. If the edge can't be moved by DELTA lines or columns, |
| 2003 | move it as far as possible in the desired direction." | 2015 | move it as far as possible in the desired direction." |
| 2004 | (setq window (window-normalize-window window)) | 2016 | (setq window (window-normalize-window window)) |
| 2005 | (let ((frame (window-frame window)) | 2017 | (let* ((frame (window-frame window)) |
| 2006 | (right window) | 2018 | (minibuffer-window (minibuffer-window frame)) |
| 2007 | left this-delta min-delta max-delta) | 2019 | (right window) |
| 2020 | left this-delta min-delta max-delta) | ||
| 2008 | ;; Find the edge we want to move. | 2021 | ;; Find the edge we want to move. |
| 2009 | (while (and (or (not (window-combined-p right horizontal)) | 2022 | (while (and (or (not (window-combined-p right horizontal)) |
| 2010 | (not (window-right right))) | 2023 | (not (window-right right))) |
| 2011 | (setq right (window-parent right)))) | 2024 | (setq right (window-parent right)))) |
| 2012 | (cond | 2025 | (cond |
| 2013 | ((and (not right) (not horizontal) (not resize-mini-windows) | 2026 | ((and (not right) (not horizontal) |
| 2014 | (eq (window-frame (minibuffer-window frame)) frame)) | 2027 | ;; Resize the minibuffer window if it's on the same frame as |
| 2015 | (window--resize-mini-window (minibuffer-window frame) (- delta))) | 2028 | ;; and immediately below WINDOW and it's either active or |
| 2029 | ;; `resize-mini-windows' is nil. | ||
| 2030 | (eq (window-frame minibuffer-window) frame) | ||
| 2031 | (= (nth 1 (window-edges minibuffer-window)) | ||
| 2032 | (nth 3 (window-edges window))) | ||
| 2033 | (or (not resize-mini-windows) | ||
| 2034 | (eq minibuffer-window (active-minibuffer-window)))) | ||
| 2035 | (window--resize-mini-window minibuffer-window (- delta))) | ||
| 2016 | ((or (not (setq left right)) (not (setq right (window-right right)))) | 2036 | ((or (not (setq left right)) (not (setq right (window-right right)))) |
| 2017 | (if horizontal | 2037 | (if horizontal |
| 2018 | (error "No window on the right of this one") | 2038 | (error "No window on the right of this one") |
| @@ -2109,18 +2129,30 @@ make selected window wider by DELTA columns. If DELTA is | |||
| 2109 | negative, shrink selected window by -DELTA lines or columns. | 2129 | negative, shrink selected window by -DELTA lines or columns. |
| 2110 | Return nil." | 2130 | Return nil." |
| 2111 | (interactive "p") | 2131 | (interactive "p") |
| 2112 | (cond | 2132 | (let ((minibuffer-window (minibuffer-window))) |
| 2113 | ((zerop delta)) | 2133 | (cond |
| 2114 | ((window-size-fixed-p nil horizontal) | 2134 | ((zerop delta)) |
| 2115 | (error "Selected window has fixed size")) | 2135 | ((window-size-fixed-p nil horizontal) |
| 2116 | ((window--resizable-p nil delta horizontal) | 2136 | (error "Selected window has fixed size")) |
| 2117 | (window-resize nil delta horizontal)) | 2137 | ((window-minibuffer-p) |
| 2118 | (t | 2138 | (if horizontal |
| 2119 | (window-resize | 2139 | (error "Cannot resize minibuffer window horizontally") |
| 2120 | nil (if (> delta 0) | 2140 | (window--resize-mini-window (selected-window) delta))) |
| 2121 | (window-max-delta nil horizontal) | 2141 | ((and (not horizontal) |
| 2122 | (- (window-min-delta nil horizontal))) | 2142 | (window-full-height-p) |
| 2123 | horizontal)))) | 2143 | (eq (window-frame minibuffer-window) (selected-frame)) |
| 2144 | (not resize-mini-windows)) | ||
| 2145 | ;; If the selected window is full height and `resize-mini-windows' | ||
| 2146 | ;; is nil, resize the minibuffer window. | ||
| 2147 | (window--resize-mini-window minibuffer-window (- delta))) | ||
| 2148 | ((window--resizable-p nil delta horizontal) | ||
| 2149 | (window-resize nil delta horizontal)) | ||
| 2150 | (t | ||
| 2151 | (window-resize | ||
| 2152 | nil (if (> delta 0) | ||
| 2153 | (window-max-delta nil horizontal) | ||
| 2154 | (- (window-min-delta nil horizontal))) | ||
| 2155 | horizontal))))) | ||
| 2124 | 2156 | ||
| 2125 | (defun shrink-window (delta &optional horizontal) | 2157 | (defun shrink-window (delta &optional horizontal) |
| 2126 | "Make the selected window DELTA lines smaller. | 2158 | "Make the selected window DELTA lines smaller. |
| @@ -2131,18 +2163,30 @@ negative, enlarge selected window by -DELTA lines or columns. | |||
| 2131 | Also see the `window-min-height' variable. | 2163 | Also see the `window-min-height' variable. |
| 2132 | Return nil." | 2164 | Return nil." |
| 2133 | (interactive "p") | 2165 | (interactive "p") |
| 2134 | (cond | 2166 | (let ((minibuffer-window (minibuffer-window))) |
| 2135 | ((zerop delta)) | 2167 | (cond |
| 2136 | ((window-size-fixed-p nil horizontal) | 2168 | ((zerop delta)) |
| 2137 | (error "Selected window has fixed size")) | 2169 | ((window-size-fixed-p nil horizontal) |
| 2138 | ((window--resizable-p nil (- delta) horizontal) | 2170 | (error "Selected window has fixed size")) |
| 2139 | (window-resize nil (- delta) horizontal)) | 2171 | ((window-minibuffer-p) |
| 2140 | (t | 2172 | (if horizontal |
| 2141 | (window-resize | 2173 | (error "Cannot resize minibuffer window horizontally") |
| 2142 | nil (if (> delta 0) | 2174 | (window--resize-mini-window (selected-window) (- delta)))) |
| 2143 | (- (window-min-delta nil horizontal)) | 2175 | ((and (not horizontal) |
| 2144 | (window-max-delta nil horizontal)) | 2176 | (window-full-height-p) |
| 2145 | horizontal)))) | 2177 | (eq (window-frame minibuffer-window) (selected-frame)) |
| 2178 | (not resize-mini-windows)) | ||
| 2179 | ;; If the selected window is full height and `resize-mini-windows' | ||
| 2180 | ;; is nil, resize the minibuffer window. | ||
| 2181 | (window--resize-mini-window minibuffer-window delta)) | ||
| 2182 | ((window--resizable-p nil (- delta) horizontal) | ||
| 2183 | (window-resize nil (- delta) horizontal)) | ||
| 2184 | (t | ||
| 2185 | (window-resize | ||
| 2186 | nil (if (> delta 0) | ||
| 2187 | (- (window-min-delta nil horizontal)) | ||
| 2188 | (window-max-delta nil horizontal)) | ||
| 2189 | horizontal))))) | ||
| 2146 | 2190 | ||
| 2147 | (defun maximize-window (&optional window) | 2191 | (defun maximize-window (&optional window) |
| 2148 | "Maximize WINDOW. | 2192 | "Maximize WINDOW. |
diff --git a/lisp/xml.el b/lisp/xml.el index 39a8da0f337..cb56f023af0 100644 --- a/lisp/xml.el +++ b/lisp/xml.el | |||
| @@ -323,7 +323,8 @@ If PARSE-NS is non-nil, then QNAMES are expanded." | |||
| 323 | (cond | 323 | (cond |
| 324 | ((null result) | 324 | ((null result) |
| 325 | ;; Not looking at an xml start tag. | 325 | ;; Not looking at an xml start tag. |
| 326 | (forward-char 1)) | 326 | (unless (eobp) |
| 327 | (forward-char 1))) | ||
| 327 | ((and xml (not xml-sub-parser)) | 328 | ((and xml (not xml-sub-parser)) |
| 328 | ;; Translation of rule [1] of XML specifications | 329 | ;; Translation of rule [1] of XML specifications |
| 329 | (error "XML: (Not Well-Formed) Only one root tag allowed")) | 330 | (error "XML: (Not Well-Formed) Only one root tag allowed")) |
| @@ -422,7 +423,8 @@ Returns one of: | |||
| 422 | ((looking-at "<!--") | 423 | ((looking-at "<!--") |
| 423 | (search-forward "-->") | 424 | (search-forward "-->") |
| 424 | (skip-syntax-forward " ") | 425 | (skip-syntax-forward " ") |
| 425 | (xml-parse-tag parse-dtd xml-ns)) | 426 | (unless (eobp) |
| 427 | (xml-parse-tag parse-dtd xml-ns))) | ||
| 426 | ;; end tag | 428 | ;; end tag |
| 427 | ((looking-at "</") | 429 | ((looking-at "</") |
| 428 | '()) | 430 | '()) |
diff --git a/src/ChangeLog b/src/ChangeLog index df0e6135498..55caf3c607c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,30 @@ | |||
| 1 | 2012-04-27 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * xselect.c (x_convert_selection): Initialize a pointer (Bug#11315). | ||
| 4 | |||
| 5 | 2012-04-27 Eli Zaretskii <eliz@gnu.org> | ||
| 6 | |||
| 7 | * xdisp.c (pos_visible_p): If the window start position is beyond | ||
| 8 | ZV, start the display from buffer beginning. Prevents assertion | ||
| 9 | violation in init_iterator when the minibuffer window is scrolled | ||
| 10 | via the scroll bar. | ||
| 11 | |||
| 12 | * window.c (window_scroll_pixel_based): Likewise. | ||
| 13 | |||
| 14 | 2012-04-27 Chong Yidong <cyd@gnu.org> | ||
| 15 | |||
| 16 | * keymap.c (where_is_internal): Doc fix (Bug#10872). | ||
| 17 | |||
| 18 | 2012-04-27 Glenn Morris <rgm@gnu.org> | ||
| 19 | |||
| 20 | * fileio.c (Fcopy_file, Fset_file_selinux_context): | ||
| 21 | Ignore ENOTSUP failures from setfilecon functions. (Bug#11245) | ||
| 22 | |||
| 23 | 2012-04-27 Eli Zaretskii <eliz@gnu.org> | ||
| 24 | |||
| 25 | * dispnew.c (swap_glyph_pointers, copy_row_except_pointers): Don't | ||
| 26 | overrun array limits of glyph row's used[] array. (Bug#11288) | ||
| 27 | |||
| 1 | 2012-04-26 Eli Zaretskii <eliz@gnu.org> | 28 | 2012-04-26 Eli Zaretskii <eliz@gnu.org> |
| 2 | 29 | ||
| 3 | * xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded | 30 | * xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded |
diff --git a/src/dispnew.c b/src/dispnew.c index 02d6de53bbf..b313852efe2 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -1085,12 +1085,16 @@ swap_glyph_pointers (struct glyph_row *a, struct glyph_row *b) | |||
| 1085 | for (i = 0; i < LAST_AREA + 1; ++i) | 1085 | for (i = 0; i < LAST_AREA + 1; ++i) |
| 1086 | { | 1086 | { |
| 1087 | struct glyph *temp = a->glyphs[i]; | 1087 | struct glyph *temp = a->glyphs[i]; |
| 1088 | short used_tem = a->used[i]; | ||
| 1089 | 1088 | ||
| 1090 | a->glyphs[i] = b->glyphs[i]; | 1089 | a->glyphs[i] = b->glyphs[i]; |
| 1091 | b->glyphs[i] = temp; | 1090 | b->glyphs[i] = temp; |
| 1092 | a->used[i] = b->used[i]; | 1091 | if (i < LAST_AREA) |
| 1093 | b->used[i] = used_tem; | 1092 | { |
| 1093 | short used_tem = a->used[i]; | ||
| 1094 | |||
| 1095 | a->used[i] = b->used[i]; | ||
| 1096 | b->used[i] = used_tem; | ||
| 1097 | } | ||
| 1094 | } | 1098 | } |
| 1095 | a->hash = b->hash; | 1099 | a->hash = b->hash; |
| 1096 | b->hash = hash_tem; | 1100 | b->hash = hash_tem; |
| @@ -1105,7 +1109,7 @@ static inline void | |||
| 1105 | copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) | 1109 | copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) |
| 1106 | { | 1110 | { |
| 1107 | struct glyph *pointers[1 + LAST_AREA]; | 1111 | struct glyph *pointers[1 + LAST_AREA]; |
| 1108 | short used[1 + LAST_AREA]; | 1112 | short used[LAST_AREA]; |
| 1109 | unsigned hashval; | 1113 | unsigned hashval; |
| 1110 | 1114 | ||
| 1111 | /* Save glyph pointers of TO. */ | 1115 | /* Save glyph pointers of TO. */ |
diff --git a/src/fileio.c b/src/fileio.c index 3a74672b9a6..69b2c9cb0f2 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* File IO for GNU Emacs. | 1 | /* File IO for GNU Emacs. |
| 2 | 2 | ||
| 3 | Copyright (C) 1985-1988, 1993-2012 Free Software Foundation, Inc. | 3 | Copyright (C) 1985-1988, 1993-2012 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 6 | 6 | ||
| @@ -2044,9 +2044,10 @@ on the system, we copy the SELinux context of FILE to NEWNAME. */) | |||
| 2044 | #if HAVE_LIBSELINUX | 2044 | #if HAVE_LIBSELINUX |
| 2045 | if (conlength > 0) | 2045 | if (conlength > 0) |
| 2046 | { | 2046 | { |
| 2047 | /* Set the modified context back to the file. */ | 2047 | /* Set the modified context back to the file. */ |
| 2048 | fail = fsetfilecon (ofd, con); | 2048 | fail = fsetfilecon (ofd, con); |
| 2049 | if (fail) | 2049 | /* See http://debbugs.gnu.org/11245 for ENOTSUP. */ |
| 2050 | if (fail && errno != ENOTSUP) | ||
| 2050 | report_file_error ("Doing fsetfilecon", Fcons (newname, Qnil)); | 2051 | report_file_error ("Doing fsetfilecon", Fcons (newname, Qnil)); |
| 2051 | 2052 | ||
| 2052 | freecon (con); | 2053 | freecon (con); |
| @@ -2917,10 +2918,11 @@ compiled with SELinux support. */) | |||
| 2917 | error ("Doing context_range_set"); | 2918 | error ("Doing context_range_set"); |
| 2918 | } | 2919 | } |
| 2919 | 2920 | ||
| 2920 | /* Set the modified context back to the file. */ | 2921 | /* Set the modified context back to the file. */ |
| 2921 | fail = lsetfilecon (SSDATA (encoded_absname), | 2922 | fail = lsetfilecon (SSDATA (encoded_absname), |
| 2922 | context_str (parsed_con)); | 2923 | context_str (parsed_con)); |
| 2923 | if (fail) | 2924 | /* See http://debbugs.gnu.org/11245 for ENOTSUP. */ |
| 2925 | if (fail && errno != ENOTSUP) | ||
| 2924 | report_file_error ("Doing lsetfilecon", Fcons (absname, Qnil)); | 2926 | report_file_error ("Doing lsetfilecon", Fcons (absname, Qnil)); |
| 2925 | 2927 | ||
| 2926 | context_free (parsed_con); | 2928 | context_free (parsed_con); |
diff --git a/src/keymap.c b/src/keymap.c index ecaeb32896e..9f82175edc0 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -2553,7 +2553,8 @@ where_is_internal (Lisp_Object definition, Lisp_Object keymaps, | |||
| 2553 | DEFUN ("where-is-internal", Fwhere_is_internal, Swhere_is_internal, 1, 5, 0, | 2553 | DEFUN ("where-is-internal", Fwhere_is_internal, Swhere_is_internal, 1, 5, 0, |
| 2554 | doc: /* Return list of keys that invoke DEFINITION. | 2554 | doc: /* Return list of keys that invoke DEFINITION. |
| 2555 | If KEYMAP is a keymap, search only KEYMAP and the global keymap. | 2555 | If KEYMAP is a keymap, search only KEYMAP and the global keymap. |
| 2556 | If KEYMAP is nil, search all the currently active keymaps. | 2556 | If KEYMAP is nil, search all the currently active keymaps, except |
| 2557 | for `overriding-local-map' (which is ignored). | ||
| 2557 | If KEYMAP is a list of keymaps, search only those keymaps. | 2558 | If KEYMAP is a list of keymaps, search only those keymaps. |
| 2558 | 2559 | ||
| 2559 | If optional 3rd arg FIRSTONLY is non-nil, return the first key sequence found, | 2560 | If optional 3rd arg FIRSTONLY is non-nil, return the first key sequence found, |
| @@ -2568,9 +2569,17 @@ If optional 4th arg NOINDIRECT is non-nil, don't follow indirections | |||
| 2568 | to other keymaps or slots. This makes it possible to search for an | 2569 | to other keymaps or slots. This makes it possible to search for an |
| 2569 | indirect definition itself. | 2570 | indirect definition itself. |
| 2570 | 2571 | ||
| 2571 | If optional 5th arg NO-REMAP is non-nil, don't search for key sequences | 2572 | The optional 5th arg NO-REMAP alters how command remapping is handled: |
| 2572 | that invoke a command which is remapped to DEFINITION, but include the | 2573 | |
| 2573 | remapped command in the returned list. */) | 2574 | - If another command OTHER-COMMAND is remapped to DEFINITION, normally |
| 2575 | search for the bindings of OTHER-COMMAND and include them in the | ||
| 2576 | returned list. But if NO-REMAP is non-nil, include the vector | ||
| 2577 | [remap OTHER-COMMAND] in the returned list instead, without | ||
| 2578 | searching for those other bindings. | ||
| 2579 | |||
| 2580 | - If DEFINITION is remapped to OTHER-COMMAND, normally return the | ||
| 2581 | bindings for OTHER-COMMAND. But if NO-REMAP is non-nil, return the | ||
| 2582 | bindings for DEFINITION instead, ignoring its remapping. */) | ||
| 2574 | (Lisp_Object definition, Lisp_Object keymap, Lisp_Object firstonly, Lisp_Object noindirect, Lisp_Object no_remap) | 2583 | (Lisp_Object definition, Lisp_Object keymap, Lisp_Object firstonly, Lisp_Object noindirect, Lisp_Object no_remap) |
| 2575 | { | 2584 | { |
| 2576 | /* The keymaps in which to search. */ | 2585 | /* The keymaps in which to search. */ |
diff --git a/src/window.c b/src/window.c index 1f27cba444b..048779d6830 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -4221,6 +4221,11 @@ window_scroll_pixel_based (Lisp_Object window, int n, int whole, int noerror) | |||
| 4221 | void *itdata = NULL; | 4221 | void *itdata = NULL; |
| 4222 | 4222 | ||
| 4223 | SET_TEXT_POS_FROM_MARKER (start, w->start); | 4223 | SET_TEXT_POS_FROM_MARKER (start, w->start); |
| 4224 | /* Scrolling a minibuffer window via scroll bar when the echo area | ||
| 4225 | shows long text sometimes resets the minibuffer contents behind | ||
| 4226 | our backs. */ | ||
| 4227 | if (CHARPOS (start) > ZV) | ||
| 4228 | SET_TEXT_POS (start, BEGV, BEGV_BYTE); | ||
| 4224 | 4229 | ||
| 4225 | /* If PT is not visible in WINDOW, move back one half of | 4230 | /* If PT is not visible in WINDOW, move back one half of |
| 4226 | the screen. Allow PT to be partially visible, otherwise | 4231 | the screen. Allow PT to be partially visible, otherwise |
diff --git a/src/xdisp.c b/src/xdisp.c index f2700bd6d25..307331627f5 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -1275,6 +1275,11 @@ pos_visible_p (struct window *w, EMACS_INT charpos, int *x, int *y, | |||
| 1275 | } | 1275 | } |
| 1276 | 1276 | ||
| 1277 | SET_TEXT_POS_FROM_MARKER (top, w->start); | 1277 | SET_TEXT_POS_FROM_MARKER (top, w->start); |
| 1278 | /* Scrolling a minibuffer window via scroll bar when the echo area | ||
| 1279 | shows long text sometimes resets the minibuffer contents behind | ||
| 1280 | our backs. */ | ||
| 1281 | if (CHARPOS (top) > ZV) | ||
| 1282 | SET_TEXT_POS (top, BEGV, BEGV_BYTE); | ||
| 1278 | 1283 | ||
| 1279 | /* Compute exact mode line heights. */ | 1284 | /* Compute exact mode line heights. */ |
| 1280 | if (WINDOW_WANTS_MODELINE_P (w)) | 1285 | if (WINDOW_WANTS_MODELINE_P (w)) |
diff --git a/src/xselect.c b/src/xselect.c index 173cf78bdaa..15ce8d487fa 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -931,6 +931,7 @@ x_convert_selection (struct input_event *event, Lisp_Object selection_symbol, | |||
| 931 | 931 | ||
| 932 | /* Otherwise, record the converted selection to binary. */ | 932 | /* Otherwise, record the converted selection to binary. */ |
| 933 | cs = xmalloc (sizeof (struct selection_data)); | 933 | cs = xmalloc (sizeof (struct selection_data)); |
| 934 | cs->data = NULL; | ||
| 934 | cs->nofree = 1; | 935 | cs->nofree = 1; |
| 935 | cs->property = property; | 936 | cs->property = property; |
| 936 | cs->wait_object = NULL; | 937 | cs->wait_object = NULL; |