diff options
Diffstat (limited to 'doc')
49 files changed, 1839 insertions, 999 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 5c0ff3da206..e390c6cbc16 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,52 @@ | |||
| 1 | 2010-11-27 Bob Rogers <rogers-emacs@rgrjr.dyndns.org> | ||
| 2 | |||
| 3 | * maintaining.texi (VC With A Locking VCS, VC Directory Commands): | ||
| 4 | * vc1-xtra.texi (Customizing VC, General VC Options): Small fixes. | ||
| 5 | |||
| 6 | 2010-11-27 Chong Yidong <cyd@stupidchicken.com> | ||
| 7 | |||
| 8 | * maintaining.texi (Version Control Systems): Fix repeated sentence. | ||
| 9 | Suggested by Štěpán Němec. | ||
| 10 | |||
| 11 | 2010-11-27 Chong Yidong <cyd@stupidchicken.com> | ||
| 12 | |||
| 13 | * maintaining.texi (Version Control): Say "commit", not "check in". | ||
| 14 | (Version Control Systems): Simplify descriptions. | ||
| 15 | (VCS Merging, VCS Changesets, VCS Repositories): New nodes, split from | ||
| 16 | VCS Concepts. | ||
| 17 | (VC Mode Line): Update example. | ||
| 18 | (Old Revisions): Document revert-buffer for vc-diff. | ||
| 19 | (Log Buffer): Promote to a subsection. Document header lines. | ||
| 20 | |||
| 21 | * macos.texi (Mac / GNUstep Basics): Document | ||
| 22 | ns-right-alternate-modifier. | ||
| 23 | |||
| 24 | * emacs.texi (Top): Update node listing. | ||
| 25 | |||
| 26 | 2010-11-13 Eli Zaretskii <eliz@gnu.org> | ||
| 27 | |||
| 28 | * rmail.texi (Rmail Coding): Characters with no fonts are not | ||
| 29 | necessarily displayed as empty boxes. | ||
| 30 | |||
| 31 | * mule.texi (Language Environments, Fontsets): Characters with no | ||
| 32 | fonts are not necessarily displayed as empty boxes. | ||
| 33 | |||
| 34 | * display.texi (Text Display): Document display of glyphless | ||
| 35 | characters. | ||
| 36 | |||
| 37 | 2010-11-13 Glenn Morris <rgm@gnu.org> | ||
| 38 | |||
| 39 | * basic.texi (Position Info): Add M-x count-words-region. | ||
| 40 | |||
| 41 | 2010-11-11 Glenn Morris <rgm@gnu.org> | ||
| 42 | |||
| 43 | * msdog.texi (ls in Lisp): Update for ls-lisp changes. | ||
| 44 | |||
| 45 | 2010-11-09 Eli Zaretskii <eliz@gnu.org> | ||
| 46 | |||
| 47 | * msdog.texi (Windows HOME): Add information regarding startup | ||
| 48 | directory when invoking Emacs from a desktop shortcut. (bug#7300) | ||
| 49 | |||
| 1 | 2010-10-11 Glenn Morris <rgm@gnu.org> | 50 | 2010-10-11 Glenn Morris <rgm@gnu.org> |
| 2 | 51 | ||
| 3 | * Makefile.in (MAKEINFO): Add explicit -I$srcdir. | 52 | * Makefile.in (MAKEINFO): Add explicit -I$srcdir. |
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index a4751e7f99d..35c41a01097 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi | |||
| @@ -537,6 +537,8 @@ Toggle automatic display of the current line number or column number. | |||
| 537 | Display the number of lines in the current region. Normally bound to | 537 | Display the number of lines in the current region. Normally bound to |
| 538 | @kbd{M-=}, except in a few specialist modes. @xref{Mark}, for | 538 | @kbd{M-=}, except in a few specialist modes. @xref{Mark}, for |
| 539 | information about the region. | 539 | information about the region. |
| 540 | @item M-x count-words-region | ||
| 541 | Display the number of words in the current region. | ||
| 540 | @item C-x = | 542 | @item C-x = |
| 541 | Display the character code of character after point, character position of | 543 | Display the character code of character after point, character position of |
| 542 | point, and column of point (@code{what-cursor-position}). | 544 | point, and column of point (@code{what-cursor-position}). |
| @@ -743,6 +745,3 @@ additional times, to delete a total of 80 characters, by typing @kbd{C-x | |||
| 743 | z z z}. The first @kbd{C-x z} repeats the command once, and each | 745 | z z z}. The first @kbd{C-x z} repeats the command once, and each |
| 744 | subsequent @kbd{z} repeats it once again. | 746 | subsequent @kbd{z} repeats it once again. |
| 745 | 747 | ||
| 746 | @ignore | ||
| 747 | arch-tag: cda8952a-c439-41c1-aecf-4bc0d6482956 | ||
| 748 | @end ignore | ||
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 3b5e7b0b955..cd08a524f50 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi | |||
| @@ -1136,6 +1136,48 @@ prefix these characters with an escape character. | |||
| 1136 | by means of a display table. @xref{Display Tables,, Display Tables, | 1136 | by means of a display table. @xref{Display Tables,, Display Tables, |
| 1137 | elisp, The Emacs Lisp Reference Manual}. | 1137 | elisp, The Emacs Lisp Reference Manual}. |
| 1138 | 1138 | ||
| 1139 | @cindex glyphless characters | ||
| 1140 | @cindex characters with no font glyphs | ||
| 1141 | On graphics displays, some characters could have no glyphs in any of | ||
| 1142 | the fonts available to Emacs. On text terminals, some characters | ||
| 1143 | could be impossible to encode with the terminal coding system | ||
| 1144 | (@pxref{Terminal Coding}). Emacs can display such @dfn{glyphless} | ||
| 1145 | characters using one of the following methods: | ||
| 1146 | |||
| 1147 | @table @code | ||
| 1148 | @item zero-width | ||
| 1149 | Don't display the character. | ||
| 1150 | |||
| 1151 | @item thin-space | ||
| 1152 | Display a thin space, 1-pixel wide on graphics displays or 1-character | ||
| 1153 | wide on text terminals. | ||
| 1154 | |||
| 1155 | @item empty-box | ||
| 1156 | Display an empty box. | ||
| 1157 | |||
| 1158 | @item acronym | ||
| 1159 | Display the acronym of the character's name (such as @sc{zwnj} or | ||
| 1160 | @sc{rlm}) in a box. | ||
| 1161 | |||
| 1162 | @item hex-code | ||
| 1163 | Display the Unicode codepoint of the character in hexadecimal | ||
| 1164 | notation, in a box. | ||
| 1165 | @end table | ||
| 1166 | |||
| 1167 | @noindent | ||
| 1168 | @cindex @code{glyphless-char} face | ||
| 1169 | With the exception of @code{zero-width}, all other methods draw these | ||
| 1170 | characters in a special face @code{glyphless-char}, which you can | ||
| 1171 | customize. | ||
| 1172 | |||
| 1173 | @vindex glyphless-char-display-control | ||
| 1174 | @vindex char-acronym-table | ||
| 1175 | To control what glyphless characters are displayed using which method, | ||
| 1176 | customize the variable @code{glyphless-char-display-control}; see its | ||
| 1177 | doc string for the details. For even finer control, set the elements | ||
| 1178 | of 2 char-tables: @code{glyphless-char-display} and | ||
| 1179 | @code{char-acronym-table}. | ||
| 1180 | |||
| 1139 | @node Cursor Display | 1181 | @node Cursor Display |
| 1140 | @section Displaying the Cursor | 1182 | @section Displaying the Cursor |
| 1141 | 1183 | ||
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 1ece1ea6dd8..65a565dbe8e 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -771,6 +771,7 @@ Version Control | |||
| 771 | * Introduction to VC:: How version control works in general. | 771 | * Introduction to VC:: How version control works in general. |
| 772 | * VC Mode Line:: How the mode line shows version control status. | 772 | * VC Mode Line:: How the mode line shows version control status. |
| 773 | * Basic VC Editing:: How to edit a file under version control. | 773 | * Basic VC Editing:: How to edit a file under version control. |
| 774 | * Log Buffer:: Features available in log entry buffers. | ||
| 774 | * Old Revisions:: Examining and comparing old versions. | 775 | * Old Revisions:: Examining and comparing old versions. |
| 775 | * Secondary VC Commands:: The commands used a little less frequently. | 776 | * Secondary VC Commands:: The commands used a little less frequently. |
| 776 | * VC Directory Mode:: Listing files managed by version control. | 777 | * VC Directory Mode:: Listing files managed by version control. |
| @@ -785,6 +786,9 @@ Introduction to Version Control | |||
| 785 | * Why Version Control?:: Understanding the problems it addresses. | 786 | * Why Version Control?:: Understanding the problems it addresses. |
| 786 | * Version Control Systems:: Supported version control back-end systems. | 787 | * Version Control Systems:: Supported version control back-end systems. |
| 787 | * VCS Concepts:: Words and concepts related to version control. | 788 | * VCS Concepts:: Words and concepts related to version control. |
| 789 | * VCS Merging:: How file conflicts are handled. | ||
| 790 | * VCS Changesets:: Changesets in version control. | ||
| 791 | * VCS Repositories:: Where version control repositories are stored. | ||
| 788 | * Types of Log File:: The VCS log in contrast to the ChangeLog. | 792 | * Types of Log File:: The VCS log in contrast to the ChangeLog. |
| 789 | 793 | ||
| 790 | Basic Editing under Version Control | 794 | Basic Editing under Version Control |
| @@ -792,7 +796,6 @@ Basic Editing under Version Control | |||
| 792 | * VC With A Merging VCS:: Without locking: default mode for CVS. | 796 | * VC With A Merging VCS:: Without locking: default mode for CVS. |
| 793 | * VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS. | 797 | * VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS. |
| 794 | * Advanced C-x v v:: Advanced features available with a prefix argument. | 798 | * Advanced C-x v v:: Advanced features available with a prefix argument. |
| 795 | * Log Buffer:: Features available in log entry buffers. | ||
| 796 | 799 | ||
| 797 | The Secondary Commands of VC | 800 | The Secondary Commands of VC |
| 798 | 801 | ||
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi index 6fa5666ba6f..044a722a07a 100644 --- a/doc/emacs/macos.texi +++ b/doc/emacs/macos.texi | |||
| @@ -8,23 +8,22 @@ | |||
| 8 | @cindex Macintosh | 8 | @cindex Macintosh |
| 9 | @cindex GNUstep | 9 | @cindex GNUstep |
| 10 | 10 | ||
| 11 | This section briefly describes the peculiarities of using Emacs built with | 11 | This section describes the peculiarities of using Emacs built with |
| 12 | the GNUstep libraries on GNU/Linux or other operating systems, or on Mac OS X | 12 | the GNUstep libraries on GNU/Linux or other operating systems, or on |
| 13 | with native window system support. For Mac OS X, Emacs can be built either | 13 | Mac OS X with native window system support. On Mac OS X, Emacs can be |
| 14 | without window system support, with X11, or with the Cocoa interface. This | 14 | built either without window system support, with X11, or with the |
| 15 | section only applies to the Cocoa build. Emacs 23 does not support Mac OS | 15 | Cocoa interface; this section only applies to the Cocoa build. Emacs |
| 16 | Classic. | 16 | does not support earlier versions of Mac OS. |
| 17 | 17 | ||
| 18 | Emacs, when built on Mac OS X, uses the Cocoa application interface. For | 18 | For various historical and technical reasons, Emacs uses the term |
| 19 | various historical and technical reasons, Emacs uses the term @samp{Nextstep} | 19 | @samp{Nextstep} internally, instead of ``Cocoa'' or ``Mac OS X''; for |
| 20 | internally, instead of ``Cocoa'' or ``Mac OS X''; for instance, most of the | 20 | instance, most of the commands and variables described in this section |
| 21 | commands and variables described in the following sections begin with | 21 | begin with @samp{ns-}, which is short for @samp{Nextstep}. NeXTstep |
| 22 | @samp{ns-}, which is short for @samp{Nextstep}. NeXTstep was an application | 22 | was an application interface released by NeXT Inc during the 1980s, of |
| 23 | interface released by NeXT Inc during the 1980s, of which Cocoa is a direct | 23 | which Cocoa is a direct descendant. Apart from Cocoa, there is |
| 24 | descendant. Apart from Cocoa, there is another NeXTstep-style system: | 24 | another NeXTstep-style system: GNUstep, which is free software. As of |
| 25 | GNUstep, which is free software. As of this writing, the GNUstep support is | 25 | this writing, the GNUstep support is alpha status (@pxref{GNUstep |
| 26 | alpha status (@pxref{GNUstep Support}), but we hope to improve it in the | 26 | Support}), but we hope to improve it in the future. |
| 27 | future. | ||
| 28 | 27 | ||
| 29 | @menu | 28 | @menu |
| 30 | * Mac / GNUstep Basics:: Basic Emacs usage under GNUstep or Mac OS. | 29 | * Mac / GNUstep Basics:: Basic Emacs usage under GNUstep or Mac OS. |
| @@ -37,19 +36,24 @@ future. | |||
| 37 | @section Basic Emacs usage under Mac OS and GNUstep | 36 | @section Basic Emacs usage under Mac OS and GNUstep |
| 38 | 37 | ||
| 39 | By default, the @key{alt} and @key{option} keys are the same as | 38 | By default, the @key{alt} and @key{option} keys are the same as |
| 40 | @key{Meta} when running under Mac OS. The Mac @key{Cmd} key is the | 39 | @key{Meta}. The Mac @key{Cmd} key is the same as @key{Super}, and |
| 41 | same as @key{Super}, and Emacs provides a set of keybindings using | 40 | Emacs provides a set of keybindings using this modifier key that mimic |
| 42 | this modifier key that mimic other Mac / GNUstep applications (@pxref{Mac / | 41 | other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You |
| 43 | GNUstep Events}). You can change these bindings in the usual way (@pxref{Key | 42 | can change these bindings in the usual way (@pxref{Key Bindings}). |
| 44 | Bindings}). | 43 | |
| 45 | 44 | The variable @code{ns-right-alternate-modifier} controls the | |
| 46 | The standard Mac / GNUstep font and color panels are accessible via Lisp commands. | 45 | behavior of the right @key{alt} and @key{option} keys. These keys |
| 47 | To use the color panel, drag from it to an Emacs frame to change the | 46 | behave like the left-hand keys if the value is @code{left} (the |
| 48 | foreground color of the face at that position (if the @key{shift} key | 47 | default). A value of @code{control}, @code{meta}, @code{alt}, |
| 49 | is held down, it changes the background color instead). To discard the | 48 | @code{super}, or @code{hyper} makes them behave like the corresponding |
| 50 | settings, create a new frame and close the altered one. | 49 | modifier keys; a value of @code{none} tells Emacs to ignore them. |
| 51 | @c [unclear if the following holds.] | 50 | |
| 52 | @c To finalize the settings for either color or font, choose @samp{Save Options} in the @samp{Options} menu. | 51 | The standard Mac / GNUstep font and color panels are accessible via |
| 52 | Lisp commands. To use the color panel, drag from it to an Emacs frame | ||
| 53 | to change the foreground color of the face at that position (if the | ||
| 54 | @key{shift} key is held down, it changes the background color | ||
| 55 | instead). To discard the settings, create a new frame and close the | ||
| 56 | altered one. | ||
| 53 | 57 | ||
| 54 | @key{S-Mouse-1} (i.e., clicking the left mouse button | 58 | @key{S-Mouse-1} (i.e., clicking the left mouse button |
| 55 | while holding down the @key{Shift} key) adjusts the region to the | 59 | while holding down the @key{Shift} key) adjusts the region to the |
| @@ -58,7 +62,7 @@ it does not pop up a menu for changing the default face, as | |||
| 58 | @key{S-Mouse-1} normally does (@pxref{Temporary Face Changes}). This | 62 | @key{S-Mouse-1} normally does (@pxref{Temporary Face Changes}). This |
| 59 | change makes Emacs behave more like other Mac / GNUstep applications. | 63 | change makes Emacs behave more like other Mac / GNUstep applications. |
| 60 | 64 | ||
| 61 | When you open or save files using the menus, or using the | 65 | When you open or save files using the menus, or using the |
| 62 | @key{Cmd-o} and @key{Cmd-S} bindings, Emacs uses graphical file | 66 | @key{Cmd-o} and @key{Cmd-S} bindings, Emacs uses graphical file |
| 63 | dialogs to read file names. However, if you use the regular Emacs key | 67 | dialogs to read file names. However, if you use the regular Emacs key |
| 64 | sequences, such as @key{C-x C-f}, Emacs uses the minibuffer to read | 68 | sequences, such as @key{C-x C-f}, Emacs uses the minibuffer to read |
| @@ -110,7 +114,7 @@ dragging will alter the foreground color. Shift dragging will alter the | |||
| 110 | background color. | 114 | background color. |
| 111 | 115 | ||
| 112 | @c To make the changes permanent select the "Save Options" | 116 | @c To make the changes permanent select the "Save Options" |
| 113 | @c item in the "Options" menu, or run @code{menu-bar-options-save}. | 117 | @c item in the "Options" menu, or run @code{menu-bar-options-save}. |
| 114 | 118 | ||
| 115 | Useful in this context is the listing of all faces obtained by @key{M-x} | 119 | Useful in this context is the listing of all faces obtained by @key{M-x} |
| 116 | @code{list-faces-display}. | 120 | @code{list-faces-display}. |
| @@ -193,7 +197,7 @@ font are stored in the variables @code{ns-input-font} and | |||
| 193 | @code{ns-input-fontsize}, respectively. | 197 | @code{ns-input-fontsize}, respectively. |
| 194 | 198 | ||
| 195 | @item ns-power-off | 199 | @item ns-power-off |
| 196 | This event occurs when the user logs out and Emacs is still running, or when | 200 | This event occurs when the user logs out and Emacs is still running, or when |
| 197 | `Quit Emacs' is chosen from the application menu. | 201 | `Quit Emacs' is chosen from the application menu. |
| 198 | The default behavior is to save all file-visiting buffers. | 202 | The default behavior is to save all file-visiting buffers. |
| 199 | @end table | 203 | @end table |
| @@ -208,26 +212,9 @@ and return the result as a string. You can also use the Lisp function | |||
| 208 | services and receive the results back. Note that you may need to | 212 | services and receive the results back. Note that you may need to |
| 209 | restart Emacs to access newly-available services. | 213 | restart Emacs to access newly-available services. |
| 210 | 214 | ||
| 211 | |||
| 212 | @node GNUstep Support, , Mac / GNUstep Events, Mac OS / GNUstep | 215 | @node GNUstep Support, , Mac / GNUstep Events, Mac OS / GNUstep |
| 213 | @section GNUstep Support | 216 | @section GNUstep Support |
| 214 | 217 | ||
| 215 | Emacs can be built and run under GNUstep, however there are still some | 218 | Emacs can be built and run under GNUstep, but there are still some |
| 216 | issues to be addressed. Interested developers should contact | 219 | issues to be addressed. Interested developers should contact |
| 217 | @email{emacs-devel@@gnu.org}. | 220 | @email{emacs-devel@@gnu.org}. |
| 218 | |||
| 219 | @c Presumably no longer relevant since CANNOT_DUMP removed 2009-05-06: | ||
| 220 | @ignore | ||
| 221 | In particular, it may be necessary to run @samp{make bootstrap} with a | ||
| 222 | plain X configuration, then @samp{make clean} and @samp{./configure | ||
| 223 | --with-ns} followed by @samp{make install}. | ||
| 224 | |||
| 225 | Currently CANNOT_DUMP is automatically enabled in GNUstep configurations, | ||
| 226 | because the unex file(s) for GNUstep, mainly @samp{unexelf.c}, have not been | ||
| 227 | updated yet with the ``zone'' code in and related to @samp{unexmacosx.c}. | ||
| 228 | @end ignore | ||
| 229 | |||
| 230 | |||
| 231 | @ignore | ||
| 232 | arch-tag: a822c2ab-4273-4997-927e-c153bb71dcf6 | ||
| 233 | @end ignore | ||
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index b407f5b9c99..cf504b6be2a 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi | |||
| @@ -24,20 +24,20 @@ programs. | |||
| 24 | @section Version Control | 24 | @section Version Control |
| 25 | @cindex version control | 25 | @cindex version control |
| 26 | 26 | ||
| 27 | A @dfn{version control system} is a package that can record multiple | 27 | A @dfn{version control system} is a program that can record multiple |
| 28 | versions of a source file, storing information such as the creation | 28 | versions of a source file, storing information such as the creation |
| 29 | time of each version, who created it, and a description of what was | 29 | time of each version, who made it, and a description of what was |
| 30 | changed in that version. | 30 | changed. |
| 31 | 31 | ||
| 32 | The Emacs version control interface is called VC. Its commands work | 32 | The Emacs version control interface is called @dfn{VC}. VC commands |
| 33 | with several different version control systems; currently, it supports | 33 | work with several different version control systems; currently, it |
| 34 | GNU Arch, Bazaar, CVS, Git, Mercurial, Monotone, RCS, SCCS/CSSC, and | 34 | supports GNU Arch, Bazaar, CVS, Git, Mercurial, Monotone, RCS, |
| 35 | Subversion. Of these, the GNU project distributes CVS, GNU Arch, RCS, | 35 | SCCS/CSSC, and Subversion. Of these, the GNU project distributes CVS, |
| 36 | and Bazaar. | 36 | Arch, RCS, and Bazaar. |
| 37 | 37 | ||
| 38 | VC is enabled automatically whenever you visit a file that is | 38 | VC is enabled automatically whenever you visit a file governed by a |
| 39 | governed by a version control system. To disable VC entirely, set the | 39 | version control system. To disable VC entirely, set the customizable |
| 40 | customizable variable @code{vc-handled-backends} to @code{nil} | 40 | variable @code{vc-handled-backends} to @code{nil} |
| 41 | @iftex | 41 | @iftex |
| 42 | (@pxref{Customizing VC,,,emacs-xtra, Specialized Emacs Features}). | 42 | (@pxref{Customizing VC,,,emacs-xtra, Specialized Emacs Features}). |
| 43 | @end iftex | 43 | @end iftex |
| @@ -49,6 +49,7 @@ customizable variable @code{vc-handled-backends} to @code{nil} | |||
| 49 | * Introduction to VC:: How version control works in general. | 49 | * Introduction to VC:: How version control works in general. |
| 50 | * VC Mode Line:: How the mode line shows version control status. | 50 | * VC Mode Line:: How the mode line shows version control status. |
| 51 | * Basic VC Editing:: How to edit a file under version control. | 51 | * Basic VC Editing:: How to edit a file under version control. |
| 52 | * Log Buffer:: Features available in log entry buffers. | ||
| 52 | * Old Revisions:: Examining and comparing old versions. | 53 | * Old Revisions:: Examining and comparing old versions. |
| 53 | * Secondary VC Commands:: The commands used a little less frequently. | 54 | * Secondary VC Commands:: The commands used a little less frequently. |
| 54 | * VC Directory Mode:: Listing files managed by version control. | 55 | * VC Directory Mode:: Listing files managed by version control. |
| @@ -65,12 +66,13 @@ customizable variable @code{vc-handled-backends} to @code{nil} | |||
| 65 | @subsection Introduction to Version Control | 66 | @subsection Introduction to Version Control |
| 66 | 67 | ||
| 67 | VC allows you to use a version control system from within Emacs, | 68 | VC allows you to use a version control system from within Emacs, |
| 68 | integrating the version control operations smoothly with editing. | 69 | integrating the version control operations smoothly with editing. It |
| 69 | Though VC cannot completely bridge the gaps between version control | 70 | provides a uniform interface for common operations in many version |
| 70 | systems with widely differing capabilities, it does provide a uniform | 71 | control operations. |
| 71 | interface to many version control operations. Regardless of which | 72 | |
| 72 | version control system is in use, you will be able to do basic | 73 | Some uncommon or intricate version control operations, such as |
| 73 | operations in much the same way. | 74 | altering repository settings, are not supported in VC. You should |
| 75 | perform such tasks outside Emacs, e.g. via the command line. | ||
| 74 | 76 | ||
| 75 | This section provides a general overview of version control, and | 77 | This section provides a general overview of version control, and |
| 76 | describes the version control systems that VC supports. You can skip | 78 | describes the version control systems that VC supports. You can skip |
| @@ -81,6 +83,9 @@ you want to use. | |||
| 81 | * Why Version Control?:: Understanding the problems it addresses. | 83 | * Why Version Control?:: Understanding the problems it addresses. |
| 82 | * Version Control Systems:: Supported version control back-end systems. | 84 | * Version Control Systems:: Supported version control back-end systems. |
| 83 | * VCS Concepts:: Words and concepts related to version control. | 85 | * VCS Concepts:: Words and concepts related to version control. |
| 86 | * VCS Merging:: How file conflicts are handled. | ||
| 87 | * VCS Changesets:: How changes are grouped. | ||
| 88 | * VCS Repositories:: Where version control repositories are stored. | ||
| 84 | * Types of Log File:: The VCS log in contrast to the ChangeLog. | 89 | * Types of Log File:: The VCS log in contrast to the ChangeLog. |
| 85 | @end menu | 90 | @end menu |
| 86 | 91 | ||
| @@ -112,8 +117,8 @@ vitally important form of communication among developers. | |||
| 112 | @subsubsection Supported Version Control Systems | 117 | @subsubsection Supported Version Control Systems |
| 113 | 118 | ||
| 114 | @cindex back end (version control) | 119 | @cindex back end (version control) |
| 115 | VC currently works with many different version control systems or | 120 | VC currently works with many different version control systems, |
| 116 | @dfn{back ends}: | 121 | which it refers to as @dfn{back ends}: |
| 117 | 122 | ||
| 118 | @itemize @bullet | 123 | @itemize @bullet |
| 119 | 124 | ||
| @@ -134,73 +139,60 @@ control system. | |||
| 134 | @cindex RCS | 139 | @cindex RCS |
| 135 | @item | 140 | @item |
| 136 | RCS is the free version control system around which VC was initially | 141 | RCS is the free version control system around which VC was initially |
| 137 | built. Almost everything you can do with RCS can be done through VC. | 142 | built. It is relatively primitive: it cannot be used over the |
| 138 | However, you cannot use RCS over the network, and it only works at the | 143 | network, and works at the level of individual files. Almost |
| 139 | level of individual files rather than projects. | 144 | everything you can do with RCS can be done through VC. |
| 140 | 145 | ||
| 141 | @cindex CVS | 146 | @cindex CVS |
| 142 | @item | 147 | @item |
| 143 | CVS is the free version control system that was, until recently (circa | 148 | CVS is the free version control system that was, until recently (circa |
| 144 | 2008), used by the majority of free software projects. Nowadays, it | 149 | 2008), used by the majority of free software projects. Nowadays, it |
| 145 | is slowly being superseded by newer systems. CVS allows concurrent | 150 | is slowly being superseded by newer systems. CVS allows concurrent |
| 146 | multi-user development either locally or over the network. It lacks | 151 | multi-user development either locally or over the network. Unlike |
| 147 | support for atomic commits or file moving/renaming. VC supports all | 152 | newer systems, it lacks support for atomic commits and file |
| 148 | basic editing operations under CVS. For some less common tasks, you | 153 | moving/renaming. VC supports all basic editing operations under CVS. |
| 149 | still need to call CVS from the command line. Note also that before | ||
| 150 | using CVS you must set up a repository, which is a subject too complex | ||
| 151 | to treat here. | ||
| 152 | 154 | ||
| 153 | @cindex SVN | 155 | @cindex SVN |
| 154 | @cindex Subversion | 156 | @cindex Subversion |
| 155 | @item | 157 | @item |
| 156 | Subversion (SVN) is a free version control system designed to be | 158 | Subversion (SVN) is a free version control system designed to be |
| 157 | similar to CVS but without its problems. It supports atomic commits | 159 | similar to CVS but without its problems (e.g., it supports atomic |
| 158 | of filesets, and versioning of directories, symbolic links, meta-data, | 160 | commits of filesets, and versioning of directories, symbolic links, |
| 159 | renames, copies, and deletes. | 161 | meta-data, renames, copies, and deletes). |
| 160 | 162 | ||
| 161 | @cindex GNU Arch | 163 | @cindex GNU Arch |
| 162 | @cindex Arch | 164 | @cindex Arch |
| 163 | @item | 165 | @item |
| 164 | GNU Arch is a version control system designed for distributed work. | 166 | GNU Arch is one of the earliest @dfn{distributed} version control |
| 165 | It differs in many ways from older systems like CVS and RCS. It | 167 | systems (the other being Monotone). @xref{VCS Concepts}, for a |
| 166 | provides different methods for interoperating between users, support | 168 | description of distributed version control systems. It is no longer |
| 167 | for offline operations, and good branching and merging features. It | 169 | under active development, and has been deprecated in favor of Bazaar. |
| 168 | also supports atomic commits of filesets and file moving/renaming. VC | ||
| 169 | does not support all operations provided by GNU Arch, so you must | ||
| 170 | sometimes invoke it from the command line. | ||
| 171 | 170 | ||
| 172 | @cindex git | 171 | @cindex git |
| 173 | @item | 172 | @item |
| 174 | Git is a distributed version control system invented by Linus Torvalds to support | 173 | Git is a distributed version control system originally invented by |
| 175 | development of Linux (his kernel). It supports atomic commits of filesets and | 174 | Linus Torvalds to support development of Linux (his kernel). VC |
| 176 | file moving/renaming. One significant feature of git is that it | 175 | supports many common git operations, but others, such as repository |
| 177 | largely abolishes the notion of a single centralized repository; | 176 | syncing, must be done from the command line. |
| 178 | instead, each working copy of a git project is its own repository and | ||
| 179 | coordination is done through repository-sync operations. VC supports | ||
| 180 | most git operations, with the exception of news merges and repository | ||
| 181 | syncing; these must be done from the command line. | ||
| 182 | 177 | ||
| 183 | @cindex hg | 178 | @cindex hg |
| 184 | @cindex Mercurial | 179 | @cindex Mercurial |
| 185 | @item | 180 | @item |
| 186 | Mercurial (hg) is a distributed version control system broadly | 181 | Mercurial (hg) is a distributed version control system broadly |
| 187 | resembling GNU Arch and git, with atomic fileset commits and file | 182 | resembling git. VC supports most Mercurial commands, with the |
| 188 | moving/renaming. Like git, it is fully decentralized. VC supports | 183 | exception of repository sync operations. |
| 189 | most Mercurial commands, with the exception of repository sync | ||
| 190 | operations; this needs to be done from the command line. | ||
| 191 | 184 | ||
| 192 | @cindex bzr | 185 | @cindex bzr |
| 193 | @cindex Bazaar | 186 | @cindex Bazaar |
| 194 | @item | 187 | @item |
| 195 | Bazaar (bzr) is a distributed version control system that supports both | 188 | Bazaar (bzr) is a distributed version control system that supports |
| 196 | repository-based and distributed versioning, with atomic fileset | 189 | both repository-based and distributed versioning. VC supports most |
| 197 | commits and file moving/renaming. VC supports most basic editing | 190 | basic editing operations under Bazaar. |
| 198 | operations under Bazaar. | ||
| 199 | @end itemize | 191 | @end itemize |
| 200 | 192 | ||
| 201 | Previous versions of VC supported a version control system known as | 193 | Previous versions of VC supported a version control system known as |
| 202 | Meta-CVS. This support has been dropped because of limited interest | 194 | Meta-CVS. This support was dropped due to limited interest from users |
| 203 | from users and developers. | 195 | and developers. |
| 204 | 196 | ||
| 205 | @node VCS Concepts | 197 | @node VCS Concepts |
| 206 | @subsubsection Concepts of Version Control | 198 | @subsubsection Concepts of Version Control |
| @@ -216,11 +208,11 @@ as @dfn{log entries} that describe the changes made to each file. | |||
| 216 | 208 | ||
| 217 | @cindex work file | 209 | @cindex work file |
| 218 | @cindex checking out files | 210 | @cindex checking out files |
| 219 | A file @dfn{checked out} of a repository is called the @dfn{work | 211 | The copy of a version-controlled file that you actually edit is |
| 220 | file}. You edit the work file and make changes in it, as you would | 212 | called the @dfn{work file}. You can change each work file as you |
| 221 | with an ordinary file. After you are done with a set of changes, you | 213 | would an ordinary file. After you are done with a set of changes, you |
| 222 | @dfn{check in} or @dfn{commit} the file; this records the changes in | 214 | @dfn{commit} (or @dfn{check in}) the changes; this records the changes |
| 223 | the repository, along with a log entry for those changes. | 215 | in the repository, along with a descriptive log entry. |
| 224 | 216 | ||
| 225 | @cindex revision | 217 | @cindex revision |
| 226 | @cindex revision ID | 218 | @cindex revision ID |
| @@ -231,12 +223,15 @@ on the version control system; in the simplest case, it is just an | |||
| 231 | integer. | 223 | integer. |
| 232 | 224 | ||
| 233 | To go beyond these basic concepts, you will need to understand three | 225 | To go beyond these basic concepts, you will need to understand three |
| 234 | aspects in which version control systems differ. | 226 | aspects in which version control systems differ. As explained in the |
| 235 | They can be locking-based or merging-based; they can be file-based or | 227 | next three sections, they can be lock-based or merge-based; file-based |
| 236 | changeset-based; and they can be centralized or decentralized. VC | 228 | or changeset-based; and centralized or decentralized. VC handles all |
| 237 | handles all these modes of operation, but it cannot hide the differences. | 229 | these modes of operation, but it cannot hide the differences. |
| 238 | 230 | ||
| 231 | @node VCS Merging | ||
| 232 | @subsubsection Merge-based vs lock-based Version Control | ||
| 239 | @cindex locking versus merging | 233 | @cindex locking versus merging |
| 234 | |||
| 240 | A version control system typically has some mechanism to coordinate | 235 | A version control system typically has some mechanism to coordinate |
| 241 | between users who want to change the same file. There are two ways to | 236 | between users who want to change the same file. There are two ways to |
| 242 | do this: merging and locking. | 237 | do this: merging and locking. |
| @@ -244,8 +239,7 @@ do this: merging and locking. | |||
| 244 | In a version control system that uses merging, each user may check | 239 | In a version control system that uses merging, each user may check |
| 245 | out and modify a work file at any time. The system lets you | 240 | out and modify a work file at any time. The system lets you |
| 246 | @dfn{merge} your work file, which may contain changes that have not | 241 | @dfn{merge} your work file, which may contain changes that have not |
| 247 | been checked in, with the latest changes that others have checked into | 242 | been committed, with the latest changes that others have committed. |
| 248 | the repository. | ||
| 249 | 243 | ||
| 250 | Older version control systems use a @dfn{locking} scheme instead. | 244 | Older version control systems use a @dfn{locking} scheme instead. |
| 251 | Here, work files are normally read-only. To edit a file, you ask the | 245 | Here, work files are normally read-only. To edit a file, you ask the |
| @@ -253,7 +247,7 @@ version control system to make it writable for you by @dfn{locking} | |||
| 253 | it; only one user can lock a given file at any given time. This | 247 | it; only one user can lock a given file at any given time. This |
| 254 | procedure is analogous to, but different from, the locking that Emacs | 248 | procedure is analogous to, but different from, the locking that Emacs |
| 255 | uses to detect simultaneous editing of ordinary files | 249 | uses to detect simultaneous editing of ordinary files |
| 256 | (@pxref{Interlocking}). When you check in your changes, that unlocks | 250 | (@pxref{Interlocking}). When you commit your changes, that unlocks |
| 257 | the file, and the work file becomes read-only again. Other users may | 251 | the file, and the work file becomes read-only again. Other users may |
| 258 | then lock the file to make their own changes. | 252 | then lock the file to make their own changes. |
| 259 | 253 | ||
| @@ -261,8 +255,8 @@ then lock the file to make their own changes. | |||
| 261 | users try to modify the same file at the same time. Locking systems | 255 | users try to modify the same file at the same time. Locking systems |
| 262 | have @dfn{lock conflicts}; a user may try to check a file out and be | 256 | have @dfn{lock conflicts}; a user may try to check a file out and be |
| 263 | unable to because it is locked. In merging systems, @dfn{merge | 257 | unable to because it is locked. In merging systems, @dfn{merge |
| 264 | conflicts} happen when you check in a change to a file that conflicts | 258 | conflicts} happen when you commit a change to a file that conflicts |
| 265 | with a change checked in by someone else after your checkout. Both | 259 | with a change committed by someone else after your checkout. Both |
| 266 | kinds of conflict have to be resolved by human judgment and | 260 | kinds of conflict have to be resolved by human judgment and |
| 267 | communication. Experience has shown that merging is superior to | 261 | communication. Experience has shown that merging is superior to |
| 268 | locking, both in convenience to developers and in minimizing the | 262 | locking, both in convenience to developers and in minimizing the |
| @@ -275,27 +269,33 @@ Distributed version control systems, such as GNU Arch, git, and | |||
| 275 | Mercurial, are exclusively merging-based. | 269 | Mercurial, are exclusively merging-based. |
| 276 | 270 | ||
| 277 | VC mode supports both locking and merging version control. The | 271 | VC mode supports both locking and merging version control. The |
| 278 | terms ``checkin'' and ``checkout'' come from locking-based version | 272 | terms ``commit'' and ``update'' are used in newer version control |
| 279 | control systems; newer version control systems have slightly different | 273 | systems; older lock-based systems use the terms ``check in'' and |
| 280 | operations usually called ``commit'' and ``update'', but VC hides the | 274 | ``check out''. VC hides the differences between them as much as |
| 281 | differences between them as much as possible. | 275 | possible. |
| 276 | |||
| 277 | @node VCS Changesets | ||
| 278 | @subsubsection Changeset-based vs File-based Version Control | ||
| 282 | 279 | ||
| 283 | @cindex files versus changesets. | 280 | @cindex changesets |
| 284 | On SCCS, RCS, CVS, and other early version control systems, version | 281 | On SCCS, RCS, CVS, and other early version control systems, version |
| 285 | control operations are @dfn{file-based}: each file has its own comment | 282 | control operations are @dfn{file-based}: each file has its own comment |
| 286 | and revision history separate from that of all other files in the | 283 | and revision history separate from that of all other files. Newer |
| 287 | system. Later systems, beginning with Subversion, are | 284 | systems, beginning with Subversion, are @dfn{changeset-based}: a |
| 288 | @dfn{changeset-based}: a checkin may include changes to several files, | 285 | checkin may include changes to several files, and the entire set of |
| 289 | and the entire set of changes is treated as a unit by the system. Any | 286 | changes is handled as a unit. Any comment associated with the change |
| 290 | comment associated with the change does not belong to a single file, | 287 | does not belong to a single file, but to the changeset itself. |
| 291 | but to the changeset itself. | ||
| 292 | 288 | ||
| 293 | Changeset-based version control is more flexible and powerful than | 289 | Changeset-based version control is more flexible and powerful than |
| 294 | file-based version control; usually, when a change to multiple files | 290 | file-based version control; usually, when a change to multiple files |
| 295 | has to be reversed, it's good to be able to easily identify and remove | 291 | has to be reversed, it's good to be able to easily identify and remove |
| 296 | all of it. | 292 | all of it. |
| 297 | 293 | ||
| 298 | @cindex centralized vs. decentralized version control | 294 | @node VCS Repositories |
| 295 | @subsubsection Decentralized vs Centralized Repositories | ||
| 296 | |||
| 297 | @cindex centralized version control | ||
| 298 | @cindex decentralized version control | ||
| 299 | Early version control systems were designed around a | 299 | Early version control systems were designed around a |
| 300 | @dfn{centralized} model in which each project has only one repository | 300 | @dfn{centralized} model in which each project has only one repository |
| 301 | used by all developers. SCCS, RCS, CVS, and Subversion share this | 301 | used by all developers. SCCS, RCS, CVS, and Subversion share this |
| @@ -306,14 +306,12 @@ point for reliability and efficiency. | |||
| 306 | control, later implemented in git, Mercurial, and Bazaar. A project | 306 | control, later implemented in git, Mercurial, and Bazaar. A project |
| 307 | may have several different repositories, and these systems support a | 307 | may have several different repositories, and these systems support a |
| 308 | sort of super-merge between repositories that tries to reconcile their | 308 | sort of super-merge between repositories that tries to reconcile their |
| 309 | change histories. At the limit, each developer has his/her own | 309 | change histories. In effect, there is one repository for each |
| 310 | repository, and repository merges replace checkin/commit operations. | 310 | developer, and repository merges take the place of commit operations. |
| 311 | 311 | ||
| 312 | VC's job is to help you manage the traffic between your personal | 312 | VC helps you manage the traffic between your personal workfiles and |
| 313 | workfiles and a repository. Whether that repository is a single | 313 | a repository. Whether the repository is a single master, or one of a |
| 314 | master or one of a network of peer repositories is not something VC | 314 | network of peer repositories, is not something VC has to care about. |
| 315 | has to care about. Thus, the difference between a centralized and a | ||
| 316 | decentralized version control system is invisible to VC mode. | ||
| 317 | 315 | ||
| 318 | @node Types of Log File | 316 | @node Types of Log File |
| 319 | @subsubsection Types of Log File | 317 | @subsubsection Types of Log File |
| @@ -323,9 +321,9 @@ decentralized version control system is invisible to VC mode. | |||
| 323 | 321 | ||
| 324 | Projects that use a version control system can have two types of log | 322 | Projects that use a version control system can have two types of log |
| 325 | for changes. One is the log maintained by the version control system: | 323 | for changes. One is the log maintained by the version control system: |
| 326 | each time you check in a change, you fill out a @dfn{log entry} for | 324 | each time you commit a change, you fill out a @dfn{log entry} for the |
| 327 | the change (@pxref{Log Buffer}). This is called the @dfn{version | 325 | change (@pxref{Log Buffer}). This is called the @dfn{version control |
| 328 | control log}. | 326 | log}. |
| 329 | 327 | ||
| 330 | The other kind of log is the file @file{ChangeLog} (@pxref{Change | 328 | The other kind of log is the file @file{ChangeLog} (@pxref{Change |
| 331 | Log}). It provides a chronological record of all changes to a large | 329 | Log}). It provides a chronological record of all changes to a large |
| @@ -365,32 +363,29 @@ change, and later use the @kbd{C-x v a} command to copy it to | |||
| 365 | @cindex VC, mode line indicator | 363 | @cindex VC, mode line indicator |
| 366 | 364 | ||
| 367 | When you visit a file that is under version control, Emacs indicates | 365 | When you visit a file that is under version control, Emacs indicates |
| 368 | this on the mode line. For example, @samp{RCS-1.3} says that the RCS | 366 | this on the mode line. For example, @samp{Bzr-1223} says that Bazaar |
| 369 | back end is used for that file, and the current version of the file is | 367 | is used for that file, and the current revision ID is 1223. |
| 370 | 1.3. | ||
| 371 | |||
| 372 | The first part of the VC mode-line indicator is the name of the back | ||
| 373 | end: @samp{RCS}, @samp{CVS}, @samp{Bzr}, etc. The back-end name is | ||
| 374 | followed by a single character and the version of the file. | ||
| 375 | 368 | ||
| 376 | The character between the back-end name and the revision ID | 369 | The character between the back-end name and the revision ID |
| 377 | indicates the version control status of the file. @samp{-} means that | 370 | indicates the status of the work file. In a merge-based version |
| 378 | the work file is not locked (if locking is in use), or not modified (if | 371 | control system, a @samp{-} character indicates that the work file is |
| 379 | locking is not in use). @samp{:} indicates that the file is locked, or | 372 | unmodified, and @samp{:} indicates that it has been modified. |
| 380 | that it is modified. If the file is locked by some other user (for | 373 | @samp{!} indicates that the file contains conflicts as result of a |
| 374 | recent merge operation (@pxref{Merging}), or that the file was removed | ||
| 375 | from the version control. Finally, @samp{?} means that the file is | ||
| 376 | under version control, but is missing from the working tree. | ||
| 377 | |||
| 378 | In a lock-based system, @samp{-} indicates an unlocked file, and | ||
| 379 | @samp{:} a locked file; if the file is locked by another user (for | ||
| 381 | instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}. | 380 | instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}. |
| 382 | @samp{@@} means that the file was locally added, but not yet committed | 381 | @samp{@@} means that the file was locally added, but not yet committed |
| 383 | to the master repository. @samp{!} indicates that the file contains | 382 | to the master repository. |
| 384 | conflicts as result of a recent merge operation (@pxref{Merging}), or | ||
| 385 | that the file was removed from the version control. Finally, @samp{?} | ||
| 386 | means that the file is under version control, but is missing from the | ||
| 387 | working tree. | ||
| 388 | 383 | ||
| 389 | On a graphical display, you can move the mouse over this mode line | 384 | On a graphical display, you can move the mouse over this mode line |
| 390 | indicator to pop up a ``tool-tip'', which displays a more verbose | 385 | indicator to pop up a ``tool-tip'', which displays a more verbose |
| 391 | description of the version control status. Pressing @kbd{Mouse-1} | 386 | description of the version control status. Pressing @kbd{Mouse-1} |
| 392 | over the indicator pops up a menu of VC commands. This menu is | 387 | over the indicator pops up a menu of VC commands, identical to |
| 393 | identical to the @samp{Tools / Version Control} menu item. | 388 | @samp{Tools / Version Control} on the menu bar. |
| 394 | 389 | ||
| 395 | @vindex auto-revert-check-vc-info | 390 | @vindex auto-revert-check-vc-info |
| 396 | When Auto Revert mode (@pxref{Reverting}) reverts a buffer that is | 391 | When Auto Revert mode (@pxref{Reverting}) reverts a buffer that is |
| @@ -442,12 +437,6 @@ command line. All files in a VC fileset must be under the same | |||
| 442 | version control system; if they are not, Emacs signals an error when | 437 | version control system; if they are not, Emacs signals an error when |
| 443 | you attempt to execute a command on the fileset. | 438 | you attempt to execute a command on the fileset. |
| 444 | 439 | ||
| 445 | Support for VC filesets and changeset-based version control systems | ||
| 446 | is the main improvement to VC in Emacs 23. When you mark multi-file | ||
| 447 | VC in a VC Directory buffer, VC operations treat them as a VC fileset, | ||
| 448 | and operate on them all at once if the version control system is | ||
| 449 | changeset-based. @xref{VC Directory Mode}. | ||
| 450 | |||
| 451 | VC filesets are distinct from the ``named filesets'' used for | 440 | VC filesets are distinct from the ``named filesets'' used for |
| 452 | viewing and visiting files in functional groups (@pxref{Filesets}). | 441 | viewing and visiting files in functional groups (@pxref{Filesets}). |
| 453 | Unlike named filesets, VC filesets are not named and don't persist | 442 | Unlike named filesets, VC filesets are not named and don't persist |
| @@ -457,7 +446,6 @@ across sessions. | |||
| 457 | * VC With A Merging VCS:: Without locking: default mode for CVS. | 446 | * VC With A Merging VCS:: Without locking: default mode for CVS. |
| 458 | * VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS. | 447 | * VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS. |
| 459 | * Advanced C-x v v:: Advanced features available with a prefix argument. | 448 | * Advanced C-x v v:: Advanced features available with a prefix argument. |
| 460 | * Log Buffer:: Features available in log entry buffers. | ||
| 461 | @end menu | 449 | @end menu |
| 462 | 450 | ||
| 463 | @node VC With A Merging VCS | 451 | @node VC With A Merging VCS |
| @@ -490,9 +478,9 @@ If you have not changed the work file, but some other user has checked | |||
| 490 | in changes to the repository, merge those changes into the work file. | 478 | in changes to the repository, merge those changes into the work file. |
| 491 | 479 | ||
| 492 | @item | 480 | @item |
| 493 | If you have made modifications to the work file, attempts to check in | 481 | If you have made modifications to the work file, attempt to commit |
| 494 | your changes. To do this, Emacs first reads the log entry for the new | 482 | the changes. To do this, Emacs first reads the log entry for the new |
| 495 | revision (@pxref{Log Buffer}). If some other user has checked in | 483 | revision (@pxref{Log Buffer}). If some other user has committed |
| 496 | changes to the repository since you last checked it out, the checkin | 484 | changes to the repository since you last checked it out, the checkin |
| 497 | fails. In that case, type @kbd{C-x v v} again to merge those changes | 485 | fails. In that case, type @kbd{C-x v v} again to merge those changes |
| 498 | into your own work file; this puts the work file into a ``conflicted'' | 486 | into your own work file; this puts the work file into a ``conflicted'' |
| @@ -507,8 +495,8 @@ trying to commit your own changes, type @kbd{C-x v m @key{RET}}. | |||
| 507 | 495 | ||
| 508 | These rules also apply when you use RCS in its ``non-locking'' mode, | 496 | These rules also apply when you use RCS in its ``non-locking'' mode, |
| 509 | except that changes are not automatically merged from the repository. | 497 | except that changes are not automatically merged from the repository. |
| 510 | Nothing informs you if another user has checked in changes in the same | 498 | Nothing informs you if another user has committed changes in the same |
| 511 | file since you began editing it; when you check in your revision, his | 499 | file since you began editing it; when you commit your revision, his |
| 512 | changes are removed (however, they remain in the repository and are | 500 | changes are removed (however, they remain in the repository and are |
| 513 | thus not irrevocably lost). Therefore, you must verify that the | 501 | thus not irrevocably lost). Therefore, you must verify that the |
| 514 | current revision is unchanged before checking in your changes. In | 502 | current revision is unchanged before checking in your changes. In |
| @@ -528,7 +516,7 @@ If the file is not locked, lock it and make it writable, so that you | |||
| 528 | can change it. | 516 | can change it. |
| 529 | 517 | ||
| 530 | @item | 518 | @item |
| 531 | If the file is locked by you, and contains changes, check in the | 519 | If the file is locked by you, and contains changes, commit the |
| 532 | changes. In order to do this, Emacs first reads the log entry for the | 520 | changes. In order to do this, Emacs first reads the log entry for the |
| 533 | new revision. @xref{Log Buffer}. | 521 | new revision. @xref{Log Buffer}. |
| 534 | 522 | ||
| @@ -544,12 +532,12 @@ locked the file, to inform him of what has happened. | |||
| 544 | @end itemize | 532 | @end itemize |
| 545 | 533 | ||
| 546 | These rules also apply when you use CVS in locking mode, except | 534 | These rules also apply when you use CVS in locking mode, except |
| 547 | that there is no such thing as stealing a lock. | 535 | that CVS does not support stealing a lock. |
| 548 | 536 | ||
| 549 | @node Advanced C-x v v | 537 | @node Advanced C-x v v |
| 550 | @subsubsection Advanced Control in @kbd{C-x v v} | 538 | @subsubsection Advanced Control in @kbd{C-x v v} |
| 551 | 539 | ||
| 552 | @cindex revision ID to check in/out | 540 | @cindex revision ID in version control |
| 553 | When you give a prefix argument to @code{vc-next-action} (@kbd{C-u | 541 | When you give a prefix argument to @code{vc-next-action} (@kbd{C-u |
| 554 | C-x v v}), it still performs the next logical version control | 542 | C-x v v}), it still performs the next logical version control |
| 555 | operation, but accepts additional arguments to specify precisely how | 543 | operation, but accepts additional arguments to specify precisely how |
| @@ -558,8 +546,8 @@ to do the operation. | |||
| 558 | @itemize @bullet | 546 | @itemize @bullet |
| 559 | @item | 547 | @item |
| 560 | If the file is modified (or locked), you can specify the revision ID | 548 | If the file is modified (or locked), you can specify the revision ID |
| 561 | to use for the new version that you check in. This is one way | 549 | to use for the new version that you commit. This is one way to create |
| 562 | to create a new branch (@pxref{Branches}). | 550 | a new branch (@pxref{Branches}). |
| 563 | 551 | ||
| 564 | @item | 552 | @item |
| 565 | If the file is not modified (and unlocked), you can specify the | 553 | If the file is not modified (and unlocked), you can specify the |
| @@ -585,34 +573,53 @@ Features}). | |||
| 585 | @end itemize | 573 | @end itemize |
| 586 | 574 | ||
| 587 | @node Log Buffer | 575 | @node Log Buffer |
| 588 | @subsubsection Features of the Log Entry Buffer | 576 | @subsection Features of the Log Entry Buffer |
| 577 | |||
| 578 | When you tell VC to commit a change, it pops up a buffer called | ||
| 579 | @samp{*VC-Log*}. In this buffer, you should write a @dfn{log entry} | ||
| 580 | describing the changes you have made (@pxref{Why Version Control?}). | ||
| 581 | After you are done, type @kbd{C-c C-c}; this exits the buffer and | ||
| 582 | commits the change, together with your log entry. | ||
| 583 | |||
| 584 | While in the @samp{*VC-Log*} buffer, you can write one or more | ||
| 585 | @dfn{header lines}, specifying additional information to be supplied | ||
| 586 | to the version control system. Each header line must occupy a single | ||
| 587 | line at the top of the buffer; the first line that is not a header | ||
| 588 | line is treated as the start of the log entry. For example, the | ||
| 589 | following header line states that the present change was not written | ||
| 590 | by you, but by another developer: | ||
| 589 | 591 | ||
| 590 | When you check in changes, Emacs pops up a buffer called | 592 | @smallexample |
| 591 | @samp{*VC-Log*} for you to enter a log entry. | 593 | Author: J. R. Hacker <jrh@@example.com> |
| 594 | @end smallexample | ||
| 592 | 595 | ||
| 593 | After you have finished editing the log message, type @kbd{C-c C-c} | 596 | @noindent |
| 594 | to exit the buffer and commit the change. | 597 | Apart from the @samp{Author} header, Emacs recognizes the headers |
| 598 | @samp{Date} (a manually-specified commit time) and @samp{Fixes} (a | ||
| 599 | reference to a bug fixed by the change). Not all version control | ||
| 600 | systems recognize all headers: Bazaar recognizes all three headers, | ||
| 601 | while git, Mercurial, and Monotone recognizes only @samp{Author} and | ||
| 602 | @samp{Summary}. If you specify a header for a version control that | ||
| 603 | does not support it, the header is treated as part of the log entry. | ||
| 595 | 604 | ||
| 596 | @findex log-edit-show-files | 605 | @findex log-edit-show-files |
| 597 | @findex log-edit-show-diff | 606 | @findex log-edit-show-diff |
| 598 | In the @samp{*VC-Log*} buffer, typing @kbd{C-c C-f} | 607 | Type @kbd{C-c C-f} (@code{log-edit-show-files}) to display a list of |
| 599 | (@code{log-edit-show-files}) displays a list of files in the VC | 608 | files in the current VC fileset. If you called @kbd{C-x v v} directly |
| 600 | fileset you are committing. If you called @kbd{C-x v v} directly from | 609 | from a work file, the fileset consists of that single file; if you |
| 601 | a work file, the VC fileset consists of that single file, so this | 610 | called @kbd{C-x v v} from a VC directory buffer (@pxref{VC Directory |
| 602 | command is not very useful. If you called @kbd{C-x v v} from a VC | 611 | Mode}), the fileset may consist of multiple files. |
| 603 | directory buffer, the VC fileset may consist of multiple files | ||
| 604 | (@pxref{VC Directory Mode}). | ||
| 605 | 612 | ||
| 606 | @findex log-edit-insert-changelog | 613 | @findex log-edit-insert-changelog |
| 607 | Type @kbd{C-c C-d} (@code{log-edit-show-diff}) to show a ``diff'' of | 614 | Type @kbd{C-c C-d} (@code{log-edit-show-diff}) to show a @dfn{diff} |
| 608 | the changes you have made (i.e., the differences between the work file | 615 | of the changes you have made (i.e., the differences between the work |
| 609 | and the repository revision from which you started editing the file). | 616 | file and the repository revision from which you started editing). |
| 610 | The diff is displayed in a special buffer in another window. | 617 | @xref{Old Revisions}. |
| 611 | @xref{Comparing Files}. | 618 | |
| 612 | 619 | If the current VC fileset includes one or more @file{ChangeLog} | |
| 613 | If you have written an entry in the @file{ChangeLog} (@pxref{Change | 620 | files (@pxref{Change Log}), type @kbd{C-c C-a} |
| 614 | Log}), type @kbd{C-c C-a} (@code{log-edit-insert-changelog}) to pull | 621 | (@code{log-edit-insert-changelog}) to pull the relevant entries into |
| 615 | it into the @samp{*VC-Log*} buffer. If the topmost item in the | 622 | the @samp{*VC-Log*} buffer. If the topmost item in each |
| 616 | @file{ChangeLog} was made under your user name on the current date, | 623 | @file{ChangeLog} was made under your user name on the current date, |
| 617 | this command searches that item for entries that match the file(s) to | 624 | this command searches that item for entries that match the file(s) to |
| 618 | be committed; if found, these entries are inserted. | 625 | be committed; if found, these entries are inserted. |
| @@ -627,7 +634,7 @@ the revision control log. | |||
| 627 | 634 | ||
| 628 | To abort a check-in, just @strong{don't} type @kbd{C-c C-c} in that | 635 | To abort a check-in, just @strong{don't} type @kbd{C-c C-c} in that |
| 629 | buffer. You can switch buffers and do other editing. As long as you | 636 | buffer. You can switch buffers and do other editing. As long as you |
| 630 | don't try to check in another file, the entry you were editing remains | 637 | don't try to commit another file, the entry you were editing remains |
| 631 | in the @samp{*VC-Log*} buffer, and you can go back to that buffer at | 638 | in the @samp{*VC-Log*} buffer, and you can go back to that buffer at |
| 632 | any time to complete the check-in. | 639 | any time to complete the check-in. |
| 633 | 640 | ||
| @@ -636,7 +643,7 @@ convenient to specify the same log entry for many of the files. (This | |||
| 636 | is the normal way to do things on a changeset-oriented system, where | 643 | is the normal way to do things on a changeset-oriented system, where |
| 637 | comments are attached to changesets rather than the history of | 644 | comments are attached to changesets rather than the history of |
| 638 | individual files.) The most convenient way to do this is to mark all | 645 | individual files.) The most convenient way to do this is to mark all |
| 639 | the files in VC Directory Mode and check in from there; the log buffer | 646 | the files in VC Directory Mode and commit from there; the log buffer |
| 640 | will carry the fileset information with it and do a group commit when | 647 | will carry the fileset information with it and do a group commit when |
| 641 | you type @kbd{C-c C-c}. | 648 | you type @kbd{C-c C-c}. |
| 642 | 649 | ||
| @@ -648,7 +655,7 @@ work just like the minibuffer history commands (except that these | |||
| 648 | versions are used outside the minibuffer). | 655 | versions are used outside the minibuffer). |
| 649 | 656 | ||
| 650 | @vindex vc-log-mode-hook | 657 | @vindex vc-log-mode-hook |
| 651 | Each time you check in a change, the log entry buffer is put into VC | 658 | Each time you commit a change, the log entry buffer is put into VC |
| 652 | Log Edit mode, which involves running two hooks: @code{text-mode-hook} | 659 | Log Edit mode, which involves running two hooks: @code{text-mode-hook} |
| 653 | and @code{vc-log-mode-hook}. @xref{Hooks}. | 660 | and @code{vc-log-mode-hook}. @xref{Hooks}. |
| 654 | 661 | ||
| @@ -700,8 +707,12 @@ buffer in a separate window. | |||
| 700 | @kbd{C-x v =} (@code{vc-diff}) compares each file in the current VC | 707 | @kbd{C-x v =} (@code{vc-diff}) compares each file in the current VC |
| 701 | fileset (saving them if necessary) with the repository revision(s) | 708 | fileset (saving them if necessary) with the repository revision(s) |
| 702 | from which you started editing. Note that the latter may or may not | 709 | from which you started editing. Note that the latter may or may not |
| 703 | be the latest revision of the file(s). The diff is displayed in a | 710 | be the latest revision of the file(s). |
| 704 | special buffer in another window. @xref{Comparing Files}. | 711 | |
| 712 | The diff is displayed in another window, in a Diff mode buffer | ||
| 713 | (@pxref{Diff Mode}) named @file{*vc-diff*}. In this buffer, the | ||
| 714 | @kbd{g} (@code{revert-buffer}) command performs the file comparison | ||
| 715 | again, generating a new diff. | ||
| 705 | 716 | ||
| 706 | @findex vc-diff | 717 | @findex vc-diff |
| 707 | @kindex C-u C-x v = | 718 | @kindex C-u C-x v = |
| @@ -1008,7 +1019,7 @@ then decide not to change it. | |||
| 1008 | 1019 | ||
| 1009 | @kindex C-x v c | 1020 | @kindex C-x v c |
| 1010 | @findex vc-rollback | 1021 | @findex vc-rollback |
| 1011 | To cancel a change that you already checked in, use @kbd{C-x v c} | 1022 | To cancel a change that you already committed, use @kbd{C-x v c} |
| 1012 | (@code{vc-rollback}). This command discards all record of the most | 1023 | (@code{vc-rollback}). This command discards all record of the most |
| 1013 | recent checked-in revision, but only if your work file corresponds to | 1024 | recent checked-in revision, but only if your work file corresponds to |
| 1014 | that revision---you cannot use @kbd{C-x v c} to cancel a revision that | 1025 | that revision---you cannot use @kbd{C-x v c} to cancel a revision that |
| @@ -1075,8 +1086,8 @@ output is used. Here is an example using CVS: | |||
| 1075 | @noindent | 1086 | @noindent |
| 1076 | In this example, @samp{file1.c} is modified with respect to the | 1087 | In this example, @samp{file1.c} is modified with respect to the |
| 1077 | repository, and @samp{file2.c} is not. @samp{file3.c} is modified, | 1088 | repository, and @samp{file2.c} is not. @samp{file3.c} is modified, |
| 1078 | but other changes have also been checked in to the repository---you | 1089 | but other changes have also been committed---you need to merge them |
| 1079 | need to merge them with the work file before you can check it in. | 1090 | with the work file before you can check it in. |
| 1080 | 1091 | ||
| 1081 | @vindex vc-stay-local | 1092 | @vindex vc-stay-local |
| 1082 | @vindex vc-cvs-stay-local | 1093 | @vindex vc-cvs-stay-local |
| @@ -1114,7 +1125,7 @@ this includes Version Control subdirectories such as @samp{RCS} and | |||
| 1114 | 1125 | ||
| 1115 | VC Directory mode has a full set of navigation and marking commands | 1126 | VC Directory mode has a full set of navigation and marking commands |
| 1116 | for picking out filesets. Some of these are also available in a | 1127 | for picking out filesets. Some of these are also available in a |
| 1117 | context menu invoked by the @kbd{mouse-2} button. | 1128 | context menu invoked by @kbd{mouse-2}. |
| 1118 | 1129 | ||
| 1119 | Up- and down-arrow keys move in the buffer; @kbd{n} and @kbd{p} also | 1130 | Up- and down-arrow keys move in the buffer; @kbd{n} and @kbd{p} also |
| 1120 | move vertically as in other list-browsing modes. @key{SPC} and | 1131 | move vertically as in other list-browsing modes. @key{SPC} and |
| @@ -1158,7 +1169,8 @@ directory buffer will be used. | |||
| 1158 | 1169 | ||
| 1159 | @kbd{M-s a C-s} does an incremental search on the marked files. | 1170 | @kbd{M-s a C-s} does an incremental search on the marked files. |
| 1160 | 1171 | ||
| 1161 | @kbd{M-s a C-M-s} does an incremental search on the marked files. | 1172 | @kbd{M-s a C-M-s} does an incremental regular expression search |
| 1173 | on the marked files. | ||
| 1162 | 1174 | ||
| 1163 | @cindex stashes in version control | 1175 | @cindex stashes in version control |
| 1164 | @cindex shelves in version control | 1176 | @cindex shelves in version control |
| @@ -1174,11 +1186,11 @@ buffers. Some single-key shortcuts are available as well; @kbd{=}, | |||
| 1174 | @kbd{+}, @kbd{l}, @kbd{i}, and @kbd{v} behave as through prefixed with | 1186 | @kbd{+}, @kbd{l}, @kbd{i}, and @kbd{v} behave as through prefixed with |
| 1175 | @kbd{C-x v}. | 1187 | @kbd{C-x v}. |
| 1176 | 1188 | ||
| 1177 | The command @kbd{C-x v v} (@code{vc-next-action}) operates on all the | 1189 | The command @kbd{C-x v v} (@code{vc-next-action}) operates on all |
| 1178 | marked files, so that you can check in several files at once. | 1190 | the marked files, so that you can commit several files at once. If |
| 1179 | If the underlying VC supports atomic commits of multiple-file | 1191 | the underlying VC supports atomic commits of multiple-file changesets, |
| 1180 | changesets, @kbd{C-x v v} with a selected set of modified but not | 1192 | @kbd{C-x v v} with a selected set of modified but not committed files |
| 1181 | committed files will commit all of them at once as a single changeset. | 1193 | will commit all of them at once as a single changeset. |
| 1182 | 1194 | ||
| 1183 | When @kbd{C-x v v} (@code{vc-next-action}) operates on multiple | 1195 | When @kbd{C-x v v} (@code{vc-next-action}) operates on multiple |
| 1184 | files, all of those files must be either in the same state or in | 1196 | files, all of those files must be either in the same state or in |
| @@ -1261,15 +1273,15 @@ other branch. | |||
| 1261 | @node Creating Branches | 1273 | @node Creating Branches |
| 1262 | @subsubsection Creating New Branches | 1274 | @subsubsection Creating New Branches |
| 1263 | 1275 | ||
| 1264 | To create a new branch from a head revision (one that is the latest in | 1276 | To create a new branch from a head revision (one that is the latest |
| 1265 | the branch that contains it), first select that revision if necessary, | 1277 | in the branch that contains it), first select that revision if |
| 1266 | lock it with @kbd{C-x v v}, and make whatever changes you want. Then, | 1278 | necessary, lock it with @kbd{C-x v v}, and make whatever changes you |
| 1267 | when you check in the changes, use @kbd{C-u C-x v v}. This lets you | 1279 | want. Then, when you commit the changes, use @kbd{C-u C-x v v}. This |
| 1268 | specify the revision ID for the new revision. You should specify a | 1280 | lets you specify the revision ID for the new revision. You should |
| 1269 | suitable branch ID for a branch starting at the current revision. | 1281 | specify a suitable branch ID for a branch starting at the current |
| 1270 | For example, if the current revision is 2.5, the branch ID should be | 1282 | revision. For example, if the current revision is 2.5, the branch ID |
| 1271 | 2.5.1, 2.5.2, and so on, depending on the number of existing branches at | 1283 | should be 2.5.1, 2.5.2, and so on, depending on the number of existing |
| 1272 | that point. | 1284 | branches at that point. |
| 1273 | 1285 | ||
| 1274 | To create a new branch at an older revision (one that is no longer the | 1286 | To create a new branch at an older revision (one that is no longer the |
| 1275 | head of a branch), first select that revision (@pxref{Switching | 1287 | head of a branch), first select that revision (@pxref{Switching |
| @@ -1282,11 +1294,11 @@ revision, that you really mean to create a new branch---if you say no, | |||
| 1282 | you'll be offered a chance to lock the latest revision instead. On | 1294 | you'll be offered a chance to lock the latest revision instead. On |
| 1283 | a merging-based VCS you will skip this step. | 1295 | a merging-based VCS you will skip this step. |
| 1284 | 1296 | ||
| 1285 | Then make your changes and type @kbd{C-x v v} again to check in a new | 1297 | Then make your changes and type @kbd{C-x v v} again to commit a new |
| 1286 | revision. This automatically creates a new branch starting from the | 1298 | revision. This automatically creates a new branch starting from the |
| 1287 | selected revision. You need not specially request a new branch, because | 1299 | selected revision. You need not specially request a new branch, |
| 1288 | that's the only way to add a new revision at a point that is not the head | 1300 | because that's the only way to add a new revision at a point that is |
| 1289 | of a branch. | 1301 | not the head of a branch. |
| 1290 | 1302 | ||
| 1291 | After the branch is created, you ``stay'' on it. That means that | 1303 | After the branch is created, you ``stay'' on it. That means that |
| 1292 | subsequent check-ins create new revisions on that branch. To leave the | 1304 | subsequent check-ins create new revisions on that branch. To leave the |
| @@ -1334,11 +1346,11 @@ type @kbd{C-x v v} to lock revision 1.5 so that you can change it. Next, | |||
| 1334 | type @kbd{C-x v m 1.3.1 @key{RET}}. This takes the entire set of changes on | 1346 | type @kbd{C-x v m 1.3.1 @key{RET}}. This takes the entire set of changes on |
| 1335 | branch 1.3.1 (relative to revision 1.3, where the branch started, up to | 1347 | branch 1.3.1 (relative to revision 1.3, where the branch started, up to |
| 1336 | the last revision on the branch) and merges it into the current revision | 1348 | the last revision on the branch) and merges it into the current revision |
| 1337 | of the work file. You can now check in the changed file, thus creating | 1349 | of the work file. You can now commit the changed file, thus creating |
| 1338 | revision 1.6 containing the changes from the branch. | 1350 | revision 1.6 containing the changes from the branch. |
| 1339 | 1351 | ||
| 1340 | It is possible to do further editing after merging the branch, before | 1352 | It is possible to do further editing after merging the branch, before |
| 1341 | the next check-in. But it is usually wiser to check in the merged | 1353 | the next check-in. But it is usually wiser to commit the merged |
| 1342 | revision, then lock it and make the further changes. This will keep | 1354 | revision, then lock it and make the further changes. This will keep |
| 1343 | a better record of the history of changes. | 1355 | a better record of the history of changes. |
| 1344 | 1356 | ||
| @@ -1374,7 +1386,7 @@ master file revision with user B's changes in it is 1.11. | |||
| 1374 | Then you can resolve the conflicts by editing the file manually. Or | 1386 | Then you can resolve the conflicts by editing the file manually. Or |
| 1375 | you can type @code{M-x vc-resolve-conflicts} after visiting the file. | 1387 | you can type @code{M-x vc-resolve-conflicts} after visiting the file. |
| 1376 | This starts an Ediff session, as described above. Don't forget to | 1388 | This starts an Ediff session, as described above. Don't forget to |
| 1377 | check in the merged version afterwards. | 1389 | commit the merged version afterwards. |
| 1378 | 1390 | ||
| 1379 | @node Multi-User Branching | 1391 | @node Multi-User Branching |
| 1380 | @subsubsection Multi-User Branching | 1392 | @subsubsection Multi-User Branching |
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi index a44438bf81f..4be67aa31de 100644 --- a/doc/emacs/msdog.texi +++ b/doc/emacs/msdog.texi | |||
| @@ -31,7 +31,8 @@ here. | |||
| 31 | * Text and Binary:: Text files use CRLF to terminate lines. | 31 | * Text and Binary:: Text files use CRLF to terminate lines. |
| 32 | * Windows Files:: File-name conventions on Windows. | 32 | * Windows Files:: File-name conventions on Windows. |
| 33 | * ls in Lisp:: Emulation of @code{ls} for Dired. | 33 | * ls in Lisp:: Emulation of @code{ls} for Dired. |
| 34 | * Windows HOME:: Where Emacs looks for your @file{.emacs}. | 34 | * Windows HOME:: Where Emacs looks for your @file{.emacs} and |
| 35 | where it starts up. | ||
| 35 | * Windows Keyboard:: Windows-specific keyboard features. | 36 | * Windows Keyboard:: Windows-specific keyboard features. |
| 36 | * Windows Mouse:: Windows-specific mouse features. | 37 | * Windows Mouse:: Windows-specific mouse features. |
| 37 | * Windows Processes:: Running subprocesses on Windows. | 38 | * Windows Processes:: Running subprocesses on Windows. |
| @@ -284,11 +285,12 @@ on Windows, since many users of Emacs on those platforms prefer the | |||
| 284 | @end table | 285 | @end table |
| 285 | 286 | ||
| 286 | @noindent | 287 | @noindent |
| 287 | Any other value of @code{ls-lisp-emulation} means the same as | 288 | Any other value of @code{ls-lisp-emulation} means the same as @code{GNU}. |
| 288 | @code{GNU}. Note that this option needs to be set @emph{before} | 289 | Customizing this option calls the function @code{ls-lisp-set-options} to |
| 289 | @file{ls-lisp.el} is loaded, which means that on MS-Windows and MS-DOS | 290 | update the 3 dependent options as needed. If you change the value of |
| 290 | you will have to set the value from your @file{.emacs} file and then | 291 | this variable without using customize after @file{ls-lisp.el} is loaded |
| 291 | restart Emacs, since @file{ls-lisp.el} is preloaded. | 292 | (note that it is preloaded on MS-Windows and MS-DOS), you can call that |
| 293 | function manually for the same result. | ||
| 292 | 294 | ||
| 293 | @vindex ls-lisp-support-shell-wildcards | 295 | @vindex ls-lisp-support-shell-wildcards |
| 294 | The variable @code{ls-lisp-support-shell-wildcards} controls how | 296 | The variable @code{ls-lisp-support-shell-wildcards} controls how |
| @@ -329,7 +331,7 @@ names, which might cause misalignment of columns in Dired display. | |||
| 329 | @end ifnottex | 331 | @end ifnottex |
| 330 | 332 | ||
| 331 | @node Windows HOME | 333 | @node Windows HOME |
| 332 | @section HOME Directory on MS-Windows | 334 | @section HOME and Startup Directories on MS-Windows |
| 333 | @cindex @code{HOME} directory on MS-Windows | 335 | @cindex @code{HOME} directory on MS-Windows |
| 334 | 336 | ||
| 335 | The Windows equivalent of the @code{HOME} directory is the | 337 | The Windows equivalent of the @code{HOME} directory is the |
| @@ -371,6 +373,13 @@ names, the Windows port of Emacs supports an alternative name | |||
| 371 | @file{_emacs} as a fallback, if such a file exists in the home | 373 | @file{_emacs} as a fallback, if such a file exists in the home |
| 372 | directory, whereas @file{.emacs} does not. | 374 | directory, whereas @file{.emacs} does not. |
| 373 | 375 | ||
| 376 | @cindex start directory, MS-Windows | ||
| 377 | @cindex directory where Emacs starts on MS-Windows | ||
| 378 | If you use a Windows desktop shortcut to start Emacs, it starts in | ||
| 379 | the directory specified by the shortcut. To control where that is, | ||
| 380 | right-click on the shortcut, select ``Properties'', and in the | ||
| 381 | ``Shortcut'' tab modify the ``Start in'' field to your liking. | ||
| 382 | |||
| 374 | @node Windows Keyboard | 383 | @node Windows Keyboard |
| 375 | @section Keyboard Usage on MS-Windows | 384 | @section Keyboard Usage on MS-Windows |
| 376 | @cindex keyboard, MS-Windows | 385 | @cindex keyboard, MS-Windows |
| @@ -917,6 +926,3 @@ click-to-focus policy. | |||
| 917 | @include msdog-xtra.texi | 926 | @include msdog-xtra.texi |
| 918 | @end ifnottex | 927 | @end ifnottex |
| 919 | 928 | ||
| 920 | @ignore | ||
| 921 | arch-tag: f39d2590-5dcc-4318-88d9-0eb73ca10fa2 | ||
| 922 | @end ignore | ||
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index 9fdef175826..c8846b35e4b 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi | |||
| @@ -351,10 +351,11 @@ which prefers Cyrillic characters and files encoded in Windows-1255). | |||
| 351 | @cindex Intlfonts package, installation | 351 | @cindex Intlfonts package, installation |
| 352 | To display the script(s) used by your language environment on a | 352 | To display the script(s) used by your language environment on a |
| 353 | graphical display, you need to have a suitable font. If some of the | 353 | graphical display, you need to have a suitable font. If some of the |
| 354 | characters appear as empty boxes, you should install the GNU Intlfonts | 354 | characters appear as empty boxes or hex codes, you should install the |
| 355 | package, which includes fonts for most supported scripts.@footnote{If | 355 | GNU Intlfonts package, which includes fonts for most supported |
| 356 | you run Emacs on X, you need to inform the X server about the location | 356 | scripts.@footnote{If you run Emacs on X, you need to inform the X |
| 357 | of the newly installed fonts with the following commands: | 357 | server about the location of the newly installed fonts with the |
| 358 | following commands: | ||
| 358 | 359 | ||
| 359 | @example | 360 | @example |
| 360 | xset fp+ /usr/local/share/emacs/fonts | 361 | xset fp+ /usr/local/share/emacs/fonts |
| @@ -1314,10 +1315,11 @@ characters the font does not cover. The standard fontset is only used if | |||
| 1314 | explicitly requested, despite its name. | 1315 | explicitly requested, despite its name. |
| 1315 | 1316 | ||
| 1316 | A fontset does not necessarily specify a font for every character | 1317 | A fontset does not necessarily specify a font for every character |
| 1317 | code. If a fontset specifies no font for a certain character, or if it | 1318 | code. If a fontset specifies no font for a certain character, or if |
| 1318 | specifies a font that does not exist on your system, then it cannot | 1319 | it specifies a font that does not exist on your system, then it cannot |
| 1319 | display that character properly. It will display that character as an | 1320 | display that character properly. It will display that character as a |
| 1320 | empty box instead. | 1321 | hex code or thin space or an empty box instead. (@xref{Text Display, , |
| 1322 | glyphless characters}, for details.) | ||
| 1321 | 1323 | ||
| 1322 | @node Defining Fontsets | 1324 | @node Defining Fontsets |
| 1323 | @section Defining fontsets | 1325 | @section Defining fontsets |
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index d477ca73c46..ddf68e62bbf 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi | |||
| @@ -1192,7 +1192,8 @@ specification, or because the specification was inaccurate. For | |||
| 1192 | example, a misconfigured mailer could send a message with a | 1192 | example, a misconfigured mailer could send a message with a |
| 1193 | @samp{charset=iso-8859-1} header when the message is actually encoded | 1193 | @samp{charset=iso-8859-1} header when the message is actually encoded |
| 1194 | in @code{koi8-r}. When you see the message text garbled, or some of | 1194 | in @code{koi8-r}. When you see the message text garbled, or some of |
| 1195 | its characters displayed as empty boxes, this may have happened. | 1195 | its characters displayed as hex codes or empty boxes, this may have |
| 1196 | happened. | ||
| 1196 | 1197 | ||
| 1197 | @findex rmail-redecode-body | 1198 | @findex rmail-redecode-body |
| 1198 | You can correct the problem by decoding the message again using the | 1199 | You can correct the problem by decoding the message again using the |
diff --git a/doc/emacs/vc1-xtra.texi b/doc/emacs/vc1-xtra.texi index 5095c3f4764..04d37719013 100644 --- a/doc/emacs/vc1-xtra.texi +++ b/doc/emacs/vc1-xtra.texi | |||
| @@ -594,7 +594,7 @@ headers. | |||
| 594 | @vindex vc-handled-backends | 594 | @vindex vc-handled-backends |
| 595 | The variable @code{vc-handled-backends} determines which version | 595 | The variable @code{vc-handled-backends} determines which version |
| 596 | control systems VC should handle. The default value is @code{(RCS CVS | 596 | control systems VC should handle. The default value is @code{(RCS CVS |
| 597 | SVN SCCS BZR GIT HG Arch)}, so it contains all the version systems | 597 | SVN SCCS Bzr Git Hg Mtn Arch)}, so it contains all the version systems |
| 598 | that are currently supported. If you want VC to ignore one or more of | 598 | that are currently supported. If you want VC to ignore one or more of |
| 599 | these systems, exclude its name from the list. To disable VC entirely, | 599 | these systems, exclude its name from the list. To disable VC entirely, |
| 600 | set this variable to @code{nil}. | 600 | set this variable to @code{nil}. |
| @@ -657,8 +657,8 @@ variable does not affect @kbd{C-x v c}; that operation is so drastic | |||
| 657 | that it should always ask for confirmation.) | 657 | that it should always ask for confirmation.) |
| 658 | 658 | ||
| 659 | @vindex vc-command-messages | 659 | @vindex vc-command-messages |
| 660 | VC mode does much of its work by running the shell commands for RCS, | 660 | VC mode does much of its work by running the shell commands for the |
| 661 | CVS and SCCS. If @code{vc-command-messages} is non-@code{nil}, VC | 661 | appropriate backend. If @code{vc-command-messages} is non-@code{nil}, VC |
| 662 | displays messages to indicate which shell commands it runs, and | 662 | displays messages to indicate which shell commands it runs, and |
| 663 | additional messages when the commands finish. | 663 | additional messages when the commands finish. |
| 664 | 664 | ||
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 101e5b1d8b7..d75bb003279 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2010-11-13 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * emacs-lisp-intro.texi: Rename the `count-words-region' example, | ||
| 4 | since there is now a standard command of that name. | ||
| 5 | |||
| 1 | 2010-10-11 Glenn Morris <rgm@gnu.org> | 6 | 2010-10-11 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * Makefile.in (.dvi.ps): Remove unnecessary suffix rule. | 8 | * Makefile.in (.dvi.ps): Remove unnecessary suffix rule. |
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index dfba68cc911..50b11a62fa0 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi | |||
| @@ -704,23 +704,25 @@ Regular Expression Searches | |||
| 704 | * fwd-para while:: The forward motion @code{while} loop. | 704 | * fwd-para while:: The forward motion @code{while} loop. |
| 705 | 705 | ||
| 706 | Counting: Repetition and Regexps | 706 | Counting: Repetition and Regexps |
| 707 | @set COUNT-WORDS count-words-example | ||
| 708 | @c Length of variable name chosen so that things still line up when expanded. | ||
| 707 | 709 | ||
| 708 | * Why Count Words:: | 710 | * Why Count Words:: |
| 709 | * count-words-region:: Use a regexp, but find a problem. | 711 | * @value{COUNT-WORDS}:: Use a regexp, but find a problem. |
| 710 | * recursive-count-words:: Start with case of no words in region. | 712 | * recursive-count-words:: Start with case of no words in region. |
| 711 | * Counting Exercise:: | 713 | * Counting Exercise:: |
| 712 | 714 | ||
| 713 | The @code{count-words-region} Function | 715 | The @code{@value{COUNT-WORDS}} Function |
| 714 | 716 | ||
| 715 | * Design count-words-region:: The definition using a @code{while} loop. | 717 | * Design @value{COUNT-WORDS}:: The definition using a @code{while} loop. |
| 716 | * Whitespace Bug:: The Whitespace Bug in @code{count-words-region}. | 718 | * Whitespace Bug:: The Whitespace Bug in @code{@value{COUNT-WORDS}}. |
| 717 | 719 | ||
| 718 | Counting Words in a @code{defun} | 720 | Counting Words in a @code{defun} |
| 719 | 721 | ||
| 720 | * Divide and Conquer:: | 722 | * Divide and Conquer:: |
| 721 | * Words and Symbols:: What to count? | 723 | * Words and Symbols:: What to count? |
| 722 | * Syntax:: What constitutes a word or symbol? | 724 | * Syntax:: What constitutes a word or symbol? |
| 723 | * count-words-in-defun:: Very like @code{count-words}. | 725 | * count-words-in-defun:: Very like @code{@value{COUNT-WORDS}}. |
| 724 | * Several defuns:: Counting several defuns in a file. | 726 | * Several defuns:: Counting several defuns in a file. |
| 725 | * Find a File:: Do you want to look at a file? | 727 | * Find a File:: Do you want to look at a file? |
| 726 | * lengths-list-file:: A list of the lengths of many definitions. | 728 | * lengths-list-file:: A list of the lengths of many definitions. |
| @@ -13829,35 +13831,37 @@ word count commands using @code{while} loops and recursion. | |||
| 13829 | 13831 | ||
| 13830 | @menu | 13832 | @menu |
| 13831 | * Why Count Words:: | 13833 | * Why Count Words:: |
| 13832 | * count-words-region:: Use a regexp, but find a problem. | 13834 | * @value{COUNT-WORDS}:: Use a regexp, but find a problem. |
| 13833 | * recursive-count-words:: Start with case of no words in region. | 13835 | * recursive-count-words:: Start with case of no words in region. |
| 13834 | * Counting Exercise:: | 13836 | * Counting Exercise:: |
| 13835 | @end menu | 13837 | @end menu |
| 13836 | 13838 | ||
| 13837 | @node Why Count Words, count-words-region, Counting Words, Counting Words | 13839 | @node Why Count Words, @value{COUNT-WORDS}, Counting Words, Counting Words |
| 13838 | @ifnottex | 13840 | @ifnottex |
| 13839 | @unnumberedsec Counting words | 13841 | @unnumberedsec Counting words |
| 13840 | @end ifnottex | 13842 | @end ifnottex |
| 13841 | 13843 | ||
| 13842 | The standard Emacs distribution contains a function for counting the | 13844 | The standard Emacs distribution contains functions for counting the |
| 13843 | number of lines within a region. However, there is no corresponding | 13845 | number of lines and words within a region. |
| 13844 | function for counting words. | ||
| 13845 | 13846 | ||
| 13846 | Certain types of writing ask you to count words. Thus, if you write | 13847 | Certain types of writing ask you to count words. Thus, if you write |
| 13847 | an essay, you may be limited to 800 words; if you write a novel, you | 13848 | an essay, you may be limited to 800 words; if you write a novel, you |
| 13848 | may discipline yourself to write 1000 words a day. It seems odd to me | 13849 | may discipline yourself to write 1000 words a day. It seems odd, but |
| 13849 | that Emacs lacks a word count command. Perhaps people use Emacs | 13850 | for a long time, Emacs lacked a word count command. Perhaps people used |
| 13850 | mostly for code or types of documentation that do not require word | 13851 | Emacs mostly for code or types of documentation that did not require |
| 13851 | counts; or perhaps they restrict themselves to the operating system | 13852 | word counts; or perhaps they restricted themselves to the operating |
| 13852 | word count command, @code{wc}. Alternatively, people may follow | 13853 | system word count command, @code{wc}. Alternatively, people may have |
| 13853 | the publishers' convention and compute a word count by dividing the | 13854 | followed the publishers' convention and computed a word count by |
| 13854 | number of characters in a document by five. In any event, here are | 13855 | dividing the number of characters in a document by five. |
| 13855 | commands to count words. | 13856 | |
| 13856 | 13857 | There are many ways to implement a command to count words. Here are | |
| 13857 | @node count-words-region, recursive-count-words, Why Count Words, Counting Words | 13858 | some examples, which you may wish to compare with the standard Emacs |
| 13859 | command, @code{count-words-region}. | ||
| 13860 | |||
| 13861 | @node @value{COUNT-WORDS}, recursive-count-words, Why Count Words, Counting Words | ||
| 13858 | @comment node-name, next, previous, up | 13862 | @comment node-name, next, previous, up |
| 13859 | @section The @code{count-words-region} Function | 13863 | @section The @code{@value{COUNT-WORDS}} Function |
| 13860 | @findex count-words-region | 13864 | @findex @value{COUNT-WORDS} |
| 13861 | 13865 | ||
| 13862 | A word count command could count words in a line, paragraph, region, | 13866 | A word count command could count words in a line, paragraph, region, |
| 13863 | or buffer. What should the command cover? You could design the | 13867 | or buffer. What should the command cover? You could design the |
| @@ -13865,7 +13869,7 @@ command to count the number of words in a complete buffer. However, | |||
| 13865 | the Emacs tradition encourages flexibility---you may want to count | 13869 | the Emacs tradition encourages flexibility---you may want to count |
| 13866 | words in just a section, rather than all of a buffer. So it makes | 13870 | words in just a section, rather than all of a buffer. So it makes |
| 13867 | more sense to design the command to count the number of words in a | 13871 | more sense to design the command to count the number of words in a |
| 13868 | region. Once you have a @code{count-words-region} command, you can, | 13872 | region. Once you have a command to count words in a region, you can, |
| 13869 | if you wish, count words in a whole buffer by marking it with | 13873 | if you wish, count words in a whole buffer by marking it with |
| 13870 | @w{@kbd{C-x h}} (@code{mark-whole-buffer}). | 13874 | @w{@kbd{C-x h}} (@code{mark-whole-buffer}). |
| 13871 | 13875 | ||
| @@ -13876,13 +13880,13 @@ region. This means that word counting is ideally suited to recursion | |||
| 13876 | or to a @code{while} loop. | 13880 | or to a @code{while} loop. |
| 13877 | 13881 | ||
| 13878 | @menu | 13882 | @menu |
| 13879 | * Design count-words-region:: The definition using a @code{while} loop. | 13883 | * Design @value{COUNT-WORDS}:: The definition using a @code{while} loop. |
| 13880 | * Whitespace Bug:: The Whitespace Bug in @code{count-words-region}. | 13884 | * Whitespace Bug:: The Whitespace Bug in @code{@value{COUNT-WORDS}}. |
| 13881 | @end menu | 13885 | @end menu |
| 13882 | 13886 | ||
| 13883 | @node Design count-words-region, Whitespace Bug, count-words-region, count-words-region | 13887 | @node Design @value{COUNT-WORDS}, Whitespace Bug, @value{COUNT-WORDS}, @value{COUNT-WORDS} |
| 13884 | @ifnottex | 13888 | @ifnottex |
| 13885 | @unnumberedsubsec Designing @code{count-words-region} | 13889 | @unnumberedsubsec Designing @code{@value{COUNT-WORDS}} |
| 13886 | @end ifnottex | 13890 | @end ifnottex |
| 13887 | 13891 | ||
| 13888 | First, we will implement the word count command with a @code{while} | 13892 | First, we will implement the word count command with a @code{while} |
| @@ -13905,7 +13909,9 @@ What we need to do is fill in the slots. | |||
| 13905 | 13909 | ||
| 13906 | The name of the function should be self-explanatory and similar to the | 13910 | The name of the function should be self-explanatory and similar to the |
| 13907 | existing @code{count-lines-region} name. This makes the name easier | 13911 | existing @code{count-lines-region} name. This makes the name easier |
| 13908 | to remember. @code{count-words-region} is a good choice. | 13912 | to remember. @code{count-words-region} is the obvious choice. Since |
| 13913 | that name is now used for the standard Emacs command to count words, we | ||
| 13914 | will name our implementation @code{@value{COUNT-WORDS}}. | ||
| 13909 | 13915 | ||
| 13910 | The function counts words within a region. This means that the | 13916 | The function counts words within a region. This means that the |
| 13911 | argument list must contain symbols that are bound to the two | 13917 | argument list must contain symbols that are bound to the two |
| @@ -13923,7 +13929,7 @@ first, to set up conditions under which the @code{while} loop can | |||
| 13923 | count words, second, to run the @code{while} loop, and third, to send | 13929 | count words, second, to run the @code{while} loop, and third, to send |
| 13924 | a message to the user. | 13930 | a message to the user. |
| 13925 | 13931 | ||
| 13926 | When a user calls @code{count-words-region}, point may be at the | 13932 | When a user calls @code{@value{COUNT-WORDS}}, point may be at the |
| 13927 | beginning or the end of the region. However, the counting process | 13933 | beginning or the end of the region. However, the counting process |
| 13928 | must start at the beginning of the region. This means we will want | 13934 | must start at the beginning of the region. This means we will want |
| 13929 | to put point there if it is not already there. Executing | 13935 | to put point there if it is not already there. Executing |
| @@ -14015,7 +14021,7 @@ All this leads to the following function definition: | |||
| 14015 | @smallexample | 14021 | @smallexample |
| 14016 | @group | 14022 | @group |
| 14017 | ;;; @r{First version; has bugs!} | 14023 | ;;; @r{First version; has bugs!} |
| 14018 | (defun count-words-region (beginning end) | 14024 | (defun @value{COUNT-WORDS} (beginning end) |
| 14019 | "Print number of words in the region. | 14025 | "Print number of words in the region. |
| 14020 | Words are defined as at least one word-constituent | 14026 | Words are defined as at least one word-constituent |
| 14021 | character followed by at least one character that | 14027 | character followed by at least one character that |
| @@ -14056,14 +14062,14 @@ table determines which characters these are." | |||
| 14056 | @noindent | 14062 | @noindent |
| 14057 | As written, the function works, but not in all circumstances. | 14063 | As written, the function works, but not in all circumstances. |
| 14058 | 14064 | ||
| 14059 | @node Whitespace Bug, , Design count-words-region, count-words-region | 14065 | @node Whitespace Bug, , Design @value{COUNT-WORDS}, @value{COUNT-WORDS} |
| 14060 | @comment node-name, next, previous, up | 14066 | @comment node-name, next, previous, up |
| 14061 | @subsection The Whitespace Bug in @code{count-words-region} | 14067 | @subsection The Whitespace Bug in @code{@value{COUNT-WORDS}} |
| 14062 | 14068 | ||
| 14063 | The @code{count-words-region} command described in the preceding | 14069 | The @code{@value{COUNT-WORDS}} command described in the preceding |
| 14064 | section has two bugs, or rather, one bug with two manifestations. | 14070 | section has two bugs, or rather, one bug with two manifestations. |
| 14065 | First, if you mark a region containing only whitespace in the middle | 14071 | First, if you mark a region containing only whitespace in the middle |
| 14066 | of some text, the @code{count-words-region} command tells you that the | 14072 | of some text, the @code{@value{COUNT-WORDS}} command tells you that the |
| 14067 | region contains one word! Second, if you mark a region containing | 14073 | region contains one word! Second, if you mark a region containing |
| 14068 | only whitespace at the end of the buffer or the accessible portion of | 14074 | only whitespace at the end of the buffer or the accessible portion of |
| 14069 | a narrowed buffer, the command displays an error message that looks | 14075 | a narrowed buffer, the command displays an error message that looks |
| @@ -14084,7 +14090,7 @@ parenthesis and type @kbd{C-x C-e} to install it. | |||
| 14084 | @smallexample | 14090 | @smallexample |
| 14085 | @group | 14091 | @group |
| 14086 | ;; @r{First version; has bugs!} | 14092 | ;; @r{First version; has bugs!} |
| 14087 | (defun count-words-region (beginning end) | 14093 | (defun @value{COUNT-WORDS} (beginning end) |
| 14088 | "Print number of words in the region. | 14094 | "Print number of words in the region. |
| 14089 | Words are defined as at least one word-constituent character followed | 14095 | Words are defined as at least one word-constituent character followed |
| 14090 | by at least one character that is not a word-constituent. The buffer's | 14096 | by at least one character that is not a word-constituent. The buffer's |
| @@ -14123,12 +14129,12 @@ syntax table determines which characters these are." | |||
| 14123 | If you wish, you can also install this keybinding by evaluating it: | 14129 | If you wish, you can also install this keybinding by evaluating it: |
| 14124 | 14130 | ||
| 14125 | @smallexample | 14131 | @smallexample |
| 14126 | (global-set-key "\C-c=" 'count-words-region) | 14132 | (global-set-key "\C-c=" '@value{COUNT-WORDS}) |
| 14127 | @end smallexample | 14133 | @end smallexample |
| 14128 | 14134 | ||
| 14129 | To conduct the first test, set mark and point to the beginning and end | 14135 | To conduct the first test, set mark and point to the beginning and end |
| 14130 | of the following line and then type @kbd{C-c =} (or @kbd{M-x | 14136 | of the following line and then type @kbd{C-c =} (or @kbd{M-x |
| 14131 | count-words-region} if you have not bound @kbd{C-c =}): | 14137 | @value{COUNT-WORDS}} if you have not bound @kbd{C-c =}): |
| 14132 | 14138 | ||
| 14133 | @smallexample | 14139 | @smallexample |
| 14134 | one two three | 14140 | one two three |
| @@ -14139,7 +14145,7 @@ Emacs will tell you, correctly, that the region has three words. | |||
| 14139 | 14145 | ||
| 14140 | Repeat the test, but place mark at the beginning of the line and place | 14146 | Repeat the test, but place mark at the beginning of the line and place |
| 14141 | point just @emph{before} the word @samp{one}. Again type the command | 14147 | point just @emph{before} the word @samp{one}. Again type the command |
| 14142 | @kbd{C-c =} (or @kbd{M-x count-words-region}). Emacs should tell you | 14148 | @kbd{C-c =} (or @kbd{M-x @value{COUNT-WORDS}}). Emacs should tell you |
| 14143 | that the region has no words, since it is composed only of the | 14149 | that the region has no words, since it is composed only of the |
| 14144 | whitespace at the beginning of the line. But instead Emacs tells you | 14150 | whitespace at the beginning of the line. But instead Emacs tells you |
| 14145 | that the region has one word! | 14151 | that the region has one word! |
| @@ -14148,7 +14154,7 @@ For the third test, copy the sample line to the end of the | |||
| 14148 | @file{*scratch*} buffer and then type several spaces at the end of the | 14154 | @file{*scratch*} buffer and then type several spaces at the end of the |
| 14149 | line. Place mark right after the word @samp{three} and point at the | 14155 | line. Place mark right after the word @samp{three} and point at the |
| 14150 | end of line. (The end of the line will be the end of the buffer.) | 14156 | end of line. (The end of the line will be the end of the buffer.) |
| 14151 | Type @kbd{C-c =} (or @kbd{M-x count-words-region}) as you did before. | 14157 | Type @kbd{C-c =} (or @kbd{M-x @value{COUNT-WORDS}}) as you did before. |
| 14152 | Again, Emacs should tell you that the region has no words, since it is | 14158 | Again, Emacs should tell you that the region has no words, since it is |
| 14153 | composed only of the whitespace at the end of the line. Instead, | 14159 | composed only of the whitespace at the end of the line. Instead, |
| 14154 | Emacs displays an error message saying @samp{Search failed}. | 14160 | Emacs displays an error message saying @samp{Search failed}. |
| @@ -14157,7 +14163,7 @@ The two bugs stem from the same problem. | |||
| 14157 | 14163 | ||
| 14158 | Consider the first manifestation of the bug, in which the command | 14164 | Consider the first manifestation of the bug, in which the command |
| 14159 | tells you that the whitespace at the beginning of the line contains | 14165 | tells you that the whitespace at the beginning of the line contains |
| 14160 | one word. What happens is this: The @code{M-x count-words-region} | 14166 | one word. What happens is this: The @code{M-x @value{COUNT-WORDS}} |
| 14161 | command moves point to the beginning of the region. The @code{while} | 14167 | command moves point to the beginning of the region. The @code{while} |
| 14162 | tests whether the value of point is smaller than the value of | 14168 | tests whether the value of point is smaller than the value of |
| 14163 | @code{end}, which it is. Consequently, the regular expression search | 14169 | @code{end}, which it is. Consequently, the regular expression search |
| @@ -14191,7 +14197,7 @@ an error if the search fails. The optional fourth argument is a | |||
| 14191 | repeat count. (In Emacs, you can see a function's documentation by | 14197 | repeat count. (In Emacs, you can see a function's documentation by |
| 14192 | typing @kbd{C-h f}, the name of the function, and then @key{RET}.) | 14198 | typing @kbd{C-h f}, the name of the function, and then @key{RET}.) |
| 14193 | 14199 | ||
| 14194 | In the @code{count-words-region} definition, the value of the end of | 14200 | In the @code{@value{COUNT-WORDS}} definition, the value of the end of |
| 14195 | the region is held by the variable @code{end} which is passed as an | 14201 | the region is held by the variable @code{end} which is passed as an |
| 14196 | argument to the function. Thus, we can add @code{end} as an argument | 14202 | argument to the function. Thus, we can add @code{end} as an argument |
| 14197 | to the regular expression search expression: | 14203 | to the regular expression search expression: |
| @@ -14200,7 +14206,7 @@ to the regular expression search expression: | |||
| 14200 | (re-search-forward "\\w+\\W*" end) | 14206 | (re-search-forward "\\w+\\W*" end) |
| 14201 | @end smallexample | 14207 | @end smallexample |
| 14202 | 14208 | ||
| 14203 | However, if you make only this change to the @code{count-words-region} | 14209 | However, if you make only this change to the @code{@value{COUNT-WORDS}} |
| 14204 | definition and then test the new version of the definition on a | 14210 | definition and then test the new version of the definition on a |
| 14205 | stretch of whitespace, you will receive an error message saying | 14211 | stretch of whitespace, you will receive an error message saying |
| 14206 | @samp{Search failed}. | 14212 | @samp{Search failed}. |
| @@ -14231,7 +14237,7 @@ true-or-false-test tests true because the value of point is still less | |||
| 14231 | than the value of end, since the @code{re-search-forward} expression | 14237 | than the value of end, since the @code{re-search-forward} expression |
| 14232 | did not move point. @dots{} and the cycle repeats @dots{} | 14238 | did not move point. @dots{} and the cycle repeats @dots{} |
| 14233 | 14239 | ||
| 14234 | The @code{count-words-region} definition requires yet another | 14240 | The @code{@value{COUNT-WORDS}} definition requires yet another |
| 14235 | modification, to cause the true-or-false-test of the @code{while} loop | 14241 | modification, to cause the true-or-false-test of the @code{while} loop |
| 14236 | to test false if the search fails. Put another way, there are two | 14242 | to test false if the search fails. Put another way, there are two |
| 14237 | conditions that must be satisfied in the true-or-false-test before the | 14243 | conditions that must be satisfied in the true-or-false-test before the |
| @@ -14265,17 +14271,17 @@ succeeds and as a side effect moves point. Consequently, as words are | |||
| 14265 | found, point is moved through the region. When the search expression | 14271 | found, point is moved through the region. When the search expression |
| 14266 | fails to find another word, or when point reaches the end of the | 14272 | fails to find another word, or when point reaches the end of the |
| 14267 | region, the true-or-false-test tests false, the @code{while} loop | 14273 | region, the true-or-false-test tests false, the @code{while} loop |
| 14268 | exits, and the @code{count-words-region} function displays one or | 14274 | exits, and the @code{@value{COUNT-WORDS}} function displays one or |
| 14269 | other of its messages. | 14275 | other of its messages. |
| 14270 | 14276 | ||
| 14271 | After incorporating these final changes, the @code{count-words-region} | 14277 | After incorporating these final changes, the @code{@value{COUNT-WORDS}} |
| 14272 | works without bugs (or at least, without bugs that I have found!). | 14278 | works without bugs (or at least, without bugs that I have found!). |
| 14273 | Here is what it looks like: | 14279 | Here is what it looks like: |
| 14274 | 14280 | ||
| 14275 | @smallexample | 14281 | @smallexample |
| 14276 | @group | 14282 | @group |
| 14277 | ;;; @r{Final version:} @code{while} | 14283 | ;;; @r{Final version:} @code{while} |
| 14278 | (defun count-words-region (beginning end) | 14284 | (defun @value{COUNT-WORDS} (beginning end) |
| 14279 | "Print number of words in the region." | 14285 | "Print number of words in the region." |
| 14280 | (interactive "r") | 14286 | (interactive "r") |
| 14281 | (message "Counting words in region ... ") | 14287 | (message "Counting words in region ... ") |
| @@ -14309,7 +14315,7 @@ Here is what it looks like: | |||
| 14309 | @end group | 14315 | @end group |
| 14310 | @end smallexample | 14316 | @end smallexample |
| 14311 | 14317 | ||
| 14312 | @node recursive-count-words, Counting Exercise, count-words-region, Counting Words | 14318 | @node recursive-count-words, Counting Exercise, @value{COUNT-WORDS}, Counting Words |
| 14313 | @comment node-name, next, previous, up | 14319 | @comment node-name, next, previous, up |
| 14314 | @section Count Words Recursively | 14320 | @section Count Words Recursively |
| 14315 | @cindex Count words recursively | 14321 | @cindex Count words recursively |
| @@ -14319,7 +14325,7 @@ Here is what it looks like: | |||
| 14319 | You can write the function for counting words recursively as well as | 14325 | You can write the function for counting words recursively as well as |
| 14320 | with a @code{while} loop. Let's see how this is done. | 14326 | with a @code{while} loop. Let's see how this is done. |
| 14321 | 14327 | ||
| 14322 | First, we need to recognize that the @code{count-words-region} | 14328 | First, we need to recognize that the @code{@value{COUNT-WORDS}} |
| 14323 | function has three jobs: it sets up the appropriate conditions for | 14329 | function has three jobs: it sets up the appropriate conditions for |
| 14324 | counting to occur; it counts the words in the region; and it sends a | 14330 | counting to occur; it counts the words in the region; and it sends a |
| 14325 | message to the user telling how many words there are. | 14331 | message to the user telling how many words there are. |
| @@ -14333,7 +14339,7 @@ other. One function will set up the conditions and display the | |||
| 14333 | message; the other will return the word count. | 14339 | message; the other will return the word count. |
| 14334 | 14340 | ||
| 14335 | Let us start with the function that causes the message to be displayed. | 14341 | Let us start with the function that causes the message to be displayed. |
| 14336 | We can continue to call this @code{count-words-region}. | 14342 | We can continue to call this @code{@value{COUNT-WORDS}}. |
| 14337 | 14343 | ||
| 14338 | This is the function that the user will call. It will be interactive. | 14344 | This is the function that the user will call. It will be interactive. |
| 14339 | Indeed, it will be similar to our previous versions of this | 14345 | Indeed, it will be similar to our previous versions of this |
| @@ -14347,7 +14353,7 @@ previous versions: | |||
| 14347 | @smallexample | 14353 | @smallexample |
| 14348 | @group | 14354 | @group |
| 14349 | ;; @r{Recursive version; uses regular expression search} | 14355 | ;; @r{Recursive version; uses regular expression search} |
| 14350 | (defun count-words-region (beginning end) | 14356 | (defun @value{COUNT-WORDS} (beginning end) |
| 14351 | "@var{documentation}@dots{}" | 14357 | "@var{documentation}@dots{}" |
| 14352 | (@var{interactive-expression}@dots{}) | 14358 | (@var{interactive-expression}@dots{}) |
| 14353 | @end group | 14359 | @end group |
| @@ -14388,7 +14394,7 @@ Using @code{let}, the function definition looks like this: | |||
| 14388 | 14394 | ||
| 14389 | @smallexample | 14395 | @smallexample |
| 14390 | @group | 14396 | @group |
| 14391 | (defun count-words-region (beginning end) | 14397 | (defun @value{COUNT-WORDS} (beginning end) |
| 14392 | "Print number of words in the region." | 14398 | "Print number of words in the region." |
| 14393 | (interactive "r") | 14399 | (interactive "r") |
| 14394 | @end group | 14400 | @end group |
| @@ -14484,7 +14490,7 @@ Thus, the do-again-test should look like this: | |||
| 14484 | Note that the search expression is part of the do-again-test---the | 14490 | Note that the search expression is part of the do-again-test---the |
| 14485 | function returns @code{t} if its search succeeds and @code{nil} if it | 14491 | function returns @code{t} if its search succeeds and @code{nil} if it |
| 14486 | fails. (@xref{Whitespace Bug, , The Whitespace Bug in | 14492 | fails. (@xref{Whitespace Bug, , The Whitespace Bug in |
| 14487 | @code{count-words-region}}, for an explanation of how | 14493 | @code{@value{COUNT-WORDS}}}, for an explanation of how |
| 14488 | @code{re-search-forward} works.) | 14494 | @code{re-search-forward} works.) |
| 14489 | 14495 | ||
| 14490 | The do-again-test is the true-or-false test of an @code{if} clause. | 14496 | The do-again-test is the true-or-false test of an @code{if} clause. |
| @@ -14657,7 +14663,7 @@ The wrapper: | |||
| 14657 | @smallexample | 14663 | @smallexample |
| 14658 | @group | 14664 | @group |
| 14659 | ;;; @r{Recursive version} | 14665 | ;;; @r{Recursive version} |
| 14660 | (defun count-words-region (beginning end) | 14666 | (defun @value{COUNT-WORDS} (beginning end) |
| 14661 | "Print number of words in the region. | 14667 | "Print number of words in the region. |
| 14662 | @end group | 14668 | @end group |
| 14663 | 14669 | ||
| @@ -14702,11 +14708,11 @@ exclamation mark, and question mark. Do the same using recursion. | |||
| 14702 | 14708 | ||
| 14703 | Our next project is to count the number of words in a function | 14709 | Our next project is to count the number of words in a function |
| 14704 | definition. Clearly, this can be done using some variant of | 14710 | definition. Clearly, this can be done using some variant of |
| 14705 | @code{count-word-region}. @xref{Counting Words, , Counting Words: | 14711 | @code{@value{COUNT-WORDS}}. @xref{Counting Words, , Counting Words: |
| 14706 | Repetition and Regexps}. If we are just going to count the words in | 14712 | Repetition and Regexps}. If we are just going to count the words in |
| 14707 | one definition, it is easy enough to mark the definition with the | 14713 | one definition, it is easy enough to mark the definition with the |
| 14708 | @kbd{C-M-h} (@code{mark-defun}) command, and then call | 14714 | @kbd{C-M-h} (@code{mark-defun}) command, and then call |
| 14709 | @code{count-word-region}. | 14715 | @code{@value{COUNT-WORDS}}. |
| 14710 | 14716 | ||
| 14711 | However, I am more ambitious: I want to count the words and symbols in | 14717 | However, I am more ambitious: I want to count the words and symbols in |
| 14712 | every definition in the Emacs sources and then print a graph that | 14718 | every definition in the Emacs sources and then print a graph that |
| @@ -14719,7 +14725,7 @@ and this will tell. | |||
| 14719 | * Divide and Conquer:: | 14725 | * Divide and Conquer:: |
| 14720 | * Words and Symbols:: What to count? | 14726 | * Words and Symbols:: What to count? |
| 14721 | * Syntax:: What constitutes a word or symbol? | 14727 | * Syntax:: What constitutes a word or symbol? |
| 14722 | * count-words-in-defun:: Very like @code{count-words}. | 14728 | * count-words-in-defun:: Very like @code{@value{COUNT-WORDS}}. |
| 14723 | * Several defuns:: Counting several defuns in a file. | 14729 | * Several defuns:: Counting several defuns in a file. |
| 14724 | * Find a File:: Do you want to look at a file? | 14730 | * Find a File:: Do you want to look at a file? |
| 14725 | * lengths-list-file:: A list of the lengths of many definitions. | 14731 | * lengths-list-file:: A list of the lengths of many definitions. |
| @@ -14793,11 +14799,11 @@ of ten words and symbols. | |||
| 14793 | @noindent | 14799 | @noindent |
| 14794 | However, if we mark the @code{multiply-by-seven} definition with | 14800 | However, if we mark the @code{multiply-by-seven} definition with |
| 14795 | @kbd{C-M-h} (@code{mark-defun}), and then call | 14801 | @kbd{C-M-h} (@code{mark-defun}), and then call |
| 14796 | @code{count-words-region} on it, we will find that | 14802 | @code{@value{COUNT-WORDS}} on it, we will find that |
| 14797 | @code{count-words-region} claims the definition has eleven words, not | 14803 | @code{@value{COUNT-WORDS}} claims the definition has eleven words, not |
| 14798 | ten! Something is wrong! | 14804 | ten! Something is wrong! |
| 14799 | 14805 | ||
| 14800 | The problem is twofold: @code{count-words-region} does not count the | 14806 | The problem is twofold: @code{@value{COUNT-WORDS}} does not count the |
| 14801 | @samp{*} as a word, and it counts the single symbol, | 14807 | @samp{*} as a word, and it counts the single symbol, |
| 14802 | @code{multiply-by-seven}, as containing three words. The hyphens are | 14808 | @code{multiply-by-seven}, as containing three words. The hyphens are |
| 14803 | treated as if they were interword spaces rather than intraword | 14809 | treated as if they were interword spaces rather than intraword |
| @@ -14805,8 +14811,8 @@ connectors: @samp{multiply-by-seven} is counted as if it were written | |||
| 14805 | @samp{multiply by seven}. | 14811 | @samp{multiply by seven}. |
| 14806 | 14812 | ||
| 14807 | The cause of this confusion is the regular expression search within | 14813 | The cause of this confusion is the regular expression search within |
| 14808 | the @code{count-words-region} definition that moves point forward word | 14814 | the @code{@value{COUNT-WORDS}} definition that moves point forward word |
| 14809 | by word. In the canonical version of @code{count-words-region}, the | 14815 | by word. In the canonical version of @code{@value{COUNT-WORDS}}, the |
| 14810 | regexp is: | 14816 | regexp is: |
| 14811 | 14817 | ||
| 14812 | @smallexample | 14818 | @smallexample |
| @@ -14839,8 +14845,8 @@ Syntax tables specify which characters belong to which categories. | |||
| 14839 | Usually, a hyphen is not specified as a `word constituent character'. | 14845 | Usually, a hyphen is not specified as a `word constituent character'. |
| 14840 | Instead, it is specified as being in the `class of characters that are | 14846 | Instead, it is specified as being in the `class of characters that are |
| 14841 | part of symbol names but not words.' This means that the | 14847 | part of symbol names but not words.' This means that the |
| 14842 | @code{count-words-region} function treats it in the same way it treats | 14848 | @code{@value{COUNT-WORDS}} function treats it in the same way it treats |
| 14843 | an interword white space, which is why @code{count-words-region} | 14849 | an interword white space, which is why @code{@value{COUNT-WORDS}} |
| 14844 | counts @samp{multiply-by-seven} as three words. | 14850 | counts @samp{multiply-by-seven} as three words. |
| 14845 | 14851 | ||
| 14846 | There are two ways to cause Emacs to count @samp{multiply-by-seven} as | 14852 | There are two ways to cause Emacs to count @samp{multiply-by-seven} as |
| @@ -14853,7 +14859,7 @@ most common character within symbols that is not typically a word | |||
| 14853 | constituent character; there are others, too. | 14859 | constituent character; there are others, too. |
| 14854 | 14860 | ||
| 14855 | Alternatively, we can redefine the regular expression used in the | 14861 | Alternatively, we can redefine the regular expression used in the |
| 14856 | @code{count-words} definition so as to include symbols. This | 14862 | @code{@value{COUNT-WORDS}} definition so as to include symbols. This |
| 14857 | procedure has the merit of clarity, but the task is a little tricky. | 14863 | procedure has the merit of clarity, but the task is a little tricky. |
| 14858 | 14864 | ||
| 14859 | @need 1200 | 14865 | @need 1200 |
| @@ -14910,7 +14916,7 @@ Here is the full regular expression: | |||
| 14910 | @cindex Counting words in a @code{defun} | 14916 | @cindex Counting words in a @code{defun} |
| 14911 | 14917 | ||
| 14912 | We have seen that there are several ways to write a | 14918 | We have seen that there are several ways to write a |
| 14913 | @code{count-word-region} function. To write a | 14919 | @code{count-words-region} function. To write a |
| 14914 | @code{count-words-in-defun}, we need merely adapt one of these | 14920 | @code{count-words-in-defun}, we need merely adapt one of these |
| 14915 | versions. | 14921 | versions. |
| 14916 | 14922 | ||
| @@ -15044,7 +15050,7 @@ Put together, the @code{count-words-in-defun} definition looks like this: | |||
| 15044 | How to test this? The function is not interactive, but it is easy to | 15050 | How to test this? The function is not interactive, but it is easy to |
| 15045 | put a wrapper around the function to make it interactive; we can use | 15051 | put a wrapper around the function to make it interactive; we can use |
| 15046 | almost the same code as for the recursive version of | 15052 | almost the same code as for the recursive version of |
| 15047 | @code{count-words-region}: | 15053 | @code{@value{COUNT-WORDS}}: |
| 15048 | 15054 | ||
| 15049 | @smallexample | 15055 | @smallexample |
| 15050 | @group | 15056 | @group |
| @@ -18885,7 +18891,7 @@ Lisp Reference Manual}. | |||
| 18885 | 18891 | ||
| 18886 | @itemize @bullet | 18892 | @itemize @bullet |
| 18887 | @item | 18893 | @item |
| 18888 | Install the @code{count-words-region} function and then cause it to | 18894 | Install the @code{@value{COUNT-WORDS}} function and then cause it to |
| 18889 | enter the built-in debugger when you call it. Run the command on a | 18895 | enter the built-in debugger when you call it. Run the command on a |
| 18890 | region containing two words. You will need to press @kbd{d} a | 18896 | region containing two words. You will need to press @kbd{d} a |
| 18891 | remarkable number of times. On your system, is a `hook' called after | 18897 | remarkable number of times. On your system, is a `hook' called after |
| @@ -18894,7 +18900,7 @@ Overview, , Command Loop Overview, elisp, The GNU Emacs Lisp Reference | |||
| 18894 | Manual}.) | 18900 | Manual}.) |
| 18895 | 18901 | ||
| 18896 | @item | 18902 | @item |
| 18897 | Copy @code{count-words-region} into the @file{*scratch*} buffer, | 18903 | Copy @code{@value{COUNT-WORDS}} into the @file{*scratch*} buffer, |
| 18898 | instrument the function for Edebug, and walk through its execution. | 18904 | instrument the function for Edebug, and walk through its execution. |
| 18899 | The function does not need to have a bug, although you can introduce | 18905 | The function does not need to have a bug, although you can introduce |
| 18900 | one if you wish. If the function lacks a bug, the walk-through | 18906 | one if you wish. If the function lacks a bug, the walk-through |
| @@ -18909,7 +18915,7 @@ for commands made outside of the Edebug debugging buffer.) | |||
| 18909 | @item | 18915 | @item |
| 18910 | In the Edebug debugging buffer, use the @kbd{p} | 18916 | In the Edebug debugging buffer, use the @kbd{p} |
| 18911 | (@code{edebug-bounce-point}) command to see where in the region the | 18917 | (@code{edebug-bounce-point}) command to see where in the region the |
| 18912 | @code{count-words-region} is working. | 18918 | @code{@value{COUNT-WORDS}} is working. |
| 18913 | 18919 | ||
| 18914 | @item | 18920 | @item |
| 18915 | Move point to some spot further down the function and then type the | 18921 | Move point to some spot further down the function and then type the |
| @@ -22272,6 +22278,3 @@ airplane. | |||
| 22272 | 22278 | ||
| 22273 | @bye | 22279 | @bye |
| 22274 | 22280 | ||
| 22275 | @ignore | ||
| 22276 | arch-tag: da1a2154-531f-43a8-8e33-fc7faad10acf | ||
| 22277 | @end ignore | ||
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f5878dfed74..36d85bc98ba 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,77 @@ | |||
| 1 | 2010-12-08 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * buffers.texi (Modification Time): | ||
| 4 | verify-visited-file-modtime now defaults to the current buffer. | ||
| 5 | |||
| 6 | 2010-11-27 Chong Yidong <cyd@stupidchicken.com> | ||
| 7 | |||
| 8 | * nonascii.texi (Converting Representations): Document byte-to-string. | ||
| 9 | |||
| 10 | * strings.texi (Creating Strings): Don't mention semi-obsolete | ||
| 11 | function char-to-string. | ||
| 12 | (String Conversion): Shorten discussion of semi-obsolete function | ||
| 13 | string-to-char. Link to Converting Representations. | ||
| 14 | |||
| 15 | * objects.texi (Symbol Type): | ||
| 16 | * text.texi (Near Point): | ||
| 17 | * help.texi (Help Functions): | ||
| 18 | * functions.texi (Mapping Functions): Use string instead of | ||
| 19 | char-to-string in examples. | ||
| 20 | |||
| 21 | 2010-11-27 Chong Yidong <cyd@stupidchicken.com> | ||
| 22 | |||
| 23 | * text.texi (Kill Functions, Kill Functions) | ||
| 24 | (Low-Level Kill Ring, Low-Level Kill Ring): Remove obsolete | ||
| 25 | YANK-HANDLER args. | ||
| 26 | |||
| 27 | * symbols.texi (Creating Symbols): Using unintern without an | ||
| 28 | obarray arg is now obsolete. | ||
| 29 | |||
| 30 | * numbers.texi (Float Basics): Document float-e and float-pi. | ||
| 31 | |||
| 32 | * variables.texi (Defining Variables): Change "pi" example to | ||
| 33 | "float-pi". | ||
| 34 | |||
| 35 | 2010-11-26 Eli Zaretskii <eliz@gnu.org> | ||
| 36 | |||
| 37 | * commands.texi (Click Events): Document the values of X, Y and | ||
| 38 | COL, ROW in the event's position, when the click is on the header | ||
| 39 | or mode line, on the fringes, or in the margins. | ||
| 40 | |||
| 41 | 2010-11-17 Eli Zaretskii <eliz@gnu.org> | ||
| 42 | |||
| 43 | * customize.texi (Composite Types): Lower-case index entry. | ||
| 44 | |||
| 45 | * loading.texi (How Programs Do Loading): Document | ||
| 46 | load-file-name. (Bug#7346) | ||
| 47 | |||
| 48 | 2010-11-17 Glenn Morris <rgm@gnu.org> | ||
| 49 | |||
| 50 | * text.texi (Kill Functions, Low-Level Kill Ring): Small fixes. | ||
| 51 | |||
| 52 | 2010-11-13 Eli Zaretskii <eliz@gnu.org> | ||
| 53 | |||
| 54 | * display.texi (Usual Display): Characters with no fonts are not | ||
| 55 | necessarily displayed as empty boxes. | ||
| 56 | |||
| 57 | 2010-10-31 Glenn Morris <rgm@gnu.org> | ||
| 58 | |||
| 59 | * maps.texi (Standard Keymaps): Update File menu description. | ||
| 60 | |||
| 61 | 2010-10-28 Glenn Morris <rgm@gnu.org> | ||
| 62 | |||
| 63 | * Makefile.in (elisp.dvi, elisp.pdf): Also include $emacsdir. | ||
| 64 | |||
| 65 | 2010-10-24 Eli Zaretskii <eliz@gnu.org> | ||
| 66 | |||
| 67 | * display.texi (Window Systems): Deprecate use of window-system as | ||
| 68 | a predicate. | ||
| 69 | |||
| 70 | 2010-10-23 Glenn Morris <rgm@gnu.org> | ||
| 71 | |||
| 72 | * help.texi (Documentation Basics): Remove mentions of digest-doc and | ||
| 73 | sorted-doc. | ||
| 74 | |||
| 1 | 2010-10-15 Eli Zaretskii <eliz@gnu.org> | 75 | 2010-10-15 Eli Zaretskii <eliz@gnu.org> |
| 2 | 76 | ||
| 3 | * os.texi (Dynamic Libraries): New node, with slightly modified | 77 | * os.texi (Dynamic Libraries): New node, with slightly modified |
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index f1caa9abfa2..be8b6ca2c9e 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in | |||
| @@ -109,7 +109,7 @@ $(infodir)/elisp: $(srcs) | |||
| 109 | $(MAKEINFO) -o $@ $< | 109 | $(MAKEINFO) -o $@ $< |
| 110 | 110 | ||
| 111 | elisp.dvi: $(srcs) | 111 | elisp.dvi: $(srcs) |
| 112 | $(TEXI2DVI) -I $(srcdir) -I $(texinfodir) $< | 112 | $(TEXI2DVI) -I $(srcdir) -I $(texinfodir) -I $(emacsdir) $< |
| 113 | 113 | ||
| 114 | elisp.html: $(srcs) | 114 | elisp.html: $(srcs) |
| 115 | $(MAKEINFO) --html -o $@ $< | 115 | $(MAKEINFO) --html -o $@ $< |
| @@ -118,7 +118,7 @@ elisp.ps: elisp.dvi | |||
| 118 | $(DVIPS) -o $@ $< | 118 | $(DVIPS) -o $@ $< |
| 119 | 119 | ||
| 120 | elisp.pdf: $(srcs) | 120 | elisp.pdf: $(srcs) |
| 121 | $(TEXI2PDF) -I $(srcdir) -I $(texinfodir) $< | 121 | $(TEXI2PDF) -I $(srcdir) -I $(texinfodir) -I $(emacsdir) $< |
| 122 | 122 | ||
| 123 | .PHONY: mostlyclean clean distclean maintainer-clean infoclean | 123 | .PHONY: mostlyclean clean distclean maintainer-clean infoclean |
| 124 | 124 | ||
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi index 2a7a603e733..8811178fe92 100644 --- a/doc/lispref/buffers.texi +++ b/doc/lispref/buffers.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/buffers | 7 | @setfilename ../../info/buffers |
| 7 | @node Buffers, Windows, Backups and Auto-Saving, Top | 8 | @node Buffers, Windows, Backups and Auto-Saving, Top |
| @@ -594,12 +595,12 @@ therefore checks the file's modification time using the functions | |||
| 594 | described below before saving the file. (@xref{File Attributes}, | 595 | described below before saving the file. (@xref{File Attributes}, |
| 595 | for how to examine a file's modification time.) | 596 | for how to examine a file's modification time.) |
| 596 | 597 | ||
| 597 | @defun verify-visited-file-modtime buffer | 598 | @defun verify-visited-file-modtime &optional buffer |
| 598 | This function compares what @var{buffer} has recorded for the | 599 | This function compares what @var{buffer} (by default, the |
| 599 | modification time of its visited file against the actual modification | 600 | current-buffer) has recorded for the modification time of its visited |
| 600 | time of the file as recorded by the operating system. The two should be | 601 | file against the actual modification time of the file as recorded by the |
| 601 | the same unless some other process has written the file since Emacs | 602 | operating system. The two should be the same unless some other process |
| 602 | visited or saved it. | 603 | has written the file since Emacs visited or saved it. |
| 603 | 604 | ||
| 604 | The function returns @code{t} if the last actual modification time and | 605 | The function returns @code{t} if the last actual modification time and |
| 605 | Emacs's recorded modification time are the same, @code{nil} otherwise. | 606 | Emacs's recorded modification time are the same, @code{nil} otherwise. |
| @@ -1223,6 +1224,3 @@ This function returns the current gap position in the current buffer. | |||
| 1223 | This function returns the current gap size of the current buffer. | 1224 | This function returns the current gap size of the current buffer. |
| 1224 | @end defun | 1225 | @end defun |
| 1225 | 1226 | ||
| 1226 | @ignore | ||
| 1227 | arch-tag: 2e53cfab-5691-41f6-b5a8-9c6a3462399c | ||
| 1228 | @end ignore | ||
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index 17cfcc0def8..d83396750ca 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi | |||
| @@ -1285,8 +1285,12 @@ input stream. @xref{Key Sequence Input}. | |||
| 1285 | @item @var{x}, @var{y} | 1285 | @item @var{x}, @var{y} |
| 1286 | These are the pixel coordinates of the click, relative to | 1286 | These are the pixel coordinates of the click, relative to |
| 1287 | the top left corner of @var{window}, which is @code{(0 . 0)}. | 1287 | the top left corner of @var{window}, which is @code{(0 . 0)}. |
| 1288 | For the mode or header line, @var{y} does not have meaningful data. | 1288 | For a click on text, these are relative to the top left corner of |
| 1289 | For the vertical line, @var{x} does not have meaningful data. | 1289 | the window's text area. For the mode or header line, they are |
| 1290 | relative to the top left window edge. For fringes, margins, and the | ||
| 1291 | vertical border, @var{x} does not have meaningful data. For fringes | ||
| 1292 | and margins, @var{y} is relative to the bottom edge of the header | ||
| 1293 | line. | ||
| 1290 | 1294 | ||
| 1291 | @item @var{timestamp} | 1295 | @item @var{timestamp} |
| 1292 | This is the time at which the event occurred, in milliseconds. | 1296 | This is the time at which the event occurred, in milliseconds. |
| @@ -1316,7 +1320,12 @@ the window. | |||
| 1316 | @item @var{col}, @var{row} | 1320 | @item @var{col}, @var{row} |
| 1317 | These are the actual coordinates of the glyph under the @var{x}, | 1321 | These are the actual coordinates of the glyph under the @var{x}, |
| 1318 | @var{y} position, possibly padded with default character width | 1322 | @var{y} position, possibly padded with default character width |
| 1319 | glyphs if @var{x} is beyond the last glyph on the line. | 1323 | glyphs if @var{x} is beyond the last glyph on the line. For clicks on |
| 1324 | the header or mode line, these are measured from the top left edge of | ||
| 1325 | the header or mode line. For clicks on the fringes and on the | ||
| 1326 | vertical border, these have no meaningful data. For clicks on the | ||
| 1327 | margins, @var{col} is measured from the left edge of the margin area | ||
| 1328 | and @var{row} is measured from the top of the margin area. | ||
| 1320 | 1329 | ||
| 1321 | @item @var{image} | 1330 | @item @var{image} |
| 1322 | This is the image object on which the click occurred. It is either | 1331 | This is the image object on which the click occurred. It is either |
| @@ -1333,7 +1342,7 @@ left corner of the character glyph clicked on. | |||
| 1333 | These are the pixel width and height of @var{object} or, if this is | 1342 | These are the pixel width and height of @var{object} or, if this is |
| 1334 | @code{nil}, those of the character glyph clicked on. | 1343 | @code{nil}, those of the character glyph clicked on. |
| 1335 | @end table | 1344 | @end table |
| 1336 | 1345 | ||
| 1337 | @sp 1 | 1346 | @sp 1 |
| 1338 | For mouse clicks on a scroll-bar, @var{position} has this form: | 1347 | For mouse clicks on a scroll-bar, @var{position} has this form: |
| 1339 | 1348 | ||
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index 4b620049b04..bfd45518bc8 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi | |||
| @@ -733,7 +733,7 @@ The value must be a valid color name, and you can do completion with | |||
| 733 | 733 | ||
| 734 | @node Composite Types | 734 | @node Composite Types |
| 735 | @subsection Composite Types | 735 | @subsection Composite Types |
| 736 | @cindex Composite Types (customization) | 736 | @cindex composite types (customization) |
| 737 | 737 | ||
| 738 | When none of the simple types is appropriate, you can use composite | 738 | When none of the simple types is appropriate, you can use composite |
| 739 | types, which build new types from other types or from specified data. | 739 | types, which build new types from other types or from specified data. |
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index f4092cfa7ea..6e872ad4233 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -5579,9 +5579,9 @@ digit characters representing the character code in octal. (A display | |||
| 5579 | table can specify a glyph to use instead of @samp{\}.) | 5579 | table can specify a glyph to use instead of @samp{\}.) |
| 5580 | 5580 | ||
| 5581 | @item | 5581 | @item |
| 5582 | Multibyte character codes above 256 are displayed as themselves, or as a | 5582 | Multibyte character codes above 256 are displayed as themselves, or as |
| 5583 | question mark or empty box if the terminal cannot display that | 5583 | a question mark or a hex code or an empty box if the terminal cannot |
| 5584 | character. | 5584 | display that character. |
| 5585 | @end itemize | 5585 | @end itemize |
| 5586 | 5586 | ||
| 5587 | The usual display conventions apply even when there is a display | 5587 | The usual display conventions apply even when there is a display |
| @@ -5928,6 +5928,14 @@ selected frame). The list of possible symbols it returns is the same | |||
| 5928 | one documented for the variable @code{window-system} above. | 5928 | one documented for the variable @code{window-system} above. |
| 5929 | @end defun | 5929 | @end defun |
| 5930 | 5930 | ||
| 5931 | Do @emph{not} use @code{window-system} and | ||
| 5932 | @code{initial-window-system} as predicates or boolean flag variables, | ||
| 5933 | if you want to write code that works differently on text terminals and | ||
| 5934 | graphic displays. That is because @code{window-system} is not a good | ||
| 5935 | indicator of Emacs capabilities on a given display type. Instead, use | ||
| 5936 | @code{display-graphic-p} or any of the other @code{display-*-p} | ||
| 5937 | predicates described in @ref{Display Feature Testing}. | ||
| 5938 | |||
| 5931 | @defvar window-setup-hook | 5939 | @defvar window-setup-hook |
| 5932 | This variable is a normal hook which Emacs runs after handling the | 5940 | This variable is a normal hook which Emacs runs after handling the |
| 5933 | initialization files. Emacs runs this hook after it has completed | 5941 | initialization files. Emacs runs this hook after it has completed |
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index d27010d2096..4c44d0a6439 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -1748,6 +1748,15 @@ If @var{frame} is not visible, this function does nothing. The return | |||
| 1748 | value is not significant. | 1748 | value is not significant. |
| 1749 | @end defun | 1749 | @end defun |
| 1750 | 1750 | ||
| 1751 | @defun frame-pointer-visible-p &optional frame | ||
| 1752 | This predicate function returns non-@code{nil} if the mouse pointer | ||
| 1753 | displayed on @var{frame} is visible; otherwise it returns @code{nil}. | ||
| 1754 | @var{frame} omitted or @code{nil} means the selected frame. This is | ||
| 1755 | useful when @code{make-pointer-invisible} is set to @code{t}: it | ||
| 1756 | allows to know if the pointer has been hidden. | ||
| 1757 | @xref{Mouse Avoidance,,,emacs}. | ||
| 1758 | @end defun | ||
| 1759 | |||
| 1751 | @need 3000 | 1760 | @need 3000 |
| 1752 | 1761 | ||
| 1753 | @node Pop-Up Menus | 1762 | @node Pop-Up Menus |
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index d5c89dd7cf3..e9003601516 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi | |||
| @@ -843,7 +843,7 @@ length of @var{sequence}. For example: | |||
| 843 | @result{} (a c e) | 843 | @result{} (a c e) |
| 844 | (mapcar '1+ [1 2 3]) | 844 | (mapcar '1+ [1 2 3]) |
| 845 | @result{} (2 3 4) | 845 | @result{} (2 3 4) |
| 846 | (mapcar 'char-to-string "abc") | 846 | (mapcar 'string "abc") |
| 847 | @result{} ("a" "b" "c") | 847 | @result{} ("a" "b" "c") |
| 848 | @end group | 848 | @end group |
| 849 | 849 | ||
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index 026258f2472..f21e16e104a 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/help | 7 | @setfilename ../../info/help |
| 7 | @node Documentation, Files, Modes, Top | 8 | @node Documentation, Files, Modes, Top |
| @@ -106,12 +107,6 @@ documentation string. The functions @code{documentation} and | |||
| 106 | documentation string from the appropriate file; this is transparent to | 107 | documentation string from the appropriate file; this is transparent to |
| 107 | the user. | 108 | the user. |
| 108 | 109 | ||
| 109 | @c Wordy to prevent overfull hbox. --rjc 15mar92 | ||
| 110 | The @file{emacs/lib-src} directory contains two utilities that you can | ||
| 111 | use to print nice-looking hardcopy for the file | ||
| 112 | @file{emacs/etc/DOC-@var{version}}. These are @file{sorted-doc} and | ||
| 113 | @file{digest-doc}. | ||
| 114 | |||
| 115 | @node Accessing Documentation | 110 | @node Accessing Documentation |
| 116 | @section Access to Documentation Strings | 111 | @section Access to Documentation Strings |
| 117 | 112 | ||
| @@ -551,7 +546,7 @@ follows: | |||
| 551 | 546 | ||
| 552 | @smallexample | 547 | @smallexample |
| 553 | @group | 548 | @group |
| 554 | (define-key global-map (char-to-string help-char) 'help-command) | 549 | (define-key global-map (string help-char) 'help-command) |
| 555 | (fset 'help-command help-map) | 550 | (fset 'help-command help-map) |
| 556 | @end group | 551 | @end group |
| 557 | @end smallexample | 552 | @end smallexample |
| @@ -701,6 +696,3 @@ echo area at first, and display the longer @var{help-text} strings only | |||
| 701 | if the user types the help character again. | 696 | if the user types the help character again. |
| 702 | @end defopt | 697 | @end defopt |
| 703 | 698 | ||
| 704 | @ignore | ||
| 705 | arch-tag: ba36b4c2-e60f-49e2-bc25-61158fdcd815 | ||
| 706 | @end ignore | ||
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index dee2a0252eb..05d836140c7 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi | |||
| @@ -107,6 +107,10 @@ in @code{load-path}, where @code{nil} stands for the default directory. | |||
| 107 | @code{load-path}, then all three suffixes in the second directory, and | 107 | @code{load-path}, then all three suffixes in the second directory, and |
| 108 | so on. @xref{Library Search}. | 108 | so on. @xref{Library Search}. |
| 109 | 109 | ||
| 110 | Whatever the name under which the file is eventually found, and the | ||
| 111 | directory where Emacs found it, Emacs sets the value of the variable | ||
| 112 | @code{load-file-name} to that file's name. | ||
| 113 | |||
| 110 | If you get a warning that @file{foo.elc} is older than @file{foo.el}, it | 114 | If you get a warning that @file{foo.elc} is older than @file{foo.el}, it |
| 111 | means you should consider recompiling @file{foo.el}. @xref{Byte | 115 | means you should consider recompiling @file{foo.el}. @xref{Byte |
| 112 | Compilation}. | 116 | Compilation}. |
| @@ -157,6 +161,12 @@ This variable is non-@code{nil} if Emacs is in the process of loading a | |||
| 157 | file, and it is @code{nil} otherwise. | 161 | file, and it is @code{nil} otherwise. |
| 158 | @end defvar | 162 | @end defvar |
| 159 | 163 | ||
| 164 | @defvar load-file-name | ||
| 165 | When Emacs is in the process of loading a file, this variable's value | ||
| 166 | is the name of that file, as Emacs found it during the search | ||
| 167 | described earlier in this section. | ||
| 168 | @end defvar | ||
| 169 | |||
| 160 | @defvar load-read-function | 170 | @defvar load-read-function |
| 161 | @anchor{Definition of load-read-function} | 171 | @anchor{Definition of load-read-function} |
| 162 | @c do not allow page break at anchor; work around Texinfo deficiency. | 172 | @c do not allow page break at anchor; work around Texinfo deficiency. |
diff --git a/doc/lispref/maps.texi b/doc/lispref/maps.texi index a5b126afcb2..4b416a82d64 100644 --- a/doc/lispref/maps.texi +++ b/doc/lispref/maps.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004, |
| 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/maps | 7 | @setfilename ../../info/maps |
| 7 | @node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top | 8 | @node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top |
| @@ -183,9 +184,9 @@ A sparse keymap used by Lisp mode. | |||
| 183 | @vindex menu-bar-edit-menu | 184 | @vindex menu-bar-edit-menu |
| 184 | The keymap which displays the Edit menu in the menu bar. | 185 | The keymap which displays the Edit menu in the menu bar. |
| 185 | 186 | ||
| 186 | @item menu-bar-files-menu | 187 | @item menu-bar-file-menu |
| 187 | @vindex menu-bar-files-menu | 188 | @vindex menu-bar-file-menu |
| 188 | The keymap which displays the Files menu in the menu bar. | 189 | The keymap which displays the File menu in the menu bar. |
| 189 | 190 | ||
| 190 | @item menu-bar-help-menu | 191 | @item menu-bar-help-menu |
| 191 | @vindex menu-bar-help-menu | 192 | @vindex menu-bar-help-menu |
| @@ -239,6 +240,3 @@ The keymap defining the contents of the tool bar. | |||
| 239 | A full keymap used by View mode. | 240 | A full keymap used by View mode. |
| 240 | @end table | 241 | @end table |
| 241 | 242 | ||
| 242 | @ignore | ||
| 243 | arch-tag: b741253c-7e23-4a02-b3fa-cffd9e4d72b9 | ||
| 244 | @end ignore | ||
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 40c78d97da7..1c196c93f27 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi | |||
| @@ -199,6 +199,13 @@ unibyte string, it is returned unchanged. Use this function for | |||
| 199 | characters. | 199 | characters. |
| 200 | @end defun | 200 | @end defun |
| 201 | 201 | ||
| 202 | @defun byte-to-string byte | ||
| 203 | @cindex byte to string | ||
| 204 | This function returns a unibyte string containing a single byte of | ||
| 205 | character data, @var{character}. It signals a error if | ||
| 206 | @var{character} is not an integer between 0 and 255. | ||
| 207 | @end defun | ||
| 208 | |||
| 202 | @defun multibyte-char-to-unibyte char | 209 | @defun multibyte-char-to-unibyte char |
| 203 | This converts the multibyte character @var{char} to a unibyte | 210 | This converts the multibyte character @var{char} to a unibyte |
| 204 | character, and returns that character. If @var{char} is neither | 211 | character, and returns that character. If @var{char} is neither |
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi index 62b4796350e..e83da348e05 100644 --- a/doc/lispref/numbers.texi +++ b/doc/lispref/numbers.texi | |||
| @@ -224,6 +224,14 @@ down to an integer. | |||
| 224 | @end example | 224 | @end example |
| 225 | @end defun | 225 | @end defun |
| 226 | 226 | ||
| 227 | @defvar float-e | ||
| 228 | The mathematical constant @math{e} (2.71828@dots{}). | ||
| 229 | @end defvar | ||
| 230 | |||
| 231 | @defvar float-pi | ||
| 232 | The mathematical constant @math{pi} (3.14159@dots{}). | ||
| 233 | @end defvar | ||
| 234 | |||
| 227 | @node Predicates on Numbers | 235 | @node Predicates on Numbers |
| 228 | @section Type Predicates for Numbers | 236 | @section Type Predicates for Numbers |
| 229 | @cindex predicates for numbers | 237 | @cindex predicates for numbers |
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi index b0b0e1d0042..93776f3b4f0 100644 --- a/doc/lispref/objects.texi +++ b/doc/lispref/objects.texi | |||
| @@ -582,7 +582,6 @@ makes it invalid as a number. | |||
| 582 | @group | 582 | @group |
| 583 | foo ; @r{A symbol named @samp{foo}.} | 583 | foo ; @r{A symbol named @samp{foo}.} |
| 584 | FOO ; @r{A symbol named @samp{FOO}, different from @samp{foo}.} | 584 | FOO ; @r{A symbol named @samp{FOO}, different from @samp{foo}.} |
| 585 | char-to-string ; @r{A symbol named @samp{char-to-string}.} | ||
| 586 | @end group | 585 | @end group |
| 587 | @group | 586 | @group |
| 588 | 1+ ; @r{A symbol named @samp{1+}} | 587 | 1+ ; @r{A symbol named @samp{1+}} |
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 1128ca87d8a..94d2765a833 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi | |||
| @@ -126,9 +126,8 @@ This function returns a string made up of @var{count} repetitions of | |||
| 126 | @result{} "" | 126 | @result{} "" |
| 127 | @end example | 127 | @end example |
| 128 | 128 | ||
| 129 | Other functions to compare with this one include @code{char-to-string} | 129 | Other functions to compare with this one include @code{make-vector} |
| 130 | (@pxref{String Conversion}), @code{make-vector} (@pxref{Vectors}), and | 130 | (@pxref{Vectors}) and @code{make-list} (@pxref{Building Lists}). |
| 131 | @code{make-list} (@pxref{Building Lists}). | ||
| 132 | @end defun | 131 | @end defun |
| 133 | 132 | ||
| 134 | @defun string &rest characters | 133 | @defun string &rest characters |
| @@ -565,38 +564,6 @@ of text characters and general input events | |||
| 565 | (@code{single-key-description} and @code{text-char-description}). These | 564 | (@code{single-key-description} and @code{text-char-description}). These |
| 566 | are used primarily for making help messages. | 565 | are used primarily for making help messages. |
| 567 | 566 | ||
| 568 | @defun char-to-string character | ||
| 569 | @cindex character to string | ||
| 570 | This function returns a new string containing one character, | ||
| 571 | @var{character}. This function is semi-obsolete because the function | ||
| 572 | @code{string} is more general. @xref{Creating Strings}. | ||
| 573 | @end defun | ||
| 574 | |||
| 575 | @defun string-to-char string | ||
| 576 | @cindex string to character | ||
| 577 | This function returns the first character in @var{string}. If the | ||
| 578 | string is empty, the function returns 0. The value is also 0 when the | ||
| 579 | first character of @var{string} is the null character, @acronym{ASCII} code | ||
| 580 | 0. | ||
| 581 | |||
| 582 | @example | ||
| 583 | (string-to-char "ABC") | ||
| 584 | @result{} 65 | ||
| 585 | |||
| 586 | (string-to-char "xyz") | ||
| 587 | @result{} 120 | ||
| 588 | (string-to-char "") | ||
| 589 | @result{} 0 | ||
| 590 | @group | ||
| 591 | (string-to-char "\000") | ||
| 592 | @result{} 0 | ||
| 593 | @end group | ||
| 594 | @end example | ||
| 595 | |||
| 596 | This function may be eliminated in the future if it does not seem useful | ||
| 597 | enough to retain. | ||
| 598 | @end defun | ||
| 599 | |||
| 600 | @defun number-to-string number | 567 | @defun number-to-string number |
| 601 | @cindex integer to string | 568 | @cindex integer to string |
| 602 | @cindex integer to decimal | 569 | @cindex integer to decimal |
| @@ -659,19 +626,39 @@ this function returns 0. | |||
| 659 | @code{string-to-int} is an obsolete alias for this function. | 626 | @code{string-to-int} is an obsolete alias for this function. |
| 660 | @end defun | 627 | @end defun |
| 661 | 628 | ||
| 629 | @defun char-to-string character | ||
| 630 | @cindex character to string | ||
| 631 | This function returns a new string containing one character, | ||
| 632 | @var{character}. This function is semi-obsolete because the function | ||
| 633 | @code{string} is more general. @xref{Creating Strings}. | ||
| 634 | @end defun | ||
| 635 | |||
| 636 | @defun string-to-char string | ||
| 637 | This function returns the first character in @var{string}. This | ||
| 638 | mostly identical to @code{(aref string 0)}, except that it returns 0 | ||
| 639 | if the string is empty. (The value is also 0 when the first character | ||
| 640 | of @var{string} is the null character, @acronym{ASCII} code 0.) This | ||
| 641 | function may be eliminated in the future if it does not seem useful | ||
| 642 | enough to retain. | ||
| 643 | @end defun | ||
| 644 | |||
| 662 | Here are some other functions that can convert to or from a string: | 645 | Here are some other functions that can convert to or from a string: |
| 663 | 646 | ||
| 664 | @table @code | 647 | @table @code |
| 665 | @item concat | 648 | @item concat |
| 666 | @code{concat} can convert a vector or a list into a string. | 649 | This function converts a vector or a list into a string. |
| 667 | @xref{Creating Strings}. | 650 | @xref{Creating Strings}. |
| 668 | 651 | ||
| 669 | @item vconcat | 652 | @item vconcat |
| 670 | @code{vconcat} can convert a string into a vector. @xref{Vector | 653 | This function converts a string into a vector. @xref{Vector |
| 671 | Functions}. | 654 | Functions}. |
| 672 | 655 | ||
| 673 | @item append | 656 | @item append |
| 674 | @code{append} can convert a string into a list. @xref{Building Lists}. | 657 | This function converts a string into a list. @xref{Building Lists}. |
| 658 | |||
| 659 | @item byte-to-string | ||
| 660 | This function converts a byte of character data into a unibyte string. | ||
| 661 | @xref{Converting Representations}. | ||
| 675 | @end table | 662 | @end table |
| 676 | 663 | ||
| 677 | @node Formatting Strings | 664 | @node Formatting Strings |
diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi index 5bb44ff9675..ccf90e33cd0 100644 --- a/doc/lispref/symbols.texi +++ b/doc/lispref/symbols.texi | |||
| @@ -383,7 +383,7 @@ See @code{documentation} in @ref{Accessing Documentation}, for another | |||
| 383 | example using @code{mapatoms}. | 383 | example using @code{mapatoms}. |
| 384 | @end defun | 384 | @end defun |
| 385 | 385 | ||
| 386 | @defun unintern symbol &optional obarray | 386 | @defun unintern symbol obarray |
| 387 | This function deletes @var{symbol} from the obarray @var{obarray}. If | 387 | This function deletes @var{symbol} from the obarray @var{obarray}. If |
| 388 | @code{symbol} is not actually in the obarray, @code{unintern} does | 388 | @code{symbol} is not actually in the obarray, @code{unintern} does |
| 389 | nothing. If @var{obarray} is @code{nil}, the current obarray is used. | 389 | nothing. If @var{obarray} is @code{nil}, the current obarray is used. |
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 04e1e714133..45d358366de 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi | |||
| @@ -87,7 +87,7 @@ buffer is @samp{@@}: | |||
| 87 | 87 | ||
| 88 | @example | 88 | @example |
| 89 | @group | 89 | @group |
| 90 | (char-to-string (char-after 1)) | 90 | (string (char-after 1)) |
| 91 | @result{} "@@" | 91 | @result{} "@@" |
| 92 | @end group | 92 | @end group |
| 93 | @end example | 93 | @end example |
| @@ -122,9 +122,9 @@ but there is no peace. | |||
| 122 | @end group | 122 | @end group |
| 123 | 123 | ||
| 124 | @group | 124 | @group |
| 125 | (char-to-string (preceding-char)) | 125 | (string (preceding-char)) |
| 126 | @result{} "a" | 126 | @result{} "a" |
| 127 | (char-to-string (following-char)) | 127 | (string (following-char)) |
| 128 | @result{} "c" | 128 | @result{} "c" |
| 129 | @end group | 129 | @end group |
| 130 | @end example | 130 | @end example |
| @@ -866,7 +866,7 @@ adds it to the most recent element. It determines automatically (using | |||
| 866 | @code{last-command}) whether the previous command was a kill command, | 866 | @code{last-command}) whether the previous command was a kill command, |
| 867 | and if so appends the killed text to the most recent entry. | 867 | and if so appends the killed text to the most recent entry. |
| 868 | 868 | ||
| 869 | @deffn Command kill-region start end &optional yank-handler | 869 | @deffn Command kill-region start end |
| 870 | This function kills the text in the region defined by @var{start} and | 870 | This function kills the text in the region defined by @var{start} and |
| 871 | @var{end}. The text is deleted but saved in the kill ring, along with | 871 | @var{end}. The text is deleted but saved in the kill ring, along with |
| 872 | its text properties. The value is always @code{nil}. | 872 | its text properties. The value is always @code{nil}. |
| @@ -874,17 +874,10 @@ its text properties. The value is always @code{nil}. | |||
| 874 | In an interactive call, @var{start} and @var{end} are point and | 874 | In an interactive call, @var{start} and @var{end} are point and |
| 875 | the mark. | 875 | the mark. |
| 876 | 876 | ||
| 877 | @c Emacs 19 feature | ||
| 878 | If the buffer or text is read-only, @code{kill-region} modifies the kill | 877 | If the buffer or text is read-only, @code{kill-region} modifies the kill |
| 879 | ring just the same, then signals an error without modifying the buffer. | 878 | ring just the same, then signals an error without modifying the buffer. |
| 880 | This is convenient because it lets the user use a series of kill | 879 | This is convenient because it lets the user use a series of kill |
| 881 | commands to copy text from a read-only buffer into the kill ring. | 880 | commands to copy text from a read-only buffer into the kill ring. |
| 882 | |||
| 883 | If @var{yank-handler} is non-@code{nil}, this puts that value onto | ||
| 884 | the string of killed text, as a @code{yank-handler} text property. | ||
| 885 | @xref{Yanking}. Note that if @var{yank-handler} is @code{nil}, any | ||
| 886 | @code{yank-handler} properties present on the killed text are copied | ||
| 887 | onto the kill ring, like other text properties. | ||
| 888 | @end deffn | 881 | @end deffn |
| 889 | 882 | ||
| 890 | @defopt kill-read-only-ok | 883 | @defopt kill-read-only-ok |
| @@ -901,10 +894,10 @@ from the buffer. It returns @code{nil}. | |||
| 901 | The command does not set @code{this-command} to @code{kill-region}, so a | 894 | The command does not set @code{this-command} to @code{kill-region}, so a |
| 902 | subsequent kill command does not append to the same kill ring entry. | 895 | subsequent kill command does not append to the same kill ring entry. |
| 903 | 896 | ||
| 904 | Don't call @code{copy-region-as-kill} in Lisp programs unless you aim to | 897 | @c FIXME Why is it better? Why isn't copy-region-as-kill obsolete then? |
| 905 | support Emacs 18. For newer Emacs versions, it is better to use | 898 | @c Why is it used in many places in Emacs? |
| 906 | @code{kill-new} or @code{kill-append} instead. @xref{Low-Level Kill | 899 | In Lisp programs, it is better to use @code{kill-new} or |
| 907 | Ring}. | 900 | @code{kill-append} instead of this command. @xref{Low-Level Kill Ring}. |
| 908 | @end deffn | 901 | @end deffn |
| 909 | 902 | ||
| 910 | @node Yanking | 903 | @node Yanking |
| @@ -1042,8 +1035,8 @@ text property, if there is one. | |||
| 1042 | @subsection Low-Level Kill Ring | 1035 | @subsection Low-Level Kill Ring |
| 1043 | 1036 | ||
| 1044 | These functions and variables provide access to the kill ring at a | 1037 | These functions and variables provide access to the kill ring at a |
| 1045 | lower level, but still convenient for use in Lisp programs, because they | 1038 | lower level, but are still convenient for use in Lisp programs, |
| 1046 | take care of interaction with window system selections | 1039 | because they take care of interaction with window system selections |
| 1047 | (@pxref{Window System Selections}). | 1040 | (@pxref{Window System Selections}). |
| 1048 | 1041 | ||
| 1049 | @defun current-kill n &optional do-not-move | 1042 | @defun current-kill n &optional do-not-move |
| @@ -1069,7 +1062,7 @@ it returns the entry pointed at by the yanking pointer and does not | |||
| 1069 | move the yanking pointer. | 1062 | move the yanking pointer. |
| 1070 | @end defun | 1063 | @end defun |
| 1071 | 1064 | ||
| 1072 | @defun kill-new string &optional replace yank-handler | 1065 | @defun kill-new string &optional replace |
| 1073 | This function pushes the text @var{string} onto the kill ring and | 1066 | This function pushes the text @var{string} onto the kill ring and |
| 1074 | makes the yanking pointer point to it. It discards the oldest entry | 1067 | makes the yanking pointer point to it. It discards the oldest entry |
| 1075 | if appropriate. It also invokes the value of | 1068 | if appropriate. It also invokes the value of |
| @@ -1078,25 +1071,15 @@ if appropriate. It also invokes the value of | |||
| 1078 | If @var{replace} is non-@code{nil}, then @code{kill-new} replaces the | 1071 | If @var{replace} is non-@code{nil}, then @code{kill-new} replaces the |
| 1079 | first element of the kill ring with @var{string}, rather than pushing | 1072 | first element of the kill ring with @var{string}, rather than pushing |
| 1080 | @var{string} onto the kill ring. | 1073 | @var{string} onto the kill ring. |
| 1081 | |||
| 1082 | If @var{yank-handler} is non-@code{nil}, this puts that value onto | ||
| 1083 | the string of killed text, as a @code{yank-handler} property. | ||
| 1084 | @xref{Yanking}. Note that if @var{yank-handler} is @code{nil}, then | ||
| 1085 | @code{kill-new} copies any @code{yank-handler} properties present on | ||
| 1086 | @var{string} onto the kill ring, as it does with other text properties. | ||
| 1087 | @end defun | 1074 | @end defun |
| 1088 | 1075 | ||
| 1089 | @defun kill-append string before-p &optional yank-handler | 1076 | @defun kill-append string before-p |
| 1090 | This function appends the text @var{string} to the first entry in the | 1077 | This function appends the text @var{string} to the first entry in the |
| 1091 | kill ring and makes the yanking pointer point to the combined entry. | 1078 | kill ring and makes the yanking pointer point to the combined entry. |
| 1092 | Normally @var{string} goes at the end of the entry, but if | 1079 | Normally @var{string} goes at the end of the entry, but if |
| 1093 | @var{before-p} is non-@code{nil}, it goes at the beginning. This | 1080 | @var{before-p} is non-@code{nil}, it goes at the beginning. This |
| 1094 | function also invokes the value of @code{interprogram-cut-function} | 1081 | function also invokes the value of @code{interprogram-cut-function} |
| 1095 | (see below). This handles @var{yank-handler} just like | 1082 | (see below). |
| 1096 | @code{kill-new}, except that if @var{yank-handler} is different from | ||
| 1097 | the @code{yank-handler} property of the first entry of the kill ring, | ||
| 1098 | @code{kill-append} pushes the concatenated string onto the kill ring, | ||
| 1099 | instead of replacing the original first entry with it. | ||
| 1100 | @end defun | 1083 | @end defun |
| 1101 | 1084 | ||
| 1102 | @defvar interprogram-paste-function | 1085 | @defvar interprogram-paste-function |
| @@ -4324,6 +4307,4 @@ code that is itself run from a modification hook, then rebind locally | |||
| 4324 | @code{inhibit-modification-hooks} to @code{nil}. | 4307 | @code{inhibit-modification-hooks} to @code{nil}. |
| 4325 | @end defvar | 4308 | @end defvar |
| 4326 | 4309 | ||
| 4327 | @ignore | 4310 | |
| 4328 | arch-tag: 3721e738-a1cb-4085-bc1a-6cb8d8e1d32b | ||
| 4329 | @end ignore | ||
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index a3a550868f5..20fe4dbc9fa 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi | |||
| @@ -544,21 +544,23 @@ not the buffer-local value. (But you should not be making | |||
| 544 | buffer-local bindings for a symbol that is defined with | 544 | buffer-local bindings for a symbol that is defined with |
| 545 | @code{defconst}.) | 545 | @code{defconst}.) |
| 546 | 546 | ||
| 547 | Here, @code{pi} is a constant that presumably ought not to be changed | 547 | An example of the use of @code{defconst} is Emacs' definition of |
| 548 | by anyone (attempts by the Indiana State Legislature notwithstanding). | 548 | @code{float-pi}---the mathematical constant @math{pi}, which ought not |
| 549 | As the second form illustrates, however, this is only advisory. | 549 | to be changed by anyone (attempts by the Indiana State Legislature |
| 550 | notwithstanding). As the second form illustrates, however, | ||
| 551 | @code{defconst} is only advisory. | ||
| 550 | 552 | ||
| 551 | @example | 553 | @example |
| 552 | @group | 554 | @group |
| 553 | (defconst pi 3.1415 "Pi to five places.") | 555 | (defconst float-pi 3.141592653589793 "The value of Pi.") |
| 554 | @result{} pi | 556 | @result{} float-pi |
| 555 | @end group | 557 | @end group |
| 556 | @group | 558 | @group |
| 557 | (setq pi 3) | 559 | (setq float-pi 3) |
| 558 | @result{} pi | 560 | @result{} float-pi |
| 559 | @end group | 561 | @end group |
| 560 | @group | 562 | @group |
| 561 | pi | 563 | float-pi |
| 562 | @result{} 3 | 564 | @result{} 3 |
| 563 | @end group | 565 | @end group |
| 564 | @end example | 566 | @end example |
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index df6e478a34e..b1b3b440767 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,311 @@ | |||
| 1 | 2010-12-06 Tassilo Horn <tassilo@member.fsf.org> | ||
| 2 | |||
| 3 | * gnus.texi (Server Commands): Point to the rest of the server | ||
| 4 | commands. | ||
| 5 | |||
| 6 | 2010-12-04 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 7 | |||
| 8 | * gnus.texi (Paging the Article): Note the reverse meanings of `C-u C-u | ||
| 9 | g'. | ||
| 10 | |||
| 11 | 2010-12-02 Julien Danjou <julien@danjou.info> | ||
| 12 | |||
| 13 | * gnus.texi (Archived Messages): Remove gnus-outgoing-message-group. | ||
| 14 | |||
| 15 | 2010-11-28 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 16 | |||
| 17 | * gnus.texi (Customizing the IMAP Connection): Note the new defaults. | ||
| 18 | (Direct Functions): Note the STARTTLS upgrade. | ||
| 19 | |||
| 20 | 2010-11-27 Glenn Morris <rgm@gnu.org> | ||
| 21 | James Clark <none@example.com> | ||
| 22 | |||
| 23 | * nxml-mode.texi (Introduction): New section. | ||
| 24 | |||
| 25 | 2010-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 26 | |||
| 27 | * gnus.texi (Server Commands): Document gnus-server-show-server. | ||
| 28 | |||
| 29 | 2010-11-20 Michael Albinus <michael.albinus@gmx.de> | ||
| 30 | |||
| 31 | Sync with Tramp 2.2.0. | ||
| 32 | |||
| 33 | * trampver.texi: Update release number. | ||
| 34 | |||
| 35 | 2010-11-19 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 36 | |||
| 37 | * calc.texi (TeX and LaTeX Language Modes, Predefined Units): | ||
| 38 | Mention that the TeX specific units won't use the `tex' prefix | ||
| 39 | in TeX mode. | ||
| 40 | |||
| 41 | 2010-11-18 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 42 | |||
| 43 | * gnus.texi (Misc Article): Document gnus-inhibit-images. | ||
| 44 | |||
| 45 | 2010-11-17 Glenn Morris <rgm@gnu.org> | ||
| 46 | |||
| 47 | * edt.texi: Remove information about Emacs 19. | ||
| 48 | |||
| 49 | 2010-11-17 Michael Albinus <michael.albinus@gmx.de> | ||
| 50 | |||
| 51 | * trampver.texi: Update release number. | ||
| 52 | |||
| 53 | 2010-11-12 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 54 | |||
| 55 | * gnus.texi (Article Washing): Fix typo. | ||
| 56 | |||
| 57 | 2010-11-11 Noorul Islam <noorul@noorul.com> | ||
| 58 | |||
| 59 | * org.texi: Fix typo. | ||
| 60 | |||
| 61 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 62 | |||
| 63 | * org.texi (Using capture): Explain that refiling is | ||
| 64 | sensitive to cursor position. | ||
| 65 | |||
| 66 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 67 | |||
| 68 | * org.texi (Images and tables): Add cross reference to link section. | ||
| 69 | |||
| 70 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 71 | |||
| 72 | * org.texi: Document the <c> cookie. | ||
| 73 | |||
| 74 | 2010-11-11 Eric Schulte <schulte.eric@gmail.com> | ||
| 75 | |||
| 76 | * org.texi: multi-line header arguments :PROPERTIES: :ID: | ||
| 77 | b77c8857-6c76-4ea9-8a61-ddc2648d96c4 :END:. | ||
| 78 | |||
| 79 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 80 | |||
| 81 | * org.texi (CSS support): Document :HTML_CONTAINER_CLASS: property. | ||
| 82 | |||
| 83 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 84 | |||
| 85 | * org.texi (Project alist): Mention that this is a property list. | ||
| 86 | |||
| 87 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 88 | |||
| 89 | * org.texi (Setting up the staging area): Document that | ||
| 90 | file names remain visible when encrypting the MobileOrg files. | ||
| 91 | |||
| 92 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 93 | |||
| 94 | * org.texi (Setting up the staging area): Document which | ||
| 95 | versions are needed for encryption. | ||
| 96 | |||
| 97 | 2010-11-11 Eric Schulte <schulte.eric@gmail.com> | ||
| 98 | |||
| 99 | * org.texi (noweb): Update :noweb documentation to | ||
| 100 | reflect the new "tangle" argument. | ||
| 101 | |||
| 102 | 2010-11-11 Eric Schulte <schulte.eric@gmail.com> | ||
| 103 | |||
| 104 | * org.texi (Batch execution): Improve tangling script in | ||
| 105 | documentation. | ||
| 106 | |||
| 107 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 108 | |||
| 109 | * org.texi (Handling links): | ||
| 110 | (In-buffer settings): Document inlining images on startup. | ||
| 111 | |||
| 112 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 113 | |||
| 114 | * org.texi (Setting up the staging area): Document use of | ||
| 115 | crypt password. | ||
| 116 | |||
| 117 | 2010-11-11 David Maus <dmaus@ictsoc.de> | ||
| 118 | |||
| 119 | * org.texi (Template expansion): Add date related link type escapes. | ||
| 120 | |||
| 121 | 2010-11-11 David Maus <dmaus@ictsoc.de> | ||
| 122 | |||
| 123 | * org.texi (Template expansion): Add mew in table for link type | ||
| 124 | escapes. | ||
| 125 | |||
| 126 | 2010-11-11 David Maus <dmaus@ictsoc.de> | ||
| 127 | |||
| 128 | * org.texi (Template expansion): Fix typo in link type escapes. | ||
| 129 | |||
| 130 | 2010-11-11 Eric Schulte <schulte.eric@gmail.com> | ||
| 131 | |||
| 132 | * org.texi (Structure of code blocks): Another documentation tweak. | ||
| 133 | |||
| 134 | 2010-11-11 Eric Schulte <schulte.eric@gmail.com> | ||
| 135 | |||
| 136 | * org.texi (Structure of code blocks): Documentation tweak. | ||
| 137 | |||
| 138 | 2010-11-11 Eric Schulte <schulte.eric@gmail.com> | ||
| 139 | |||
| 140 | * org.texi (Structure of code blocks): | ||
| 141 | Update documentation to mention inline code block syntax. | ||
| 142 | |||
| 143 | 2010-11-11 Eric Schulte <schulte.eric@gmail.com> | ||
| 144 | |||
| 145 | * org.texi (comments): Improve wording. | ||
| 146 | |||
| 147 | 2010-11-11 Eric Schulte <schulte.eric@gmail.com> | ||
| 148 | |||
| 149 | * org.texi (comments): Document the new :comments header arguments. | ||
| 150 | |||
| 151 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 152 | |||
| 153 | * org.texi (Installation): Remove the special | ||
| 154 | installation instructions for XEmacs. | ||
| 155 | |||
| 156 | 2010-11-11 Jambunathan K <kjambunathan@gmail.com> (tiny change) | ||
| 157 | |||
| 158 | * org.texi (Easy Templates): New section. Documents quick | ||
| 159 | insertion of empty structural elements. | ||
| 160 | |||
| 161 | 2010-11-11 Noorul Islam <noorul@noorul.com> | ||
| 162 | |||
| 163 | * org.texi: Fix doc. | ||
| 164 | |||
| 165 | 2010-11-11 Jambunathan K <kjambunathan@gmail.com> (tiny change) | ||
| 166 | |||
| 167 | * org.texi (The date/time prompt): Document specification | ||
| 168 | of time ranges. | ||
| 169 | |||
| 170 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 171 | |||
| 172 | * org.texi (Internal links): Document the changes in | ||
| 173 | internal links. | ||
| 174 | |||
| 175 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | ||
| 176 | |||
| 177 | * org.texi (Agenda commands): Document the limitation for | ||
| 178 | the filter preset - it can only be used for an entire agenda | ||
| 179 | view, not in an individual block in a block agenda. | ||
| 180 | |||
| 181 | 2010-11-11 Eric S Fraga <e.fraga@ucl.ac.uk> | ||
| 182 | |||
| 183 | * org.texi (iCalendar export): Document alarm creation. | ||
| 184 | |||
| 185 | 2010-11-10 Michael Albinus <michael.albinus@gmx.de> | ||
| 186 | |||
| 187 | * dbus.texi (Type Conversion): Introduce `:unix-fd' type mapping. | ||
| 188 | |||
| 189 | 2010-11-09 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 190 | |||
| 191 | * gnus.texi (Article Washing): Document gnus-article-treat-non-ascii. | ||
| 192 | |||
| 193 | 2010-11-09 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 194 | |||
| 195 | * calc.texi: Use emacsver.texi to determine Emacs version. | ||
| 196 | |||
| 197 | 2010-11-04 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 198 | |||
| 199 | * gnus.texi (Customizing the IMAP Connection): Remove nnir mention, | ||
| 200 | since that works by default. | ||
| 201 | |||
| 202 | 2010-11-03 Kan-Ru Chen <kanru@kanru.info> (tiny change) | ||
| 203 | |||
| 204 | * gnus.texi (Customizing the IMAP Connection): Document | ||
| 205 | `nnimap-expunge' and remove `nnimap-expunge-inbox' from example. | ||
| 206 | |||
| 207 | 2010-11-04 Michael Albinus <michael.albinus@gmx.de> | ||
| 208 | |||
| 209 | * tramp.texi (Remote shell setup): New item "Interactive shell | ||
| 210 | prompt". Reported by Christian Millour <cm@abtela.com>. | ||
| 211 | (Remote shell setup, Remote processes): Use @code{} for | ||
| 212 | environment variables. | ||
| 213 | |||
| 214 | 2010-11-03 Glenn Morris <rgm@gnu.org> | ||
| 215 | |||
| 216 | * ediff.texi (Quick Help Commands, Miscellaneous): | ||
| 217 | * gnus.texi (Agent Variables, Configuring nnmairix): Spelling fix. | ||
| 218 | |||
| 219 | 2010-10-31 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 220 | |||
| 221 | * gnus.texi (Paging the Article): Document C-u g/C-u C-u g. | ||
| 222 | |||
| 223 | 2010-10-31 Glenn Morris <rgm@gnu.org> | ||
| 224 | |||
| 225 | * mh-e.texi (Preface, From Bill Wohler): Change 23 to past tense. | ||
| 226 | |||
| 227 | 2010-10-31 Glenn Morris <rgm@gnu.org> | ||
| 228 | |||
| 229 | * cc-mode.texi: Remove reference to defunct viewcvs URL. | ||
| 230 | |||
| 231 | 2010-10-29 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 232 | |||
| 233 | * gnus.texi (Client-Side IMAP Splitting): Mention | ||
| 234 | nnimap-unsplittable-articles. | ||
| 235 | |||
| 236 | 2010-10-29 Julien Danjou <julien@danjou.info> | ||
| 237 | |||
| 238 | * gnus.texi (Finding the News): Remove references to obsoletes | ||
| 239 | variables `gnus-nntp-server' and `gnus-secondary-servers'. | ||
| 240 | |||
| 241 | 2010-10-29 Eli Zaretskii <eliz@gnu.org> | ||
| 242 | |||
| 243 | * makefile.w32-in (MAKEINFO): Add -I$(emacsdir). | ||
| 244 | (ENVADD): Remove extra -I$(emacsdir), included in $(MAKEINFO). | ||
| 245 | ($(infodir)/efaq): Remove -I$(emacsdir), included in $(MAKEINFO). | ||
| 246 | ($(infodir)/calc, calc.dvi): Depend on $(emacsdir)/emacsver.texi. | ||
| 247 | |||
| 248 | 2010-10-28 Glenn Morris <rgm@gnu.org> | ||
| 249 | |||
| 250 | * Makefile.in (MAKEINFO, ENVADD): Add $emacsdir to include path. | ||
| 251 | (($(infodir)/calc, calc.dvi, calc.pdf): Depend on emacsver.texi. | ||
| 252 | ($(infodir)/efaq): Remove -I option now in $MAKEINFO. | ||
| 253 | |||
| 254 | 2010-10-25 Daiki Ueno <ueno@unixuser.org> | ||
| 255 | |||
| 256 | * epa.texi (Mail-mode integration): Add alternative key bindings | ||
| 257 | for epa-mail commands; escape comma. | ||
| 258 | Don't use the word "PGP", since it is a non-free program. | ||
| 259 | |||
| 260 | 2010-10-24 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 261 | |||
| 262 | * calc.texi: Use emacsver.texi to determine Emacs version. | ||
| 263 | |||
| 264 | 2010-10-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 265 | |||
| 266 | * gnus.texi (Group Parameters, Buttons): Fix typos. | ||
| 267 | |||
| 268 | 2010-10-22 Tassilo Horn <tassilo@member.fsf.org> | ||
| 269 | |||
| 270 | * gnus.texi (Subscription Commands): Mention that you can also | ||
| 271 | subscribe to new groups via the Server buffer, which is probably more | ||
| 272 | convenient when subscribing to many groups. | ||
| 273 | |||
| 274 | 2010-10-21 Julien Danjou <julien@danjou.info> | ||
| 275 | |||
| 276 | * message.texi (Message Headers): Allow message-default-headers to be a | ||
| 277 | function. | ||
| 278 | |||
| 279 | 2010-10-21 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 280 | |||
| 281 | * gnus-news.texi: Mention new archive defaults. | ||
| 282 | |||
| 283 | 2010-10-21 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 284 | |||
| 285 | * gnus.texi (RSS): Remove nnrss-wash-html-in-text-plain-parts. | ||
| 286 | |||
| 287 | 2010-10-20 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 288 | |||
| 289 | * gnus.texi (HTML): Document the function value of | ||
| 290 | gnus-blocked-images. | ||
| 291 | (Article Washing): shr and gnus-w3m, not the direct function names. | ||
| 292 | |||
| 293 | 2010-10-20 Julien Danjou <julien@danjou.info> | ||
| 294 | |||
| 295 | * emacs-mime.texi (Flowed text): Add a note about mml-enable-flowed | ||
| 296 | variable. | ||
| 297 | |||
| 298 | 2010-10-19 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 299 | |||
| 300 | * gnus.texi (Customizing the IMAP Connection): The port strings are | ||
| 301 | strings. | ||
| 302 | (Document Groups): Mention git. | ||
| 303 | |||
| 304 | 2010-10-18 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 305 | |||
| 306 | * gnus-coding.texi (Gnus Maintainance Guide): Update to mention Emacs | ||
| 307 | bzr/Gnus git sync. | ||
| 308 | |||
| 1 | 2010-10-15 Eli Zaretskii <eliz@gnu.org> | 309 | 2010-10-15 Eli Zaretskii <eliz@gnu.org> |
| 2 | 310 | ||
| 3 | * auth.texi (GnuPG and EasyPG Assistant Configuration): Fix last | 311 | * auth.texi (GnuPG and EasyPG Assistant Configuration): Fix last |
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index d5afabd0374..deeafa2c1b2 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in | |||
| @@ -37,12 +37,12 @@ VPATH=@srcdir@ | |||
| 37 | ## Note that the setfilename command in the .texi files assumes this. | 37 | ## Note that the setfilename command in the .texi files assumes this. |
| 38 | infodir=../../info | 38 | infodir=../../info |
| 39 | ## Directory with emacsver.texi. | 39 | ## Directory with emacsver.texi. |
| 40 | ## Currently only used by efaq; could be added to MAKEINFO. | 40 | ## Currently only used by efaq and calc. |
| 41 | emacsdir = $(srcdir)/../emacs | 41 | emacsdir = $(srcdir)/../emacs |
| 42 | 42 | ||
| 43 | # The makeinfo program is part of the Texinfo distribution. | 43 | # The makeinfo program is part of the Texinfo distribution. |
| 44 | # Use --force so that it generates output even if there are errors. | 44 | # Use --force so that it generates output even if there are errors. |
| 45 | MAKEINFO = makeinfo --force | 45 | MAKEINFO = makeinfo --force -I$(emacsdir) |
| 46 | 46 | ||
| 47 | # Also add new entries to INFO_FILES in the top-level Makefile.in. | 47 | # Also add new entries to INFO_FILES in the top-level Makefile.in. |
| 48 | INFO_TARGETS = \ | 48 | INFO_TARGETS = \ |
| @@ -198,7 +198,7 @@ PDF_TARGETS = \ | |||
| 198 | TEXI2DVI = texi2dvi | 198 | TEXI2DVI = texi2dvi |
| 199 | TEXI2PDF = texi2pdf | 199 | TEXI2PDF = texi2pdf |
| 200 | 200 | ||
| 201 | ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" | 201 | ENVADD = TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" |
| 202 | 202 | ||
| 203 | mkinfodir = @cd ${srcdir}; test -d ${infodir} || mkdir ${infodir} || test -d ${infodir} | 203 | mkinfodir = @cd ${srcdir}; test -d ${infodir} || mkdir ${infodir} || test -d ${infodir} |
| 204 | 204 | ||
| @@ -244,12 +244,12 @@ autotype.pdf: ${srcdir}/autotype.texi | |||
| 244 | $(ENVADD) $(TEXI2PDF) $< | 244 | $(ENVADD) $(TEXI2PDF) $< |
| 245 | 245 | ||
| 246 | calc : $(infodir)/calc | 246 | calc : $(infodir)/calc |
| 247 | $(infodir)/calc: calc.texi | 247 | $(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi |
| 248 | $(mkinfodir) | 248 | $(mkinfodir) |
| 249 | cd $(srcdir); $(MAKEINFO) $< | 249 | cd $(srcdir); $(MAKEINFO) $< |
| 250 | calc.dvi: ${srcdir}/calc.texi | 250 | calc.dvi: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi |
| 251 | $(ENVADD) $(TEXI2DVI) $< | 251 | $(ENVADD) $(TEXI2DVI) $< |
| 252 | calc.pdf: ${srcdir}/calc.texi | 252 | calc.pdf: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi |
| 253 | $(ENVADD) $(TEXI2PDF) $< | 253 | $(ENVADD) $(TEXI2PDF) $< |
| 254 | 254 | ||
| 255 | ccmode : $(infodir)/ccmode | 255 | ccmode : $(infodir)/ccmode |
| @@ -381,7 +381,7 @@ eudc.pdf: ${srcdir}/eudc.texi | |||
| 381 | efaq : $(infodir)/efaq | 381 | efaq : $(infodir)/efaq |
| 382 | $(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi | 382 | $(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi |
| 383 | $(mkinfodir) | 383 | $(mkinfodir) |
| 384 | cd $(srcdir); $(MAKEINFO) -I $(emacsdir) $< | 384 | cd $(srcdir); $(MAKEINFO) $< |
| 385 | faq.dvi: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi | 385 | faq.dvi: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi |
| 386 | $(ENVADD) $(TEXI2DVI) $< | 386 | $(ENVADD) $(TEXI2DVI) $< |
| 387 | faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi | 387 | faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi |
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index f0b79e95dc8..58de84b8194 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi | |||
| @@ -7,6 +7,8 @@ | |||
| 7 | @setchapternewpage odd | 7 | @setchapternewpage odd |
| 8 | @comment %**end of header (This is for running Texinfo on a region.) | 8 | @comment %**end of header (This is for running Texinfo on a region.) |
| 9 | 9 | ||
| 10 | @include emacsver.texi | ||
| 11 | |||
| 10 | @c The following macros are used for conditional output for single lines. | 12 | @c The following macros are used for conditional output for single lines. |
| 11 | @c @texline foo | 13 | @c @texline foo |
| 12 | @c `foo' will appear only in TeX output | 14 | @c `foo' will appear only in TeX output |
| @@ -88,7 +90,8 @@ | |||
| 88 | This file documents Calc, the GNU Emacs calculator. | 90 | This file documents Calc, the GNU Emacs calculator. |
| 89 | @end ifinfo | 91 | @end ifinfo |
| 90 | @ifnotinfo | 92 | @ifnotinfo |
| 91 | This file documents Calc, the GNU Emacs calculator, included with GNU Emacs 23.1. | 93 | This file documents Calc, the GNU Emacs calculator, included with |
| 94 | GNU Emacs @value{EMACSVER}. | ||
| 92 | @end ifnotinfo | 95 | @end ifnotinfo |
| 93 | 96 | ||
| 94 | Copyright @copyright{} 1990, 1991, 2001, 2002, 2003, 2004, | 97 | Copyright @copyright{} 1990, 1991, 2001, 2002, 2003, 2004, |
| @@ -14119,6 +14122,10 @@ but | |||
| 14119 | @texline @math{\sin(2 + x)}. | 14122 | @texline @math{\sin(2 + x)}. |
| 14120 | @infoline @expr{sin(2 + x)}. | 14123 | @infoline @expr{sin(2 + x)}. |
| 14121 | 14124 | ||
| 14125 | The @TeX{} specific unit names (@pxref{Predefined Units}) will not use | ||
| 14126 | the @samp{tex} prefix; the unit name for a @TeX{} point will be | ||
| 14127 | @samp{pt} instead of @samp{texpt}, for example. | ||
| 14128 | |||
| 14122 | Function and variable names not treated specially by @TeX{} and La@TeX{} | 14129 | Function and variable names not treated specially by @TeX{} and La@TeX{} |
| 14123 | are simply written out as-is, which will cause them to come out in | 14130 | are simply written out as-is, which will cause them to come out in |
| 14124 | italic letters in the printed document. If you invoke @kbd{d T} or | 14131 | italic letters in the printed document. If you invoke @kbd{d T} or |
| @@ -27987,6 +27994,14 @@ than the point used by @TeX{}), @code{texdd} (a Didot point), | |||
| 27987 | @code{texcc} (a Cicero) and @code{texsp} (a scaled @TeX{} point, | 27994 | @code{texcc} (a Cicero) and @code{texsp} (a scaled @TeX{} point, |
| 27988 | all dimensions representable in @TeX{} are multiples of this value). | 27995 | all dimensions representable in @TeX{} are multiples of this value). |
| 27989 | 27996 | ||
| 27997 | When Calc is using the @TeX{} or La@TeX{} language mode (@pxref{TeX | ||
| 27998 | and LaTeX Language Modes}), the @TeX{} specific unit names will not | ||
| 27999 | use the @samp{tex} prefix; the unit name for a @TeX{} point will be | ||
| 28000 | @samp{pt} instead of @samp{texpt}, for example. To avoid conflicts, | ||
| 28001 | the unit names for pint and parsec will simply be @samp{pint} and | ||
| 28002 | @samp{parsec} instead of @samp{pt} and @samp{pc}. | ||
| 28003 | |||
| 28004 | |||
| 27990 | The unit @code{e} stands for the elementary (electron) unit of charge; | 28005 | The unit @code{e} stands for the elementary (electron) unit of charge; |
| 27991 | because algebra command could mistake this for the special constant | 28006 | because algebra command could mistake this for the special constant |
| 27992 | @expr{e}, Calc provides the alternate unit name @code{ech} which is | 28007 | @expr{e}, Calc provides the alternate unit name @code{ech} which is |
| @@ -36582,7 +36597,3 @@ the corresponding full Lisp name is derived by adding a prefix of | |||
| 36582 | 36597 | ||
| 36583 | @bye | 36598 | @bye |
| 36584 | 36599 | ||
| 36585 | |||
| 36586 | @ignore | ||
| 36587 | arch-tag: 77a71809-fa4d-40be-b2cc-da3e8fb137c0 | ||
| 36588 | @end ignore | ||
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index 73ee0e107d3..da8e7082909 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi | |||
| @@ -160,7 +160,8 @@ CC Mode | |||
| 160 | This manual is for CC Mode in Emacs. | 160 | This manual is for CC Mode in Emacs. |
| 161 | 161 | ||
| 162 | Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | 162 | Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, |
| 163 | 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 163 | 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 164 | Free Software Foundation, Inc. | ||
| 164 | 165 | ||
| 165 | @quotation | 166 | @quotation |
| 166 | Permission is granted to copy, distribute and/or modify this document | 167 | Permission is granted to copy, distribute and/or modify this document |
| @@ -201,9 +202,8 @@ developing GNU and promoting software freedom.'' | |||
| 201 | @vskip 0pt plus 1filll | 202 | @vskip 0pt plus 1filll |
| 202 | @insertcopying | 203 | @insertcopying |
| 203 | 204 | ||
| 204 | This manual was generated from cc-mode.texi, which can be downloaded | 205 | This manual was generated from cc-mode.texi, which is distributed with Emacs, |
| 205 | from | 206 | or can be downloaded from @url{http://savannah.gnu.org/projects/emacs/}. |
| 206 | @url{http://cvs.savannah.gnu.org/viewcvs/emacs/emacs/doc/misc/cc-mode.texi}. | ||
| 207 | @end titlepage | 207 | @end titlepage |
| 208 | 208 | ||
| 209 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 209 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| @@ -7015,6 +7015,3 @@ Since most @ccmode{} variables are prepended with the string | |||
| 7015 | 7015 | ||
| 7016 | @bye | 7016 | @bye |
| 7017 | 7017 | ||
| 7018 | @ignore | ||
| 7019 | arch-tag: c4cab162-5e57-4366-bdce-4a9db2fc97f0 | ||
| 7020 | @end ignore | ||
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index f4f96d55391..6f6a897e6dc 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi | |||
| @@ -890,7 +890,8 @@ symbol can be preceeded to the corresponding Lisp object. Basic D-Bus | |||
| 890 | types are represented by the type symbols @code{:byte}, | 890 | types are represented by the type symbols @code{:byte}, |
| 891 | @code{:boolean}, @code{:int16}, @code{:uint16}, @code{:int32}, | 891 | @code{:boolean}, @code{:int16}, @code{:uint16}, @code{:int32}, |
| 892 | @code{:uint32}, @code{:int64}, @code{:uint64}, @code{:double}, | 892 | @code{:uint32}, @code{:int64}, @code{:uint64}, @code{:double}, |
| 893 | @code{:string}, @code{:object-path} and @code{:signature}. | 893 | @code{:string}, @code{:object-path}, @code{:signature} and |
| 894 | @code{:unix-fd}. | ||
| 894 | 895 | ||
| 895 | @noindent | 896 | @noindent |
| 896 | Example: | 897 | Example: |
| @@ -1009,6 +1010,7 @@ objects. | |||
| 1009 | @item DBUS_TYPE_UINT16 @tab @expansion{} @tab natural number | 1010 | @item DBUS_TYPE_UINT16 @tab @expansion{} @tab natural number |
| 1010 | @item DBUS_TYPE_INT16 @tab @expansion{} @tab integer | 1011 | @item DBUS_TYPE_INT16 @tab @expansion{} @tab integer |
| 1011 | @item DBUS_TYPE_UINT32 @tab @expansion{} @tab natural number or float | 1012 | @item DBUS_TYPE_UINT32 @tab @expansion{} @tab natural number or float |
| 1013 | @item DBUS_TYPE_UNIX_FD @tab @expansion{} @tab natural number or float | ||
| 1012 | @item DBUS_TYPE_INT32 @tab @expansion{} @tab integer or float | 1014 | @item DBUS_TYPE_INT32 @tab @expansion{} @tab integer or float |
| 1013 | @item DBUS_TYPE_UINT64 @tab @expansion{} @tab natural number or float | 1015 | @item DBUS_TYPE_UINT64 @tab @expansion{} @tab natural number or float |
| 1014 | @item DBUS_TYPE_INT64 @tab @expansion{} @tab integer or float | 1016 | @item DBUS_TYPE_INT64 @tab @expansion{} @tab integer or float |
| @@ -1024,9 +1026,9 @@ objects. | |||
| 1024 | @end example | 1026 | @end example |
| 1025 | 1027 | ||
| 1026 | A float object in case of @code{DBUS_TYPE_UINT32}, | 1028 | A float object in case of @code{DBUS_TYPE_UINT32}, |
| 1027 | @code{DBUS_TYPE_INT32}, @code{DBUS_TYPE_UINT64} and | 1029 | @code{DBUS_TYPE_INT32}, @code{DBUS_TYPE_UINT64}, |
| 1028 | @code{DBUS_TYPE_INT6432} is returned, when the C value exceeds the | 1030 | @code{DBUS_TYPE_INT64} and @code{DBUS_TYPE_UNIX_FD} is returned, when |
| 1029 | Emacs number size range. | 1031 | the C value exceeds the Emacs number size range. |
| 1030 | 1032 | ||
| 1031 | The resulting list of the last 4 D-Bus compound types contains as | 1033 | The resulting list of the last 4 D-Bus compound types contains as |
| 1032 | elements the elements of the D-Bus container, mapped according to the | 1034 | elements the elements of the D-Bus container, mapped according to the |
diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index 4259fccb390..c2897e185bf 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi | |||
| @@ -759,7 +759,7 @@ Displays a list of currently active Ediff sessions---the Ediff Registry. | |||
| 759 | You can then restart any of these sessions by either clicking on a session | 759 | You can then restart any of these sessions by either clicking on a session |
| 760 | record or by putting the cursor over it and then typing the return key. | 760 | record or by putting the cursor over it and then typing the return key. |
| 761 | 761 | ||
| 762 | (Some poor souls leave so many active Ediff sessions around that they loose | 762 | (Some poor souls leave so many active Ediff sessions around that they lose |
| 763 | track of them completely... The `R' command is designed to save these | 763 | track of them completely... The `R' command is designed to save these |
| 764 | people from the recently discovered Ediff Proficiency Syndrome.) | 764 | people from the recently discovered Ediff Proficiency Syndrome.) |
| 765 | 765 | ||
| @@ -2315,7 +2315,7 @@ other behavior. | |||
| 2315 | 2315 | ||
| 2316 | However, Ediff temporarily resets this variable to @code{t} if it is | 2316 | However, Ediff temporarily resets this variable to @code{t} if it is |
| 2317 | invoked via one of the "buffer" jobs, such as @code{ediff-buffers}. | 2317 | invoked via one of the "buffer" jobs, such as @code{ediff-buffers}. |
| 2318 | This is because it is all too easy to loose day's work otherwise. | 2318 | This is because it is all too easy to lose a day's work otherwise. |
| 2319 | Besides, in a "buffer" job, the variant buffers have already been loaded | 2319 | Besides, in a "buffer" job, the variant buffers have already been loaded |
| 2320 | prior to starting Ediff, so Ediff just preserves status quo here. | 2320 | prior to starting Ediff, so Ediff just preserves status quo here. |
| 2321 | 2321 | ||
| @@ -2542,6 +2542,3 @@ Eli Zaretskii (eliz at is.elta.co.il) | |||
| 2542 | 2542 | ||
| 2543 | @bye | 2543 | @bye |
| 2544 | 2544 | ||
| 2545 | @ignore | ||
| 2546 | arch-tag: 165ecb88-d03c-44b1-a921-b93f50b05b46 | ||
| 2547 | @end ignore | ||
diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi index d394137d76b..f3d0eacc0f3 100644 --- a/doc/misc/edt.texi +++ b/doc/misc/edt.texi | |||
| @@ -63,8 +63,8 @@ of DEC's EDT editor. | |||
| 63 | @node Overview | 63 | @node Overview |
| 64 | @chapter Overview of the EDT Package | 64 | @chapter Overview of the EDT Package |
| 65 | 65 | ||
| 66 | This manual describes version 4.0 of the EDT Emulation for Emacs 19 and | 66 | This manual describes version 4.0 of the EDT Emulation for Emacs. |
| 67 | above. It comes with special functions which replicate nearly all of | 67 | It comes with special functions which replicate nearly all of |
| 68 | EDT's keypad mode behavior. It sets up default keypad and function key | 68 | EDT's keypad mode behavior. It sets up default keypad and function key |
| 69 | bindings which closely match those found in EDT. Support is provided so | 69 | bindings which closely match those found in EDT. Support is provided so |
| 70 | that users may reconfigure most keypad and function key bindings to | 70 | that users may reconfigure most keypad and function key bindings to |
| @@ -152,9 +152,8 @@ You can also invoke @code{edt-set-scroll-margins} interactively while | |||
| 152 | EDT Emulation is active to change the settings for that session. | 152 | EDT Emulation is active to change the settings for that session. |
| 153 | 153 | ||
| 154 | @strong{Please note:} Another way to set the scroll margins is to use | 154 | @strong{Please note:} Another way to set the scroll margins is to use |
| 155 | the Emacs customization feature (not available in Emacs 19) to set the | 155 | the Emacs customization feature to set the following two variables |
| 156 | following two variables directly: @code{edt-top-scroll-margin} and | 156 | directly: @code{edt-top-scroll-margin} and @code{edt-bottom-scroll-margin}. |
| 157 | @code{edt-bottom-scroll-margin}. | ||
| 158 | 157 | ||
| 159 | Enter the Emacs @code{customize} command. First select the | 158 | Enter the Emacs @code{customize} command. First select the |
| 160 | @samp{Editing} group and then select the @samp{Emulations} group. | 159 | @samp{Editing} group and then select the @samp{Emulations} group. |
| @@ -239,8 +238,7 @@ Provide an easy way to restore @strong{all} original Emacs key bindings, | |||
| 239 | just as they existed before the EDT emulation was first invoked. | 238 | just as they existed before the EDT emulation was first invoked. |
| 240 | 239 | ||
| 241 | @item | 240 | @item |
| 242 | Support GNU Emacs 19 and higher. (GNU Emacs 18 and below is no longer | 241 | Support GNU Emacs 19 and higher. XEmacs 19, and above, is also supported. |
| 243 | supported.) XEmacs 19, and above, is also supported. | ||
| 244 | 242 | ||
| 245 | @item | 243 | @item |
| 246 | Supports highlighting of marked text within the EDT emulation on all | 244 | Supports highlighting of marked text within the EDT emulation on all |
| @@ -933,9 +931,8 @@ You can also invoke @code{edt-set-scroll-margins} interactively while | |||
| 933 | EDT Emulation is active to change the settings for that session. | 931 | EDT Emulation is active to change the settings for that session. |
| 934 | 932 | ||
| 935 | @strong{Please note:} Another way to set the scroll margins is to use | 933 | @strong{Please note:} Another way to set the scroll margins is to use |
| 936 | the Emacs customization feature (not available in Emacs 19) to set the | 934 | the Emacs customization feature to set the following two variables |
| 937 | following two variables directly: @code{edt-top-scroll-margin} and | 935 | directly: @code{edt-top-scroll-margin} and @code{edt-bottom-scroll-margin}. |
| 938 | @code{edt-bottom-scroll-margin}. | ||
| 939 | 936 | ||
| 940 | Enter the Emacs @code{customize} command. First select the | 937 | Enter the Emacs @code{customize} command. First select the |
| 941 | @samp{Editing} group and then select the @samp{Emulations} group. | 938 | @samp{Editing} group and then select the @samp{Emulations} group. |
| @@ -946,7 +943,3 @@ Finally, select the @samp{Edt} group and follow the directions. | |||
| 946 | @include doclicense.texi | 943 | @include doclicense.texi |
| 947 | 944 | ||
| 948 | @bye | 945 | @bye |
| 949 | |||
| 950 | @ignore | ||
| 951 | arch-tag: 1b7ebe01-754b-4834-a12b-f152ef7db9e0 | ||
| 952 | @end ignore | ||
diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index 475ce2bb53f..9511f6d10c0 100644 --- a/doc/misc/emacs-mime.texi +++ b/doc/misc/emacs-mime.texi | |||
| @@ -1040,6 +1040,10 @@ flowed text, the default is to wrap after 66 characters. If hard | |||
| 1040 | newline characters are not present in the buffer, no flow encoding | 1040 | newline characters are not present in the buffer, no flow encoding |
| 1041 | occurs. | 1041 | occurs. |
| 1042 | 1042 | ||
| 1043 | You can customize the value of the @code{mml-enable-flowed} variable | ||
| 1044 | to enable or disable the flowed encoding usage when newline | ||
| 1045 | characteres are present in the buffer. | ||
| 1046 | |||
| 1043 | On decoding flowed text, lines with soft newline characters are filled | 1047 | On decoding flowed text, lines with soft newline characters are filled |
| 1044 | together and wrapped after the column decided by | 1048 | together and wrapped after the column decided by |
| 1045 | @code{fill-flowed-display-column}. The default is to wrap after | 1049 | @code{fill-flowed-display-column}. The default is to wrap after |
diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index 32bf9e7fe1d..7afe9c0c9b8 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi | |||
| @@ -306,14 +306,14 @@ Encrypt marked files. | |||
| 306 | @section Mail-mode integration | 306 | @section Mail-mode integration |
| 307 | 307 | ||
| 308 | EasyPG Assistant provides a minor mode @code{epa-mail-mode} to help | 308 | EasyPG Assistant provides a minor mode @code{epa-mail-mode} to help |
| 309 | user compose inline PGP messages. Inline PGP is a traditional style | 309 | user compose inline OpenPGP messages. Inline OpenPGP is a traditional |
| 310 | of sending signed/encrypted emails by embedding raw OpenPGP blobs | 310 | style of sending signed/encrypted emails by embedding raw OpenPGP |
| 311 | inside a message body, not using modern MIME format. | 311 | blobs inside a message body, not using modern MIME format. |
| 312 | 312 | ||
| 313 | NOTE: Inline PGP is not recommended and you should consider to use | 313 | NOTE: Inline OpenPGP is not recommended and you should consider to use |
| 314 | PGP/MIME. See | 314 | PGP/MIME. See |
| 315 | @uref{http://josefsson.org/inline-openpgp-considered-harmful.html, | 315 | @uref{http://josefsson.org/inline-openpgp-considered-harmful.html, |
| 316 | Inline PGP in E-mail is bad, Mm'kay?}. | 316 | Inline OpenPGP in E-mail is bad@comma{} Mm'kay?}. |
| 317 | 317 | ||
| 318 | @noindent | 318 | @noindent |
| 319 | Once @code{epa-mail-mode} is enabled, the following keys are assigned. | 319 | Once @code{epa-mail-mode} is enabled, the following keys are assigned. |
| @@ -321,22 +321,26 @@ You can do it by @kbd{C-u 1 M-x epa-mail-mode} or through the Customize | |||
| 321 | interface. Try @kbd{M-x customize-variable epa-global-mail-mode}. | 321 | interface. Try @kbd{M-x customize-variable epa-global-mail-mode}. |
| 322 | 322 | ||
| 323 | @table @kbd | 323 | @table @kbd |
| 324 | @item C-c C-e d | 324 | @item C-c C-e C-d and C-c C-e d |
| 325 | @kindex @kbd{C-c C-e C-d} | ||
| 325 | @kindex @kbd{C-c C-e d} | 326 | @kindex @kbd{C-c C-e d} |
| 326 | @findex epa-mail-decrypt | 327 | @findex epa-mail-decrypt |
| 327 | Decrypt OpenPGP armors in the current buffer. | 328 | Decrypt OpenPGP armors in the current buffer. |
| 328 | 329 | ||
| 329 | @item C-c C-e v | 330 | @item C-c C-e C-v and C-c C-e v |
| 331 | @kindex @kbd{C-c C-e C-v} | ||
| 330 | @kindex @kbd{C-c C-e v} | 332 | @kindex @kbd{C-c C-e v} |
| 331 | @findex epa-mail-verify | 333 | @findex epa-mail-verify |
| 332 | Verify OpenPGP cleartext signed messages in the current buffer. | 334 | Verify OpenPGP cleartext signed messages in the current buffer. |
| 333 | 335 | ||
| 334 | @item C-c C-e s | 336 | @item C-c C-e C-s and C-c C-e s |
| 337 | @kindex @kbd{C-c C-e C-s} | ||
| 335 | @kindex @kbd{C-c C-e s} | 338 | @kindex @kbd{C-c C-e s} |
| 336 | @findex epa-mail-sign | 339 | @findex epa-mail-sign |
| 337 | Compose a signed message from the current buffer. | 340 | Compose a signed message from the current buffer. |
| 338 | 341 | ||
| 339 | @item C-c C-e e | 342 | @item C-c C-e C-e and C-c C-e e |
| 343 | @kindex @kbd{C-c C-e C-e} | ||
| 340 | @kindex @kbd{C-c C-e e} | 344 | @kindex @kbd{C-c C-e e} |
| 341 | @findex epa-mail-encrypt | 345 | @findex epa-mail-encrypt |
| 342 | Compose an encrypted message from the current buffer. | 346 | Compose an encrypted message from the current buffer. |
diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi index 22b74c900b0..f513bc15a24 100644 --- a/doc/misc/gnus-coding.texi +++ b/doc/misc/gnus-coding.texi | |||
| @@ -288,14 +288,21 @@ Emacs repository might have been lost. | |||
| 288 | 288 | ||
| 289 | With the inclusion of Gnus 5.10, Miles Bader has set up an Emacs-Gnus | 289 | With the inclusion of Gnus 5.10, Miles Bader has set up an Emacs-Gnus |
| 290 | gateway to ensure the bug fixes from Emacs CVS are propagated to Gnus | 290 | gateway to ensure the bug fixes from Emacs CVS are propagated to Gnus |
| 291 | CVS semi-automatically. These bug fixes are installed on the stable | 291 | CVS semi-automatically. |
| 292 | branch and on the trunk. Basically the idea is that the gateway will | 292 | |
| 293 | cause all common files in Emacs and Gnus v5-10 to be identical except | 293 | After Emacs moved to bzr and Gnus moved to git, Katsumi Yamaoka has |
| 294 | when there's a very good reason (e.g., the Gnus version string in Emacs | 294 | taken over the chore of keeping Emacs and Gnus in sync. In general, |
| 295 | says @samp{5.11}, but the v5-10 version string remains @samp{5.10.x}). | 295 | changes made to one repository will usually be replicated in the other |
| 296 | Furthermore, all changes in these files in either Emacs or the v5-10 | 296 | within a few days. |
| 297 | branch will be installed into the Gnus CVS trunk, again except where | 297 | |
| 298 | there's a good reason. | 298 | Basically the idea is that the gateway will cause all common files in |
| 299 | Emacs and Gnus v5-13 to be identical except when there's a very good | ||
| 300 | reason (e.g., the Gnus version string in Emacs says @samp{5.11}, but | ||
| 301 | the v5-13 version string remains @samp{5.13.x}). Furthermore, all | ||
| 302 | changes in these files in either Emacs or the v5-13 branch will be | ||
| 303 | installed into the Gnus git trunk, again except where there's a good | ||
| 304 | reason. | ||
| 305 | |||
| 299 | @c (typically so far the only exception has been that the changes | 306 | @c (typically so far the only exception has been that the changes |
| 300 | @c already exist in the trunk in modified form). | 307 | @c already exist in the trunk in modified form). |
| 301 | Because of this, when the next major version of Gnus will be included in | 308 | Because of this, when the next major version of Gnus will be included in |
| @@ -311,9 +318,9 @@ If it's a file which is thought of as being outside of Gnus (e.g., the | |||
| 311 | new @file{encrypt.el}), you should probably make the change in the Emacs | 318 | new @file{encrypt.el}), you should probably make the change in the Emacs |
| 312 | tree, and it will show up in the Gnus tree a few days later. | 319 | tree, and it will show up in the Gnus tree a few days later. |
| 313 | 320 | ||
| 314 | If you don't have Emacs CVS access (or it's inconvenient), you can | 321 | If you don't have Emacs bzr access (or it's inconvenient), you can |
| 315 | change such a file in the v5-10 branch, and it should propagate to Emacs | 322 | change such a file in the v5-10 branch, and it should propagate to Emacs |
| 316 | CVS -- however, it will get some extra scrutiny (by Miles) to see if the | 323 | bzr -- however, it will get some extra scrutiny (by Miles) to see if the |
| 317 | changes are possibly controversial and need discussion on the mailing | 324 | changes are possibly controversial and need discussion on the mailing |
| 318 | list. Many changes are obvious bug-fixes however, so often there won't | 325 | list. Many changes are obvious bug-fixes however, so often there won't |
| 319 | be any problem. | 326 | be any problem. |
| @@ -321,12 +328,12 @@ be any problem. | |||
| 321 | @item | 328 | @item |
| 322 | If it's to a Gnus file, and it's important enough that it should be part | 329 | If it's to a Gnus file, and it's important enough that it should be part |
| 323 | of Emacs and the v5-10 branch, then you can make the change on the v5-10 | 330 | of Emacs and the v5-10 branch, then you can make the change on the v5-10 |
| 324 | branch, and it will go into Emacs CVS and the Gnus CVS trunk (a few days | 331 | branch, and it will go into Emacs bzr and the Gnus git trunk (a few days |
| 325 | later). The most prominent examples for such changes are bug-fixed | 332 | later). The most prominent examples for such changes are bug-fixed |
| 326 | including improvements on the documentation. | 333 | including improvements on the documentation. |
| 327 | 334 | ||
| 328 | If you know that there will be conflicts (perhaps because the affected | 335 | If you know that there will be conflicts (perhaps because the affected |
| 329 | source code is different in v5-10 and the Gnus CVS trunk), then you can | 336 | source code is different in v5-10 and the Gnus git trunk), then you can |
| 330 | install your change in both places, and when I try to sync them, there | 337 | install your change in both places, and when I try to sync them, there |
| 331 | will be a conflict -- however, since in most such cases there would be a | 338 | will be a conflict -- however, since in most such cases there would be a |
| 332 | conflict @emph{anyway}, it's often easier for me to resolve it simply if | 339 | conflict @emph{anyway}, it's often easier for me to resolve it simply if |
| @@ -338,9 +345,6 @@ For general Gnus development changes, of course you just make the | |||
| 338 | change on the Gnus Git trunk and it goes into Emacs a few years | 345 | change on the Gnus Git trunk and it goes into Emacs a few years |
| 339 | later... :-) | 346 | later... :-) |
| 340 | 347 | ||
| 341 | With the new Git repository, we'll probably set up something to | ||
| 342 | automatically synchronize with Emacs when possible. CVS was much less | ||
| 343 | powerful for this kind of synchronization. | ||
| 344 | @end itemize | 348 | @end itemize |
| 345 | 349 | ||
| 346 | Of course in any case, if you just can't wait for me to sync your | 350 | Of course in any case, if you just can't wait for me to sync your |
diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi index 1136d52e51d..6037a979acb 100644 --- a/doc/misc/gnus-news.texi +++ b/doc/misc/gnus-news.texi | |||
| @@ -124,6 +124,9 @@ Customization}. | |||
| 124 | 124 | ||
| 125 | @itemize @bullet | 125 | @itemize @bullet |
| 126 | 126 | ||
| 127 | @item There's now only one variable that determines how @acronym{HTML} | ||
| 128 | is rendered: @code{mm-text-html-renderer}. | ||
| 129 | |||
| 127 | @item Gnus now supports sticky article buffers. Those are article buffers | 130 | @item Gnus now supports sticky article buffers. Those are article buffers |
| 128 | that are not reused when you select another article. @xref{Sticky | 131 | that are not reused when you select another article. @xref{Sticky |
| 129 | Articles}. | 132 | Articles}. |
| @@ -221,6 +224,9 @@ that are accessible from the article buffer. | |||
| 221 | @item Changes in Message mode | 224 | @item Changes in Message mode |
| 222 | 225 | ||
| 223 | @itemize @bullet | 226 | @itemize @bullet |
| 227 | @item Gnus now defaults to saving all outgoing messages in per-month | ||
| 228 | nnfolder archives. | ||
| 229 | |||
| 224 | @item Gnus now supports the ``hashcash'' client puzzle anti-spam mechanism. | 230 | @item Gnus now supports the ``hashcash'' client puzzle anti-spam mechanism. |
| 225 | Use @code{(setq message-generate-hashcash t)} to enable. | 231 | Use @code{(setq message-generate-hashcash t)} to enable. |
| 226 | @xref{Hashcash}. | 232 | @xref{Hashcash}. |
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 1a1f0d48eb9..2df6d90cc07 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -1020,22 +1020,6 @@ Gnus will see whether @code{gnus-nntpserver-file} | |||
| 1020 | If that fails as well, Gnus will try to use the machine running Emacs | 1020 | If that fails as well, Gnus will try to use the machine running Emacs |
| 1021 | as an @acronym{NNTP} server. That's a long shot, though. | 1021 | as an @acronym{NNTP} server. That's a long shot, though. |
| 1022 | 1022 | ||
| 1023 | @vindex gnus-nntp-server | ||
| 1024 | If @code{gnus-nntp-server} is set, this variable will override | ||
| 1025 | @code{gnus-select-method}. You should therefore set | ||
| 1026 | @code{gnus-nntp-server} to @code{nil}, which is what it is by default. | ||
| 1027 | |||
| 1028 | @vindex gnus-secondary-servers | ||
| 1029 | @vindex gnus-nntp-server | ||
| 1030 | You can also make Gnus prompt you interactively for the name of an | ||
| 1031 | @acronym{NNTP} server. If you give a non-numerical prefix to @code{gnus} | ||
| 1032 | (i.e., @kbd{C-u M-x gnus}), Gnus will let you choose between the servers | ||
| 1033 | in the @code{gnus-secondary-servers} list (if any). You can also just | ||
| 1034 | type in the name of any server you feel like visiting. (Note that this | ||
| 1035 | will set @code{gnus-nntp-server}, which means that if you then @kbd{M-x | ||
| 1036 | gnus} later in the same Emacs session, Gnus will contact the same | ||
| 1037 | server.) | ||
| 1038 | |||
| 1039 | @findex gnus-group-browse-foreign-server | 1023 | @findex gnus-group-browse-foreign-server |
| 1040 | @kindex B (Group) | 1024 | @kindex B (Group) |
| 1041 | However, if you use one @acronym{NNTP} server regularly and are just | 1025 | However, if you use one @acronym{NNTP} server regularly and are just |
| @@ -2211,6 +2195,12 @@ selected. | |||
| 2211 | @section Subscription Commands | 2195 | @section Subscription Commands |
| 2212 | @cindex subscription | 2196 | @cindex subscription |
| 2213 | 2197 | ||
| 2198 | The following commands allow for managing your subscriptions in the | ||
| 2199 | Group buffer. If you want to subscribe to many groups, it's probably | ||
| 2200 | more convenient to go to the @ref{Server Buffer}, and choose the | ||
| 2201 | server there using @kbd{RET} or @kbd{SPC}. Then you'll have the | ||
| 2202 | commands listed in @ref{Browse Foreign Server} at hand. | ||
| 2203 | |||
| 2214 | @table @kbd | 2204 | @table @kbd |
| 2215 | 2205 | ||
| 2216 | @item S t | 2206 | @item S t |
| @@ -2409,6 +2399,9 @@ one with the best level. | |||
| 2409 | All groups with a level less than or equal to | 2399 | All groups with a level less than or equal to |
| 2410 | @code{gnus-group-default-list-level} will be listed in the group buffer | 2400 | @code{gnus-group-default-list-level} will be listed in the group buffer |
| 2411 | by default. | 2401 | by default. |
| 2402 | This variable can also be a function. In that case, that function will | ||
| 2403 | be called and the result will be used as value. | ||
| 2404 | |||
| 2412 | 2405 | ||
| 2413 | @vindex gnus-group-list-inactive-groups | 2406 | @vindex gnus-group-list-inactive-groups |
| 2414 | If @code{gnus-group-list-inactive-groups} is non-@code{nil}, non-active | 2407 | If @code{gnus-group-list-inactive-groups} is non-@code{nil}, non-active |
| @@ -3085,8 +3078,8 @@ The Sieve language is described in RFC 3028. @xref{Top, Emacs Sieve, | |||
| 3085 | Top, sieve, Emacs Sieve}. | 3078 | Top, sieve, Emacs Sieve}. |
| 3086 | 3079 | ||
| 3087 | @item (agent parameters) | 3080 | @item (agent parameters) |
| 3088 | If the agent has been enabled, you can set any of the its parameters | 3081 | If the agent has been enabled, you can set any of its parameters to |
| 3089 | to control the behavior of the agent in individual groups. See Agent | 3082 | control the behavior of the agent in individual groups. See Agent |
| 3090 | Parameters in @ref{Category Syntax}. Most users will choose to set | 3083 | Parameters in @ref{Category Syntax}. Most users will choose to set |
| 3091 | agent parameters in either an agent category or group topic to | 3084 | agent parameters in either an agent category or group topic to |
| 3092 | minimize the configuration effort. | 3085 | minimize the configuration effort. |
| @@ -4563,7 +4556,7 @@ However, you can also create e.g. a new @code{nnmaildir} or @code{nnml} | |||
| 4563 | server exclusively for @code{nnmairix} in your secondary select methods | 4556 | server exclusively for @code{nnmairix} in your secondary select methods |
| 4564 | (@pxref{Finding the News}). If you use a secondary @code{nnml} server | 4557 | (@pxref{Finding the News}). If you use a secondary @code{nnml} server |
| 4565 | just for mairix, make sure that you explicitly set the server variable | 4558 | just for mairix, make sure that you explicitly set the server variable |
| 4566 | @code{nnml-get-new-mail} to @code{nil}, or you might loose mail | 4559 | @code{nnml-get-new-mail} to @code{nil}, or you might lose mail |
| 4567 | (@pxref{nnmairix caveats}). If you want to use mairix remotely on an | 4560 | (@pxref{nnmairix caveats}). If you want to use mairix remotely on an |
| 4568 | @acronym{IMAP} server, you have to choose the corresponding | 4561 | @acronym{IMAP} server, you have to choose the corresponding |
| 4569 | @code{nnimap} server here. | 4562 | @code{nnimap} server here. |
| @@ -5195,24 +5188,6 @@ used for fetching the file. | |||
| 5195 | If fetching from the first site is unsuccessful, Gnus will attempt to go | 5188 | If fetching from the first site is unsuccessful, Gnus will attempt to go |
| 5196 | through @code{gnus-group-faq-directory} and try to open them one by one. | 5189 | through @code{gnus-group-faq-directory} and try to open them one by one. |
| 5197 | 5190 | ||
| 5198 | @item H C | ||
| 5199 | @kindex H C (Group) | ||
| 5200 | @findex gnus-group-fetch-control | ||
| 5201 | @vindex gnus-group-fetch-control-use-browse-url | ||
| 5202 | @cindex control message | ||
| 5203 | Fetch the control messages for the group from the archive at | ||
| 5204 | @code{ftp.isc.org} (@code{gnus-group-fetch-control}). Query for a | ||
| 5205 | group if given a prefix argument. | ||
| 5206 | |||
| 5207 | If @code{gnus-group-fetch-control-use-browse-url} is non-@code{nil}, | ||
| 5208 | Gnus will open the control messages in a browser using | ||
| 5209 | @code{browse-url}. Otherwise they are fetched using @code{ange-ftp} | ||
| 5210 | and displayed in an ephemeral group. | ||
| 5211 | |||
| 5212 | Note that the control messages are compressed. To use this command | ||
| 5213 | you need to turn on @code{auto-compression-mode} (@pxref{Compressed | ||
| 5214 | Files, ,Compressed Files, emacs, The Emacs Manual}). | ||
| 5215 | |||
| 5216 | @item H d | 5191 | @item H d |
| 5217 | @itemx C-c C-d | 5192 | @itemx C-c C-d |
| 5218 | @c @icon{gnus-group-describe-group} | 5193 | @c @icon{gnus-group-describe-group} |
| @@ -6177,9 +6152,10 @@ Scroll the current article one line backward | |||
| 6177 | @findex gnus-summary-show-article | 6152 | @findex gnus-summary-show-article |
| 6178 | @vindex gnus-summary-show-article-charset-alist | 6153 | @vindex gnus-summary-show-article-charset-alist |
| 6179 | (Re)fetch the current article (@code{gnus-summary-show-article}). If | 6154 | (Re)fetch the current article (@code{gnus-summary-show-article}). If |
| 6180 | given a prefix, fetch the current article, but don't run any of the | 6155 | given a prefix, show a completely ``raw'' article, just the way it |
| 6181 | article treatment functions. This will give you a ``raw'' article, just | 6156 | came from the server. If given a prefix twice (i.e., @kbd{C-u C-u |
| 6182 | the way it came from the server. | 6157 | g'}), fetch the current article, but don't run any of the article |
| 6158 | treatment functions. | ||
| 6183 | 6159 | ||
| 6184 | @cindex charset, view article with different charset | 6160 | @cindex charset, view article with different charset |
| 6185 | If given a numerical prefix, you can do semi-manual charset stuff. | 6161 | If given a numerical prefix, you can do semi-manual charset stuff. |
| @@ -9688,6 +9664,17 @@ an attempt to provide more quoting characters. If you see something | |||
| 9688 | like @code{\222} or @code{\264} where you're expecting some kind of | 9664 | like @code{\222} or @code{\264} where you're expecting some kind of |
| 9689 | apostrophe or quotation mark, then try this wash. | 9665 | apostrophe or quotation mark, then try this wash. |
| 9690 | 9666 | ||
| 9667 | @item W U | ||
| 9668 | @kindex W U (Summary) | ||
| 9669 | @findex gnus-article-treat-non-ascii | ||
| 9670 | @cindex Unicode | ||
| 9671 | @cindex Non-@acronym{ASCII} | ||
| 9672 | Translate many non-@acronym{ASCII} characters into their | ||
| 9673 | @acronym{ASCII} equivalents (@code{gnus-article-treat-non-ascii}). | ||
| 9674 | This is mostly useful if you're on a terminal that has a limited font | ||
| 9675 | and does't show accented characters, ``advanced'' punctuation, and the | ||
| 9676 | like. For instance, @samp{»} is tranlated into @samp{>>}, and so on. | ||
| 9677 | |||
| 9691 | @item W Y f | 9678 | @item W Y f |
| 9692 | @kindex W Y f (Summary) | 9679 | @kindex W Y f (Summary) |
| 9693 | @findex gnus-article-outlook-deuglify-article | 9680 | @findex gnus-article-outlook-deuglify-article |
| @@ -9803,19 +9790,16 @@ If a prefix is given, a charset will be asked for. If it is a number, | |||
| 9803 | the charset defined in @code{gnus-summary-show-article-charset-alist} | 9790 | the charset defined in @code{gnus-summary-show-article-charset-alist} |
| 9804 | (@pxref{Paging the Article}) will be used. | 9791 | (@pxref{Paging the Article}) will be used. |
| 9805 | 9792 | ||
| 9806 | @vindex gnus-article-wash-function | ||
| 9807 | The default is to use the function specified by | 9793 | The default is to use the function specified by |
| 9808 | @code{mm-text-html-renderer} (@pxref{Display Customization, ,Display | 9794 | @code{mm-text-html-renderer} (@pxref{Display Customization, ,Display |
| 9809 | Customization, emacs-mime, The Emacs MIME Manual}) to convert the | 9795 | Customization, emacs-mime, The Emacs MIME Manual}) to convert the |
| 9810 | @acronym{HTML}, but this is controlled by the | 9796 | @acronym{HTML}. Pre-defined functions you can use include: |
| 9811 | @code{gnus-article-wash-function} variable. Pre-defined functions you | ||
| 9812 | can use include: | ||
| 9813 | 9797 | ||
| 9814 | @table @code | 9798 | @table @code |
| 9815 | @item mm-shr | 9799 | @item shr |
| 9816 | Use Gnus simple html renderer. | 9800 | Use Gnus simple html renderer. |
| 9817 | 9801 | ||
| 9818 | @item gnus-article-html | 9802 | @item gnus-w3m |
| 9819 | Use Gnus rendered based on w3m. | 9803 | Use Gnus rendered based on w3m. |
| 9820 | 9804 | ||
| 9821 | @item w3 | 9805 | @item w3 |
| @@ -12462,15 +12446,22 @@ that's based on @code{w3m}. | |||
| 12462 | 12446 | ||
| 12463 | @item gnus-blocked-images | 12447 | @item gnus-blocked-images |
| 12464 | @vindex gnus-blocked-images | 12448 | @vindex gnus-blocked-images |
| 12465 | Images that have @acronym{URL}s that match this regexp won't be | 12449 | External images that have @acronym{URL}s that match this regexp won't |
| 12466 | fetched and displayed. For instance, do block all @acronym{URL}s that | 12450 | be fetched and displayed. For instance, do block all @acronym{URL}s |
| 12467 | have the string ``ads'' in them, do the following: | 12451 | that have the string ``ads'' in them, do the following: |
| 12468 | 12452 | ||
| 12469 | @lisp | 12453 | @lisp |
| 12470 | (setq gnus-blocked-images "ads") | 12454 | (setq gnus-blocked-images "ads") |
| 12471 | @end lisp | 12455 | @end lisp |
| 12472 | 12456 | ||
| 12473 | The default is to block all external images. | 12457 | This can also be a function to be evaluated. If so, it will be |
| 12458 | called with the group name as the parameter. The default value is | ||
| 12459 | @code{gnus-block-private-groups}, which will return @samp{"."} for | ||
| 12460 | anything that isn't a newsgroup. This means that no external images | ||
| 12461 | will be fetched as a result of reading mail, so that nobody can use | ||
| 12462 | web bugs (and the like) to track whether you've read email. | ||
| 12463 | |||
| 12464 | Also @pxref{Misc Article} for @code{gnus-inhibit-images}. | ||
| 12474 | 12465 | ||
| 12475 | @item gnus-html-cache-directory | 12466 | @item gnus-html-cache-directory |
| 12476 | @vindex gnus-html-cache-directory | 12467 | @vindex gnus-html-cache-directory |
| @@ -12952,6 +12943,15 @@ for how to compose such messages. This requires | |||
| 12952 | @uref{http://www.gnu.org/software/libidn/, GNU Libidn}, and this | 12943 | @uref{http://www.gnu.org/software/libidn/, GNU Libidn}, and this |
| 12953 | variable is only enabled if you have installed it. | 12944 | variable is only enabled if you have installed it. |
| 12954 | 12945 | ||
| 12946 | @vindex gnus-inhibit-images | ||
| 12947 | @item gnus-inhibit-images | ||
| 12948 | If this is non-@code{nil}, inhibit displaying of images inline in the | ||
| 12949 | article body. It is effective to images that are in articles as | ||
| 12950 | @acronym{MIME} parts, and images in @acronym{HTML} articles rendered | ||
| 12951 | when @code{mm-text-html-renderer} (@pxref{Display Customization, | ||
| 12952 | ,Display Customization, emacs-mime, The Emacs MIME Manual}) is | ||
| 12953 | @code{shr} or @code{gnus-w3m}. | ||
| 12954 | |||
| 12955 | @end table | 12955 | @end table |
| 12956 | 12956 | ||
| 12957 | 12957 | ||
| @@ -13342,21 +13342,6 @@ case you should set @code{gnus-message-archive-group} to @code{nil}; | |||
| 13342 | this will disable archiving. | 13342 | this will disable archiving. |
| 13343 | 13343 | ||
| 13344 | @table @code | 13344 | @table @code |
| 13345 | @item gnus-outgoing-message-group | ||
| 13346 | @vindex gnus-outgoing-message-group | ||
| 13347 | All outgoing messages will be put in this group. If you want to store | ||
| 13348 | all your outgoing mail and articles in the group @samp{nnml:archive}, | ||
| 13349 | you set this variable to that value. This variable can also be a list of | ||
| 13350 | group names. | ||
| 13351 | |||
| 13352 | If you want to have greater control over what group to put each | ||
| 13353 | message in, you can set this variable to a function that checks the | ||
| 13354 | current newsgroup name and then returns a suitable group name (or list | ||
| 13355 | of names). | ||
| 13356 | |||
| 13357 | This variable can be used instead of @code{gnus-message-archive-group}, | ||
| 13358 | but the latter is the preferred method. | ||
| 13359 | |||
| 13360 | @item gnus-gcc-mark-as-read | 13345 | @item gnus-gcc-mark-as-read |
| 13361 | @vindex gnus-gcc-mark-as-read | 13346 | @vindex gnus-gcc-mark-as-read |
| 13362 | If non-@code{nil}, automatically mark @code{Gcc} articles as read. | 13347 | If non-@code{nil}, automatically mark @code{Gcc} articles as read. |
| @@ -13451,14 +13436,20 @@ the headers of the article; if the value is @code{nil}, the header | |||
| 13451 | name will be removed. If the attribute name is @code{eval}, the form | 13436 | name will be removed. If the attribute name is @code{eval}, the form |
| 13452 | is evaluated, and the result is thrown away. | 13437 | is evaluated, and the result is thrown away. |
| 13453 | 13438 | ||
| 13454 | The attribute value can be a string (used verbatim), a function with | 13439 | The attribute value can be a string, a function with zero arguments |
| 13455 | zero arguments (the return value will be used), a variable (its value | 13440 | (the return value will be used), a variable (its value will be used) |
| 13456 | will be used) or a list (it will be @code{eval}ed and the return value | 13441 | or a list (it will be @code{eval}ed and the return value will be |
| 13457 | will be used). The functions and sexps are called/@code{eval}ed in the | 13442 | used). The functions and sexps are called/@code{eval}ed in the |
| 13458 | message buffer that is being set up. The headers of the current article | 13443 | message buffer that is being set up. The headers of the current |
| 13459 | are available through the @code{message-reply-headers} variable, which | 13444 | article are available through the @code{message-reply-headers} |
| 13460 | is a vector of the following headers: number subject from date id | 13445 | variable, which is a vector of the following headers: number subject |
| 13461 | references chars lines xref extra. | 13446 | from date id references chars lines xref extra. |
| 13447 | |||
| 13448 | In the case of a string value, if the @code{match} is a regular | ||
| 13449 | expression, a @samp{gnus-match-substitute-replacement} is proceed on | ||
| 13450 | the value to replace the positional parameters @samp{\@var{n}} by the | ||
| 13451 | corresponding parenthetical matches (see @xref{Replacing the Text that | ||
| 13452 | Matched, , Text Replacement, elisp, The Emacs Lisp Reference Manual}.) | ||
| 13462 | 13453 | ||
| 13463 | @vindex message-reply-headers | 13454 | @vindex message-reply-headers |
| 13464 | 13455 | ||
| @@ -13834,6 +13825,11 @@ Add a new server (@code{gnus-server-add-server}). | |||
| 13834 | @findex gnus-server-edit-server | 13825 | @findex gnus-server-edit-server |
| 13835 | Edit a server (@code{gnus-server-edit-server}). | 13826 | Edit a server (@code{gnus-server-edit-server}). |
| 13836 | 13827 | ||
| 13828 | @item S | ||
| 13829 | @kindex S (Server) | ||
| 13830 | @findex gnus-server-show-server | ||
| 13831 | Show the definition of a server (@code{gnus-server-show-server}). | ||
| 13832 | |||
| 13837 | @item SPACE | 13833 | @item SPACE |
| 13838 | @kindex SPACE (Server) | 13834 | @kindex SPACE (Server) |
| 13839 | @findex gnus-server-read-server | 13835 | @findex gnus-server-read-server |
| @@ -13889,6 +13885,9 @@ hence getting a correct total article count. | |||
| 13889 | 13885 | ||
| 13890 | @end table | 13886 | @end table |
| 13891 | 13887 | ||
| 13888 | Some more commands for closing, disabling, and re-opening servers are | ||
| 13889 | listed in @ref{Unavailable Servers}. | ||
| 13890 | |||
| 13892 | 13891 | ||
| 13893 | @node Example Methods | 13892 | @node Example Methods |
| 13894 | @subsection Example Methods | 13893 | @subsection Example Methods |
| @@ -14442,7 +14441,9 @@ functions is also affected by commonly understood variables | |||
| 14442 | @findex nntp-open-network-stream | 14441 | @findex nntp-open-network-stream |
| 14443 | @item nntp-open-network-stream | 14442 | @item nntp-open-network-stream |
| 14444 | This is the default, and simply connects to some port or other on the | 14443 | This is the default, and simply connects to some port or other on the |
| 14445 | remote system. | 14444 | remote system. If both Emacs and the server supports it, the |
| 14445 | connection will be upgraded to an encrypted @acronym{STARTTLS} | ||
| 14446 | connection automatically. | ||
| 14446 | 14447 | ||
| 14447 | @findex nntp-open-tls-stream | 14448 | @findex nntp-open-tls-stream |
| 14448 | @item nntp-open-tls-stream | 14449 | @item nntp-open-tls-stream |
| @@ -14861,9 +14862,7 @@ Here's an example method that's more complex: | |||
| 14861 | (nnimap-inbox "INBOX") | 14862 | (nnimap-inbox "INBOX") |
| 14862 | (nnimap-split-methods default) | 14863 | (nnimap-split-methods default) |
| 14863 | (nnimap-expunge t) | 14864 | (nnimap-expunge t) |
| 14864 | (nnimap-stream ssl) | 14865 | (nnimap-stream ssl)) |
| 14865 | (nnir-search-engine imap) | ||
| 14866 | (nnimap-expunge-inbox t)) | ||
| 14867 | @end example | 14866 | @end example |
| 14868 | 14867 | ||
| 14869 | @table @code | 14868 | @table @code |
| @@ -14872,18 +14871,23 @@ The address of the server, like @samp{imap.gmail.com}. | |||
| 14872 | 14871 | ||
| 14873 | @item nnimap-server-port | 14872 | @item nnimap-server-port |
| 14874 | If the server uses a non-standard port, that can be specified here. A | 14873 | If the server uses a non-standard port, that can be specified here. A |
| 14875 | typical port would be @samp{imap} or @samp{imaps}. | 14874 | typical port would be @code{"imap"} or @code{"imaps"}. |
| 14876 | 14875 | ||
| 14877 | @item nnimap-stream | 14876 | @item nnimap-stream |
| 14878 | How @code{nnimap} should connect to the server. Possible values are: | 14877 | How @code{nnimap} should connect to the server. Possible values are: |
| 14879 | 14878 | ||
| 14880 | @table @code | 14879 | @table @code |
| 14880 | @item undecided | ||
| 14881 | This is the default, and this first tries the @code{ssl} setting, and | ||
| 14882 | then tries the @code{network} setting. | ||
| 14883 | |||
| 14881 | @item ssl | 14884 | @item ssl |
| 14882 | This is the default, and this uses standard | 14885 | This uses standard @acronym{TLS}/@acronym{SSL} connections. |
| 14883 | @acronym{TLS}/@acronym{SSL} connection. | ||
| 14884 | 14886 | ||
| 14885 | @item network | 14887 | @item network |
| 14886 | Non-encrypted and unsafe straight socket connection. | 14888 | Non-encrypted and unsafe straight socket connection, but will upgrade |
| 14889 | to encrypted @acronym{STARTTLS} if both Emacs and the server | ||
| 14890 | supports it. | ||
| 14887 | 14891 | ||
| 14888 | @item starttls | 14892 | @item starttls |
| 14889 | Encrypted @acronym{STARTTLS} over the normal @acronym{IMAP} port. | 14893 | Encrypted @acronym{STARTTLS} over the normal @acronym{IMAP} port. |
| @@ -14899,6 +14903,11 @@ what you need. | |||
| 14899 | Some @acronym{IMAP} servers allow anonymous logins. In that case, | 14903 | Some @acronym{IMAP} servers allow anonymous logins. In that case, |
| 14900 | this should be set to @code{anonymous}. | 14904 | this should be set to @code{anonymous}. |
| 14901 | 14905 | ||
| 14906 | @item nnimap-expunge | ||
| 14907 | If non-@code{nil}, expunge articles after deleting them. This is always done | ||
| 14908 | if the server supports UID EXPUNGE, but it's not done by default on | ||
| 14909 | servers that doesn't support that command. | ||
| 14910 | |||
| 14902 | @item nnimap-streaming | 14911 | @item nnimap-streaming |
| 14903 | Virtually all @code{IMAP} server support fast streaming of data. If | 14912 | Virtually all @code{IMAP} server support fast streaming of data. If |
| 14904 | you have problems connecting to the server, try setting this to @code{nil}. | 14913 | you have problems connecting to the server, try setting this to @code{nil}. |
| @@ -14934,6 +14943,11 @@ use the value of the @code{nnmail-split-methods} variable. | |||
| 14934 | @item nnimap-split-fancy | 14943 | @item nnimap-split-fancy |
| 14935 | Uses the same syntax as @code{nnmail-split-fancy}. | 14944 | Uses the same syntax as @code{nnmail-split-fancy}. |
| 14936 | 14945 | ||
| 14946 | @item nnimap-unsplittable-articles | ||
| 14947 | List of flag symbols to ignore when doing splitting. That is, | ||
| 14948 | articles that have these flags won't be considered when splitting. | ||
| 14949 | The default is @samp{(%Deleted %Seen)}. | ||
| 14950 | |||
| 14937 | @end table | 14951 | @end table |
| 14938 | 14952 | ||
| 14939 | 14953 | ||
| @@ -17711,15 +17725,6 @@ If you set @code{nnrss-use-local} to @code{t}, @code{nnrss} will read | |||
| 17711 | the feeds from local files in @code{nnrss-directory}. You can use | 17725 | the feeds from local files in @code{nnrss-directory}. You can use |
| 17712 | the command @code{nnrss-generate-download-script} to generate a | 17726 | the command @code{nnrss-generate-download-script} to generate a |
| 17713 | download script using @command{wget}. | 17727 | download script using @command{wget}. |
| 17714 | |||
| 17715 | @item nnrss-wash-html-in-text-plain-parts | ||
| 17716 | Non-@code{nil} means that @code{nnrss} renders text in @samp{text/plain} | ||
| 17717 | parts as @acronym{HTML}. The function specified by the | ||
| 17718 | @code{mm-text-html-renderer} variable (@pxref{Display Customization, | ||
| 17719 | ,Display Customization, emacs-mime, The Emacs MIME Manual}) will be used | ||
| 17720 | to render text. If it is @code{nil}, which is the default, text will | ||
| 17721 | simply be folded. Leave it @code{nil} if you prefer to see | ||
| 17722 | @samp{text/html} parts. | ||
| 17723 | @end table | 17728 | @end table |
| 17724 | 17729 | ||
| 17725 | The following code may be helpful, if you want to show the description in | 17730 | The following code may be helpful, if you want to show the description in |
| @@ -17969,6 +17974,10 @@ A @acronym{MIME} digest of messages. | |||
| 17969 | @item lanl-gov-announce | 17974 | @item lanl-gov-announce |
| 17970 | Announcement messages from LANL Gov Announce. | 17975 | Announcement messages from LANL Gov Announce. |
| 17971 | 17976 | ||
| 17977 | @cindex git commit messages | ||
| 17978 | @item git | ||
| 17979 | @code{git} commit messages. | ||
| 17980 | |||
| 17972 | @cindex forwarded messages | 17981 | @cindex forwarded messages |
| 17973 | @item rfc822-forward | 17982 | @item rfc822-forward |
| 17974 | A message forwarded according to RFC822. | 17983 | A message forwarded according to RFC822. |
| @@ -19856,7 +19865,7 @@ limit to control how often the cycling occurs. A large value improves | |||
| 19856 | performance. A small value minimizes the time lost should the | 19865 | performance. A small value minimizes the time lost should the |
| 19857 | connection be lost while fetching (You may need to run | 19866 | connection be lost while fetching (You may need to run |
| 19858 | @code{gnus-agent-regenerate-group} to update the group's state. | 19867 | @code{gnus-agent-regenerate-group} to update the group's state. |
| 19859 | However, all articles parsed prior to loosing the connection will be | 19868 | However, all articles parsed prior to losing the connection will be |
| 19860 | available while unplugged). The default is 10M so it is unusual to | 19869 | available while unplugged). The default is 10M so it is unusual to |
| 19861 | see any cycling. | 19870 | see any cycling. |
| 19862 | 19871 | ||
| @@ -30096,11 +30105,11 @@ that means: | |||
| 30096 | (setq gnus-read-active-file 'some) | 30105 | (setq gnus-read-active-file 'some) |
| 30097 | @end lisp | 30106 | @end lisp |
| 30098 | 30107 | ||
| 30099 | On the other hand, if the manual says ``set @code{gnus-nntp-server} to | 30108 | On the other hand, if the manual says ``set @code{gnus-nntp-server-file} to |
| 30100 | @samp{nntp.ifi.uio.no}'', that means: | 30109 | @samp{/etc/nntpserver}'', that means: |
| 30101 | 30110 | ||
| 30102 | @lisp | 30111 | @lisp |
| 30103 | (setq gnus-nntp-server "nntp.ifi.uio.no") | 30112 | (setq gnus-nntp-server-file "/etc/nntpserver") |
| 30104 | @end lisp | 30113 | @end lisp |
| 30105 | 30114 | ||
| 30106 | So be careful not to mix up strings (the latter) with symbols (the | 30115 | So be careful not to mix up strings (the latter) with symbols (the |
diff --git a/doc/misc/makefile.w32-in b/doc/misc/makefile.w32-in index f4887738411..fd3b1476b55 100644 --- a/doc/misc/makefile.w32-in +++ b/doc/misc/makefile.w32-in | |||
| @@ -32,7 +32,7 @@ infodir = $(srcdir)/../../info | |||
| 32 | emacsdir = $(srcdir)/../emacs | 32 | emacsdir = $(srcdir)/../emacs |
| 33 | 33 | ||
| 34 | # The makeinfo program is part of the Texinfo distribution. | 34 | # The makeinfo program is part of the Texinfo distribution. |
| 35 | MAKEINFO = makeinfo --force | 35 | MAKEINFO = makeinfo --force -I$(emacsdir) |
| 36 | MULTI_INSTALL_INFO = $(srcdir)\..\..\nt\multi-install-info.bat | 36 | MULTI_INSTALL_INFO = $(srcdir)\..\..\nt\multi-install-info.bat |
| 37 | INFO_TARGETS = $(infodir)/ccmode \ | 37 | INFO_TARGETS = $(infodir)/ccmode \ |
| 38 | $(infodir)/cl $(infodir)/dbus $(infodir)/dired-x \ | 38 | $(infodir)/cl $(infodir)/dbus $(infodir)/dired-x \ |
| @@ -70,7 +70,7 @@ INFOSOURCES = info.texi | |||
| 70 | 70 | ||
| 71 | TEXI2DVI = texi2dvi | 71 | TEXI2DVI = texi2dvi |
| 72 | ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \ | 72 | ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \ |
| 73 | "MAKEINFO=$(MAKEINFO) -I$(srcdir) -I$(emacsdir)" /C | 73 | "MAKEINFO=$(MAKEINFO) -I$(srcdir)" /C |
| 74 | 74 | ||
| 75 | 75 | ||
| 76 | info: $(INFO_TARGETS) | 76 | info: $(INFO_TARGETS) |
| @@ -218,7 +218,7 @@ widget.dvi: widget.texi | |||
| 218 | $(ENVADD) $(TEXI2DVI) $(srcdir)/widget.texi | 218 | $(ENVADD) $(TEXI2DVI) $(srcdir)/widget.texi |
| 219 | 219 | ||
| 220 | $(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi | 220 | $(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi |
| 221 | $(MAKEINFO) -I$(emacsdir) faq.texi | 221 | $(MAKEINFO) faq.texi |
| 222 | faq.dvi: faq.texi $(emacsdir)/emacsver.texi | 222 | faq.dvi: faq.texi $(emacsdir)/emacsver.texi |
| 223 | $(ENVADD) $(TEXI2DVI) $(srcdir)/faq.texi | 223 | $(ENVADD) $(TEXI2DVI) $(srcdir)/faq.texi |
| 224 | 224 | ||
| @@ -227,10 +227,10 @@ $(infodir)/autotype: autotype.texi | |||
| 227 | autotype.dvi: autotype.texi | 227 | autotype.dvi: autotype.texi |
| 228 | $(ENVADD) $(TEXI2DVI) $(srcdir)/autotype.texi | 228 | $(ENVADD) $(TEXI2DVI) $(srcdir)/autotype.texi |
| 229 | 229 | ||
| 230 | $(infodir)/calc: calc.texi | 230 | $(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi |
| 231 | $(MAKEINFO) calc.texi | 231 | $(MAKEINFO) calc.texi |
| 232 | 232 | ||
| 233 | calc.dvi: calc.texi | 233 | calc.dvi: calc.texi $(emacsdir)/emacsver.texi |
| 234 | $(ENVADD) $(TEXI2DVI) $(srcdir)/calc.texi | 234 | $(ENVADD) $(TEXI2DVI) $(srcdir)/calc.texi |
| 235 | 235 | ||
| 236 | # This is produced with --no-split to avoid making files whose | 236 | # This is produced with --no-split to avoid making files whose |
diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 8e9eca55177..1fec34f147b 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi | |||
| @@ -1450,8 +1450,10 @@ Allegedly. | |||
| 1450 | 1450 | ||
| 1451 | @item message-default-headers | 1451 | @item message-default-headers |
| 1452 | @vindex message-default-headers | 1452 | @vindex message-default-headers |
| 1453 | This string is inserted at the end of the headers in all message | 1453 | Header lines to be inserted in outgoing messages before you edit the |
| 1454 | buffers. | 1454 | message, so you can edit or delete their lines. If set to a string, it |
| 1455 | is directly inserted. If set to a function, it is called and its | ||
| 1456 | result is inserted. | ||
| 1455 | 1457 | ||
| 1456 | @item message-subject-re-regexp | 1458 | @item message-subject-re-regexp |
| 1457 | @vindex message-subject-re-regexp | 1459 | @vindex message-subject-re-regexp |
diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index ed64f91ac39..a06a7231112 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi | |||
| @@ -213,7 +213,7 @@ more niceties about GNU Emacs and MH@. Now I'm fully hooked on both of | |||
| 213 | them. | 213 | them. |
| 214 | 214 | ||
| 215 | The MH-E package is distributed with GNU Emacs@footnote{Version | 215 | The MH-E package is distributed with GNU Emacs@footnote{Version |
| 216 | @value{VERSION} of MH-E will appear in GNU Emacs 23.1. It is supported | 216 | @value{VERSION} of MH-E appeared in GNU Emacs 23.1. It is supported |
| 217 | in GNU Emacs 21 and 22, as well as XEmacs 21 (except for versions | 217 | in GNU Emacs 21 and 22, as well as XEmacs 21 (except for versions |
| 218 | 21.5.9-21.5.16). It is compatible with MH versions 6.8.4 and higher, | 218 | 21.5.9-21.5.16). It is compatible with MH versions 6.8.4 and higher, |
| 219 | all versions of nmh, and GNU mailutils 1.0 and higher.}, so you | 219 | all versions of nmh, and GNU mailutils 1.0 and higher.}, so you |
| @@ -8951,8 +8951,8 @@ files that were already part of Emacs) and the software was completely | |||
| 8951 | reorganized to push back two decades of entropy. Version 8 appeared in | 8951 | reorganized to push back two decades of entropy. Version 8 appeared in |
| 8952 | Emacs 22.1 in 2006. | 8952 | Emacs 22.1 in 2006. |
| 8953 | 8953 | ||
| 8954 | Development was then quiet for a couple of years. Emacs 23.1, which is | 8954 | Development was then quiet for a couple of years. Emacs 23.1, released |
| 8955 | due out in 2009, will contain version 8.1. This version includes a few | 8955 | in June 2009, contains version 8.2. This version includes a few |
| 8956 | new features and several bug fixes. | 8956 | new features and several bug fixes. |
| 8957 | 8957 | ||
| 8958 | Bill Wohler, August 2008 | 8958 | Bill Wohler, August 2008 |
| @@ -9061,6 +9061,4 @@ Bill Wohler, August 2008 | |||
| 9061 | @c sentence-end-double-space: nil | 9061 | @c sentence-end-double-space: nil |
| 9062 | @c End: | 9062 | @c End: |
| 9063 | 9063 | ||
| 9064 | @ignore | 9064 | |
| 9065 | arch-tag: b778477d-1a10-4a99-84de-f877a2ea6bef | ||
| 9066 | @end ignore | ||
diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi index 423bdc85a24..d076f0dd820 100644 --- a/doc/misc/nxml-mode.texi +++ b/doc/misc/nxml-mode.texi | |||
| @@ -8,7 +8,8 @@ | |||
| 8 | This manual documents nxml-mode, an Emacs major mode for editing | 8 | This manual documents nxml-mode, an Emacs major mode for editing |
| 9 | XML with RELAX NG support. | 9 | XML with RELAX NG support. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 11 | Copyright @copyright{} 2007, 2008, 2009, 2010 |
| 12 | Free Software Foundation, Inc. | ||
| 12 | 13 | ||
| 13 | @quotation | 14 | @quotation |
| 14 | Permission is granted to copy, distribute and/or modify this document | 15 | Permission is granted to copy, distribute and/or modify this document |
| @@ -43,6 +44,7 @@ license to the document, as described in section 6 of the license. | |||
| 43 | This manual is not yet complete. | 44 | This manual is not yet complete. |
| 44 | 45 | ||
| 45 | @menu | 46 | @menu |
| 47 | * Introduction:: | ||
| 46 | * Completion:: | 48 | * Completion:: |
| 47 | * Inserting end-tags:: | 49 | * Inserting end-tags:: |
| 48 | * Paragraphs:: | 50 | * Paragraphs:: |
| @@ -52,6 +54,58 @@ This manual is not yet complete. | |||
| 52 | * Limitations:: | 54 | * Limitations:: |
| 53 | @end menu | 55 | @end menu |
| 54 | 56 | ||
| 57 | @node Introduction | ||
| 58 | @chapter Introduction | ||
| 59 | |||
| 60 | nXML mode is an Emacs major-mode for editing XML documents. It supports | ||
| 61 | editing well-formed XML documents, and provides schema-sensitive editing | ||
| 62 | using RELAX NG Compact Syntax. To get started, visit a file containing an | ||
| 63 | XML document, and, if necessary, use @kbd{M-x nxml-mode} to switch to nXML | ||
| 64 | mode. By default, @code{auto-mode-alist} and @code{magic-fallback-alist} | ||
| 65 | put buffers in nXML mode if they have recognizable XML content or file | ||
| 66 | extensions. You may wish to customize the settings, for example to | ||
| 67 | recognize different file extensions. | ||
| 68 | |||
| 69 | Once in nXML mode, you can type @kbd{C-h m} for basic information on the | ||
| 70 | mode. | ||
| 71 | |||
| 72 | The @file{etc/nxml} directory in the Emacs distribution contains some data | ||
| 73 | files used by nXML mode, and includes two files (@file{test.valid.xml} and | ||
| 74 | @file{test.invalid.xml}) that provide examples of valid and invalid XML | ||
| 75 | documents. | ||
| 76 | |||
| 77 | To get validation and schema-sensitive editing, you need a RELAX NG Compact | ||
| 78 | Syntax (RNC) schema for your document (@pxref{Locating a schema}). The | ||
| 79 | @file{etc/schema} directory includes some schemas for popular document | ||
| 80 | types. See @url{http://relaxng.org/} for more information on RELAX NG. | ||
| 81 | You can use the @samp{Trang} program from | ||
| 82 | @url{http://www.thaiopensource.com/relaxng/trang.html} to | ||
| 83 | automatically create RNC schemas. This program can: | ||
| 84 | |||
| 85 | @itemize @bullet | ||
| 86 | @item | ||
| 87 | infer an RNC schema from an instance document; | ||
| 88 | @item | ||
| 89 | convert a DTD to an RNC schema; | ||
| 90 | @item | ||
| 91 | convert a RELAX NG XML syntax schema to an RNC schema. | ||
| 92 | @end itemize | ||
| 93 | |||
| 94 | @noindent To convert a RELAX NG XML syntax (@samp{.rng}) schema to a RNC | ||
| 95 | one, you can also use the XSLT stylesheet from | ||
| 96 | @url{http://www.pantor.com/download.html}. | ||
| 97 | |||
| 98 | To convert a W3C XML Schema to an RNC schema, you need first to convert it | ||
| 99 | to RELAX NG XML syntax using the RELAX NG converter tool @code{rngconv} | ||
| 100 | (built on top of MSV). See @url{https://github.com/kohsuke/msv} | ||
| 101 | and @url{https://msv.dev.java.net/}. | ||
| 102 | |||
| 103 | For historical discussions only, see the mailing list archives at | ||
| 104 | @url{http://groups.yahoo.com/group/emacs-nxml-mode/}. Please make all new | ||
| 105 | discussions on the @samp{help-gnu-emacs} and @samp{emacs-devel} mailing | ||
| 106 | lists. Report any bugs with @kbd{M-x report-emacs-bug}. | ||
| 107 | |||
| 108 | |||
| 55 | @node Completion | 109 | @node Completion |
| 56 | @chapter Completion | 110 | @chapter Completion |
| 57 | 111 | ||
| @@ -855,6 +909,3 @@ specification are not enforced. | |||
| 855 | 909 | ||
| 856 | @bye | 910 | @bye |
| 857 | 911 | ||
| 858 | @ignore | ||
| 859 | arch-tag: 3b6e8ac2-ae8d-4f38-bd43-ce9f80be04d6 | ||
| 860 | @end ignore | ||
diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 97b8d3ebc03..af7a4b48032 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi | |||
| @@ -4,8 +4,8 @@ | |||
| 4 | @setfilename ../../info/org | 4 | @setfilename ../../info/org |
| 5 | @settitle The Org Manual | 5 | @settitle The Org Manual |
| 6 | 6 | ||
| 7 | @set VERSION 7.01 | 7 | @set VERSION 7.3 |
| 8 | @set DATE July 2010 | 8 | @set DATE November 2010 |
| 9 | 9 | ||
| 10 | @c Use proper quote and backtick for code sections in PDF output | 10 | @c Use proper quote and backtick for code sections in PDF output |
| 11 | @c Cf. Texinfo manual 14.2 | 11 | @c Cf. Texinfo manual 14.2 |
| @@ -22,6 +22,24 @@ | |||
| 22 | @finalout | 22 | @finalout |
| 23 | 23 | ||
| 24 | @c Macro definitions | 24 | @c Macro definitions |
| 25 | @macro orgcmd{key,command} | ||
| 26 | @iftex | ||
| 27 | @kindex \key\ | ||
| 28 | @findex \command\ | ||
| 29 | @item @kbd{\key\} @hskip 0pt plus 1filll @code{\command\} | ||
| 30 | @end iftex | ||
| 31 | @ifnottex | ||
| 32 | @kindex \key\ | ||
| 33 | @findex \command\ | ||
| 34 | @item @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) | ||
| 35 | @end ifnottex | ||
| 36 | @end macro | ||
| 37 | |||
| 38 | @macro orgkey{key} | ||
| 39 | @kindex \key\ | ||
| 40 | @item @kbd{\key\} | ||
| 41 | @end macro | ||
| 42 | |||
| 25 | @iftex | 43 | @iftex |
| 26 | @c @hyphenation{time-stamp time-stamps time-stamp-ing time-stamp-ed} | 44 | @c @hyphenation{time-stamp time-stamps time-stamp-ing time-stamp-ed} |
| 27 | @end iftex | 45 | @end iftex |
| @@ -122,6 +140,7 @@ with contributions by David O'Toole, Bastien Guerry, Philip Rooke, Dan Davison, | |||
| 122 | * History and Acknowledgments:: How Org came into being | 140 | * History and Acknowledgments:: How Org came into being |
| 123 | * Main Index:: An index of Org's concepts and features | 141 | * Main Index:: An index of Org's concepts and features |
| 124 | * Key Index:: Key bindings and where they are described | 142 | * Key Index:: Key bindings and where they are described |
| 143 | * Command and Function Index:: Command names and some internal functions | ||
| 125 | * Variable Index:: Variables mentioned in the manual | 144 | * Variable Index:: Variables mentioned in the manual |
| 126 | 145 | ||
| 127 | @detailmenu | 146 | @detailmenu |
| @@ -244,6 +263,7 @@ Dates and times | |||
| 244 | * Resolving idle time:: Resolving time if you've been idle | 263 | * Resolving idle time:: Resolving time if you've been idle |
| 245 | * Effort estimates:: Planning work effort in advance | 264 | * Effort estimates:: Planning work effort in advance |
| 246 | * Relative timer:: Notes with a running timer | 265 | * Relative timer:: Notes with a running timer |
| 266 | * Countdown timer:: Starting a countdown timer for a task | ||
| 247 | 267 | ||
| 248 | Creating timestamps | 268 | Creating timestamps |
| 249 | 269 | ||
| @@ -364,6 +384,7 @@ HTML export | |||
| 364 | * Links in HTML export:: How links will be interpreted and formatted | 384 | * Links in HTML export:: How links will be interpreted and formatted |
| 365 | * Tables in HTML export:: How to modify the formatting of tables | 385 | * Tables in HTML export:: How to modify the formatting of tables |
| 366 | * Images in HTML export:: How to insert figures into HTML output | 386 | * Images in HTML export:: How to insert figures into HTML output |
| 387 | * Math formatting in HTML export:: Beautiful math also on the web | ||
| 367 | * Text areas in HTML export:: An alternative way to show an example | 388 | * Text areas in HTML export:: An alternative way to show an example |
| 368 | * CSS support:: Changing the appearance of the output | 389 | * CSS support:: Changing the appearance of the output |
| 369 | * JavaScript support:: Info and Folding in a web browser | 390 | * JavaScript support:: Info and Folding in a web browser |
| @@ -436,16 +457,22 @@ Using header arguments | |||
| 436 | * Buffer-wide header arguments:: Set default values for a specific buffer | 457 | * Buffer-wide header arguments:: Set default values for a specific buffer |
| 437 | * Header arguments in Org-mode properties:: Set default values for a buffer or heading | 458 | * Header arguments in Org-mode properties:: Set default values for a buffer or heading |
| 438 | * Code block specific header arguments:: The most common way to set values | 459 | * Code block specific header arguments:: The most common way to set values |
| 460 | * Header arguments in function calls:: The most specific level | ||
| 439 | 461 | ||
| 440 | Specific header arguments | 462 | Specific header arguments |
| 441 | 463 | ||
| 442 | * var:: Pass arguments to code blocks | 464 | * var:: Pass arguments to code blocks |
| 443 | * results:: Specify the type of results and how they will be collected and handled | 465 | * results:: Specify the type of results and how they will |
| 466 | be collected and handled | ||
| 444 | * file:: Specify a path for file output | 467 | * file:: Specify a path for file output |
| 445 | * dir:: Specify the default directory for code block execution | 468 | * dir:: Specify the default (possibly remote) |
| 469 | directory for code block execution | ||
| 446 | * exports:: Export code and/or results | 470 | * exports:: Export code and/or results |
| 447 | * tangle:: Toggle tangling and specify file name | 471 | * tangle:: Toggle tangling and specify file name |
| 448 | * no-expand:: Turn off variable assignment and noweb expansion during tangling | 472 | * comments:: Toggle insertion of comments in tangled |
| 473 | code files | ||
| 474 | * no-expand:: Turn off variable assignment and noweb | ||
| 475 | expansion during tangling | ||
| 449 | * session:: Preserve the state of code evaluation | 476 | * session:: Preserve the state of code evaluation |
| 450 | * noweb:: Toggle expansion of noweb references | 477 | * noweb:: Toggle expansion of noweb references |
| 451 | * cache:: Avoid re-evaluating unchanged code blocks | 478 | * cache:: Avoid re-evaluating unchanged code blocks |
| @@ -453,10 +480,12 @@ Specific header arguments | |||
| 453 | * colnames:: Handle column names in tables | 480 | * colnames:: Handle column names in tables |
| 454 | * rownames:: Handle row names in tables | 481 | * rownames:: Handle row names in tables |
| 455 | * shebang:: Make tangled files executable | 482 | * shebang:: Make tangled files executable |
| 483 | * eval:: Limit evaluation of specific code blocks | ||
| 456 | 484 | ||
| 457 | Miscellaneous | 485 | Miscellaneous |
| 458 | 486 | ||
| 459 | * Completion:: M-TAB knows what you need | 487 | * Completion:: M-TAB knows what you need |
| 488 | * Easy Templates:: Quick insertion of structural elements | ||
| 460 | * Speed keys:: Electric commands at the beginning of a headline | 489 | * Speed keys:: Electric commands at the beginning of a headline |
| 461 | * Code evaluation security:: Org mode files evaluate inline code | 490 | * Code evaluation security:: Org mode files evaluate inline code |
| 462 | * Customization:: Adapting Org to your taste | 491 | * Customization:: Adapting Org to your taste |
| @@ -608,18 +637,6 @@ step for this directory: | |||
| 608 | (setq load-path (cons "~/path/to/orgdir/contrib/lisp" load-path)) | 637 | (setq load-path (cons "~/path/to/orgdir/contrib/lisp" load-path)) |
| 609 | @end example | 638 | @end example |
| 610 | 639 | ||
| 611 | @sp 2 | ||
| 612 | @cartouche | ||
| 613 | XEmacs users now need to install the file @file{noutline.el} from | ||
| 614 | the @file{xemacs} sub-directory of the Org distribution. Use the | ||
| 615 | command: | ||
| 616 | |||
| 617 | @example | ||
| 618 | make install-noutline | ||
| 619 | @end example | ||
| 620 | @end cartouche | ||
| 621 | @sp 2 | ||
| 622 | |||
| 623 | @noindent Now byte-compile the Lisp files with the shell command: | 640 | @noindent Now byte-compile the Lisp files with the shell command: |
| 624 | 641 | ||
| 625 | @example | 642 | @example |
| @@ -720,10 +737,15 @@ active region by using the mouse to select a region, or pressing | |||
| 720 | If you find problems with Org, or if you have questions, remarks, or ideas | 737 | If you find problems with Org, or if you have questions, remarks, or ideas |
| 721 | about it, please mail to the Org mailing list @email{emacs-orgmode@@gnu.org}. | 738 | about it, please mail to the Org mailing list @email{emacs-orgmode@@gnu.org}. |
| 722 | If you are not a member of the mailing list, your mail will be passed to the | 739 | If you are not a member of the mailing list, your mail will be passed to the |
| 723 | list after a moderator has approved it. | 740 | list after a moderator has approved it@footnote{Please consider subscribing |
| 724 | 741 | to the mailing list, in order to minimize the work the mailing list | |
| 725 | For bug reports, please provide as much information as possible, including | 742 | moderators have to do.}. |
| 726 | the version information of Emacs (@kbd{M-x emacs-version @key{RET}}) and Org | 743 | |
| 744 | For bug reports, please first try to reproduce the bug with the latest | ||
| 745 | version of Org available - if you are running an outdated version, it is | ||
| 746 | quite possible that the bug has been fixed already. If the bug persists, | ||
| 747 | prepare a report and provide as much information as possible, including the | ||
| 748 | version information of Emacs (@kbd{M-x emacs-version @key{RET}}) and Org | ||
| 727 | (@kbd{M-x org-version @key{RET}}), as well as the Org related setup in | 749 | (@kbd{M-x org-version @key{RET}}), as well as the Org related setup in |
| 728 | @file{.emacs}. The easiest way to do this is to use the command | 750 | @file{.emacs}. The easiest way to do this is to use the command |
| 729 | @example | 751 | @example |
| @@ -742,7 +764,7 @@ about: | |||
| 742 | @item What did you expect to happen? | 764 | @item What did you expect to happen? |
| 743 | @item What happened instead? | 765 | @item What happened instead? |
| 744 | @end enumerate | 766 | @end enumerate |
| 745 | @noindent Thank you for helping to improve this mode. | 767 | @noindent Thank you for helping to improve this program. |
| 746 | 768 | ||
| 747 | @subsubheading How to create a useful backtrace | 769 | @subsubheading How to create a useful backtrace |
| 748 | 770 | ||
| @@ -886,9 +908,8 @@ Org uses just two commands, bound to @key{TAB} and | |||
| 886 | @cindex folded, subtree visibility state | 908 | @cindex folded, subtree visibility state |
| 887 | @cindex children, subtree visibility state | 909 | @cindex children, subtree visibility state |
| 888 | @cindex subtree, subtree visibility state | 910 | @cindex subtree, subtree visibility state |
| 889 | @table @kbd | 911 | @table @asis |
| 890 | @kindex @key{TAB} | 912 | @orgcmd{@key{TAB},org-cycle} |
| 891 | @item @key{TAB} | ||
| 892 | @emph{Subtree cycling}: Rotate current subtree among the states | 913 | @emph{Subtree cycling}: Rotate current subtree among the states |
| 893 | 914 | ||
| 894 | @example | 915 | @example |
| @@ -910,8 +931,7 @@ argument (@kbd{C-u @key{TAB}}), global cycling is invoked. | |||
| 910 | @cindex overview, global visibility state | 931 | @cindex overview, global visibility state |
| 911 | @cindex contents, global visibility state | 932 | @cindex contents, global visibility state |
| 912 | @cindex show all, global visibility state | 933 | @cindex show all, global visibility state |
| 913 | @kindex S-@key{TAB} | 934 | @orgcmd{S-@key{TAB},org-global-cycle} |
| 914 | @item S-@key{TAB} | ||
| 915 | @itemx C-u @key{TAB} | 935 | @itemx C-u @key{TAB} |
| 916 | @emph{Global cycling}: Rotate the entire buffer among the states | 936 | @emph{Global cycling}: Rotate the entire buffer among the states |
| 917 | 937 | ||
| @@ -925,22 +945,18 @@ CONTENTS view up to headlines of level N will be shown. Note that inside | |||
| 925 | tables, @kbd{S-@key{TAB}} jumps to the previous field. | 945 | tables, @kbd{S-@key{TAB}} jumps to the previous field. |
| 926 | 946 | ||
| 927 | @cindex show all, command | 947 | @cindex show all, command |
| 928 | @kindex C-u C-u C-u @key{TAB} | 948 | @orgcmd{C-u C-u C-u @key{TAB},show-all} |
| 929 | @item C-u C-u C-u @key{TAB} | ||
| 930 | Show all, including drawers. | 949 | Show all, including drawers. |
| 931 | @kindex C-c C-r | 950 | @orgcmd{C-c C-r,org-reveal} |
| 932 | @item C-c C-r | ||
| 933 | Reveal context around point, showing the current entry, the following heading | 951 | Reveal context around point, showing the current entry, the following heading |
| 934 | and the hierarchy above. Useful for working near a location that has been | 952 | and the hierarchy above. Useful for working near a location that has been |
| 935 | exposed by a sparse tree command (@pxref{Sparse trees}) or an agenda command | 953 | exposed by a sparse tree command (@pxref{Sparse trees}) or an agenda command |
| 936 | (@pxref{Agenda commands}). With a prefix argument show, on each | 954 | (@pxref{Agenda commands}). With a prefix argument show, on each |
| 937 | level, all sibling headings. With double prefix arg, also show the entire | 955 | level, all sibling headings. With double prefix arg, also show the entire |
| 938 | subtree of the parent. | 956 | subtree of the parent. |
| 939 | @kindex C-c C-k | 957 | @orgcmd{C-c C-k,show-branches} |
| 940 | @item C-c C-k | ||
| 941 | Expose all the headings of the subtree, CONTENT view for just one subtree. | 958 | Expose all the headings of the subtree, CONTENT view for just one subtree. |
| 942 | @kindex C-c C-x b | 959 | @orgcmd{C-c C-x b,org-tree-to-indirect-buffer} |
| 943 | @item C-c C-x b | ||
| 944 | Show the current subtree in an indirect buffer@footnote{The indirect | 960 | Show the current subtree in an indirect buffer@footnote{The indirect |
| 945 | buffer | 961 | buffer |
| 946 | @ifinfo | 962 | @ifinfo |
| @@ -982,9 +998,8 @@ Furthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties | |||
| 982 | and Columns}) will get their visibility adapted accordingly. Allowed values | 998 | and Columns}) will get their visibility adapted accordingly. Allowed values |
| 983 | for this property are @code{folded}, @code{children}, @code{content}, and | 999 | for this property are @code{folded}, @code{children}, @code{content}, and |
| 984 | @code{all}. | 1000 | @code{all}. |
| 985 | @table @kbd | 1001 | @table @asis |
| 986 | @kindex C-u C-u @key{TAB} | 1002 | @orgcmd{C-u C-u @key{TAB},org-set-startup-visibility} |
| 987 | @item C-u C-u @key{TAB} | ||
| 988 | Switch back to the startup visibility of the buffer, i.e. whatever is | 1003 | Switch back to the startup visibility of the buffer, i.e. whatever is |
| 989 | requested by startup options and @samp{VISIBILITY} properties in individual | 1004 | requested by startup options and @samp{VISIBILITY} properties in individual |
| 990 | entries. | 1005 | entries. |
| @@ -997,24 +1012,18 @@ entries. | |||
| 997 | @cindex headline navigation | 1012 | @cindex headline navigation |
| 998 | The following commands jump to other headlines in the buffer. | 1013 | The following commands jump to other headlines in the buffer. |
| 999 | 1014 | ||
| 1000 | @table @kbd | 1015 | @table @asis |
| 1001 | @kindex C-c C-n | 1016 | @orgcmd{C-c C-n,outline-next-visible-heading} |
| 1002 | @item C-c C-n | ||
| 1003 | Next heading. | 1017 | Next heading. |
| 1004 | @kindex C-c C-p | 1018 | @orgcmd{C-c C-p,outline-previous-visible-heading} |
| 1005 | @item C-c C-p | ||
| 1006 | Previous heading. | 1019 | Previous heading. |
| 1007 | @kindex C-c C-f | 1020 | @orgcmd{C-c C-f,org-forward-same-level} |
| 1008 | @item C-c C-f | ||
| 1009 | Next heading same level. | 1021 | Next heading same level. |
| 1010 | @kindex C-c C-b | 1022 | @orgcmd{C-c C-b,org-backward-same-level} |
| 1011 | @item C-c C-b | ||
| 1012 | Previous heading same level. | 1023 | Previous heading same level. |
| 1013 | @kindex C-c C-u | 1024 | @orgcmd{C-c C-u,outline-up-heading} |
| 1014 | @item C-c C-u | ||
| 1015 | Backward to higher level heading. | 1025 | Backward to higher level heading. |
| 1016 | @kindex C-c C-j | 1026 | @orgcmd{C-c C-j,org-goto} |
| 1017 | @item C-c C-j | ||
| 1018 | Jump to a different place without changing the current outline | 1027 | Jump to a different place without changing the current outline |
| 1019 | visibility. Shows the document structure in a temporary buffer, where | 1028 | visibility. Shows the document structure in a temporary buffer, where |
| 1020 | you can use the following keys to find your destination: | 1029 | you can use the following keys to find your destination: |
| @@ -1049,9 +1058,8 @@ See also the variable @code{org-goto-interface}. | |||
| 1049 | @cindex sorting, of subtrees | 1058 | @cindex sorting, of subtrees |
| 1050 | @cindex subtrees, cut and paste | 1059 | @cindex subtrees, cut and paste |
| 1051 | 1060 | ||
| 1052 | @table @kbd | 1061 | @table @asis |
| 1053 | @kindex M-@key{RET} | 1062 | @orgcmd{M-@key{RET},org-insert-heading} |
| 1054 | @item M-@key{RET} | ||
| 1055 | @vindex org-M-RET-may-split-line | 1063 | @vindex org-M-RET-may-split-line |
| 1056 | Insert new heading with same level as current. If the cursor is in a | 1064 | Insert new heading with same level as current. If the cursor is in a |
| 1057 | plain list item, a new item is created (@pxref{Plain lists}). To force | 1065 | plain list item, a new item is created (@pxref{Plain lists}). To force |
| @@ -1066,62 +1074,48 @@ the content of that line is made the new heading. If the command is | |||
| 1066 | used at the end of a folded subtree (i.e. behind the ellipses at the end | 1074 | used at the end of a folded subtree (i.e. behind the ellipses at the end |
| 1067 | of a headline), then a headline like the current one will be inserted | 1075 | of a headline), then a headline like the current one will be inserted |
| 1068 | after the end of the subtree. | 1076 | after the end of the subtree. |
| 1069 | @kindex C-@key{RET} | 1077 | @orgcmd{C-@key{RET},org-insert-heading-respect-content} |
| 1070 | @item C-@key{RET} | ||
| 1071 | Just like @kbd{M-@key{RET}}, except when adding a new heading below the | 1078 | Just like @kbd{M-@key{RET}}, except when adding a new heading below the |
| 1072 | current heading, the new heading is placed after the body instead of before | 1079 | current heading, the new heading is placed after the body instead of before |
| 1073 | it. This command works from anywhere in the entry. | 1080 | it. This command works from anywhere in the entry. |
| 1074 | @kindex M-S-@key{RET} | 1081 | @orgcmd{M-S-@key{RET},org-insert-todo-heading} |
| 1075 | @item M-S-@key{RET} | ||
| 1076 | @vindex org-treat-insert-todo-heading-as-state-change | 1082 | @vindex org-treat-insert-todo-heading-as-state-change |
| 1077 | Insert new TODO entry with same level as current heading. See also the | 1083 | Insert new TODO entry with same level as current heading. See also the |
| 1078 | variable @code{org-treat-insert-todo-heading-as-state-change}. | 1084 | variable @code{org-treat-insert-todo-heading-as-state-change}. |
| 1079 | @kindex C-S-@key{RET} | 1085 | @orgcmd{C-S-@key{RET},org-insert-todo-heading-respect-content} |
| 1080 | @item C-S-@key{RET} | ||
| 1081 | Insert new TODO entry with same level as current heading. Like | 1086 | Insert new TODO entry with same level as current heading. Like |
| 1082 | @kbd{C-@key{RET}}, the new headline will be inserted after the current | 1087 | @kbd{C-@key{RET}}, the new headline will be inserted after the current |
| 1083 | subtree. | 1088 | subtree. |
| 1084 | @kindex @key{TAB} | 1089 | @orgcmd{@key{TAB},org-cycle} |
| 1085 | @item @key{TAB} @r{in new, empty entry} | ||
| 1086 | In a new entry with no text yet, the first @key{TAB} demotes the entry to | 1090 | In a new entry with no text yet, the first @key{TAB} demotes the entry to |
| 1087 | become a child of the previous one. The next @key{TAB} makes it a parent, | 1091 | become a child of the previous one. The next @key{TAB} makes it a parent, |
| 1088 | and so on, all the way to top level. Yet another @key{TAB}, and you are back | 1092 | and so on, all the way to top level. Yet another @key{TAB}, and you are back |
| 1089 | to the initial level. | 1093 | to the initial level. |
| 1090 | @kindex M-@key{left} | 1094 | @orgcmd{M-@key{left},org-do-promote} |
| 1091 | @item M-@key{left} | ||
| 1092 | Promote current heading by one level. | 1095 | Promote current heading by one level. |
| 1093 | @kindex M-@key{right} | 1096 | @orgcmd{M-@key{right},org-do-demote} |
| 1094 | @item M-@key{right} | ||
| 1095 | Demote current heading by one level. | 1097 | Demote current heading by one level. |
| 1096 | @kindex M-S-@key{left} | 1098 | @orgcmd{M-S-@key{left},org-promote-subtree} |
| 1097 | @item M-S-@key{left} | ||
| 1098 | Promote the current subtree by one level. | 1099 | Promote the current subtree by one level. |
| 1099 | @kindex M-S-@key{right} | 1100 | @orgcmd{M-S-@key{right},org-demote-subtree} |
| 1100 | @item M-S-@key{right} | ||
| 1101 | Demote the current subtree by one level. | 1101 | Demote the current subtree by one level. |
| 1102 | @kindex M-S-@key{up} | 1102 | @orgcmd{M-S-@key{up},org-move-subtree-up} |
| 1103 | @item M-S-@key{up} | ||
| 1104 | Move subtree up (swap with previous subtree of same | 1103 | Move subtree up (swap with previous subtree of same |
| 1105 | level). | 1104 | level). |
| 1106 | @kindex M-S-@key{down} | 1105 | @orgcmd{M-S-@key{down},org-move-subtree-down} |
| 1107 | @item M-S-@key{down} | ||
| 1108 | Move subtree down (swap with next subtree of same level). | 1106 | Move subtree down (swap with next subtree of same level). |
| 1109 | @kindex C-c C-x C-w | 1107 | @orgcmd{C-c C-x C-w,org-cut-subtree} |
| 1110 | @item C-c C-x C-w | ||
| 1111 | Kill subtree, i.e. remove it from buffer but save in kill ring. | 1108 | Kill subtree, i.e. remove it from buffer but save in kill ring. |
| 1112 | With a numeric prefix argument N, kill N sequential subtrees. | 1109 | With a numeric prefix argument N, kill N sequential subtrees. |
| 1113 | @kindex C-c C-x M-w | 1110 | @orgcmd{C-c C-x M-w,org-copy-subtree} |
| 1114 | @item C-c C-x M-w | ||
| 1115 | Copy subtree to kill ring. With a numeric prefix argument N, copy the N | 1111 | Copy subtree to kill ring. With a numeric prefix argument N, copy the N |
| 1116 | sequential subtrees. | 1112 | sequential subtrees. |
| 1117 | @kindex C-c C-x C-y | 1113 | @orgcmd{C-c C-x C-y,org-paste-subtree} |
| 1118 | @item C-c C-x C-y | ||
| 1119 | Yank subtree from kill ring. This does modify the level of the subtree to | 1114 | Yank subtree from kill ring. This does modify the level of the subtree to |
| 1120 | make sure the tree fits in nicely at the yank position. The yank level can | 1115 | make sure the tree fits in nicely at the yank position. The yank level can |
| 1121 | also be specified with a numeric prefix argument, or by yanking after a | 1116 | also be specified with a numeric prefix argument, or by yanking after a |
| 1122 | headline marker like @samp{****}. | 1117 | headline marker like @samp{****}. |
| 1123 | @kindex C-y | 1118 | @orgcmd{C-y,org-yank} |
| 1124 | @item C-y | ||
| 1125 | @vindex org-yank-adjusted-subtrees | 1119 | @vindex org-yank-adjusted-subtrees |
| 1126 | @vindex org-yank-folded-subtrees | 1120 | @vindex org-yank-folded-subtrees |
| 1127 | Depending on the variables @code{org-yank-adjusted-subtrees} and | 1121 | Depending on the variables @code{org-yank-adjusted-subtrees} and |
| @@ -1134,19 +1128,16 @@ previously visible. Any prefix argument to this command will force a normal | |||
| 1134 | force a normal yank is @kbd{C-u C-y}. If you use @code{yank-pop} after a | 1128 | force a normal yank is @kbd{C-u C-y}. If you use @code{yank-pop} after a |
| 1135 | yank, it will yank previous kill items plainly, without adjustment and | 1129 | yank, it will yank previous kill items plainly, without adjustment and |
| 1136 | folding. | 1130 | folding. |
| 1137 | @kindex C-c C-x c | 1131 | @orgcmd{C-c C-x c,org-clone-subtree-with-time-shift} |
| 1138 | @item C-c C-x c | ||
| 1139 | Clone a subtree by making a number of sibling copies of it. You will be | 1132 | Clone a subtree by making a number of sibling copies of it. You will be |
| 1140 | prompted for the number of copies to make, and you can also specify if any | 1133 | prompted for the number of copies to make, and you can also specify if any |
| 1141 | timestamps in the entry should be shifted. This can be useful, for example, | 1134 | timestamps in the entry should be shifted. This can be useful, for example, |
| 1142 | to create a number of tasks related to a series of lectures to prepare. For | 1135 | to create a number of tasks related to a series of lectures to prepare. For |
| 1143 | more details, see the docstring of the command | 1136 | more details, see the docstring of the command |
| 1144 | @code{org-clone-subtree-with-time-shift}. | 1137 | @code{org-clone-subtree-with-time-shift}. |
| 1145 | @kindex C-c C-w | 1138 | @orgcmd{C-c C-w,org-refile} |
| 1146 | @item C-c C-w | ||
| 1147 | Refile entry or region to a different location. @xref{Refiling notes}. | 1139 | Refile entry or region to a different location. @xref{Refiling notes}. |
| 1148 | @kindex C-c ^ | 1140 | @orgcmd{C-c ^,org-sort-entries-or-items} |
| 1149 | @item C-c ^ | ||
| 1150 | Sort same-level entries. When there is an active region, all entries in the | 1141 | Sort same-level entries. When there is an active region, all entries in the |
| 1151 | region will be sorted. Otherwise the children of the current headline are | 1142 | region will be sorted. Otherwise the children of the current headline are |
| 1152 | sorted. The command prompts for the sorting method, which can be | 1143 | sorted. The command prompts for the sorting method, which can be |
| @@ -1157,14 +1148,11 @@ of a property. Reverse sorting is possible as well. You can also supply | |||
| 1157 | your own function to extract the sorting key. With a @kbd{C-u} prefix, | 1148 | your own function to extract the sorting key. With a @kbd{C-u} prefix, |
| 1158 | sorting will be case-sensitive. With two @kbd{C-u C-u} prefixes, duplicate | 1149 | sorting will be case-sensitive. With two @kbd{C-u C-u} prefixes, duplicate |
| 1159 | entries will also be removed. | 1150 | entries will also be removed. |
| 1160 | @kindex C-x n s | 1151 | @orgcmd{C-x n s,org-narrow-to-subtree} |
| 1161 | @item C-x n s | ||
| 1162 | Narrow buffer to current subtree. | 1152 | Narrow buffer to current subtree. |
| 1163 | @kindex C-x n w | 1153 | @orgcmd{C-x n w,widen} |
| 1164 | @item C-x n w | ||
| 1165 | Widen buffer to remove narrowing. | 1154 | Widen buffer to remove narrowing. |
| 1166 | @kindex C-c * | 1155 | @orgcmd{C-c *,org-toggle-heading} |
| 1167 | @item C-c * | ||
| 1168 | Turn a normal line or plain list item into a headline (so that it becomes a | 1156 | Turn a normal line or plain list item into a headline (so that it becomes a |
| 1169 | subheading at its location). Also turn a headline into a normal line by | 1157 | subheading at its location). Also turn a headline into a normal line by |
| 1170 | removing the stars. If there is an active region, turn all lines in the | 1158 | removing the stars. If there is an active region, turn all lines in the |
| @@ -1208,9 +1196,8 @@ and you will see immediately how it works. | |||
| 1208 | Org-mode contains several commands creating such trees, all these | 1196 | Org-mode contains several commands creating such trees, all these |
| 1209 | commands can be accessed through a dispatcher: | 1197 | commands can be accessed through a dispatcher: |
| 1210 | 1198 | ||
| 1211 | @table @kbd | 1199 | @table @asis |
| 1212 | @kindex C-c / | 1200 | @orgcmd{C-c /,org-sparse-tree} |
| 1213 | @item C-c / | ||
| 1214 | This prompts for an extra key to select a sparse-tree creating command. | 1201 | This prompts for an extra key to select a sparse-tree creating command. |
| 1215 | @kindex C-c / r | 1202 | @kindex C-c / r |
| 1216 | @item C-c / r | 1203 | @item C-c / r |
| @@ -1264,9 +1251,9 @@ part of the document and print the resulting file. | |||
| 1264 | @cindex ordered lists | 1251 | @cindex ordered lists |
| 1265 | 1252 | ||
| 1266 | Within an entry of the outline tree, hand-formatted lists can provide | 1253 | Within an entry of the outline tree, hand-formatted lists can provide |
| 1267 | additional structure. They also provide a way to create lists of | 1254 | additional structure. They also provide a way to create lists of checkboxes |
| 1268 | checkboxes (@pxref{Checkboxes}). Org supports editing such lists, | 1255 | (@pxref{Checkboxes}). Org supports editing such lists, and every exporter |
| 1269 | and the HTML exporter (@pxref{Exporting}) parses and formats them. | 1256 | (@pxref{Exporting}) can parse and format them. |
| 1270 | 1257 | ||
| 1271 | Org knows ordered lists, unordered lists, and description lists. | 1258 | Org knows ordered lists, unordered lists, and description lists. |
| 1272 | @itemize @bullet | 1259 | @itemize @bullet |
| @@ -1279,26 +1266,39 @@ visually indistinguishable from true headlines. In short: even though | |||
| 1279 | @samp{*} is supported, it may be better to not use it for plain list items.} | 1266 | @samp{*} is supported, it may be better to not use it for plain list items.} |
| 1280 | as bullets. | 1267 | as bullets. |
| 1281 | @item | 1268 | @item |
| 1269 | @vindex org-plain-list-ordered-item-terminator | ||
| 1282 | @emph{Ordered} list items start with a numeral followed by either a period or | 1270 | @emph{Ordered} list items start with a numeral followed by either a period or |
| 1283 | a right parenthesis, such as @samp{1.} or @samp{1)}. If you want a list to | 1271 | a right parenthesis@footnote{You can filter out any of them by configuring |
| 1284 | start a different value (e.g. 20), start the text of the item with | 1272 | @code{org-plain-list-ordered-item-terminator}.}, such as @samp{1.} or |
| 1285 | @code{[@@start:20]}. | 1273 | @samp{1)}. If you want a list to start a different value (e.g. 20), start |
| 1274 | the text of the item with @code{[@@20]}@footnote{If there's a checkbox in the | ||
| 1275 | item, the cookie must be put @emph{before} the checkbox.}. Those constructs | ||
| 1276 | can be used in any item of the list in order to enforce a particular | ||
| 1277 | numbering. | ||
| 1286 | @item | 1278 | @item |
| 1287 | @emph{Description} list items are unordered list items, and contain the | 1279 | @emph{Description} list items are unordered list items, and contain the |
| 1288 | separator @samp{ :: } to separate the description @emph{term} from the | 1280 | separator @samp{ :: } to separate the description @emph{term} from the |
| 1289 | description. | 1281 | description. |
| 1290 | @end itemize | 1282 | @end itemize |
| 1291 | 1283 | ||
| 1292 | @vindex org-empty-line-terminates-plain-lists | ||
| 1293 | Items belonging to the same list must have the same indentation on the first | 1284 | Items belonging to the same list must have the same indentation on the first |
| 1294 | line. In particular, if an ordered list reaches number @samp{10.}, then the | 1285 | line. In particular, if an ordered list reaches number @samp{10.}, then the |
| 1295 | 2--digit numbers must be written left-aligned with the other numbers in the | 1286 | 2--digit numbers must be written left-aligned with the other numbers in the |
| 1296 | list. Indentation also determines the end of a list item. It ends before | 1287 | list. |
| 1297 | the next line that is indented like the bullet/number, or less. Empty lines | 1288 | |
| 1298 | are part of the previous item, so you can have several paragraphs in one | 1289 | @vindex org-list-ending-method |
| 1299 | item. If you would like an empty line to terminate all currently open plain | 1290 | @vindex org-list-end-regexp |
| 1300 | lists, configure the variable @code{org-empty-line-terminates-plain-lists}. | 1291 | @vindex org-empty-line-terminates-plain-lists |
| 1301 | Here is an example: | 1292 | Two methods@footnote{To disable either of them, configure |
| 1293 | @code{org-list-ending-method}.} are provided to terminate lists. A list ends | ||
| 1294 | before the next line that is indented like the bullet/number or less, or it | ||
| 1295 | ends before two blank lines@footnote{See also | ||
| 1296 | @code{org-empty-line-terminates-plain-lists}.}. In both cases, all levels of | ||
| 1297 | the list are closed@footnote{So you cannot have a sublist, some text and then | ||
| 1298 | another sublist while still in the same top-level list item. This used to be | ||
| 1299 | possible, but it was only supported in the HTML exporter and difficult to | ||
| 1300 | manage with automatic indentation.}. For finer control, you can end lists | ||
| 1301 | with any pattern set in @code{org-list-end-regexp}. Here is an example: | ||
| 1302 | 1302 | ||
| 1303 | @example | 1303 | @example |
| 1304 | @group | 1304 | @group |
| @@ -1309,8 +1309,8 @@ Here is an example: | |||
| 1309 | + this was already my favorite scene in the book | 1309 | + this was already my favorite scene in the book |
| 1310 | + I really like Miranda Otto. | 1310 | + I really like Miranda Otto. |
| 1311 | 3. Peter Jackson being shot by Legolas | 1311 | 3. Peter Jackson being shot by Legolas |
| 1312 | - on DVD only | ||
| 1313 | He makes a really funny face when it happens. | 1312 | He makes a really funny face when it happens. |
| 1313 | - on DVD only | ||
| 1314 | But in the end, no individual scenes matter but the film as a whole. | 1314 | But in the end, no individual scenes matter but the film as a whole. |
| 1315 | Important actors in this film are: | 1315 | Important actors in this film are: |
| 1316 | - @b{Elijah Wood} :: He plays Frodo | 1316 | - @b{Elijah Wood} :: He plays Frodo |
| @@ -1325,19 +1325,23 @@ XEmacs, you should use Kyle E. Jones' @file{filladapt.el}. To turn this on, | |||
| 1325 | put into @file{.emacs}: @code{(require 'filladapt)}}, and by exporting them | 1325 | put into @file{.emacs}: @code{(require 'filladapt)}}, and by exporting them |
| 1326 | properly (@pxref{Exporting}). Since indentation is what governs the | 1326 | properly (@pxref{Exporting}). Since indentation is what governs the |
| 1327 | structure of these lists, many structural constructs like @code{#+BEGIN_...} | 1327 | structure of these lists, many structural constructs like @code{#+BEGIN_...} |
| 1328 | blocks can be indented to signal that they should be part of a list item. | 1328 | blocks can be indented to signal that they should be considered of a list |
| 1329 | item. | ||
| 1329 | 1330 | ||
| 1330 | @vindex org-list-demote-modify-bullet | 1331 | @vindex org-list-demote-modify-bullet |
| 1331 | If you find that using a different bullet for a sub-list (than that used for | 1332 | If you find that using a different bullet for a sub-list (than that used for |
| 1332 | the current list-level) improves readability, customize the variable | 1333 | the current list-level) improves readability, customize the variable |
| 1333 | @code{org-list-demote-modify-bullet}. | 1334 | @code{org-list-demote-modify-bullet}. |
| 1334 | 1335 | ||
| 1335 | The following commands act on items when the cursor is in the first line | 1336 | @vindex org-list-automatic-rules |
| 1336 | of an item (the line with the bullet or number). | 1337 | The following commands act on items when the cursor is in the first line of |
| 1338 | an item (the line with the bullet or number). Some of them imply the | ||
| 1339 | application of automatic rules to keep list structure in tact. If some of | ||
| 1340 | these actions get in your way, configure @code{org-list-automatic-rules} | ||
| 1341 | to disable them individually. | ||
| 1337 | 1342 | ||
| 1338 | @table @kbd | 1343 | @table @asis |
| 1339 | @kindex @key{TAB} | 1344 | @orgcmd{@key{TAB},org-cycle} |
| 1340 | @item @key{TAB} | ||
| 1341 | @vindex org-cycle-include-plain-lists | 1345 | @vindex org-cycle-include-plain-lists |
| 1342 | Items can be folded just like headline levels. Normally this works only if | 1346 | Items can be folded just like headline levels. Normally this works only if |
| 1343 | the cursor is on a plain list item. For more details, see the variable | 1347 | the cursor is on a plain list item. For more details, see the variable |
| @@ -1345,31 +1349,29 @@ the cursor is on a plain list item. For more details, see the variable | |||
| 1345 | will be treated like low-level. The level of an item is then given by the | 1349 | will be treated like low-level. The level of an item is then given by the |
| 1346 | indentation of the bullet/number. Items are always subordinate to real | 1350 | indentation of the bullet/number. Items are always subordinate to real |
| 1347 | headlines, however; the hierarchies remain completely separated. | 1351 | headlines, however; the hierarchies remain completely separated. |
| 1348 | 1352 | @orgcmd{M-@key{RET},org-insert-heading} | |
| 1349 | If @code{org-cycle-include-plain-lists} has not been set, @key{TAB} | ||
| 1350 | fixes the indentation of the current line in a heuristic way. | ||
| 1351 | @kindex M-@key{RET} | ||
| 1352 | @item M-@key{RET} | ||
| 1353 | @vindex org-M-RET-may-split-line | 1353 | @vindex org-M-RET-may-split-line |
| 1354 | @vindex org-list-automatic-rules | ||
| 1354 | Insert new item at current level. With a prefix argument, force a new | 1355 | Insert new item at current level. With a prefix argument, force a new |
| 1355 | heading (@pxref{Structure editing}). If this command is used in the middle | 1356 | heading (@pxref{Structure editing}). If this command is used in the middle |
| 1356 | of a line, the line is @emph{split} and the rest of the line becomes the new | 1357 | of a line, the line is @emph{split} and the rest of the line becomes the new |
| 1357 | item@footnote{If you do not want the line to be split, customize the variable | 1358 | item@footnote{If you do not want the line to be split, customize the variable |
| 1358 | @code{org-M-RET-may-split-line}.}. If this command is executed in the | 1359 | @code{org-M-RET-may-split-line}.}. If this command is executed @emph{before |
| 1359 | @emph{whitespace before a bullet or number}, the new item is created | 1360 | item's body}, the new item is created @emph{before} the current item. If the |
| 1360 | @emph{before} the current item. If the command is executed in the white | 1361 | command is executed in the white space before the text that is part of an |
| 1361 | space before the text that is part of an item but does not contain the | 1362 | item but does not contain the bullet, a bullet is added to the current line. |
| 1362 | bullet, a bullet is added to the current line. | 1363 | |
| 1364 | As a new item cannot be inserted in a structural construct (like an example | ||
| 1365 | or source code block) within a list, Org will instead insert it right before | ||
| 1366 | the structure, or return an error. | ||
| 1363 | @kindex M-S-@key{RET} | 1367 | @kindex M-S-@key{RET} |
| 1364 | @item M-S-@key{RET} | 1368 | @item M-S-@key{RET} |
| 1365 | Insert a new item with a checkbox (@pxref{Checkboxes}). | 1369 | Insert a new item with a checkbox (@pxref{Checkboxes}). |
| 1366 | @kindex @key{TAB} | 1370 | @orgcmd{@key{TAB},org-cycle} |
| 1367 | @item @key{TAB} @r{in new, empty item} | ||
| 1368 | In a new item with no text yet, the first @key{TAB} demotes the item to | 1371 | In a new item with no text yet, the first @key{TAB} demotes the item to |
| 1369 | become a child of the previous one. The next @key{TAB} makes it a parent, | 1372 | become a child of the previous one. Subsequents @key{TAB} move the item to |
| 1370 | and so on, all the way to the left margin. Yet another @key{TAB}, and you | 1373 | meaningful levels in the list and eventually get it back to its initial |
| 1371 | are back to the initial level. | 1374 | position. |
| 1372 | @kindex S-@key{up} | ||
| 1373 | @kindex S-@key{down} | 1375 | @kindex S-@key{down} |
| 1374 | @item S-@key{up} | 1376 | @item S-@key{up} |
| 1375 | @itemx S-@key{down} | 1377 | @itemx S-@key{down} |
| @@ -1396,25 +1398,35 @@ Decrease/increase the indentation of an item, leaving children alone. | |||
| 1396 | @item M-S-@key{left} | 1398 | @item M-S-@key{left} |
| 1397 | @itemx M-S-@key{right} | 1399 | @itemx M-S-@key{right} |
| 1398 | Decrease/increase the indentation of the item, including subitems. | 1400 | Decrease/increase the indentation of the item, including subitems. |
| 1399 | Initially, the item tree is selected based on current indentation. | 1401 | Initially, the item tree is selected based on current indentation. When |
| 1400 | When these commands are executed several times in direct succession, | 1402 | these commands are executed several times in direct succession, the initially |
| 1401 | the initially selected region is used, even if the new indentation | 1403 | selected region is used, even if the new indentation would imply a different |
| 1402 | would imply a different hierarchy. To use the new hierarchy, break | 1404 | hierarchy. To use the new hierarchy, break the command chain with a cursor |
| 1403 | the command chain with a cursor motion or so. | 1405 | motion or so. |
| 1406 | |||
| 1407 | As a special case, using this command on the very first item of a list will | ||
| 1408 | move the whole list. This behavior can be disabled by configuring | ||
| 1409 | @code{org-list-automatic-rules}. The global indentation of a list has no | ||
| 1410 | influence on the text @emph{after} the list. | ||
| 1404 | @kindex C-c C-c | 1411 | @kindex C-c C-c |
| 1405 | @item C-c C-c | 1412 | @item C-c C-c |
| 1406 | If there is a checkbox (@pxref{Checkboxes}) in the item line, toggle the | 1413 | If there is a checkbox (@pxref{Checkboxes}) in the item line, toggle the |
| 1407 | state of the checkbox. If not, this command makes sure that all the | 1414 | state of the checkbox. Also, makes sure that all the |
| 1408 | items on this list level use the same bullet. Furthermore, if this is | 1415 | items on this list level use the same bullet and that the numbering of list |
| 1409 | an ordered list, make sure the numbering is OK. | 1416 | items (if applicable) is correct. |
| 1410 | @kindex C-c - | 1417 | @kindex C-c - |
| 1418 | @vindex org-plain-list-ordered-item-terminator | ||
| 1419 | @vindex org-list-automatic-rules | ||
| 1411 | @item C-c - | 1420 | @item C-c - |
| 1412 | Cycle the entire list level through the different itemize/enumerate bullets | 1421 | Cycle the entire list level through the different itemize/enumerate bullets |
| 1413 | (@samp{-}, @samp{+}, @samp{*}, @samp{1.}, @samp{1)}). With a numeric prefix | 1422 | (@samp{-}, @samp{+}, @samp{*}, @samp{1.}, @samp{1)}) or a subset of them, |
| 1414 | argument N, select the Nth bullet from this list. If there is an active | 1423 | depending on @code{org-plain-list-ordered-item-terminator}, the type of list, |
| 1415 | region when calling this, all lines will be converted to list items. If the | 1424 | and its position@footnote{See @code{bullet} rule in |
| 1416 | first line already was a list item, any item markers will be removed from the | 1425 | @code{org-list-automatic-rules} for more information.}. With a numeric |
| 1417 | list. Finally, even without an active region, a normal line will be | 1426 | prefix argument N, select the Nth bullet from this list. If there is an |
| 1427 | active region when calling this, all lines will be converted to list items. | ||
| 1428 | If the first line already was a list item, any item markers will be removed | ||
| 1429 | from the list. Finally, even without an active region, a normal line will be | ||
| 1418 | converted into a list item. | 1430 | converted into a list item. |
| 1419 | @kindex C-c * | 1431 | @kindex C-c * |
| 1420 | @item C-c * | 1432 | @item C-c * |
| @@ -1696,8 +1708,7 @@ unpredictable for you, configure the variables | |||
| 1696 | 1708 | ||
| 1697 | @table @kbd | 1709 | @table @kbd |
| 1698 | @tsubheading{Creation and conversion} | 1710 | @tsubheading{Creation and conversion} |
| 1699 | @kindex C-c | | 1711 | @orgcmd{C-c |,org-table-create-or-convert-from-region} |
| 1700 | @item C-c | | ||
| 1701 | Convert the active region to table. If every line contains at least one | 1712 | Convert the active region to table. If every line contains at least one |
| 1702 | TAB character, the function assumes that the material is tab separated. | 1713 | TAB character, the function assumes that the material is tab separated. |
| 1703 | If every line contains a comma, comma-separated values (CSV) are assumed. | 1714 | If every line contains a comma, comma-separated values (CSV) are assumed. |
| @@ -1711,21 +1722,17 @@ table. But it's easier just to start typing, like | |||
| 1711 | @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}}. | 1722 | @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}}. |
| 1712 | 1723 | ||
| 1713 | @tsubheading{Re-aligning and field motion} | 1724 | @tsubheading{Re-aligning and field motion} |
| 1714 | @kindex C-c C-c | 1725 | @orgcmd{C-c C-c,org-ctrl-c-ctrl-c} |
| 1715 | @item C-c C-c | ||
| 1716 | Re-align the table without moving the cursor. | 1726 | Re-align the table without moving the cursor. |
| 1717 | @c | 1727 | @c |
| 1718 | @kindex @key{TAB} | 1728 | @orgcmd{<TAB>,org-cycle} |
| 1719 | @item @key{TAB} | ||
| 1720 | Re-align the table, move to the next field. Creates a new row if | 1729 | Re-align the table, move to the next field. Creates a new row if |
| 1721 | necessary. | 1730 | necessary. |
| 1722 | @c | 1731 | @c |
| 1723 | @kindex S-@key{TAB} | 1732 | @orgcmd{S-@key{TAB},org-shifttab} |
| 1724 | @item S-@key{TAB} | ||
| 1725 | Re-align, move to previous field. | 1733 | Re-align, move to previous field. |
| 1726 | @c | 1734 | @c |
| 1727 | @kindex @key{RET} | 1735 | @orgcmd{@key{RET},org-return} |
| 1728 | @item @key{RET} | ||
| 1729 | Re-align the table and move down to next row. Creates a new row if | 1736 | Re-align the table and move down to next row. Creates a new row if |
| 1730 | necessary. At the beginning or end of a line, @key{RET} still does | 1737 | necessary. At the beginning or end of a line, @key{RET} still does |
| 1731 | NEWLINE, so it can be used to split a table. | 1738 | NEWLINE, so it can be used to split a table. |
| @@ -1940,9 +1947,10 @@ on a per-file basis with: | |||
| 1940 | @end example | 1947 | @end example |
| 1941 | 1948 | ||
| 1942 | If you would like to overrule the automatic alignment of number-rich columns | 1949 | If you would like to overrule the automatic alignment of number-rich columns |
| 1943 | to the right and of string-rich column to the left, you and use @samp{<r>} or | 1950 | to the right and of string-rich column to the left, you and use @samp{<r>}, |
| 1944 | @samp{<l>} in a similar fashion. You may also combine alignment and field | 1951 | @samp{c}@footnote{Centering does not work inside Emacs, but it does have an |
| 1945 | width like this: @samp{<l10>}. | 1952 | effect when exporting to HTML.} or @samp{<l>} in a similar fashion. You may |
| 1953 | also combine alignment and field width like this: @samp{<l10>}. | ||
| 1946 | 1954 | ||
| 1947 | Lines which only contain these formatting cookies will be removed | 1955 | Lines which only contain these formatting cookies will be removed |
| 1948 | automatically when exporting the document. | 1956 | automatically when exporting the document. |
| @@ -2807,23 +2815,13 @@ text before the first headline is usually not exported, so the first such | |||
| 2807 | target should be after the first headline, or in the line directly before the | 2815 | target should be after the first headline, or in the line directly before the |
| 2808 | first headline.}. | 2816 | first headline.}. |
| 2809 | 2817 | ||
| 2810 | If no dedicated target exists, Org will search for the words in the link. In | 2818 | If no dedicated target exists, Org will search for a headline that is exactly |
| 2811 | the above example the search would be for @samp{my target}. Links starting | 2819 | the link text but may also include a TODO keyword and tags@footnote{To insert |
| 2812 | with a star like @samp{*My Target} restrict the search to | 2820 | a link targeting a headline, in-buffer completion can be used. Just type a |
| 2813 | headlines@footnote{To insert a link targeting a headline, in-buffer | 2821 | star followed by a few optional letters into the buffer and press |
| 2814 | completion can be used. Just type a star followed by a few optional letters | 2822 | @kbd{M-@key{TAB}}. All headlines in the current buffer will be offered as |
| 2815 | into the buffer and press @kbd{M-@key{TAB}}. All headlines in the current | 2823 | completions.}. In non-Org files, the search will look for the words in the |
| 2816 | buffer will be offered as completions. @xref{Handling links}, for more | 2824 | link text, in the above example the search would be for @samp{my target}. |
| 2817 | commands creating links.}. When searching, Org-mode will first try an | ||
| 2818 | exact match, but then move on to more and more lenient searches. For | ||
| 2819 | example, the link @samp{[[*My Targets]]} will find any of the following: | ||
| 2820 | |||
| 2821 | @example | ||
| 2822 | ** My targets | ||
| 2823 | ** TODO my targets are bright | ||
| 2824 | ** my 20 targets are | ||
| 2825 | @end example | ||
| 2826 | |||
| 2827 | 2825 | ||
| 2828 | Following a link pushes a mark onto Org's own mark ring. You can | 2826 | Following a link pushes a mark onto Org's own mark ring. You can |
| 2829 | return to the previous position with @kbd{C-c &}. Using this command | 2827 | return to the previous position with @kbd{C-c &}. Using this command |
| @@ -3087,11 +3085,17 @@ variable @code{org-display-internal-link-with-indirect-buffer}}. | |||
| 3087 | @cindex inlining images | 3085 | @cindex inlining images |
| 3088 | @cindex images, inlining | 3086 | @cindex images, inlining |
| 3089 | @kindex C-c C-x C-v | 3087 | @kindex C-c C-x C-v |
| 3088 | @vindex org-startup-with-inline-images | ||
| 3089 | @cindex @code{inlineimages}, STARTUP keyword | ||
| 3090 | @cindex @code{noinlineimages}, STARTUP keyword | ||
| 3090 | @item C-c C-x C-v | 3091 | @item C-c C-x C-v |
| 3091 | Toggle the inline display of linked images. Normally this will only inline | 3092 | Toggle the inline display of linked images. Normally this will only inline |
| 3092 | images that have no description part in the link, i.e. images that will also | 3093 | images that have no description part in the link, i.e. images that will also |
| 3093 | be inlined during export. When called with a prefix argument, also display | 3094 | be inlined during export. When called with a prefix argument, also display |
| 3094 | images that do have a link description. | 3095 | images that do have a link description. You can ask for inline images to be |
| 3096 | displayed at startup by configuring the variable | ||
| 3097 | @code{org-startup-with-inline-images}@footnote{with corresponding | ||
| 3098 | @code{#+STARTUP} keywords @code{inlineimages} and @code{inlineimages}}. | ||
| 3095 | @cindex mark ring | 3099 | @cindex mark ring |
| 3096 | @kindex C-c % | 3100 | @kindex C-c % |
| 3097 | @item C-c % | 3101 | @item C-c % |
| @@ -3157,15 +3161,16 @@ letters, numbers, @samp{-}, and @samp{_}. Abbreviations are resolved | |||
| 3157 | according to the information in the variable @code{org-link-abbrev-alist} | 3161 | according to the information in the variable @code{org-link-abbrev-alist} |
| 3158 | that relates the linkwords to replacement text. Here is an example: | 3162 | that relates the linkwords to replacement text. Here is an example: |
| 3159 | 3163 | ||
| 3160 | @lisp | 3164 | @smalllisp |
| 3161 | @group | 3165 | @group |
| 3162 | (setq org-link-abbrev-alist | 3166 | (setq org-link-abbrev-alist |
| 3163 | '(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=") | 3167 | '(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=") |
| 3164 | ("google" . "http://www.google.com/search?q=") | 3168 | ("google" . "http://www.google.com/search?q=") |
| 3165 | ("ads" . "http://adsabs.harvard.edu/cgi-bin/ | 3169 | ("gmap" . "http://maps.google.com/maps?q=%s") |
| 3166 | nph-abs_connect?author=%s&db_key=AST"))) | 3170 | ("omap" . "http://nominatim.openstreetmap.org/search?q=%s&polygon=1") |
| 3171 | ("ads" . "http://adsabs.harvard.edu/cgi-bin/nph-abs_connect?author=%s&db_key=AST"))) | ||
| 3167 | @end group | 3172 | @end group |
| 3168 | @end lisp | 3173 | @end smalllisp |
| 3169 | 3174 | ||
| 3170 | If the replacement text contains the string @samp{%s}, it will be | 3175 | If the replacement text contains the string @samp{%s}, it will be |
| 3171 | replaced with the tag. Otherwise the tag will be appended to the string | 3176 | replaced with the tag. Otherwise the tag will be appended to the string |
| @@ -3174,8 +3179,11 @@ be called with the tag as the only argument to create the link. | |||
| 3174 | 3179 | ||
| 3175 | With the above setting, you could link to a specific bug with | 3180 | With the above setting, you could link to a specific bug with |
| 3176 | @code{[[bugzilla:129]]}, search the web for @samp{OrgMode} with | 3181 | @code{[[bugzilla:129]]}, search the web for @samp{OrgMode} with |
| 3177 | @code{[[google:OrgMode]]} and find out what the Org author is | 3182 | @code{[[google:OrgMode]]}, show the map location of the Free Software |
| 3178 | doing besides Emacs hacking with @code{[[ads:Dominik,C]]}. | 3183 | Foundation @code{[[gmap:51 Franklin Street, Boston]]} or of Carsten office |
| 3184 | @code{[[omap:Science Park 904, Amsterdam, The Netherlands]]} and find out | ||
| 3185 | what the Org author is doing besides Emacs hacking with | ||
| 3186 | @code{[[ads:Dominik,C]]}. | ||
| 3179 | 3187 | ||
| 3180 | If you need special abbreviations just for a single Org buffer, you | 3188 | If you need special abbreviations just for a single Org buffer, you |
| 3181 | can define them in the file with | 3189 | can define them in the file with |
| @@ -3810,7 +3818,10 @@ The habit is a TODO, with a TODO keyword representing an open state. | |||
| 3810 | @item | 3818 | @item |
| 3811 | The property @code{STYLE} is set to the value @code{habit}. | 3819 | The property @code{STYLE} is set to the value @code{habit}. |
| 3812 | @item | 3820 | @item |
| 3813 | The TODO has a scheduled date, with a @code{.+} style repeat interval. | 3821 | The TODO has a scheduled date, usually with a @code{.+} style repeat |
| 3822 | interval. A @code{++} style may be appropriate for habits with time | ||
| 3823 | constraints, e.g., must be done on weekends, or a @code{+} style for an | ||
| 3824 | unusual habit that can have a backlog, e.g., weekly reports. | ||
| 3814 | @item | 3825 | @item |
| 3815 | The TODO may also have minimum and maximum ranges specified by using the | 3826 | The TODO may also have minimum and maximum ranges specified by using the |
| 3816 | syntax @samp{.+2d/3d}, which says that you want to do the task at least every | 3827 | syntax @samp{.+2d/3d}, which says that you want to do the task at least every |
| @@ -3908,13 +3919,13 @@ placing a @emph{priority cookie} into the headline of a TODO item, like this | |||
| 3908 | @vindex org-priority-faces | 3919 | @vindex org-priority-faces |
| 3909 | By default, Org-mode supports three priorities: @samp{A}, @samp{B}, and | 3920 | By default, Org-mode supports three priorities: @samp{A}, @samp{B}, and |
| 3910 | @samp{C}. @samp{A} is the highest priority. An entry without a cookie is | 3921 | @samp{C}. @samp{A} is the highest priority. An entry without a cookie is |
| 3911 | treated as priority @samp{B}. Priorities make a difference only in the | 3922 | treated just like priority @samp{B}. Priorities make a difference only for |
| 3912 | agenda (@pxref{Weekly/daily agenda}); outside the agenda, they have no | 3923 | sorting in the agenda (@pxref{Weekly/daily agenda}); outside the agenda, they |
| 3913 | inherent meaning to Org-mode. The cookies can be highlighted with special | 3924 | have no inherent meaning to Org-mode. The cookies can be highlighted with |
| 3914 | faces by customizing the variable @code{org-priority-faces}. | 3925 | special faces by customizing the variable @code{org-priority-faces}. |
| 3915 | 3926 | ||
| 3916 | Priorities can be attached to any outline tree entries; they do not need | 3927 | Priorities can be attached to any outline node; they do not need to be TODO |
| 3917 | to be TODO items. | 3928 | items. |
| 3918 | 3929 | ||
| 3919 | @table @kbd | 3930 | @table @kbd |
| 3920 | @kindex @kbd{C-c ,} | 3931 | @kindex @kbd{C-c ,} |
| @@ -4017,13 +4028,16 @@ large number of subtasks (@pxref{Checkboxes}). | |||
| 4017 | @section Checkboxes | 4028 | @section Checkboxes |
| 4018 | @cindex checkboxes | 4029 | @cindex checkboxes |
| 4019 | 4030 | ||
| 4020 | Every item in a plain list (@pxref{Plain lists}) can be made into a | 4031 | @vindex org-list-automatic-rules |
| 4021 | checkbox by starting it with the string @samp{[ ]}. This feature is | 4032 | Every item in a plain list@footnote{With the exception of description |
| 4022 | similar to TODO items (@pxref{TODO Items}), but is more lightweight. | 4033 | lists. But you can allow it by modifying @code{org-list-automatic-rules} |
| 4023 | Checkboxes are not included into the global TODO list, so they are often | 4034 | accordingly.} (@pxref{Plain lists}) can be made into a checkbox by starting |
| 4024 | great to split a task into a number of simple steps. Or you can use | 4035 | it with the string @samp{[ ]}. This feature is similar to TODO items |
| 4025 | them in a shopping list. To toggle a checkbox, use @kbd{C-c C-c}, or | 4036 | (@pxref{TODO Items}), but is more lightweight. Checkboxes are not included |
| 4026 | use the mouse (thanks to Piotr Zielinski's @file{org-mouse.el}). | 4037 | into the global TODO list, so they are often great to split a task into a |
| 4038 | number of simple steps. Or you can use them in a shopping list. To toggle a | ||
| 4039 | checkbox, use @kbd{C-c C-c}, or use the mouse (thanks to Piotr Zielinski's | ||
| 4040 | @file{org-mouse.el}). | ||
| 4027 | 4041 | ||
| 4028 | Here is an example of a checkbox list. | 4042 | Here is an example of a checkbox list. |
| 4029 | 4043 | ||
| @@ -4738,8 +4752,8 @@ optional. The individual parts have the following meaning: | |||
| 4738 | @var{property} @r{The property that should be edited in this column.} | 4752 | @var{property} @r{The property that should be edited in this column.} |
| 4739 | @r{Special properties representing meta data are allowed here} | 4753 | @r{Special properties representing meta data are allowed here} |
| 4740 | @r{as well (@pxref{Special properties})} | 4754 | @r{as well (@pxref{Special properties})} |
| 4741 | (title) @r{The header text for the column. If omitted, the} | 4755 | @var{title} @r{The header text for the column. If omitted, the property} |
| 4742 | @r{property name is used.} | 4756 | @r{name is used.} |
| 4743 | @{@var{summary-type}@} @r{The summary type. If specified, the column values for} | 4757 | @{@var{summary-type}@} @r{The summary type. If specified, the column values for} |
| 4744 | @r{parent nodes are computed from the children.} | 4758 | @r{parent nodes are computed from the children.} |
| 4745 | @r{Supported summary types are:} | 4759 | @r{Supported summary types are:} |
| @@ -4756,9 +4770,10 @@ optional. The individual parts have the following meaning: | |||
| 4756 | @{:min@} @r{Smallest time value in column.} | 4770 | @{:min@} @r{Smallest time value in column.} |
| 4757 | @{:max@} @r{Largest time value.} | 4771 | @{:max@} @r{Largest time value.} |
| 4758 | @{:mean@} @r{Arithmetic mean of time values.} | 4772 | @{:mean@} @r{Arithmetic mean of time values.} |
| 4759 | @{@@min@} @r{Minimum age (in days/hours/mins/seconds).} | 4773 | @{@@min@} @r{Minimum age (in days/hours/mins/seconds).} |
| 4760 | @{@@max@} @r{Maximum age (in days/hours/mins/seconds).} | 4774 | @{@@max@} @r{Maximum age (in days/hours/mins/seconds).} |
| 4761 | @{@@mean@} @r{Arithmetic mean of ages (in days/hours/mins/seconds).} | 4775 | @{@@mean@} @r{Arithmetic mean of ages (in days/hours/mins/seconds).} |
| 4776 | @{est+@} @r{Add low-high estimates.} | ||
| 4762 | @end example | 4777 | @end example |
| 4763 | 4778 | ||
| 4764 | @noindent | 4779 | @noindent |
| @@ -4766,6 +4781,22 @@ Be aware that you can only have one summary type for any property you | |||
| 4766 | include. Subsequent columns referencing the same property will all display the | 4781 | include. Subsequent columns referencing the same property will all display the |
| 4767 | same summary information. | 4782 | same summary information. |
| 4768 | 4783 | ||
| 4784 | The @code{est+} summary type requires further explanation. It is used for | ||
| 4785 | combining estimates, expressed as low-high ranges. For example, instead | ||
| 4786 | of estimating a particular task will take 5 days, you might estimate it as | ||
| 4787 | 5-6 days if you're fairly confident you know how much woark is required, or | ||
| 4788 | 1-10 days if you don't really know what needs to be done. Both ranges | ||
| 4789 | average at 5.5 days, but the first represents a more predictable delivery. | ||
| 4790 | |||
| 4791 | When combining a set of such estimates, simply adding the lows and highs | ||
| 4792 | produces an unrealistically wide result. Instead, @code{est+} adds the | ||
| 4793 | statistical mean and variance of the sub-tasks, generating a final estimate | ||
| 4794 | from the sum. For example, suppose you had ten tasks, each of which was | ||
| 4795 | estimated at 0.5 to 2 days of work. Straight addition produces an estimate | ||
| 4796 | of 5 to 20 days, representing what to expect if everything goes either | ||
| 4797 | extremely well or extremely poorly. In contrast, @code{est+} estimates the | ||
| 4798 | full job more realistically, at 10-15 days. | ||
| 4799 | |||
| 4769 | Here is an example for a complete columns definition, along with allowed | 4800 | Here is an example for a complete columns definition, along with allowed |
| 4770 | values. | 4801 | values. |
| 4771 | 4802 | ||
| @@ -4978,6 +5009,7 @@ is used in a much wider sense. | |||
| 4978 | * Resolving idle time:: Resolving time if you've been idle | 5009 | * Resolving idle time:: Resolving time if you've been idle |
| 4979 | * Effort estimates:: Planning work effort in advance | 5010 | * Effort estimates:: Planning work effort in advance |
| 4980 | * Relative timer:: Notes with a running timer | 5011 | * Relative timer:: Notes with a running timer |
| 5012 | * Countdown timer:: Starting a countdown timer for a task | ||
| 4981 | @end menu | 5013 | @end menu |
| 4982 | 5014 | ||
| 4983 | 5015 | ||
| @@ -5067,15 +5099,13 @@ format. All commands listed below produce timestamps in the correct | |||
| 5067 | format. | 5099 | format. |
| 5068 | 5100 | ||
| 5069 | @table @kbd | 5101 | @table @kbd |
| 5070 | @kindex C-c . | 5102 | @orgcmd{C-c .,org-time-stamp} |
| 5071 | @item C-c . | ||
| 5072 | Prompt for a date and insert a corresponding timestamp. When the cursor is | 5103 | Prompt for a date and insert a corresponding timestamp. When the cursor is |
| 5073 | at an existing timestamp in the buffer, the command is used to modify this | 5104 | at an existing timestamp in the buffer, the command is used to modify this |
| 5074 | timestamp instead of inserting a new one. When this command is used twice in | 5105 | timestamp instead of inserting a new one. When this command is used twice in |
| 5075 | succession, a time range is inserted. | 5106 | succession, a time range is inserted. |
| 5076 | @c | 5107 | @c |
| 5077 | @kindex C-c ! | 5108 | @orgcmd{C-c !,org-time-stamp-inactive} |
| 5078 | @item C-c ! | ||
| 5079 | Like @kbd{C-c .}, but insert an inactive timestamp that will not cause | 5109 | Like @kbd{C-c .}, but insert an inactive timestamp that will not cause |
| 5080 | an agenda entry. | 5110 | an agenda entry. |
| 5081 | @c | 5111 | @c |
| @@ -5088,18 +5118,15 @@ Like @kbd{C-c .} and @kbd{C-c !}, but use the alternative format which | |||
| 5088 | contains date and time. The default time can be rounded to multiples of 5 | 5118 | contains date and time. The default time can be rounded to multiples of 5 |
| 5089 | minutes, see the option @code{org-time-stamp-rounding-minutes}. | 5119 | minutes, see the option @code{org-time-stamp-rounding-minutes}. |
| 5090 | @c | 5120 | @c |
| 5091 | @kindex C-c < | 5121 | @orgcmd{C-c <,org-date-from-calendar} |
| 5092 | @item C-c < | ||
| 5093 | Insert a timestamp corresponding to the cursor date in the Calendar. | 5122 | Insert a timestamp corresponding to the cursor date in the Calendar. |
| 5094 | @c | 5123 | @c |
| 5095 | @kindex C-c > | 5124 | @orgcmd{C-c >,org-goto-calendar} |
| 5096 | @item C-c > | ||
| 5097 | Access the Emacs calendar for the current date. If there is a | 5125 | Access the Emacs calendar for the current date. If there is a |
| 5098 | timestamp in the current line, go to the corresponding date | 5126 | timestamp in the current line, go to the corresponding date |
| 5099 | instead. | 5127 | instead. |
| 5100 | @c | 5128 | @c |
| 5101 | @kindex C-c C-o | 5129 | @orgcmd{C-c C-o,org-open-at-point} |
| 5102 | @item C-c C-o | ||
| 5103 | Access the agenda for the date given by the timestamp or -range at | 5130 | Access the agenda for the date given by the timestamp or -range at |
| 5104 | point (@pxref{Weekly/daily agenda}). | 5131 | point (@pxref{Weekly/daily agenda}). |
| 5105 | @c | 5132 | @c |
| @@ -5206,6 +5233,16 @@ The function understands English month and weekday abbreviations. If | |||
| 5206 | you want to use unabbreviated names and/or other languages, configure | 5233 | you want to use unabbreviated names and/or other languages, configure |
| 5207 | the variables @code{parse-time-months} and @code{parse-time-weekdays}. | 5234 | the variables @code{parse-time-months} and @code{parse-time-weekdays}. |
| 5208 | 5235 | ||
| 5236 | You can specify a time range by giving start and end times or by giving a | ||
| 5237 | start time and a duration (in HH:MM format). Use '-' or '--' as the separator | ||
| 5238 | in the former case and use '+' as the separator in the latter case. E.g. | ||
| 5239 | |||
| 5240 | @example | ||
| 5241 | 11am-1:15pm --> 11:00-13:15 | ||
| 5242 | 11am--1:15pm --> same as above | ||
| 5243 | 11am+2:15 --> same as above | ||
| 5244 | @end example | ||
| 5245 | |||
| 5209 | @cindex calendar, for selecting date | 5246 | @cindex calendar, for selecting date |
| 5210 | @vindex org-popup-calendar-for-date-prompt | 5247 | @vindex org-popup-calendar-for-date-prompt |
| 5211 | Parallel to the minibuffer prompt, a calendar is popped up@footnote{If | 5248 | Parallel to the minibuffer prompt, a calendar is popped up@footnote{If |
| @@ -5593,9 +5630,8 @@ Cancel the current clock. This is useful if a clock was started by | |||
| 5593 | mistake, or if you ended up working on something else. | 5630 | mistake, or if you ended up working on something else. |
| 5594 | @kindex C-c C-x C-j | 5631 | @kindex C-c C-x C-j |
| 5595 | @item C-c C-x C-j | 5632 | @item C-c C-x C-j |
| 5596 | Jump to the entry that contains the currently running clock. With a | 5633 | Jump to the headline of the currently clocked in task. With a @kbd{C-u} |
| 5597 | @kbd{C-u} prefix arg, select the target task from a list of recently clocked | 5634 | prefix arg, select the target task from a list of recently clocked tasks. |
| 5598 | tasks. | ||
| 5599 | @kindex C-c C-x C-d | 5635 | @kindex C-c C-x C-d |
| 5600 | @item C-c C-x C-d | 5636 | @item C-c C-x C-d |
| 5601 | @vindex org-remove-highlights-with-change | 5637 | @vindex org-remove-highlights-with-change |
| @@ -5835,7 +5871,7 @@ with the @kbd{/} key in the agenda (@pxref{Agenda commands}). If you have | |||
| 5835 | these estimates defined consistently, two or three key presses will narrow | 5871 | these estimates defined consistently, two or three key presses will narrow |
| 5836 | down the list to stuff that fits into an available time slot. | 5872 | down the list to stuff that fits into an available time slot. |
| 5837 | 5873 | ||
| 5838 | @node Relative timer, , Effort estimates, Dates and Times | 5874 | @node Relative timer, Countdown timer, Effort estimates, Dates and Times |
| 5839 | @section Taking notes with a relative timer | 5875 | @section Taking notes with a relative timer |
| 5840 | @cindex relative timer | 5876 | @cindex relative timer |
| 5841 | 5877 | ||
| @@ -5877,6 +5913,20 @@ by a certain amount. This can be used to fix timer strings if the timer was | |||
| 5877 | not started at exactly the right moment. | 5913 | not started at exactly the right moment. |
| 5878 | @end table | 5914 | @end table |
| 5879 | 5915 | ||
| 5916 | @node Countdown timer, , Relative timer, Dates and Times | ||
| 5917 | @section Countdown timer | ||
| 5918 | @cindex Countdown timer | ||
| 5919 | @kindex C-c C-x ; | ||
| 5920 | @kindex ; | ||
| 5921 | |||
| 5922 | Calling @code{org-timer-set-timer} from an Org-mode buffer runs a countdown | ||
| 5923 | timer. Use @key{;} from agenda buffers, @key{C-c C-x ;} everwhere else. | ||
| 5924 | |||
| 5925 | @code{org-timer-set-timer} prompts the user for a duration and displays a | ||
| 5926 | countdown timer in the modeline. @code{org-timer-default-timer} sets the | ||
| 5927 | default countdown value. Giving a prefix numeric argument overrides this | ||
| 5928 | default value. | ||
| 5929 | |||
| 5880 | @node Capture - Refile - Archive, Agenda Views, Dates and Times, Top | 5930 | @node Capture - Refile - Archive, Agenda Views, Dates and Times, Top |
| 5881 | @chapter Capture - Refile - Archive | 5931 | @chapter Capture - Refile - Archive |
| 5882 | @cindex capture | 5932 | @cindex capture |
| @@ -5934,6 +5984,7 @@ The following customization sets a default target file for notes, and defines | |||
| 5934 | a global key@footnote{Please select your own key, @kbd{C-c c} is only a | 5984 | a global key@footnote{Please select your own key, @kbd{C-c c} is only a |
| 5935 | suggestion.} for capturing new material. | 5985 | suggestion.} for capturing new material. |
| 5936 | 5986 | ||
| 5987 | @vindex org-default-notes-file | ||
| 5937 | @example | 5988 | @example |
| 5938 | (setq org-default-notes-file (concat org-directory "/notes.org")) | 5989 | (setq org-default-notes-file (concat org-directory "/notes.org")) |
| 5939 | (define-key global-map "\C-cc" 'org-capture) | 5990 | (define-key global-map "\C-cc" 'org-capture) |
| @@ -5960,7 +6011,10 @@ process, so that you can resume your work without further distraction. | |||
| 5960 | @kindex C-c C-w | 6011 | @kindex C-c C-w |
| 5961 | @item C-c C-w | 6012 | @item C-c C-w |
| 5962 | Finalize the capture process by refiling (@pxref{Refiling notes}) the note to | 6013 | Finalize the capture process by refiling (@pxref{Refiling notes}) the note to |
| 5963 | a different place. | 6014 | a different place. Please realize that this is a normal refiling command |
| 6015 | that will be executed - so the cursor position at the moment you run this | ||
| 6016 | command is important. If you have inserted a tree with a parent and | ||
| 6017 | children, first move the cursor back to the parent. | ||
| 5964 | 6018 | ||
| 5965 | @kindex C-c C-k | 6019 | @kindex C-c C-k |
| 5966 | @item C-c C-k | 6020 | @item C-c C-k |
| @@ -6067,10 +6121,12 @@ Text to be inserted as it is. | |||
| 6067 | @end table | 6121 | @end table |
| 6068 | 6122 | ||
| 6069 | @item target | 6123 | @item target |
| 6070 | Specification of where the captured item should be placed. | 6124 | @vindex org-default-notes-file |
| 6071 | In Org-mode files, targets usually define a node. Entries will become | 6125 | Specification of where the captured item should be placed. In Org-mode |
| 6072 | children of this node, other types will be added to the table or list in the | 6126 | files, targets usually define a node. Entries will become children of this |
| 6073 | body of this node. | 6127 | node, other types will be added to the table or list in the body of this |
| 6128 | node. Most target specifications contain a file name. If that file name is | ||
| 6129 | the empty string, it defaults to @code{org-default-notes-file}. | ||
| 6074 | 6130 | ||
| 6075 | Valid values are: | 6131 | Valid values are: |
| 6076 | @table @code | 6132 | @table @code |
| @@ -6139,6 +6195,10 @@ with the capture. | |||
| 6139 | @item :unnarrowed | 6195 | @item :unnarrowed |
| 6140 | Do not narrow the target buffer, simply show the full buffer. Default is to | 6196 | Do not narrow the target buffer, simply show the full buffer. Default is to |
| 6141 | narrow it so that you only see the new material. | 6197 | narrow it so that you only see the new material. |
| 6198 | |||
| 6199 | @item :kill-buffer | ||
| 6200 | If the target file was not yet visited when capture was invoked, kill the | ||
| 6201 | buffer again after capture is completed. | ||
| 6142 | @end table | 6202 | @end table |
| 6143 | @end table | 6203 | @end table |
| 6144 | 6204 | ||
| @@ -6191,16 +6251,19 @@ similar way.}: | |||
| 6191 | @smallexample | 6251 | @smallexample |
| 6192 | Link type | Available keywords | 6252 | Link type | Available keywords |
| 6193 | -------------------+---------------------------------------------- | 6253 | -------------------+---------------------------------------------- |
| 6194 | bbdb | %:name %:company | 6254 | bbdb | %:name %:company |
| 6195 | bbdb | %::server %:port %:nick | 6255 | irc | %:server %:port %:nick |
| 6196 | vm, wl, mh, rmail | %:type %:subject %:message-id | 6256 | vm, wl, mh, mew, rmail | %:type %:subject %:message-id |
| 6197 | | %:from %:fromname %:fromaddress | 6257 | | %:from %:fromname %:fromaddress |
| 6198 | | %:to %:toname %:toaddress | 6258 | | %:to %:toname %:toaddress |
| 6199 | | %:fromto @r{(either "to NAME" or "from NAME")@footnote{This will always be the other, not the user. See the variable @code{org-from-is-user-regexp}.}} | 6259 | | %:date @r{(message date header field)} |
| 6200 | gnus | %:group, @r{for messages also all email fields} | 6260 | | %:date-timestamp @r{(date as active timestamp)} |
| 6201 | w3, w3m | %:url | 6261 | | %:date-timestamp-inactive @r{(date as inactive timestamp)} |
| 6202 | info | %:file %:node | 6262 | | %:fromto @r{(either "to NAME" or "from NAME")@footnote{This will always be the other, not the user. See the variable @code{org-from-is-user-regexp}.}} |
| 6203 | calendar | %:date | 6263 | gnus | %:group, @r{for messages also all email fields} |
| 6264 | w3, w3m | %:url | ||
| 6265 | info | %:file %:node | ||
| 6266 | calendar | %:date | ||
| 6204 | @end smallexample | 6267 | @end smallexample |
| 6205 | 6268 | ||
| 6206 | @noindent | 6269 | @noindent |
| @@ -7247,6 +7310,7 @@ associated with the item. | |||
| 7247 | @subsection Categories | 7310 | @subsection Categories |
| 7248 | 7311 | ||
| 7249 | @cindex category | 7312 | @cindex category |
| 7313 | @cindex #+CATEGORY | ||
| 7250 | The category is a broad label assigned to each agenda item. By default, | 7314 | The category is a broad label assigned to each agenda item. By default, |
| 7251 | the category is simply derived from the file name, but you can also | 7315 | the category is simply derived from the file name, but you can also |
| 7252 | specify it with a special line in the buffer, like this@footnote{For | 7316 | specify it with a special line in the buffer, like this@footnote{For |
| @@ -7474,6 +7538,10 @@ Go to today. | |||
| 7474 | @item j | 7538 | @item j |
| 7475 | Prompt for a date and go there. | 7539 | Prompt for a date and go there. |
| 7476 | @c | 7540 | @c |
| 7541 | @kindex J | ||
| 7542 | @item J | ||
| 7543 | Go to the currently clocked in task in the agenda buffer. | ||
| 7544 | @c | ||
| 7477 | @kindex D | 7545 | @kindex D |
| 7478 | @item D | 7546 | @item D |
| 7479 | Toggle the inclusion of diary entries. See @ref{Weekly/daily agenda}. | 7547 | Toggle the inclusion of diary entries. See @ref{Weekly/daily agenda}. |
| @@ -7584,7 +7652,9 @@ very fast, so that you can switch quickly between different filters without | |||
| 7584 | having to recreate the agenda@footnote{Custom commands can preset a filter by | 7652 | having to recreate the agenda@footnote{Custom commands can preset a filter by |
| 7585 | binding the variable @code{org-agenda-filter-preset} as an option. This | 7653 | binding the variable @code{org-agenda-filter-preset} as an option. This |
| 7586 | filter will then be applied to the view and persist as a basic filter through | 7654 | filter will then be applied to the view and persist as a basic filter through |
| 7587 | refreshes and more secondary filtering.} | 7655 | refreshes and more secondary filtering. The filter is a global property of |
| 7656 | the entire agenda view - in a block agenda, you should only set this in the | ||
| 7657 | global options section, not in the section of an individual block.} | ||
| 7588 | 7658 | ||
| 7589 | You will be prompted for a tag selection letter, SPC will mean any tag at | 7659 | You will be prompted for a tag selection letter, SPC will mean any tag at |
| 7590 | all. Pressing @key{TAB} at that prompt will offer use completion to select a | 7660 | all. Pressing @key{TAB} at that prompt will offer use completion to select a |
| @@ -8600,6 +8670,7 @@ You may also define additional attributes for the figure. As this is | |||
| 8600 | backend-specific, see the sections about the individual backends for more | 8670 | backend-specific, see the sections about the individual backends for more |
| 8601 | information. | 8671 | information. |
| 8602 | 8672 | ||
| 8673 | @xref{Handling links,the discussion of image links}. | ||
| 8603 | 8674 | ||
| 8604 | @node Literal examples, Include files, Images and tables, Markup | 8675 | @node Literal examples, Include files, Images and tables, Markup |
| 8605 | @section Literal examples | 8676 | @section Literal examples |
| @@ -8631,13 +8702,24 @@ Here is an example | |||
| 8631 | @cindex formatting source code, markup rules | 8702 | @cindex formatting source code, markup rules |
| 8632 | If the example is source code from a programming language, or any other text | 8703 | If the example is source code from a programming language, or any other text |
| 8633 | that can be marked up by font-lock in Emacs, you can ask for the example to | 8704 | that can be marked up by font-lock in Emacs, you can ask for the example to |
| 8634 | look like the fontified Emacs buffer@footnote{Currently this works for the | 8705 | look like the fontified Emacs buffer@footnote{This works automatically for |
| 8635 | HTML backend, and requires the @file{htmlize.el} package version 1.34 or | 8706 | the HTML backend (it requires version 1.34 of the @file{htmlize.el} package, |
| 8636 | later. It also works for LaTeX with the listings package, if you turn on the | 8707 | which is distributed with Org.) Fontified code chunks in LaTeX can be |
| 8637 | option @code{org-export-latex-listings} and make sure that the listings | 8708 | achieved using either the listings or the |
| 8638 | package is included by the LaTeX header.}. This is done with the @samp{src} | 8709 | @url{http://code.google.com/p/minted, minted,} package. To use listings, turn |
| 8639 | block, where you also need to specify the name of the major mode that should | 8710 | on the variable @code{org-export-latex-listings} and ensure that the listings |
| 8640 | be used to fontify the example: | 8711 | package is included by the LaTeX header (e.g. by configuring |
| 8712 | @code{org-export-latex-packages-alist}). See the listings documentation for | ||
| 8713 | configuration options, including obtaining colored output. For minted it is | ||
| 8714 | necessary to install the program @url{http://pygments.org, pygments}, in | ||
| 8715 | addition to setting @code{org-export-latex-minted}, ensuring that the minted | ||
| 8716 | package is included by the LaTeX header, and ensuring that the | ||
| 8717 | @code{-shell-escape} option is passed to @file{pdflatex} (see | ||
| 8718 | @code{org-latex-to-pdf-process}). See the documentation of the variables | ||
| 8719 | @code{org-export-latex-listings} and @code{org-export-latex-minted} for | ||
| 8720 | further details.}. This is done with the @samp{src} block, where you also | ||
| 8721 | need to specify the name of the major mode that should be used to fontify the | ||
| 8722 | example: | ||
| 8641 | @cindex #+BEGIN_SRC | 8723 | @cindex #+BEGIN_SRC |
| 8642 | 8724 | ||
| 8643 | @example | 8725 | @example |
| @@ -8794,12 +8876,9 @@ is a macro system based on Donald E. Knuth's @TeX{} system. Many of the | |||
| 8794 | features described here as ``La@TeX{}'' are really from @TeX{}, but for | 8876 | features described here as ``La@TeX{}'' are really from @TeX{}, but for |
| 8795 | simplicity I am blurring this distinction.} is widely used to typeset | 8877 | simplicity I am blurring this distinction.} is widely used to typeset |
| 8796 | scientific documents. Org-mode supports embedding La@TeX{} code into its | 8878 | scientific documents. Org-mode supports embedding La@TeX{} code into its |
| 8797 | files, because many academics are used to reading La@TeX{} source code, and | 8879 | files, because many academics are used to writing and reading La@TeX{} source |
| 8798 | because it can be readily processed into images for HTML production. | 8880 | code, and because it can be readily processed to produce pretty output for a |
| 8799 | 8881 | number of export backends. | |
| 8800 | It is not necessary to mark La@TeX{} macros and code in any special way. | ||
| 8801 | If you observe a few conventions, Org-mode knows how to find it and what | ||
| 8802 | to do with it. | ||
| 8803 | 8882 | ||
| 8804 | @menu | 8883 | @menu |
| 8805 | * Special symbols:: Greek letters and other symbols | 8884 | * Special symbols:: Greek letters and other symbols |
| @@ -8843,7 +8922,7 @@ La@TeX{}, see the variable @code{org-entities} for the complete list. | |||
| 8843 | @samp{...} are all converted into special commands creating hyphens of | 8922 | @samp{...} are all converted into special commands creating hyphens of |
| 8844 | different lengths or a compact set of dots. | 8923 | different lengths or a compact set of dots. |
| 8845 | 8924 | ||
| 8846 | If you would like to see entities displayed as utf8 characters, use the | 8925 | If you would like to see entities displayed as UTF8 characters, use the |
| 8847 | following command@footnote{You can turn this on by default by setting the | 8926 | following command@footnote{You can turn this on by default by setting the |
| 8848 | variable @code{org-pretty-entities}, or on a per-file base with the | 8927 | variable @code{org-pretty-entities}, or on a per-file base with the |
| 8849 | @code{#+STARTUP} option @code{entitiespretty}.}: | 8928 | @code{#+STARTUP} option @code{entitiespretty}.}: |
| @@ -8884,6 +8963,9 @@ convention, or use, on a per-file basis: | |||
| 8884 | #+OPTIONS: ^:@{@} | 8963 | #+OPTIONS: ^:@{@} |
| 8885 | @end example | 8964 | @end example |
| 8886 | 8965 | ||
| 8966 | @noindent With this setting, @samp{a_b} will not be interpreted as a | ||
| 8967 | subscript, but @samp{a_@{b@}} will. | ||
| 8968 | |||
| 8887 | @table @kbd | 8969 | @table @kbd |
| 8888 | @kindex C-c C-x \ | 8970 | @kindex C-c C-x \ |
| 8889 | @item C-c C-x \ | 8971 | @item C-c C-x \ |
| @@ -8896,31 +8978,31 @@ format sub- and superscripts in a WYSIWYM way. | |||
| 8896 | @cindex La@TeX{} fragments | 8978 | @cindex La@TeX{} fragments |
| 8897 | 8979 | ||
| 8898 | @vindex org-format-latex-header | 8980 | @vindex org-format-latex-header |
| 8899 | With symbols, sub- and superscripts, HTML is pretty much at its end when | 8981 | Going beyond symbols and sub- and superscripts, a full formula language is |
| 8900 | it comes to representing mathematical formulas@footnote{Yes, there is | 8982 | needed. Org-mode can contain La@TeX{} math fragments, and it supports ways |
| 8901 | MathML, but that is not yet fully supported by many browsers, and there | 8983 | to process these for several export backends. When exporting to La@TeX{}, |
| 8902 | is no decent converter for turning La@TeX{} or ASCII representations of | 8984 | the code is obviously left as it is. When exporting to HTML, Org invokes the |
| 8903 | formulas into MathML. So for the time being, converting formulas into | 8985 | @uref{http://www.mathjax.org, MathJax library} (@pxref{Math formatting in |
| 8904 | images seems the way to go.}. More complex expressions need a dedicated | 8986 | HTML export}) to process and display the math@footnote{If you plan to use |
| 8905 | formula processor. To this end, Org-mode can contain arbitrary La@TeX{} | 8987 | this regularly or on pages with significant page views, you should install |
| 8906 | fragments. It provides commands to preview the typeset result of these | 8988 | @file{MathJax} on your own server in order to limit the load of our server.}. |
| 8907 | fragments, and upon export to HTML, all fragments will be converted to | 8989 | Finally, it can also process the mathematical expressions into |
| 8908 | images and inlined into the HTML document@footnote{The La@TeX{} export | 8990 | images@footnote{For this to work you need to be on a system with a working |
| 8909 | will not use images for displaying La@TeX{} fragments but include these | 8991 | La@TeX{} installation. You also need the @file{dvipng} program, available at |
| 8910 | fragments directly into the La@TeX{} code.}. For this to work you | 8992 | @url{http://sourceforge.net/projects/dvipng/}. The La@TeX{} header that will |
| 8911 | need to be on a system with a working La@TeX{} installation. You also | 8993 | be used when processing a fragment can be configured with the variable |
| 8912 | need the @file{dvipng} program, available at | 8994 | @code{org-format-latex-header}.} that can be displayed in a browser or in |
| 8913 | @url{http://sourceforge.net/projects/dvipng/}. The La@TeX{} header that | 8995 | DocBook documents. |
| 8914 | will be used when processing a fragment can be configured with the | ||
| 8915 | variable @code{org-format-latex-header}. | ||
| 8916 | 8996 | ||
| 8917 | La@TeX{} fragments don't need any special marking at all. The following | 8997 | La@TeX{} fragments don't need any special marking at all. The following |
| 8918 | snippets will be identified as La@TeX{} source code: | 8998 | snippets will be identified as La@TeX{} source code: |
| 8919 | @itemize @bullet | 8999 | @itemize @bullet |
| 8920 | @item | 9000 | @item |
| 8921 | Environments of any kind. The only requirement is that the | 9001 | Environments of any kind@footnote{When @file{MathJax} is used, only the |
| 8922 | @code{\begin} statement appears on a new line, preceded by only | 9002 | environment recognized by @file{MathJax} will be processed. When dvipng is |
| 8923 | whitespace. | 9003 | used to create images, any La@TeX{} environments will be handled.}. The only |
| 9004 | requirement is that the @code{\begin} statement appears on a new line, | ||
| 9005 | preceded by only whitespace. | ||
| 8924 | @item | 9006 | @item |
| 8925 | Text within the usual La@TeX{} math delimiters. To avoid conflicts with | 9007 | Text within the usual La@TeX{} math delimiters. To avoid conflicts with |
| 8926 | currency specifications, single @samp{$} characters are only recognized as | 9008 | currency specifications, single @samp{$} characters are only recognized as |
| @@ -8948,12 +9030,26 @@ If you need any of the delimiter ASCII sequences for other purposes, you | |||
| 8948 | can configure the option @code{org-format-latex-options} to deselect the | 9030 | can configure the option @code{org-format-latex-options} to deselect the |
| 8949 | ones you do not wish to have interpreted by the La@TeX{} converter. | 9031 | ones you do not wish to have interpreted by the La@TeX{} converter. |
| 8950 | 9032 | ||
| 9033 | @vindex org-export-with-LaTeX-fragments | ||
| 9034 | LaTeX processing can be configured with the variable | ||
| 9035 | @code{org-export-with-LaTeX-fragments}. The default setting is @code{t} | ||
| 9036 | which means @file{MathJax} for HTML, and no processing for DocBook, ASCII and | ||
| 9037 | LaTeX backends. You can also set this variable on a per-file basis using one | ||
| 9038 | of these lines: | ||
| 9039 | |||
| 9040 | @example | ||
| 9041 | #+OPTIONS: LaTeX:t @r{Do the right thing automatically (MathJax)} | ||
| 9042 | #+OPTIONS: LaTeX:dvipng @r{Force using dvipng images} | ||
| 9043 | #+OPTIONS: LaTeX:nil @r{Do not process La@TeX{} fragments at all} | ||
| 9044 | #+OPTIONS: LaTeX:verbatim @r{Verbatim export, for jsMath or so} | ||
| 9045 | @end example | ||
| 9046 | |||
| 8951 | @node Previewing LaTeX fragments, CDLaTeX mode, LaTeX fragments, Embedded LaTeX | 9047 | @node Previewing LaTeX fragments, CDLaTeX mode, LaTeX fragments, Embedded LaTeX |
| 8952 | @subsection Previewing LaTeX fragments | 9048 | @subsection Previewing LaTeX fragments |
| 8953 | @cindex LaTeX fragments, preview | 9049 | @cindex LaTeX fragments, preview |
| 8954 | 9050 | ||
| 8955 | La@TeX{} fragments can be processed to produce preview images of the | 9051 | If you have @file{dvipng} installed, La@TeX{} fragments can be processed to |
| 8956 | typeset expressions: | 9052 | produce preview images of the typeset expressions: |
| 8957 | 9053 | ||
| 8958 | @table @kbd | 9054 | @table @kbd |
| 8959 | @kindex C-c C-x C-l | 9055 | @kindex C-c C-x C-l |
| @@ -8975,14 +9071,6 @@ some aspects of the preview. In particular, the @code{:scale} (and for HTML | |||
| 8975 | export, @code{:html-scale}) property can be used to adjust the size of the | 9071 | export, @code{:html-scale}) property can be used to adjust the size of the |
| 8976 | preview images. | 9072 | preview images. |
| 8977 | 9073 | ||
| 8978 | During HTML export (@pxref{HTML export}), all La@TeX{} fragments are | ||
| 8979 | converted into images and inlined into the document if the following | ||
| 8980 | setting is active: | ||
| 8981 | |||
| 8982 | @lisp | ||
| 8983 | (setq org-export-with-LaTeX-fragments t) | ||
| 8984 | @end lisp | ||
| 8985 | |||
| 8986 | @node CDLaTeX mode, , Previewing LaTeX fragments, Embedded LaTeX | 9074 | @node CDLaTeX mode, , Previewing LaTeX fragments, Embedded LaTeX |
| 8987 | @subsection Using CDLa@TeX{} to enter math | 9075 | @subsection Using CDLa@TeX{} to enter math |
| 8988 | @cindex CDLa@TeX{} | 9076 | @cindex CDLa@TeX{} |
| @@ -9200,7 +9288,7 @@ tags: @r{turn on/off inclusion of tags, may also be @code{not-in-toc}} | |||
| 9200 | <: @r{turn on/off inclusion of any time/date stamps like DEADLINES} | 9288 | <: @r{turn on/off inclusion of any time/date stamps like DEADLINES} |
| 9201 | *: @r{turn on/off emphasized text (bold, italic, underlined)} | 9289 | *: @r{turn on/off emphasized text (bold, italic, underlined)} |
| 9202 | TeX: @r{turn on/off simple @TeX{} macros in plain text} | 9290 | TeX: @r{turn on/off simple @TeX{} macros in plain text} |
| 9203 | LaTeX: @r{turn on/off La@TeX{} fragments} | 9291 | LaTeX: @r{configure export of La@TeX{} fragments. Default @code{auto}} |
| 9204 | skip: @r{turn on/off skipping the text before the first heading} | 9292 | skip: @r{turn on/off skipping the text before the first heading} |
| 9205 | author: @r{turn on/off inclusion of author name/email into exported file} | 9293 | author: @r{turn on/off inclusion of author name/email into exported file} |
| 9206 | email: @r{turn on/off inclusion of author email into exported file} | 9294 | email: @r{turn on/off inclusion of author email into exported file} |
| @@ -9333,6 +9421,7 @@ language, but with additional support for tables. | |||
| 9333 | * Links in HTML export:: How links will be interpreted and formatted | 9421 | * Links in HTML export:: How links will be interpreted and formatted |
| 9334 | * Tables in HTML export:: How to modify the formatting of tables | 9422 | * Tables in HTML export:: How to modify the formatting of tables |
| 9335 | * Images in HTML export:: How to insert figures into HTML output | 9423 | * Images in HTML export:: How to insert figures into HTML output |
| 9424 | * Math formatting in HTML export:: Beautiful math also on the web | ||
| 9336 | * Text areas in HTML export:: An alternative way to show an example | 9425 | * Text areas in HTML export:: An alternative way to show an example |
| 9337 | * CSS support:: Changing the appearance of the output | 9426 | * CSS support:: Changing the appearance of the output |
| 9338 | * JavaScript support:: Info and Folding in a web browser | 9427 | * JavaScript support:: Info and Folding in a web browser |
| @@ -9468,7 +9557,7 @@ tables, place something like the following before the table: | |||
| 9468 | #+ATTR_HTML: border="2" rules="all" frame="all" | 9557 | #+ATTR_HTML: border="2" rules="all" frame="all" |
| 9469 | @end example | 9558 | @end example |
| 9470 | 9559 | ||
| 9471 | @node Images in HTML export, Text areas in HTML export, Tables in HTML export, HTML export | 9560 | @node Images in HTML export, Math formatting in HTML export, Tables in HTML export, HTML export |
| 9472 | @subsection Images in HTML export | 9561 | @subsection Images in HTML export |
| 9473 | 9562 | ||
| 9474 | @cindex images, inline in HTML | 9563 | @cindex images, inline in HTML |
| @@ -9505,7 +9594,41 @@ support text viewers and accessibility, and align it to the right. | |||
| 9505 | @noindent | 9594 | @noindent |
| 9506 | and you could use @code{http} addresses just as well. | 9595 | and you could use @code{http} addresses just as well. |
| 9507 | 9596 | ||
| 9508 | @node Text areas in HTML export, CSS support, Images in HTML export, HTML export | 9597 | @node Math formatting in HTML export, Text areas in HTML export, Images in HTML export, HTML export |
| 9598 | @subsection Math formatting in HTML export | ||
| 9599 | @cindex MathJax | ||
| 9600 | @cindex dvipng | ||
| 9601 | |||
| 9602 | La@TeX{} math snippets (@pxref{LaTeX fragments}) can be displayed in two | ||
| 9603 | different ways on HTML pages. The default is to use the | ||
| 9604 | @uref{http://www.mathjax.org, MathJax system} which should work out of the | ||
| 9605 | box with Org mode installation because @code{http://orgmode.org} serves | ||
| 9606 | @file{MathJax} for Org-mode users for small applications and for testing | ||
| 9607 | purposes. @b{If you plan to use this regularly or on pages with significant | ||
| 9608 | page views, you should install MathJax on your own server in order to limit | ||
| 9609 | the load of our server.} To configure @file{MathJax}, use the variable | ||
| 9610 | @code{org-export-html-mathjax-options} or insert something like the following | ||
| 9611 | into the buffer: | ||
| 9612 | |||
| 9613 | @example | ||
| 9614 | #+MATHJAX: align:"left" mathml:t path:"/MathJax/MathJax.js" | ||
| 9615 | @end example | ||
| 9616 | |||
| 9617 | @noindent See the docstring of the variable | ||
| 9618 | @code{org-export-html-mathjax-options} for the meaning of the parameters in | ||
| 9619 | this line. | ||
| 9620 | |||
| 9621 | If you prefer, you can also request that La@TeX{} are processed into small | ||
| 9622 | images that will be inserted into the browser page. Before the availability | ||
| 9623 | of MathJax, this was the default method for Org files. This method requires | ||
| 9624 | that the @file{dvipng} program is available on your system. You can still | ||
| 9625 | get this processing with | ||
| 9626 | |||
| 9627 | @example | ||
| 9628 | #+OPTIONS: LaTeX:dvipng | ||
| 9629 | @end example | ||
| 9630 | |||
| 9631 | @node Text areas in HTML export, CSS support, Math formatting in HTML export, HTML export | ||
| 9509 | @subsection Text areas in HTML export | 9632 | @subsection Text areas in HTML export |
| 9510 | 9633 | ||
| 9511 | @cindex text areas, in HTML | 9634 | @cindex text areas, in HTML |
| @@ -9595,6 +9718,11 @@ For longer style definitions, you can use several such lines. You could also | |||
| 9595 | directly write a @code{<style>} @code{</style>} section in this way, without | 9718 | directly write a @code{<style>} @code{</style>} section in this way, without |
| 9596 | referring to an external file. | 9719 | referring to an external file. |
| 9597 | 9720 | ||
| 9721 | In order to add styles to a subtree, use the @code{:HTML_CONTAINER_CLASS:} | ||
| 9722 | property to assign a class to the tree. In order to specify CSS styles for a | ||
| 9723 | particular headline, you can use the id specified in a @code{:CUSTOM_ID:} | ||
| 9724 | property. | ||
| 9725 | |||
| 9598 | @c FIXME: More about header and footer styles | 9726 | @c FIXME: More about header and footer styles |
| 9599 | @c FIXME: Talk about links and targets. | 9727 | @c FIXME: Talk about links and targets. |
| 9600 | 9728 | ||
| @@ -9890,9 +10018,9 @@ different level - then the hierarchy above frames will produce the sectioning | |||
| 9890 | structure of the presentation. | 10018 | structure of the presentation. |
| 9891 | 10019 | ||
| 9892 | A template for useful in-buffer settings or properties can be inserted into | 10020 | A template for useful in-buffer settings or properties can be inserted into |
| 9893 | the buffer with @kbd{M-x org-beamer-settings-template}. Among other things, | 10021 | the buffer with @kbd{M-x org-insert-beamer-options-template}. Among other |
| 9894 | this will install a column view format which is very handy for editing | 10022 | things, this will install a column view format which is very handy for |
| 9895 | special properties used by beamer. | 10023 | editing special properties used by beamer. |
| 9896 | 10024 | ||
| 9897 | You can influence the structure of the presentation using the following | 10025 | You can influence the structure of the presentation using the following |
| 9898 | properties: | 10026 | properties: |
| @@ -9957,7 +10085,7 @@ environment or the @code{BEAMER_col} property. | |||
| 9957 | Column view provides a great way to set the environment of a node and other | 10085 | Column view provides a great way to set the environment of a node and other |
| 9958 | important parameters. Make sure you are using a COLUMN format that is geared | 10086 | important parameters. Make sure you are using a COLUMN format that is geared |
| 9959 | toward this special purpose. The command @kbd{M-x | 10087 | toward this special purpose. The command @kbd{M-x |
| 9960 | org-beamer-settings-template} defines such a format. | 10088 | org-insert-beamer-options-template} defines such a format. |
| 9961 | 10089 | ||
| 9962 | Here is a simple example Org document that is intended for beamer export. | 10090 | Here is a simple example Org document that is intended for beamer export. |
| 9963 | 10091 | ||
| @@ -10366,6 +10494,7 @@ Export only the visible part of the document. | |||
| 10366 | @vindex org-icalendar-use-deadline | 10494 | @vindex org-icalendar-use-deadline |
| 10367 | @vindex org-icalendar-use-scheduled | 10495 | @vindex org-icalendar-use-scheduled |
| 10368 | @vindex org-icalendar-categories | 10496 | @vindex org-icalendar-categories |
| 10497 | @vindex org-icalendar-alarm-time | ||
| 10369 | Some people use Org-mode for keeping track of projects, but still prefer a | 10498 | Some people use Org-mode for keeping track of projects, but still prefer a |
| 10370 | standard calendar application for anniversaries and appointments. In this | 10499 | standard calendar application for anniversaries and appointments. In this |
| 10371 | case it can be useful to show deadlines and other time-stamped items in Org | 10500 | case it can be useful to show deadlines and other time-stamped items in Org |
| @@ -10379,7 +10508,9 @@ to set the start and due dates for the TODO entry@footnote{See the variables | |||
| 10379 | @code{org-icalendar-use-deadline} and @code{org-icalendar-use-scheduled}.}. | 10508 | @code{org-icalendar-use-deadline} and @code{org-icalendar-use-scheduled}.}. |
| 10380 | As categories, it will use the tags locally defined in the heading, and the | 10509 | As categories, it will use the tags locally defined in the heading, and the |
| 10381 | file/tree category@footnote{To add inherited tags or the TODO state, | 10510 | file/tree category@footnote{To add inherited tags or the TODO state, |
| 10382 | configure the variable @code{org-icalendar-categories}.}. | 10511 | configure the variable @code{org-icalendar-categories}.}. See the variable |
| 10512 | @code{org-icalendar-alarm-time} for a way to assign alarms to entries with a | ||
| 10513 | time. | ||
| 10383 | 10514 | ||
| 10384 | @vindex org-icalendar-store-UID | 10515 | @vindex org-icalendar-store-UID |
| 10385 | @cindex property, ID | 10516 | @cindex property, ID |
| @@ -10477,7 +10608,8 @@ variable, called @code{org-publish-project-alist}. Each element of the list | |||
| 10477 | configures one project, and may be in one of the two following forms: | 10608 | configures one project, and may be in one of the two following forms: |
| 10478 | 10609 | ||
| 10479 | @lisp | 10610 | @lisp |
| 10480 | ("project-name" :property value :property value ...) | 10611 | ("project-name" :property value :property value ...) |
| 10612 | @r{i.e. a well-formed property list with alternating keys and values} | ||
| 10481 | @r{or} | 10613 | @r{or} |
| 10482 | ("project-name" :components ("project-name" "project-name" ...)) | 10614 | ("project-name" :components ("project-name" "project-name" ...)) |
| 10483 | 10615 | ||
| @@ -10553,20 +10685,20 @@ possibly transformed in the process. The default transformation is to export | |||
| 10553 | Org files as HTML files, and this is done by the function | 10685 | Org files as HTML files, and this is done by the function |
| 10554 | @code{org-publish-org-to-html} which calls the HTML exporter (@pxref{HTML | 10686 | @code{org-publish-org-to-html} which calls the HTML exporter (@pxref{HTML |
| 10555 | export}). But you also can publish your content as PDF files using | 10687 | export}). But you also can publish your content as PDF files using |
| 10556 | @code{org-publish-org-to-pdf}. If you want to publish the Org file itself, | 10688 | @code{org-publish-org-to-pdf}, or as @code{ascii}, @code{latin1} or |
| 10557 | but with @i{archived}, @i{commented}, and @i{tag-excluded} trees removed, use | 10689 | @code{utf8} encoded files using the corresponding functions. If you want to |
| 10558 | @code{org-publish-org-to-org} and set the parameters @code{:plain-source} | 10690 | publish the Org file itself, but with @i{archived}, @i{commented}, and |
| 10559 | and/or @code{:htmlized-source}. This will produce @file{file.org} and | 10691 | @i{tag-excluded} trees removed, use @code{org-publish-org-to-org} and set the |
| 10560 | @file{file.org.html} in the publishing | 10692 | parameters @code{:plain-source} and/or @code{:htmlized-source}. This will |
| 10693 | produce @file{file.org} and @file{file.org.html} in the publishing | ||
| 10561 | directory@footnote{@file{file-source.org} and @file{file-source.org.html} if | 10694 | directory@footnote{@file{file-source.org} and @file{file-source.org.html} if |
| 10562 | source and publishing directories are equal. Note that with this kind of | 10695 | source and publishing directories are equal. Note that with this kind of |
| 10563 | setup, you need to add @code{:exclude "-source\\.org"} to the project | 10696 | setup, you need to add @code{:exclude "-source\\.org"} to the project |
| 10564 | definition in @code{org-publish-project-alist} to avoid that the published | 10697 | definition in @code{org-publish-project-alist} to avoid that the published |
| 10565 | source files will be considered as new org files the next time the project is | 10698 | source files will be considered as new org files the next time the project is |
| 10566 | published.}. Other files like images only | 10699 | published.}. Other files like images only need to be copied to the |
| 10567 | need to be copied to the publishing destination, for this you may use | 10700 | publishing destination, for this you may use @code{org-publish-attachment}. |
| 10568 | @code{org-publish-attachment}. For non-Org files, you always need to | 10701 | For non-Org files, you always need to specify the publishing function: |
| 10569 | specify the publishing function: | ||
| 10570 | 10702 | ||
| 10571 | @multitable @columnfractions 0.3 0.7 | 10703 | @multitable @columnfractions 0.3 0.7 |
| 10572 | @item @code{:publishing-function} | 10704 | @item @code{:publishing-function} |
| @@ -10960,9 +11092,9 @@ e.g. | |||
| 10960 | 11092 | ||
| 10961 | Org-mode provides a number of features for working with live source code, | 11093 | Org-mode provides a number of features for working with live source code, |
| 10962 | including editing of code blocks in their native major-mode, evaluation of | 11094 | including editing of code blocks in their native major-mode, evaluation of |
| 10963 | code blocks, tangling of code blocks, and exporting code blocks and | 11095 | code blocks, tangling of code blocks, and exporting code blocks and their |
| 10964 | their results in several formats. This functionality was contributed by Dan | 11096 | results in several formats. This functionality was contributed by Eric |
| 10965 | Davison and Eric Schulte, and was originally named Org-babel. | 11097 | Schulte and Dan Davison, and was originally named Org-babel. |
| 10966 | 11098 | ||
| 10967 | The following sections describe Org-mode's code block handling facilities. | 11099 | The following sections describe Org-mode's code block handling facilities. |
| 10968 | 11100 | ||
| @@ -10998,6 +11130,18 @@ The structure of code blocks is as follows: | |||
| 10998 | #+end_src | 11130 | #+end_src |
| 10999 | @end example | 11131 | @end example |
| 11000 | 11132 | ||
| 11133 | code blocks can also be embedded in text as so called inline code blocks as | ||
| 11134 | |||
| 11135 | @example | ||
| 11136 | src_<language>@{<body>@} | ||
| 11137 | @end example | ||
| 11138 | |||
| 11139 | or | ||
| 11140 | |||
| 11141 | @example | ||
| 11142 | src_<language>[<header arguments>]@{<body>@} | ||
| 11143 | @end example | ||
| 11144 | |||
| 11001 | @table @code | 11145 | @table @code |
| 11002 | @item <name> | 11146 | @item <name> |
| 11003 | This name is associated with the code block. This is similar to the | 11147 | This name is associated with the code block. This is similar to the |
| @@ -11124,10 +11268,10 @@ Include the code block in the tangled output to file @samp{filename}. | |||
| 11124 | @kindex C-c C-v t | 11268 | @kindex C-c C-v t |
| 11125 | @subsubheading Functions | 11269 | @subsubheading Functions |
| 11126 | @table @code | 11270 | @table @code |
| 11127 | @item org-babel-tangle @kbd{C-c C-v t} | 11271 | @item org-babel-tangle |
| 11128 | Tangle the current file. | 11272 | Tangle the current file. Bound to @kbd{C-c C-v t}. |
| 11129 | @item org-babel-tangle-file | 11273 | @item org-babel-tangle-file |
| 11130 | Choose a file to tangle. | 11274 | Choose a file to tangle. Bound to @kbd{C-c C-v f}. |
| 11131 | @end table | 11275 | @end table |
| 11132 | 11276 | ||
| 11133 | @subsubheading Hooks | 11277 | @subsubheading Hooks |
| @@ -11200,10 +11344,10 @@ Code blocks defined in the ``Library of Babel'' can be called remotely as if | |||
| 11200 | they were in the current Org-mode buffer (see @ref{Evaluating code blocks} | 11344 | they were in the current Org-mode buffer (see @ref{Evaluating code blocks} |
| 11201 | for information on the syntax of remote code block evaluation). | 11345 | for information on the syntax of remote code block evaluation). |
| 11202 | 11346 | ||
| 11203 | @kindex C-c C-v l | 11347 | @kindex C-c C-v i |
| 11204 | Code blocks located in any Org-mode file can be loaded into the ``Library of | 11348 | Code blocks located in any Org-mode file can be loaded into the ``Library of |
| 11205 | Babel'' with the @code{org-babel-lob-ingest} function, bound to @kbd{C-c C-v | 11349 | Babel'' with the @code{org-babel-lob-ingest} function, bound to @kbd{C-c C-v |
| 11206 | l}. | 11350 | i}. |
| 11207 | 11351 | ||
| 11208 | @node Languages, Header arguments, Library of Babel, Working With Source Code | 11352 | @node Languages, Header arguments, Library of Babel, Working With Source Code |
| 11209 | @section Languages | 11353 | @section Languages |
| @@ -11279,7 +11423,7 @@ describes each header argument in detail. | |||
| 11279 | @node Using header arguments, Specific header arguments, Header arguments, Header arguments | 11423 | @node Using header arguments, Specific header arguments, Header arguments, Header arguments |
| 11280 | @subsection Using header arguments | 11424 | @subsection Using header arguments |
| 11281 | 11425 | ||
| 11282 | The values of header arguments can be set in five different ways, each more | 11426 | The values of header arguments can be set in six different ways, each more |
| 11283 | specific (and having higher priority) than the last. | 11427 | specific (and having higher priority) than the last. |
| 11284 | @menu | 11428 | @menu |
| 11285 | * System-wide header arguments:: Set global default values | 11429 | * System-wide header arguments:: Set global default values |
| @@ -11287,6 +11431,7 @@ specific (and having higher priority) than the last. | |||
| 11287 | * Buffer-wide header arguments:: Set default values for a specific buffer | 11431 | * Buffer-wide header arguments:: Set default values for a specific buffer |
| 11288 | * Header arguments in Org-mode properties:: Set default values for a buffer or heading | 11432 | * Header arguments in Org-mode properties:: Set default values for a buffer or heading |
| 11289 | * Code block specific header arguments:: The most common way to set values | 11433 | * Code block specific header arguments:: The most common way to set values |
| 11434 | * Header arguments in function calls:: The most specific level | ||
| 11290 | @end menu | 11435 | @end menu |
| 11291 | 11436 | ||
| 11292 | 11437 | ||
| @@ -11381,7 +11526,7 @@ Properties defined in this way override the properties set in | |||
| 11381 | @code{org-set-property} function bound to @kbd{C-c C-x p} to set properties | 11526 | @code{org-set-property} function bound to @kbd{C-c C-x p} to set properties |
| 11382 | in Org-mode documents. | 11527 | in Org-mode documents. |
| 11383 | 11528 | ||
| 11384 | @node Code block specific header arguments, , Header arguments in Org-mode properties, Using header arguments | 11529 | @node Code block specific header arguments, Header arguments in function calls, Header arguments in Org-mode properties, Using header arguments |
| 11385 | @subsubheading Code block specific header arguments | 11530 | @subsubheading Code block specific header arguments |
| 11386 | 11531 | ||
| 11387 | The most common way to assign values to header arguments is at the | 11532 | The most common way to assign values to header arguments is at the |
| @@ -11402,14 +11547,18 @@ fac 0 = 1 | |||
| 11402 | fac n = n * fac (n-1) | 11547 | fac n = n * fac (n-1) |
| 11403 | #+end_src | 11548 | #+end_src |
| 11404 | @end example | 11549 | @end example |
| 11405 | |||
| 11406 | Similarly, it is possible to set header arguments for inline code blocks: | 11550 | Similarly, it is possible to set header arguments for inline code blocks: |
| 11407 | 11551 | ||
| 11408 | @example | 11552 | @example |
| 11409 | src_haskell[:exports both]@{fac 5@} | 11553 | src_haskell[:exports both]@{fac 5@} |
| 11410 | @end example | 11554 | @end example |
| 11411 | 11555 | ||
| 11412 | Header arguments for ``Library of Babel'' or function call lines can be set as shown below: | 11556 | @node Header arguments in function calls, , Code block specific header arguments, Using header arguments |
| 11557 | @comment node-name, next, previous, up | ||
| 11558 | @subsubheading Header arguments in function calls | ||
| 11559 | |||
| 11560 | At the most specific level, header arguments for ``Library of Babel'' or | ||
| 11561 | function call lines can be set as shown below: | ||
| 11413 | 11562 | ||
| 11414 | @example | 11563 | @example |
| 11415 | #+call: factorial(n=5) :exports results | 11564 | #+call: factorial(n=5) :exports results |
| @@ -11428,10 +11577,10 @@ The following header arguments are defined: | |||
| 11428 | directory for code block execution | 11577 | directory for code block execution |
| 11429 | * exports:: Export code and/or results | 11578 | * exports:: Export code and/or results |
| 11430 | * tangle:: Toggle tangling and specify file name | 11579 | * tangle:: Toggle tangling and specify file name |
| 11431 | * no-expand:: Turn off variable assignment and noweb | ||
| 11432 | expansion during tangling | ||
| 11433 | * comments:: Toggle insertion of comments in tangled | 11580 | * comments:: Toggle insertion of comments in tangled |
| 11434 | code files | 11581 | code files |
| 11582 | * no-expand:: Turn off variable assignment and noweb | ||
| 11583 | expansion during tangling | ||
| 11435 | * session:: Preserve the state of code evaluation | 11584 | * session:: Preserve the state of code evaluation |
| 11436 | * noweb:: Toggle expansion of noweb references | 11585 | * noweb:: Toggle expansion of noweb references |
| 11437 | * cache:: Avoid re-evaluating unchanged code blocks | 11586 | * cache:: Avoid re-evaluating unchanged code blocks |
| @@ -11842,10 +11991,25 @@ basename}. | |||
| 11842 | @subsubsection @code{:comments} | 11991 | @subsubsection @code{:comments} |
| 11843 | By default code blocks are tangled to source-code files without any insertion | 11992 | By default code blocks are tangled to source-code files without any insertion |
| 11844 | of comments beyond those which may already exist in the body of the code | 11993 | of comments beyond those which may already exist in the body of the code |
| 11845 | block. The @code{:comments} header argument can be set to ``yes'' | 11994 | block. The @code{:comments} header argument can be set as follows to control |
| 11846 | e.g. @code{:comments yes} to enable the insertion of comments around code | 11995 | the insertion of extra comments into the tangled code file. |
| 11847 | blocks during tangling. The inserted comments contain pointers back to the | 11996 | |
| 11848 | original Org file from which the comment was tangled. | 11997 | @itemize @bullet |
| 11998 | @item @code{no} | ||
| 11999 | The default. No extra comments are inserted during tangling. | ||
| 12000 | @item @code{link} | ||
| 12001 | The code block is wrapped in comments which contain pointers back to the | ||
| 12002 | original Org file from which the code was tangled. | ||
| 12003 | @item @code{yes} | ||
| 12004 | A synonym for ``link'' to maintain backwards compatibility. | ||
| 12005 | @item @code{org} | ||
| 12006 | Include text from the org-mode file as a comment. | ||
| 12007 | |||
| 12008 | The text is picked from the leading context of the tangled code and is | ||
| 12009 | limited by the nearest headline or source block as the case may be. | ||
| 12010 | @item @code{both} | ||
| 12011 | Turns on both the ``link'' and ``org'' comment options. | ||
| 12012 | @end itemize | ||
| 11849 | 12013 | ||
| 11850 | @node no-expand, session, comments, Specific header arguments | 12014 | @node no-expand, session, comments, Specific header arguments |
| 11851 | @subsubsection @code{:no-expand} | 12015 | @subsubsection @code{:no-expand} |
| @@ -11873,16 +12037,20 @@ interpreted language. | |||
| 11873 | 12037 | ||
| 11874 | The @code{:noweb} header argument controls expansion of ``noweb'' style (see | 12038 | The @code{:noweb} header argument controls expansion of ``noweb'' style (see |
| 11875 | @ref{Noweb reference syntax}) references in a code block. This header | 12039 | @ref{Noweb reference syntax}) references in a code block. This header |
| 11876 | argument can have one of two values: @code{yes} or @code{no}. | 12040 | argument can have one of three values: @code{yes} @code{no} or @code{tangle}. |
| 11877 | 12041 | ||
| 11878 | @itemize @bullet | 12042 | @itemize @bullet |
| 12043 | @item @code{yes} | ||
| 12044 | All ``noweb'' syntax references in the body of the code block will be | ||
| 12045 | expanded before the block is evaluated, tangled or exported. | ||
| 11879 | @item @code{no} | 12046 | @item @code{no} |
| 11880 | The default. No ``noweb'' syntax specific action is taken on evaluating | 12047 | The default. No ``noweb'' syntax specific action is taken on evaluating |
| 11881 | code blocks, However, noweb references will still be expanded during | 12048 | code blocks, However, noweb references will still be expanded during |
| 11882 | tangling. | 12049 | tangling. |
| 11883 | @item @code{yes} | 12050 | @item @code{yes} |
| 11884 | All ``noweb'' syntax references in the body of the code block will be | 12051 | All ``noweb'' syntax references in the body of the code block will be |
| 11885 | expanded before the block is evaluated. | 12052 | expanded before the block is tangled, however ``noweb'' references will not |
| 12053 | be expanded when the block is evaluated or exported. | ||
| 11886 | @end itemize | 12054 | @end itemize |
| 11887 | 12055 | ||
| 11888 | @subsubheading Noweb prefix lines | 12056 | @subsubheading Noweb prefix lines |
| @@ -12067,7 +12235,7 @@ Setting the @code{:shebang} header argument to a string value | |||
| 12067 | first line of any tangled file holding the code block, and the file | 12235 | first line of any tangled file holding the code block, and the file |
| 12068 | permissions of the tangled file are set to make it executable. | 12236 | permissions of the tangled file are set to make it executable. |
| 12069 | 12237 | ||
| 12070 | @node eval, , shebang, Specific header arguments | 12238 | @node eval, , shebang, Specific header arguments |
| 12071 | @subsubsection @code{:eval} | 12239 | @subsubsection @code{:eval} |
| 12072 | The @code{:eval} header argument can be used to limit the evaluation of | 12240 | The @code{:eval} header argument can be used to limit the evaluation of |
| 12073 | specific code blocks. @code{:eval} accepts two arguments ``never'' and | 12241 | specific code blocks. @code{:eval} accepts two arguments ``never'' and |
| @@ -12268,17 +12436,18 @@ Be sure to adjust the paths to fit your system. | |||
| 12268 | #!/bin/sh | 12436 | #!/bin/sh |
| 12269 | # -*- mode: shell-script -*- | 12437 | # -*- mode: shell-script -*- |
| 12270 | # | 12438 | # |
| 12271 | # tangle a file with org-mode | 12439 | # tangle files with org-mode |
| 12272 | # | 12440 | # |
| 12273 | DIR=`pwd` | 12441 | DIR=`pwd` |
| 12274 | FILES="" | 12442 | FILES="" |
| 12443 | ORGINSTALL="~/src/org/lisp/org-install.el" | ||
| 12275 | 12444 | ||
| 12276 | # wrap each argument in the code required to call tangle on it | 12445 | # wrap each argument in the code required to call tangle on it |
| 12277 | for i in $@@; do | 12446 | for i in $@@; do |
| 12278 | FILES="$FILES \"$i\"" | 12447 | FILES="$FILES \"$i\"" |
| 12279 | done | 12448 | done |
| 12280 | 12449 | ||
| 12281 | emacsclient \ | 12450 | emacs -Q --batch -l $ORGINSTALL \ |
| 12282 | --eval "(progn | 12451 | --eval "(progn |
| 12283 | (add-to-list 'load-path (expand-file-name \"~/src/org/lisp/\")) | 12452 | (add-to-list 'load-path (expand-file-name \"~/src/org/lisp/\")) |
| 12284 | (add-to-list 'load-path (expand-file-name \"~/src/org/contrib/lisp/\")) | 12453 | (add-to-list 'load-path (expand-file-name \"~/src/org/contrib/lisp/\")) |
| @@ -12286,7 +12455,7 @@ emacsclient \ | |||
| 12286 | (mapc (lambda (file) | 12455 | (mapc (lambda (file) |
| 12287 | (find-file (expand-file-name file \"$DIR\")) | 12456 | (find-file (expand-file-name file \"$DIR\")) |
| 12288 | (org-babel-tangle) | 12457 | (org-babel-tangle) |
| 12289 | (kill-buffer)) '($FILES)))" | 12458 | (kill-buffer)) '($FILES)))" 2>&1 |grep tangled |
| 12290 | @end example | 12459 | @end example |
| 12291 | 12460 | ||
| 12292 | @node Miscellaneous, Hacking, Working With Source Code, Top | 12461 | @node Miscellaneous, Hacking, Working With Source Code, Top |
| @@ -12294,6 +12463,7 @@ emacsclient \ | |||
| 12294 | 12463 | ||
| 12295 | @menu | 12464 | @menu |
| 12296 | * Completion:: M-TAB knows what you need | 12465 | * Completion:: M-TAB knows what you need |
| 12466 | * Easy Templates:: Quick insertion of structural elements | ||
| 12297 | * Speed keys:: Electric commands at the beginning of a headline | 12467 | * Speed keys:: Electric commands at the beginning of a headline |
| 12298 | * Code evaluation security:: Org mode files evaluate inline code | 12468 | * Code evaluation security:: Org mode files evaluate inline code |
| 12299 | * Customization:: Adapting Org to your taste | 12469 | * Customization:: Adapting Org to your taste |
| @@ -12305,7 +12475,7 @@ emacsclient \ | |||
| 12305 | @end menu | 12475 | @end menu |
| 12306 | 12476 | ||
| 12307 | 12477 | ||
| 12308 | @node Completion, Speed keys, Miscellaneous, Miscellaneous | 12478 | @node Completion, Easy Templates, Miscellaneous, Miscellaneous |
| 12309 | @section Completion | 12479 | @section Completion |
| 12310 | @cindex completion, of @TeX{} symbols | 12480 | @cindex completion, of @TeX{} symbols |
| 12311 | @cindex completion, of TODO keywords | 12481 | @cindex completion, of TODO keywords |
| @@ -12367,7 +12537,46 @@ Elsewhere, complete dictionary words using Ispell. | |||
| 12367 | @end itemize | 12537 | @end itemize |
| 12368 | @end table | 12538 | @end table |
| 12369 | 12539 | ||
| 12370 | @node Speed keys, Code evaluation security, Completion, Miscellaneous | 12540 | @node Easy Templates, Speed keys, Completion, Miscellaneous |
| 12541 | @section Easy Templates | ||
| 12542 | @cindex template insertion | ||
| 12543 | @cindex insertion, of templates | ||
| 12544 | |||
| 12545 | Org-mode supports insertion of empty structural elements (like | ||
| 12546 | @code{#+BEGIN_SRC} and @code{#+END_SRC} pairs) with just a few key | ||
| 12547 | strokes. This is achieved through a native template expansion mechanism. | ||
| 12548 | Note that Emacs has several other template mechanisms which could be used in | ||
| 12549 | a similar way, for example @file{yasnippet}. | ||
| 12550 | |||
| 12551 | To insert a structural element, type a @samp{<}, followed by a template | ||
| 12552 | selector and @kbd{@key{TAB}}. Completion takes effect only when the above | ||
| 12553 | keystrokes are typed on a line by itself. | ||
| 12554 | |||
| 12555 | The following template selectors are currently supported. | ||
| 12556 | |||
| 12557 | @multitable @columnfractions 0.1 0.9 | ||
| 12558 | @item @kbd{s} @tab @code{#+begin_src ... #+end_src} | ||
| 12559 | @item @kbd{e} @tab @code{#+begin_example ... #+end_example} | ||
| 12560 | @item @kbd{q} @tab @code{#+begin_quote ... #+end_quote} | ||
| 12561 | @item @kbd{v} @tab @code{#+begin_verse ... #+end_verse} | ||
| 12562 | @item @kbd{c} @tab @code{#+begin_center ... #+end_center} | ||
| 12563 | @item @kbd{l} @tab @code{#+begin_latex ... #+end_latex} | ||
| 12564 | @item @kbd{L} @tab @code{#+latex:} | ||
| 12565 | @item @kbd{h} @tab @code{#+begin_html ... #+end_html} | ||
| 12566 | @item @kbd{H} @tab @code{#+html:} | ||
| 12567 | @item @kbd{a} @tab @code{#+begin_ascii ... #+end_ascii} | ||
| 12568 | @item @kbd{A} @tab @code{#+ascii:} | ||
| 12569 | @item @kbd{i} @tab @code{#+include:} line | ||
| 12570 | @end multitable | ||
| 12571 | |||
| 12572 | For example, on an empty line, typing "<e" and then pressing TAB, will expand | ||
| 12573 | into a complete EXAMPLE template. | ||
| 12574 | |||
| 12575 | You can install additional templates by customizing the variable | ||
| 12576 | @code{org-structure-template-alist}. Refer docstring of the variable for | ||
| 12577 | additional details. | ||
| 12578 | |||
| 12579 | @node Speed keys, Code evaluation security, Easy Templates, Miscellaneous | ||
| 12371 | @section Speed keys | 12580 | @section Speed keys |
| 12372 | @cindex speed keys | 12581 | @cindex speed keys |
| 12373 | @vindex org-use-speed-commands | 12582 | @vindex org-use-speed-commands |
| @@ -12388,7 +12597,7 @@ with the cursor at the beginning of a headline. | |||
| 12388 | @node Code evaluation security, Customization, Speed keys, Miscellaneous | 12597 | @node Code evaluation security, Customization, Speed keys, Miscellaneous |
| 12389 | @section Code evaluation and security issues | 12598 | @section Code evaluation and security issues |
| 12390 | 12599 | ||
| 12391 | Org provides tool to work with the code snippets, including evaluating them. | 12600 | Org provides tools to work with the code snippets, including evaluating them. |
| 12392 | 12601 | ||
| 12393 | Running code on your machine always comes with a security risk. Badly | 12602 | Running code on your machine always comes with a security risk. Badly |
| 12394 | written or malicious code can be executed on purpose or by accident. Org has | 12603 | written or malicious code can be executed on purpose or by accident. Org has |
| @@ -12406,12 +12615,12 @@ Code evaluation can happen under the following circumstances: | |||
| 12406 | @item Source code blocks | 12615 | @item Source code blocks |
| 12407 | Source code blocks can be evaluated during export, or when pressing @kbd{C-c | 12616 | Source code blocks can be evaluated during export, or when pressing @kbd{C-c |
| 12408 | C-c} in the block. The most important thing to realize here is that Org mode | 12617 | C-c} in the block. The most important thing to realize here is that Org mode |
| 12409 | files which contain code snippets are in a certain sense like executable | 12618 | files which contain code snippets are, in a certain sense, like executable |
| 12410 | files. So you should accept them and load them into Emacs only from trusted | 12619 | files. So you should accept them and load them into Emacs only from trusted |
| 12411 | sources - just like you would do with a program you install on your computer. | 12620 | sources - just like you would do with a program you install on your computer. |
| 12412 | 12621 | ||
| 12413 | Make sure you know what you are doing before customizing the variables | 12622 | Make sure you know what you are doing before customizing the variables |
| 12414 | which take of the default security brakes. | 12623 | which take off the default security brakes. |
| 12415 | 12624 | ||
| 12416 | @defopt org-confirm-babel-evaluate | 12625 | @defopt org-confirm-babel-evaluate |
| 12417 | When set to t user is queried before code block evaluation | 12626 | When set to t user is queried before code block evaluation |
| @@ -12419,7 +12628,7 @@ When set to t user is queried before code block evaluation | |||
| 12419 | 12628 | ||
| 12420 | @item Following @code{shell} and @code{elisp} links | 12629 | @item Following @code{shell} and @code{elisp} links |
| 12421 | Org has two link types that can directly evaluate code (@pxref{External | 12630 | Org has two link types that can directly evaluate code (@pxref{External |
| 12422 | links}). These links can be problematic because the code to be evaluated his | 12631 | links}). These links can be problematic because the code to be evaluated is |
| 12423 | not visible. | 12632 | not visible. |
| 12424 | 12633 | ||
| 12425 | @defopt org-confirm-shell-link-function | 12634 | @defopt org-confirm-shell-link-function |
| @@ -12429,12 +12638,6 @@ Function to queries user about shell link execution. | |||
| 12429 | Functions to query user for Emacs Lisp link execution. | 12638 | Functions to query user for Emacs Lisp link execution. |
| 12430 | @end defopt | 12639 | @end defopt |
| 12431 | 12640 | ||
| 12432 | @item Following @code{shell} and @code{elisp} links | ||
| 12433 | Org has two link types that can directly evaluate code (@pxref{External | ||
| 12434 | links}). These links can be problematic because the code to be evaluated his | ||
| 12435 | not visible. @b{Security advice:} Do not use these links, use source code | ||
| 12436 | blocks which make the associated actions much more transparent. | ||
| 12437 | |||
| 12438 | @item Formulas in tables | 12641 | @item Formulas in tables |
| 12439 | Formulas in tables (@pxref{The spreadsheet}) are code that is evaluated | 12642 | Formulas in tables (@pxref{The spreadsheet}) are code that is evaluated |
| 12440 | either by the @i{calc} interpreter, or by the @i{Emacs Lisp} interpreter. | 12643 | either by the @i{calc} interpreter, or by the @i{Emacs Lisp} interpreter. |
| @@ -12565,6 +12768,18 @@ variable is @code{org-startup-align-all-tables}, with a default value | |||
| 12565 | align @r{align all tables} | 12768 | align @r{align all tables} |
| 12566 | noalign @r{don't align tables on startup} | 12769 | noalign @r{don't align tables on startup} |
| 12567 | @end example | 12770 | @end example |
| 12771 | |||
| 12772 | @vindex org-startup-with-inline-images | ||
| 12773 | When visiting a file, inline images can be automatically displayed. The | ||
| 12774 | corresponding variable is @code{org-startup-with-inline-images}, with a | ||
| 12775 | default value @code{nil} to avoid delays when visiting a file. | ||
| 12776 | @cindex @code{inlineimages}, STARTUP keyword | ||
| 12777 | @cindex @code{noinlineimages}, STARTUP keyword | ||
| 12778 | @example | ||
| 12779 | inlineimages @r{show inline images} | ||
| 12780 | noinlineimages @r{don't show inline images on startup} | ||
| 12781 | @end example | ||
| 12782 | |||
| 12568 | @vindex org-log-done | 12783 | @vindex org-log-done |
| 12569 | @vindex org-log-note-clock-out | 12784 | @vindex org-log-note-clock-out |
| 12570 | @vindex org-log-repeat | 12785 | @vindex org-log-repeat |
| @@ -13273,8 +13488,10 @@ Also the @kbd{M-cursor} and @kbd{M-S-cursor} keys have this property. | |||
| 13273 | Add-ons can tap into this functionality by providing a function that detects | 13488 | Add-ons can tap into this functionality by providing a function that detects |
| 13274 | special context for that add-on and executes functionality appropriate for | 13489 | special context for that add-on and executes functionality appropriate for |
| 13275 | the context. Here is an example from Dan Davison's @file{org-R.el} which | 13490 | the context. Here is an example from Dan Davison's @file{org-R.el} which |
| 13276 | allows you to evaluate commands based on the @file{R} programming language. For | 13491 | allows you to evaluate commands based on the @file{R} programming language |
| 13277 | this package, special contexts are lines that start with @code{#+R:} or | 13492 | @footnote{@file{org-R.el} has been replaced by the org-mode functionality |
| 13493 | described in @ref{Working With Source Code} and is now obsolete.}. For this | ||
| 13494 | package, special contexts are lines that start with @code{#+R:} or | ||
| 13278 | @code{#+RR:}. | 13495 | @code{#+RR:}. |
| 13279 | 13496 | ||
| 13280 | @lisp | 13497 | @lisp |
| @@ -13693,10 +13910,11 @@ written in a way such that it does nothing in buffers that are not in | |||
| 13693 | @section Special agenda views | 13910 | @section Special agenda views |
| 13694 | @cindex agenda views, user-defined | 13911 | @cindex agenda views, user-defined |
| 13695 | 13912 | ||
| 13696 | Org provides a special hook that can be used to narrow down the | 13913 | Org provides a special hook that can be used to narrow down the selection |
| 13697 | selection made by any of the agenda views. You may specify a function | 13914 | made by these agenda views: @code{todo}, @code{alltodo}, @code{tags}, @code{tags-todo}, |
| 13698 | that is used at each match to verify if the match should indeed be part | 13915 | @code{tags-tree}. You may specify a function that is used at each match to verify |
| 13699 | of the agenda view, and if not, how much should be skipped. | 13916 | if the match should indeed be part of the agenda view, and if not, how |
| 13917 | much should be skipped. | ||
| 13700 | 13918 | ||
| 13701 | Let's say you want to produce a list of projects that contain a WAITING | 13919 | Let's say you want to produce a list of projects that contain a WAITING |
| 13702 | tag anywhere in the project tree. Let's further assume that you have | 13920 | tag anywhere in the project tree. Let's further assume that you have |
| @@ -14107,16 +14325,23 @@ in-buffer settings, but it will understand the logistics of TODO state | |||
| 14107 | @node Setting up the staging area, Pushing to MobileOrg, MobileOrg, MobileOrg | 14325 | @node Setting up the staging area, Pushing to MobileOrg, MobileOrg, MobileOrg |
| 14108 | @section Setting up the staging area | 14326 | @section Setting up the staging area |
| 14109 | 14327 | ||
| 14110 | MobileOrg needs to interact with Emacs through directory on a | 14328 | MobileOrg needs to interact with Emacs through directory on a server. If you |
| 14111 | server@footnote{If you are using a public server, you might prefer to encrypt | 14329 | are using a public server, you should consider to encrypt the files that are |
| 14112 | the files on the server. This can be done with Org-mode 6.35 and, hopefully, | 14330 | uploaded to the server. This can be done with Org-mode 7.02 and with |
| 14113 | with MobileOrg 1.4 (please check before trying to use this). On the Emacs | 14331 | @i{MobileOrg 1.5} (iPhone version), and you need an @file{openssl} |
| 14114 | side, configure the variables @code{org-mobile-use-encryption} and | 14332 | installation on your system. To turn on encryption, set a password in |
| 14115 | @code{org-mobile-encryption-password}.}. The easiest way to create that | 14333 | @i{MobileOrg} and, on the Emacs side, configure the variable |
| 14116 | directory is to use a free @uref{http://dropbox.com,Dropbox.com} | 14334 | @code{org-mobile-use-encryption}@footnote{If you can safely store the |
| 14117 | account@footnote{If you cannot use Dropbox, or if your version of MobileOrg | 14335 | password in your Emacs setup, you might also want to configure |
| 14118 | does not support it, you can use a webdav server. For more information, | 14336 | @code{org-mobile-encryption-password}. Please read the docstring of that |
| 14119 | check out the the documentation of MobileOrg and also this | 14337 | variable. Note that encryption will apply only to the contents of the |
| 14338 | @file{.org} files. The file names themselves will remain visible.}. | ||
| 14339 | |||
| 14340 | The easiest way to create that directory is to use a free | ||
| 14341 | @uref{http://dropbox.com,Dropbox.com} account@footnote{If you cannot use | ||
| 14342 | Dropbox, or if your version of MobileOrg does not support it, you can use a | ||
| 14343 | webdav server. For more information, check out the the documentation of | ||
| 14344 | MobileOrg and also this | ||
| 14120 | @uref{http://orgmode.org/worg/org-faq.php#mobileorg_webdav, FAQ entry}.}. | 14345 | @uref{http://orgmode.org/worg/org-faq.php#mobileorg_webdav, FAQ entry}.}. |
| 14121 | When MobileOrg first connects to your Dropbox, it will create a directory | 14346 | When MobileOrg first connects to your Dropbox, it will create a directory |
| 14122 | @i{MobileOrg} inside the Dropbox. After the directory has been created, tell | 14347 | @i{MobileOrg} inside the Dropbox. After the directory has been created, tell |
| @@ -14139,15 +14364,17 @@ can be included by customizing @code{org-mobiles-files}. File names will be | |||
| 14139 | staged with path relative to @code{org-directory}, so all files should be | 14364 | staged with path relative to @code{org-directory}, so all files should be |
| 14140 | inside this directory. The push operation also creates a special Org file | 14365 | inside this directory. The push operation also creates a special Org file |
| 14141 | @file{agendas.org} with all custom agenda view defined by the | 14366 | @file{agendas.org} with all custom agenda view defined by the |
| 14142 | user@footnote{While creating the agendas, Org-mode will force (see the | 14367 | user@footnote{While creating the agendas, Org-mode will force ID properties |
| 14143 | variable @code{org-mobile-force-id-on-agenda-items}) ID properties on all | 14368 | on all referenced entries, so that these entries can be uniquely identified |
| 14144 | referenced entries, so that these entries can be uniquely | 14369 | if @i{MobileOrg} flags them for further action. If you do not want to get |
| 14145 | identified if @i{MobileOrg} flags them for further action.}. Finally, Org | 14370 | these properties in so many entries, you can set the variable |
| 14146 | writes the file @file{index.org}, containing links to all other files. | 14371 | @code{org-mobile-force-id-on-agenda-items} to @code{nil}. Org mode will then |
| 14147 | @i{MobileOrg} first reads this file from the server, and then downloads all | 14372 | rely on outline paths, in the hope that these will be unique enough.}. |
| 14148 | agendas and Org files listed in it. To speed up the download, MobileOrg will | 14373 | Finally, Org writes the file @file{index.org}, containing links to all other |
| 14149 | only read files whose checksums@footnote{stored automatically in the file | 14374 | files. @i{MobileOrg} first reads this file from the server, and then |
| 14150 | @file{checksums.dat}} have changed. | 14375 | downloads all agendas and Org files listed in it. To speed up the download, |
| 14376 | MobileOrg will only read files whose checksums@footnote{stored automatically | ||
| 14377 | in the file @file{checksums.dat}} have changed. | ||
| 14151 | 14378 | ||
| 14152 | @node Pulling from MobileOrg, , Pushing to MobileOrg, MobileOrg | 14379 | @node Pulling from MobileOrg, , Pushing to MobileOrg, MobileOrg |
| 14153 | @section Pulling from MobileOrg | 14380 | @section Pulling from MobileOrg |
| @@ -14195,12 +14422,12 @@ this flagged entry is finished. | |||
| 14195 | 14422 | ||
| 14196 | @kindex C-c a ? | 14423 | @kindex C-c a ? |
| 14197 | If you are not able to process all flagged entries directly, you can always | 14424 | If you are not able to process all flagged entries directly, you can always |
| 14198 | return to this agenda view using @kbd{C-c a ?}. Note, however, that there is | 14425 | return to this agenda view@footnote{Note, however, that there is a subtle |
| 14199 | a subtle difference. The view created automatically by @kbd{M-x | 14426 | difference. The view created automatically by @kbd{M-x org-mobile-pull |
| 14200 | org-mobile-pull @key{RET}} is guaranteed to search all files that have been | 14427 | @key{RET}} is guaranteed to search all files that have been addressed by the |
| 14201 | addressed by the last pull. This might include a file that is not currently | 14428 | last pull. This might include a file that is not currently in your list of |
| 14202 | in your list of agenda files. If you later use @kbd{C-c a ?} to regenerate | 14429 | agenda files. If you later use @kbd{C-c a ?} to regenerate the view, only |
| 14203 | the view, only the current agenda files will be searched. | 14430 | the current agenda files will be searched.} using @kbd{C-c a ?}. |
| 14204 | 14431 | ||
| 14205 | @node History and Acknowledgments, Main Index, MobileOrg, Top | 14432 | @node History and Acknowledgments, Main Index, MobileOrg, Top |
| 14206 | @appendix History and acknowledgments | 14433 | @appendix History and acknowledgments |
| @@ -14331,6 +14558,8 @@ around a match in a hidden outline tree. | |||
| 14331 | @item | 14558 | @item |
| 14332 | @i{Niels Giesen} had the idea to automatically archive DONE trees. | 14559 | @i{Niels Giesen} had the idea to automatically archive DONE trees. |
| 14333 | @item | 14560 | @item |
| 14561 | @i{Nicolas Goaziou} rewrote much of the plain list code. | ||
| 14562 | @item | ||
| 14334 | @i{Kai Grossjohann} pointed out key-binding conflicts with other packages. | 14563 | @i{Kai Grossjohann} pointed out key-binding conflicts with other packages. |
| 14335 | @item | 14564 | @item |
| 14336 | @i{Bernt Hansen} has driven much of the support for auto-repeating tasks, | 14565 | @i{Bernt Hansen} has driven much of the support for auto-repeating tasks, |
| @@ -14482,12 +14711,17 @@ and contributed various ideas and code snippets. | |||
| 14482 | 14711 | ||
| 14483 | @printindex cp | 14712 | @printindex cp |
| 14484 | 14713 | ||
| 14485 | @node Key Index, Variable Index, Main Index, Top | 14714 | @node Key Index, Command and Function Index, Main Index, Top |
| 14486 | @unnumbered Key index | 14715 | @unnumbered Key index |
| 14487 | 14716 | ||
| 14488 | @printindex ky | 14717 | @printindex ky |
| 14489 | 14718 | ||
| 14490 | @node Variable Index, , Key Index, Top | 14719 | @node Command and Function Index, Variable Index, Key Index, Top |
| 14720 | @unnumbered Command and function index | ||
| 14721 | |||
| 14722 | @printindex fn | ||
| 14723 | |||
| 14724 | @node Variable Index, , Command and Function Index, Top | ||
| 14491 | @unnumbered Variable index | 14725 | @unnumbered Variable index |
| 14492 | 14726 | ||
| 14493 | This is not a complete index of variables and faces, only the ones that are | 14727 | This is not a complete index of variables and faces, only the ones that are |
| @@ -14504,6 +14738,7 @@ org-customize @key{RET}} and then click yourself through the tree. | |||
| 14504 | 14738 | ||
| 14505 | @c Local variables: | 14739 | @c Local variables: |
| 14506 | @c fill-column: 77 | 14740 | @c fill-column: 77 |
| 14741 | @c indent-tabs-mode: nil | ||
| 14507 | @c End: | 14742 | @c End: |
| 14508 | 14743 | ||
| 14509 | 14744 | ||
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 2c82becf6ae..6a77c138404 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -1942,7 +1942,7 @@ understand this syntax and will emit a syntax error when it reaches | |||
| 1942 | this line. | 1942 | this line. |
| 1943 | 1943 | ||
| 1944 | Another example is the tilde (@code{~}) character, say when adding | 1944 | Another example is the tilde (@code{~}) character, say when adding |
| 1945 | @file{~/bin} to @code{$PATH}. Many Bourne shells will not expand this | 1945 | @file{~/bin} to @code{PATH}. Many Bourne shells will not expand this |
| 1946 | character, and since there is usually no directory whose name consists | 1946 | character, and since there is usually no directory whose name consists |
| 1947 | of the single character tilde, strange things will happen. | 1947 | of the single character tilde, strange things will happen. |
| 1948 | 1948 | ||
| @@ -1969,6 +1969,38 @@ shell is Bourne-ish already, then it might be prudent to omit the | |||
| 1969 | @command{exec /bin/sh} step. But how to find out if the shell is | 1969 | @command{exec /bin/sh} step. But how to find out if the shell is |
| 1970 | Bourne-ish? | 1970 | Bourne-ish? |
| 1971 | 1971 | ||
| 1972 | |||
| 1973 | @item Interactive shell prompt | ||
| 1974 | |||
| 1975 | @value{tramp} redefines the shell prompt in order to parse the shell's | ||
| 1976 | output robustly. When calling an interactive shell by @kbd{M-x | ||
| 1977 | shell}, this doesn't look nice. | ||
| 1978 | |||
| 1979 | You can redefine the shell prompt by checking the environment variable | ||
| 1980 | @code{INSIDE_EMACS}, which is set by @value{tramp}, in your startup | ||
| 1981 | script @file{~/.emacs_SHELLNAME}. @code{SHELLNAME} might be the string | ||
| 1982 | @code{bash} or similar, in case of doubt you could set it the | ||
| 1983 | environment variable @code{ESHELL} in your @file{.emacs}: | ||
| 1984 | |||
| 1985 | @lisp | ||
| 1986 | (setenv "ESHELL" "bash") | ||
| 1987 | @end lisp | ||
| 1988 | |||
| 1989 | Your file @file{~/.emacs_SHELLNAME} could contain code like | ||
| 1990 | |||
| 1991 | @example | ||
| 1992 | # Reset the prompt for remote Tramp shells. | ||
| 1993 | if [ "$@{INSIDE_EMACS/*tramp*/tramp@}" == "tramp" ] ; then | ||
| 1994 | PS1="[\u@@\h \w]$ " | ||
| 1995 | fi | ||
| 1996 | @end example | ||
| 1997 | |||
| 1998 | @ifinfo | ||
| 1999 | @ifset emacs | ||
| 2000 | @xref{Interactive Shell, , , @value{emacsdir}}. | ||
| 2001 | @end ifset | ||
| 2002 | @end ifinfo | ||
| 2003 | |||
| 1972 | @end table | 2004 | @end table |
| 1973 | 2005 | ||
| 1974 | 2006 | ||
| @@ -2493,7 +2525,7 @@ Adding an entry can be performed via @code{add-to-list}: | |||
| 2493 | Changing or removing an existing entry is not encouraged. The default | 2525 | Changing or removing an existing entry is not encouraged. The default |
| 2494 | values are chosen for proper @value{tramp} work. Nevertheless, if for | 2526 | values are chosen for proper @value{tramp} work. Nevertheless, if for |
| 2495 | example a paranoid system administrator disallows changing the | 2527 | example a paranoid system administrator disallows changing the |
| 2496 | @var{$HISTORY} environment variable, you can customize | 2528 | @code{HISTORY} environment variable, you can customize |
| 2497 | @code{tramp-remote-process-environment}, or you can apply the | 2529 | @code{tramp-remote-process-environment}, or you can apply the |
| 2498 | following code in your @file{.emacs}: | 2530 | following code in your @file{.emacs}: |
| 2499 | 2531 | ||
| @@ -2512,7 +2544,7 @@ integrate them as well. @xref{Bug Reports}. | |||
| 2512 | 2544 | ||
| 2513 | If you want to run a remote program, which shall connect the X11 | 2545 | If you want to run a remote program, which shall connect the X11 |
| 2514 | server you are using with your local host, you can set the | 2546 | server you are using with your local host, you can set the |
| 2515 | @var{$DISPLAY} environment variable on the remote host: | 2547 | @code{DISPLAY} environment variable on the remote host: |
| 2516 | 2548 | ||
| 2517 | @lisp | 2549 | @lisp |
| 2518 | (add-to-list 'tramp-remote-process-environment | 2550 | (add-to-list 'tramp-remote-process-environment |
diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi index 107e4d70aa3..38758d39bc9 100644 --- a/doc/misc/trampver.texi +++ b/doc/misc/trampver.texi | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | @c In the Tramp CVS, the version number is auto-frobbed from | 9 | @c In the Tramp CVS, the version number is auto-frobbed from |
| 10 | @c configure.ac, so you should edit that file and run | 10 | @c configure.ac, so you should edit that file and run |
| 11 | @c "autoconf && ./configure" to change the version number. | 11 | @c "autoconf && ./configure" to change the version number. |
| 12 | @set trampver 2.2.0-pre | 12 | @set trampver 2.2.0 |
| 13 | 13 | ||
| 14 | @c Other flags from configuration | 14 | @c Other flags from configuration |
| 15 | @set instprefix /usr/local | 15 | @set instprefix /usr/local |
| @@ -73,7 +73,3 @@ | |||
| 73 | @set emacsotherdir emacs | 73 | @set emacsotherdir emacs |
| 74 | @set emacsotherfilename tramp-emacs.html | 74 | @set emacsotherfilename tramp-emacs.html |
| 75 | @end ifset | 75 | @end ifset |
| 76 | |||
| 77 | @ignore | ||
| 78 | arch-tag: e0fe322c-e06b-46eb-bb5b-d091b521f41c | ||
| 79 | @end ignore | ||