diff --git a/ChangeLog b/ChangeLog index 5840b127e..70789a7e1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2008-01-06 Carsten Dominik + + * org-publish.el (org-publish-current-project): Fix bug with + forcing publication. + +2008-01-04 Carsten Dominik + + * org.el (org-table-sort-lines): Make sure sorting works on link + descritions only, and ignores the link. + +2008-01-03 Carsten Dominik + + * org.el (org-sort-entries-or-items): Make sure the end of the + subtree is included. + (org-refile-use-outline-path): New allowed values `file' and + `full-file-path'. + (org-get-refile-targets): Respect new values for + `org-refile-use-outline-path'. + (org-agenda-get-restriction-and-command): DEL goes back to initial + list. + (org-export-as-xoxo): Restore point when done. + (org-open-file): Allow multiple %s in command. + (org-clock-in-switch-to-state): New option. + 2007-12-17 Carsten Dominik * org.el (org-first-list-item-p): New function. diff --git a/Makefile b/Makefile index 8b4a5bf76..950e28178 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,12 @@ infodir = $(prefix)/info # Using emacs in batch mode. # BATCH=$(EMACS) -batch -q -BATCH=$(EMACS) -batch -q -eval "(add-to-list (quote load-path) \".\")" +# BATCH=$(EMACS) -batch -q -eval "(add-to-list (quote load-path) \".\")" + +BATCH=$(EMACS) -batch -q -eval \ + "(progn (add-to-list (quote load-path) \".\") \ + (add-to-list (quote load-path) \"$(lispdir)\"))" + # Specify the byte-compiler for compiling org-mode files ELC= $(BATCH) -f batch-byte-compile diff --git a/org b/org index 4d3b9b255..0a4b5dc19 100644 --- a/org +++ b/org @@ -5,9 +5,9 @@ START-INFO-DIR-ENTRY * Org Mode: (org). Outline-based notes management and organizer END-INFO-DIR-ENTRY - This manual is for Org-mode (version 5.17). + This manual is for Org-mode (version 5.18). - Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation + Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -27,9 +27,9 @@ File: org, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) Org Mode Manual *************** -This manual is for Org-mode (version 5.17). +This manual is for Org-mode (version 5.18). - Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation + Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -357,7 +357,7 @@ agenda that utilizes and smoothly integrates much of the Emacs calendar and diary. Plain text URL-like links connect to websites, emails, Usenet messages, BBDB entries, and any files related to the projects. For printing and sharing of notes, an Org-mode file can be exported as a -structured ASCII file, as HTML, or (todo and agenda items only) as an +structured ASCII file, as HTML, or (TODO and agenda items only) as an iCalendar file. It can also serve as a publishing tool for a set of linked webpages. @@ -1311,11 +1311,7 @@ Miscellaneous Edit the current field in a separate window. This is useful for fields that are not fully visible (*note Narrow columns::). When called with a `C-u' prefix, just make the full field visible, so - that it can be edited in place. - -`C-c ' - This is an alias for `C-u C-c `' to make the current field fully - visible. + that it can be edited in place. `M-x org-table-import' Import a file as a table. The table should be TAB- or whitespace @@ -1555,8 +1551,8 @@ line like #+CONSTANTS: c=299792458. pi=3.14 eps=2.4e-6 Also properties (*note Properties and columns::) can be used as -constants in table formulas: For a property `:XYZ:' use the name -`$PROP_XYZ', and the property will be searched in the current outline +constants in table formulas: For a property `:Xyz:' use the name +`$PROP_Xyz', and the property will be searched in the current outline entry and in the hierarchy above it. If you have the `constants.el' package, it will also be used to resolve constants, including natural constants like `$h' for Planck's constant, and units like `$km' for @@ -2428,7 +2424,7 @@ The most important commands to work with TODO entries are: the entire buffer, but shows all TODO items and the headings hierarchy above them. With prefix arg, search for a specific TODO. You will be prompted for the keyword, and you can also give - a list of keywords like `kwd1|kwd2|...'. With numerical prefix N, + a list of keywords like `KWD1|KWD2|...'. With numerical prefix N, show the tree for the Nth keyword in the variable `org-todo-keywords'. With two prefix args, find all TODO and DONE entries. @@ -2689,8 +2685,9 @@ the timestamp, use(2) ---------- Footnotes ---------- (1) The corresponding in-buffer setting is: `#+STARTUP: logdone'. -You may also set this for the scope of a subtree by adding a `LOGGING' -property with one or more of the logging keywords in the value. +You may also set this for the scope of a subtree by adding a +`:LOGGING:' property with one or more of the logging keywords in the +value. (2) The corresponding in-buffer setting is: `#+STARTUP: lognotedone' @@ -3070,7 +3067,7 @@ operator `&' is optional when `+' or `-' is present. Examples: `work|laptop&night' Like before, but require the `:laptop:' lines to be tagged also - `night'. + `:night:'. If you are using multi-state TODO keywords (*note TODO extensions::), it can be useful to also match on the TODO keyword. @@ -3097,8 +3094,8 @@ Examples: Any element of the tag/todo match can be a regular expression - in this case it must be enclosed in curly braces. For example, -`work+{^boss.*}' matches headlines that contain the tag `work' and any -tag starting with `boss'. +`work+{^boss.*}' matches headlines that contain the tag `:work:' and +any tag starting with `boss'. You can also require a headline to be of a certain level or category, by writing instead of any TAG an expression like `LEVEL=3' or @@ -3119,8 +3116,8 @@ implement (very basic) database capabilities in an Org-mode buffer. For an example of the first application, imagine maintaining a file where you document bugs and plan releases of a piece of software. Instead of using tags like `:release_1:', `:release_2:', one can use a property, -say `Release', that in different subtrees has different values, such as -`1.0' or `2.0'. For an example of the second application of +say `:Release:', that in different subtrees has different values, such +as `1.0' or `2.0'. For an example of the second application of properties, imagine keeping track of one's music CD's, where properties could be things such as the album artist, date of release, number of tracks, and so on. @@ -3128,14 +3125,14 @@ tracks, and so on. Properties can be conveiently edited and viewed in column view (*note Column view::). - are like tags, but with a value. For example, in a file where you -document bugs and plan releases of a piece of software, instead of using -tags like `:release_1:', `:release_2:', it can be more efficient to use -a property `Release' with a value `1.0' or `2.0'. Second, you can use -properties to implement (very basic) database capabilities in an -Org-mode buffer, for example to create a list of Music CD's you own. -You can edit and view properties conveniently in column view (*note -Column view::). + Properties are like tags, but with a value. For example, in a file +where you document bugs and plan releases of a piece of software, +instead of using tags like `:release_1:', `:release_2:', it can be more +efficient to use a property `:Release:' with a value `1.0' or `2.0'. +Second, you can use properties to implement (very basic) database +capabilities in an Org-mode buffer, for example to create a list of +Music CD's you own. You can edit and view properties conveniently in +column view (*note Column view::). * Menu: @@ -3168,13 +3165,13 @@ and the value after it. Here is an example: :NDisks: 1 :END: - You may define the allowed values for a particular property `Xyz' by -setting a property `Xyz_ALL'. This special property is _inherited_, so -if you set it in a level 1 entry, it will apply to the entire tree. -When allowed values are defined, setting the corresponding property -becomes easier and is less prone to typing errors. For the example -with the CD collection, we can predefine publishers and the number of -disks in a box like this: + You may define the allowed values for a particular property `:Xyz:' +by setting a property `:Xyz_ALL:'. This special property is +_inherited_, so if you set it in a level 1 entry, it will apply to the +entire tree. When allowed values are defined, setting the +corresponding property becomes easier and is less prone to typing +errors. For the example with the CD collection, we can predefine +publishers and the number of disks in a box like this: * CD collection :PROPERTIES: @@ -3300,18 +3297,18 @@ should be inherited. least for the special applications for which they are used: `COLUMNS' - The column property defines the format of column view (*note + The `:COLUMNS:' property defines the format of column view (*note Column view::). It is inherited in the sense that the level where - a `COLUMNS' property is defined is used as the starting point for a - column view table, independently of the location in the subtree - from where columns view is turned on. + a `:COLUMNS:' property is defined is used as the starting point + for a column view table, independently of the location in the + subtree from where columns view is turned on. `CATEGORY' - For agenda view, a category set through a `CATEGORY' property + For agenda view, a category set through a `:CATEGORY:' property applies to the entire subtree. `ARCHIVE' - For archiving, the `ARCHIVE' property may define the archive + For archiving, the `:ARCHIVE:' property may define the archive location for the entire subtree (*note Moving subtrees::).  @@ -3365,13 +3362,14 @@ To define a column format for an entire file, use a line like #+COLUMNS: %25ITEM %TAGS %PRIORITY %TODO To specify a format that only applies to a specific tree, add a -COLUMNS property to the top node of that tree, for example +`:COLUMNS:' property to the top node of that tree, for example: + ** Top node for columns view :PROPERTIES: :COLUMNS: %25ITEM %TAGS %PRIORITY %TODO :END: - If a `COLUMNS' property is present in an entry, it defines columns + If a `:COLUMNS:' property is present in an entry, it defines columns for the entry itself, and for the entire subtree below it. Since the column definition is part of the hierarchical structure of the document, you can define columns on level 1 that are general enough for all @@ -3438,11 +3436,11 @@ Turning column view on and off `C-c C-x C-c' Create the column view for the local environment. This command - searches the hierarchy, up from point, for a `COLUMNS' property + searches the hierarchy, up from point, for a `:COLUMNS:' property that defines a format. When one is found, the column view table is established for the entire tree, starting from the entry that - contains the `COLUMNS' property. If none is found, the format is - taken from the `#+COLUMNS' line or from the variable + contains the `:COLUMNS:' property. If none is found, the format + is taken from the `#+COLUMNS' line or from the variable `org-columns-default-format', and column view is established for the current entry and its subtree. @@ -5092,14 +5090,14 @@ types: (setq org-agenda-custom-commands '(("w" todo "WAITING") ("W" todo-tree "WAITING") - ("u" tags "+BOSS-URGENT") - ("v" tags-todo "+BOSS-URGENT") - ("U" tags-tree "+BOSS-URGENT") + ("u" tags "+boss-urgent") + ("v" tags-todo "+boss-urgent") + ("U" tags-tree "+boss-urgent") ("f" occur-tree "\\") ("h" . "HOME+Name tags searches") ; description for "h" prefix - ("hl" tags "+HOME+Lisa") - ("hp" tags "+HOME+Peter") - ("hk" tags "+HOME+Kim"))) + ("hl" tags "+home+Lisa") + ("hp" tags "+home+Peter") + ("hk" tags "+home+Kim"))) The initial string in each entry defines the keys you have to press after the dispatcher command `C-c a' in order to access the command. @@ -5119,8 +5117,8 @@ example above will therefore define: the results as a sparse tree `C-c a u' - as a global tags search for headlines marked `:BOSS:' but not - `:URGENT:' + as a global tags search for headlines marked `:boss:' but not + `:urgent:' `C-c a v' as the same search as `C-c a u', but limiting the search to @@ -5161,17 +5159,17 @@ examples: (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda) - (tags-todo "HOME") - (tags "GARDEN"))) + (tags-todo "home") + (tags "garden"))) ("o" "Agenda and Office-related tasks" ((agenda) - (tags-todo "WORK") - (tags "OFFICE"))))) + (tags-todo "work") + (tags "office"))))) This will define `C-c a h' to create a multi-block view for stuff you need to attend to at home. The resulting agenda buffer will contain your agenda for the current week, all TODO items that carry the tag -`HOME', and also all lines tagged with `GARDEN'. Finally the command +`home', and also all lines tagged with `garden'. Finally the command `C-c a o' provides a similar view for office tasks.  @@ -5191,12 +5189,12 @@ right spot in `org-agenda-custom-commands'. For example: '(("w" todo "WAITING" ((org-agenda-sorting-strategy '(priority-down)) (org-agenda-prefix-format " Mixed: "))) - ("U" tags-tree "+BOSS-URGENT" + ("U" tags-tree "+boss-urgent" ((org-show-following-heading nil) (org-show-hierarchy-above nil))))) Now the `C-c a w' command will sort the collected entries only by -priority, and the prefix format is modified to just say ` Mixed:' +priority, and the prefix format is modified to just say ` Mixed: ' instead of giving the category of the entry. The sparse tags tree of `C-c a U' will now turn out ultra-compact, because neither the headline hierarchy above the match, nor the headline following the match will be @@ -5216,14 +5214,14 @@ This would look like this: (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda) - (tags-todo "HOME") - (tags "GARDEN" + (tags-todo "home") + (tags "garden" ((org-agenda-sorting-strategy '(priority-up))))) ((org-agenda-sorting-strategy '(priority-down)))) ("o" "Agenda and Office-related tasks" ((agenda) - (tags-todo "WORK") - (tags "OFFICE"))))) + (tags-todo "work") + (tags "office"))))) As you see, the values and parenthesis setting is a little complex. When in doubt, use the customize interface to set this variable - it @@ -5268,14 +5266,14 @@ current working directory, or absolute. ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps")) ("h" "Agenda and Home-related tasks" ((agenda) - (tags-todo "HOME") - (tags "GARDEN")) + (tags-todo "home") + (tags "garden")) nil ("~/views/home.html")) ("o" "Agenda and Office-related tasks" ((agenda) - (tags-todo "WORK") - (tags "OFFICE")) + (tags-todo "work") + (tags "office")) nil ("~/views/office.ps")))) @@ -5685,8 +5683,8 @@ file. warning. If there is an active region, only the region will be exported. If the selected region is a single tree, the tree head will become the document title. If the tree head entry has or - inherits an EXPORT_FILE_NAME property, that name will be used for - the export. + inherits an `:EXPORT_FILE_NAME:' property, that name will be used + for the export. `C-c C-e v a' Export only the visible part of the document. @@ -5737,8 +5735,8 @@ File: org, Node: HTML Export commands, Next: Quoting HTML tags, Prev: HTML ex overwritten without warning. If there is an active region, only the region will be exported. If the selected region is a single tree, the tree head will become the document title. If the tree - head entry has or inherits an EXPORT_FILE_NAME property, that name - will be used for the export. + head entry has or inherits an `:EXPORT_FILE_NAME:' property, that + name will be used for the export. `C-c C-e b' Export as HTML file and immediately open it with a browser. @@ -6301,11 +6299,11 @@ one variable, called `org-publish-project-alist'. Each element of the list configures one project, and may be in one of the two following forms: - ("project-name" :property value :property value ...) + ("project-name" :property value :property value ...) or - ("project-name" :components ("project-name" "project-name" ...)) + ("project-name" :components ("project-name" "project-name" ...)) In both cases, projects are configured by specifying property values. A project defines the set of files that will be published, as well as @@ -6692,7 +6690,7 @@ file is visited again in a new Emacs session. `#+COLUMNS: %25ITEM .....' Set the default format for columns view. This format applies when - columns view is invoked in location where no COLUMNS property + columns view is invoked in location where no `COLUMNS' property applies. `#+CONSTANTS: name1=value1 ...' @@ -7663,7 +7661,7 @@ search should continue from there. (defun my-skip-unless-waiting () "Skip trees that are not waiting" (let ((subtree-end (save-excursion (org-end-of-subtree t)))) - (if (re-search-forward ":WAITING:" subtree-end t) + (if (re-search-forward ":waiting:" subtree-end t) nil ; tag found, do not skip subtree-end))) ; tag not found, continue after end of subtree @@ -7709,7 +7707,7 @@ like this, even without defining a special function: (org-add-agenda-custom-command '("b" todo "PROJECT" ((org-agenda-skip-function '(org-agenda-skip-subtree-if - 'regexp ":WAITING:")) + 'regexp ":waiting:")) (org-agenda-overriding-header "Projects waiting for something: "))))  @@ -8453,32 +8451,33 @@ Key Index * -: Agenda commands. (line 151) * .: Agenda commands. (line 99) * :: Agenda commands. (line 130) -* < <1>: The date/time prompt. +* < <1>: Agenda files. (line 55) +* < <2>: The date/time prompt. (line 59) -* < <2>: Agenda files. (line 51) -* <: Using column view. (line 57) +* < <3>: Using column view. (line 57) +* <: Agenda files. (line 51) * : Agenda commands. (line 96) -* <1>: Setting tags. (line 76) +* <1>: Agenda commands. (line 39) * <2>: Built-in table editor. (line 64) * <3>: The date/time prompt. (line 59) -* : Agenda commands. (line 39) +* : Setting tags. (line 76) * : Agenda commands. (line 91) * <1>: Setting tags. (line 73) * : Agenda commands. (line 28) -* <1>: Editing and debugging formulas. +* <1>: Visibility cycling. (line 10) +* <2>: Agenda commands. (line 33) +* <3>: Editing and debugging formulas. (line 57) -* <2>: Visibility cycling. (line 10) -* <3>: Plain lists. (line 42) -* <4>: Agenda commands. (line 33) -* <5>: Setting tags. (line 68) -* <6>: Built-in table editor. +* <4>: Built-in table editor. (line 57) -* : CDLaTeX mode. (line 23) -* > <1>: Agenda commands. (line 173) -* > <2>: The date/time prompt. +* <5>: Plain lists. (line 42) +* <6>: CDLaTeX mode. (line 23) +* : Setting tags. (line 68) +* > <1>: The date/time prompt. (line 59) +* > <2>: Agenda commands. (line 173) * >: Using column view. (line 57) * ^: CDLaTeX mode. (line 33) * _: CDLaTeX mode. (line 33) @@ -8486,15 +8485,15 @@ Key Index * a <1>: Using column view. (line 46) * a: Agenda commands. (line 134) * b: Agenda commands. (line 49) -* c: Agenda commands. (line 196) * C: Agenda commands. (line 216) +* c: Agenda commands. (line 196) * C-#: Advanced features. (line 9) * C-': Agenda files. (line 21) * C-,: Agenda files. (line 21) * C-: Structure editing. (line 18) * C-_: Agenda commands. (line 108) -* C-c ! <1>: Creating timestamps. (line 19) -* C-c !: Footnotes. (line 14) +* C-c ! <1>: Footnotes. (line 14) +* C-c !: Creating timestamps. (line 19) * C-c #: Checkboxes. (line 60) * C-c %: Handling links. (line 82) * C-c &: Handling links. (line 86) @@ -8504,9 +8503,9 @@ Key Index * C-c +: Built-in table editor. (line 143) * C-c ,: Priorities. (line 21) -* C-c - <1>: Plain lists. (line 89) -* C-c -: Built-in table editor. +* C-c - <1>: Built-in table editor. (line 92) +* C-c -: Plain lists. (line 89) * C-c .: Creating timestamps. (line 10) * C-c /: Sparse trees. (line 15) * C-c / d: Inserting deadline/schedule. @@ -8515,12 +8514,10 @@ Key Index * C-c / r: Sparse trees. (line 17) * C-c / T: Tag searches. (line 9) * C-c / t: TODO basics. (line 37) -* C-c : <1>: Enhancing text. (line 34) -* C-c :: Quoted examples. (line 15) +* C-c : <1>: Quoted examples. (line 15) +* C-c :: Enhancing text. (line 34) * C-c ;: Comment lines. (line 10) * C-c <: Creating timestamps. (line 23) -* C-c : Built-in table editor. - (line 163) * C-c = <1>: Column formulas. (line 26) * C-c =: Editing and debugging formulas. (line 14) @@ -8530,9 +8527,9 @@ Key Index * C-c [: Agenda files. (line 15) * C-c \: Tag searches. (line 9) * C-c ]: Agenda files. (line 18) -* C-c ^ <1>: Built-in table editor. +* C-c ^ <1>: Structure editing. (line 61) +* C-c ^: Built-in table editor. (line 96) -* C-c ^: Structure editing. (line 61) * C-c `: Built-in table editor. (line 159) * C-c a !: Stuck projects. (line 14) @@ -8542,56 +8539,53 @@ Key Index * C-c a e: Exporting Agenda Views. (line 57) * C-c a L: Timeline. (line 10) +* C-c a m <1>: Matching tags and properties. + (line 10) * C-c a m: Tag searches. (line 13) * C-c a M <1>: Matching tags and properties. (line 15) * C-c a M: Tag searches. (line 17) -* C-c a m: Matching tags and properties. - (line 10) -* C-c a t <1>: Global TODO list. (line 9) -* C-c a t: TODO basics. (line 48) +* C-c a t <1>: TODO basics. (line 48) +* C-c a t: Global TODO list. (line 9) * C-c a T: Global TODO list. (line 14) * C-c C-a: Visibility cycling. (line 33) * C-c C-b: Motion. (line 15) -* C-c C-c <1>: Built-in table editor. - (line 56) -* C-c C-c <2>: Property syntax. (line 58) -* C-c C-c <3>: Plain lists. (line 82) -* C-c C-c <4>: Processing LaTeX fragments. - (line 15) -* C-c C-c <5>: Cooperation. (line 63) -* C-c C-c <6>: Checkboxes. (line 40) -* C-c C-c <7>: Cooperation. (line 54) -* C-c C-c <8>: The very busy C-c C-c key. +* C-c C-c <1>: Clocking work time. (line 89) +* C-c C-c <2>: Setting tags. (line 10) +* C-c C-c <3>: Cooperation. (line 54) +* C-c C-c <4>: The very busy C-c C-c key. (line 6) -* C-c C-c <9>: TODO basics. (line 30) -* C-c C-c <10>: Setting tags. (line 10) -* C-c C-c <11>: Editing and debugging formulas. - (line 46) -* C-c C-c <12>: Capturing Column View. +* C-c C-c <5>: Checkboxes. (line 40) +* C-c C-c <6>: Processing LaTeX fragments. + (line 15) +* C-c C-c <7>: Property syntax. (line 58) +* C-c C-c <8>: TODO basics. (line 30) +* C-c C-c <9>: Using column view. (line 39) +* C-c C-c <10>: Capturing Column View. (line 39) -* C-c C-c <13>: Clocking work time. (line 89) -* C-c C-c <14>: Using column view. (line 39) +* C-c C-c <11>: Plain lists. (line 82) +* C-c C-c <12>: Built-in table editor. + (line 56) * C-c C-c: Editing and debugging formulas. - (line 90) -* C-c C-d <1>: Agenda commands. (line 158) -* C-c C-d: Inserting deadline/schedule. + (line 46) +* C-c C-d <1>: Inserting deadline/schedule. (line 9) +* C-c C-d: Agenda commands. (line 158) * 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 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 6) * 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) @@ -8604,10 +8598,10 @@ Key Index (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. (line 10) +* C-c C-e v L: LaTeX export commands. + (line 10) * C-c C-e v R: HTML Export commands. (line 24) * C-c C-e x: XOXO export. (line 10) @@ -8615,26 +8609,26 @@ Key Index * C-c C-j: Motion. (line 21) * C-c C-l: Handling links. (line 25) * C-c C-n: Motion. (line 8) -* C-c C-o <1>: Creating timestamps. (line 31) -* C-c C-o: Handling links. (line 59) +* C-c C-o <1>: Handling links. (line 59) +* C-c C-o: Creating timestamps. (line 31) * C-c C-p: Motion. (line 9) * C-c C-q <1>: Built-in table editor. (line 127) * C-c C-q: Editing and debugging formulas. (line 50) -* C-c C-r <1>: Visibility cycling. (line 34) -* C-c C-r: Editing and debugging formulas. +* C-c C-r <1>: Editing and debugging formulas. (line 53) +* C-c C-r: Visibility cycling. (line 34) * C-c C-s <1>: Agenda commands. (line 155) * C-c C-s: Inserting deadline/schedule. (line 20) -* C-c C-t <1>: TODO basics. (line 13) -* C-c C-t: Clocking work time. (line 30) +* C-c C-t <1>: Clocking work time. (line 30) +* C-c C-t: TODO basics. (line 13) * C-c C-u: Motion. (line 18) * C-c C-v: TODO basics. (line 37) -* C-c C-w <1>: Refiling notes. (line 13) -* C-c C-w: Structure editing. (line 58) -* C-c C-x <: Agenda files. (line 37) +* C-c C-w <1>: Structure editing. (line 58) +* C-c C-w: Refiling notes. (line 13) +* C-c C-x <: Agenda files. (line 44) * C-c C-x b: Visibility cycling. (line 43) * C-c C-x C-a: ARCHIVE tag. (line 28) * C-c C-x C-b: Checkboxes. (line 42) @@ -8652,25 +8646,25 @@ Key Index * C-c C-x C-r: Clocking work time. (line 50) * C-c C-x C-s: Moving subtrees. (line 10) * C-c C-x C-t: Custom time format. (line 12) -* C-c C-x C-u <1>: Capturing Column View. - (line 42) +* C-c C-x C-u <1>: Dynamic blocks. (line 21) * C-c C-x C-u <2>: Clocking work time. (line 91) -* C-c C-x C-u: Dynamic blocks. (line 21) +* C-c C-x C-u: Capturing Column View. + (line 42) * C-c C-x C-w <1>: Structure editing. (line 43) * C-c C-x C-w: Built-in table editor. (line 116) * C-c C-x C-x: Clocking work time. (line 34) -* C-c C-x C-y <1>: Built-in table editor. +* C-c C-x C-y <1>: Structure editing. (line 52) +* C-c C-x C-y: Built-in table editor. (line 120) -* C-c C-x C-y: Structure editing. (line 52) * C-c C-x M-w <1>: Built-in table editor. (line 113) * C-c C-x M-w: Structure editing. (line 48) * C-c C-x p: Property syntax. (line 49) * C-c C-x r: Capturing Column View. (line 37) -* C-c C-y <1>: Clocking work time. (line 25) -* C-c C-y: Creating timestamps. (line 48) +* C-c C-y <1>: Creating timestamps. (line 48) +* C-c C-y: Clocking work time. (line 25) * C-c l: Handling links. (line 9) * C-c { <1>: CDLaTeX mode. (line 21) * C-c {: Editing and debugging formulas. @@ -8678,7 +8672,7 @@ Key Index * C-c |: Built-in table editor. (line 40) * C-c }: Editing and debugging formulas. - (line 79) + (line 28) * C-c ~: Cooperation. (line 65) * C-k: Agenda commands. (line 116) * C-S-: Multiple sets in one file. @@ -8696,22 +8690,22 @@ Key Index * C-u C-c C-t: TODO basics. (line 22) * C-u C-c C-x C-a: ARCHIVE tag. (line 31) * 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 <2>: Clocking work time. (line 93) -* C-u C-c C-x C-u: Capturing Column View. +* C-u C-c C-x C-u <1>: Capturing Column View. (line 44) +* C-u C-c C-x C-u <2>: Dynamic blocks. (line 22) +* C-u C-c C-x C-u: Clocking work time. (line 93) * 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 <1>: Agenda commands. (line 87) -* C-x C-s: Editing and debugging formulas. +* C-x C-s <1>: Editing and debugging formulas. (line 46) -* C-x C-w <1>: Agenda commands. (line 232) -* C-x C-w: Exporting Agenda Views. +* C-x C-s: Agenda commands. (line 87) +* C-x C-w <1>: Exporting Agenda Views. (line 11) -* D: Agenda commands. (line 72) +* C-x C-w: Agenda commands. (line 232) * d: Agenda commands. (line 66) +* D: Agenda commands. (line 72) * e: Using column view. (line 33) * f: Agenda commands. (line 42) * g: Agenda commands. (line 76) @@ -8719,123 +8713,123 @@ Key Index * I: Agenda commands. (line 178) * i: Agenda commands. (line 201) * J: Agenda commands. (line 190) -* L: Agenda commands. (line 30) * l: Agenda commands. (line 55) +* L: Agenda commands. (line 30) * M: Agenda commands. (line 207) * m: Agenda commands. (line 66) -* M- <1>: Editing and debugging formulas. - (line 76) -* M-: Built-in table editor. +* M- <1>: Built-in table editor. (line 82) -* M- <1>: Structure editing. (line 25) -* M-: Built-in table editor. +* M-: Editing and debugging formulas. + (line 76) +* M- <1>: Built-in table editor. (line 74) -* M- <1>: Plain lists. (line 50) -* M-: Structure editing. (line 6) +* M-: Structure editing. (line 25) +* M- <1>: Structure editing. (line 6) +* M-: Plain lists. (line 50) * M- <1>: Structure editing. (line 28) * M-: Built-in table editor. (line 74) -* M- <1>: Completion. (line 10) -* M- <2>: Property syntax. (line 46) -* M- <3>: Setting tags. (line 6) -* M- <4>: Per-file keywords. (line 23) -* M-: Editing and debugging formulas. +* M- <1>: Setting tags. (line 6) +* M- <2>: Editing and debugging formulas. (line 64) -* M- <1>: Built-in table editor. - (line 82) -* M-: Editing and debugging formulas. +* M- <3>: Per-file keywords. (line 23) +* M- <4>: Completion. (line 10) +* M-: Property syntax. (line 46) +* M- <1>: Editing and debugging formulas. (line 76) -* M-S- <1>: Built-in table editor. +* M-: Built-in table editor. + (line 82) +* M-S- <1>: Structure editing. (line 40) +* M-S- <2>: Plain lists. (line 67) +* M-S- <3>: Built-in table editor. (line 89) -* M-S- <2>: Editing and debugging formulas. +* M-S-: Editing and debugging formulas. (line 72) -* M-S- <3>: Plain lists. (line 67) -* M-S-: Structure editing. (line 40) -* M-S- <1>: Plain lists. (line 73) +* M-S- <1>: Structure editing. (line 31) * M-S- <2>: Built-in table editor. (line 76) -* M-S- <3>: Structure editing. (line 31) +* M-S- <3>: Plain lists. (line 73) * M-S-: The date/time prompt. (line 59) * M-S- <1>: Checkboxes. (line 57) * M-S- <2>: Plain lists. (line 60) * M-S-: Structure editing. (line 22) -* M-S- <1>: The date/time prompt. - (line 59) -* M-S- <2>: Plain lists. (line 73) -* M-S- <3>: Structure editing. (line 34) -* M-S-: Built-in table editor. +* M-S- <1>: Plain lists. (line 73) +* M-S- <2>: Built-in table editor. (line 79) +* M-S- <3>: Structure editing. (line 34) +* M-S-: The date/time prompt. + (line 59) * M-S- <1>: Structure editing. (line 37) -* M-S- <2>: Plain lists. (line 67) +* M-S- <2>: Editing and debugging formulas. + (line 72) * M-S- <3>: Built-in table editor. (line 86) -* M-S-: Editing and debugging formulas. - (line 72) -* mouse-1 <1>: Agenda commands. (line 33) -* mouse-1 <2>: Handling links. (line 73) -* mouse-1: The date/time prompt. +* M-S-: Plain lists. (line 67) +* mouse-1 <1>: The date/time prompt. (line 59) -* mouse-2 <1>: Handling links. (line 73) -* mouse-2: Agenda commands. (line 33) +* mouse-1 <2>: Agenda commands. (line 33) +* mouse-1: Handling links. (line 73) +* mouse-2 <1>: Agenda commands. (line 33) +* mouse-2: Handling links. (line 73) * mouse-3 <1>: Agenda commands. (line 28) * mouse-3: Handling links. (line 78) -* n <1>: Agenda commands. (line 19) -* n: Using column view. (line 30) -* O: Agenda commands. (line 182) +* n <1>: Using column view. (line 30) +* n: Agenda commands. (line 19) * o: Agenda commands. (line 65) -* p <1>: Using column view. (line 30) +* O: Agenda commands. (line 182) * p: Agenda commands. (line 20) * P: Agenda commands. (line 142) -* q <1>: Agenda commands. (line 243) -* q: Using column view. (line 17) -* r <1>: Global TODO list. (line 22) -* r: Agenda commands. (line 80) -* S: Agenda commands. (line 211) +* p: Using column view. (line 30) +* q <1>: Using column view. (line 17) +* q: Agenda commands. (line 243) +* r <1>: Agenda commands. (line 80) +* r: Global TODO list. (line 22) * s: Agenda commands. (line 87) -* S- <1>: The date/time prompt. - (line 59) +* S: Agenda commands. (line 211) +* S- <1>: Priorities. (line 26) * S- <2>: Creating timestamps. (line 40) * S- <3>: Plain lists. (line 63) -* S- <4>: Editing and debugging formulas. - (line 67) -* S- <5>: Agenda commands. (line 151) -* S-: Priorities. (line 26) -* S- <1>: The date/time prompt. +* S- <4>: Agenda commands. (line 151) +* S- <5>: The date/time prompt. (line 59) -* S- <2>: Agenda commands. (line 169) -* S- <3>: Creating timestamps. (line 35) -* S- <4>: TODO basics. (line 26) -* S- <5>: Multiple sets in one file. - (line 29) +* S-: Editing and debugging formulas. + (line 67) +* S- <1>: TODO basics. (line 26) +* S- <2>: The date/time prompt. + (line 59) +* S- <3>: Editing and debugging formulas. + (line 67) +* S- <4>: Creating timestamps. (line 35) +* S- <5>: Agenda commands. (line 169) * S- <6>: Using column view. (line 26) * S- <7>: Property syntax. (line 66) -* S-: Editing and debugging formulas. - (line 67) +* S-: Multiple sets in one file. + (line 29) * S-: Built-in table editor. (line 146) -* S- <1>: Editing and debugging formulas. - (line 67) -* S- <2>: Multiple sets in one file. - (line 29) -* S- <3>: TODO basics. (line 26) -* S- <4>: Creating timestamps. (line 35) -* S- <5>: Using column view. (line 26) -* S- <6>: The date/time prompt. +* S- <1>: The date/time prompt. (line 59) -* S- <7>: Agenda commands. (line 161) -* S-: Property syntax. (line 66) +* S- <2>: Property syntax. (line 66) +* S- <3>: Agenda commands. (line 161) +* S- <4>: Multiple sets in one file. + (line 29) +* S- <5>: Creating timestamps. (line 35) +* S- <6>: TODO basics. (line 26) +* S- <7>: Using column view. (line 26) +* S-: Editing and debugging formulas. + (line 67) * S- <1>: Visibility cycling. (line 22) * S-: Built-in table editor. (line 61) -* S- <1>: Plain lists. (line 63) -* S- <2>: The date/time prompt. - (line 59) +* S- <1>: Creating timestamps. (line 40) +* S- <2>: Priorities. (line 26) * S- <3>: Editing and debugging formulas. (line 67) -* S- <4>: Creating timestamps. (line 40) -* S- <5>: Agenda commands. (line 145) -* S-: Priorities. (line 26) +* S- <4>: The date/time prompt. + (line 59) +* S- <5>: Plain lists. (line 63) +* S-: Agenda commands. (line 145) * S-M-: Using column view. (line 61) * S-M-: TODO basics. (line 55) * S-M-: Using column view. (line 58) @@ -8843,246 +8837,246 @@ Key Index * t: Agenda commands. (line 112) * v: Using column view. (line 42) * w: Agenda commands. (line 66) -* x: Agenda commands. (line 244) * X: Agenda commands. (line 185) +* x: Agenda commands. (line 244) * y: Agenda commands. (line 66)  Tag Table: -Node: Top970 -Node: Introduction13459 -Node: Summary13945 -Node: Installation17082 -Node: Activation18460 -Node: Feedback19697 -Node: Conventions21786 -Node: Document structure22470 -Node: Outlines23362 -Node: Headlines24027 -Ref: Headlines-Footnote-125031 -Node: Visibility cycling25142 -Ref: Visibility cycling-Footnote-127372 -Ref: Visibility cycling-Footnote-227430 -Ref: Visibility cycling-Footnote-327480 -Node: Motion27750 -Node: Structure editing28704 -Node: Archiving31952 -Node: ARCHIVE tag32510 -Node: Moving subtrees34303 -Ref: Moving subtrees-Footnote-135850 -Node: Sparse trees36294 -Ref: Sparse trees-Footnote-138546 -Ref: Sparse trees-Footnote-238728 -Node: Plain lists38843 -Ref: Plain lists-Footnote-143102 -Ref: Plain lists-Footnote-243460 -Node: Drawers43641 -Ref: Drawers-Footnote-144522 -Node: orgstruct-mode44627 -Node: Tables45527 -Node: Built-in table editor46128 -Node: Narrow columns53545 -Ref: Narrow columns-Footnote-155480 -Node: Column groups55526 -Node: orgtbl-mode57059 -Node: The spreadsheet57862 -Node: References58949 -Ref: References-Footnote-163416 -Ref: References-Footnote-263557 -Node: Formula syntax for Calc63846 -Node: Formula syntax for Lisp66303 -Node: Field formulas68021 -Node: Column formulas69329 -Node: Editing and debugging formulas70928 -Node: Updating the table75081 -Node: Advanced features76134 -Node: Hyperlinks80659 -Node: Link format81428 -Node: Internal links82721 -Ref: Internal links-Footnote-184646 -Node: Radio targets84781 -Node: External links85481 -Node: Handling links87885 -Ref: Handling links-Footnote-193201 -Ref: Handling links-Footnote-293438 -Node: Using links outside Org-mode93512 -Node: Link abbreviations94022 -Node: Search options95715 -Ref: Search options-Footnote-197495 -Node: Custom searches97576 -Node: TODO items98607 -Node: TODO basics99677 -Node: TODO extensions101870 -Node: Workflow states102829 -Ref: Workflow states-Footnote-1104004 -Node: TODO types104097 -Ref: TODO types-Footnote-1105680 -Node: Multiple sets in one file105762 -Node: Fast access to TODO states107382 -Node: Per-file keywords108525 -Ref: Per-file keywords-Footnote-1109827 -Node: Faces for TODO keywords110028 -Node: Progress logging110734 -Node: Closing items111165 -Ref: Closing items-Footnote-1112099 -Ref: Closing items-Footnote-2112304 -Node: Tracking TODO state changes112377 -Ref: Tracking TODO state changes-Footnote-1113562 -Node: Priorities113637 -Ref: Priorities-Footnote-1115432 -Node: Breaking down tasks115502 -Ref: Breaking down tasks-Footnote-1116022 -Node: Checkboxes116118 -Node: Tags119057 -Node: Tag inheritance119812 -Node: Setting tags120858 -Ref: Setting tags-Footnote-1125376 -Ref: Setting tags-Footnote-2125488 -Node: Tag searches125571 -Node: Properties and columns128350 -Node: Property syntax130261 -Node: Special properties132951 -Node: Property searches134022 -Node: Property inheritance135283 -Node: Column view136730 -Node: Defining columns137964 -Node: Scope of column definitions138362 -Node: Column attributes139284 -Node: Using column view141680 -Node: Capturing Column View143761 -Node: Property API145488 -Node: Dates and times145842 -Node: Time stamps146563 -Ref: Time stamps-Footnote-1148927 -Node: Creating timestamps149041 -Node: The date/time prompt151120 -Ref: The date/time prompt-Footnote-1154476 -Ref: The date/time prompt-Footnote-2154532 -Ref: The date/time prompt-Footnote-3154638 -Node: Custom time format154731 -Node: Deadlines and scheduling156423 -Ref: Deadlines and scheduling-Footnote-1158606 -Node: Inserting deadline/schedule158761 -Node: Repeated tasks159879 -Ref: Repeated tasks-Footnote-1161754 -Node: Clocking work time161875 -Ref: Clocking work time-Footnote-1166727 -Ref: Clocking work time-Footnote-2166805 -Node: Remember166931 -Node: Setting up remember167877 -Ref: Setting up remember-Footnote-1168786 -Node: Remember templates168852 -Ref: Remember templates-Footnote-1172840 -Ref: Remember templates-Footnote-2173023 -Node: Storing notes173121 -Ref: Storing notes-Footnote-1175632 -Node: Refiling notes175734 -Node: Agenda views176999 -Node: Agenda files178946 -Ref: Agenda files-Footnote-1181387 -Ref: Agenda files-Footnote-2181536 -Node: Agenda dispatcher181729 -Ref: Agenda dispatcher-Footnote-1183783 -Ref: Agenda dispatcher-Footnote-2183877 -Node: Built-in agenda views183971 -Node: Weekly/Daily agenda184553 -Ref: Weekly/Daily agenda-Footnote-1187851 -Node: Global TODO list188055 -Node: Matching tags and properties190335 -Node: Timeline191426 -Node: Stuck projects192100 -Node: Presentation and sorting193953 -Node: Categories194746 -Ref: Categories-Footnote-1195457 -Node: Time-of-day specifications195894 -Node: Sorting of agenda items197867 -Node: Agenda commands199151 -Node: Custom agenda views206614 -Node: Storing searches207335 -Ref: Storing searches-Footnote-1209869 -Node: Block agenda209986 -Node: Setting Options211218 -Node: Exporting Agenda Views213959 -Ref: Exporting Agenda Views-Footnote-1218316 -Ref: Exporting Agenda Views-Footnote-2218373 -Node: Extracting Agenda Information for other programs218559 -Node: Embedded LaTeX222687 -Ref: Embedded LaTeX-Footnote-1223781 -Node: Math symbols223971 -Node: Subscripts and Superscripts224738 -Node: LaTeX fragments225584 -Ref: LaTeX fragments-Footnote-1227817 -Ref: LaTeX fragments-Footnote-2228078 -Node: Processing LaTeX fragments228212 -Node: CDLaTeX mode229160 -Ref: CDLaTeX mode-Footnote-1231646 -Node: Exporting231794 -Node: ASCII export233261 -Node: HTML export234762 -Node: HTML Export commands235388 -Node: Quoting HTML tags237175 -Node: Links237810 -Node: Images238507 -Ref: Images-Footnote-1239378 -Node: CSS support239439 -Ref: CSS support-Footnote-1240758 -Node: LaTeX export240871 -Node: LaTeX export commands241220 -Node: Quoting LaTeX code242382 -Node: Sectioning structure242916 -Node: XOXO export243417 -Node: iCalendar export243857 -Node: Text interpretation245326 -Node: Comment lines245981 -Node: Initial text246376 -Node: Footnotes248045 -Node: Quoted examples248837 -Node: Enhancing text249612 -Node: Export options252061 -Node: Publishing254522 -Ref: Publishing-Footnote-1255483 -Ref: Publishing-Footnote-2255627 -Node: Configuration255778 -Node: Project alist256496 -Node: Sources and destinations257562 -Node: Selecting files258292 -Node: Publishing action259040 -Node: Publishing options260374 -Node: Publishing links262880 -Node: Project page index264395 -Node: Sample configuration265173 -Node: Simple example265665 -Node: Complex example266338 -Node: Triggering publication268414 -Node: Miscellaneous269099 -Node: Completion269733 -Node: Customization271403 -Node: In-buffer settings271986 -Node: The very busy C-c C-c key277656 -Node: Clean view279511 -Node: TTY keys282088 -Node: Interaction283665 -Node: Cooperation284062 -Node: Conflicts287733 -Node: Bugs289743 -Node: Extensions and Hacking291239 -Node: Extensions291964 -Node: Adding hyperlink types294236 -Node: Tables in arbitrary syntax297898 -Node: Radio tables299290 -Node: A LaTeX example301793 -Ref: A LaTeX example-Footnote-1305471 -Ref: A LaTeX example-Footnote-2305619 -Node: Translator functions306054 -Ref: Translator functions-Footnote-1309183 -Node: Radio lists309271 -Ref: Radio lists-Footnote-1310393 -Node: Dynamic blocks310513 -Node: Special agenda views312485 -Node: Using the property API315730 -Node: History and Acknowledgments317328 -Node: Main Index324014 -Node: Key Index360753 +Node: Top976 +Node: Introduction13471 +Node: Summary13957 +Node: Installation17094 +Node: Activation18472 +Node: Feedback19709 +Node: Conventions21798 +Node: Document structure22482 +Node: Outlines23374 +Node: Headlines24039 +Ref: Headlines-Footnote-125043 +Node: Visibility cycling25154 +Ref: Visibility cycling-Footnote-127384 +Ref: Visibility cycling-Footnote-227442 +Ref: Visibility cycling-Footnote-327492 +Node: Motion27762 +Node: Structure editing28716 +Node: Archiving31964 +Node: ARCHIVE tag32522 +Node: Moving subtrees34315 +Ref: Moving subtrees-Footnote-135862 +Node: Sparse trees36306 +Ref: Sparse trees-Footnote-138558 +Ref: Sparse trees-Footnote-238740 +Node: Plain lists38855 +Ref: Plain lists-Footnote-143114 +Ref: Plain lists-Footnote-243472 +Node: Drawers43653 +Ref: Drawers-Footnote-144534 +Node: orgstruct-mode44639 +Node: Tables45539 +Node: Built-in table editor46140 +Node: Narrow columns53458 +Ref: Narrow columns-Footnote-155393 +Node: Column groups55439 +Node: orgtbl-mode56972 +Node: The spreadsheet57775 +Node: References58862 +Ref: References-Footnote-163329 +Ref: References-Footnote-263470 +Node: Formula syntax for Calc63759 +Node: Formula syntax for Lisp66216 +Node: Field formulas67934 +Node: Column formulas69242 +Node: Editing and debugging formulas70841 +Node: Updating the table74994 +Node: Advanced features76047 +Node: Hyperlinks80572 +Node: Link format81341 +Node: Internal links82634 +Ref: Internal links-Footnote-184559 +Node: Radio targets84694 +Node: External links85394 +Node: Handling links87798 +Ref: Handling links-Footnote-193114 +Ref: Handling links-Footnote-293351 +Node: Using links outside Org-mode93425 +Node: Link abbreviations93935 +Node: Search options95628 +Ref: Search options-Footnote-197408 +Node: Custom searches97489 +Node: TODO items98520 +Node: TODO basics99590 +Node: TODO extensions101783 +Node: Workflow states102742 +Ref: Workflow states-Footnote-1103917 +Node: TODO types104010 +Ref: TODO types-Footnote-1105593 +Node: Multiple sets in one file105675 +Node: Fast access to TODO states107295 +Node: Per-file keywords108438 +Ref: Per-file keywords-Footnote-1109740 +Node: Faces for TODO keywords109941 +Node: Progress logging110647 +Node: Closing items111078 +Ref: Closing items-Footnote-1112012 +Ref: Closing items-Footnote-2112219 +Node: Tracking TODO state changes112292 +Ref: Tracking TODO state changes-Footnote-1113477 +Node: Priorities113552 +Ref: Priorities-Footnote-1115347 +Node: Breaking down tasks115417 +Ref: Breaking down tasks-Footnote-1115937 +Node: Checkboxes116033 +Node: Tags118972 +Node: Tag inheritance119727 +Node: Setting tags120773 +Ref: Setting tags-Footnote-1125291 +Ref: Setting tags-Footnote-2125403 +Node: Tag searches125486 +Node: Properties and columns128269 +Node: Property syntax130195 +Node: Special properties132890 +Node: Property searches133961 +Node: Property inheritance135222 +Node: Column view136680 +Node: Defining columns137914 +Node: Scope of column definitions138312 +Node: Column attributes139242 +Node: Using column view141638 +Node: Capturing Column View143723 +Node: Property API145450 +Node: Dates and times145804 +Node: Time stamps146525 +Ref: Time stamps-Footnote-1148889 +Node: Creating timestamps149003 +Node: The date/time prompt151082 +Ref: The date/time prompt-Footnote-1154438 +Ref: The date/time prompt-Footnote-2154494 +Ref: The date/time prompt-Footnote-3154600 +Node: Custom time format154693 +Node: Deadlines and scheduling156385 +Ref: Deadlines and scheduling-Footnote-1158568 +Node: Inserting deadline/schedule158723 +Node: Repeated tasks159841 +Ref: Repeated tasks-Footnote-1161716 +Node: Clocking work time161837 +Ref: Clocking work time-Footnote-1166689 +Ref: Clocking work time-Footnote-2166767 +Node: Remember166893 +Node: Setting up remember167839 +Ref: Setting up remember-Footnote-1168748 +Node: Remember templates168814 +Ref: Remember templates-Footnote-1172802 +Ref: Remember templates-Footnote-2172985 +Node: Storing notes173083 +Ref: Storing notes-Footnote-1175594 +Node: Refiling notes175696 +Node: Agenda views176961 +Node: Agenda files178908 +Ref: Agenda files-Footnote-1181349 +Ref: Agenda files-Footnote-2181498 +Node: Agenda dispatcher181691 +Ref: Agenda dispatcher-Footnote-1183745 +Ref: Agenda dispatcher-Footnote-2183839 +Node: Built-in agenda views183933 +Node: Weekly/Daily agenda184515 +Ref: Weekly/Daily agenda-Footnote-1187813 +Node: Global TODO list188017 +Node: Matching tags and properties190297 +Node: Timeline191388 +Node: Stuck projects192062 +Node: Presentation and sorting193915 +Node: Categories194708 +Ref: Categories-Footnote-1195419 +Node: Time-of-day specifications195856 +Node: Sorting of agenda items197829 +Node: Agenda commands199113 +Node: Custom agenda views206576 +Node: Storing searches207297 +Ref: Storing searches-Footnote-1209831 +Node: Block agenda209948 +Node: Setting Options211180 +Node: Exporting Agenda Views213922 +Ref: Exporting Agenda Views-Footnote-1218279 +Ref: Exporting Agenda Views-Footnote-2218336 +Node: Extracting Agenda Information for other programs218522 +Node: Embedded LaTeX222650 +Ref: Embedded LaTeX-Footnote-1223744 +Node: Math symbols223934 +Node: Subscripts and Superscripts224701 +Node: LaTeX fragments225547 +Ref: LaTeX fragments-Footnote-1227780 +Ref: LaTeX fragments-Footnote-2228041 +Node: Processing LaTeX fragments228175 +Node: CDLaTeX mode229123 +Ref: CDLaTeX mode-Footnote-1231609 +Node: Exporting231757 +Node: ASCII export233224 +Node: HTML export234729 +Node: HTML Export commands235355 +Node: Quoting HTML tags237146 +Node: Links237781 +Node: Images238478 +Ref: Images-Footnote-1239349 +Node: CSS support239410 +Ref: CSS support-Footnote-1240729 +Node: LaTeX export240842 +Node: LaTeX export commands241191 +Node: Quoting LaTeX code242353 +Node: Sectioning structure242887 +Node: XOXO export243388 +Node: iCalendar export243828 +Node: Text interpretation245297 +Node: Comment lines245952 +Node: Initial text246347 +Node: Footnotes248016 +Node: Quoted examples248808 +Node: Enhancing text249583 +Node: Export options252032 +Node: Publishing254493 +Ref: Publishing-Footnote-1255454 +Ref: Publishing-Footnote-2255598 +Node: Configuration255749 +Node: Project alist256467 +Node: Sources and destinations257531 +Node: Selecting files258261 +Node: Publishing action259009 +Node: Publishing options260343 +Node: Publishing links262849 +Node: Project page index264364 +Node: Sample configuration265142 +Node: Simple example265634 +Node: Complex example266307 +Node: Triggering publication268383 +Node: Miscellaneous269068 +Node: Completion269702 +Node: Customization271372 +Node: In-buffer settings271955 +Node: The very busy C-c C-c key277627 +Node: Clean view279482 +Node: TTY keys282059 +Node: Interaction283636 +Node: Cooperation284033 +Node: Conflicts287704 +Node: Bugs289714 +Node: Extensions and Hacking291210 +Node: Extensions291935 +Node: Adding hyperlink types294207 +Node: Tables in arbitrary syntax297869 +Node: Radio tables299261 +Node: A LaTeX example301764 +Ref: A LaTeX example-Footnote-1305442 +Ref: A LaTeX example-Footnote-2305590 +Node: Translator functions306025 +Ref: Translator functions-Footnote-1309154 +Node: Radio lists309242 +Ref: Radio lists-Footnote-1310364 +Node: Dynamic blocks310484 +Node: Special agenda views312456 +Node: Using the property API315701 +Node: History and Acknowledgments317299 +Node: Main Index323985 +Node: Key Index360724  End Tag Table diff --git a/org-export-latex.el b/org-export-latex.el old mode 100755 new mode 100644 diff --git a/org-install.el b/org-install.el index f25484d02..c137453ae 100644 --- a/org-install.el +++ b/org-install.el @@ -8,7 +8,7 @@ ;;;;;; org-remember-insinuate org-open-at-point-global org-insert-link-global ;;;;;; org-store-link orgtbl-mode turn-on-orgtbl org-run-like-in-org-mode ;;;;;; turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle -;;;;;; org-cycle org-mode) "org" "org.el" (18282 28738)) +;;;;;; org-cycle org-mode) "org" "org.el" (18304 36012)) ;;; Generated autoloads from org.el (autoload (quote org-mode) "org" "\ @@ -441,7 +441,7 @@ The file is stored under the name `org-combined-agenda-icalendar-file'. ;;;*** ;;;### (autoloads (org-publish-all org-publish-current-file org-publish-current-project -;;;;;; org-publish) "org-publish" "org-publish.el" (18207 29024)) +;;;;;; org-publish) "org-publish" "org-publish.el" (18304 28298)) ;;; Generated autoloads from org-publish.el (autoload (quote org-publish) "org-publish" "\ diff --git a/org-mouse.el b/org-mouse.el index 67ae37090..38dd7f167 100644 --- a/org-mouse.el +++ b/org-mouse.el @@ -1,10 +1,10 @@ ;;; org-mouse.el --- Better mouse support for org-mode -;; Copyright (c) 2006 Piotr Zielinski, 2007 Free Software Foundation +;; Copyright (c) 2006 Piotr Zielinski, 2007, 2008 Free Software Foundation ;; ;; Author: Piotr Zielinski ;; Maintainer: Carsten Dominik -;; Version: 5.11 +;; Version: 5.18 ;; ;; This file is part of GNU Emacs. ;; diff --git a/org-publish.el b/org-publish.el index e98afaf4a..83dc8e6c4 100644 --- a/org-publish.el +++ b/org-publish.el @@ -1,10 +1,10 @@ ;;; org-publish.el --- publish related org-mode files as a website -;; Copyright (C) 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David O'Toole ;; Keywords: hypermedia, outlines -;; Version: 1.80a +;; Version: 1.80b ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -572,11 +572,10 @@ default is 'index.org'." With prefix argument, force publishing all files in project." (interactive "P") (save-window-excursion - (let* ((project-name (org-publish-get-project-from-filename (buffer-file-name))) - (org-publish-use-timestamps-flag (if force nil t))) + (let* ((project-name (org-publish-get-project-from-filename (buffer-file-name)))) (if (not project-name) (error (format "File %s is not part of any known project." (buffer-file-name)))) - (org-publish project-name)))) + (org-publish project-name (if force nil t))))) ;;;###autoload diff --git a/org.el b/org.el index 9d99e98ac..d4449a570 100644 --- a/org.el +++ b/org.el @@ -1,11 +1,11 @@ ;;; org.el --- Outline-based notes management and organizer ;; Carstens outline-mode for keeping track of everything. -;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 5.17a +;; Version: 5.18 ;; ;; This file is part of GNU Emacs. ;; @@ -1455,7 +1455,7 @@ Furthermore, the following %-escapes will be replaced with content: %:keyword specific information for certain link types, see below %[pathname] insert the contents of the file given by `pathname' %(sexp) evaluate elisp `(sexp)' and replace with the result - + %! Store this note immediately after filling the template %? After completing the template, position cursor here. @@ -1544,9 +1544,15 @@ This is list of cons cells. Each cell contains: (defcustom org-refile-use-outline-path nil "Non-nil means, provide refile targets as paths. -So a level 3 headline will be available as level1/level2/level3." +So a level 3 headline will be available as level1/level2/level3. +When the value is `file', also include the file name (without directory) +into the path. When `full-file-path', include the full file path." :group 'org-remember - :type 'boolean) + :type '(choice + (const :tag "Not" nil) + (const :tag "Yes" t) + (const :tag "Start with file name" file) + (const :tag "Start with full file path" full-file-path))) (defgroup org-todo nil "Options concerning TODO items in Org-mode." @@ -1769,6 +1775,15 @@ Nil means, clock will keep running until stopped explicitly with :group 'org-progress :type 'boolean) +(defcustom org-clock-in-switch-to-state nil + "Set task to a special todo state while clocking it. +The value should be the state to which the entry should be switched." + :group 'org-progress + :group 'org-todo + :type '(choice + (const :tag "Don't force a state" nil) + (string :tag "State"))) + (defgroup org-priorities nil "Priorities in Org-mode." :tag "Org Priorities" @@ -2048,7 +2063,7 @@ for valid values of a property." :type '(choice (const :tag "Not" nil) (const :tag "Always" nil) - (repeat :tag "Specific properties"))) + (repeat :tag "Specific properties" (string :tag "Property")))) (defcustom org-columns-default-format "%25ITEM %TODO %3PRIORITY %TAGS" "The default column format, if no other format has been defined. @@ -2705,7 +2720,7 @@ contents, with a context symbol in the car of the list, any of `agenda', `todo', `tags' for the corresponding agenda views." :group 'org-agenda-sorting :type `(choice - (repeat :tag "General" org-sorting-choice) + (repeat :tag "General" ,org-sorting-choice) (list :tag "Individually" (cons (const :tag "Strategy for Weekly/Daily agenda" agenda) (repeat ,org-sorting-choice)) @@ -4148,6 +4163,8 @@ If it is less than 8, the level-1 face gets re-used for level N+1 etc." (defvar remember-data-file) (defvar remember-register) (defvar remember-buffer) +(defvar remember-handler-functions) +(defvar remember-annotation-functions) (declare-function rmail-narrow-to-non-pruned-header "rmail" ()) (declare-function rmail-show-message "rmail" (&optional n no-summary)) (declare-function rmail-what-message "rmail" ()) @@ -4698,7 +4715,9 @@ Works on both Emacs and XEmacs." nil (if (featurep 'xemacs) (and zmacs-regions (region-active-p)) - (and transient-mark-mode mark-active)))) + (if (fboundp 'use-region-p) + (use-region-p) + (and transient-mark-mode mark-active))))) ; Emacs 22 and before ;; Invisibility compatibility @@ -5366,7 +5385,7 @@ between words." '("^[ \t]*\\(\\(|\\|\\+-[-+]\\).*\\S-\\)" (1 'org-table t)) ;; Table internals - '("| *\\(:?=[^|\n]*\\)" (1 'org-formula t)) + '("^[ \t]*|\\(?:.*?|\\)? *\\(:?=[^|\n]*\\)" (1 'org-formula t)) '("^[ \t]*| *\\([#*]\\) *|" (1 'org-formula t)) '("^[ \t]*|\\( *\\([$!_^/]\\) *|.*\\)|" (1 'org-formula t)) ;; Drawers @@ -5723,6 +5742,16 @@ This function is the default value of the hook `org-cycle-hook'." ((eq state 'children) (or (org-subtree-end-visible-p) (recenter 1))) ((eq state 'subtree) (or (org-subtree-end-visible-p) (recenter 1)))))) +(defun org-compact-display-after-subtree-move () + (let (beg end) + (save-excursion + (if (org-up-heading-safe) + (progn + (hide-subtree) + (show-entry) + (show-children) + (org-cycle-show-empty-lines 'children)) + (org-overview))))) (defun org-cycle-show-empty-lines (state) "Show empty lines above all visible headlines. @@ -6320,13 +6349,16 @@ is signaled in this case." (setq cnt (1- cnt))) (if (> arg 0) ;; Moving forward - still need to move over subtree - (progn (outline-end-of-subtree) - (org-back-over-empty-lines) - (or (bolp) (newline)))) + (progn (org-end-of-subtree t t) + (save-excursion + (org-back-over-empty-lines) + (or (bolp) (newline))))) (setq ne-ins (org-back-over-empty-lines)) (move-marker ins-point (point)) (setq txt (buffer-substring beg end)) (delete-region beg end) + (outline-flag-region (1- beg) beg nil) + (outline-flag-region (1- (point)) (point) nil) (insert txt) (or (bolp) (insert "\n")) (setq ins-end (point)) @@ -6341,8 +6373,11 @@ is signaled in this case." (let ((kill-whole-line t)) (kill-line (- ne-ins ne-beg)) (point))) (insert (make-string (- ne-ins ne-beg) ?\n))) - (if folded (hide-subtree)) - (move-marker ins-point nil))) + (move-marker ins-point nil) + (org-compact-display-after-subtree-move) + (unless folded + (org-show-entry) + (show-children)))) (defvar org-subtree-clip "" "Clipboard for cut and paste of subtrees. @@ -6366,7 +6401,7 @@ With prefix arg N, cut this many sequential subtrees. This is a short-hand for marking the subtree and then copying it. If CUT is non-nil, actually cut the subtree." (interactive "p") - (let (beg end folded) + (let (beg end folded (beg0 (point))) (if (interactive-p) (org-back-to-heading nil) ; take what looks like a subtree (org-back-to-heading t)) ; take what is really there @@ -6382,7 +6417,7 @@ If CUT is non-nil, actually cut the subtree." (org-end-of-subtree t t)) (org-back-over-empty-lines) (setq end (point)) - (goto-char beg) + (goto-char beg0) (when (> end beg) (setq org-subtree-clip-folded folded) (if cut (kill-region beg end) (copy-region-as-kill beg end)) @@ -6458,8 +6493,9 @@ If optional TREE is given, use this text instead of the kill ring." (delete-region (point-at-bol) (point))) ;; Paste (beginning-of-line 1) + (org-back-over-empty-lines) ;; FIXME: correct fix???? (setq beg (point)) - (insert txt) + (insert-before-markers txt) ;; FIXME: correct fix???? (unless (string-match "\n\\'" txt) (insert "\n")) (setq end (point)) (goto-char beg) @@ -6566,7 +6602,11 @@ WITH-CASE, the sorting considers case as well." (condition-case nil (progn (org-back-to-heading) t) (error nil))) ;; we will sort the children of the current headline (org-back-to-heading) - (setq start (point) end (org-end-of-subtree) what "children") + (setq start (point) + end (progn (org-end-of-subtree t t) + (org-back-over-empty-lines) + (point)) + what "children") (goto-char start) (show-subtree) (outline-next-heading)) @@ -6721,7 +6761,8 @@ If WITH-CASE is non-nil, the sorting will be case-sensitive." (setq extractfun 'string-to-number comparefun (if (= dcst sorting-type) '< '>))) ((= dcst ?a) - (setq extractfun (if with-case 'identity 'downcase) + (setq extractfun (if with-case (lambda(x) (org-sort-remove-invisible x)) + (lambda(x) (downcase (org-sort-remove-invisible x)))) comparefun (if (= dcst sorting-type) 'string< (lambda (a b) (and (not (string< a b)) @@ -7046,6 +7087,13 @@ Error if not at a plain list, or if this is the first item in the list." (error (goto-char pos) (error "On first item"))))) +(defun org-first-list-item-p () + "Is this heading the item in a plain list?" + (unless (org-at-item-p) + (error "Not at a plain list item")) + (org-beginning-of-item) + (= (point) (save-excursion (org-beginning-of-item-list)))) + (defun org-move-item-down () "Move the plain list item at point down, i.e. swap with following item. Subitems (items with larger indentation) are considered part of the item, @@ -7476,7 +7524,7 @@ off orgstruct-mode will *not* remove these additonal settings." (defun orgstruct-error () "Error when there is no default binding for a structure key." (interactive) - (error "This key is has no function outside structure elements")) + (error "This key has no function outside structure elements")) (defun orgstruct-setup () "Setup orgstruct keymaps." @@ -9030,8 +9078,11 @@ should be done in reverse order." (skip-chars-backward "^|") (setq ecol (1- (current-column))) (org-table-goto-column column) - (setq lns (mapcar (lambda(x) (cons (org-sort-remove-invisible - (org-trim (substring x bcol ecol))) x)) + (setq lns (mapcar (lambda(x) (cons + (org-sort-remove-invisible + (nth (1- column) + (org-split-string x "[ \t]*|[ \t]*"))) + x)) (org-split-string (buffer-substring beg end) "\n"))) (setq lns (org-do-sort lns "Table" with-case sorting-type)) (delete-region beg end) @@ -9045,9 +9096,10 @@ should be done in reverse order." ;; FIXME: maybe we will not need this? Table sorting is broken.... (defun org-sort-remove-invisible (s) (remove-text-properties 0 (length s) org-rm-props s) - (if (string-match org-bracket-link-regexp s) - (setq s (replace-match (if (match-end 2) (match-string 3 s) - (match-string 1 s))))) + (while (string-match org-bracket-link-regexp s) + (setq s (replace-match (if (match-end 2) + (match-string 3 s) + (match-string 1 s)) t t s))) s) (defun org-table-cut-region (beg end) @@ -11064,7 +11116,7 @@ to execute outside of tables." (defun orgtbl-error () "Error when there is no default binding for a table key." (interactive) - (error "This key is has no function outside tables")) + (error "This key has no function outside tables")) (defun orgtbl-setup () "Setup orgtbl keymaps." @@ -11763,7 +11815,7 @@ For file links, arg negates `org-context-in-file-links'." (elmo-msgdb-overview-get-entity msgnum (wl-summary-buffer-msgdb)))) (from (wl-summary-line-from)) - (to (elmo-message-entity-field wl-message-entity 'to)) + (to (car (elmo-message-entity-field wl-message-entity 'to))) (subject (let (wl-thr-indent-string wl-parent-message-entity) (wl-summary-line-subject)))) (org-store-link-props :type "wl" :from from :to to @@ -11999,8 +12051,10 @@ according to FMT (default from `org-email-link-description-format')." (error "Empty link")) (when (stringp description) ;; Remove brackets from the description, they are fatal. - (while (string-match "\\[\\|\\]" description) - (setq description (replace-match "" t t description)))) + (while (string-match "\\[" description) + (setq description (replace-match "{" t t description))) + (while (string-match "\\]" description) + (setq description (replace-match "}" t t description)))) (when (equal (org-link-escape link) description) ;; No description needed, it is identical (setq description nil)) @@ -12014,7 +12068,7 @@ according to FMT (default from `org-email-link-description-format')." (defconst org-link-escape-chars '((?\ . "%20") (?\[ . "%5B") - (?\] . "%5d") + (?\] . "%5D") (?\340 . "%E0") ; `a (?\342 . "%E2") ; ^a (?\347 . "%E7") ; ,c @@ -12035,7 +12089,6 @@ This is the list that is used for internal purposes.") (defconst org-link-escape-chars-browser '((?\ . "%20")) ; 32 for the SPC char - "Association list of escapes for some characters problematic in links. This is the list that is used before handing over to the browser.") @@ -13116,9 +13169,10 @@ If the file does not exist, an error is thrown." (cond ((and (stringp cmd) (not (string-match "^\\s-*$" cmd))) ;; Remove quotes around the file name - we'll use shell-quote-argument. - (if (string-match "['\"]%s['\"]" cmd) - (setq cmd (replace-match "%s" t t cmd))) - (setq cmd (format cmd (shell-quote-argument file))) + (while (string-match "['\"]%s['\"]" cmd) + (setq cmd (replace-match "%s" t t cmd))) + (while (string-match "%s" cmd) + (setq cmd (replace-match (shell-quote-argument file) t t cmd))) (save-window-excursion (start-process-shell-command cmd nil cmd))) ((or (stringp cmd) @@ -13383,7 +13437,7 @@ to be run from that hook to function properly." (member char '("u" "U")) nil nil (list org-end-time-was-given))) (t - (insert (completing-read + (insert (org-completing-read (concat (if prompt prompt "Enter string") (if default (concat " [" default "]")) ": ") @@ -13427,7 +13481,7 @@ associated with a template in `org-remember-tempates'." ((equal goto '(4)) (org-go-to-remember-target)) ((equal goto '(16)) (org-remember-goto-last-stored)) (t - (if (eq org-finish-function 'remember-buffer) + (if (memq org-finish-function '(remember-buffer remember-finalize)) (progn (when (< (length org-remember-templates) 2) (error "No other template available")) @@ -13528,6 +13582,8 @@ See also the variable `org-reverse-note-order'." (setq file (car org-remember-previous-location) heading (cdr org-remember-previous-location))) (setq current-prefix-arg nil) + (if (string-match "[ \t\n]+\\'" txt) + (setq txt (replace-match "" t t txt))) ;; Modify text so that it becomes a nice subtree which can be inserted ;; into an org tree. (let* ((lines (split-string txt "\n")) @@ -13735,8 +13791,14 @@ See also the variable `org-reverse-note-order'." (setq re (concat re "[ \t]*$")) (when org-refile-use-outline-path (setq txt (mapconcat 'identity - (append (org-get-outline-path) - (list txt)) + (append + (if (eq org-refile-use-outline-path 'file) + (list (file-name-nondirectory + (buffer-file-name (buffer-base-buffer)))) + (if (eq org-refile-use-outline-path 'full-file-path) + (list (buffer-file-name (buffer-base-buffer))))) + (org-get-outline-path) + (list txt)) "/"))) (push (list txt f re (point)) targets)) (goto-char (point-at-eol)))))))) @@ -18172,6 +18234,11 @@ If necessary, clock-out of the currently active clock." (let (ts) (save-excursion (org-back-to-heading t) + (when (and org-clock-in-switch-to-state + (not (looking-at (concat outline-regexp "[ \t]*" + org-clock-in-switch-to-state + "\\>")))) + (org-todo org-clock-in-switch-to-state)) (if (and org-clock-heading-function (functionp org-clock-heading-function)) (setq org-clock-heading (funcall org-clock-heading-function)) @@ -19084,6 +19151,7 @@ Pressing `<' twice means to restrict to the current subtree or region (interactive "P") (catch 'exit (let* ((prefix-descriptions nil) + (org-agenda-custom-commands-orig org-agenda-custom-commands) (org-agenda-custom-commands ;; normalize different versions (delq nil @@ -19168,7 +19236,9 @@ Pressing `<' twice means to restrict to the current subtree or region (org-let lprops '(funcall type match))) (t (error "Invalid custom agenda command type %s" type)))) (org-run-agenda-series (nth 1 entry) (cddr entry)))) - ((equal keys "C") (customize-variable 'org-agenda-custom-commands)) + ((equal keys "C") + (setq org-agenda-custom-commands org-agenda-custom-commands-orig) + (customize-variable 'org-agenda-custom-commands)) ((equal keys "a") (call-interactively 'org-agenda-list)) ((equal keys "t") (call-interactively 'org-todo-list)) ((equal keys "T") (org-call-with-arg 'org-todo-list (or arg '(4)))) @@ -19336,8 +19406,12 @@ L Timeline for current buffer # List stuck projects (!=configure) ((eq c ?>) (org-agenda-remove-restriction-lock 'noupdate) (setq restriction nil)) - ((and (equal selstring "") (memq c '(?a ?t ?m ?L ?C ?e ?T ?M ?# ?/))) + ((and (equal selstring "") (memq c '(?a ?t ?m ?L ?C ?e ?T ?M ?# ?! ?/))) (throw 'exit (cons (setq selstring (char-to-string c)) restriction))) + ((and (> (length selstring) 0) (eq c ?\d)) + (delete-window) + (org-agenda-get-restriction-and-command prefix-descriptions)) + ((equal c ?q) (error "Abort")) (t (error "Invalid key %c" c)))))))) @@ -19618,7 +19692,8 @@ is currently in place." (setq files (apply 'append (mapcar (lambda (f) (if (file-directory-p f) - (directory-files f t "\\.org\\'") + (directory-files f t + org-agenda-file-regexp) (list f))) files))) (if org-agenda-skip-unavailable-files @@ -19734,7 +19809,7 @@ Optional argument FILE means, use this file instead of the current." (org-store-new-agenda-file-list files) (org-install-agenda-files-menu) (message "Removed file: %s" afile)) - (message "File was not in list: %s" afile)))) + (message "File was not in list: %s (not removed)" afile)))) (defun org-file-menu-entry (file) (vector file (list 'find-file file) t)) @@ -20417,12 +20492,12 @@ to skip this subtree. This is a function that can be put into (defun org-agenda-skip-entry-if (&rest conditions) "Skip entry if any of CONDITIONS is true. -See `org-agenda-skip-if for details." +See `org-agenda-skip-if' for details." (org-agenda-skip-if nil conditions)) (defun org-agenda-skip-subtree-if (&rest conditions) "Skip entry if any of CONDITIONS is true. -See `org-agenda-skip-if for details." +See `org-agenda-skip-if' for details." (org-agenda-skip-if t conditions)) (defun org-agenda-skip-if (subtree conditions) @@ -20440,8 +20515,8 @@ notdeadline Check if there is no deadline regexp Check if regexp matches notregexp Check if regexp does not match. -The regexp is taken from the conditions list, it must com right after the -`regexp' of `notregexp' element. +The regexp is taken from the conditions list, it must come right after +the `regexp' or `notregexp' element. If any of these conditions is met, this function returns the end point of the entity, causing the search to continue from there. This is a function @@ -24435,14 +24510,16 @@ the body tags themselves." (umax nil) (umax-toc nil) (filename (if to-buffer nil - (concat (file-name-as-directory - (org-export-directory :html opt-plist)) - (file-name-sans-extension - (or (and subtree-p - (org-entry-get (region-beginning) - "EXPORT_FILE_NAME" t)) - (file-name-nondirectory buffer-file-name))) - "." org-export-html-extension))) + (expand-file-name + (concat + (file-name-sans-extension + (or (and subtree-p + (org-entry-get (region-beginning) + "EXPORT_FILE_NAME" t)) + (file-name-nondirectory buffer-file-name))) + "." org-export-html-extension) + (file-name-as-directory + (org-export-directory :html opt-plist))))) (current-dir (if buffer-file-name (file-name-directory buffer-file-name) default-directory)) @@ -25889,8 +25966,8 @@ The XOXO buffer is named *xoxo-*" ;; Output everything as XOXO (with-current-buffer (get-buffer buffer) - (goto-char (point-min)) ;; CD: beginning-of-buffer is not allowed. - (let* ((opt-plist (org-combine-plists (org-default-export-plist) + (let* ((pos (point)) + (opt-plist (org-combine-plists (org-default-export-plist) (org-infile-export-plist))) (filename (concat (file-name-as-directory (org-export-directory :xoxo opt-plist)) @@ -25900,6 +25977,7 @@ The XOXO buffer is named *xoxo-*" (out (find-file-noselect filename)) (last-level 1) (hanging-li nil)) + (goto-char (point-min)) ;; CD: beginning-of-buffer is not allowed. ;; Check the output buffer is empty. (with-current-buffer out (erase-buffer)) ;; Kick off the output @@ -25952,6 +26030,7 @@ The XOXO buffer is named *xoxo-*" (org-export-as-xoxo-insert-into out "\n")) (org-export-as-xoxo-insert-into out "\n")) + (goto-char pos) ;; Finish the buffer off and clean it up. (switch-to-buffer-other-window out) (indent-region (point-min) (point-max) nil) @@ -27678,13 +27757,6 @@ Still experimental, may disappear in the future." ;; make tree, check each match with the callback (org-occur "CLOSED: +\\[\\(.*?\\)\\]" nil callback))) -(defun org-first-list-item-p () - "Is this heading the item in a plain list?" - (unless (org-at-item-p) - (error "Not at a plain list item")) - (org-beginning-of-item) - (= (point) (save-excursion (org-beginning-of-item-list)))) - ;;;; Finish up (provide 'org) diff --git a/org.pdf b/org.pdf index 0df7fce72..cb8e710c7 100644 Binary files a/org.pdf and b/org.pdf differ diff --git a/org.texi b/org.texi index 3454f047a..f5f8e568b 100644 --- a/org.texi +++ b/org.texi @@ -3,8 +3,8 @@ @setfilename ../../info/org @settitle Org Mode Manual -@set VERSION 5.17 -@set DATE December 2007 +@set VERSION 5.18 +@set DATE January 2008 @dircategory Emacs @direntry @@ -35,7 +35,7 @@ @copying This manual is for Org-mode (version @value{VERSION}). -Copyright @copyright{} 2004, 2005, 2006, 2007 Free Software Foundation +Copyright @copyright{} 2004, 2005, 2006, 2007, 2008 Free Software Foundation @quotation Permission is granted to copy, distribute and/or modify this document @@ -387,7 +387,7 @@ agenda that utilizes and smoothly integrates much of the Emacs calendar and diary. Plain text URL-like links connect to websites, emails, Usenet messages, BBDB entries, and any files related to the projects. For printing and sharing of notes, an Org-mode file can be exported as a -structured ASCII file, as HTML, or (todo and agenda items only) as an +structured ASCII file, as HTML, or (TODO and agenda items only) as an iCalendar file. It can also serve as a publishing tool for a set of linked webpages. @@ -1452,11 +1452,6 @@ that are not fully visible (@pxref{Narrow columns}). When called with a @kbd{C-u} prefix, just make the full field visible, so that it can be edited in place. @c -@kindex C-c @key{TAB} -@item C-c @key{TAB} -This is an alias for @kbd{C-u C-c `} to make the current field fully -visible. -@c @item M-x org-table-import Import a file as a table. The table should be TAB- or whitespace separated. Useful, for example, to import a spreadsheet table or data @@ -1723,8 +1718,8 @@ line like @noindent Also properties (@pxref{Properties and columns}) can be used as -constants in table formulas: For a property @samp{:XYZ:} use the name -@samp{$PROP_XYZ}, and the property will be searched in the current +constants in table formulas: For a property @samp{:Xyz:} use the name +@samp{$PROP_Xyz}, and the property will be searched in the current outline entry and in the hierarchy above it. If you have the @file{constants.el} package, it will also be used to resolve constants, including natural constants like @samp{$h} for Planck's constant, and @@ -2686,7 +2681,7 @@ View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds the entire buffer, but shows all TODO items and the headings hierarchy above them. With prefix arg, search for a specific TODO. You will be prompted for the keyword, and you can also give a list of keywords like -@code{kwd1|kwd2|...}. With numerical prefix N, show the tree for the +@code{KWD1|KWD2|...}. With numerical prefix N, show the tree for the Nth keyword in the variable @code{org-todo-keywords}. With two prefix args, find all TODO and DONE entries. @kindex C-c a t @@ -2934,7 +2929,7 @@ a TODO item. If you want to keep track of @emph{when} a certain TODO item was finished, turn on logging with@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: logdone}. You may also set this for the -scope of a subtree by adding a @code{LOGGING} property with one or more +scope of a subtree by adding a @code{:LOGGING:} property with one or more of the logging keywords in the value.} @lisp @@ -3356,7 +3351,7 @@ Select headlines tagged @samp{:work:}, but discard those also tagged Selects lines tagged @samp{:work:} or @samp{:laptop:}. @item work|laptop&night Like before, but require the @samp{:laptop:} lines to be tagged also -@samp{night}. +@samp{:night:}. @end table @cindex TODO keyword matching, with tags search @@ -3387,7 +3382,7 @@ Select @samp{:work:}-tagged TODO lines that are either @samp{WAITING} or Any element of the tag/todo match can be a regular expression - in this case it must be enclosed in curly braces. For example, @samp{work+@{^boss.*@}} matches headlines that contain the tag -@samp{work} and any tag @i{starting} with @samp{boss}. +@samp{:work:} and any tag @i{starting} with @samp{boss}. @cindex level, require for tags/property match @cindex category, require for tags/property match @@ -3408,7 +3403,7 @@ implement (very basic) database capabilities in an Org-mode buffer. For an example of the first application, imagine maintaining a file where you document bugs and plan releases of a piece of software. Instead of using tags like @code{:release_1:}, @code{:release_2:}, one can use a -property, say @code{Release}, that in different subtrees has different +property, say @code{:Release:}, that in different subtrees has different values, such as @code{1.0} or @code{2.0}. For an example of the second application of properties, imagine keeping track of one's music CD's, where properties could be things such as the album artist, date of @@ -3417,18 +3412,13 @@ release, number of tracks, and so on. Properties can be conveiently edited and viewed in column view (@pxref{Column view}). - - - - - -are like tags, but with a value. For example, in a file where you -document bugs and plan releases of a piece of software, instead of using -tags like @code{:release_1:}, @code{:release_2:}, it can be more -efficient to use a property @code{Release} with a value @code{1.0} or -@code{2.0}. Second, you can use properties to implement (very basic) -database capabilities in an Org-mode buffer, for example to create a -list of Music CD's you own. You can edit and view properties +Properties are like tags, but with a value. For example, in a file +where you document bugs and plan releases of a piece of software, +instead of using tags like @code{:release_1:}, @code{:release_2:}, it +can be more efficient to use a property @code{:Release:} with a value +@code{1.0} or @code{2.0}. Second, you can use properties to implement +(very basic) database capabilities in an Org-mode buffer, for example to +create a list of Music CD's you own. You can edit and view properties conveniently in column view (@pxref{Column view}). @menu @@ -3463,8 +3453,8 @@ first, and the value after it. Here is an example: :END: @end example -You may define the allowed values for a particular property @samp{Xyz} -by setting a property @samp{Xyz_ALL}. This special property is +You may define the allowed values for a particular property @samp{:Xyz:} +by setting a property @samp{:Xyz_ALL:}. This special property is @emph{inherited}, so if you set it in a level 1 entry, it will apply to the entire tree. When allowed values are defined, setting the corresponding property becomes easier and is less prone to typing @@ -3602,16 +3592,16 @@ least for the special applications for which they are used: @table @code @item COLUMNS -The column property defines the format of column view (@pxref{Column -view}). It is inherited in the sense that the level where a -@code{COLUMNS} property is defined is used as the starting point for a -column view table, independently of the location in the subtree from -where columns view is turned on. +The @code{:COLUMNS:} property defines the format of column view +(@pxref{Column view}). It is inherited in the sense that the level +where a @code{:COLUMNS:} property is defined is used as the starting +point for a column view table, independently of the location in the +subtree from where columns view is turned on. @item CATEGORY -For agenda view, a category set through a @code{CATEGORY} property +For agenda view, a category set through a @code{:CATEGORY:} property applies to the entire subtree. @item ARCHIVE -For archiving, the @code{ARCHIVE} property may define the archive +For archiving, the @code{:ARCHIVE:} property may define the archive location for the entire subtree (@pxref{Moving subtrees}). @end table @@ -3660,8 +3650,9 @@ To define a column format for an entire file, use a line like #+COLUMNS: %25ITEM %TAGS %PRIORITY %TODO @end example -To specify a format that only applies to a specific tree, add a COLUMNS -property to the top node of that tree, for example +To specify a format that only applies to a specific tree, add a +@code{:COLUMNS:} property to the top node of that tree, for example: + @example ** Top node for columns view :PROPERTIES: @@ -3669,7 +3660,7 @@ property to the top node of that tree, for example :END: @end example -If a @code{COLUMNS} property is present in an entry, it defines columns +If a @code{:COLUMNS:} property is present in an entry, it defines columns for the entry itself, and for the entire subtree below it. Since the column definition is part of the hierarchical structure of the document, you can define columns on level 1 that are general enough for all @@ -3737,9 +3728,9 @@ an @samp{[X]} status if all children have been checked. @kindex C-c C-x C-c @item C-c C-x C-c Create the column view for the local environment. This command searches -the hierarchy, up from point, for a @code{COLUMNS} property that defines +the hierarchy, up from point, for a @code{:COLUMNS:} property that defines a format. When one is found, the column view table is established for -the entire tree, starting from the entry that contains the @code{COLUMNS} +the entire tree, starting from the entry that contains the @code{:COLUMNS:} property. If none is found, the format is taken from the @code{#+COLUMNS} line or from the variable @code{org-columns-default-format}, and column view is established for the current entry and its subtree. @@ -5522,14 +5513,14 @@ search types: (setq org-agenda-custom-commands '(("w" todo "WAITING") ("W" todo-tree "WAITING") - ("u" tags "+BOSS-URGENT") - ("v" tags-todo "+BOSS-URGENT") - ("U" tags-tree "+BOSS-URGENT") + ("u" tags "+boss-urgent") + ("v" tags-todo "+boss-urgent") + ("U" tags-tree "+boss-urgent") ("f" occur-tree "\\") ("h" . "HOME+Name tags searches") ; description for "h" prefix - ("hl" tags "+HOME+Lisa") - ("hp" tags "+HOME+Peter") - ("hk" tags "+HOME+Kim"))) + ("hl" tags "+home+Lisa") + ("hp" tags "+home+Peter") + ("hk" tags "+home+Kim"))) @end group @end lisp @@ -5553,8 +5544,8 @@ keyword as the same search, but only in the current buffer and displaying the results as a sparse tree @item C-c a u -as a global tags search for headlines marked @samp{:BOSS:} but not -@samp{:URGENT:} +as a global tags search for headlines marked @samp{:boss:} but not +@samp{:urgent:} @item C-c a v as the same search as @kbd{C-c a u}, but limiting the search to headlines that are also TODO items @@ -5588,12 +5579,12 @@ matching commands discussed above: @code{todo}, @code{tags}, and (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda) - (tags-todo "HOME") - (tags "GARDEN"))) + (tags-todo "home") + (tags "garden"))) ("o" "Agenda and Office-related tasks" ((agenda) - (tags-todo "WORK") - (tags "OFFICE"))))) + (tags-todo "work") + (tags "office"))))) @end group @end lisp @@ -5601,7 +5592,7 @@ matching commands discussed above: @code{todo}, @code{tags}, and This will define @kbd{C-c a h} to create a multi-block view for stuff you need to attend to at home. The resulting agenda buffer will contain your agenda for the current week, all TODO items that carry the tag -@samp{HOME}, and also all lines tagged with @samp{GARDEN}. Finally the +@samp{home}, and also all lines tagged with @samp{garden}. Finally the command @kbd{C-c a o} provides a similar view for office tasks. @@ -5622,7 +5613,7 @@ right spot in @code{org-agenda-custom-commands}. For example: '(("w" todo "WAITING" ((org-agenda-sorting-strategy '(priority-down)) (org-agenda-prefix-format " Mixed: "))) - ("U" tags-tree "+BOSS-URGENT" + ("U" tags-tree "+boss-urgent" ((org-show-following-heading nil) (org-show-hierarchy-above nil))))) @end group @@ -5630,7 +5621,7 @@ right spot in @code{org-agenda-custom-commands}. For example: @noindent Now the @kbd{C-c a w} command will sort the collected entries only by -priority, and the prefix format is modified to just say @samp{ Mixed:} +priority, and the prefix format is modified to just say @samp{ Mixed: } instead of giving the category of the entry. The sparse tags tree of @kbd{C-c a U} will now turn out ultra-compact, because neither the headline hierarchy above the match, nor the headline following the match @@ -5652,14 +5643,14 @@ the results for GARDEN tags query in the opposite order, (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda) - (tags-todo "HOME") - (tags "GARDEN" + (tags-todo "home") + (tags "garden" ((org-agenda-sorting-strategy '(priority-up))))) ((org-agenda-sorting-strategy '(priority-down)))) ("o" "Agenda and Office-related tasks" ((agenda) - (tags-todo "WORK") - (tags "OFFICE"))))) + (tags-todo "work") + (tags "office"))))) @end group @end lisp @@ -5718,14 +5709,14 @@ or absolute. ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps")) ("h" "Agenda and Home-related tasks" ((agenda) - (tags-todo "HOME") - (tags "GARDEN")) + (tags-todo "home") + (tags "garden")) nil ("~/views/home.html")) ("o" "Agenda and Office-related tasks" ((agenda) - (tags-todo "WORK") - (tags "OFFICE")) + (tags-todo "work") + (tags "office")) nil ("~/views/office.ps")))) @end group @@ -6166,7 +6157,8 @@ will be @file{myfile.txt}. The file will be overwritten without warning. If there is an active region, only the region will be exported. If the selected region is a single tree, the tree head will become the document title. If the tree head entry has or inherits an -EXPORT_FILE_NAME property, that name will be used for the export. +@code{:EXPORT_FILE_NAME:} property, that name will be used for the +export. @kindex C-c C-e v a @item C-c C-e v a Export only the visible part of the document. @@ -6221,8 +6213,8 @@ Export as HTML file @file{myfile.html}. For an org file will be overwritten without warning. If there is an active region, only the region will be exported. If the selected region is a single tree, the tree head will become the document title. If the tree head entry -has or inherits an EXPORT_FILE_NAME property, that name will be used for -the export. +has or inherits an @code{:EXPORT_FILE_NAME:} property, that name will be +used for the export. @kindex C-c C-e b @item C-c C-e b Export as HTML file and immediately open it with a browser. @@ -6854,11 +6846,11 @@ Each element of the list configures one project, and may be in one of the two following forms: @lisp -("project-name" :property value :property value ...) +("project-name" :property value :property value ...) @r{or} -("project-name" :components ("project-name" "project-name" ...)) +("project-name" :components ("project-name" "project-name" ...)) @end lisp @@ -7264,7 +7256,8 @@ for all subsequent lines until the next @samp{#+CATEGORY} line, or the end of the file. The first such line also applies to any entries before it. @item #+COLUMNS: %25ITEM ..... Set the default format for columns view. This format applies when -columns view is invoked in location where no COLUMNS property applies. +columns view is invoked in location where no @code{COLUMNS} property +applies. @item #+CONSTANTS: name1=value1 ... Set file-local values for constants to be used in table formulas. This line set the local variable @code{org-table-formula-constants-local}. @@ -8314,7 +8307,7 @@ search should continue from there. (defun my-skip-unless-waiting () "Skip trees that are not waiting" (let ((subtree-end (save-excursion (org-end-of-subtree t)))) - (if (re-search-forward ":WAITING:" subtree-end t) + (if (re-search-forward ":waiting:" subtree-end t) nil ; tag found, do not skip subtree-end))) ; tag not found, continue after end of subtree @end lisp @@ -8360,7 +8353,7 @@ like this, even without defining a special function: (org-add-agenda-custom-command '("b" todo "PROJECT" ((org-agenda-skip-function '(org-agenda-skip-subtree-if - 'regexp ":WAITING:")) + 'regexp ":waiting:")) (org-agenda-overriding-header "Projects waiting for something: ")))) @end lisp diff --git a/orgcard.pdf b/orgcard.pdf index 102494277..73721b4f9 100644 Binary files a/orgcard.pdf and b/orgcard.pdf differ diff --git a/orgcard.tex b/orgcard.tex index 9179fdfb8..059b124b1 100644 --- a/orgcard.tex +++ b/orgcard.tex @@ -1,7 +1,7 @@ % Reference Card for Org Mode -\def\orgversionnumber{5.17} -\def\versionyear{2007} % latest update -\def\year{2007} % latest copyright year +\def\orgversionnumber{5.18} +\def\versionyear{2008} % latest update +\def\year{2008} % latest copyright year %**start of header \newcount\columnsperpage @@ -19,7 +19,7 @@ % Nothing else needs to be changed below this line. % Copyright (C) 1987, 1993, 1996, 1997, 2001, 2002, 2003, 2004, -% 2005, 2006, 2007 Free Software Foundation, Inc. +% 2005, 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs.