Release 5.07

This commit is contained in:
Carsten Dominik 2008-01-31 11:36:08 +01:00
parent f0c766122d
commit 05df3bb8a1
8 changed files with 710 additions and 543 deletions

View File

@ -103,8 +103,8 @@ org-install.elc: org-install.el
xemacs/noutline.elc: xemacs/noutline.el
#org: org.texi
# $(MAKEINFO) --no-split org.texi -o org
org: org.texi
$(MAKEINFO) --no-split org.texi -o org
org.pdf: org.texi
$(TEXI2PDF) org.texi
@ -133,8 +133,8 @@ orgcard_letter.ps: orgcard_letter.dvi
# Below here are special targets for maintenance only
#info:
# $(MAKEINFO) --no-split org.texi -o org
info:
$(MAKEINFO) --no-split org.texi -o org
pdf: org.pdf
@ -148,8 +148,8 @@ ecompile:
distfile:
@if [ "X$(TAG)" = "X" ]; then echo "*** No tag ***"; exit 1; fi
# touch org.texi orgcard.tex
# make info
touch org.pdf orgcard.tex
make info
make doc
rm -rf org-$(TAG) org-$(TAG).zip
$(MKDIR) org-$(TAG)

704
org
View File

@ -1,4 +1,4 @@
This is org, produced by makeinfo version 4.7 from org.texi.
This is org, produced by makeinfo version 4.8 from org.texi.
INFO-DIR-SECTION Emacs
START-INFO-DIR-ENTRY
@ -744,8 +744,8 @@ File: org, Node: Structure editing, Next: Archiving, Prev: Motion, Up: Docum
entries in the region will be sorted. Otherwise the children of
the current headline are sorted. The command prompts for the
sorting method, which can be alphabetically, numerically, by time
(using the first time stamp in each entry), and each of these in
reverse order. With a `C-u' prefix, sorting will be
(using the first time stamp in each entry), by priority, and each
of these in reverse order. With a `C-u' prefix, sorting will be
case-sensitive. With two `C-u C-u' prefixes, duplicate entries
will also be removed.
@ -829,7 +829,9 @@ file, the archive file.
`C-c C-x C-s'
Archive the subtree starting at the cursor position to the location
given by `org-archive-location'.
given by `org-archive-location'. Context information that could be
lost like the file name, the category, inherited tags, and the todo
state will be store as properties in the entry.
`C-u C-c C-x C-s'
Check if any direct children of the current headline could be
@ -1773,6 +1775,7 @@ the following commands:
table header.
`C-u C-u C-c *'
`C-u C-u C-c C-c'
Iterate the table by recomputing it until no further changes occur.
This may be necessary if some computed fields use the value of
other fields that are computed later in the calculation sequence.
@ -2493,6 +2496,14 @@ The most important commands to work with TODO entries are:
Mostly useful if more than two TODO states are possible (*note
TODO extensions::).
`C-c C-c'
Use the fast tag interface to quickly and directly select a
specific TODO state. For this you need to assign keys to TODO
state, like this:
#+SEQ_TODO: TODO(t) STARTED(s) WAITING(w) | DONE(d)
See *Note Per file keywords:: and *Note Setting tags:: for more
information.
`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
@ -2655,9 +2666,9 @@ file:
A setup for using several sets in parallel would be:
#+SEQ_TODO: "TODO" "|" "DONE"
#+SEQ_TODO: "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED"
#+SEQ_TODO: "|" "CANCELED"
#+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.
@ -7281,12 +7292,12 @@ Index
(line 6)
* action, for publishing: Publishing action. (line 6)
* activation: Activation. (line 6)
* active region <1>: Structure editing. (line 64)
* active region <2>: HTML Export commands.
* active region <1>: HTML Export commands.
(line 6)
* active region <2>: ASCII export. (line 9)
* active region <3>: Built-in table editor.
(line 141)
* active region: ASCII export. (line 9)
* active region: Structure editing. (line 64)
* agenda: Weekly/Daily agenda. (line 6)
* agenda dispatcher: Agenda dispatcher. (line 6)
* agenda files: Agenda files. (line 6)
@ -7294,7 +7305,7 @@ Index
* agenda views: Agenda views. (line 6)
* agenda views, custom: Custom agenda views. (line 6)
* agenda views, exporting <1>: Exporting Agenda Views.
(line 12)
(line 6)
* agenda views, exporting: Agenda commands. (line 228)
* agenda views, user-defined: Special agenda views.
(line 6)
@ -7307,7 +7318,7 @@ Index
* API, for properties <1>: Using the property API.
(line 6)
* API, for properties: Property API. (line 6)
* archive locations: Moving subtrees. (line 21)
* archive locations: Moving subtrees. (line 23)
* archiving: Archiving. (line 6)
* ASCII export: ASCII export. (line 6)
* author: Feedback. (line 6)
@ -7325,9 +7336,9 @@ Index
(line 6)
* calc package: The spreadsheet. (line 6)
* calc.el: Cooperation. (line 6)
* calculations, in tables <1>: Built-in table editor.
* calculations, in tables <1>: The spreadsheet. (line 6)
* calculations, in tables: Built-in table editor.
(line 141)
* calculations, in tables: The spreadsheet. (line 6)
* calendar commands, from agenda: Agenda commands. (line 191)
* calendar integration: Weekly/Daily agenda. (line 24)
* calendar, for selecting date: The date/time prompt.
@ -7347,12 +7358,12 @@ Index
* completion, of file names: Handling links. (line 43)
* completion, of link abbreviations: Completion. (line 6)
* completion, of links: Handling links. (line 25)
* completion, of option keywords <1>: Export options. (line 6)
* completion, of option keywords <2>: Completion. (line 6)
* 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 23)
* completion, of property keys: Completion. (line 6)
* completion, of tags <1>: Setting tags. (line 11)
* completion, of tags: Completion. (line 6)
* 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 15)
@ -7431,9 +7442,9 @@ Index
* folded, subtree visibility state: Visibility cycling. (line 10)
* folding, sparse trees: Sparse trees. (line 6)
* following links: Handling links. (line 58)
* footnote.el <1>: Footnotes. (line 6)
* footnote.el <1>: Conflicts. (line 35)
* footnote.el <2>: Cooperation. (line 56)
* footnote.el: Conflicts. (line 35)
* footnote.el: Footnotes. (line 6)
* footnotes <1>: Export options. (line 25)
* footnotes: Footnotes. (line 6)
* format specifier: Formula syntax for Calc.
@ -7613,10 +7624,10 @@ Index
* references, to ranges: References. (line 60)
* region, active <1>: HTML Export commands.
(line 6)
* region, active <2>: Structure editing. (line 64)
* region, active <2>: ASCII export. (line 9)
* region, active <3>: Built-in table editor.
(line 141)
* region, active: ASCII export. (line 9)
* region, active: Structure editing. (line 64)
* regular expressions, with tags search: Tag searches. (line 63)
* remember.el <1>: Cooperation. (line 33)
* remember.el: Remember. (line 6)
@ -7644,7 +7655,7 @@ Index
(line 6)
* sparse tree, for deadlines: Inserting deadline/schedule.
(line 11)
* sparse tree, for TODO: TODO basics. (line 26)
* sparse tree, for TODO: TODO basics. (line 34)
* sparse tree, tag based: Tags. (line 6)
* sparse trees: Sparse trees. (line 6)
* special keywords: In-buffer settings. (line 6)
@ -7671,9 +7682,9 @@ Index
(line 6)
* table editor, table.el: Cooperation. (line 37)
* table of contents: Export options. (line 25)
* table.el: Cooperation. (line 37)
* tables <1>: Tables. (line 6)
* tables: Export options. (line 25)
* table.el: Cooperation. (line 34)
* tables <1>: Export options. (line 25)
* tables: Tables. (line 6)
* tables, export: Enhancing text. (line 24)
* tables, in other modes: Tables in arbitrary syntax.
(line 6)
@ -7688,8 +7699,8 @@ Index
* tasks, breaking down: Breaking down tasks. (line 6)
* templates, for remember: Remember templates. (line 6)
* TeX interpretation: Embedded LaTeX. (line 6)
* TeX macros <1>: Math symbols. (line 6)
* TeX macros: Export options. (line 25)
* TeX macros <1>: Export options. (line 25)
* TeX macros: Math symbols. (line 6)
* TeX macros, export: Enhancing text. (line 21)
* TeX symbol completion: Completion. (line 6)
* TeX-like syntax for sub- and superscripts: Export options. (line 25)
@ -7721,12 +7732,12 @@ Index
* TODO list, global: Global TODO list. (line 6)
* TODO types: TODO types. (line 6)
* TODO workflow: Workflow states. (line 6)
* transient-mark-mode <1>: Structure editing. (line 64)
* transient-mark-mode <2>: HTML Export commands.
* transient-mark-mode <1>: HTML Export commands.
(line 6)
* transient-mark-mode <2>: ASCII export. (line 9)
* transient-mark-mode <3>: Built-in table editor.
(line 141)
* transient-mark-mode: ASCII export. (line 9)
* transient-mark-mode: Structure editing. (line 64)
* translator function: Translator functions.
(line 6)
* trees, sparse: Sparse trees. (line 6)
@ -7773,27 +7784,27 @@ Key Index
* <: Using column view. (line 54)
* <left>: Agenda commands. (line 95)
* <RET> <1>: Agenda commands. (line 39)
* <RET> <2>: Setting tags. (line 76)
* <RET> <3>: The date/time prompt.
* <RET> <2>: The date/time prompt.
(line 57)
* <RET> <3>: Setting tags. (line 76)
* <RET>: Built-in table editor.
(line 62)
* <right>: Agenda commands. (line 90)
* <SPC> <1>: Setting tags. (line 73)
* <SPC>: Agenda commands. (line 28)
* <TAB> <1>: Setting tags. (line 68)
* <SPC> <1>: Agenda commands. (line 28)
* <SPC>: Setting tags. (line 73)
* <TAB> <1>: CDLaTeX mode. (line 23)
* <TAB> <2>: Agenda commands. (line 33)
* <TAB> <3>: Visibility cycling. (line 10)
* <TAB> <4>: Built-in table editor.
(line 55)
* <TAB> <5>: Editing and debugging formulas.
* <TAB> <3>: Setting tags. (line 68)
* <TAB> <4>: Editing and debugging formulas.
(line 57)
* <TAB> <6>: CDLaTeX mode. (line 23)
* <TAB>: Plain lists. (line 41)
* > <1>: Using column view. (line 54)
* <TAB> <5>: Built-in table editor.
(line 55)
* <TAB> <6>: Plain lists. (line 41)
* <TAB>: Visibility cycling. (line 10)
* > <1>: Agenda commands. (line 171)
* > <2>: The date/time prompt.
(line 33)
* >: Agenda commands. (line 171)
* >: Using column view. (line 54)
* ^: CDLaTeX mode. (line 33)
* _: CDLaTeX mode. (line 33)
* `: CDLaTeX mode. (line 39)
@ -7817,9 +7828,9 @@ Key Index
* C-c +: Built-in table editor.
(line 141)
* C-c ,: Priorities. (line 18)
* C-c - <1>: Plain lists. (line 88)
* C-c -: Built-in table editor.
* C-c - <1>: Built-in table editor.
(line 90)
* C-c -: Plain lists. (line 88)
* C-c .: Creating timestamps. (line 10)
* C-c /: Sparse trees. (line 15)
* C-c :: Enhancing text. (line 32)
@ -7827,18 +7838,18 @@ Key Index
* C-c <: Creating timestamps. (line 23)
* C-c <TAB>: Built-in table editor.
(line 161)
* C-c = <1>: Column formulas. (line 26)
* C-c =: Editing and debugging formulas.
* C-c = <1>: Editing and debugging formulas.
(line 14)
* C-c =: Column formulas. (line 26)
* C-c >: Creating timestamps. (line 27)
* C-c ?: Editing and debugging formulas.
(line 24)
* C-c [: Agenda files. (line 12)
* C-c \: Tag searches. (line 9)
* C-c ]: Agenda files. (line 15)
* C-c ^ <1>: Structure editing. (line 52)
* C-c ^: Built-in table editor.
* C-c ^ <1>: Built-in table editor.
(line 94)
* C-c ^: Structure editing. (line 52)
* C-c `: Built-in table editor.
(line 157)
* C-c a !: Stuck projects. (line 14)
@ -7850,49 +7861,47 @@ Key Index
* C-c a L: Timeline. (line 10)
* C-c a M: Matching tags and properties.
(line 15)
* C-c a m: Tag searches. (line 12)
* C-c a M: Tag searches. (line 16)
* C-c a m: Matching tags and properties.
(line 10)
* C-c a M: Tag searches. (line 16)
* 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 36)
* C-c a t: TODO basics. (line 44)
* C-c C-a: Visibility cycling. (line 33)
* C-c C-b: Motion. (line 15)
* C-c C-c <1>: The very busy C-c C-c key.
* C-c C-c <1>: Cooperation. (line 37)
* C-c C-c <2>: The very busy C-c C-c key.
(line 6)
* C-c C-c <2>: Setting tags. (line 10)
* C-c C-c <3>: Checkboxes. (line 37)
* C-c C-c <4>: Processing LaTeX fragments.
* C-c C-c <3>: Processing LaTeX fragments.
(line 15)
* C-c C-c <5>: Editing and debugging formulas.
(line 90)
* C-c C-c <6>: Built-in table editor.
(line 54)
* C-c C-c <7>: Plain lists. (line 81)
* C-c C-c <8>: Cooperation. (line 37)
* C-c C-c <9>: Editing and debugging formulas.
* C-c C-c <4>: Property syntax. (line 54)
* C-c C-c <5>: Setting tags. (line 10)
* C-c C-c <6>: Checkboxes. (line 37)
* C-c C-c <7>: TODO basics. (line 26)
* C-c C-c <8>: Editing and debugging formulas.
(line 46)
* C-c C-c <10>: Cooperation. (line 46)
* C-c C-c: Property syntax. (line 54)
* C-c C-d <1>: Inserting deadline/schedule.
* C-c C-c <9>: Built-in table editor.
(line 54)
* C-c C-c: Plain lists. (line 81)
* C-c C-d <1>: Agenda commands. (line 156)
* C-c C-d: Inserting deadline/schedule.
(line 9)
* C-c C-d: Agenda commands. (line 156)
* C-c C-e: Exporting. (line 20)
* C-c C-e a: ASCII export. (line 9)
* C-c C-e b: HTML Export commands.
(line 13)
* C-c C-e c: iCalendar export. (line 21)
* C-c C-e h: HTML Export commands.
(line 6)
* C-c C-e H: HTML Export commands.
(line 16)
* C-c C-e i: iCalendar export. (line 14)
* C-c C-e I: iCalendar export. (line 16)
* C-c C-e l: LaTeX export commands.
* C-c C-e h: HTML Export commands.
(line 6)
* C-c C-e I: iCalendar export. (line 16)
* C-c C-e i: iCalendar export. (line 14)
* C-c C-e L: LaTeX export commands.
(line 7)
* C-c C-e l: LaTeX export commands.
(line 6)
* C-c C-e R: HTML Export commands.
(line 19)
* C-c C-e t: Export options. (line 13)
@ -7901,10 +7910,10 @@ Key Index
* C-c C-e v a: ASCII export. (line 16)
* C-c C-e v b: HTML Export commands.
(line 24)
* C-c C-e v h: HTML Export commands.
(line 24)
* C-c C-e v H: HTML Export commands.
(line 24)
* C-c C-e v h: HTML Export commands.
(line 24)
* C-c C-e v L: LaTeX export commands.
(line 10)
* C-c C-e v l: LaTeX export commands.
@ -7919,27 +7928,27 @@ Key Index
* C-c C-o <1>: Creating timestamps. (line 31)
* C-c C-o: Handling links. (line 58)
* C-c C-p: Motion. (line 9)
* C-c C-q <1>: Built-in table editor.
(line 125)
* C-c C-q: Editing and debugging formulas.
* C-c C-q <1>: Editing and debugging formulas.
(line 50)
* C-c C-q: Built-in table editor.
(line 125)
* C-c C-r <1>: Editing and debugging formulas.
(line 53)
* C-c C-r: Visibility cycling. (line 34)
* C-c C-s <1>: Inserting deadline/schedule.
* C-c C-s <1>: Agenda commands. (line 153)
* C-c C-s: Inserting deadline/schedule.
(line 18)
* C-c C-s: Agenda commands. (line 153)
* C-c C-t <1>: Clocking work time. (line 27)
* C-c C-t: TODO basics. (line 13)
* C-c C-u: Motion. (line 18)
* C-c C-v: TODO basics. (line 26)
* C-c C-v: TODO basics. (line 34)
* C-c C-w: Inserting deadline/schedule.
(line 11)
* C-c C-x b: Visibility cycling. (line 41)
* C-c C-x C-a: ARCHIVE tag. (line 28)
* C-c C-x C-b: Checkboxes. (line 39)
* C-c C-x C-c <1>: Using column view. (line 9)
* C-c C-x C-c: Agenda commands. (line 218)
* C-c C-x C-c <1>: Agenda commands. (line 218)
* C-c C-x C-c: Using column view. (line 9)
* C-c C-x C-d: Clocking work time. (line 35)
* C-c C-x C-i: Clocking work time. (line 12)
* C-c C-x C-k: Structure editing. (line 39)
@ -7959,15 +7968,15 @@ Key Index
* C-c C-x C-y <1>: Built-in table editor.
(line 118)
* C-c C-x C-y: Structure editing. (line 46)
* C-c C-x M-w <1>: Structure editing. (line 43)
* C-c C-x M-w: Built-in table editor.
* C-c C-x M-w <1>: Built-in table editor.
(line 111)
* C-c C-y <1>: Creating timestamps. (line 48)
* C-c C-y: Clocking work time. (line 22)
* C-c C-x M-w: Structure editing. (line 43)
* C-c C-y <1>: Clocking work time. (line 22)
* C-c C-y: Creating timestamps. (line 48)
* C-c l: Handling links. (line 9)
* C-c { <1>: Editing and debugging formulas.
* C-c { <1>: CDLaTeX mode. (line 21)
* C-c {: Editing and debugging formulas.
(line 33)
* C-c {: CDLaTeX mode. (line 21)
* C-c |: Built-in table editor.
(line 40)
* C-c }: Editing and debugging formulas.
@ -7987,12 +7996,13 @@ Key Index
* C-u C-c C-c: Updating the table. (line 19)
* C-u C-c C-l: Handling links. (line 43)
* C-u C-c C-x C-a: ARCHIVE tag. (line 31)
* C-u C-c C-x C-s: Moving subtrees. (line 12)
* C-u C-c C-x C-u <1>: Clocking work time. (line 70)
* C-u C-c C-x C-u: Dynamic blocks. (line 22)
* C-u C-c C-x C-s: Moving subtrees. (line 14)
* C-u C-c C-x C-u <1>: Dynamic blocks. (line 22)
* C-u C-c C-x C-u: Clocking work time. (line 70)
* C-u C-u C-c *: Updating the table. (line 22)
* C-u C-u C-c =: Editing and debugging formulas.
(line 18)
* C-u C-u C-c C-c: Updating the table. (line 22)
* C-x C-s: Editing and debugging formulas.
(line 46)
* C-x C-w <1>: Exporting Agenda Views.
@ -8004,8 +8014,8 @@ Key Index
* f: Agenda commands. (line 42)
* g: Agenda commands. (line 76)
* H: Agenda commands. (line 215)
* I: Agenda commands. (line 176)
* i: Agenda commands. (line 196)
* I: Agenda commands. (line 176)
* l: Agenda commands. (line 55)
* L: Agenda commands. (line 30)
* M: Agenda commands. (line 202)
@ -8019,115 +8029,115 @@ Key Index
* M-<left>: Structure editing. (line 21)
* M-<RET> <1>: Plain lists. (line 49)
* M-<RET>: Structure editing. (line 6)
* M-<right> <1>: Structure editing. (line 24)
* M-<right>: Built-in table editor.
* M-<right> <1>: Built-in table editor.
(line 72)
* M-<TAB> <1>: Per file keywords. (line 23)
* M-<right>: Structure editing. (line 24)
* M-<TAB> <1>: Completion. (line 10)
* M-<TAB> <2>: Property syntax. (line 46)
* M-<TAB> <3>: Editing and debugging formulas.
* M-<TAB> <3>: Setting tags. (line 6)
* M-<TAB> <4>: Per file keywords. (line 23)
* M-<TAB>: Editing and debugging formulas.
(line 64)
* M-<TAB> <4>: Setting tags. (line 6)
* M-<TAB>: Completion. (line 10)
* M-<up> <1>: Editing and debugging formulas.
(line 76)
* M-<up>: Built-in table editor.
(line 80)
* M-S-<down> <1>: Structure editing. (line 36)
* M-S-<down> <2>: Editing and debugging formulas.
* M-S-<down> <1>: Editing and debugging formulas.
(line 72)
* M-S-<down> <3>: Built-in table editor.
* M-S-<down> <2>: Built-in table editor.
(line 87)
* M-S-<down>: Plain lists. (line 66)
* M-S-<left> <1>: Structure editing. (line 27)
* M-S-<down> <3>: Plain lists. (line 66)
* M-S-<down>: Structure editing. (line 36)
* M-S-<left> <1>: The date/time prompt.
(line 54)
* M-S-<left> <2>: Built-in table editor.
(line 74)
* M-S-<left> <3>: Plain lists. (line 72)
* M-S-<left>: The date/time prompt.
(line 54)
* M-S-<left>: Structure editing. (line 27)
* M-S-<RET> <1>: Checkboxes. (line 54)
* M-S-<RET> <2>: Structure editing. (line 18)
* M-S-<RET>: Plain lists. (line 59)
* M-S-<RET> <2>: Plain lists. (line 59)
* M-S-<RET>: Structure editing. (line 18)
* M-S-<right> <1>: The date/time prompt.
(line 51)
* M-S-<right> <2>: Plain lists. (line 72)
* M-S-<right> <3>: Built-in table editor.
* M-S-<right> <2>: Built-in table editor.
(line 77)
* M-S-<right> <3>: Plain lists. (line 72)
* M-S-<right>: Structure editing. (line 30)
* M-S-<up> <1>: Editing and debugging formulas.
(line 72)
* M-S-<up> <2>: Plain lists. (line 66)
* M-S-<up> <3>: Structure editing. (line 33)
* M-S-<up>: Built-in table editor.
* M-S-<up> <2>: Built-in table editor.
(line 84)
* mouse-1 <1>: Handling links. (line 72)
* M-S-<up> <3>: Plain lists. (line 66)
* M-S-<up>: Structure editing. (line 33)
* mouse-1 <1>: Agenda commands. (line 33)
* mouse-1 <2>: The date/time prompt.
(line 36)
* mouse-1: Agenda commands. (line 33)
* mouse-1: Handling links. (line 72)
* mouse-2 <1>: Agenda commands. (line 33)
* mouse-2: Handling links. (line 72)
* mouse-3 <1>: Handling links. (line 77)
* mouse-3: Agenda commands. (line 28)
* n <1>: Using column view. (line 30)
* n: Agenda commands. (line 19)
* mouse-3 <1>: Agenda commands. (line 28)
* mouse-3: Handling links. (line 77)
* n <1>: Agenda commands. (line 19)
* n: Using column view. (line 30)
* O: Agenda commands. (line 180)
* o: Agenda commands. (line 65)
* P: Agenda commands. (line 140)
* p <1>: Agenda commands. (line 20)
* p: Using column view. (line 30)
* P: Agenda commands. (line 140)
* q <1>: Using column view. (line 17)
* q: Agenda commands. (line 238)
* r <1>: Global TODO list. (line 22)
* r: Agenda commands. (line 80)
* q <1>: Agenda commands. (line 238)
* q: Using column view. (line 17)
* r <1>: Agenda commands. (line 80)
* r: Global TODO list. (line 22)
* S: Agenda commands. (line 206)
* s: Agenda commands. (line 87)
* S-<down> <1>: Priorities. (line 23)
* S-<down> <1>: Agenda commands. (line 149)
* S-<down> <2>: The date/time prompt.
(line 45)
* S-<down> <3>: Creating timestamps. (line 40)
* S-<down> <4>: Plain lists. (line 62)
* S-<down> <4>: Priorities. (line 23)
* S-<down> <5>: Editing and debugging formulas.
(line 67)
* S-<down>: Agenda commands. (line 149)
* S-<left> <1>: Editing and debugging formulas.
(line 67)
* S-<left> <2>: Using column view. (line 26)
* S-<left> <3>: Property syntax. (line 62)
* S-<left> <4>: Creating timestamps. (line 35)
* S-<left> <5>: Agenda commands. (line 167)
* S-<down>: Plain lists. (line 62)
* S-<left> <1>: Agenda commands. (line 167)
* S-<left> <2>: The date/time prompt.
(line 42)
* S-<left> <3>: Creating timestamps. (line 35)
* S-<left> <4>: Using column view. (line 26)
* S-<left> <5>: Property syntax. (line 62)
* S-<left> <6>: Multiple sets in one file.
(line 29)
* S-<left> <7>: TODO basics. (line 20)
* S-<left>: The date/time prompt.
(line 42)
* S-<left>: Editing and debugging formulas.
(line 67)
* S-<RET>: Built-in table editor.
(line 144)
* S-<right> <1>: Property syntax. (line 62)
* S-<right> <2>: Editing and debugging formulas.
(line 67)
* S-<right> <3>: The date/time prompt.
* S-<right> <1>: Agenda commands. (line 159)
* S-<right> <2>: The date/time prompt.
(line 39)
* S-<right> <4>: Creating timestamps. (line 35)
* S-<right> <5>: TODO basics. (line 20)
* S-<right> <3>: Creating timestamps. (line 35)
* S-<right> <4>: Using column view. (line 26)
* S-<right> <5>: Property syntax. (line 62)
* S-<right> <6>: Multiple sets in one file.
(line 29)
* S-<right> <7>: Agenda commands. (line 159)
* S-<right>: Using column view. (line 26)
* S-<TAB> <1>: Visibility cycling. (line 22)
* S-<TAB>: Built-in table editor.
(line 59)
* S-<up> <1>: Plain lists. (line 62)
* S-<up> <2>: Editing and debugging formulas.
* S-<right> <7>: TODO basics. (line 20)
* S-<right>: Editing and debugging formulas.
(line 67)
* S-<up> <3>: Agenda commands. (line 143)
* S-<up> <4>: Priorities. (line 23)
* S-<up> <5>: The date/time prompt.
* S-<TAB> <1>: Built-in table editor.
(line 59)
* S-<TAB>: Visibility cycling. (line 22)
* S-<up> <1>: Agenda commands. (line 143)
* S-<up> <2>: The date/time prompt.
(line 48)
* S-<up>: Creating timestamps. (line 40)
* S-<up> <3>: Creating timestamps. (line 40)
* S-<up> <4>: Priorities. (line 23)
* S-<up> <5>: Editing and debugging formulas.
(line 67)
* S-<up>: Plain lists. (line 62)
* S-M-<left>: Using column view. (line 58)
* S-M-<RET>: TODO basics. (line 44)
* S-M-<RET>: TODO basics. (line 52)
* S-M-<right>: Using column view. (line 55)
* t: Agenda commands. (line 111)
* T: Agenda commands. (line 124)
* t: Agenda commands. (line 111)
* v: Using column view. (line 39)
* w: Agenda commands. (line 66)
* x: Agenda commands. (line 239)
@ -8153,198 +8163,198 @@ Ref: Visibility cycling-Footnote-226164
Ref: Visibility cycling-Footnote-326214
Node: Motion26484
Node: Structure editing27438
Node: Archiving30264
Node: ARCHIVE tag30822
Node: Moving subtrees32615
Node: Sparse trees33926
Ref: Sparse trees-Footnote-136061
Ref: Sparse trees-Footnote-236243
Node: Plain lists36358
Ref: Plain lists-Footnote-140555
Ref: Plain lists-Footnote-240913
Node: Drawers41094
Node: orgstruct-mode41932
Node: Tables42832
Node: Built-in table editor43413
Node: Narrow columns50658
Ref: Narrow columns-Footnote-152593
Node: Column groups52639
Node: orgtbl-mode54172
Node: The spreadsheet54975
Node: References56062
Ref: References-Footnote-160526
Node: Formula syntax for Calc60815
Node: Formula syntax for Lisp63272
Node: Field formulas64990
Node: Column formulas66298
Node: Editing and debugging formulas67897
Node: Updating the table72050
Node: Advanced features73085
Node: Hyperlinks77610
Node: Link format78448
Node: Internal links79741
Ref: Internal links-Footnote-181666
Node: Radio targets81801
Node: External links82501
Node: Handling links84905
Ref: Handling links-Footnote-190202
Ref: Handling links-Footnote-290439
Node: Using links outside Org-mode90513
Node: Link abbreviations91023
Node: Search options92716
Ref: Search options-Footnote-194496
Node: Custom searches94577
Node: Remember95625
Node: Setting up remember96612
Node: Remember templates97194
Ref: Remember templates-Footnote-1100640
Node: Storing notes100738
Node: TODO items102625
Node: TODO basics103602
Node: TODO extensions105366
Node: Workflow states106185
Ref: Workflow states-Footnote-1107360
Node: TODO types107453
Ref: TODO types-Footnote-1109036
Node: Multiple sets in one file109118
Node: Per file keywords110729
Ref: Per file keywords-Footnote-1112018
Node: Priorities112219
Node: Breaking down tasks113829
Ref: Breaking down tasks-Footnote-1114349
Node: Checkboxes114445
Node: Tags117294
Node: Tag inheritance118066
Node: Setting tags119003
Ref: Setting tags-Footnote-1123526
Ref: Setting tags-Footnote-2123638
Node: Tag searches123721
Node: Properties and columns126438
Node: Property syntax127543
Node: Special properties129964
Node: Property searches130880
Node: Column view131535
Node: Defining columns132702
Node: Scope of column definitions133100
Node: Column attributes134022
Node: Using column view136270
Node: Property API138257
Node: Timestamps138611
Node: Time stamps139072
Ref: Time stamps-Footnote-1141500
Node: Creating timestamps141616
Node: The date/time prompt143690
Ref: The date/time prompt-Footnote-1145678
Node: Custom time format145784
Node: Deadlines and scheduling147476
Ref: Deadlines and scheduling-Footnote-1149096
Node: Inserting deadline/schedule149251
Node: Repeated tasks150189
Node: Progress logging151828
Node: Closing items152483
Ref: Closing items-Footnote-1153417
Ref: Closing items-Footnote-2153486
Node: Tracking TODO state changes153559
Node: Clocking work time154415
Ref: Clocking work time-Footnote-1158061
Ref: Clocking work time-Footnote-2158139
Node: Agenda views158265
Node: Agenda files160216
Ref: Agenda files-Footnote-1161182
Ref: Agenda files-Footnote-2161331
Node: Agenda dispatcher161524
Node: Built-in agenda views163221
Node: Weekly/Daily agenda163801
Node: Global TODO list166743
Node: Matching tags and properties169021
Node: Timeline170110
Node: Stuck projects170782
Node: Presentation and sorting172633
Node: Categories173424
Node: Time-of-day specifications174088
Node: Sorting of agenda items176059
Node: Agenda commands177341
Node: Custom agenda views184622
Node: Storing searches185341
Node: Block agenda187253
Node: Setting Options188483
Node: Exporting Agenda Views191222
Ref: Exporting Agenda Views-Footnote-1195506
Ref: Exporting Agenda Views-Footnote-2195563
Node: Extracting Agenda Information for other programs195749
Node: Embedded LaTeX199875
Ref: Embedded LaTeX-Footnote-1200969
Node: Math symbols201159
Node: Subscripts and Superscripts201926
Node: LaTeX fragments202772
Ref: LaTeX fragments-Footnote-1205005
Ref: LaTeX fragments-Footnote-2205266
Node: Processing LaTeX fragments205400
Node: CDLaTeX mode206348
Ref: CDLaTeX mode-Footnote-1208834
Node: Exporting208982
Node: ASCII export210449
Node: HTML export211950
Node: HTML Export commands212576
Node: Quoting HTML tags214363
Node: Links214998
Node: Images215695
Ref: Images-Footnote-1216566
Node: CSS support216627
Ref: CSS support-Footnote-1217946
Node: LaTeX export218059
Node: LaTeX export commands218383
Node: Quoting LaTeX code219545
Node: XOXO export220050
Node: iCalendar export220490
Node: Text interpretation221709
Node: Comment lines222300
Node: Initial text222695
Node: Footnotes224364
Node: Enhancing text225179
Ref: Enhancing text-Footnote-1227048
Node: Export options227138
Node: Publishing229414
Ref: Publishing-Footnote-1230375
Ref: Publishing-Footnote-2230519
Node: Configuration230670
Node: Project alist231388
Node: Sources and destinations232454
Node: Selecting files233184
Node: Publishing action233932
Node: Publishing options235266
Node: Publishing links237641
Node: Project page index239154
Node: Sample configuration239932
Node: Simple example240424
Node: Complex example241097
Node: Triggering publication243173
Node: Miscellaneous243858
Node: Completion244492
Node: Customization246162
Node: In-buffer settings246745
Node: The very busy C-c C-c key252272
Node: Clean view254033
Node: TTY keys256610
Node: Interaction258220
Node: Cooperation258617
Node: Conflicts261493
Node: Bugs263496
Node: Extensions and Hacking264992
Node: Extensions265717
Node: Adding hyperlink types267660
Node: Tables in arbitrary syntax271322
Node: Radio tables272411
Node: A LaTeX example274914
Ref: A LaTeX example-Footnote-1278560
Ref: A LaTeX example-Footnote-2278708
Node: Translator functions279143
Ref: Translator functions-Footnote-1282252
Node: Dynamic blocks282340
Node: Special agenda views284312
Node: Using the property API287490
Node: History and Acknowledgments288971
Node: Index295547
Node: Key Index330039
Node: Archiving30277
Node: ARCHIVE tag30835
Node: Moving subtrees32628
Node: Sparse trees34100
Ref: Sparse trees-Footnote-136235
Ref: Sparse trees-Footnote-236417
Node: Plain lists36532
Ref: Plain lists-Footnote-140729
Ref: Plain lists-Footnote-241087
Node: Drawers41268
Node: orgstruct-mode42106
Node: Tables43006
Node: Built-in table editor43587
Node: Narrow columns50832
Ref: Narrow columns-Footnote-152767
Node: Column groups52813
Node: orgtbl-mode54346
Node: The spreadsheet55149
Node: References56236
Ref: References-Footnote-160700
Node: Formula syntax for Calc60989
Node: Formula syntax for Lisp63446
Node: Field formulas65164
Node: Column formulas66472
Node: Editing and debugging formulas68071
Node: Updating the table72224
Node: Advanced features73277
Node: Hyperlinks77802
Node: Link format78640
Node: Internal links79933
Ref: Internal links-Footnote-181858
Node: Radio targets81993
Node: External links82693
Node: Handling links85097
Ref: Handling links-Footnote-190394
Ref: Handling links-Footnote-290631
Node: Using links outside Org-mode90705
Node: Link abbreviations91215
Node: Search options92908
Ref: Search options-Footnote-194688
Node: Custom searches94769
Node: Remember95817
Node: Setting up remember96804
Node: Remember templates97386
Ref: Remember templates-Footnote-1100832
Node: Storing notes100930
Node: TODO items102817
Node: TODO basics103794
Node: TODO extensions105876
Node: Workflow states106695
Ref: Workflow states-Footnote-1107870
Node: TODO types107963
Ref: TODO types-Footnote-1109546
Node: Multiple sets in one file109628
Node: Per file keywords111239
Ref: Per file keywords-Footnote-1112508
Node: Priorities112709
Node: Breaking down tasks114319
Ref: Breaking down tasks-Footnote-1114839
Node: Checkboxes114935
Node: Tags117784
Node: Tag inheritance118556
Node: Setting tags119493
Ref: Setting tags-Footnote-1124016
Ref: Setting tags-Footnote-2124128
Node: Tag searches124211
Node: Properties and columns126928
Node: Property syntax128033
Node: Special properties130454
Node: Property searches131370
Node: Column view132025
Node: Defining columns133192
Node: Scope of column definitions133590
Node: Column attributes134512
Node: Using column view136760
Node: Property API138747
Node: Timestamps139101
Node: Time stamps139562
Ref: Time stamps-Footnote-1141990
Node: Creating timestamps142106
Node: The date/time prompt144180
Ref: The date/time prompt-Footnote-1146168
Node: Custom time format146274
Node: Deadlines and scheduling147966
Ref: Deadlines and scheduling-Footnote-1149586
Node: Inserting deadline/schedule149741
Node: Repeated tasks150679
Node: Progress logging152318
Node: Closing items152973
Ref: Closing items-Footnote-1153907
Ref: Closing items-Footnote-2153976
Node: Tracking TODO state changes154049
Node: Clocking work time154905
Ref: Clocking work time-Footnote-1158551
Ref: Clocking work time-Footnote-2158629
Node: Agenda views158755
Node: Agenda files160706
Ref: Agenda files-Footnote-1161672
Ref: Agenda files-Footnote-2161821
Node: Agenda dispatcher162014
Node: Built-in agenda views163711
Node: Weekly/Daily agenda164291
Node: Global TODO list167233
Node: Matching tags and properties169511
Node: Timeline170600
Node: Stuck projects171272
Node: Presentation and sorting173123
Node: Categories173914
Node: Time-of-day specifications174578
Node: Sorting of agenda items176549
Node: Agenda commands177831
Node: Custom agenda views185112
Node: Storing searches185831
Node: Block agenda187743
Node: Setting Options188973
Node: Exporting Agenda Views191712
Ref: Exporting Agenda Views-Footnote-1195996
Ref: Exporting Agenda Views-Footnote-2196053
Node: Extracting Agenda Information for other programs196239
Node: Embedded LaTeX200365
Ref: Embedded LaTeX-Footnote-1201459
Node: Math symbols201649
Node: Subscripts and Superscripts202416
Node: LaTeX fragments203262
Ref: LaTeX fragments-Footnote-1205495
Ref: LaTeX fragments-Footnote-2205756
Node: Processing LaTeX fragments205890
Node: CDLaTeX mode206838
Ref: CDLaTeX mode-Footnote-1209324
Node: Exporting209472
Node: ASCII export210939
Node: HTML export212440
Node: HTML Export commands213066
Node: Quoting HTML tags214853
Node: Links215488
Node: Images216185
Ref: Images-Footnote-1217056
Node: CSS support217117
Ref: CSS support-Footnote-1218436
Node: LaTeX export218549
Node: LaTeX export commands218873
Node: Quoting LaTeX code220035
Node: XOXO export220540
Node: iCalendar export220980
Node: Text interpretation222199
Node: Comment lines222790
Node: Initial text223185
Node: Footnotes224854
Node: Enhancing text225669
Ref: Enhancing text-Footnote-1227538
Node: Export options227628
Node: Publishing229904
Ref: Publishing-Footnote-1230865
Ref: Publishing-Footnote-2231009
Node: Configuration231160
Node: Project alist231878
Node: Sources and destinations232944
Node: Selecting files233674
Node: Publishing action234422
Node: Publishing options235756
Node: Publishing links238131
Node: Project page index239644
Node: Sample configuration240422
Node: Simple example240914
Node: Complex example241587
Node: Triggering publication243663
Node: Miscellaneous244348
Node: Completion244982
Node: Customization246652
Node: In-buffer settings247235
Node: The very busy C-c C-c key252762
Node: Clean view254523
Node: TTY keys257100
Node: Interaction258710
Node: Cooperation259107
Node: Conflicts261983
Node: Bugs263986
Node: Extensions and Hacking265482
Node: Extensions266207
Node: Adding hyperlink types268150
Node: Tables in arbitrary syntax271812
Node: Radio tables272901
Node: A LaTeX example275404
Ref: A LaTeX example-Footnote-1279050
Ref: A LaTeX example-Footnote-2279198
Node: Translator functions279633
Ref: Translator functions-Footnote-1282742
Node: Dynamic blocks282830
Node: Special agenda views284802
Node: Using the property API287980
Node: History and Acknowledgments289461
Node: Index296037
Node: Key Index330529

End Tag Table

View File

@ -2,30 +2,30 @@
;; Copyright (C) 2007 Free Software Foundation, Inc.
;;
;; Author: Bastien Guerry <bzg AT altern DOT org>
;; Maintainer: Bastien Guerry <bzg AT altern DOT org>
;; Version: $Id: org-export-latex.el,v 0.26b 2007/08/21 14:46:58 guerry Exp guerry $
;; Keywords: org organizer latex export convert
;; Version: $Id: org-export-latex.el,v 0.27b 2007/08/25 14:26:06 guerry Exp guerry $
;; X-URL: <http://www.cognition.ens.fr/~guerry/u/org-export-latex.el>
;;
;; This file is part of GNU Emacs.
;;
;; This program is free software; you can redistribute it and/or modify
;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;;
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, write to the Free Software
;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
;; along with GNU Emacs; see the file COPYING. If not, write to the
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;
;;; Commentary:
;; This library is a LaTeX exporter for org-mode.
;;
;; This library implements a LaTeX exporter for org-mode.
;;
;; Put this file into your load-path and the following into your ~/.emacs:
;; (require 'org-export-latex)
@ -37,17 +37,14 @@
;; M-x `org-export-as-latex-to-buffer'
;; M-x `org-export-region-as-latex'
;; M-x `org-replace-region-by-latex'
;;; History:
;;
;; I started this piece of code in may 2007. Special thanks to Carsten
;; Dominik for helping me on this.
;;
;;
;;; Code:
(eval-when-compile
(require 'cl)
(require 'footnote))
(require 'org)
(require 'footnote)
(defvar org-latex-options-plist nil)
(defvar org-latex-todo-keywords-1 nil)
@ -511,7 +508,7 @@ and its content."
(cond ((stringp subcontent) (insert subcontent))
((listp subcontent) (org-export-latex-sub subcontent)))))))))
(defun org-export-latex-special-keywords-maybe (remove-list)
(defun org-export-latex-keywords-maybe (remove-list)
"Maybe remove keywords depending on rules in REMOVE-LIST."
(goto-char (point-min))
(let ((re-todo (mapconcat 'identity org-latex-todo-keywords-1 "\\|")))
@ -527,7 +524,8 @@ and its content."
(replace-match (format "\\texttt{%s}" (match-string 0)) t t)))
;; convert tags
(when (re-search-forward "\\(:[a-zA-Z0-9]+\\)+:" nil t)
(if (plist-get remove-list :tags)
(if (or (not org-export-with-tags)
(plist-get remove-list :tags))
(replace-match "")
(replace-match (format "\\texttt{%s}" (match-string 0)) t t)))))
@ -542,7 +540,7 @@ and its content."
(plist-get org-latex-options-plist :sub-superscript))
(when (plist-get org-latex-options-plist :emphasize)
(org-export-latex-fontify))
(org-export-latex-special-keywords-maybe
(org-export-latex-keywords-maybe
org-export-latex-remove-from-headines)
(org-export-latex-links)
(org-trim (buffer-substring-no-properties (point-min) (point-max)))))
@ -557,7 +555,7 @@ and its content."
(when (plist-get org-latex-options-plist :emphasize)
(org-export-latex-fontify))
(org-export-latex-links)
(org-export-latex-special-keywords)
(org-export-latex-keywords)
(org-export-latex-itemize)
(org-export-latex-enumerate)
(org-export-latex-tables
@ -631,16 +629,12 @@ See the `org-export-latex.el' code for a complete conversion table."
(replace-match (concat (match-string 1) "\\"
(match-string 2)) t t)))
((equal (match-string 2) "~")
;; FIXME protect ~ in links
;; (unless (get-text-property 0 'org-protected (match-string 2))
;; (unless (eq 'org-link (get-text-property 0 'face (match-string 2)))
(cond ((equal (match-string 1) "\\") nil)
((eq 'org-link (get-text-property 0 'face (match-string 2)))
(replace-match (concat (match-string 1) "\\~") t t))
(t
(replace-match
(org-latex-protect
(concat (match-string 1) "\\textasciitilde{}")) t t))))
(t (replace-match
(org-latex-protect
(concat (match-string 1) "\\~{}")) t t))))
((member (match-string 2) '("{" "}"))
(unless (save-match-data (org-inside-LaTeX-fragment-p))
(if (equal (match-string 1) "\\")
@ -681,7 +675,6 @@ Convert CHAR depending on STRING-BEFORE and STRING-AFTER."
((and (string-match "\\S-+" string-before)
(string-match "\\S-+" string-after))
(cond ((eq 'org-link (get-text-property 0 'face char))
;; (cond ((get-text-property 0 'org-protected char)
(concat string-before "\\" char string-after))
((save-match-data (org-inside-LaTeX-fragment-p))
(if subsup
@ -695,8 +688,8 @@ Convert CHAR depending on STRING-BEFORE and STRING-AFTER."
(string-match "[({]?\\([^)}]+\\)[)}]?" string-after))
(format "$%s%s{%s}$" string-before char
(match-string 1 string-after)))
(subsup (concat "$" string-before char string-after "$"))
(t (concat string-before char string-after))))
(subsup (concat "$" string-before char string-after "$"))
(t (concat string-before "\\" char string-after))))
(t (concat string-before "\\" char string-after))))
(defun org-export-latex-treat-backslash-char (string-before string-after)
@ -708,7 +701,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
(or (cdar (member (list string-after) org-html-entities))
string-after) "$"))
((and (not (string-match "^[ \n\t]" string-after))
(not (string-match "[ \n\t]\\'" string-before)))
(not (string-match "[ \t]\\'" string-before)))
;; backslash is inside a word
(concat string-before "$\\backslash$" string-after))
((not (or (equal string-after "")
@ -740,6 +733,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
(match-string 2)) t t)
(forward-line))))))
;; FIXME Use org-export-highlight-first-table-line ?
(defun org-export-latex-tables (opt)
"When OPT is non-nil convert tables to LaTeX."
(goto-char (point-min))
@ -763,7 +757,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
(when opt (insert (orgtbl-to-latex (nreverse tbl-list)
nil) "\n\n")))))
(defun org-export-latex-special-keywords ()
(defun org-export-latex-keywords ()
"Convert special keywords to LaTeX.
Regexps are those from `org-latex-special-string-regexps'."
(let ((rg org-latex-special-string-regexps) r)
@ -1041,7 +1035,6 @@ Regexps are those from `org-latex-special-string-regexps'."
":" (match-string 3) "]]")))
;; added 'org-protected property to links
(put-text-property 0 (length s) 'face 'org-link s)
;; (add-text-properties 0 (length s) '(org-protected t) s)
(replace-match s t t))))
(goto-char (point-min))
(while (re-search-forward re-angle-link nil t)
@ -1050,7 +1043,6 @@ Regexps are those from `org-latex-special-string-regexps'."
(let* ((s (concat (match-string 1) "[[" (match-string 2)
":" (match-string 3) "]]")))
(put-text-property 0 (length s) 'face 'org-link s)
;; (add-text-properties 0 (length s) '(org-protected t) s)
(replace-match s t t))))
(goto-char (point-min))
(while (re-search-forward org-bracket-link-regexp nil t)
@ -1063,7 +1055,6 @@ Regexps are those from `org-latex-special-string-regexps'."
(concat "[" xx "]"))
"]")))
(put-text-property 0 (length s) 'face 'org-link s)
;; (add-text-properties 0 (length s) '(org-protected t) s)
(replace-match s t t))))
;; Find multiline emphasis and put them into single line
@ -1083,26 +1074,25 @@ Regexps are those from `org-latex-special-string-regexps'."
rtn))
(defsubst org-latex-protect (string)
(add-text-properties 0 (length string) '(org-protected t) string)
string)
(add-text-properties 0 (length string) '(org-protected t) string) string)
(defun org-export-latex-cleaned-string ()
"Clean stuff in the LaTeX export."
;; preserve line breaks
;; Preserve line breaks
(goto-char (point-min))
(while (re-search-forward "\\\\\\\\" nil t)
(add-text-properties (match-beginning 0) (match-end 0)
'(org-protected t)))
;; convert LaTeX to @LaTeX{}
;; Convert LaTeX to @LaTeX{}
(goto-char (point-min))
(let ((case-fold-search nil) rpl)
(while (re-search-forward "\\([^+_]\\)LaTeX" nil t)
(replace-match (org-latex-protect
(concat (match-string 1) "\\LaTeX{}")) t t)))
;; convert horizontal rules
;; Convert horizontal rules
(goto-char (point-min))
(while (re-search-forward "^----+.$" nil t)
(replace-match (org-latex-protect "\\hrule") t t))
@ -1115,10 +1105,10 @@ Regexps are those from `org-latex-special-string-regexps'."
nil t)
(beginning-of-line)
(org-cut-subtree))
;; protect LaTeX \commands{...}
;; Protect LaTeX \commands{...}
(goto-char (point-min))
(while (re-search-forward "\\\\[a-z]+{.+}" nil t)
(while (re-search-forward "\\\\[a-z]+\\(?:\\[.*\\]\\)?\\(?:{.*}\\)?" nil t)
(add-text-properties (match-beginning 0) (match-end 0)
'(org-protected t)))
@ -1129,17 +1119,18 @@ Regexps are those from `org-latex-special-string-regexps'."
(replace-match
(org-latex-protect (format "\\label{%s}" (match-string 1))) t t)))
;; delete @<br /> cookies
;; Delete @<...> constructs
(goto-char (point-min))
(while (re-search-forward "@<[^<>\n]*>" nil t)
;; Thanks to Daniel Clemente for this regexp
(while (re-search-forward "@<\\(?:[^\"\n]\\|\".*\"\\)*?>" nil t)
(replace-match ""))
;; add #+BEGIN_LaTeX before any \begin{...}
;; Add #+BEGIN_LaTeX before any \begin{...}
(goto-char (point-min))
(while (re-search-forward "^ *\\\\begin{" nil t)
(replace-match "#+BEGIN_LaTeX:\n\\&" t))
;; add #+END_LaTeX after any \end{...}
;; Add #+END_LaTeX after any \end{...}
(goto-char (point-min))
(while (re-search-forward "^ *\\\\end{.+}.*$" nil t)
(replace-match "\\&\n#+END_LaTeX" t))
@ -1171,10 +1162,7 @@ Regexps are those from `org-latex-special-string-regexps'."
(goto-char foot-beg)
(delete-region foot-beg foot-end)
(setq footnote-rpl (format "\\footnote{%s}" footnote))
;; FIXME Remove
;; (add-text-properties 0 1 '(org-protected t) footnote-rpl)
(add-text-properties 0 10 '(org-protected t) footnote-rpl)
;; FIXME: why protecting the content of a footnote?
(add-text-properties (1- (length footnote-rpl))
(length footnote-rpl)
'(org-protected t) footnote-rpl)
@ -1188,7 +1176,6 @@ Regexps are those from `org-latex-special-string-regexps'."
;; Protect stuff from LaTeX processing.
;; We will get rid on this once org.el integrate org-export-latex.el
;; FIXME: #+LaTeX should be aware of the preceeding indentation in lists
(goto-char (point-min))
(let ((formatters `((,latexp "LaTeX" "BEGIN_LaTeX" "END_LaTeX"))) fmt)
(while (re-search-forward "^[ \t]*:.*\\(\n[ \t]*:.*\\)*" nil t)
@ -1199,7 +1186,10 @@ Regexps are those from `org-latex-special-string-regexps'."
(when (car fmt)
(goto-char (point-min))
(while (re-search-forward (concat "^#\\+" (cadr fmt)
":[ \t]*\\(.*\\)") nil t)
;; ":[ \t]*\\(.*\\)") nil t)
;; FIXME: authorize spaces after #+LaTeX:
;; to get list correctly exported
":\\(.*\\)") nil t)
(replace-match "\\1" t)
(add-text-properties
(point-at-bol) (min (1+ (point-at-eol)) (point-max))

389
org.el
View File

@ -5,13 +5,13 @@
;; 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: 5.06e
;; Version: 5.07
;;
;; This file is part of GNU Emacs.
;;
;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
@ -83,7 +83,7 @@
;;; Version
(defconst org-version "5.06e"
(defconst org-version "5.07"
"The version number of the file org.el.")
(defun org-version ()
(interactive)
@ -236,11 +236,13 @@ Or return the original if not disputed."
(defcustom org-ellipsis nil
"The ellipsis to use in the Org-mode outline.
When nil, just use the standard three dots. When a string, use that instead,
and just in Org-mode (which will then use its own display table).
When a face, use the standart 3 dots, but with the specified face.
The change affects only Org-mode (which will then use its own display table).
Changing this requires executing `M-x org-mode' in a buffer to become
effective."
:group 'org-startup
:type '(choice (const :tag "Default" nil)
(face :tag "Face" :value org-warning)
(string :tag "String" :value "...#")))
(defvar org-display-table nil
@ -274,11 +276,6 @@ Changes become only effective after restarting Emacs."
:group 'org-keywords
:type 'string)
(defcustom org-archived-string "ARCHIVED:"
"String used as the prefix for timestamps logging archiving a TODO entry."
:group 'org-keywords
:type 'string)
(defcustom org-clock-string "CLOCK:"
"String used as prefix for timestamps clocking work hours on an item."
:group 'org-keywords
@ -719,6 +716,32 @@ use the first keyword in its list that means done."
:group 'org-archive
:type 'boolean)
(defcustom org-archive-save-context-info '(time file category todo itags)
"Parts of context info that should be stored as properties when archiving.
When a subtree is moved to an archive file, it looses information given by
context, like inherited tags, the category, and possibly also the TODO
state (depending on the variable `org-archive-mark-done').
This variable can be a list of any of the following symbols:
time The time of archiving.
file The file where the entry originates.
itags The local tags, in the headline of the subtree.
ltags The tags the subtree inherits from further up the hierarchy.
todo The pre-archive TODO state.
category The category, taken from file name or #+CATEGORY lines.
For each symbol present in the list, a property will be created in
the archived entry, with a prefix \"PRE_ARCHIVE_\", to remember this
information."
:group 'org-archive
:type '(set
(const :tag "File" file)
(const :tag "Category" category)
(const :tag "TODO state" todo)
(const :tag "TODO state" priority)
(const :tag "Inherited tags" itags)
(const :tag "Local tags" ltags)))
(defgroup org-table nil
"Options concerning tables in Org-mode."
:tag "Org Table"
@ -1485,6 +1508,8 @@ taken from the (otherwise obsolete) variable `org-todo-interpretation'."
(defvar org-todo-keywords-1 nil)
(make-variable-buffer-local 'org-todo-keywords-1)
(defvar org-todo-tag-alist nil)
(make-variable-buffer-local 'org-todo-tag-alist)
(defvar org-todo-keywords-for-agenda nil)
(defvar org-done-keywords-for-agenda nil)
(defvar org-not-done-keywords nil)
@ -1868,6 +1893,11 @@ agenda file per line."
(repeat :tag "List of files" file)
(file :tag "Store list in a file\n" :value "~/.agenda_files")))
(defcustom org-agenda-skip-unavailable-files nil
"t means to just skip non-reachable files in `org-agenda-files'.
Nil means to remove them, after a query, from the list."
:group 'org-agenda
:type 'boolean)
(defcustom org-agenda-confirm-kill 1
"When set, remote killing from the agenda buffer needs confirmation.
@ -2553,16 +2583,17 @@ This is a property list with the following properties:
This path may be relative to the directory where the Org-mode file lives.
The default is to put them into the same directory as the Org-mode file.
The variable may also be an alist with export types `:html', `:ascii',
`:ical', or `:xoxo' and the corresponding directories. If a directory path
is relative, it is interpreted relative to the directory where the exported
Org-mode files lives."
`:ical', `:LaTeX', or `:xoxo' and the corresponding directories.
If a directory path is relative, it is interpreted relative to the
directory where the exported Org-mode files lives."
:group 'org-export-general
:type '(choice
(directory)
(repeat
(cons
(choice :tag "Type"
(const :html) (const :ascii) (const :ical) (const :xoxo))
(const :html) (const :LaTeX)
(const :ascii) (const :ical) (const :xoxo))
(directory)))))
(defcustom org-export-language-setup
@ -3427,6 +3458,18 @@ 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)
(defcustom org-todo-keyword-faces nil
"Faces for specific TODO keywords.
This is a list of cons cells, with TODO keywords in the car
and faces in the cdr. The face can be a symbol, or a property
list of attributes, like (:foreground \"blue\" :weight bold :underline t)."
:group 'org-faces
:group 'org-todo
:type '(repeat
(cons
(string :tag "keyword")
(sexp :tag "face"))))
(defface org-table ;; font-lock-function-name-face
(org-compatible-face
'((((class color) (min-colors 88) (background light)) (:foreground "Blue1"))
@ -3451,13 +3494,13 @@ to the part of the headline after the DONE keyword."
(defface org-code
(org-compatible-face
'((((class color grayscale) (min-colors 88) (background light))
:foreground "grey50")
(:foreground "grey50"))
(((class color grayscale) (min-colors 88) (background dark))
:foreground "grey70")
(:foreground "grey70"))
(((class color) (min-colors 8) (background light))
:foreground "green")
(:foreground "green"))
(((class color) (min-colors 8) (background dark))
:foreground "yellow")))
(:foreground "yellow"))))
"Face for fixed-with text like code snippets."
:group 'org-faces
:version "22.1")
@ -3688,6 +3731,7 @@ means to push this value onto the list in the variable.")
(when (org-mode-p)
(org-set-local 'org-todo-kwd-alist nil)
(org-set-local 'org-todo-keywords-1 nil)
(org-set-local 'org-todo-tag-alist nil)
(org-set-local 'org-done-keywords nil)
(org-set-local 'org-todo-heads nil)
(org-set-local 'org-todo-sets nil)
@ -3696,8 +3740,8 @@ means to push this value onto the list in the variable.")
"STARTUP" "ARCHIVE" "TAGS" "LINK" "PRIORITIES"
"CONSTANTS" "PROPERTY")))
(splitre "[ \t]+")
kwds key value cat arch tags const links hw dws tail sep kws1 prio
props)
kwds kws0 kwsa key value cat arch tags const links hw dws
tail sep kws1 prio props)
(save-excursion
(save-restriction
(widen)
@ -3770,13 +3814,25 @@ means to push this value onto the list in the variable.")
(let (inter kws)
(while (setq kws (pop kwds))
(setq inter (pop kws) sep (member "|" kws)
kws1 (delete "|" (copy-sequence kws))
kws0 (delete "|" (copy-sequence kws))
kwsa nil
kws1 (mapcar (lambda (x)
(if (string-match "\\(.*\\)(\\(.\\))" x)
(progn
(push (cons (match-string 1 x)
(string-to-char
(match-string 2 x))) kwsa)
(match-string 1 x))
x))
kws0)
kwsa (if kwsa (append '((:startgroup)) kwsa '((:endgroup))))
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 kws1 org-todo-sets)
(setq org-done-keywords (append org-done-keywords dws nil))
(setq org-todo-tag-alist (append org-todo-tag-alist kwsa))
(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)
@ -3857,28 +3913,25 @@ means to push this value onto the list in the variable.")
(concat "\\<\\(" org-scheduled-string
"\\|" org-deadline-string
"\\|" org-closed-string
"\\|" org-archived-string
"\\|" org-clock-string "\\)"
" *[[<]\\([^]>]+\\)[]>]")
org-keyword-time-not-clock-regexp
(concat "\\<\\(" org-scheduled-string
"\\|" org-deadline-string
"\\|" org-closed-string
"\\|" org-archived-string
"\\)"
" *[[<]\\([^]>]+\\)[]>]")
org-maybe-keyword-time-regexp
(concat "\\(\\<\\(" org-scheduled-string
"\\|" org-deadline-string
"\\|" org-closed-string
"\\|" org-archived-string
"\\|" org-clock-string "\\)\\)?"
" *\\([[<][0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [^]\r\n>]*?[]>]\\|<%%([^\r\n>]*>\\)")
org-planning-or-clock-line-re
(concat "\\(?:^[ \t]*\\(" org-scheduled-string
"\\|" org-deadline-string
"\\|" org-closed-string "\\|" org-clock-string
"\\|" org-archived-string "\\)\\>\\)")
"\\)\\>\\)")
)
(org-set-font-lock-defaults)))
@ -4133,12 +4186,17 @@ The following commands are available:
(org-set-local 'line-move-ignore-invisible t))
(org-set-local 'outline-regexp "\\*+ ")
(setq outline-level 'org-outline-level)
(when (and org-ellipsis (stringp org-ellipsis)
(fboundp 'set-display-table-slot) (boundp 'buffer-display-table))
(when (and org-ellipsis
(fboundp 'set-display-table-slot) (boundp 'buffer-display-table)
(fboundp 'make-glyph-code))
(unless org-display-table
(setq org-display-table (make-display-table)))
(set-display-table-slot org-display-table
4 (string-to-vector org-ellipsis))
(set-display-table-slot
org-display-table 4
(vconcat (mapcar
(lambda (c) (make-glyph-code c (and (not (stringp org-ellipsis))
org-ellipsis)))
(if (stringp org-ellipsis) org-ellipsis "..."))))
(setq buffer-display-table org-display-table))
(org-set-regexps-and-options)
;; Calc embedded
@ -4585,10 +4643,11 @@ between words."
(let* ((em org-fontify-emphasized-text)
(lk org-activate-links)
(org-font-lock-extra-keywords
;; Headlines
(list
;; Headlines
'("^\\(\\**\\)\\(\\* \\)\\(.*\\)" (1 (org-get-level-face 1))
(2 (org-get-level-face 2)) (3 (org-get-level-face 3)))
;; Table lines
'("^[ \t]*\\(\\(|\\|\\+-[-+]\\).*\\S-\\)"
(1 'org-table))
;; Links
@ -4601,15 +4660,21 @@ between words."
'("^&?%%(.*\\|<%%([^>\n]*?>" (0 'org-sexp-date t))
'(org-hide-wide-columns (0 nil append))
;; TODO lines
(list (concat "^\\*+[ \t]+" org-not-done-regexp)
'(1 'org-todo t))
(list (concat "^\\*+[ \t]+" org-todo-regexp)
'(1 (org-get-todo-face 1) t))
;; DONE
(if org-fontify-done-headline
(list (concat "^[*]+ +\\<\\("
(mapconcat 'regexp-quote org-done-keywords "\\|")
"\\)\\(.*\\)")
'(2 'org-headline-done t))
nil)
;; Priorities
(list (concat "\\[#[A-Z0-9]\\]") '(0 'org-special-keyword t))
;; Special keywords
(list (concat "\\<" org-deadline-string) '(0 'org-special-keyword t))
(list (concat "\\<" org-scheduled-string) '(0 'org-special-keyword t))
(list (concat "\\<" org-closed-string) '(0 'org-special-keyword t))
(list (concat "\\<" org-archived-string) '(0 'org-special-keyword t))
(list (concat "\\<" org-clock-string) '(0 'org-special-keyword t))
;; Emphasis
(if em
@ -4627,19 +4692,9 @@ between words."
"\\|" org-quote-string "\\)\\>")
'(1 'org-special-keyword t))
'("^#.*" (0 'font-lock-comment-face t))
;; DONE
(if org-fontify-done-headline
(list (concat "^[*]+ +\\<\\("
(mapconcat 'regexp-quote org-done-keywords "\\|")
"\\)\\(.*\\)")
'(1 'org-done t) '(2 'org-headline-done t))
(list (concat "^[*]+ +\\<\\("
(mapconcat 'regexp-quote org-done-keywords "\\|")
"\\)\\>")
'(1 'org-done t)))
;; Code
'("^[ \t]*\\(:.*\\)" (1 'org-code t))
;; Table
;; Table internals
'("| *\\(:?=[^|\n]*\\)" (1 'org-formula t))
'("^[ \t]*| *\\([#*]\\) *|" (1 'org-formula t))
'("^[ \t]*|\\( *\\([$!_^/]\\) *|.*\\)|" (1 'org-formula t))
@ -4674,6 +4729,15 @@ between words."
((eq n 2) org-f)
(t (if org-level-color-stars-only nil org-f))))
(defun org-get-todo-face (kwd)
"Get the right face for a TODO keyword KWD.
If KWD is a number, get the corresponding match group."
(if (numberp kwd) (setq kwd (match-string kwd)))
(or (cdr (assoc kwd org-todo-keyword-faces))
(and (member kwd org-done-keywords) 'org-done)
'org-todo))
(defun org-unfontify-region (beg end &optional maybe_loudly)
"Remove fontification and activation overlays from links."
(font-lock-default-unfontify-region beg end)
@ -4722,7 +4786,8 @@ between words."
`org-cycle-emulate-tab' for details.
- Special case: if point is at the beginning of the buffer and there is
no headline in line 1, this function will act as if called with prefix arg."
no headline in line 1, this function will act as if called with prefix arg.
But only if also the variable `org-cycle-global-at-bob' is t."
(interactive "P")
(let* ((outline-regexp
(if (and (org-mode-p) org-cycle-include-plain-lists)
@ -5775,6 +5840,8 @@ WITH-CASE, the sorting considers case as well. With two prefix arguments
nentries
(if unique (format ", %d duplicates removed" nremoved) ""))))
(defvar org-priority-regexp) ; defined later in the file
(defun org-do-sort (table what &optional with-case sorting-type)
"Sort TABLE of WHAT according to SORTING-TYPE.
The user will be prompted for the SORTING-TYPE if the call to this
@ -5784,7 +5851,7 @@ the car of the elements of the table.
If WITH-CASE is non-nil, the sorting will be case-sensitive."
(unless sorting-type
(message
"Sort %s: [a]lphabetically [n]umerically [t]ime. A/N/T means reversed:"
"Sort %s: [a]lphabetic. [n]umeric. [t]ime [p]riority. A/N/T/P means reversed:"
what)
(setq sorting-type (read-char-exclusive)))
(let ((dcst (downcase sorting-type))
@ -5808,6 +5875,13 @@ If WITH-CASE is non-nil, the sorting will be case-sensitive."
(org-time-string-to-time (match-string 0 x)))
0))
comparefun (if (= dcst sorting-type) '< '>)))
((= dcst ?p)
(setq extractfun
(lambda (x)
(if (string-match org-priority-regexp x)
(string-to-char (match-string 2 x))
org-default-priority))
comparefun (if (= dcst sorting-type) '< '>)))
(t (error "Invalid sorting type `%c'" sorting-type)))
(sort (mapcar (lambda (x) (cons (funcall extractfun (car x)) (cdr x)))
@ -6613,7 +6687,12 @@ this heading."
(this-buffer (current-buffer))
(org-archive-location org-archive-location)
(re "^#\\+ARCHIVE:[ \t]+\\(\\S-.*\\S-\\)[ \t]*$")
file heading buffer level newfile-p)
(file (abbreviate-file-name (buffer-file-name)))
(time (format-time-string
(substring (cdr org-time-stamp-formats) 1 -1)
(current-time)))
afile heading buffer level newfile-p
category todo priority ltags itags)
;; Try to find a local archive location
(save-excursion
@ -6624,21 +6703,31 @@ this heading."
(if (string-match "\\(.*\\)::\\(.*\\)" org-archive-location)
(progn
(setq file (format (match-string 1 org-archive-location)
(setq afile (format (match-string 1 org-archive-location)
(file-name-nondirectory buffer-file-name))
heading (match-string 2 org-archive-location)))
(error "Invalid `org-archive-location'"))
(if (> (length file) 0)
(setq newfile-p (not (file-exists-p file))
buffer (find-file-noselect file))
(if (> (length afile) 0)
(setq newfile-p (not (file-exists-p afile))
buffer (find-file-noselect afile))
(setq buffer (current-buffer)))
(unless buffer
(error "Cannot access file \"%s\"" file))
(error "Cannot access file \"%s\"" afile))
(if (and (> (length heading) 0)
(string-match "^\\*+" heading))
(setq level (match-end 0))
(setq heading nil level 0))
(save-excursion
(org-back-to-heading t)
;; Get context information that will be lost by moving the tree
(setq category (org-get-category)
todo (and (looking-at org-todo-line-regexp)
(match-string 2))
priority (org-get-priority (if (match-end 3) (match-string 3) ""))
ltags (org-split-string (org-get-tags) ":")
itags (org-delete-all ltags (org-get-tags-at)))
(setq ltags (mapconcat 'identity ltags " ")
itags (mapconcat 'identity itags " "))
;; We first only copy, in case something goes wrong
;; we need to protect this-command, to avoid kill-region sets it,
;; which would lead to duplication of subtrees
@ -6699,9 +6788,15 @@ this heading."
(car (or (member org-archive-mark-done org-done-keywords)
org-done-keywords)))))
;; Move cursor to right after the TODO keyword
(when org-archive-stamp-time
(org-add-planning-info 'archived (org-current-time)))
;; Add the context info
(when org-archive-save-context-info
(let ((l org-archive-save-context-info) e n v)
(while (setq e (pop l))
(when (and (setq v (symbol-value e))
(stringp v) (string-match "\\S-" v))
(setq n (concat "ARCHIVE_" (upcase (symbol-name e))))
(org-entry-put (point) n v)))))
;; Save the buffer, if it is not the same buffer.
(if (not (eq this-buffer buffer)) (save-buffer))))
;; Here we are back in the original buffer. Everything seems to have
@ -6711,7 +6806,7 @@ this heading."
(message "Subtree archived %s"
(if (eq this-buffer buffer)
(concat "under heading: " heading)
(concat "in file: " (abbreviate-file-name file)))))))
(concat "in file: " (abbreviate-file-name afile)))))))
(defun org-archive-all-done (&optional tag)
"Archive sublevels of the current tree without open TODO items.
@ -8151,7 +8246,7 @@ it can be edited in place."
(field (org-table-get-field))
(cw (current-window-configuration))
p)
(switch-to-buffer-other-window "*Org tmp*")
(org-switch-to-buffer-other-window "*Org tmp*")
(erase-buffer)
(insert "#\n# Edit field and finish with C-c C-c\n#\n")
(let ((org-inhibit-startup t)) (org-mode))
@ -9247,7 +9342,7 @@ Parameters get priority."
(field . "# Field Formulas\n")
(named . "# Named Field Formulas\n")))
entry s type title)
(switch-to-buffer-other-window "*Edit Formulas*")
(org-switch-to-buffer-other-window "*Edit Formulas*")
(erase-buffer)
;; Keep global-font-lock-mode from turning on font-lock-mode
(let ((font-lock-global-modes '(not fundamental-mode)))
@ -9602,7 +9697,7 @@ With prefix ARG, apply the new formulas to the table."
(if (and (markerp pos) (marker-buffer pos))
(if (get-buffer-window (marker-buffer pos))
(select-window (get-buffer-window (marker-buffer pos)))
(switch-to-buffer-other-window (get-buffer-window
(org-switch-to-buffer-other-window (get-buffer-window
(marker-buffer pos)))))
(goto-char pos)
(org-table-force-dataline)
@ -10823,7 +10918,7 @@ For file links, arg negates `org-context-in-file-links'."
(setq org-stored-links
(cons (list cpltxt link desc) org-stored-links))
(message "Stored: %s" (or cpltxt link)))
(org-make-link-string link desc))))
(and link (org-make-link-string link desc)))))
(defun org-store-link-props (&rest plist)
"Store link properties, extract names and addresses."
@ -10914,14 +11009,22 @@ according to FMT (default from `org-email-link-description-format')."
"]"))
(defconst org-link-escape-chars
'((" " . "%20") ("\340" . "%E0")
("\342" . "%E2") ("\347" . "%E7")
("\350" . "%E8") ("\351" . "%E9")
("\352" . "%EA") ("\356" . "%EE")
("\364" . "%F4") ("\371" . "%F9")
("\373" . "%FB") (";" . "%3B")
("?" . "%3F") ("=" . "%3D")
("+" . "%2B"))
'((" " . "%20")
("\340" . "%E0") ; `a
("\342" . "%E2") ; ^a
("\347" . "%E7") ; ,c
("\350" . "%E8") ; `e
("\351" . "%E9") ; 'e
("\352" . "%EA") ; ^e
("\356" . "%EE") ; ^i
("\364" . "%F4") ; ^o
("\371" . "%F9") ; `u
("\373" . "%FB") ; ^u
(";" . "%3B")
("?" . "%3F")
("=" . "%3D")
("+" . "%2B")
)
"Association list of escapes for some characters problematic in links.")
(defun org-link-escape (text)
@ -11799,12 +11902,13 @@ sequences, it will now work."
(string= mh-index-folder (substring folder 0 end-index)))
(if (equal major-mode 'mh-show-mode)
(save-window-excursion
(when (buffer-live-p (get-buffer folder))
(progn
(pop-to-buffer folder)
(org-mhe-get-message-folder-from-index)
)
))
(let (pop-up-frames)
(when (buffer-live-p (get-buffer folder))
(progn
(pop-to-buffer folder)
(org-mhe-get-message-folder-from-index)
)
)))
(org-mhe-get-message-folder-from-index)
)
folder
@ -12090,9 +12194,11 @@ to be run from that hook to fucntion properly."
(erase-buffer)
(insert (substitute-command-keys
(format
"## `C-c C-c' to file interactively, `C-u C-c C-c' to file directly.
"## `%sC-c C-c' to file directly, `%sC-c C-c' to file interactively.
## Target file \"%s\", headline \"%s\"
## To switch templates, use `\\[org-remember]'.\n\n"
(if org-remember-store-without-prompt "" "C-u ")
(if org-remember-store-without-prompt "C-u " "")
(abbreviate-file-name (or file org-default-notes-file))
(or headline ""))))
(insert tpl) (goto-char (point-min))
@ -12569,6 +12675,8 @@ At all other locations, this simply calls `ispell-complete-word'."
If the last change removed the TODO tag or switched to DONE, then
this is nil.")
(defvar org-setting-tags nil) ; dynamically skiped
(defun org-todo (&optional arg)
"Change the TODO state of an item.
The state of an item is given by a keyword at the start of the heading,
@ -12683,11 +12791,13 @@ For calling through lisp, arg is also interpreted in the following way:
(org-add-log-maybe 'state state 'findpos))
((member state org-done-keywords)
;; Planning info calls the note-setting command.
(org-add-planning-info 'closed (org-current-time)
(if (org-get-repeat) nil 'scheduled))
;; FIXME: We used to remove scheduling info....
; (org-add-planning-info 'closed (org-current-time)
; (if (org-get-repeat) nil 'scheduled))
(org-add-planning-info 'closed (org-current-time))
(org-add-log-maybe 'done state 'findpos))))
;; Fixup tag positioning
(and org-auto-align-tags (org-set-tags nil t))
(and org-auto-align-tags (not org-setting-tags) (org-set-tags nil t))
(run-hooks 'org-after-todo-state-change-hook)
(and (member state org-done-keywords) (org-auto-repeat-maybe))
(if (and arg (not (member state org-done-keywords)))
@ -12869,8 +12979,7 @@ be removed."
(if (not (equal (char-before) ?\ )) " " "")
(cond ((eq what 'scheduled) org-scheduled-string)
((eq what 'deadline) org-deadline-string)
((eq what 'closed) org-closed-string)
((eq what 'archived) org-archived-string))
((eq what 'closed) org-closed-string))
" ")
(org-insert-time-stamp
time
@ -12906,17 +13015,22 @@ The auto-repeater uses this.")
"[^\r\n]*\\)?"))
(goto-char (match-end 0))
(unless org-log-states-order-reversed
(if (looking-at "\n[ \t]*- State") (forward-char 1))
(while (looking-at "[ \t]*- State")
(condition-case nil
(org-next-item)
(error (org-end-of-item))))
(and (= (char-after) ?\n) (forward-char 1))
(org-skip-over-state-notes)
(skip-chars-backward " \t\n\r")))
(move-marker org-log-note-marker (point))
(setq org-log-note-purpose purpose)
(setq org-log-note-state state)
(add-hook 'post-command-hook 'org-add-log-note 'append))))
(defun org-skip-over-state-notes ()
"Skip past the list of State notes in an entry."
(if (looking-at "\n[ \t]*- State") (forward-char 1))
(while (looking-at "[ \t]*- State")
(condition-case nil
(org-next-item)
(error (org-end-of-item)))))
(defun org-add-log-note (&optional purpose)
"Pop up a window for taking a note, and add this note later at point."
(remove-hook 'post-command-hook 'org-add-log-note)
@ -12925,7 +13039,7 @@ The auto-repeater uses this.")
(move-marker org-log-note-return-to (point))
(switch-to-buffer (marker-buffer org-log-note-marker))
(goto-char org-log-note-marker)
(switch-to-buffer-other-window "*Org Note*")
(org-switch-to-buffer-other-window "*Org Note*")
(erase-buffer)
(let ((org-inhibit-startup t)) (org-mode))
(insert (format "# Insert note for %s, finish with C-c C-c.\n\n"
@ -13407,6 +13521,8 @@ With prefix ARG, realign all tags in headings in the current buffer."
(interactive "P")
(let* ((re (concat "^" outline-regexp))
(current (org-get-tags))
(col (current-column))
(org-setting-tags t)
table current-tags inherited-tags ; computed below when needed
tags p0 c0 c1 rpl)
(if arg
@ -13431,7 +13547,8 @@ With prefix ARG, realign all tags in headings in the current buffer."
(if (or (eq t org-use-fast-tag-selection)
(and org-use-fast-tag-selection
(delq nil (mapcar 'cdr table))))
(org-fast-tag-selection current-tags inherited-tags table)
(org-fast-tag-selection current-tags inherited-tags
table org-todo-tag-alist)
(let ((org-add-colon-after-tag-completion t))
(org-trim
(completing-read "Tags: " 'org-tags-completion-function
@ -13463,7 +13580,8 @@ With prefix ARG, realign all tags in headings in the current buffer."
(replace-match rpl t t)
(and (not (featurep 'xemacs)) c0 (tabify p0 (point)))
tags)
(t (error "Tags alignment failed"))))))
(t (error "Tags alignment failed")))
(move-to-column col))))
(defun org-change-tag-in-region (beg end tag off)
"Add or remove TAG for each entry in the region.
@ -13555,17 +13673,19 @@ This works in the agenda, and also in an org-mode buffer."
(put-text-property 0 (length s) 'face '(secondary-selection org-tag) s)
(org-overlay-display org-tags-overlay (concat prefix s)))))
(defun org-fast-tag-selection (current inherited table)
(defun org-fast-tag-selection (current inherited table &optional todo-table)
"Fast tag selection with single keys.
CURRENT is the current list of tags in the headline, INHERITED is the
list of inherited tags, and TABLE is an alist of tags and corresponding keys,
possibly with grouping information.
possibly with grouping information. TODO-TABLE is a similar table with
TODO keywords, should these have keys assigned to them.
If the keys are nil, a-z are automatically assigned.
Returns the new tags string, or nil to not change the current settings."
(let* ((maxlen (apply 'max (mapcar
(let* ((fulltable (append table todo-table))
(maxlen (apply 'max (mapcar
(lambda (x)
(if (stringp (car x)) (string-width (car x)) 0))
table)))
fulltable)))
(buf (current-buffer))
(expert (eq org-fast-tag-selection-single-key 'expert))
(buffer-tags nil)
@ -13599,13 +13719,13 @@ Returns the new tags string, or nil to not change the current settings."
(set-buffer (get-buffer-create " *Org tags*"))
(delete-other-windows)
(split-window-vertically)
(switch-to-buffer-other-window (get-buffer-create " *Org tags*")))
(org-switch-to-buffer-other-window (get-buffer-create " *Org tags*")))
(erase-buffer)
(org-fast-tag-insert "Inherited" inherited i-face "\n")
(org-fast-tag-insert "Current" current c-face "\n\n")
(org-fast-tag-show-exit exit-after-next)
(org-set-current-tags-overlay current ov-prefix)
(setq tbl table char ?a cnt 0)
(setq tbl fulltable char ?a cnt 0)
(while (setq e (pop tbl))
(cond
((equal e '(:startgroup))
@ -13669,7 +13789,7 @@ Returns the new tags string, or nil to not change the current settings."
(setq expert nil)
(delete-other-windows)
(split-window-vertically)
(switch-to-buffer-other-window " *Org tags*")
(org-switch-to-buffer-other-window " *Org tags*")
(and (fboundp 'fit-window-to-buffer)
(fit-window-to-buffer))))
((or (= c ?\C-g)
@ -13693,6 +13813,10 @@ Returns the new tags string, or nil to not change the current settings."
(setq current (delete tg current))
(push tg current)))
(if exit-after-next (setq exit-after-next 'now)))
((setq e (rassoc c todo-table) tg (car e))
(with-current-buffer buf
(save-excursion (org-todo tg)))
(if exit-after-next (setq exit-after-next 'now)))
((setq e (rassoc c ntable) tg (car e))
(if (member tg current)
(setq current (delete tg current))
@ -14034,6 +14158,9 @@ If the property is not present at all, nil is returned."
(while (re-search-forward re end t))
(setq hiddenp (org-invisible-p))
(end-of-line 1)
(and (= (char-after) ?\n) (forward-char 1))
(org-skip-over-state-notes)
(end-of-line 0)
(insert "\n:PROPERTIES:\n:END:")
(beginning-of-line 0)
(org-indent-line-function)
@ -16535,7 +16662,7 @@ next use of \\[org-agenda]) restricted to the current file."
(setq org-agenda-last-dispatch-buffer (current-buffer))
(save-window-excursion
(delete-other-windows)
(switch-to-buffer-other-window " *Agenda Commands*")
(org-switch-to-buffer-other-window " *Agenda Commands*")
(erase-buffer)
(insert (eval-when-compile
(let ((header
@ -16837,6 +16964,7 @@ agenda-day The day in the agenda where this is listed"
(defmacro org-batch-store-agenda-views (&rest parameters)
"Run all custom agenda commands that have a file argument."
(let ((cmds org-agenda-custom-commands)
(pop-up-frames nil)
(dir default-directory)
pars cmd thiscmdkey files opts)
(while parameters
@ -16927,11 +17055,19 @@ higher priority settings."
"Get the list of agenda files.
Optional UNRESTRICTED means return the full list even if a restriction
is currently in place."
(cond
((and (not unrestricted) (get 'org-agenda-files 'org-restrict)))
((stringp org-agenda-files) (org-read-agenda-file-list))
((listp org-agenda-files) org-agenda-files)
(t (error "Invalid value of `org-agenda-files'"))))
(let ((files
(cond
((and (not unrestricted) (get 'org-agenda-files 'org-restrict)))
((stringp org-agenda-files) (org-read-agenda-file-list))
((listp org-agenda-files) org-agenda-files)
(t (error "Invalid value of `org-agenda-files'")))))
(if org-agenda-skip-unavailable-files
(delq nil
(mapcar (function
(lambda (file)
(and (file-readable-p file) file)))
files))
files))) ; `org-check-agenda-file' will remove them from the list
(defun org-edit-agenda-file-list ()
"Edit the list of agenda files.
@ -17001,7 +17137,8 @@ If the file is not present in the list, it is added to the front. If it is
present, it is moved there. With optional argument TO-END, add/move to the
end of the list."
(interactive "P")
(let ((file-alist (mapcar (lambda (x)
(let ((org-agenda-skip-unavailable-files nil)
(file-alist (mapcar (lambda (x)
(cons (file-truename x) x))
(org-agenda-files t)))
(ctf (file-truename buffer-file-name))
@ -17022,7 +17159,8 @@ end of the list."
These are the files which are being checked for agenda entries.
Optional argument FILE means, use this file instead of the current."
(interactive)
(let* ((file (or file buffer-file-name))
(let* ((org-agenda-skip-unavailable-files nil)
(file (or file buffer-file-name))
(true-file (file-truename file))
(afile (abbreviate-file-name file))
(files (delq nil (mapcar
@ -17084,12 +17222,12 @@ Optional argument FILE means, use this file instead of the current."
((equal org-agenda-window-setup 'current-window)
(switch-to-buffer abuf))
((equal org-agenda-window-setup 'other-window)
(switch-to-buffer-other-window abuf))
(org-switch-to-buffer-other-window abuf))
((equal org-agenda-window-setup 'other-frame)
(switch-to-buffer-other-frame abuf))
((equal org-agenda-window-setup 'reorganize-frame)
(delete-other-windows)
(switch-to-buffer-other-window abuf))))
(org-switch-to-buffer-other-window abuf))))
(setq buffer-read-only nil)
(erase-buffer)
(org-agenda-mode)
@ -17297,7 +17435,7 @@ dates."
s e rtn d emptyp)
(setq org-agenda-redo-command
(list 'progn
(list 'switch-to-buffer-other-window (current-buffer))
(list 'org-switch-to-buffer-other-window (current-buffer))
(list 'org-timeline (list 'quote include-all))))
(if (not dopast)
;; Remove past dates from the list of dates.
@ -17812,6 +17950,7 @@ MATCH is being ignored."
"Get the (Emacs Calendar) diary entries for DATE."
(let* ((fancy-diary-buffer "*temporary-fancy-diary-buffer*")
(diary-display-hook '(fancy-diary-display))
(pop-up-frames nil)
(list-diary-entries-hook
(cons 'org-diary-default-entry list-diary-entries-hook))
(diary-file-name-prefix-function nil) ; turn this feature off
@ -18082,7 +18221,7 @@ the documentation of `org-diary'."
(and org-agenda-todo-ignore-deadlines (goto-char beg)
(re-search-forward org-deadline-time-regexp end t)
(org-deadline-close (match-string 1))))
(goto-char beg)
(goto-char (1+ beg))
(or org-agenda-todo-list-sublevels (org-end-of-subtree 'invisible))
(throw :skip nil)))
(goto-char beg)
@ -18323,7 +18462,7 @@ the documentation of `org-diary'."
(if (string-match " \\([012]?[0-9]:[0-9][0-9]\\)" s)
(setq timestr
(concat (substring s (match-beginning 1)) " "))
(setq timestr nil))
(setq timestr 'time))
(if (and donep
(or org-agenda-skip-deadline-if-done
(not (= diff 0))))
@ -18399,7 +18538,7 @@ FRACTION is what fraction of the head-warning time has passed."
(if (string-match " \\([012]?[0-9]:[0-9][0-9]\\)" s)
(setq timestr
(concat (substring s (match-beginning 1)) " "))
(setq timestr nil))
(setq timestr 'time))
(if (and donep
(or org-agenda-skip-scheduled-if-done
(not (= diff 0))))
@ -18724,16 +18863,18 @@ HH:MM."
(if (eq x 'line)
(save-excursion
(beginning-of-line 1)
(setq re (get-text-property (point) 'org-not-done-regexp))
(setq re (get-text-property (point) 'org-todo-regexp))
(goto-char (+ (point) (or (get-text-property (point) 'prefix-length) 0)))
(and (looking-at (concat "[ \t]*\\.*" re))
(add-text-properties (match-beginning 0) (match-end 0)
'(face org-todo))))
(setq re (concat (get-text-property 0 'org-not-done-regexp x))
(list 'face (org-get-todo-face 0)))))
(setq re (concat (get-text-property 0 'org-todo-regexp x))
pl (get-text-property 0 'prefix-length x))
(and re (equal (string-match (concat "\\(\\.*\\)" re) x (or pl 0)) pl)
(add-text-properties (or (match-end 1) (match-end 0)) (match-end 0)
'(face org-todo) x))
(add-text-properties
(or (match-end 1) (match-end 0)) (match-end 0)
(list 'face (org-get-todo-face (match-string 2 x)))
x))
x)))
(defsubst org-cmp-priority (a b)
@ -19420,7 +19561,7 @@ POS defaults to point. If tags are inherited, the list contains
the targets in the same sequence as the headlines appear, i.e.
the tags of the current headline come last."
(interactive)
(let (tags)
(let (tags lastpos)
(save-excursion
(save-restriction
(widen)
@ -19428,7 +19569,8 @@ the tags of the current headline come last."
(save-match-data
(org-back-to-heading t)
(condition-case nil
(while t
(while (not (equal lastpos (point)))
(setq lastpos (point))
(if (looking-at (org-re "[^\r\n]+?:\\([[:alnum:]_@:]+\\):[ \t]*$"))
(setq tags (append (org-split-string
(org-match-string-no-properties 1) ":")
@ -19761,6 +19903,7 @@ This is a command that has to be installed in `calendar-mode-map'."
"Hebrew: " (calendar-hebrew-date-string date) " (until sunset)\n"
"Islamic: " (calendar-islamic-date-string date) " (until sunset)\n"
"French: " (calendar-french-date-string date) "\n"
"Bahai: " (calendar-bahai-date-string date) " (until sunset)\n"
"Mayan: " (calendar-mayan-date-string date) "\n"
"Coptic: " (calendar-coptic-date-string date) "\n"
"Ethiopic: " (calendar-ethiopic-date-string date) "\n"
@ -21201,6 +21344,12 @@ command."
(file buffer-file-name)
(buffer (get-buffer-create "*Org Export Visible*"))
s e)
;; Need to hack the drawers here.
(save-excursion
(goto-char (point-min))
(while (re-search-forward org-drawer-regexp nil t)
(goto-char (match-beginning 1))
(or (org-invisible-p) (org-flag-drawer nil))))
(with-current-buffer buffer (erase-buffer))
(save-excursion
(setq s (goto-char (point-min)))
@ -21208,6 +21357,7 @@ command."
(goto-char (org-find-invisible))
(append-to-buffer buffer s (point))
(setq s (goto-char (org-find-visible))))
(org-cycle-hide-drawers 'all)
(goto-char (point-min))
(unless keepp
;; Copy all comment lines to the end, to make sure #+ settings are
@ -21384,7 +21534,7 @@ This can be used in any buffer. For example, you could write an
itemized list in org-mode syntax in an HTML buffer and then use this
command to convert it."
(interactive "r")
(let (reg html buf)
(let (reg html buf pop-up-frames)
(save-window-excursion
(if (org-mode-p)
(setq html (org-export-region-as-html
@ -23884,6 +24034,13 @@ return nil."
(list context (match-beginning group) (match-end group))
t)))
(defun org-switch-to-buffer-other-window (&rest args)
"Switch to buffer in a second window on the current frame.
In particular, do not allow pop-up frames."
(let (pop-up-frames special-display-buffer-names special-display-regexps
special-display-function)
(apply 'switch-to-buffer-other-window args)))
(defun org-combine-plists (&rest plists)
"Create a single property list from all plists in PLISTS.
The process starts by copying the first list, and then setting properties

BIN
org.pdf

Binary file not shown.

View File

@ -3,7 +3,7 @@
@setfilename ../info/org
@settitle Org Mode Manual
@set VERSION 5.06
@set VERSION 5.07
@set DATE August 2007
@dircategory Emacs
@ -498,8 +498,8 @@ define @emph{global} keys for the commands @command{org-store-link} and
@lisp
;; The following lines are always needed. Choose your own keys.
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
@end lisp
Furthermore, you must activate @code{font-lock-mode} in org-mode
@ -848,9 +848,9 @@ Sort same-level entries. When there is an active region, all entries in
the region will be sorted. Otherwise the children of the current
headline are sorted. The command prompts for the sorting method, which
can be alphabetically, numerically, by time (using the first time stamp
in each entry), and each of these in reverse order. With a @kbd{C-u}
prefix, sorting will be case-sensitive. With two @kbd{C-u C-u}
prefixes, duplicate entries will also be removed.
in each entry), by priority, and each of these in reverse order. With a
@kbd{C-u} prefix, sorting will be case-sensitive. With two @kbd{C-u
C-u} prefixes, duplicate entries will also be removed.
@end table
@cindex region, active
@ -938,7 +938,9 @@ file, the archive file.
@kindex C-c C-x C-s
@item C-c C-x C-s
Archive the subtree starting at the cursor position to the location
given by @code{org-archive-location}.
given by @code{org-archive-location}. Context information that could be
lost like the file name, the category, inherited tags, and the todo
state will be store as properties in the entry.
@kindex C-u C-c C-x C-s
@item C-u C-c C-x C-s
Check if any direct children of the current headline could be moved to
@ -994,9 +996,9 @@ match is in the body of an entry, headline and body are made visible.
In order to provide minimal context, also the full hierarchy of
headlines above the match is shown, as well as the headline following
the match. Each match is also highlighted; the highlights disappear
when the buffer is changed an editing command, or by pressing @kbd{C-c
C-c}. When called with a @kbd{C-u} prefix argument, previous highlights
are kept, so several calls to this command can be stacked.
when the buffer is changed by an editing command, or by pressing
@kbd{C-c C-c}. When called with a @kbd{C-u} prefix argument, previous
highlights are kept, so several calls to this command can be stacked.
@end table
@noindent
For frequently used sparse trees of specific search strings, you can
@ -1969,7 +1971,9 @@ Recompute the entire table, line by line. Any lines before the first
hline are left alone, assuming that these are part of the table header.
@c
@kindex C-u C-u C-c *
@kindex C-u C-u C-c C-c
@item C-u C-u C-c *
@itemx C-u C-u C-c C-c
Iterate the table by recomputing it until no further changes occur.
This may be necessary if some computed fields use the value of other
fields that are computed @i{later} in the calculation sequence.
@ -2757,7 +2761,17 @@ agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}).
@item S-@key{right}
@itemx S-@key{left}
Select the following/preceding TODO state, similar to cycling. Mostly
useful if more than two TODO states are possible (@pxref{TODO extensions}).
useful if more than two TODO states are possible (@pxref{TODO
extensions}).
@kindex C-c C-c
@item C-c C-c
Use the fast tag interface to quickly and directly select a specific
TODO state. For this you need to assign keys to TODO state, like this:
@example
#+SEQ_TODO: TODO(t) STARTED(s) WAITING(w) | DONE(d)
@end example
@noindent See @ref{Per file keywords} and @ref{Setting tags} for more
information.
@kindex C-c C-v
@cindex sparse tree, for TODO
@item C-c C-v
@ -2775,9 +2789,6 @@ agenda files (@pxref{Agenda views}) into a single buffer. The buffer is in
@code{agenda-mode}, so there are commands to examine and manipulate
the TODO entries directly from that buffer (@pxref{Agenda commands}).
@xref{Global TODO list}, for more information.
@c @item @code{org-agenda-include-all-todo}
@c If you would like to have all your TODO items listed as part of your
@c agenda, customize the variable @code{org-agenda-include-all-todo}.
@kindex S-M-@key{RET}
@item S-M-@key{RET}
Insert a new TODO entry below the current one.
@ -2930,12 +2941,11 @@ or
A setup for using several sets in parallel would be:
@example
#+SEQ_TODO: "TODO" "|" "DONE"
#+SEQ_TODO: "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED"
#+SEQ_TODO: "|" "CANCELED"
#+SEQ_TODO: TODO | DONE
#+SEQ_TODO: REPORT BUG KNOWNCAUSE | FIXED
#+SEQ_TODO: | CANCELED
@end example
@cindex completion, of option keywords
@kindex M-@key{TAB}
@noindent To make sure you are using the correct keyword, type

Binary file not shown.

View File

@ -1,5 +1,5 @@
% Reference Card for Org Mode
\def\orgversionnumber{5.05}
\def\orgversionnumber{5.07}
\def\versionyear{2007} % latest update
\def\year{2007} % latest copyright year
@ -652,7 +652,7 @@ To set categories, add lines like$^2$:
\key{kill item and source}{C-k}
\key{archive the subtree}{\$}
\key{show tags of current headline}{T}
\key{set tags for current headline}{:}
\key{set tags for current headline/region}{:}
\key{toggle ARCHIVE tag}{a}
\key{set priority of current item}{p}
\key{raise/lower priority of current item}{S-UP/DOWN$^3$}