Browse Source

org-capture: Fix order of template sequences.

* org-capture.el (org-capture-templates): docstring fix.
* org.texi (Template expansion): order template sequences in
the proper order.

Thanks to Philipp Möller for this fix.
Bastien Guerry 13 years ago
parent
commit
c222e8f134
2 changed files with 36 additions and 35 deletions
  1. 18 18
      doc/org.texi
  2. 18 17
      lisp/org-capture.el

+ 18 - 18
doc/org.texi

@@ -6526,39 +6526,39 @@ buffer again after capture is completed.
 
 
 In the template itself, special @kbd{%}-escapes@footnote{If you need one of
 In the template itself, special @kbd{%}-escapes@footnote{If you need one of
 these sequences literally, escape the @kbd{%} with a backslash.}  allow
 these sequences literally, escape the @kbd{%} with a backslash.}  allow
-dynamic insertion of content:
+dynamic insertion of content. The templates are expanded in the order given here:
 
 
 @smallexample
 @smallexample
-%^@{@var{prompt}@}  @r{prompt the user for a string and replace this sequence with it.}
-            @r{You may specify a default value and a completion table with}
-            @r{%^@{prompt|default|completion2|completion3...@}.}
-            @r{The arrow keys access a prompt-specific history.}
+%[@var{file}]     @r{insert the contents of the file given by @var{file}.}
+%(@var{sexp})     @r{evaluate Elisp @var{sexp} and replace with the result.}
+%<...>      @r{the result of format-time-string on the ... format specification.}
+%t          @r{timestamp, date only.}
+%T          @r{timestamp with date and time.}
+%u, %U      @r{like the above, but inactive timestamps.}
 %a          @r{annotation, normally the link created with @code{org-store-link}.}
 %a          @r{annotation, normally the link created with @code{org-store-link}.}
-%A          @r{like @code{%a}, but prompt for the description part.}
 %i          @r{initial content, the region when capture is called while the}
 %i          @r{initial content, the region when capture is called while the}
             @r{region is active.}
             @r{region is active.}
             @r{The entire text will be indented like @code{%i} itself.}
             @r{The entire text will be indented like @code{%i} itself.}
-%t          @r{timestamp, date only.}
-%T          @r{timestamp with date and time.}
-%u, %U      @r{like the above, but inactive timestamps.}
-%^t         @r{like @code{%t}, but prompt for date.  Similarly @code{%^T}, @code{%^u}, @code{%^U}.}
-            @r{You may define a prompt like @code{%^@{Birthday@}t}.}
-%<...>      @r{the result of format-time-string on the ... format specification.}
-%n          @r{user name (taken from @code{user-full-name}).}
+%A          @r{like @code{%a}, but prompt for the description part.}
 %c          @r{Current kill ring head.}
 %c          @r{Current kill ring head.}
 %x          @r{Content of the X clipboard.}
 %x          @r{Content of the X clipboard.}
-%^C         @r{Interactive selection of which kill or clip to use.}
-%^L         @r{Like @code{%^C}, but insert as link.}
 %k          @r{title of the currently clocked task.}
 %k          @r{title of the currently clocked task.}
 %K          @r{link to the currently clocked task.}
 %K          @r{link to the currently clocked task.}
+%n          @r{user name (taken from @code{user-full-name}).}
 %f          @r{file visited by current buffer when org-capture was called.}
 %f          @r{file visited by current buffer when org-capture was called.}
 %F          @r{full path of the file or directory visited by current buffer.}
 %F          @r{full path of the file or directory visited by current buffer.}
+%:keyword   @r{specific information for certain link types, see below.}
 %^g         @r{prompt for tags, with completion on tags in target file.}
 %^g         @r{prompt for tags, with completion on tags in target file.}
 %^G         @r{prompt for tags, with completion all tags in all agenda files.}
 %^G         @r{prompt for tags, with completion all tags in all agenda files.}
+%^t         @r{like @code{%t}, but prompt for date.  Similarly @code{%^T}, @code{%^u}, @code{%^U}.}
+            @r{You may define a prompt like @code{%^@{Birthday@}t}.}
+%^C         @r{Interactive selection of which kill or clip to use.}
+%^L         @r{Like @code{%^C}, but insert as link.}
 %^@{@var{prop}@}p   @r{Prompt the user for a value for property @var{prop}.}
 %^@{@var{prop}@}p   @r{Prompt the user for a value for property @var{prop}.}
