Release 4.70
This commit is contained in:
parent
caffb0dde2
commit
49c42c816a
620
org
620
org
|
@ -5,7 +5,7 @@ START-INFO-DIR-ENTRY
|
|||
* Org Mode: (org). Outline-based notes management and organizer
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This manual is for Org-mode (version 4.69).
|
||||
This manual is for Org-mode (version 4.70).
|
||||
|
||||
Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation
|
||||
|
||||
|
@ -27,7 +27,7 @@ File: org, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
|
|||
Org Mode Manual
|
||||
***************
|
||||
|
||||
This manual is for Org-mode (version 4.69).
|
||||
This manual is for Org-mode (version 4.70).
|
||||
|
||||
Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation
|
||||
|
||||
|
@ -138,8 +138,8 @@ Extended use of TODO keywords
|
|||
|
||||
* Workflow states:: From TODO to DONE in steps
|
||||
* TODO types:: I do this, Fred the rest
|
||||
* Per file keywords:: Different files, different requirements
|
||||
* Multiple sets in one file:: Mixing it all, and still finding your way
|
||||
* Per file keywords:: Different files, different requirements
|
||||
|
||||
Timestamps
|
||||
|
||||
|
@ -570,9 +570,9 @@ the visibility in the buffer.
|
|||
|
||||
`C-c C-x b'
|
||||
Show the current subtree in an indirect buffer(3). With numerical
|
||||
prefix ARG, go up to this level and then take that tree. If ARG
|
||||
is negative, go up that many levels. With `C-u' prefix, do not
|
||||
remove the previously used indirect buffer.
|
||||
prefix ARG, go up to this level and then take that tree. If ARG is
|
||||
negative, go up that many levels. With `C-u' prefix, do not remove
|
||||
the previously used indirect buffer.
|
||||
|
||||
When Emacs first visits an Org-mode file, the global state is set to
|
||||
OVERVIEW, i.e. only the top level headlines are visible. This can be
|
||||
|
@ -590,7 +590,7 @@ basis by adding one of the following lines anywhere in the buffer:
|
|||
(2) see the option `org-cycle-global-at-bob'.
|
||||
|
||||
(3) The indirect buffer (*note Indirect Buffers: (emacs)Indirect
|
||||
Buffers.) will contain the entire buffer, but will be narrowed to the
|
||||
Buffers.) will contain the entire buffer, but will be narrowed to the
|
||||
current tree. Editing the indirect buffer will also change the
|
||||
original buffer, but without affecting visibility in that buffer.
|
||||
|
||||
|
@ -2307,9 +2307,12 @@ The most important commands to work with TODO entries are:
|
|||
`C-c C-v'
|
||||
View TODO items in a _sparse tree_ (*note Sparse trees::). Folds
|
||||
the entire buffer, but shows all TODO items and the headings
|
||||
hierarchy above them. With prefix arg, show also the DONE
|
||||
entries. With numerical prefix N, show the tree for the Nth
|
||||
keyword in the variable `org-todo-keywords'.
|
||||
hierarchy above them. With prefix arg, search for a specific
|
||||
TODO. You will be prompted for the keyword, and you can also give
|
||||
a list of keywords like `kwd1|kwd2|...'. With numerical prefix N,
|
||||
show the tree for the Nth keyword in the variable
|
||||
`org-todo-keywords'. With two prefix args, find all TODO and DONE
|
||||
entries.
|
||||
|
||||
`C-c a t'
|
||||
Show the global TODO list. This collects the TODO items from all
|
||||
|
@ -2326,10 +2329,9 @@ File: org, Node: TODO extensions, Next: Priorities, Prev: TODO basics, Up: T
|
|||
=================================
|
||||
|
||||
The default implementation of TODO entries is just two states: TODO and
|
||||
DONE. You can, however, use the TODO feature for more complicated
|
||||
things by configuring the variables `org-todo-keywords' and
|
||||
`org-todo-interpretation'. Using special setup, you can even use TODO
|
||||
keywords in different ways in different org files.
|
||||
DONE. You can use the TODO feature for more complicated things by
|
||||
configuring the variable `org-todo-keywords'. With special setup, the
|
||||
TODO keyword system can work differently in different files.
|
||||
|
||||
Note that tags are another way to classify headlines in general and
|
||||
TODO items in particular (*note Tags::).
|
||||
|
@ -2338,8 +2340,8 @@ TODO items in particular (*note Tags::).
|
|||
|
||||
* Workflow states:: From TODO to DONE in steps
|
||||
* TODO types:: I do this, Fred the rest
|
||||
* Per file keywords:: Different files, different requirements
|
||||
* Multiple sets in one file:: Mixing it all, and still finding your way
|
||||
* Per file keywords:: Different files, different requirements
|
||||
|
||||
|
||||
File: org, Node: Workflow states, Next: TODO types, Prev: TODO extensions, Up: TODO extensions
|
||||
|
@ -2347,46 +2349,52 @@ File: org, Node: Workflow states, Next: TODO types, Prev: TODO extensions, U
|
|||
5.2.1 TODO keywords as workflow states
|
||||
--------------------------------------
|
||||
|
||||
You can use TODO keywords to indicate different states in the process
|
||||
of working on an item, for example:
|
||||
You can use TODO keywords to indicate different _sequential_ states in
|
||||
the process of working on an item, for example(1):
|
||||
|
||||
(setq org-todo-keywords '("TODO" "FEEDBACK" "VERIFY" "DONE")
|
||||
org-todo-interpretation 'sequence)
|
||||
(setq org-todo-keywords
|
||||
'((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))
|
||||
|
||||
Changing these variables only becomes effective in a new Emacs
|
||||
session. With this setup, the command `C-c C-t' will cycle an entry
|
||||
from TODO to FEEDBACK, then to VERIFY, and finally to DONE. You may
|
||||
also use a prefix argument to quickly select a specific state. For
|
||||
example `C-3 C-c C-t' will change the state immediately to VERIFY. If
|
||||
you define many keywords, you can use in-buffer completion (see *Note
|
||||
Completion::) to insert these words into the buffer. Changing a todo
|
||||
state can be logged with a timestamp, see *Note Tracking TODO state
|
||||
changes:: for more information.
|
||||
The vertical bar separates the TODO keywords (states that _need
|
||||
action_) from the DONE states (which need _no further action_. If you
|
||||
don't provide the separator bar, the last state is used as the DONE
|
||||
state. With this setup, the command `C-c C-t' will cycle an entry from
|
||||
TODO to FEEDBACK, then to VERIFY, and finally to DONE and DELEGATED.
|
||||
You may also use a prefix argument to quickly select a specific state.
|
||||
For example `C-3 C-c C-t' will change the state immediately to VERIFY.
|
||||
If you define many keywords, you can use in-buffer completion (see
|
||||
*Note Completion::) to insert these words into the buffer. Changing a
|
||||
todo state can be logged with a timestamp, see *Note Tracking TODO
|
||||
state changes:: for more information.
|
||||
|
||||
---------- Footnotes ----------
|
||||
|
||||
(1) Changing this variable only becomes effective after restarting
|
||||
Org-mode in a buffer.
|
||||
|
||||
|
||||
File: org, Node: TODO types, Next: Per file keywords, Prev: Workflow states, Up: TODO extensions
|
||||
File: org, Node: TODO types, Next: Multiple sets in one file, Prev: Workflow states, Up: TODO extensions
|
||||
|
||||
5.2.2 TODO keywords as types
|
||||
----------------------------
|
||||
|
||||
The second possibility is to use TODO keywords to indicate different
|
||||
types of action items. For example, you might want to indicate that
|
||||
items are for "work" or "home". If you are into David Allen's _Getting
|
||||
Things DONE_, you might want to use todo types `NEXTACTION', `WAITING',
|
||||
`MAYBE'. Or, when you work with several people on a single project,
|
||||
you might want to assign action items directly to persons, by using
|
||||
their names as TODO keywords. This would be set up like this:
|
||||
_types_ of action items. For example, you might want to indicate that
|
||||
items are for "work" or "home". Or, when you work with several people
|
||||
on a single project, you might want to assign action items directly to
|
||||
persons, by using their names as TODO keywords. This would be set up
|
||||
like this:
|
||||
|
||||
(setq org-todo-keywords '("Fred" "Sara" "Lucy" "Mike" "DONE")
|
||||
org-todo-interpretation 'type)
|
||||
(setq org-todo-keywords '((type "Fred" "Sara" "Lucy" "|" "DONE")))
|
||||
|
||||
In this case, different keywords do not indicate a sequence, but
|
||||
rather different types. So it is normally not useful to change from
|
||||
one type to another. Therefore, in this case the behavior of the
|
||||
command `C-c C-t' is changed slightly(1). When used several times in
|
||||
succession, it will still cycle through all names. But when you return
|
||||
rather different types. So the normal work flow would be to assign a
|
||||
task to a person, and later to mark it DONE. Org-mode supports this
|
||||
style by adapting the workings of the command `C-c C-t'(1). When used
|
||||
several times in succession, it will still cycle through all names, in
|
||||
order to first select the right type for a task. But when you return
|
||||
to the item after some time and execute `C-c C-t' again, it will switch
|
||||
from each name directly to DONE. Use prefix arguments or completion to
|
||||
from any name directly to DONE. Use prefix arguments or completion to
|
||||
quickly select a specific name. You can also review the items of a
|
||||
specific TODO type in a sparse tree by using a numeric prefix to `C-c
|
||||
C-v'. For example, to see all things Lucy has to do, you would use
|
||||
|
@ -2400,26 +2408,70 @@ global todo list: `C-3 C-c t'.
|
|||
buffers.
|
||||
|
||||
|
||||
File: org, Node: Per file keywords, Next: Multiple sets in one file, Prev: TODO types, Up: TODO extensions
|
||||
File: org, Node: Multiple sets in one file, Next: Per file keywords, Prev: TODO types, Up: TODO extensions
|
||||
|
||||
5.2.3 Setting up TODO keywords for individual files
|
||||
---------------------------------------------------
|
||||
5.2.3 Multiple keyword sets in one file
|
||||
---------------------------------------
|
||||
|
||||
Sometimes you may want to use different sets of TODO keywords in
|
||||
parallel. For example, you may want to have the basic `TODO'/`DONE',
|
||||
but also a workflow for bug fixing, and a separate state indicating
|
||||
that an item has been canceled (so it is not DONE, but also does not
|
||||
require action). Your setup would then look like this:
|
||||
|
||||
(setq org-todo-keywords
|
||||
'((sequence "TODO" "|" "DONE")
|
||||
(sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED")
|
||||
(sequence "|" "CANCELED")))
|
||||
|
||||
The keywords should all be different, this helps Org-mode to keep
|
||||
track of which subsequence should be used for a given entry. In this
|
||||
setup, `C-c C-t' only operates within a subsequence, so it switches from
|
||||
`DONE' to (nothing) to `TODO', and from `FIXED' to (nothing) to
|
||||
`REPORT'. Therefore you need a mechanism to initially select the
|
||||
correct sequence. Besides the obvious ways like typing a keyword or
|
||||
using completion, you may also apply the following commands:
|
||||
|
||||
`C-S-<right>'
|
||||
`C-S-<left>'
|
||||
These keys jump from one TODO subset to the next. In the above
|
||||
example, `C-S-<right>' would jump from `TODO' or `DONE' to
|
||||
`REPORT', and any of the words in the second row to `CANCELED'.
|
||||
|
||||
`S-<right>'
|
||||
`S-<left>'
|
||||
`S-<<left>>' and `S-<<right>>' and walk through _all_ keywords
|
||||
from all sets, so for example `S-<<right>>' would switch from
|
||||
`DONE' to `REPORT' in the example above.
|
||||
|
||||
|
||||
File: org, Node: Per file keywords, Prev: Multiple sets in one file, Up: TODO extensions
|
||||
|
||||
5.2.4 Setting up keywords for individual files
|
||||
----------------------------------------------
|
||||
|
||||
It can be very useful to use different aspects of the TODO mechanism in
|
||||
different files, which is not possible with the global settings
|
||||
described above. For file-local settings, you need to add special
|
||||
lines to the file which set the keywords and interpretation for that
|
||||
file only. For example, to set one of the two examples discussed
|
||||
above, you need one of the following lines, starting in column zero
|
||||
anywhere in the file:
|
||||
different files. For file-local settings, you need to add special lines
|
||||
to the file which set the keywords and interpretation for that file
|
||||
only. For example, to set one of the two examples discussed above, you
|
||||
need one of the following lines, starting in column zero anywhere in the
|
||||
file:
|
||||
|
||||
#+SEQ_TODO: TODO FEEDBACK VERIFY DONE
|
||||
#+TYP_TODO: Fred Sara Lucy Mike DONE
|
||||
#+SEQ_TODO: TODO FEEDBACK VERIFY | DONE CANCELED
|
||||
or
|
||||
#+TYP_TODO: Fred Sara Lucy Mike | DONE
|
||||
|
||||
A setup for using several sets in parallel would be:
|
||||
|
||||
#+SEQ_TODO: "TODO" "|" "DONE"
|
||||
#+SEQ_TODO: "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED"
|
||||
#+SEQ_TODO: "|" "CANCELED"
|
||||
|
||||
To make sure you are using the correct keyword, type `#+' into the
|
||||
buffer and then use `M-<TAB>' completion.
|
||||
|
||||
Remember that the last keyword must always mean that the item is DONE
|
||||
Remember that the keywords after the vertical bar (or the last
|
||||
keyword if no bar is there) must always mean that the item is DONE
|
||||
(although you may use a different word). After changing one of these
|
||||
lines, use `C-c C-c' with the cursor still in the line to make the
|
||||
changes known to Org-mode(1).
|
||||
|
@ -2430,40 +2482,6 @@ changes known to Org-mode(1).
|
|||
after visiting a file. `C-c C-c' with the cursor in a line starting
|
||||
with `#+' is simply restarting Org-mode for the current buffer.
|
||||
|
||||
|
||||
File: org, Node: Multiple sets in one file, Prev: Per file keywords, Up: TODO extensions
|
||||
|
||||
5.2.4 Multiple TODO keyword sets in one file
|
||||
--------------------------------------------
|
||||
|
||||
Sometimes you may want to use different sets of TODO keywords in the
|
||||
same file. For example, you may want to have the basic `TODO'/`DONE',
|
||||
but also a workflow for bug fixing. Your setup would then look like
|
||||
this:
|
||||
|
||||
#+SEQ_TODO: TODO DONE
|
||||
#+SEQ_TODO: REPORT BUG KNOWNCAUSE RESOLVED
|
||||
|
||||
The keywords should all be different, this helps Org-mode to keep
|
||||
track of which subsequence should be used for a given entry. In this
|
||||
setup, `C-c C-t' only operates within a subsequence, so it switches from
|
||||
`DONE' to (nothing) to `TODO', and from `RESOLVED' to (nothing) to
|
||||
`REPORT'. Therefore you need a mechanism to initially select the
|
||||
correct sequence. Besides the obvious ways like typing a keyword or
|
||||
using completion, you may also apply the following commands:
|
||||
|
||||
`S-<right>'
|
||||
`S-<left>'
|
||||
`S-<<left>>' and `S-<<right>>' and walk through all keywords from
|
||||
all sets, so for example `S-<<right>>' would switch from `DONE' to
|
||||
`REPORT' in the example above.
|
||||
|
||||
`C-S-<right>'
|
||||
`C-S-<left>'
|
||||
These key jump from one TODO subset to the next. So `C-S-<right>'
|
||||
would jump from `TODO' to `REPORT' and from `KNOWNCAUSE' to `TODO'
|
||||
in the above example.
|
||||
|
||||
|
||||
File: org, Node: Priorities, Next: Breaking down tasks, Prev: TODO extensions, Up: TODO items
|
||||
|
||||
|
@ -3509,13 +3527,14 @@ collected into a single place.
|
|||
`C-c a T'
|
||||
Like the above, but allows selection of a specific TODO keyword.
|
||||
You can also do this by specifying a prefix argument to `C-c a t'.
|
||||
With a `C-u' prefix you are prompted for a keyword. With a
|
||||
numeric prefix, the Nth keyword in `org-todo-keywords' is selected. The
|
||||
`r' key in the agenda buffer regenerates it, and you can give a
|
||||
prefix argument to this command to change the selected TODO
|
||||
keyword, for example `3 r'. If you often need a search for a
|
||||
specific keyword, define a custom command for it (*note Agenda
|
||||
dispatcher::).
|
||||
With a `C-u' prefix you are prompted for a keyword, and you may
|
||||
also specify several keywords by separating them with `|' as
|
||||
boolean OR operator. With a numeric prefix, the Nth keyword in
|
||||
`org-todo-keywords' is selected. The `r' key in the agenda buffer
|
||||
regenerates it, and you can give a prefix argument to this command
|
||||
to change the selected TODO keyword, for example `3 r'. If you
|
||||
often need a search for a specific keyword, define a custom
|
||||
command for it (*note Agenda dispatcher::).
|
||||
Matching specific TODO keywords can also be done as part of a tags
|
||||
search (*note Tag searches::).
|
||||
|
||||
|
@ -4449,9 +4468,14 @@ File: org, Node: Export commands, Next: Quoting HTML tags, Prev: HTML export,
|
|||
`C-c C-e b'
|
||||
Export as HTML file and open it with a browser.
|
||||
|
||||
`C-c C-e H'
|
||||
Export to a temporary buffer, do not create a file.
|
||||
|
||||
`C-c C-e v h'
|
||||
|
||||
`C-c C-e v b'
|
||||
|
||||
`C-c C-e v H'
|
||||
Export only the visible part of the document.
|
||||
|
||||
In the exported version, the first 3 outline levels will become
|
||||
|
@ -4648,22 +4672,23 @@ File: org, Node: Initial text, Next: Enhancing text, Prev: Comment lines, Up
|
|||
-------------------------------------
|
||||
|
||||
Org-mode normally ignores any text before the first headline when
|
||||
exporting, because this region is often used for internal links to speed
|
||||
up navigation etc. However, there are occasions when you might want to
|
||||
have some text before the first headline, like a small intorduction,
|
||||
special HTML code with a navigation bar, etc. You can ask to have this
|
||||
part of the file exported as well by setting the variable
|
||||
exporting, leaving this region for internal links to speed up navigation
|
||||
etc. However, in publishing-oriented files, you might want to have some
|
||||
text before the first headline, like a small introduction, special HTML
|
||||
code with a navigation bar, etc. You can ask to have this part of the
|
||||
file exported as well by setting the variable
|
||||
`org-export-skip-text-before-1st-heading' to `nil'. On a per-file
|
||||
basis, you can get the same effect with
|
||||
|
||||
#+OPTIONS: skip:nil
|
||||
|
||||
The text before the first headline will be fully processed (*note
|
||||
Enhancing text::). If you need to include literal HTML, use the
|
||||
special constructs described in *Note Quoting HTML tags::. The table of
|
||||
contents is normally inserted directly before the first headline of the
|
||||
file. If you would like to get it to a different location, insert the
|
||||
string `[TABLE-OF-CONTENTS]' on a line by itself at the desired
|
||||
Enhancing text::), and the first non-comment line becomes the title of
|
||||
the exported document. If you need to include literal HTML, use the
|
||||
special constructs described in *Note Quoting HTML tags::. The table
|
||||
of contents is normally inserted directly before the first headline of
|
||||
the file. If you would like to get it to a different location, insert
|
||||
the string `[TABLE-OF-CONTENTS]' on a line by itself at the desired
|
||||
location.
|
||||
|
||||
Finally, if you want to use the space before the first headline for
|
||||
|
@ -4692,7 +4717,7 @@ formatted output.
|
|||
supports lists. See *Note Plain lists::.
|
||||
|
||||
* You can make words *bold*, /italic/, _underlined_, `=code=', and
|
||||
`+strikethrough+'.
|
||||
even `+strikethrough+'(1).
|
||||
|
||||
* A line consisting of only dashes, and at least 5 of them, will be
|
||||
exported as a horizontal line (`<hr/>' in HTML).
|
||||
|
@ -4719,6 +4744,11 @@ they can all be turned off with corresponding variables. See the
|
|||
customization group `org-export-general', and the following section
|
||||
which explains how to set export options with special lines in a buffer.
|
||||
|
||||
---------- Footnotes ----------
|
||||
|
||||
(1) but remember that strikethrough is typographically evil and
|
||||
should never be used.
|
||||
|
||||
|
||||
File: org, Node: Export options, Prev: Enhancing text, Up: Text interpretation
|
||||
|
||||
|
@ -5414,14 +5444,14 @@ Default Alternative 1 Alternative 2
|
|||
`S-<RET>' `C-c C-x c'
|
||||
`M-<RET>' `C-c C-x m' `<Esc> <RET>'
|
||||
`M-S-<RET>' `C-c C-x M'
|
||||
`S-<left>' `C-c C-x
|
||||
`S-<left>' `C-c <left>'
|
||||
`S-<right>' `C-c <right>'
|
||||
`S-<up>' `C-c <up>'
|
||||
`S-<down>' `C-c <down>'
|
||||
`C-S-<left>'`C-c C-x
|
||||
<left>'
|
||||
`S-<right>' `C-c C-x
|
||||
`C-S-<right>'`C-c C-x
|
||||
<right>'
|
||||
`S-<up>' `C-c C-x
|
||||
<up>'
|
||||
`S-<down>' `C-c C-x
|
||||
<down>'
|
||||
|
||||
|
||||
File: org, Node: Interaction, Next: Bugs, Prev: TTY keys, Up: Miscellaneous
|
||||
|
@ -6208,12 +6238,12 @@ Index
|
|||
* completion, of links: Handling links. (line 25)
|
||||
* completion, of option keywords <1>: Completion. (line 6)
|
||||
* completion, of option keywords <2>: Export options. (line 6)
|
||||
* completion, of option keywords: Per file keywords. (line 17)
|
||||
* completion, of option keywords: Per file keywords. (line 23)
|
||||
* completion, of tags <1>: Completion. (line 6)
|
||||
* completion, of tags: Setting tags. (line 11)
|
||||
* completion, of TeX symbols: Completion. (line 6)
|
||||
* completion, of TODO keywords <1>: Completion. (line 6)
|
||||
* completion, of TODO keywords: Workflow states. (line 12)
|
||||
* completion, of TODO keywords: Workflow states. (line 15)
|
||||
* constants, in calculations: References. (line 82)
|
||||
* constants.el: Cooperation. (line 14)
|
||||
* constcgs, STARTUP keyword: In-buffer settings. (line 52)
|
||||
|
@ -6251,7 +6281,7 @@ Index
|
|||
* dispatching agenda commands: Agenda dispatcher. (line 6)
|
||||
* display changing, in agenda: Agenda commands. (line 65)
|
||||
* document structure: Document structure. (line 6)
|
||||
* DONE, final TODO keyword: Per file keywords. (line 20)
|
||||
* DONE, final TODO keyword: Per file keywords. (line 26)
|
||||
* dynamic blocks: Dynamic blocks. (line 6)
|
||||
* editing tables: Tables. (line 6)
|
||||
* editing, of table formulas: Editing and debugging formulas.
|
||||
|
@ -6303,7 +6333,7 @@ Index
|
|||
* GNUS links: External links. (line 6)
|
||||
* hand-formatted lists: Enhancing text. (line 11)
|
||||
* headline levels: Export options. (line 25)
|
||||
* headline levels, for exporting <1>: Export commands. (line 17)
|
||||
* headline levels, for exporting <1>: Export commands. (line 22)
|
||||
* headline levels, for exporting: ASCII export. (line 18)
|
||||
* headline navigation: Motion. (line 6)
|
||||
* headline tagging: Tags. (line 6)
|
||||
|
@ -6475,7 +6505,7 @@ Index
|
|||
* structure editing: Structure editing. (line 6)
|
||||
* structure of document: Document structure. (line 6)
|
||||
* sublevels, inclusion into tags match: Tag inheritance. (line 6)
|
||||
* sublevels, inclusion into todo list: Global TODO list. (line 33)
|
||||
* sublevels, inclusion into todo list: Global TODO list. (line 34)
|
||||
* subscript: Subscripts and Superscripts.
|
||||
(line 6)
|
||||
* subtree cycling: Visibility cycling. (line 10)
|
||||
|
@ -6667,7 +6697,7 @@ Key Index
|
|||
* C-c a m: Tag searches. (line 12)
|
||||
* C-c a T: Global TODO list. (line 14)
|
||||
* C-c a t <1>: Global TODO list. (line 9)
|
||||
* C-c a t: TODO basics. (line 33)
|
||||
* C-c a t: TODO basics. (line 36)
|
||||
* C-c C-a: Visibility cycling. (line 33)
|
||||
* C-c C-b: Motion. (line 15)
|
||||
* C-c C-c <1>: Cooperation. (line 37)
|
||||
|
@ -6688,6 +6718,7 @@ Key Index
|
|||
* C-c C-e a: ASCII export. (line 9)
|
||||
* C-c C-e b: Export commands. (line 7)
|
||||
* C-c C-e c: iCalendar export. (line 21)
|
||||
* C-c C-e H: Export commands. (line 10)
|
||||
* C-c C-e h: Export commands. (line 6)
|
||||
* C-c C-e I: iCalendar export. (line 16)
|
||||
* C-c C-e i: iCalendar export. (line 14)
|
||||
|
@ -6695,8 +6726,9 @@ Key Index
|
|||
* C-c C-e v <1>: XOXO export. (line 11)
|
||||
* C-c C-e v: Sparse trees. (line 41)
|
||||
* C-c C-e v a: ASCII export. (line 13)
|
||||
* C-c C-e v b: Export commands. (line 10)
|
||||
* C-c C-e v h: Export commands. (line 10)
|
||||
* C-c C-e v b: Export commands. (line 13)
|
||||
* C-c C-e v H: Export commands. (line 13)
|
||||
* C-c C-e v h: Export commands. (line 13)
|
||||
* C-c C-e x: XOXO export. (line 10)
|
||||
* C-c C-f: Motion. (line 12)
|
||||
* C-c C-j: Motion. (line 21)
|
||||
|
@ -6758,9 +6790,9 @@ Key Index
|
|||
* C-c ~: Cooperation. (line 48)
|
||||
* C-k: Agenda commands. (line 115)
|
||||
* C-S-<left>: Multiple sets in one file.
|
||||
(line 26)
|
||||
(line 25)
|
||||
* C-S-<right>: Multiple sets in one file.
|
||||
(line 26)
|
||||
(line 25)
|
||||
* C-TAB: ARCHIVE tag. (line 38)
|
||||
* C-u C-c *: Updating the table. (line 16)
|
||||
* C-u C-c .: Creating timestamps. (line 14)
|
||||
|
@ -6802,7 +6834,7 @@ Key Index
|
|||
* M-<right>: Structure editing. (line 24)
|
||||
* M-<TAB> <1>: Completion. (line 10)
|
||||
* M-<TAB> <2>: Setting tags. (line 6)
|
||||
* M-<TAB> <3>: Per file keywords. (line 17)
|
||||
* M-<TAB> <3>: Per file keywords. (line 23)
|
||||
* M-<TAB>: Editing and debugging formulas.
|
||||
(line 64)
|
||||
* M-<up> <1>: Editing and debugging formulas.
|
||||
|
@ -6851,7 +6883,7 @@ Key Index
|
|||
* p: Agenda commands. (line 20)
|
||||
* q: Agenda commands. (line 227)
|
||||
* r <1>: Agenda commands. (line 80)
|
||||
* r: Global TODO list. (line 20)
|
||||
* r: Global TODO list. (line 22)
|
||||
* S: Agenda commands. (line 206)
|
||||
* s: Agenda commands. (line 87)
|
||||
* S-<down> <1>: Agenda commands. (line 149)
|
||||
|
@ -6867,7 +6899,7 @@ Key Index
|
|||
(line 42)
|
||||
* S-<left> <3>: Creating timestamps. (line 51)
|
||||
* S-<left> <4>: Multiple sets in one file.
|
||||
(line 22)
|
||||
(line 29)
|
||||
* S-<left> <5>: TODO basics. (line 20)
|
||||
* S-<left>: Editing and debugging formulas.
|
||||
(line 67)
|
||||
|
@ -6878,7 +6910,7 @@ Key Index
|
|||
(line 39)
|
||||
* S-<right> <3>: Creating timestamps. (line 51)
|
||||
* S-<right> <4>: Multiple sets in one file.
|
||||
(line 22)
|
||||
(line 29)
|
||||
* S-<right> <5>: TODO basics. (line 20)
|
||||
* S-<right>: Editing and debugging formulas.
|
||||
(line 67)
|
||||
|
@ -6915,172 +6947,174 @@ Node: Visibility cycling21720
|
|||
Ref: Visibility cycling-Footnote-123934
|
||||
Ref: Visibility cycling-Footnote-223992
|
||||
Ref: Visibility cycling-Footnote-324042
|
||||
Node: Motion24311
|
||||
Node: Structure editing25095
|
||||
Node: Archiving27921
|
||||
Node: ARCHIVE tag28479
|
||||
Node: Moving subtrees30272
|
||||
Node: Sparse trees31583
|
||||
Ref: Sparse trees-Footnote-133715
|
||||
Ref: Sparse trees-Footnote-233897
|
||||
Node: Plain lists34012
|
||||
Ref: Plain lists-Footnote-137781
|
||||
Ref: Plain lists-Footnote-238139
|
||||
Node: Tables38323
|
||||
Node: Built-in table editor38837
|
||||
Node: Narrow columns45856
|
||||
Ref: Narrow columns-Footnote-147789
|
||||
Node: orgtbl-mode47835
|
||||
Node: The spreadsheet48639
|
||||
Node: References49726
|
||||
Ref: References-Footnote-153855
|
||||
Node: Formula syntax for Calc54144
|
||||
Node: Formula syntax for Lisp56610
|
||||
Node: Field formulas57879
|
||||
Node: Column formulas59187
|
||||
Node: Editing and debugging formulas60786
|
||||
Node: Updating the table64939
|
||||
Node: Advanced features65974
|
||||
Node: Hyperlinks70499
|
||||
Node: Link format71272
|
||||
Node: Internal links72565
|
||||
Ref: Internal links-Footnote-174490
|
||||
Node: Radio targets74622
|
||||
Node: External links75313
|
||||
Node: Handling links77717
|
||||
Ref: Handling links-Footnote-182827
|
||||
Ref: Handling links-Footnote-283064
|
||||
Node: Link abbreviations83138
|
||||
Node: Search options84817
|
||||
Ref: Search options-Footnote-186597
|
||||
Node: Custom searches86678
|
||||
Node: Remember87726
|
||||
Node: Setting up remember88713
|
||||
Node: Remember templates89295
|
||||
Ref: Remember templates-Footnote-192609
|
||||
Node: Storing notes92707
|
||||
Node: TODO items94515
|
||||
Node: TODO basics95498
|
||||
Node: TODO extensions97025
|
||||
Node: Workflow states97894
|
||||
Node: TODO types98879
|
||||
Ref: TODO types-Footnote-1100537
|
||||
Node: Per file keywords100619
|
||||
Ref: Per file keywords-Footnote-1101740
|
||||
Node: Multiple sets in one file101941
|
||||
Node: Priorities103299
|
||||
Node: Breaking down tasks104545
|
||||
Ref: Breaking down tasks-Footnote-1105065
|
||||
Node: Checkboxes105161
|
||||
Node: Timestamps107916
|
||||
Node: Time stamps108450
|
||||
Ref: Time stamps-Footnote-1111944
|
||||
Ref: Time stamps-Footnote-2112060
|
||||
Node: Creating timestamps112215
|
||||
Node: The date/time prompt114873
|
||||
Ref: The date/time prompt-Footnote-1116834
|
||||
Node: Custom time format116940
|
||||
Node: Repeating items118498
|
||||
Node: Progress logging120308
|
||||
Node: Closing items120954
|
||||
Ref: Closing items-Footnote-1121888
|
||||
Ref: Closing items-Footnote-2121957
|
||||
Node: Tracking TODO state changes122030
|
||||
Node: Clocking work time122886
|
||||
Ref: Clocking work time-Footnote-1126532
|
||||
Ref: Clocking work time-Footnote-2126610
|
||||
Node: Tags126736
|
||||
Node: Tag inheritance127498
|
||||
Node: Setting tags128435
|
||||
Ref: Setting tags-Footnote-1132958
|
||||
Ref: Setting tags-Footnote-2133070
|
||||
Node: Tag searches133153
|
||||
Node: Agenda views135864
|
||||
Node: Agenda files137809
|
||||
Ref: Agenda files-Footnote-1138775
|
||||
Ref: Agenda files-Footnote-2138924
|
||||
Node: Agenda dispatcher139117
|
||||
Node: Built-in agenda views140808
|
||||
Node: Weekly/Daily agenda141386
|
||||
Node: Global TODO list143515
|
||||
Node: Matching headline tags145688
|
||||
Node: Timeline146759
|
||||
Node: Stuck projects147425
|
||||
Node: Presentation and sorting149124
|
||||
Node: Categories149915
|
||||
Node: Time-of-day specifications150579
|
||||
Node: Sorting of agenda items152550
|
||||
Node: Agenda commands153832
|
||||
Node: Custom agenda views160561
|
||||
Node: Storing searches161236
|
||||
Node: Block agenda163148
|
||||
Node: Setting Options164378
|
||||
Node: Batch processing167090
|
||||
Node: Embedded LaTeX168220
|
||||
Ref: Embedded LaTeX-Footnote-1169312
|
||||
Node: Math symbols169502
|
||||
Node: Subscripts and Superscripts170267
|
||||
Node: LaTeX fragments171111
|
||||
Ref: LaTeX fragments-Footnote-1173219
|
||||
Node: Processing LaTeX fragments173481
|
||||
Node: CDLaTeX mode174427
|
||||
Ref: CDLaTeX mode-Footnote-1176911
|
||||
Node: Exporting177059
|
||||
Node: ASCII export178373
|
||||
Node: HTML export179663
|
||||
Node: Export commands180282
|
||||
Node: Quoting HTML tags181006
|
||||
Node: Links181636
|
||||
Node: Images182333
|
||||
Ref: Images-Footnote-1183204
|
||||
Node: CSS support183265
|
||||
Ref: CSS support-Footnote-1184584
|
||||
Node: XOXO export184697
|
||||
Node: iCalendar export185136
|
||||
Node: Text interpretation186355
|
||||
Node: Comment lines186897
|
||||
Node: Initial text187292
|
||||
Node: Enhancing text188900
|
||||
Node: Export options190718
|
||||
Node: Publishing192611
|
||||
Ref: Publishing-Footnote-1193407
|
||||
Node: Configuration193603
|
||||
Node: Project alist194321
|
||||
Node: Sources and destinations195387
|
||||
Node: Selecting files196117
|
||||
Node: Publishing action196865
|
||||
Node: Publishing options198098
|
||||
Node: Publishing links200250
|
||||
Node: Project page index201763
|
||||
Node: Sample configuration202541
|
||||
Node: Simple example203033
|
||||
Node: Complex example203706
|
||||
Node: Triggering publication205782
|
||||
Node: Miscellaneous206467
|
||||
Node: Completion207101
|
||||
Node: Customization208572
|
||||
Node: In-buffer settings209155
|
||||
Node: The very busy C-c C-c key213632
|
||||
Node: Clean view215276
|
||||
Node: TTY keys217853
|
||||
Node: Interaction219462
|
||||
Node: Cooperation219859
|
||||
Node: Conflicts222601
|
||||
Node: Bugs224193
|
||||
Node: Extensions and Hacking225689
|
||||
Node: Extensions226285
|
||||
Node: Tables in arbitrary syntax228232
|
||||
Node: Radio tables229309
|
||||
Node: A LaTeX example231812
|
||||
Ref: A LaTeX example-Footnote-1235458
|
||||
Ref: A LaTeX example-Footnote-2235606
|
||||
Node: Translator functions236041
|
||||
Ref: Translator functions-Footnote-1239150
|
||||
Node: Dynamic blocks239238
|
||||
Node: Special agenda views241210
|
||||
Ref: Special agenda views-Footnote-1243489
|
||||
Node: History and Acknowledgments243749
|
||||
Node: Index249609
|
||||
Node: Key Index280590
|
||||
Node: Motion24312
|
||||
Node: Structure editing25096
|
||||
Node: Archiving27922
|
||||
Node: ARCHIVE tag28480
|
||||
Node: Moving subtrees30273
|
||||
Node: Sparse trees31584
|
||||
Ref: Sparse trees-Footnote-133716
|
||||
Ref: Sparse trees-Footnote-233898
|
||||
Node: Plain lists34013
|
||||
Ref: Plain lists-Footnote-137782
|
||||
Ref: Plain lists-Footnote-238140
|
||||
Node: Tables38324
|
||||
Node: Built-in table editor38838
|
||||
Node: Narrow columns45857
|
||||
Ref: Narrow columns-Footnote-147790
|
||||
Node: orgtbl-mode47836
|
||||
Node: The spreadsheet48640
|
||||
Node: References49727
|
||||
Ref: References-Footnote-153856
|
||||
Node: Formula syntax for Calc54145
|
||||
Node: Formula syntax for Lisp56611
|
||||
Node: Field formulas57880
|
||||
Node: Column formulas59188
|
||||
Node: Editing and debugging formulas60787
|
||||
Node: Updating the table64940
|
||||
Node: Advanced features65975
|
||||
Node: Hyperlinks70500
|
||||
Node: Link format71273
|
||||
Node: Internal links72566
|
||||
Ref: Internal links-Footnote-174491
|
||||
Node: Radio targets74623
|
||||
Node: External links75314
|
||||
Node: Handling links77718
|
||||
Ref: Handling links-Footnote-182828
|
||||
Ref: Handling links-Footnote-283065
|
||||
Node: Link abbreviations83139
|
||||
Node: Search options84818
|
||||
Ref: Search options-Footnote-186598
|
||||
Node: Custom searches86679
|
||||
Node: Remember87727
|
||||
Node: Setting up remember88714
|
||||
Node: Remember templates89296
|
||||
Ref: Remember templates-Footnote-192610
|
||||
Node: Storing notes92708
|
||||
Node: TODO items94516
|
||||
Node: TODO basics95499
|
||||
Node: TODO extensions97198
|
||||
Node: Workflow states98017
|
||||
Ref: Workflow states-Footnote-199192
|
||||
Node: TODO types99285
|
||||
Ref: TODO types-Footnote-1100868
|
||||
Node: Multiple sets in one file100950
|
||||
Node: Per file keywords102561
|
||||
Ref: Per file keywords-Footnote-1103850
|
||||
Node: Priorities104051
|
||||
Node: Breaking down tasks105297
|
||||
Ref: Breaking down tasks-Footnote-1105817
|
||||
Node: Checkboxes105913
|
||||
Node: Timestamps108668
|
||||
Node: Time stamps109202
|
||||
Ref: Time stamps-Footnote-1112696
|
||||
Ref: Time stamps-Footnote-2112812
|
||||
Node: Creating timestamps112967
|
||||
Node: The date/time prompt115625
|
||||
Ref: The date/time prompt-Footnote-1117586
|
||||
Node: Custom time format117692
|
||||
Node: Repeating items119250
|
||||
Node: Progress logging121060
|
||||
Node: Closing items121706
|
||||
Ref: Closing items-Footnote-1122640
|
||||
Ref: Closing items-Footnote-2122709
|
||||
Node: Tracking TODO state changes122782
|
||||
Node: Clocking work time123638
|
||||
Ref: Clocking work time-Footnote-1127284
|
||||
Ref: Clocking work time-Footnote-2127362
|
||||
Node: Tags127488
|
||||
Node: Tag inheritance128250
|
||||
Node: Setting tags129187
|
||||
Ref: Setting tags-Footnote-1133710
|
||||
Ref: Setting tags-Footnote-2133822
|
||||
Node: Tag searches133905
|
||||
Node: Agenda views136616
|
||||
Node: Agenda files138561
|
||||
Ref: Agenda files-Footnote-1139527
|
||||
Ref: Agenda files-Footnote-2139676
|
||||
Node: Agenda dispatcher139869
|
||||
Node: Built-in agenda views141560
|
||||
Node: Weekly/Daily agenda142138
|
||||
Node: Global TODO list144267
|
||||
Node: Matching headline tags146539
|
||||
Node: Timeline147610
|
||||
Node: Stuck projects148276
|
||||
Node: Presentation and sorting149975
|
||||
Node: Categories150766
|
||||
Node: Time-of-day specifications151430
|
||||
Node: Sorting of agenda items153401
|
||||
Node: Agenda commands154683
|
||||
Node: Custom agenda views161412
|
||||
Node: Storing searches162087
|
||||
Node: Block agenda163999
|
||||
Node: Setting Options165229
|
||||
Node: Batch processing167941
|
||||
Node: Embedded LaTeX169071
|
||||
Ref: Embedded LaTeX-Footnote-1170163
|
||||
Node: Math symbols170353
|
||||
Node: Subscripts and Superscripts171118
|
||||
Node: LaTeX fragments171962
|
||||
Ref: LaTeX fragments-Footnote-1174070
|
||||
Node: Processing LaTeX fragments174332
|
||||
Node: CDLaTeX mode175278
|
||||
Ref: CDLaTeX mode-Footnote-1177762
|
||||
Node: Exporting177910
|
||||
Node: ASCII export179224
|
||||
Node: HTML export180514
|
||||
Node: Export commands181133
|
||||
Node: Quoting HTML tags181944
|
||||
Node: Links182574
|
||||
Node: Images183271
|
||||
Ref: Images-Footnote-1184142
|
||||
Node: CSS support184203
|
||||
Ref: CSS support-Footnote-1185522
|
||||
Node: XOXO export185635
|
||||
Node: iCalendar export186074
|
||||
Node: Text interpretation187293
|
||||
Node: Comment lines187835
|
||||
Node: Initial text188230
|
||||
Node: Enhancing text189904
|
||||
Ref: Enhancing text-Footnote-1191766
|
||||
Node: Export options191856
|
||||
Node: Publishing193749
|
||||
Ref: Publishing-Footnote-1194545
|
||||
Node: Configuration194741
|
||||
Node: Project alist195459
|
||||
Node: Sources and destinations196525
|
||||
Node: Selecting files197255
|
||||
Node: Publishing action198003
|
||||
Node: Publishing options199236
|
||||
Node: Publishing links201388
|
||||
Node: Project page index202901
|
||||
Node: Sample configuration203679
|
||||
Node: Simple example204171
|
||||
Node: Complex example204844
|
||||
Node: Triggering publication206920
|
||||
Node: Miscellaneous207605
|
||||
Node: Completion208239
|
||||
Node: Customization209710
|
||||
Node: In-buffer settings210293
|
||||
Node: The very busy C-c C-c key214770
|
||||
Node: Clean view216414
|
||||
Node: TTY keys218991
|
||||
Node: Interaction220601
|
||||
Node: Cooperation220998
|
||||
Node: Conflicts223740
|
||||
Node: Bugs225332
|
||||
Node: Extensions and Hacking226828
|
||||
Node: Extensions227424
|
||||
Node: Tables in arbitrary syntax229371
|
||||
Node: Radio tables230448
|
||||
Node: A LaTeX example232951
|
||||
Ref: A LaTeX example-Footnote-1236597
|
||||
Ref: A LaTeX example-Footnote-2236745
|
||||
Node: Translator functions237180
|
||||
Ref: Translator functions-Footnote-1240289
|
||||
Node: Dynamic blocks240377
|
||||
Node: Special agenda views242349
|
||||
Ref: Special agenda views-Footnote-1244628
|
||||
Node: History and Acknowledgments244888
|
||||
Node: Index250748
|
||||
Node: Key Index281729
|
||||
|
||||
End Tag Table
|
||||
|
|
403
org.el
403
org.el
|
@ -5,7 +5,7 @@
|
|||
;; Author: Carsten Dominik <dominik at science dot uva dot nl>
|
||||
;; Keywords: outlines, hypermedia, calendar, wp
|
||||
;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
|
||||
;; Version: 4.69a
|
||||
;; Version: 4.70
|
||||
;;
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
|
@ -83,7 +83,7 @@
|
|||
|
||||
;;; Version
|
||||
|
||||
(defconst org-version "4.69a"
|
||||
(defconst org-version "4.70"
|
||||
"The version number of the file org.el.")
|
||||
(defun org-version ()
|
||||
(interactive)
|
||||
|
@ -1329,23 +1329,45 @@ When nil, new notes will be filed to the end of a file or entry."
|
|||
:tag "Org Progress"
|
||||
:group 'org-time)
|
||||
|
||||
(defcustom org-todo-keywords '("TODO" "DONE")
|
||||
"List of TODO entry keywords.
|
||||
\\<org-mode-map>By default, this is '(\"TODO\" \"DONE\"). The last entry in the list is
|
||||
considered to mean that the entry is \"done\". All the other mean that
|
||||
action is required, and will make the entry show up in todo lists, diaries
|
||||
etc.
|
||||
The command \\[org-todo] cycles an entry through these states, and an
|
||||
(defcustom org-todo-keywords '((sequence "TODO" "DONE"))
|
||||
"List of TODO entry keyword sequences and their interpretation.
|
||||
\\<org-mode-map>This is a list of sequences.
|
||||
|
||||
Each sequence starts with a symbol, either `sequence' or `type',
|
||||
indicating if the keywords should be interpreted as a sequence of
|
||||
action steps, or as different types of TODO items. The first
|
||||
keywords are states requiring action - these states will select a headline
|
||||
for inclusion into the global TODO list Org-mode produces. If one of
|
||||
the \"keywords\" is the vertical bat \"|\" the remaining keywords
|
||||
signify that no further action is necessary. If \"|\" is not found,
|
||||
the last keyword is treated as the only DONE state of the sequence.
|
||||
|
||||
The command \\[org-todo] cycles an entry through these states, and one
|
||||
additional state where no keyword is present. For details about this
|
||||
cycling, see also the variable `org-todo-interpretation'
|
||||
Changes become only effective after restarting Emacs.
|
||||
cycling, see the manual.
|
||||
|
||||
TODO keywords and interpretation can also be set on a per-file basis with
|
||||
the special #+SEQ_TODO and #+TYP_TODO lines."
|
||||
the special #+SEQ_TODO and #+TYP_TODO lines.
|
||||
|
||||
For backward compatibility, this variable may also be just a list
|
||||
of keywords - in this case the interptetation (sequence or type) will be
|
||||
taken from the (otherwise obsolete) variable `org-todo-interpretation'."
|
||||
:group 'org-todo
|
||||
:group 'org-keywords
|
||||
:type '(repeat (string :tag "Keyword")))
|
||||
:type '(choice
|
||||
(repeat :tag "Old syntax, just keywords"
|
||||
(string :tag "Keyword"))
|
||||
(repeat :tag "New syntax"
|
||||
(cons
|
||||
(choice
|
||||
:tag "Interpretation"
|
||||
(const :tag "Sequence (cycling hits every state)" sequence)
|
||||
(const :tag "Type (cycling directly to DONE)" type))
|
||||
(repeat
|
||||
(string :tag "Keyword"))))))
|
||||
|
||||
(defvar org-todo-keywords-1 nil)
|
||||
(make-variable-buffer-local 'org-todo-keywords-1)
|
||||
(defvar org-not-done-keywords nil)
|
||||
(make-variable-buffer-local 'org-not-done-keywords)
|
||||
(defvar org-done-keywords nil)
|
||||
|
@ -1359,17 +1381,10 @@ the special #+SEQ_TODO and #+TYP_TODO lines."
|
|||
|
||||
(defcustom org-todo-interpretation 'sequence
|
||||
"Controls how TODO keywords are interpreted.
|
||||
This variable is only relevant if `org-todo-keywords' contains more than two
|
||||
states. \\<org-mode-map>Possible values are `sequence' and `type'.
|
||||
|
||||
When `sequence', \\[org-todo] will always switch to the next state in the
|
||||
`org-todo-keywords' list. When `type', \\[org-todo] only cycles from state
|
||||
to state when executed several times in direct succession. Otherwise, it
|
||||
switches directly to DONE from any state.
|
||||
See the manual for more information.
|
||||
|
||||
TODO keywords and interpretation can also be set on a per-file basis with
|
||||
the special #+SEQ_TODO and #+TYP_TODO lines."
|
||||
This variable is in principle obsolete and is only used for
|
||||
backward compatibility, if the interpretation of todo keywords is
|
||||
not given already in `org-todo-keywords'. See that variable for
|
||||
more information."
|
||||
:group 'org-todo
|
||||
:group 'org-keywords
|
||||
:type '(choice (const sequence)
|
||||
|
@ -1694,7 +1709,7 @@ forth between agenda and calendar."
|
|||
:tag "Org Agenda Custom Commands"
|
||||
:group 'org-agenda)
|
||||
|
||||
(defcustom org-agenda-custom-commands '(("w" todo "WAITING"))
|
||||
(defcustom org-agenda-custom-commands nil
|
||||
"Custom commands for the agenda.
|
||||
These commands will be offered on the splash screen displayed by the
|
||||
agenda dispatcher \\[org-agenda]. Each entry is a list like this:
|
||||
|
@ -2942,15 +2957,6 @@ color of the frame."
|
|||
"Face for deadlines and TODO keywords."
|
||||
:group 'org-faces)
|
||||
|
||||
(defface org-headline-done ;; font-lock-string-face
|
||||
(org-compatible-face
|
||||
'((((class color) (min-colors 16) (background light)) (:foreground "RosyBrown"))
|
||||
(((class color) (min-colors 16) (background dark)) (:foreground "LightSalmon"))
|
||||
(((class color) (min-colors 8) (background light)) (:bold nil))))
|
||||
"Face used to indicate that a headline is DONE.
|
||||
This face is only used if `org-fontify-done-headline' is set."
|
||||
:group 'org-faces)
|
||||
|
||||
(defface org-archived ; similar to shadow
|
||||
(org-compatible-face
|
||||
'((((class color grayscale) (min-colors 88) (background light))
|
||||
|
@ -2999,7 +3005,17 @@ This face is only used if `org-fontify-done-headline' is set."
|
|||
(((class color) (min-colors 16) (background dark)) (:foreground "PaleGreen" :bold t))
|
||||
(((class color) (min-colors 8)) (:foreground "green"))
|
||||
(t (:bold t))))
|
||||
"Face used for DONE."
|
||||
"Face used for todo keywords that indicate DONE items."
|
||||
:group 'org-faces)
|
||||
|
||||
(defface org-headline-done ;; font-lock-string-face
|
||||
(org-compatible-face
|
||||
'((((class color) (min-colors 16) (background light)) (:foreground "RosyBrown"))
|
||||
(((class color) (min-colors 16) (background dark)) (:foreground "LightSalmon"))
|
||||
(((class color) (min-colors 8) (background light)) (:bold nil))))
|
||||
"Face used to indicate that a headline is DONE.
|
||||
This face is only used if `org-fontify-done-headline' is set. If applies
|
||||
to the part of the headline after the DONE keyword."
|
||||
:group 'org-faces)
|
||||
|
||||
(defface org-table ;; font-lock-function-name-face
|
||||
|
@ -3197,7 +3213,7 @@ means to push this value onto the list in the variable.")
|
|||
"Precompute regular expressions for current buffer."
|
||||
(when (org-mode-p)
|
||||
(org-set-local 'org-todo-kwd-alist nil)
|
||||
(org-set-local 'org-todo-keywords nil)
|
||||
(org-set-local 'org-todo-keywords-1 nil)
|
||||
(org-set-local 'org-done-keywords nil)
|
||||
(org-set-local 'org-todo-heads nil)
|
||||
(org-set-local 'org-todo-sets nil)
|
||||
|
@ -3205,7 +3221,7 @@ means to push this value onto the list in the variable.")
|
|||
'("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO"
|
||||
"STARTUP" "ARCHIVE" "TAGS" "LINK")))
|
||||
(splitre "[ \t]+")
|
||||
kwds int key value cat arch tags links hw dw)
|
||||
kwds key value cat arch tags links hw dws tail sep kws1)
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(widen)
|
||||
|
@ -3218,11 +3234,9 @@ means to push this value onto the list in the variable.")
|
|||
(setq value (replace-match "" t t value)))
|
||||
(setq cat (intern value)))
|
||||
((equal key "SEQ_TODO")
|
||||
(push 'sequence int)
|
||||
(push (org-split-string value splitre) kwds))
|
||||
(push (cons 'sequence (org-split-string value splitre)) kwds))
|
||||
((equal key "TYP_TODO")
|
||||
(push 'type int)
|
||||
(push (org-split-string value splitre) kwds))
|
||||
(push (cons 'type (org-split-string value splitre)) kwds))
|
||||
((equal key "TAGS")
|
||||
(setq tags (append tags (org-split-string value splitre))))
|
||||
((equal key "LINK")
|
||||
|
@ -3252,21 +3266,27 @@ means to push this value onto the list in the variable.")
|
|||
(and arch (org-set-local 'org-archive-location arch))
|
||||
(and links (setq org-link-abbrev-alist-local (nreverse links)))
|
||||
;; Process the TODO keywords
|
||||
(unless (and int kwds)
|
||||
(unless kwds
|
||||
;; Use the global values as if they had been given locally.
|
||||
(setq kwds (list (default-value 'org-todo-keywords))
|
||||
int (list org-todo-interpretation)))
|
||||
(setq int (nreverse int) kwds (nreverse kwds))
|
||||
(let (i k)
|
||||
(while (setq i (pop int))
|
||||
(setq k (pop kwds) hw (car k) dw (org-last k))
|
||||
(setq kwds (default-value 'org-todo-keywords))
|
||||
(if (stringp (car kwds))
|
||||
(setq kwds (list (cons org-todo-interpretation
|
||||
(default-value 'org-todo-keywords)))))
|
||||
(setq kwds (reverse kwds)))
|
||||
(setq kwds (nreverse kwds))
|
||||
(let (inter kws)
|
||||
(while (setq kws (pop kwds))
|
||||
(setq inter (pop kws) sep (member "|" kws)
|
||||
kws1 (delete "|" (copy-sequence kws))
|
||||
hw (car kws1)
|
||||
dws (if sep (cdr sep) (last kws1))
|
||||
tail (list inter hw (car dws) (org-last dws)))
|
||||
(add-to-list 'org-todo-heads hw 'append)
|
||||
(push k org-todo-sets)
|
||||
(push dw org-done-keywords)
|
||||
(mapc (lambda (x) (push (list x i hw dw) org-todo-kwd-alist)) k)
|
||||
(setq org-todo-keywords (append org-todo-keywords k)))
|
||||
(setq org-done-keywords (nreverse org-done-keywords)
|
||||
org-todo-sets (nreverse org-todo-sets)
|
||||
(push kws1 org-todo-sets)
|
||||
(setq org-done-keywords (append org-done-keywords dws nil))
|
||||
(mapc (lambda (x) (push (cons x tail) org-todo-kwd-alist)) kws1)
|
||||
(setq org-todo-keywords-1 (append org-todo-keywords-1 kws1 nil)))
|
||||
(setq org-todo-sets (nreverse org-todo-sets)
|
||||
org-todo-kwd-alist (nreverse org-todo-kwd-alist)))
|
||||
;; Process the tags.
|
||||
(when tags
|
||||
|
@ -3288,13 +3308,13 @@ means to push this value onto the list in the variable.")
|
|||
|
||||
;; Compute the regular expressions and other local variables
|
||||
(if (not org-done-keywords)
|
||||
(setq org-done-keywords (list (org-last org-todo-keywords))))
|
||||
(setq org-done-keywords (list (org-last org-todo-keywords-1))))
|
||||
(setq org-ds-keyword-length (+ 2 (max (length org-deadline-string)
|
||||
(length org-scheduled-string)))
|
||||
org-not-done-keywords
|
||||
(org-delete-all org-done-keywords (copy-sequence org-todo-keywords))
|
||||
(org-delete-all org-done-keywords (copy-sequence org-todo-keywords-1))
|
||||
org-todo-regexp
|
||||
(concat "\\<\\(" (mapconcat 'regexp-quote org-todo-keywords
|
||||
(concat "\\<\\(" (mapconcat 'regexp-quote org-todo-keywords-1
|
||||
"\\|") "\\)\\>")
|
||||
org-not-done-regexp
|
||||
(concat "\\<\\("
|
||||
|
@ -3302,7 +3322,7 @@ means to push this value onto the list in the variable.")
|
|||
"\\)\\>")
|
||||
org-todo-line-regexp
|
||||
(concat "^\\(\\*+\\)[ \t]*\\(?:\\("
|
||||
(mapconcat 'regexp-quote org-todo-keywords "\\|")
|
||||
(mapconcat 'regexp-quote org-todo-keywords-1 "\\|")
|
||||
"\\)\\>\\)? *\\(.*\\)")
|
||||
org-nl-done-regexp
|
||||
(concat "[\r\n]\\*+[ \t]+"
|
||||
|
@ -3310,7 +3330,7 @@ means to push this value onto the list in the variable.")
|
|||
"\\)" "\\>")
|
||||
org-todo-line-tags-regexp
|
||||
(concat "^\\(\\*+\\)[ \t]*\\(?:\\("
|
||||
(mapconcat 'regexp-quote org-todo-keywords "\\|")
|
||||
(mapconcat 'regexp-quote org-todo-keywords-1 "\\|")
|
||||
"\\)\\>\\)? *\\(.*?\\([ \t]:[a-zA-Z0-9:_@]+:[ \t]*\\)?$\\)")
|
||||
org-looking-at-done-regexp
|
||||
(concat "^" "\\(?:"
|
||||
|
@ -3550,6 +3570,7 @@ This variable is set by `org-before-change-function'.
|
|||
(defvar org-mode-hook nil)
|
||||
(defvar org-inhibit-startup nil) ; Dynamically-scoped param.
|
||||
(defvar org-agenda-keep-modes nil) ; Dynamically-scoped param.
|
||||
(defvar org-table-buffer-is-an nil)
|
||||
|
||||
|
||||
;;;###autoload
|
||||
|
@ -4579,7 +4600,7 @@ state (TODO by default). Also with prefix arg, force first state."
|
|||
(if (or arg
|
||||
(not (match-beginning 2))
|
||||
(member (match-string 2) org-done-keywords))
|
||||
(insert (car org-todo-keywords) " ")
|
||||
(insert (car org-todo-keywords-1) " ")
|
||||
(insert (match-string 2) " "))))
|
||||
|
||||
;;; Promotion and Demotion
|
||||
|
@ -5303,8 +5324,12 @@ When nil, empty lines are part of the preceeding item."
|
|||
If the cursor is not in an item, throw an error."
|
||||
(interactive)
|
||||
(let ((pos (point))
|
||||
(limit (save-excursion (org-back-to-heading)
|
||||
(beginning-of-line 2) (point)))
|
||||
(limit (save-excursion
|
||||
(condition-case nil
|
||||
(progn
|
||||
(org-back-to-heading)
|
||||
(beginning-of-line 2) (point))
|
||||
(error (point-min)))))
|
||||
(ind-empty (if org-empty-line-terminates-plain-lists 0 10000))
|
||||
ind ind1)
|
||||
(if (org-at-item-p)
|
||||
|
@ -5564,14 +5589,14 @@ When called with prefix argument FIND-DONE, find whole trees without any
|
|||
open TODO items and archive them (after getting confirmation from the user).
|
||||
If the cursor is not at a headline when this comand is called, try all level
|
||||
1 trees. If the cursor is on a headline, only try the direct children of
|
||||
this heading. "
|
||||
this heading."
|
||||
(interactive "P")
|
||||
(if find-done
|
||||
(org-archive-all-done)
|
||||
;; Save all relevant TODO keyword-relatex variables
|
||||
|
||||
(let ((tr-org-todo-line-regexp org-todo-line-regexp) ; keep despite compiler
|
||||
(tr-org-todo-keywords org-todo-keywords)
|
||||
(tr-org-todo-keywords-1 org-todo-keywords-1)
|
||||
(tr-org-todo-kwd-alist org-todo-kwd-alist)
|
||||
(tr-org-done-keywords org-done-keywords)
|
||||
(tr-org-todo-regexp org-todo-regexp)
|
||||
|
@ -5612,7 +5637,8 @@ this heading. "
|
|||
;; Enforce org-mode for the archive buffer
|
||||
(if (not (org-mode-p))
|
||||
;; Force the mode for future visits.
|
||||
(let ((org-insert-mode-line-in-empty-file t))
|
||||
(let ((org-insert-mode-line-in-empty-file t)
|
||||
(org-inhibit-startup t))
|
||||
(call-interactively 'org-mode)))
|
||||
(when newfile-p
|
||||
(goto-char (point-max))
|
||||
|
@ -5620,7 +5646,7 @@ this heading. "
|
|||
(buffer-file-name this-buffer))))
|
||||
;; Force the TODO keywords of the original buffer
|
||||
(let ((org-todo-line-regexp tr-org-todo-line-regexp)
|
||||
(org-todo-keywords tr-org-todo-keywords)
|
||||
(org-todo-keywords-1 tr-org-todo-keywords-1)
|
||||
(org-todo-kwd-alist tr-org-todo-kwd-alist)
|
||||
(org-done-keywords tr-org-done-keywords)
|
||||
(org-todo-regexp tr-org-todo-regexp)
|
||||
|
@ -5652,10 +5678,10 @@ this heading. "
|
|||
(goto-char (point-max)) (insert "\n"))
|
||||
;; Paste
|
||||
(org-paste-subtree (org-get-legal-level level 1))
|
||||
;; Mark the entry as done, i.e. set to last work in org-todo-keywords
|
||||
;; Mark the entry as done, i.e. set to last word in org-todo-keywords-1 FIXME: not right anymore!!!!!!!
|
||||
(if org-archive-mark-done
|
||||
(let (org-log-done)
|
||||
(org-todo (length org-todo-keywords))))
|
||||
(org-todo (length org-todo-keywords-1))))
|
||||
;; Move cursor to right after the TODO keyword
|
||||
(when org-archive-stamp-time
|
||||
(beginning-of-line 1)
|
||||
|
@ -7118,8 +7144,8 @@ the table and kill the editing buffer."
|
|||
|
||||
(defun org-trim (s)
|
||||
"Remove whitespace at beginning and end of string."
|
||||
(if (string-match "^[ \t]+" s) (setq s (replace-match "" t t s)))
|
||||
(if (string-match "[ \t]+$" s) (setq s (replace-match "" t t s)))
|
||||
(if (string-match "^[ \t\n\r]+" s) (setq s (replace-match "" t t s)))
|
||||
(if (string-match "[ \t\n\r]+$" s) (setq s (replace-match "" t t s)))
|
||||
s)
|
||||
|
||||
(defun org-wrap (string &optional width lines)
|
||||
|
@ -8137,7 +8163,10 @@ Parameters get priority."
|
|||
entry s type title)
|
||||
(switch-to-buffer-other-window "*Edit Formulas*")
|
||||
(erase-buffer)
|
||||
(fundamental-mode)
|
||||
;; Keep global-font-lock-mode from turning on font-lock-mode
|
||||
(let ((font-lock-global-modes '(not fundamental-mode)))
|
||||
(fundamental-mode))
|
||||
(org-set-local 'font-lock-global-modes (list 'not major-mode))
|
||||
(org-set-local 'org-pos pos)
|
||||
(org-set-local 'org-window-configuration wc)
|
||||
(use-local-map org-table-fedit-map)
|
||||
|
@ -8344,7 +8373,6 @@ a translation reference."
|
|||
(goto-char pos)
|
||||
(org-table-toggle-coordinate-overlays)))))
|
||||
|
||||
(defvar org-table-buffer-is-an nil)
|
||||
(defun org-table-fedit-finish (&optional arg)
|
||||
"Parse the buffer for formula definitions and install them.
|
||||
With prefix ARG, apply the new formulas to the table."
|
||||
|
@ -11210,7 +11238,7 @@ At all other locations, this simply calls `ispell-complete-word'."
|
|||
((string-match "\\`\\*+[ \t]*\\'"
|
||||
(buffer-substring (point-at-bol) beg))
|
||||
(setq type :todo)
|
||||
(mapcar 'list org-todo-keywords))
|
||||
(mapcar 'list org-todo-keywords-1))
|
||||
(searchhead
|
||||
(setq type :searchhead)
|
||||
(save-excursion
|
||||
|
@ -11310,29 +11338,31 @@ For calling through lisp, arg is also interpreted in the following way:
|
|||
(looking-at " *"))
|
||||
(let* ((this (match-string 1))
|
||||
(head (org-get-todo-sequence-head this))
|
||||
(interpret (nth 1 (assoc head org-todo-kwd-alist)))
|
||||
(done-word (nth 3 (assoc head org-todo-kwd-alist)))
|
||||
(ass (assoc head org-todo-kwd-alist))
|
||||
(interpret (nth 1 ass))
|
||||
(done-word (nth 3 ass))
|
||||
(final-done-word (nth 4 ass))
|
||||
(last-state (or this ""))
|
||||
(completion-ignore-case t)
|
||||
(member (member this org-todo-keywords))
|
||||
(member (member this org-todo-keywords-1))
|
||||
(tail (cdr member))
|
||||
(state (cond
|
||||
((equal arg '(4))
|
||||
;; Read a state with completion
|
||||
(completing-read "State: " (mapcar (lambda(x) (list x))
|
||||
org-todo-keywords)
|
||||
org-todo-keywords-1)
|
||||
nil t))
|
||||
((eq arg 'right)
|
||||
(if this
|
||||
(if tail (car tail) nil)
|
||||
(car org-todo-keywords)))
|
||||
(car org-todo-keywords-1)))
|
||||
((eq arg 'left)
|
||||
(if (equal member org-todo-keywords)
|
||||
(if (equal member org-todo-keywords-1)
|
||||
nil
|
||||
(if this
|
||||
(nth (- (length org-todo-keywords) (length tail) 2)
|
||||
org-todo-keywords)
|
||||
(org-last org-todo-keywords))))
|
||||
(nth (- (length org-todo-keywords-1) (length tail) 2)
|
||||
org-todo-keywords-1)
|
||||
(org-last org-todo-keywords-1))))
|
||||
(arg
|
||||
;; user or caller requests a specific state
|
||||
(cond
|
||||
|
@ -11346,11 +11376,11 @@ For calling through lisp, arg is also interpreted in the following way:
|
|||
(let ((org-todo-heads (reverse org-todo-heads)))
|
||||
(or (car (cdr (member head org-todo-heads)))
|
||||
(car org-todo-heads))))
|
||||
((car (member arg org-todo-keywords)))
|
||||
((car (member arg org-todo-keywords-1)))
|
||||
((nth (1- (prefix-numeric-value arg))
|
||||
org-todo-keywords))))
|
||||
((null member) (or head (car org-todo-keywords)))
|
||||
((member this org-done-keywords) nil) ;; -> make empty
|
||||
org-todo-keywords-1))))
|
||||
((null member) (or head (car org-todo-keywords-1)))
|
||||
((equal this final-done-word) nil) ;; -> make empty
|
||||
((null tail) nil) ;; -> first entry
|
||||
((eq interpret 'sequence)
|
||||
(car tail))
|
||||
|
@ -11369,7 +11399,7 @@ For calling through lisp, arg is also interpreted in the following way:
|
|||
(mapconcat 'identity (assoc state org-todo-sets) " ")))
|
||||
(setq org-last-todo-state-is-todo
|
||||
(not (member state org-done-keywords)))
|
||||
(when org-log-done
|
||||
(when (and org-log-done (not (memq arg '(nextset previousset))))
|
||||
(setq dostates (and (eq interpret 'sequence)
|
||||
(listp org-log-done) (memq 'state org-log-done)))
|
||||
(cond
|
||||
|
@ -11412,8 +11442,8 @@ right sequence."
|
|||
(setq p (next-single-property-change (point-at-bol) 'org-todo-head
|
||||
nil (point-at-eol)))
|
||||
(get-text-property p 'org-todo-head))))
|
||||
((not (member kwd org-todo-keywords))
|
||||
(car org-todo-keywords))
|
||||
((not (member kwd org-todo-keywords-1))
|
||||
(car org-todo-keywords-1))
|
||||
(t (nth 2 (assoc kwd org-todo-kwd-alist))))))
|
||||
|
||||
(defun org-get-repeat ()
|
||||
|
@ -11475,15 +11505,20 @@ The tree will show the lines where the regexp matches, and all higher
|
|||
headlines above the match.
|
||||
With \\[universal-argument] prefix, also show the DONE entries.
|
||||
With a numeric prefix N, construct a sparse tree for the Nth element
|
||||
of `org-todo-keywords'."
|
||||
of `org-todo-keywords-1'."
|
||||
(interactive "P")
|
||||
(let ((case-fold-search nil)
|
||||
(kwd-re
|
||||
(cond ((null arg) org-not-done-regexp)
|
||||
((equal arg '(4)) org-todo-regexp)
|
||||
((<= (prefix-numeric-value arg) (length org-todo-keywords))
|
||||
((equal arg '(4))
|
||||
(let ((kwd (completing-read "Keyword (or KWD1|KWD2|...): "
|
||||
(mapcar 'list org-todo-keywords-1))))
|
||||
(concat "\\("
|
||||
(mapconcat 'identity (org-split-string kwd "|") "\\|")
|
||||
"\\)\\>")))
|
||||
((<= (prefix-numeric-value arg) (length org-todo-keywords-1))
|
||||
(regexp-quote (nth (1- (prefix-numeric-value arg))
|
||||
org-todo-keywords)))
|
||||
org-todo-keywords-1)))
|
||||
(t (error "Invalid prefix argument: %s" arg)))))
|
||||
(message "%d TODO entries found"
|
||||
(org-occur (concat "^" outline-regexp " +" kwd-re )))))
|
||||
|
@ -11833,7 +11868,7 @@ inclusion. When TODO-ONLY is non-nil, only lines with a TODO keyword
|
|||
are included in the output."
|
||||
(let* ((re (concat "[\n\r]" outline-regexp " *\\(\\<\\("
|
||||
(mapconcat 'regexp-quote
|
||||
(nreverse (cdr (reverse org-todo-keywords)))
|
||||
(nreverse (cdr (reverse org-todo-keywords-1)))
|
||||
"\\|")
|
||||
"\\>\\)\\)? *\\(.*?\\)\\(:[A-Za-z_@0-9:]+:\\)?[ \t]*$"))
|
||||
(props (list 'face nil
|
||||
|
@ -13385,6 +13420,8 @@ The following commands are available:
|
|||
(setq org-agenda-undo-list nil
|
||||
org-agenda-pending-undo-list nil)
|
||||
(setq major-mode 'org-agenda-mode)
|
||||
;; Keep global-font-lock-mode from turning on font-lock-mode
|
||||
(org-set-local 'font-lock-global-modes (list 'not major-mode))
|
||||
(setq mode-name "Org-Agenda")
|
||||
(use-local-map org-agenda-mode-map)
|
||||
(easy-menu-add org-agenda-menu)
|
||||
|
@ -13429,6 +13466,8 @@ The following commands are available:
|
|||
(define-key org-agenda-mode-map "\C-c\C-o" 'org-agenda-open-link)
|
||||
(define-key org-agenda-mode-map " " 'org-agenda-show)
|
||||
(define-key org-agenda-mode-map "\C-c\C-t" 'org-agenda-todo)
|
||||
(define-key org-agenda-mode-map [(control shift right)] 'org-agenda-todo-nextset)
|
||||
(define-key org-agenda-mode-map [(control shift left)] 'org-agenda-todo-previousset)
|
||||
(define-key org-agenda-mode-map "\C-c\C-xb" 'org-agenda-tree-to-indirect-buffer)
|
||||
(define-key org-agenda-mode-map "b" 'org-agenda-tree-to-indirect-buffer)
|
||||
(define-key org-agenda-mode-map "o" 'delete-other-windows)
|
||||
|
@ -14161,9 +14200,13 @@ When a buffer is unmodified, it is just killed. When modified, it is saved
|
|||
"Get the table of categories and positions in current buffer."
|
||||
(let (tbl)
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward "\\(^\\|\r\\)#\\+CATEGORY:[ \t]*\\(.*\\)" nil t)
|
||||
(push (cons (point) (org-trim (match-string 2))) tbl)))
|
||||
(save-restriction
|
||||
(widen)
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward "^#\\+CATEGORY:[ \t]*\\(.*\\)"
|
||||
nil t)
|
||||
(push (cons (match-beginning 1)
|
||||
(org-trim (match-string 1))) tbl))))
|
||||
tbl))
|
||||
|
||||
(defun org-get-category (&optional pos)
|
||||
|
@ -14458,28 +14501,29 @@ NDAYS defaults to `org-agenda-ndays'."
|
|||
The prefix arg can be used to select a specific TODO keyword and limit
|
||||
the list to these. When using \\[universal-argument], you will be prompted
|
||||
for a keyword. A numeric prefix directly selects the Nth keyword in
|
||||
`org-todo-keywords'."
|
||||
`org-todo-keywords-1'."
|
||||
(interactive "P")
|
||||
(require 'calendar)
|
||||
(org-compile-prefix-format 'todo)
|
||||
(org-set-sorting-strategy 'todo)
|
||||
(let* ((today (time-to-days (current-time)))
|
||||
(date (calendar-gregorian-from-absolute today))
|
||||
(kwds org-todo-keywords)
|
||||
(kwds org-todo-keywords-1)
|
||||
(completion-ignore-case t)
|
||||
(org-select-this-todo-keyword
|
||||
(if (stringp arg) arg
|
||||
(and arg (integerp arg) (> arg 0)
|
||||
(nth (1- arg) org-todo-keywords))))
|
||||
(nth (1- arg) org-todo-keywords-1))))
|
||||
rtn rtnall files file pos)
|
||||
(when (equal arg '(4))
|
||||
(setq org-select-this-todo-keyword
|
||||
(completing-read "Keyword: " (mapcar 'list org-todo-keywords)
|
||||
nil t)))
|
||||
(completing-read "Keyword (or KWD1|K2D2|...): "
|
||||
(mapcar 'list org-todo-keywords-1)
|
||||
nil nil)))
|
||||
(and (equal 0 arg) (setq org-select-this-todo-keyword nil))
|
||||
(org-prepare-agenda)
|
||||
(org-set-local 'org-last-arg arg)
|
||||
(org-set-local 'org-todo-keywords kwds)
|
||||
(org-set-local 'org-todo-keywords-1 kwds)
|
||||
(setq org-agenda-redo-command
|
||||
'(org-todo-list (or current-prefix-arg org-last-arg)))
|
||||
(setq files (org-agenda-files)
|
||||
|
@ -14505,7 +14549,7 @@ for a keyword. A numeric prefix directly selects the Nth keyword in
|
|||
(let ((n 0))
|
||||
(mapconcat (lambda (x)
|
||||
(format "(%d)%s" (setq n (1+ n)) x))
|
||||
org-todo-keywords " "))
|
||||
org-todo-keywords-1 " "))
|
||||
"\n"))
|
||||
(add-text-properties pos (1- (point)) (list 'face 'org-level-3)))
|
||||
(when rtnall
|
||||
|
@ -14883,7 +14927,8 @@ the documentation of `org-diary'."
|
|||
;; FIXME: get rid of the \n at some point but watch out
|
||||
(regexp (concat "[\n\r]\\*+ *\\("
|
||||
(if org-select-this-todo-keyword
|
||||
(concat "\\<\\(" org-select-this-todo-keyword
|
||||
(concat "\\<\\("
|
||||
(mapconcat 'identity (org-split-string org-select-this-todo-keyword "|") "\\|")
|
||||
"\\)\\>")
|
||||
org-not-done-regexp)
|
||||
"[^\n\r]*\\)"))
|
||||
|
@ -15926,6 +15971,16 @@ dedicated frame)."
|
|||
"Marker pointing to the headline that last changed its TODO state
|
||||
by a remote command from the agenda.")
|
||||
|
||||
(defun org-agenda-todo-nextset ()
|
||||
"Switch TODO entry to next sequence."
|
||||
(interactive)
|
||||
(org-agenda-todo 'nextset))
|
||||
|
||||
(defun org-agenda-todo-previousset ()
|
||||
"Switch TODO entry to previous sequence."
|
||||
(interactive)
|
||||
(org-agenda-todo 'previousset))
|
||||
|
||||
(defun org-agenda-todo (&optional arg)
|
||||
"Cycle TODO state of line at point, also in Org-mode file.
|
||||
This changes the line at point, all other lines in the agenda referring to
|
||||
|
@ -16839,6 +16894,7 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]."
|
|||
|
||||
\[a] export as ASCII
|
||||
\[h] export as HTML
|
||||
\[H] export as HTML to temporary buffer
|
||||
\[b] export as HTML and browse immediately
|
||||
\[x] export as XOXO
|
||||
|
||||
|
@ -16856,6 +16912,7 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]."
|
|||
(?a . org-export-as-ascii)
|
||||
(?h . org-export-as-html)
|
||||
(?b . org-export-as-html-and-open)
|
||||
(?H . org-export-as-html-to-buffer)
|
||||
(?x . org-export-as-xoxo)
|
||||
(?i . org-export-icalendar-this-file)
|
||||
(?I . org-export-icalendar-all-agenda-files)
|
||||
|
@ -17187,11 +17244,16 @@ translations. There is currently no way for users to extend this.")
|
|||
(re-quote (concat "^\\*+[ \t]+" org-quote-string "\\>"))
|
||||
(htmlp (plist-get parameters :for-html))
|
||||
(outline-regexp "\\*+")
|
||||
rtn)
|
||||
rtn p)
|
||||
(save-excursion
|
||||
(set-buffer (get-buffer-create " org-mode-tmp"))
|
||||
(erase-buffer)
|
||||
(insert string)
|
||||
;; Remove license-to-kill stuff
|
||||
(while (setq p (text-property-any (point-min) (point-max)
|
||||
:org-license-to-kill t))
|
||||
(delete-region p (next-single-property-change p :org-license-to-kill)))
|
||||
|
||||
(let ((org-inhibit-startup t)) (org-mode))
|
||||
(untabify (point-min) (point-max))
|
||||
|
||||
|
@ -17318,6 +17380,18 @@ translations. There is currently no way for users to extend this.")
|
|||
(kill-buffer " org-mode-tmp")
|
||||
rtn))
|
||||
|
||||
(defun org-export-grab-title-from-buffer ()
|
||||
"Get a title for the current document, from looking at the buffer."
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(let ((end (save-excursion (outline-next-heading) (point))))
|
||||
(when (re-search-forward "^[ \t]*[^# \t\r\n].*\n" end t)
|
||||
;; Mark the line so that it will not be exported as normal text.
|
||||
(add-text-properties (match-beginning 0) (match-end 0)
|
||||
(list :org-license-to-kill t))
|
||||
;; Return the title string
|
||||
(org-trim (match-string 0))))))
|
||||
|
||||
(defun org-solidify-link-text (s &optional alist)
|
||||
"Take link text and make a safe target out of it."
|
||||
(save-match-data
|
||||
|
@ -17394,14 +17468,6 @@ underlined headlines. The default is 3."
|
|||
(if (org-region-active-p) (region-beginning) (point-min))
|
||||
(if (org-region-active-p) (region-end) (point-max))))
|
||||
(custom-times org-display-custom-times)
|
||||
(lines (org-skip-comments
|
||||
(org-split-string
|
||||
(org-cleaned-string-for-export
|
||||
region
|
||||
:skip-before-1st-heading
|
||||
(plist-get opt-plist :skip-before-1st-heading)
|
||||
:add-text (plist-get opt-plist :text))
|
||||
"[\r\n]")))
|
||||
(org-ascii-current-indentation '(0 . 0))
|
||||
(level 0) line txt
|
||||
(umax nil)
|
||||
|
@ -17419,6 +17485,9 @@ underlined headlines. The default is 3."
|
|||
(time (format-time-string "%X" (org-current-time)))
|
||||
(author (plist-get opt-plist :author))
|
||||
(title (or (plist-get opt-plist :title)
|
||||
(and (not
|
||||
(plist-get opt-plist :skip-before-1st-heading))
|
||||
(org-export-grab-title-from-buffer))
|
||||
(file-name-sans-extension
|
||||
(file-name-nondirectory buffer-file-name))))
|
||||
(email (plist-get opt-plist :email))
|
||||
|
@ -17427,7 +17496,17 @@ underlined headlines. The default is 3."
|
|||
; (quote-re (concat "^\\(\\*+\\)\\([ \t]*" org-quote-string "\\>\\)"))
|
||||
(todo nil)
|
||||
(lang-words nil)
|
||||
thetoc first-heading-pos)
|
||||
(lines (org-skip-comments
|
||||
(org-split-string
|
||||
(org-cleaned-string-for-export
|
||||
region
|
||||
:skip-before-1st-heading
|
||||
(plist-get opt-plist :skip-before-1st-heading)
|
||||
:add-text (plist-get opt-plist :text))
|
||||
"[\r\n]")))
|
||||
thetoc have-headings first-heading-pos)
|
||||
|
||||
(remove-text-properties (point-min) (point-max) '(:org-license-to-kill t))
|
||||
|
||||
(setq org-last-level 1)
|
||||
(org-init-section-numbers)
|
||||
|
@ -17473,6 +17552,7 @@ underlined headlines. The default is 3."
|
|||
line)
|
||||
;; This is a headline
|
||||
(progn
|
||||
(setq have-headings t)
|
||||
(setq level (- (match-end 1) (match-beginning 1))
|
||||
level (org-tr-level level)
|
||||
txt (match-string 3 line)
|
||||
|
@ -17507,7 +17587,7 @@ underlined headlines. The default is 3."
|
|||
(setq org-last-level level))
|
||||
))))
|
||||
lines)
|
||||
(setq thetoc (nreverse thetoc))))
|
||||
(setq thetoc (if have-headings (nreverse thetoc) nil))))
|
||||
|
||||
(org-init-section-numbers)
|
||||
(while (setq line (pop lines))
|
||||
|
@ -17636,7 +17716,7 @@ continue to use it. The prefix arg ARG is passed through to the exporting
|
|||
command."
|
||||
(interactive
|
||||
(list (progn
|
||||
(message "Export visible: [a]SCII [h]tml [b]rowse HTML [x]OXO [ ]keep buffer")
|
||||
(message "Export visible: [a]SCII [h]tml [b]rowse HTML [H]uffer with HTML [x]OXO [ ]keep buffer")
|
||||
(read-char-exclusive))
|
||||
current-prefix-arg))
|
||||
(if (not (member type '(?a ?\C-a ?b ?\C-b ?h ?x ?\ )))
|
||||
|
@ -17647,6 +17727,7 @@ command."
|
|||
(?b . org-export-as-html-and-open)
|
||||
(?\C-b . org-export-as-html-and-open)
|
||||
(?h . org-export-as-html)
|
||||
(?H . org-export-as-html-to-buffer)
|
||||
(?x . org-export-as-xoxo)))))
|
||||
(keepp (equal type ?\ ))
|
||||
(file buffer-file-name)
|
||||
|
@ -17818,14 +17899,23 @@ emacs --batch
|
|||
--visit=MyFile --funcall org-export-as-html-batch"
|
||||
(org-export-as-html org-export-headline-levels 'hidden))
|
||||
|
||||
(defun org-export-as-html (arg &optional hidden ext-plist)
|
||||
(defun org-export-as-html-to-buffer (arg)
|
||||
"Call `org-exort-as-html` with output to a temporary buffer.
|
||||
No file is created. The prefix ARG is passed through to `org-export-as-html'."
|
||||
(interactive "P")
|
||||
(org-export-as-html arg nil nil t)
|
||||
(switch-to-buffer-other-window "*Org HTML Export*"))
|
||||
|
||||
(defun org-export-as-html (arg &optional hidden ext-plist temp-buffer-only)
|
||||
"Export the outline as a pretty HTML file.
|
||||
If there is an active region, export only the region.
|
||||
The prefix ARG specifies how many levels of the outline should become
|
||||
headlines. The default is 3. Lower levels will become bulleted lists.
|
||||
When HIDDEN is non-nil, don't display the HTML buffer.
|
||||
If there is an active region, export only the region. The prefix
|
||||
ARG specifies how many levels of the outline should become
|
||||
headlines. The default is 3. Lower levels will become bulleted
|
||||
lists. When HIDDEN is non-nil, don't display the HTML buffer.
|
||||
EXT-PLIST is a property list with external parameters overriding
|
||||
org-mode's default settings, but still inferior to file-local settings."
|
||||
org-mode's default settings, but still inferior to file-local
|
||||
settings. Wehn TEMP-BUFFER-ONLY is non-nil, export to a buffer not
|
||||
associated with a file."
|
||||
(interactive "P")
|
||||
(message "Exporting...")
|
||||
(setq-default org-todo-line-regexp org-todo-line-regexp)
|
||||
|
@ -17838,7 +17928,7 @@ org-mode's default settings, but still inferior to file-local settings."
|
|||
|
||||
(style (plist-get opt-plist :style))
|
||||
(link-validate (plist-get opt-plist :link-validation-function))
|
||||
valid thetoc first-heading-pos
|
||||
valid thetoc have-headings first-heading-pos
|
||||
(odd org-odd-levels-only)
|
||||
(region-p (org-region-active-p))
|
||||
(region
|
||||
|
@ -17849,19 +17939,6 @@ org-mode's default settings, but still inferior to file-local settings."
|
|||
;; routines below.
|
||||
(org-current-export-dir (org-export-directory :html opt-plist))
|
||||
(org-current-export-file buffer-file-name)
|
||||
(lines
|
||||
(org-skip-comments (org-split-string
|
||||
(org-cleaned-string-for-export
|
||||
region
|
||||
:emph-multiline t
|
||||
:for-html t
|
||||
:skip-before-1st-heading
|
||||
(plist-get opt-plist :skip-before-1st-heading)
|
||||
:add-text
|
||||
(plist-get opt-plist :text)
|
||||
:LaTeX-fragments
|
||||
(plist-get opt-plist :LaTeX-fragments))
|
||||
"[\r\n]")))
|
||||
(level 0) (line "") (origline "") txt todo
|
||||
(umax nil)
|
||||
(umax-toc nil)
|
||||
|
@ -17871,12 +17948,17 @@ org-mode's default settings, but still inferior to file-local settings."
|
|||
(file-name-nondirectory buffer-file-name))
|
||||
".html"))
|
||||
(current-dir (file-name-directory buffer-file-name))
|
||||
(buffer (find-file-noselect filename))
|
||||
(buffer (if temp-buffer-only
|
||||
(get-buffer-create "*Org HTML Export*")
|
||||
(find-file-noselect filename)))
|
||||
(org-levels-open (make-vector org-level-max nil))
|
||||
(date (format-time-string "%Y/%m/%d" (current-time)))
|
||||
(time (format-time-string "%X" (org-current-time)))
|
||||
(author (plist-get opt-plist :author))
|
||||
(title (or (plist-get opt-plist :title)
|
||||
(and (not
|
||||
(plist-get opt-plist :skip-before-1st-heading))
|
||||
(org-export-grab-title-from-buffer))
|
||||
(file-name-sans-extension
|
||||
(file-name-nondirectory buffer-file-name))))
|
||||
(quote-re0 (concat "^[ \t]*" org-quote-string "\\>"))
|
||||
|
@ -17900,11 +17982,27 @@ org-mode's default settings, but still inferior to file-local settings."
|
|||
(charset (and coding-system
|
||||
(fboundp 'coding-system-get)
|
||||
(coding-system-get coding-system 'mime-charset)))
|
||||
(lines
|
||||
(org-skip-comments (org-split-string
|
||||
(org-cleaned-string-for-export
|
||||
region
|
||||
:emph-multiline t
|
||||
:for-html t
|
||||
:skip-before-1st-heading
|
||||
(plist-get opt-plist :skip-before-1st-heading)
|
||||
:add-text
|
||||
(plist-get opt-plist :text)
|
||||
:LaTeX-fragments
|
||||
(plist-get opt-plist :LaTeX-fragments))
|
||||
"[\r\n]")))
|
||||
table-open type
|
||||
table-buffer table-orig-buffer
|
||||
ind start-is-num starter didclose
|
||||
rpl path desc descp desc1 desc2 link
|
||||
)
|
||||
|
||||
(remove-text-properties (point-min) (point-max) '(:org-license-to-kill t))
|
||||
|
||||
(message "Exporting...")
|
||||
|
||||
(setq org-last-level 1)
|
||||
|
@ -17955,8 +18053,8 @@ lang=\"%s\" xml:lang=\"%s\">
|
|||
(insert (or (plist-get opt-plist :preamble) ""))
|
||||
|
||||
(when (plist-get opt-plist :auto-preamble)
|
||||
(if title (insert (format org-export-html-title-format
|
||||
(org-html-expand title)))))
|
||||
(if title (insert (format org-export-html-title-format
|
||||
(org-html-expand title)))))
|
||||
|
||||
(if org-export-with-toc
|
||||
(progn
|
||||
|
@ -17971,6 +18069,7 @@ lang=\"%s\" xml:lang=\"%s\">
|
|||
(if (string-match org-todo-line-regexp line)
|
||||
;; This is a headline
|
||||
(progn
|
||||
(setq have-headings t)
|
||||
(setq level (- (match-end 1) (match-beginning 1))
|
||||
level (org-tr-level level)
|
||||
txt (save-match-data
|
||||
|
@ -18035,7 +18134,7 @@ lang=\"%s\" xml:lang=\"%s\">
|
|||
(while (> org-last-level 0)
|
||||
(setq org-last-level (1- org-last-level))
|
||||
(push "</li>\n</ul>\n" thetoc))
|
||||
(setq thetoc (nreverse thetoc))))
|
||||
(setq thetoc (if have-headings (nreverse thetoc) nil))))
|
||||
(setq head-count 0)
|
||||
(org-init-section-numbers)
|
||||
|
||||
|
@ -18366,11 +18465,10 @@ lang=\"%s\" xml:lang=\"%s\">
|
|||
(goto-char (point-min))
|
||||
(while (re-search-forward "<li>[ \r\n\t]*</li>\n?" nil t)
|
||||
(replace-match ""))
|
||||
(save-buffer)
|
||||
(or temp-buffer-only (save-buffer))
|
||||
(goto-char (point-min))
|
||||
(message "Exporting... done"))))
|
||||
|
||||
|
||||
(defun org-format-table-html (lines olines)
|
||||
"Find out which HTML converter to use and return the HTML code."
|
||||
(if (string-match "^[ \t]*|" (car lines))
|
||||
|
@ -19079,10 +19177,12 @@ The XOXO buffer is named *xoxo-<source buffer name>*"
|
|||
(define-key org-mode-map "\C-c\C-xR" 'org-shiftmetaright)
|
||||
(define-key org-mode-map "\C-c\C-xU" 'org-shiftmetaup)
|
||||
(define-key org-mode-map "\C-c\C-xD" 'org-shiftmetadown)
|
||||
(define-key org-mode-map [?\C-c ?\C-x (up)] 'org-shiftup)
|
||||
(define-key org-mode-map [?\C-c ?\C-x (down)] 'org-shiftdown)
|
||||
(define-key org-mode-map [?\C-c ?\C-x (left)] 'org-shiftleft)
|
||||
(define-key org-mode-map [?\C-c ?\C-x (right)] 'org-shiftright))
|
||||
(define-key org-mode-map [?\C-c (up)] 'org-shiftup)
|
||||
(define-key org-mode-map [?\C-c (down)] 'org-shiftdown)
|
||||
(define-key org-mode-map [?\C-c (left)] 'org-shiftleft)
|
||||
(define-key org-mode-map [?\C-c (right)] 'org-shiftright)
|
||||
(define-key org-mode-map [?\C-c ?\C-x (right)] 'org-shiftcontrolright)
|
||||
(define-key org-mode-map [?\C-c ?\C-x (left)] 'org-shiftcontrolleft))
|
||||
|
||||
;; All the other keys
|
||||
|
||||
|
@ -19694,7 +19794,9 @@ See the individual commands for more information."
|
|||
("Select keyword"
|
||||
["Next keyword" org-shiftright (org-on-heading-p)]
|
||||
["Previous keyword" org-shiftleft (org-on-heading-p)]
|
||||
["Complete Keyword" org-complete (assq :todo-keyword (org-context))])
|
||||
["Complete Keyword" org-complete (assq :todo-keyword (org-context))]
|
||||
["Next keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-on-heading-p))]
|
||||
["Previous keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-on-heading-p))])
|
||||
["Show TODO Tree" org-show-todo-tree t]
|
||||
["Global TODO list" org-todo-list t]
|
||||
"--"
|
||||
|
@ -20194,6 +20296,9 @@ to a visible line beginning. This makes the function of C-a more intuitive."
|
|||
|
||||
(defalias 'org-back-to-heading 'outline-back-to-heading)
|
||||
(defalias 'org-on-heading-p 'outline-on-heading-p)
|
||||
(defalias 'org-at-heading-p 'outline-on-heading-p)
|
||||
(defun org-at-heading-or-item-p ()
|
||||
(or (org-on-heading-p) (org-at-item-p)))
|
||||
|
||||
(defun org-on-target-p ()
|
||||
(or (org-in-regexp org-radio-target-regexp)
|
||||
|
@ -20361,7 +20466,6 @@ Show the heading too, if it is currently invisible."
|
|||
|
||||
;;;; Experimental code
|
||||
|
||||
|
||||
;;;; Finish up
|
||||
|
||||
(provide 'org)
|
||||
|
@ -20370,4 +20474,3 @@ Show the heading too, if it is currently invisible."
|
|||
|
||||
;; arch-tag: e77da1a7-acc7-4336-b19e-efa25af3f9fd
|
||||
;;; org.el ends here
|
||||
|
||||
|
|
291
org.texi
291
org.texi
|
@ -3,7 +3,7 @@
|
|||
@setfilename ../info/org
|
||||
@settitle Org Mode Manual
|
||||
|
||||
@set VERSION 4.69
|
||||
@set VERSION 4.70
|
||||
@set DATE March 2007
|
||||
|
||||
@dircategory Emacs
|
||||
|
@ -169,8 +169,8 @@ Extended use of TODO keywords
|
|||
|
||||
* Workflow states:: From TODO to DONE in steps
|
||||
* TODO types:: I do this, Fred the rest
|
||||
* Per file keywords:: Different files, different requirements
|
||||
* Multiple sets in one file:: Mixing it all, and still finding your way
|
||||
* Per file keywords:: Different files, different requirements
|
||||
|
||||
Timestamps
|
||||
|
||||
|
@ -663,13 +663,19 @@ level, all sibling headings.
|
|||
@kindex C-c C-x b
|
||||
@item C-c C-x b
|
||||
Show the current subtree in an indirect buffer@footnote{The indirect
|
||||
buffer (@pxref{Indirect Buffers,Indirect Buffers,Indirect
|
||||
Buffers,emacs,GNU Emacs Manual}) will contain the entire buffer, but
|
||||
will be narrowed to the current tree. Editing the indirect buffer will
|
||||
also change the original buffer, but without affecting visibility in
|
||||
that buffer.}. With numerical prefix ARG, go up to this level and then
|
||||
take that tree. If ARG is negative, go up that many levels. With
|
||||
@kbd{C-u} prefix, do not remove the previously used indirect buffer.
|
||||
buffer
|
||||
@ifinfo
|
||||
(@pxref{Indirect Buffers,,,emacs,GNU Emacs Manual})
|
||||
@end ifinfo
|
||||
@ifnotinfo
|
||||
(see the Emacs manual for more information about indirect buffers)
|
||||
@end ifnotinfo
|
||||
will contain the entire buffer, but will be narrowed to the current
|
||||
tree. Editing the indirect buffer will also change the original buffer,
|
||||
but without affecting visibility in that buffer.}. With numerical
|
||||
prefix ARG, go up to this level and then take that tree. If ARG is
|
||||
negative, go up that many levels. With @kbd{C-u} prefix, do not remove
|
||||
the previously used indirect buffer.
|
||||
@end table
|
||||
|
||||
When Emacs first visits an Org-mode file, the global state is set to
|
||||
|
@ -2564,9 +2570,11 @@ useful if more than two TODO states are possible (@pxref{TODO extensions}).
|
|||
@item C-c C-v
|
||||
View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds
|
||||
the entire buffer, but shows all TODO items and the headings hierarchy
|
||||
above them. With prefix arg, show also the DONE entries. With
|
||||
numerical prefix N, show the tree for the Nth keyword in the variable
|
||||
@code{org-todo-keywords}.
|
||||
above them. With prefix arg, search for a specific TODO. You will be
|
||||
prompted for the keyword, and you can also give a list of keywords like
|
||||
@code{kwd1|kwd2|...}. With numerical prefix N, show the tree for the
|
||||
Nth keyword in the variable @code{org-todo-keywords}. With two prefix
|
||||
args, find all TODO and DONE entries.
|
||||
@kindex C-c a t
|
||||
@item C-c a t
|
||||
Show the global TODO list. This collects the TODO items from all
|
||||
|
@ -2584,10 +2592,9 @@ the TODO entries directly from that buffer (@pxref{Agenda commands}).
|
|||
@cindex extended TODO keywords
|
||||
|
||||
The default implementation of TODO entries is just two states: TODO and
|
||||
DONE. You can, however, use the TODO feature for more complicated
|
||||
things by configuring the variables @code{org-todo-keywords} and
|
||||
@code{org-todo-interpretation}. Using special setup, you can even use
|
||||
TODO keywords in different ways in different org files.
|
||||
DONE. You can use the TODO feature for more complicated things by
|
||||
configuring the variable @code{org-todo-keywords}. With special setup,
|
||||
the TODO keyword system can work differently in different files.
|
||||
|
||||
Note that @i{tags} are another way to classify headlines in general and
|
||||
TODO items in particular (@pxref{Tags}).
|
||||
|
@ -2595,8 +2602,8 @@ TODO items in particular (@pxref{Tags}).
|
|||
@menu
|
||||
* Workflow states:: From TODO to DONE in steps
|
||||
* TODO types:: I do this, Fred the rest
|
||||
* Per file keywords:: Different files, different requirements
|
||||
* Multiple sets in one file:: Mixing it all, and still finding your way
|
||||
* Per file keywords:: Different files, different requirements
|
||||
@end menu
|
||||
|
||||
@node Workflow states, TODO types, TODO extensions, TODO extensions
|
||||
|
@ -2604,78 +2611,134 @@ TODO items in particular (@pxref{Tags}).
|
|||
@cindex TODO workflow
|
||||
@cindex workflow states as TODO keywords
|
||||
|
||||
You can use TODO keywords to indicate different states in the process
|
||||
of working on an item, for example:
|
||||
You can use TODO keywords to indicate different @emph{sequential} states
|
||||
in the process of working on an item, for example@footnote{Changing
|
||||
this variable only becomes effective after restarting Org-mode in a
|
||||
buffer.}:
|
||||
|
||||
@lisp
|
||||
(setq org-todo-keywords '("TODO" "FEEDBACK" "VERIFY" "DONE")
|
||||
org-todo-interpretation 'sequence)
|
||||
(setq org-todo-keywords
|
||||
'((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))
|
||||
@end lisp
|
||||
|
||||
The vertical bar separates the TODO keywords (states that @emph{need
|
||||
action}) from the DONE states (which need @emph{no further action}. If
|
||||
you don't provide the separator bar, the last state is used as the DONE
|
||||
state.
|
||||
@cindex completion, of TODO keywords
|
||||
Changing these variables only becomes effective in a new Emacs session.
|
||||
With this setup, the command @kbd{C-c C-t} will cycle an entry from
|
||||
TODO to FEEDBACK, then to VERIFY, and finally to DONE. You may also
|
||||
use a prefix argument to quickly select a specific state. For example
|
||||
@kbd{C-3 C-c C-t} will change the state immediately to VERIFY.
|
||||
With this setup, the command @kbd{C-c C-t} will cycle an entry from TODO
|
||||
to FEEDBACK, then to VERIFY, and finally to DONE and DELEGATED. You may
|
||||
also use a prefix argument to quickly select a specific state. For
|
||||
example @kbd{C-3 C-c C-t} will change the state immediately to VERIFY.
|
||||
If you define many keywords, you can use in-buffer completion (see
|
||||
@ref{Completion}) to insert these words into the buffer. Changing a todo
|
||||
state can be logged with a timestamp, see @ref{Tracking TODO state
|
||||
@ref{Completion}) to insert these words into the buffer. Changing a
|
||||
todo state can be logged with a timestamp, see @ref{Tracking TODO state
|
||||
changes} for more information.
|
||||
|
||||
@node TODO types, Per file keywords, Workflow states, TODO extensions
|
||||
@node TODO types, Multiple sets in one file, Workflow states, TODO extensions
|
||||
@subsection TODO keywords as types
|
||||
@cindex TODO types
|
||||
@cindex names as TODO keywords
|
||||
@cindex types as TODO keywords
|
||||
|
||||
The second possibility is to use TODO keywords to indicate different
|
||||
types of action items. For example, you might want to indicate that
|
||||
items are for ``work'' or ``home''. If you are into David Allen's
|
||||
@emph{Getting Things DONE}, you might want to use todo types
|
||||
@samp{NEXTACTION}, @samp{WAITING}, @samp{MAYBE}. Or, when you work
|
||||
with several people on a single project, you might want to assign
|
||||
action items directly to persons, by using their names as TODO
|
||||
keywords. This would be set up like this:
|
||||
@emph{types} of action items. For example, you might want to indicate
|
||||
that items are for ``work'' or ``home''. Or, when you work with several
|
||||
people on a single project, you might want to assign action items
|
||||
directly to persons, by using their names as TODO keywords. This would
|
||||
be set up like this:
|
||||
|
||||
@lisp
|
||||
(setq org-todo-keywords '("Fred" "Sara" "Lucy" "Mike" "DONE")
|
||||
org-todo-interpretation 'type)
|
||||
(setq org-todo-keywords '((type "Fred" "Sara" "Lucy" "|" "DONE")))
|
||||
@end lisp
|
||||
|
||||
In this case, different keywords do not indicate a sequence, but
|
||||
rather different types. So it is normally not useful to change from
|
||||
one type to another. Therefore, in this case the behavior of the
|
||||
command @kbd{C-c C-t} is changed slightly@footnote{This is also true
|
||||
for the @kbd{t} command in the timeline and agenda buffers.}. When
|
||||
used several times in succession, it will still cycle through all
|
||||
names. But when you return to the item after some time and execute
|
||||
@kbd{C-c C-t} again, it will switch from each name directly to DONE.
|
||||
Use prefix arguments or completion to quickly select a specific name.
|
||||
You can also review the items of a specific TODO type in a sparse tree
|
||||
by using a numeric prefix to @kbd{C-c C-v}. For example, to see all
|
||||
things Lucy has to do, you would use @kbd{C-3 C-c C-v}. To collect
|
||||
Lucy's items from all agenda files into a single buffer, you
|
||||
would use the prefix arg as well when creating the global todo list:
|
||||
@kbd{C-3 C-c t}.
|
||||
In this case, different keywords do not indicate a sequence, but rather
|
||||
different types. So the normal work flow would be to assign a task to a
|
||||
person, and later to mark it DONE. Org-mode supports this style by
|
||||
adapting the workings of the command @kbd{C-c C-t}@footnote{This is also
|
||||
true for the @kbd{t} command in the timeline and agenda buffers.}. When
|
||||
used several times in succession, it will still cycle through all names,
|
||||
in order to first select the right type for a task. But when you return
|
||||
to the item after some time and execute @kbd{C-c C-t} again, it will
|
||||
switch from any name directly to DONE. Use prefix arguments or
|
||||
completion to quickly select a specific name. You can also review the
|
||||
items of a specific TODO type in a sparse tree by using a numeric prefix
|
||||
to @kbd{C-c C-v}. For example, to see all things Lucy has to do, you
|
||||
would use @kbd{C-3 C-c C-v}. To collect Lucy's items from all agenda
|
||||
files into a single buffer, you would use the prefix arg as well when
|
||||
creating the global todo list: @kbd{C-3 C-c t}.
|
||||
|
||||
@node Per file keywords, Multiple sets in one file, TODO types, TODO extensions
|
||||
@subsection Setting up TODO keywords for individual files
|
||||
@node Multiple sets in one file, Per file keywords, TODO types, TODO extensions
|
||||
@subsection Multiple keyword sets in one file
|
||||
@cindex todo keyword sets
|
||||
|
||||
Sometimes you may want to use different sets of TODO keywords in
|
||||
parallel. For example, you may want to have the basic
|
||||
@code{TODO}/@code{DONE}, but also a workflow for bug fixing, and a
|
||||
separate state indicating that an item has been canceled (so it is not
|
||||
DONE, but also does not require action). Your setup would then look
|
||||
like this:
|
||||
|
||||
@lisp
|
||||
(setq org-todo-keywords
|
||||
'((sequence "TODO" "|" "DONE")
|
||||
(sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED")
|
||||
(sequence "|" "CANCELED")))
|
||||
@end lisp
|
||||
|
||||
The keywords should all be different, this helps Org-mode to keep track
|
||||
of which subsequence should be used for a given entry. In this setup,
|
||||
@kbd{C-c C-t} only operates within a subsequence, so it switches from
|
||||
@code{DONE} to (nothing) to @code{TODO}, and from @code{FIXED} to
|
||||
(nothing) to @code{REPORT}. Therefore you need a mechanism to initially
|
||||
select the correct sequence. Besides the obvious ways like typing a
|
||||
keyword or using completion, you may also apply the following commands:
|
||||
|
||||
@table @kbd
|
||||
@kindex C-S-@key{right}
|
||||
@kindex C-S-@key{left}
|
||||
@item C-S-@key{right}
|
||||
@itemx C-S-@key{left}
|
||||
These keys jump from one TODO subset to the next. In the above example,
|
||||
@kbd{C-S-@key{right}} would jump from @code{TODO} or @code{DONE} to
|
||||
@code{REPORT}, and any of the words in the second row to @code{CANCELED}.
|
||||
@kindex S-@key{right}
|
||||
@kindex S-@key{left}
|
||||
@item S-@key{right}
|
||||
@itemx S-@key{left}
|
||||
@kbd{S-@key{<left>}} and @kbd{S-@key{<right>}} and walk through
|
||||
@emph{all} keywords from all sets, so for example @kbd{S-@key{<right>}}
|
||||
would switch from @code{DONE} to @code{REPORT} in the example above.
|
||||
@end table
|
||||
|
||||
@node Per file keywords, , Multiple sets in one file, TODO extensions
|
||||
@subsection Setting up keywords for individual files
|
||||
@cindex keyword options
|
||||
@cindex per file keywords
|
||||
|
||||
It can be very useful to use different aspects of the TODO mechanism
|
||||
in different files, which is not possible with the global settings
|
||||
described above. For file-local settings, you need to add special
|
||||
lines to the file which set the keywords and interpretation for that
|
||||
file only. For example, to set one of the two examples discussed
|
||||
above, you need one of the following lines, starting in column zero
|
||||
anywhere in the file:
|
||||
It can be very useful to use different aspects of the TODO mechanism in
|
||||
different files. For file-local settings, you need to add special lines
|
||||
to the file which set the keywords and interpretation for that file
|
||||
only. For example, to set one of the two examples discussed above, you
|
||||
need one of the following lines, starting in column zero anywhere in the
|
||||
file:
|
||||
|
||||
@example
|
||||
#+SEQ_TODO: TODO FEEDBACK VERIFY DONE
|
||||
#+TYP_TODO: Fred Sara Lucy Mike DONE
|
||||
#+SEQ_TODO: TODO FEEDBACK VERIFY | DONE CANCELED
|
||||
@end example
|
||||
or
|
||||
@example
|
||||
#+TYP_TODO: Fred Sara Lucy Mike | DONE
|
||||
@end example
|
||||
|
||||
A setup for using several sets in parallel would be:
|
||||
|
||||
@example
|
||||
#+SEQ_TODO: "TODO" "|" "DONE"
|
||||
#+SEQ_TODO: "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED"
|
||||
#+SEQ_TODO: "|" "CANCELED"
|
||||
@end example
|
||||
|
||||
|
||||
@cindex completion, of option keywords
|
||||
@kindex M-@key{TAB}
|
||||
|
@ -2683,53 +2746,15 @@ anywhere in the file:
|
|||
@samp{#+} into the buffer and then use @kbd{M-@key{TAB}} completion.
|
||||
|
||||
@cindex DONE, final TODO keyword
|
||||
Remember that the last keyword must always mean that the item is DONE
|
||||
(although you may use a different word). After changing one of these
|
||||
lines, use @kbd{C-c C-c} with the cursor still in the line to make the
|
||||
changes known to Org-mode@footnote{Org-mode parses these lines only when
|
||||
Remember that the keywords after the vertical bar (or the last keyword
|
||||
if no bar is there) must always mean that the item is DONE (although you
|
||||
may use a different word). After changing one of these lines, use
|
||||
@kbd{C-c C-c} with the cursor still in the line to make the changes
|
||||
known to Org-mode@footnote{Org-mode parses these lines only when
|
||||
Org-mode is activated after visiting a file. @kbd{C-c C-c} with the
|
||||
cursor in a line starting with @samp{#+} is simply restarting Org-mode
|
||||
for the current buffer.}.
|
||||
|
||||
@node Multiple sets in one file, , Per file keywords, TODO extensions
|
||||
@subsection Multiple TODO keyword sets in one file
|
||||
@cindex todo keyword sets
|
||||
|
||||
Sometimes you may want to use different sets of TODO keywords in the
|
||||
same file. For example, you may want to have the basic
|
||||
@code{TODO}/@code{DONE}, but also a workflow for bug fixing. Your setup
|
||||
would then look like this:
|
||||
|
||||
@example
|
||||
#+SEQ_TODO: TODO DONE
|
||||
#+SEQ_TODO: REPORT BUG KNOWNCAUSE RESOLVED
|
||||
@end example
|
||||
|
||||
The keywords should all be different, this helps Org-mode to keep track
|
||||
of which subsequence should be used for a given entry. In this setup,
|
||||
@kbd{C-c C-t} only operates within a subsequence, so it switches from
|
||||
@code{DONE} to (nothing) to @code{TODO}, and from @code{RESOLVED} to
|
||||
(nothing) to @code{REPORT}. Therefore you need a mechanism to initially
|
||||
select the correct sequence. Besides the obvious ways like typing a
|
||||
keyword or using completion, you may also apply the following commands:
|
||||
|
||||
@table @kbd
|
||||
@kindex S-@key{right}
|
||||
@kindex S-@key{left}
|
||||
@item S-@key{right}
|
||||
@itemx S-@key{left}
|
||||
@kbd{S-@key{<left>}} and @kbd{S-@key{<right>}} and walk through all
|
||||
keywords from all sets, so for example @kbd{S-@key{<right>}} would
|
||||
switch from @code{DONE} to @code{REPORT} in the example above.
|
||||
@kindex C-S-@key{right}
|
||||
@kindex C-S-@key{left}
|
||||
@item C-S-@key{right}
|
||||
@itemx C-S-@key{left}
|
||||
These key jump from one TODO subset to the next. So
|
||||
@kbd{C-S-@key{right}} would jump from @code{TODO} to @code{REPORT} and
|
||||
from @code{KNOWNCAUSE} to @code{TODO} in the above example.
|
||||
@end table
|
||||
|
||||
@node Priorities, Breaking down tasks, TODO extensions, TODO items
|
||||
@section Priorities
|
||||
@cindex priorities
|
||||
|
@ -3847,10 +3872,12 @@ the TODO entries directly from that buffer (@pxref{Agenda commands}).
|
|||
@kindex C-c a T
|
||||
@item C-c a T
|
||||
@cindex TODO keyword matching
|
||||
Like the above, but allows selection of a specific TODO keyword. You can
|
||||
also do this by specifying a prefix argument to @kbd{C-c a t}. With a
|
||||
@kbd{C-u} prefix you are prompted for a keyword. With a numeric
|
||||
prefix, the Nth keyword in @code{org-todo-keywords} is selected.
|
||||
Like the above, but allows selection of a specific TODO keyword. You
|
||||
can also do this by specifying a prefix argument to @kbd{C-c a t}. With
|
||||
a @kbd{C-u} prefix you are prompted for a keyword, and you may also
|
||||
specify several keywords by separating them with @samp{|} as boolean OR
|
||||
operator. With a numeric prefix, the Nth keyword in
|
||||
@code{org-todo-keywords} is selected.
|
||||
@kindex r
|
||||
The @kbd{r} key in the agenda buffer regenerates it, and you can give
|
||||
a prefix argument to this command to change the selected TODO keyword,
|
||||
|
@ -4879,10 +4906,15 @@ Export as HTML file @file{myfile.html}.
|
|||
@kindex C-c C-e b
|
||||
@item C-c C-e b
|
||||
Export as HTML file and open it with a browser.
|
||||
@kindex C-c C-e H
|
||||
@item C-c C-e H
|
||||
Export to a temporary buffer, do not create a file.
|
||||
@kindex C-c C-e v h
|
||||
@kindex C-c C-e v b
|
||||
@kindex C-c C-e v H
|
||||
@item C-c C-e v h
|
||||
@item C-c C-e v b
|
||||
@item C-c C-e v H
|
||||
Export only the visible part of the document.
|
||||
@end table
|
||||
|
||||
|
@ -5085,11 +5117,11 @@ Toggle the COMMENT keyword at the beginning of an entry.
|
|||
@subsection Text before the first headline
|
||||
|
||||
Org-mode normally ignores any text before the first headline when
|
||||
exporting, because this region is often used for internal links to speed
|
||||
up navigation etc. However, there are occasions when you might want to
|
||||
have some text before the first headline, like a small intorduction,
|
||||
special HTML code with a navigation bar, etc. You can ask to have this
|
||||
part of the file exported as well by setting the variable
|
||||
exporting, leaving this region for internal links to speed up navigation
|
||||
etc. However, in publishing-oriented files, you might want to have some
|
||||
text before the first headline, like a small introduction, special HTML
|
||||
code with a navigation bar, etc. You can ask to have this part of the
|
||||
file exported as well by setting the variable
|
||||
@code{org-export-skip-text-before-1st-heading} to @code{nil}. On a
|
||||
per-file basis, you can get the same effect with
|
||||
|
||||
|
@ -5098,12 +5130,13 @@ per-file basis, you can get the same effect with
|
|||
@end example
|
||||
|
||||
The text before the first headline will be fully processed
|
||||
(@pxref{Enhancing text}). If you need to include literal HTML, use the
|
||||
special constructs described in @ref{Quoting HTML tags}. The table of
|
||||
contents is normally inserted directly before the first headline of the
|
||||
file. If you would like to get it to a different location, insert
|
||||
the string @code{[TABLE-OF-CONTENTS]} on a line by itself at the desired
|
||||
location.
|
||||
(@pxref{Enhancing text}), and the first non-comment line becomes the
|
||||
title of the exported document. If you need to include literal HTML,
|
||||
use the special constructs described in @ref{Quoting HTML tags}. The
|
||||
table of contents is normally inserted directly before the first
|
||||
headline of the file. If you would like to get it to a different
|
||||
location, insert the string @code{[TABLE-OF-CONTENTS]} on a line by
|
||||
itself at the desired location.
|
||||
|
||||
Finally, if you want to use the space before the first headline for
|
||||
internal purposes, but @emph{still} want to place something before the
|
||||
|
@ -5142,7 +5175,9 @@ backend supports lists. See @xref{Plain lists}.
|
|||
@cindex italic text
|
||||
@item
|
||||
You can make words @b{*bold*}, @i{/italic/}, _underlined_,
|
||||
@code{=code=}, and @samp{+strikethrough+}.
|
||||
@code{=code=}, and even @samp{+strikethrough+}@footnote{but remember
|
||||
that strikethrough is typographically evil and should @i{never} be
|
||||
used.}.
|
||||
|
||||
@cindex horizontal rules, in exported files
|
||||
@item
|
||||
|
@ -5950,10 +5985,12 @@ rather use @kbd{C-c .} to re-insert the timestamp.
|
|||
@item @kbd{S-@key{RET}} @tab @kbd{C-c C-x c} @tab
|
||||
@item @kbd{M-@key{RET}} @tab @kbd{C-c C-x m} @tab @kbd{@key{Esc} @key{RET}}
|
||||
@item @kbd{M-S-@key{RET}} @tab @kbd{C-c C-x M} @tab
|
||||
@item @kbd{S-@key{left}} @tab @kbd{C-c C-x @key{left}} @tab
|
||||
@item @kbd{S-@key{right}} @tab @kbd{C-c C-x @key{right}} @tab
|
||||
@item @kbd{S-@key{up}} @tab @kbd{C-c C-x @key{up}} @tab
|
||||
@item @kbd{S-@key{down}} @tab @kbd{C-c C-x @key{down}} @tab
|
||||
@item @kbd{S-@key{left}} @tab @kbd{C-c @key{left}} @tab
|
||||
@item @kbd{S-@key{right}} @tab @kbd{C-c @key{right}} @tab
|
||||
@item @kbd{S-@key{up}} @tab @kbd{C-c @key{up}} @tab
|
||||
@item @kbd{S-@key{down}} @tab @kbd{C-c @key{down}} @tab
|
||||
@item @kbd{C-S-@key{left}} @tab @kbd{C-c C-x @key{left}} @tab
|
||||
@item @kbd{C-S-@key{right}} @tab @kbd{C-c C-x @key{right}} @tab
|
||||
@end multitable
|
||||
|
||||
@node Interaction, Bugs, TTY keys, Miscellaneous
|
||||
|
|
BIN
orgcard.pdf
BIN
orgcard.pdf
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
% Reference Card for Org Mode
|
||||
\def\orgversionnumber{4.69}
|
||||
\def\orgversionnumber{4.70}
|
||||
\def\versionyear{2007} % latest update
|
||||
\def\year{2007} % latest copyright year
|
||||
%
|
||||
|
@ -512,6 +512,8 @@ after ``{\tt :}'', and dictionary words elsewhere.
|
|||
\section{TODO Items and Checkboxes}
|
||||
|
||||
\key{rotate the state of the current item}{C-c C-t}
|
||||
\metax{select next/previous state}{S-LEFT/RIGHT}
|
||||
\metax{select next/previous set}{C-S-LEFT/RIGHT}
|
||||
\key{view TODO items in a sparse tree}{C-c C-v}
|
||||
\key{view 3rd TODO keyword's sparse tree}{C-3 C-c C-v}
|
||||
|
||||
|
@ -558,8 +560,7 @@ after ``{\tt :}'', and dictionary words elsewhere.
|
|||
%\key{... forward/backward one month}{M-S-LEFT/RIGT}
|
||||
\key{Toggle custom format display for dates/times}{C-c C-x C-t}
|
||||
|
||||
|
||||
\section{Clocking Time}
|
||||
{\bf Clocking time}
|
||||
|
||||
\key{start clock on current item}{C-c C-x C-i}
|
||||
\key{stop clock on current item}{C-c C-x C-o}
|
||||
|
|
Loading…
Reference in New Issue