summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Dominik <dominik@nb-dominik2.science.uva.nl>2008-01-31 11:36:08 +0100
committerCarsten Dominik <dominik@nb-dominik2.science.uva.nl>2008-01-31 11:36:08 +0100
commit05df3bb8a1a5dd5c8b1387d0dd05d34344e396cc (patch)
treedfe5e348bf0bc76bbb8e8efbc145601c6c5f341f
parentf0c766122d6b6c81a34020734f24388c0db3f08d (diff)
downloadorg-mode-05df3bb8a1a5dd5c8b1387d0dd05d34344e396cc.tar.gz
Release 5.07release_5.07
-rw-r--r--Makefile12
-rw-r--r--org704
-rw-r--r--org-export-latex.el98
-rw-r--r--org.el389
-rw-r--r--org.pdfbin792662 -> 794141 bytes
-rw-r--r--org.texi46
-rw-r--r--orgcard.pdfbin58798 -> 58913 bytes
-rw-r--r--orgcard.tex4
8 files changed, 710 insertions, 543 deletions
diff --git a/Makefile b/Makefile
index 49046f0..1e1ad37 100644
--- a/Makefile
+++ b/Makefile
@@ -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)
diff --git a/org b/org
index 84b45a5..bd6f5f7 100644
--- a/org
+++ b/org
@@ -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
diff --git a/org-export-latex.el b/org-export-latex.el
index 04e167c..52e502a 100644
--- a/org-export-latex.el
+++ b/org-export-latex.el
@@ -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))
diff --git a/org.el b/org.el
index 160a3f6..9887475 100644
--- a/org.el
+++ b/org.el
@@ -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
diff --git a/org.pdf b/org.pdf
index 26758f8..57fef5c 100644
--- a/org.pdf
+++ b/org.pdf
Binary files differ
diff --git a/org.texi b/org.texi
index 68faabb..f3b1351 100644
--- a/org.texi
+++ b/org.texi
@@ -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
diff --git a/orgcard.pdf b/orgcard.pdf
index f402b0d..251b965 100644
--- a/orgcard.pdf
+++ b/orgcard.pdf
Binary files differ
diff --git a/orgcard.tex b/orgcard.tex
index b39aa62..12f72b1 100644
--- a/orgcard.tex
+++ b/orgcard.tex
@@ -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$}