-%:keyword   @r{specific information for certain link types, see below.}
-%[@var{file}]     @r{insert the contents of the file given by @var{file}.}
-%(@var{sexp})     @r{evaluate Elisp @var{sexp} and replace with the result.}
+%^@{@var{prompt}@}  @r{prompt the user for a string and replace this sequence with it.}
+            @r{You may specify a default value and a completion table with}
+            @r{%^@{prompt|default|completion2|completion3...@}.}
+            @r{The arrow keys access a prompt-specific history.}
 @end smallexample
 @end smallexample
 
 
 @noindent
 @noindent

+ 18 - 17
lisp/org-capture.el

@@ -206,39 +206,40 @@ properties are:
                      capture was invoked, kill the buffer again after capture
                      capture was invoked, kill the buffer again after capture
                      is finalized.
                      is finalized.
 
 
-The template defines the text to be inserted.  Often this is an org-mode
-entry (so the first line should start with a star) that will be filed as a
-child of the target headline.  It can also be freely formatted text.
-Furthermore, the following %-escapes will be replaced with content:
+The template defines the text to be inserted.  Often this is an
+org-mode entry (so the first line should start with a star) that
+will be filed as a child of the target headline.  It can also be
+freely formatted text.  Furthermore, the following %-escapes will
+be replaced with content and expanded in this order:
 
 
-  %^{prompt}  prompt the user for a string and replace this sequence with it.
-              A default value and a completion table ca be specified like this:
-              %^{prompt|default|completion2|completion3|...}.
+  %[pathname] insert the contents of the file given by `pathname'.
+  %(sexp)     evaluate elisp `(sexp)' and replace with the result.
+  %<...>      the result of format-time-string on the ... format specification.
   %t          time stamp, date only.
   %t          time stamp, date only.
   %T          time stamp with date and time.
   %T          time stamp with date and time.
   %u, %U      like the above, but inactive time stamps.
   %u, %U      like the above, but inactive time stamps.
-  %^t         like %t, but prompt for date.  Similarly %^T, %^u, %^U.
-              You may define a prompt like %^{Please specify birthday.
-  %<...>      the result of format-time-string on the ... format specification.
-  %n          user name (taken from `user-full-name').
   %a          annotation, normally the link created with `org-store-link'.
   %a          annotation, normally the link created with `org-store-link'.
   %i          initial content, copied from the active region.  If %i is
   %i          initial content, copied from the active region.  If %i is
               indented, the entire inserted text will be indented as well.
               indented, the entire inserted text will be indented as well.
+  %A          like %a, but prompt for the description part.
   %c          current kill ring head.
   %c          current kill ring head.
   %x          content of the X clipboard.
   %x          content of the X clipboard.
-  %^C         interactive selection of which kill or clip to use.
-  %^L         like %^C, but insert as link.
   %k          title of currently clocked task.
   %k          title of currently clocked task.
   %K          link to currently clocked task.
   %K          link to currently clocked task.
+  %n          user name (taken from `user-full-name').
   %f          file visited by current buffer when org-capture was called.
   %f          file visited by current buffer when org-capture was called.
   %F          full path of the file or directory visited by current buffer.
   %F          full path of the file or directory visited by current buffer.
+  %:keyword   specific information for certain link types, see below.
   %^g         prompt for tags, with completion on tags in target file.
   %^g         prompt for tags, with completion on tags in target file.
   %^G         prompt for tags, with completion on all tags in all agenda files.
   %^G         prompt for tags, with completion on all tags in all agenda files.
+  %^t         like %t, but prompt for date.  Similarly %^T, %^u, %^U.
+              You may define a prompt like %^{Please specify birthday.
+  %^C         interactive selection of which kill or clip to use.
+  %^L         like %^C, but insert as link.
   %^{prop}p   prompt the user for a value for property `prop'.
   %^{prop}p   prompt the user for a value for property `prop'.
-  %:keyword   specific information for certain link types, see below.
-  %[pathname] insert the contents of the file given by `pathname'.
-  %(sexp)     evaluate elisp `(sexp)' and replace with the result.
-
+  %^{prompt}  prompt the user for a string and replace this sequence with it.
+              A default value and a completion table ca be specified like this:
+              %^{prompt|default|completion2|completion3|...}.
   %?          After completing the template, position cursor here.
   %?          After completing the template, position cursor here.
 
 
 Apart from these general escapes, you can access information specific to the
 Apart from these general escapes, you can access information specific to the