Browse Source

Release 4.51

Carsten Dominik 17 years ago
parent
commit
fdf165e556
6 changed files with 673 additions and 266 deletions
  1. 327 184
      org
  2. 207 61
      org.el
  3. BIN
      org.pdf
  4. 133 16
      org.texi
  5. BIN
      orgcard.pdf
  6. 6 5
      orgcard.tex

+ 327 - 184
org

@@ -5,7 +5,7 @@ START-INFO-DIR-ENTRY
 * Org Mode: (org).      outline-based notes management and organizer
 * Org Mode: (org).      outline-based notes management and organizer
 END-INFO-DIR-ENTRY
 END-INFO-DIR-ENTRY
 
 
-   This manual is for Org-mode (version 4.50).
+   This manual is for Org-mode (version 4.51).
 
 
    Copyright (C) 2004, 2005, 2006 Free Software Foundation
    Copyright (C) 2004, 2005, 2006 Free Software Foundation
 
 
@@ -27,7 +27,7 @@ File: org,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
 Org Mode Manual
 Org Mode Manual
 ***************
 ***************
 
 
-This manual is for Org-mode (version 4.50).
+This manual is for Org-mode (version 4.51).
 
 
    Copyright (C) 2004, 2005, 2006 Free Software Foundation
    Copyright (C) 2004, 2005, 2006 Free Software Foundation
 
 
@@ -111,6 +111,7 @@ Hyperlinks
 * Internal links::              Links to other places in the current file
 * Internal links::              Links to other places in the current file
 * External links::              URL-like links to the world
 * External links::              URL-like links to the world
 * Handling links::              Creating, inserting and following
 * Handling links::              Creating, inserting and following
+* Link abbreviations::          Shortcuts for writing complex links
 * Search options::              Linking to a specific location
 * Search options::              Linking to a specific location
 * Custom searches::             When the default search is not enough
 * Custom searches::             When the default search is not enough
 * Remember::                    Org-trees store quick notes
 * Remember::                    Org-trees store quick notes
@@ -140,6 +141,10 @@ Timestamps
 * Creating timestamps::         Commands which insert timestamps
 * Creating timestamps::         Commands which insert timestamps
 * Progress logging::            Documenting when what work was done.
 * Progress logging::            Documenting when what work was done.
 
 
+Creating timestamps
+
+* The date/time prompt::
+
 Progress Logging
 Progress Logging
 
 
 * Closing items::               When was this entry marked DONE?
 * Closing items::               When was this entry marked DONE?
@@ -1445,6 +1450,7 @@ links to other files, Usenet articles, emails, and much more.
 * Internal links::              Links to other places in the current file
 * Internal links::              Links to other places in the current file
 * External links::              URL-like links to the world
 * External links::              URL-like links to the world
 * Handling links::              Creating, inserting and following
 * Handling links::              Creating, inserting and following
+* Link abbreviations::          Shortcuts for writing complex links
 * Search options::              Linking to a specific location
 * Search options::              Linking to a specific location
 * Custom searches::             When the default search is not enough
 * Custom searches::             When the default search is not enough
 * Remember::                    Org-trees store quick notes
 * Remember::                    Org-trees store quick notes
@@ -1553,9 +1559,11 @@ File: org,  Node: CamelCase links,  Prev: Radio targets,  Up: Internal links
 
 
 Org-mode also supports CamelCase words as links.  This feature is not
 Org-mode also supports CamelCase words as links.  This feature is not
 turned on by default because of the inconsistencies this system suffers
 turned on by default because of the inconsistencies this system suffers
-from.  To activate CamelCase words as links, you need to customize the
-option `org-activate-links'.  A CamelCase word then leads to a text
-search such that `CamelCaseLink' is equivalent to `[[camel case link]]'.
+from.  It is also possible that this feature will disappear entirely in
+a future version of Org-mode.  To activate CamelCase words as links, you
+need to customize the option `org-activate-links'.  A CamelCase word
+then leads to a text search such that `CamelCaseLink' is equivalent to
+`[[camel case link]]'.
 
 
 
 
 File: org,  Node: External links,  Next: Handling links,  Prev: Internal links,  Up: Hyperlinks
 File: org,  Node: External links,  Next: Handling links,  Prev: Internal links,  Up: Hyperlinks
@@ -1601,7 +1609,7 @@ them as links.  If spaces must be part of the link (for example in
 end of the link, enclose them in angular brackets.
 end of the link, enclose them in angular brackets.
 
 
 
 
-File: org,  Node: Handling links,  Next: Search options,  Prev: External links,  Up: Hyperlinks
+File: org,  Node: Handling links,  Next: Link abbreviations,  Prev: External links,  Up: Hyperlinks
 
 
 4.4 Handling links
 4.4 Handling links
 ==================
 ==================
@@ -1678,7 +1686,8 @@ insert it into an org-mode file, and to follow the link.
      Under Emacs 22, also `mouse-1' will follow a link.
      Under Emacs 22, also `mouse-1' will follow a link.
 
 
 `mouse-3'
 `mouse-3'
-     Like `mouse-2', but force file links to be opened with Emacs.
+     Like `mouse-2', but force file links to be opened with Emacs, and
+     internal links to be displayed in another window(2).
 
 
 `C-c %'
 `C-c %'
      Push the current position onto the mark ring, to be able to return
      Push the current position onto the mark ring, to be able to return
@@ -1697,10 +1706,53 @@ the list of stored links.  To keep it in the list later use, use a
 triple `C-u' prefix to `C-c C-l', or configure the option
 triple `C-u' prefix to `C-c C-l', or configure the option
 `org-keep-stored-link-after-insertion'.
 `org-keep-stored-link-after-insertion'.
 
 
+   (2) See the variable `org-display-internal-link-with-indirect-buffer'
+
+
+File: org,  Node: Link abbreviations,  Next: Search options,  Prev: Handling links,  Up: Hyperlinks
+
+4.5 Link abbreviatons
+=====================
+
+Long URLs can be cumbersome to type, and often many similar links are
+needed in a document.  For this you can use link abbreviations.  An
+abbreviated link looks like this
+
+     [[linkword::tag][description]]
+
+where the tag is optional.  Such abbreviations are resolved according to
+the information in the variable `org-link-abbrev-alist' that relates
+the linkwords to replacement text.  Here is an example:
+
+     (setq org-link-abbrev-alist
+       '(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=")
+         ("google"   . "http://www.google.com/search?q=")
+         ("ads"      . "http://adsabs.harvard.edu/cgi-bin/
+                        nph-abs_connect?author=%s&db_key=AST")))
+
+   If the replacement text contains the string `%s', it will be
+replaced with the tag.  Otherwise the tag will be appended to the string
+in order to create the link.  You may also specify a function that will
+be called with the tag as the only argument to create the link.
+
+   With the above setting, you could link to a specific bug with
+`[[bugzilla::129]]', search the web for OrgMode with
+`[[google::OrgMode]]' and find out what the Org-mode author is doing
+besides Emacs hacking with `[[ads::Dominik,C]]'.
+
+   If you need special abbreviations just for a single Org-mode buffer,
+you can define them in the file with
+
+     #+LINK: bugzilla  http://10.1.2.9/bugzilla/show_bug.cgi?id=
+     #+LINK: google    http://www.google.com/search?q=%s
+
+In-buffer completion *note Completion:: can be used after `[' to
+complete link abbreviations.
+
 
 
-File: org,  Node: Search options,  Next: Custom searches,  Prev: Handling links,  Up: Hyperlinks
+File: org,  Node: Search options,  Next: Custom searches,  Prev: Link abbreviations,  Up: Hyperlinks
 
 
-4.5 Search options in file links
+4.6 Search options in file links
 ================================
 ================================
 
 
 File links can contain additional information to make Emacs jump to a
 File links can contain additional information to make Emacs jump to a
@@ -1750,7 +1802,7 @@ single colon.
 
 
 File: org,  Node: Custom searches,  Next: Remember,  Prev: Search options,  Up: Hyperlinks
 File: org,  Node: Custom searches,  Next: Remember,  Prev: Search options,  Up: Hyperlinks
 
 
-4.6 Custom Searches
+4.7 Custom Searches
 ===================
 ===================
 
 
 The default mechanism for creating search strings and for doing the
 The default mechanism for creating search strings and for doing the
@@ -1772,7 +1824,7 @@ implementation example.  Search for `BibTeX links' in the source file.
 
 
 File: org,  Node: Remember,  Prev: Custom searches,  Up: Hyperlinks
 File: org,  Node: Remember,  Prev: Custom searches,  Up: Hyperlinks
 
 
-4.7 Remember
+4.8 Remember
 ============
 ============
 
 
 Another way to create org entries with links to other files is through
 Another way to create org entries with links to other files is through
@@ -2303,12 +2355,37 @@ format.
      end.  With prefix arg, insert result after the time range (in a
      end.  With prefix arg, insert result after the time range (in a
      table: into the following column).
      table: into the following column).
 
 
-   When Org-mode prompts for a date/time, the function reading your
-input will replace anything you choose not to specify with the current
-date and time.  For details, see the documentation string of
-`org-read-date'.  Also, a calender will pop up to allow selecting a
-date.  The calendar can be fully controlled from the minibuffer, and a
-date can be selected with the following commands:
+* Menu:
+
+* The date/time prompt::
+
+
+File: org,  Node: The date/time prompt,  Prev: Creating timestamps,  Up: Creating timestamps
+
+6.2.1 The date/time prompt
+--------------------------
+
+When Org-mode prompts for a date/time, the prompt suggests to enter an
+ISO date.  But it will in fact accept any string containing some date
+and/or time information.  You can, for example, use `C-y' to paste a
+(possibly multi-line) string copied from an email message.  Org-mode
+will find whatever information is in there and will replace anything not
+specified with the current date and time.  For example:
+
+       3-2-5         --> 2003-02-05
+       feb 15        --> currentyear-02-15
+       sep 12 9      --> 2009-09-12
+       12:45         --> today 12:45
+       22 sept 0:34  --> currentyear-09-22 0:34
+       12            --> currentyear-currentmonth-12
+       Fri           --> nearest Friday (today or later)
+
+   The function understands English month and weekday abbreviations.  If
+you want to use unabbreviated names and/or other languages, configure
+the variables `parse-time-months' and `parse-time-weekdays'.
+
+   Parallel to the minibuffer prompt, a calendar is popped up(1).  You
+can control the calendar fully from the minibuffer:
 
 
 `<'
 `<'
      Scroll calendar backwards by one month.  
      Scroll calendar backwards by one month.  
@@ -2340,6 +2417,11 @@ date can be selected with the following commands:
 `<RET>'
 `<RET>'
      Choose date in calendar (only if nothing typed into minibuffer).
      Choose date in calendar (only if nothing typed into minibuffer).
 
 
+   ---------- Footnotes ----------
+
+   (1) If you don't need/want the calendar, configure the variable
+`org-popup-calendar-for-date-prompt'.
+
 
 
 File: org,  Node: Progress logging,  Prev: Creating timestamps,  Up: Timestamps
 File: org,  Node: Progress logging,  Prev: Creating timestamps,  Up: Timestamps
 
 
@@ -2649,6 +2731,10 @@ This buffer is read-only, but provides commands to visit the
 corresponding locations in the original Org-mode files, and even to
 corresponding locations in the original Org-mode files, and even to
 edit these files remotely.
 edit these files remotely.
 
 
+   Two variables control how the agenda buffer is displayed and whether
+the window configuration is restored when the agenda exits:
+`org-agenda-window-setup' and `org-agenda-restore-windows-after-quit'.
+
 * Menu:
 * Menu:
 
 
 * Agenda files::                Files being searched for agenda information
 * Agenda files::                Files being searched for agenda information
@@ -4280,6 +4366,9 @@ buffer and use the key to complete text right there.
           in-buffer option, *note Setting tags::), or it is created
           in-buffer option, *note Setting tags::), or it is created
           dynamically from all tags used in the current buffer.
           dynamically from all tags used in the current buffer.
 
 
+        * After `[', complete link abbreviations (*note Link
+          abbreviations::).
+
         * After `#+', complete the special keywords like `TYP_TODO' or
         * After `#+', complete the special keywords like `TYP_TODO' or
           `OPTIONS' which set file-specific options for Org-mode.  When
           `OPTIONS' which set file-specific options for Org-mode.  When
           the option keyword is already complete, pressing `M-<TAB>'
           the option keyword is already complete, pressing `M-<TAB>'
@@ -4359,6 +4448,11 @@ file is visited again in a new Emacs session.
      tags in this file, and (potentially) the corresponding _fast tag
      tags in this file, and (potentially) the corresponding _fast tag
      selection_ keys.  The corresponding variable is `org-tag-alist'.
      selection_ keys.  The corresponding variable is `org-tag-alist'.
 
 
+`#+LINK:  linkword replace'
+     These lines (several are allowed) specify link abbreviations.
+     *Note Link abbreviations::.  The corresponding variable is
+     `org-link-abbrev-alist'.
+
 `#+CATEGORY:'
 `#+CATEGORY:'
      This line sets the category for the agenda file.  The category
      This line sets the category for the agenda file.  The category
      applies for all subsequent lines until the next `#+CATEGORY' line,
      applies for all subsequent lines until the next `#+CATEGORY' line,
@@ -4873,6 +4967,8 @@ if I have forgotten someone, please accept my apologies and let me know.
    * Daniel Sinder came up with the idea of internal archiving by
    * Daniel Sinder came up with the idea of internal archiving by
      locking subtrees.
      locking subtrees.
 
 
+   * Dale Smith proposed link abbreviations.
+
    * David O'Toole wrote `org-publish.el' and drafted the manual
    * David O'Toole wrote `org-publish.el' and drafted the manual
      chapter about publishing.
      chapter about publishing.
 
 
@@ -4910,6 +5006,7 @@ Index
 [index]
 [index]
 * Menu:
 * Menu:
 
 
+* abbreviation, links:                   Link abbreviations.  (line   6)
 * acknowledgments:                       History and Acknowledgments.
 * acknowledgments:                       History and Acknowledgments.
                                                               (line   6)
                                                               (line   6)
 * action, for publishing:                Publishing action.   (line   6)
 * action, for publishing:                Publishing action.   (line   6)
@@ -4925,6 +5022,7 @@ Index
 * agenda files, removing buffers:        Agenda commands.     (line 211)
 * agenda files, removing buffers:        Agenda commands.     (line 211)
 * agenda views:                          Agenda views.        (line   6)
 * agenda views:                          Agenda views.        (line   6)
 * agenda views, custom:                  Custom agenda views. (line   6)
 * agenda views, custom:                  Custom agenda views. (line   6)
+* agenda, batch production:              Batch processing.    (line   6)
 * agenda, with block views:              Block agenda.        (line   6)
 * agenda, with block views:              Block agenda.        (line   6)
 * allout.el:                             Conflicts.           (line   6)
 * allout.el:                             Conflicts.           (line   6)
 * angular brackets, around links:        External links.      (line  38)
 * angular brackets, around links:        External links.      (line  38)
@@ -4939,6 +5037,8 @@ Index
 * bold text:                             Enhancing text.      (line  15)
 * bold text:                             Enhancing text.      (line  15)
 * bug reports:                           Feedback.            (line   6)
 * bug reports:                           Feedback.            (line   6)
 * bugs:                                  Bugs.                (line   6)
 * bugs:                                  Bugs.                (line   6)
+* C-c C-c, overview:                     The very busy C-c C-c key.
+                                                              (line   6)
 * calc package:                          Table calculations.  (line   6)
 * calc package:                          Table calculations.  (line   6)
 * calc.el:                               Cooperation.         (line   6)
 * calc.el:                               Cooperation.         (line   6)
 * calculations, in tables <1>:           Table calculations.  (line   6)
 * calculations, in tables <1>:           Table calculations.  (line   6)
@@ -4947,11 +5047,13 @@ Index
 * calendar commands, from agenda:        Agenda commands.     (line 172)
 * calendar commands, from agenda:        Agenda commands.     (line 172)
 * calendar integration:                  Calendar/Diary integration.
 * calendar integration:                  Calendar/Diary integration.
                                                               (line   6)
                                                               (line   6)
-* calendar, for selecting date:          Creating timestamps. (line  71)
+* calendar, for selecting date:          The date/time prompt.
+                                                              (line  25)
 * CamelCase link completion:             Completion.          (line   6)
 * CamelCase link completion:             Completion.          (line   6)
 * CamelCase links:                       Internal links.      (line   6)
 * CamelCase links:                       Internal links.      (line   6)
 * CamelCase links, completion of:        CamelCase links.     (line   6)
 * CamelCase links, completion of:        CamelCase links.     (line   6)
 * category:                              Categories.          (line   6)
 * category:                              Categories.          (line   6)
+* CDLaTeX:                               CDLaTeX mode.        (line   6)
 * cdlatex.el:                            Cooperation.         (line  29)
 * cdlatex.el:                            Cooperation.         (line  29)
 * checkbox statistics:                   Checkboxes.          (line  23)
 * checkbox statistics:                   Checkboxes.          (line  23)
 * checkboxes:                            Checkboxes.          (line   6)
 * checkboxes:                            Checkboxes.          (line   6)
@@ -4988,8 +5090,10 @@ Index
 * cycling, of TODO states:               TODO basics.         (line  13)
 * cycling, of TODO states:               TODO basics.         (line  13)
 * cycling, visibility:                   Visibility cycling.  (line   6)
 * cycling, visibility:                   Visibility cycling.  (line   6)
 * daily agenda:                          Weekly/Daily agenda. (line   6)
 * daily agenda:                          Weekly/Daily agenda. (line   6)
-* date stamps:                           Time stamps.         (line   6)
-* date, reading in minibuffer:           Creating timestamps. (line  71)
+* date stamps <1>:                       Time stamps.         (line   6)
+* date stamps:                           Timestamps.          (line   6)
+* date, reading in minibuffer:           The date/time prompt.
+                                                              (line   6)
 * DEADLINE keyword:                      Time stamps.         (line  43)
 * DEADLINE keyword:                      Time stamps.         (line  43)
 * deadlines:                             Time stamps.         (line   6)
 * deadlines:                             Time stamps.         (line   6)
 * demotion, of subtrees:                 Structure editing.   (line   6)
 * demotion, of subtrees:                 Structure editing.   (line   6)
@@ -5021,6 +5125,7 @@ Index
 * file links:                            External links.      (line   6)
 * file links:                            External links.      (line   6)
 * file links, searching:                 Search options.      (line   6)
 * file links, searching:                 Search options.      (line   6)
 * file name completion:                  Handling links.      (line  43)
 * file name completion:                  Handling links.      (line  43)
+* files for agenda:                      Agenda files.        (line   6)
 * files, adding to agenda list:          Agenda files.        (line  12)
 * files, adding to agenda list:          Agenda files.        (line  12)
 * files, selecting for publishing:       Selecting files.     (line   6)
 * files, selecting for publishing:       Selecting files.     (line   6)
 * fixed width:                           Enhancing text.      (line  25)
 * fixed width:                           Enhancing text.      (line  25)
@@ -5072,29 +5177,36 @@ Index
 * jumping, to headlines:                 Motion.              (line   6)
 * jumping, to headlines:                 Motion.              (line   6)
 * keybindings, global:                   Activation.          (line   6)
 * keybindings, global:                   Activation.          (line   6)
 * keyword options:                       Per file keywords.   (line   6)
 * keyword options:                       Per file keywords.   (line   6)
-* LaTeX fragments:                       Export options.      (line  25)
+* LaTeX fragments <1>:                   Export options.      (line  25)
+* LaTeX fragments:                       LaTeX fragments.     (line   6)
 * LaTeX fragments, export:               Enhancing text.      (line  18)
 * LaTeX fragments, export:               Enhancing text.      (line  18)
+* LaTeX fragments, preview:              Processing LaTeX fragments.
+                                                              (line   6)
 * LaTeX interpretation:                  Embedded LaTeX.      (line   6)
 * LaTeX interpretation:                  Embedded LaTeX.      (line   6)
 * linebreak preservation:                Export options.      (line  25)
 * linebreak preservation:                Export options.      (line  25)
 * linebreak, forced:                     Enhancing text.      (line  32)
 * linebreak, forced:                     Enhancing text.      (line  32)
+* link abbreviations:                    Link abbreviations.  (line   6)
 * link completion:                       Handling links.      (line  27)
 * link completion:                       Handling links.      (line  27)
 * link format:                           Link format.         (line   6)
 * link format:                           Link format.         (line   6)
 * links, external:                       External links.      (line   6)
 * links, external:                       External links.      (line   6)
+* links, handling:                       Handling links.      (line   6)
 * links, in HTML export:                 HTML export.         (line  35)
 * links, in HTML export:                 HTML export.         (line  35)
 * links, internal:                       Internal links.      (line   6)
 * links, internal:                       Internal links.      (line   6)
 * links, publishing:                     Publishing links.    (line   6)
 * links, publishing:                     Publishing links.    (line   6)
-* links, returning to:                   Handling links.      (line  84)
+* links, radio targets:                  Radio targets.       (line   6)
+* links, returning to:                   Handling links.      (line  85)
 * Lisp forms, as table formulas:         Lisp formulas.       (line   6)
 * Lisp forms, as table formulas:         Lisp formulas.       (line   6)
 * lists, hand-formatted:                 Enhancing text.      (line  11)
 * lists, hand-formatted:                 Enhancing text.      (line  11)
 * lists, ordered:                        Plain lists.         (line   6)
 * lists, ordered:                        Plain lists.         (line   6)
 * lists, plain:                          Plain lists.         (line   6)
 * lists, plain:                          Plain lists.         (line   6)
 * logging, of progress:                  Progress logging.    (line   6)
 * logging, of progress:                  Progress logging.    (line   6)
 * maintainer:                            Feedback.            (line   6)
 * maintainer:                            Feedback.            (line   6)
-* mark ring:                             Handling links.      (line  80)
+* mark ring:                             Handling links.      (line  81)
 * marking characters, tables:            Advanced features.   (line  34)
 * marking characters, tables:            Advanced features.   (line  34)
 * matching, of tags:                     Matching headline tags.
 * matching, of tags:                     Matching headline tags.
                                                               (line   6)
                                                               (line   6)
 * matching, tags:                        Tags.                (line   6)
 * matching, tags:                        Tags.                (line   6)
+* math symbols:                          Math symbols.        (line   6)
 * MH-E links:                            External links.      (line   6)
 * MH-E links:                            External links.      (line   6)
 * minor mode for tables:                 orgtbl-mode.         (line   6)
 * minor mode for tables:                 orgtbl-mode.         (line   6)
 * mode, for calc:                        Formula syntax.      (line  34)
 * mode, for calc:                        Formula syntax.      (line  34)
@@ -5140,6 +5252,7 @@ Index
 * promotion, of subtrees:                Structure editing.   (line   6)
 * promotion, of subtrees:                Structure editing.   (line   6)
 * publishing:                            Publishing.          (line   6)
 * publishing:                            Publishing.          (line   6)
 * quoted HTML tags:                      Export options.      (line  25)
 * quoted HTML tags:                      Export options.      (line  25)
+* radio targets:                         Radio targets.       (line   6)
 * ranges, time:                          Time stamps.         (line   6)
 * ranges, time:                          Time stamps.         (line   6)
 * recomputing table fields:              Column formulas.     (line  27)
 * recomputing table fields:              Column formulas.     (line  27)
 * region, active <1>:                    HTML export.         (line  10)
 * region, active <1>:                    HTML export.         (line  10)
@@ -5155,6 +5268,8 @@ Index
 * SCHEDULED keyword:                     Time stamps.         (line  30)
 * SCHEDULED keyword:                     Time stamps.         (line  30)
 * scheduling:                            Time stamps.         (line   6)
 * scheduling:                            Time stamps.         (line   6)
 * search option in file links:           Search options.      (line   6)
 * search option in file links:           Search options.      (line   6)
+* search strings, custom:                Custom searches.     (line   6)
+* searching for tags:                    Tag searches.        (line   6)
 * section-numbers:                       Export options.      (line  25)
 * section-numbers:                       Export options.      (line  25)
 * setting tags:                          Setting tags.        (line   6)
 * setting tags:                          Setting tags.        (line   6)
 * SHELL links:                           External links.      (line   6)
 * SHELL links:                           External links.      (line   6)
@@ -5175,12 +5290,16 @@ Index
 * structure of document:                 Document structure.  (line   6)
 * structure of document:                 Document structure.  (line   6)
 * sublevels, inclusion into tags match:  Tag inheritance.     (line   6)
 * sublevels, inclusion into tags match:  Tag inheritance.     (line   6)
 * sublevels, inclusion into todo list:   Global TODO list.    (line  31)
 * sublevels, inclusion into todo list:   Global TODO list.    (line  31)
+* subscript:                             Subscripts and Superscripts.
+                                                              (line   6)
 * subtree cycling:                       Visibility cycling.  (line  10)
 * subtree cycling:                       Visibility cycling.  (line  10)
 * subtree visibility states:             Visibility cycling.  (line  10)
 * subtree visibility states:             Visibility cycling.  (line  10)
 * subtree, cut and paste:                Structure editing.   (line   6)
 * subtree, cut and paste:                Structure editing.   (line   6)
 * subtree, subtree visibility state:     Visibility cycling.  (line  10)
 * subtree, subtree visibility state:     Visibility cycling.  (line  10)
 * subtrees, cut and paste:               Structure editing.   (line   6)
 * subtrees, cut and paste:               Structure editing.   (line   6)
 * summary:                               Summary.             (line   6)
 * summary:                               Summary.             (line   6)
+* superscript:                           Subscripts and Superscripts.
+                                                              (line   6)
 * syntax, of formulas:                   Formula syntax.      (line   6)
 * syntax, of formulas:                   Formula syntax.      (line   6)
 * table editor, builtin:                 Built-in table editor.
 * table editor, builtin:                 Built-in table editor.
                                                               (line   6)
                                                               (line   6)
@@ -5196,10 +5315,14 @@ Index
 * tags:                                  Tags.                (line   6)
 * tags:                                  Tags.                (line   6)
 * tags view:                             Matching headline tags.
 * tags view:                             Matching headline tags.
                                                               (line   6)
                                                               (line   6)
+* tags, setting:                         Setting tags.        (line   6)
+* targets, for links:                    Internal links.      (line   6)
+* targets, radio:                        Radio targets.       (line   6)
 * tasks, breaking down:                  Breaking down tasks. (line   6)
 * tasks, breaking down:                  Breaking down tasks. (line   6)
 * templates, for remember:               Remember.            (line  23)
 * templates, for remember:               Remember.            (line  23)
 * TeX interpretation:                    Embedded LaTeX.      (line   6)
 * TeX interpretation:                    Embedded LaTeX.      (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  18)
 * TeX macros, export:                    Enhancing text.      (line  18)
 * TeX symbol completion:                 Completion.          (line   6)
 * TeX symbol completion:                 Completion.          (line   6)
 * TeX-like syntax for sub- and superscripts: Export options.  (line  25)
 * TeX-like syntax for sub- and superscripts: Export options.  (line  25)
@@ -5207,8 +5330,10 @@ Index
                                                               (line   6)
                                                               (line   6)
 * time grid:                             Time-of-day specifications.
 * time grid:                             Time-of-day specifications.
                                                               (line  26)
                                                               (line  26)
-* time stamps:                           Time stamps.         (line   6)
-* time, reading in minibuffer:           Creating timestamps. (line  71)
+* time stamps <1>:                       Time stamps.         (line   6)
+* time stamps:                           Timestamps.          (line   6)
+* time, reading in minibuffer:           The date/time prompt.
+                                                              (line   6)
 * time-of-day specification:             Time-of-day specifications.
 * time-of-day specification:             Time-of-day specifications.
                                                               (line   6)
                                                               (line   6)
 * time-sorted view:                      Timeline.            (line   6)
 * time-sorted view:                      Timeline.            (line   6)
@@ -5260,10 +5385,12 @@ Key Index
 * -:                                     Agenda commands.     (line 132)
 * -:                                     Agenda commands.     (line 132)
 * .:                                     Agenda commands.     (line  94)
 * .:                                     Agenda commands.     (line  94)
 * ::                                     Agenda commands.     (line 112)
 * ::                                     Agenda commands.     (line 112)
-* <:                                     Creating timestamps. (line  78)
+* <:                                     The date/time prompt.
+                                                              (line  28)
 * <left>:                                Agenda commands.     (line  91)
 * <left>:                                Agenda commands.     (line  91)
 * <RET> <1>:                             Agenda commands.     (line  41)
 * <RET> <1>:                             Agenda commands.     (line  41)
-* <RET> <2>:                             Creating timestamps. (line 103)
+* <RET> <2>:                             The date/time prompt.
+                                                              (line  53)
 * <RET>:                                 Built-in table editor.
 * <RET>:                                 Built-in table editor.
                                                               (line  64)
                                                               (line  64)
 * <right>:                               Agenda commands.     (line  86)
 * <right>:                               Agenda commands.     (line  86)
@@ -5275,7 +5402,8 @@ Key Index
 * <TAB> <4>:                             Plain lists.         (line  37)
 * <TAB> <4>:                             Plain lists.         (line  37)
 * <TAB>:                                 Visibility cycling.  (line  10)
 * <TAB>:                                 Visibility cycling.  (line  10)
 * > <1>:                                 Agenda commands.     (line 154)
 * > <1>:                                 Agenda commands.     (line 154)
-* >:                                     Creating timestamps. (line  79)
+* >:                                     The date/time prompt.
+                                                              (line  29)
 * ^:                                     CDLaTeX mode.        (line  33)
 * ^:                                     CDLaTeX mode.        (line  33)
 * _:                                     CDLaTeX mode.        (line  33)
 * _:                                     CDLaTeX mode.        (line  33)
 * `:                                     CDLaTeX mode.        (line  39)
 * `:                                     CDLaTeX mode.        (line  39)
@@ -5289,8 +5417,8 @@ Key Index
 * C-c !:                                 Creating timestamps. (line  21)
 * C-c !:                                 Creating timestamps. (line  21)
 * C-c #:                                 Checkboxes.          (line  55)
 * C-c #:                                 Checkboxes.          (line  55)
 * C-c $:                                 Moving subtrees.     (line  10)
 * C-c $:                                 Moving subtrees.     (line  10)
-* C-c %:                                 Handling links.      (line  80)
-* C-c &:                                 Handling links.      (line  84)
+* C-c %:                                 Handling links.      (line  81)
+* C-c &:                                 Handling links.      (line  85)
 * C-c ' <1>:                             Editing/debugging formulas.
 * C-c ' <1>:                             Editing/debugging formulas.
                                                               (line  20)
                                                               (line  20)
 * C-c ':                                 Built-in table editor.
 * C-c ':                                 Built-in table editor.
@@ -5448,7 +5576,8 @@ Key Index
                                                               (line  89)
                                                               (line  89)
 * M-S-<down> <2>:                        Plain lists.         (line  59)
 * M-S-<down> <2>:                        Plain lists.         (line  59)
 * M-S-<down>:                            Structure editing.   (line  33)
 * M-S-<down>:                            Structure editing.   (line  33)
-* M-S-<left> <1>:                        Creating timestamps. (line 100)
+* M-S-<left> <1>:                        The date/time prompt.
+                                                              (line  50)
 * M-S-<left> <2>:                        Built-in table editor.
 * M-S-<left> <2>:                        Built-in table editor.
                                                               (line  76)
                                                               (line  76)
 * M-S-<left> <3>:                        Plain lists.         (line  65)
 * M-S-<left> <3>:                        Plain lists.         (line  65)
@@ -5456,7 +5585,8 @@ Key Index
 * M-S-<RET> <1>:                         Checkboxes.          (line  52)
 * M-S-<RET> <1>:                         Checkboxes.          (line  52)
 * M-S-<RET> <2>:                         Plain lists.         (line  52)
 * M-S-<RET> <2>:                         Plain lists.         (line  52)
 * M-S-<RET>:                             Structure editing.   (line  15)
 * M-S-<RET>:                             Structure editing.   (line  15)
-* M-S-<right> <1>:                       Creating timestamps. (line  97)
+* M-S-<right> <1>:                       The date/time prompt.
+                                                              (line  47)
 * M-S-<right> <2>:                       Built-in table editor.
 * M-S-<right> <2>:                       Built-in table editor.
                                                               (line  79)
                                                               (line  79)
 * M-S-<right> <3>:                       Plain lists.         (line  65)
 * M-S-<right> <3>:                       Plain lists.         (line  65)
@@ -5466,7 +5596,8 @@ Key Index
 * M-S-<up> <2>:                          Plain lists.         (line  59)
 * M-S-<up> <2>:                          Plain lists.         (line  59)
 * M-S-<up>:                              Structure editing.   (line  30)
 * M-S-<up>:                              Structure editing.   (line  30)
 * mouse-1 <1>:                           Agenda commands.     (line  35)
 * mouse-1 <1>:                           Agenda commands.     (line  35)
-* mouse-1 <2>:                           Creating timestamps. (line  82)
+* mouse-1 <2>:                           The date/time prompt.
+                                                              (line  32)
 * mouse-1:                               Handling links.      (line  72)
 * mouse-1:                               Handling links.      (line  72)
 * mouse-2 <1>:                           Agenda commands.     (line  35)
 * mouse-2 <1>:                           Agenda commands.     (line  35)
 * mouse-2:                               Handling links.      (line  72)
 * mouse-2:                               Handling links.      (line  72)
@@ -5483,23 +5614,31 @@ Key Index
 * S:                                     Agenda commands.     (line 189)
 * S:                                     Agenda commands.     (line 189)
 * s:                                     Agenda commands.     (line  83)
 * s:                                     Agenda commands.     (line  83)
 * S-<down> <1>:                          Agenda commands.     (line 132)
 * S-<down> <1>:                          Agenda commands.     (line 132)
-* S-<down> <2>:                          Creating timestamps. (line  58)
-* S-<down> <3>:                          Priorities.          (line  25)
+* S-<down> <2>:                          The date/time prompt.
+                                                              (line  41)
+* S-<down> <3>:                          Creating timestamps. (line  58)
+* S-<down> <4>:                          Priorities.          (line  25)
 * S-<down>:                              Plain lists.         (line  55)
 * S-<down>:                              Plain lists.         (line  55)
 * S-<left> <1>:                          Agenda commands.     (line 150)
 * S-<left> <1>:                          Agenda commands.     (line 150)
-* S-<left> <2>:                          Creating timestamps. (line  53)
+* S-<left> <2>:                          The date/time prompt.
+                                                              (line  38)
+* S-<left> <3>:                          Creating timestamps. (line  53)
 * S-<left>:                              TODO basics.         (line  20)
 * S-<left>:                              TODO basics.         (line  20)
 * S-<RET>:                               Built-in table editor.
 * S-<RET>:                               Built-in table editor.
                                                               (line 170)
                                                               (line 170)
 * S-<right> <1>:                         Agenda commands.     (line 142)
 * S-<right> <1>:                         Agenda commands.     (line 142)
-* S-<right> <2>:                         Creating timestamps. (line  53)
+* S-<right> <2>:                         The date/time prompt.
+                                                              (line  35)
+* S-<right> <3>:                         Creating timestamps. (line  53)
 * S-<right>:                             TODO basics.         (line  20)
 * S-<right>:                             TODO basics.         (line  20)
 * S-<TAB> <1>:                           Built-in table editor.
 * S-<TAB> <1>:                           Built-in table editor.
                                                               (line  61)
                                                               (line  61)
 * S-<TAB>:                               Visibility cycling.  (line  22)
 * S-<TAB>:                               Visibility cycling.  (line  22)
 * S-<up> <1>:                            Agenda commands.     (line 126)
 * S-<up> <1>:                            Agenda commands.     (line 126)
-* S-<up> <2>:                            Creating timestamps. (line  58)
-* S-<up> <3>:                            Priorities.          (line  25)
+* S-<up> <2>:                            The date/time prompt.
+                                                              (line  44)
+* S-<up> <3>:                            Creating timestamps. (line  58)
+* S-<up> <4>:                            Priorities.          (line  25)
 * S-<up>:                                Plain lists.         (line  55)
 * S-<up>:                                Plain lists.         (line  55)
 * T:                                     Agenda commands.     (line 107)
 * T:                                     Agenda commands.     (line 107)
 * t:                                     Agenda commands.     (line 103)
 * t:                                     Agenda commands.     (line 103)
@@ -5511,149 +5650,153 @@ Key Index
 
 
 Tag Table:
 Tag Table:
 Node: Top964
 Node: Top964
-Node: Introduction10124
-Node: Summary10539
-Node: Installation12806
-Node: Activation14184
-Node: Feedback15433
-Node: Document structure16202
-Node: Outlines16976
-Node: Headlines17636
-Node: Visibility cycling18259
-Ref: Visibility cycling-Footnote-119734
-Ref: Visibility cycling-Footnote-219792
-Node: Motion19842
-Node: Structure editing20626
-Node: Archiving22735
-Node: ARCHIVE tag23293
-Node: Moving subtrees25086
-Node: Sparse trees26127
-Ref: Sparse trees-Footnote-128258
-Ref: Sparse trees-Footnote-228350
-Node: Plain lists28465
-Ref: Plain lists-Footnote-131990
-Ref: Plain lists-Footnote-232347
-Node: Tables32529
-Node: Built-in table editor33077
-Node: Narrow columns40685
-Ref: Narrow columns-Footnote-142624
-Node: Table calculations42670
-Node: Formula syntax43990
-Ref: Formula syntax-Footnote-146895
-Node: Lisp formulas47195
-Node: Column formulas47984
-Node: Advanced features49746
-Node: Named-field formulas53000
-Node: Editing/debugging formulas53640
-Node: Appetizer55398
-Node: orgtbl-mode56501
-Node: table.el56992
-Node: Hyperlinks57969
-Node: Link format58674
-Node: Internal links59967
-Ref: Internal links-Footnote-161956
-Node: Radio targets62088
-Node: CamelCase links62803
-Node: External links63301
-Node: Handling links65432
-Ref: Handling links-Footnote-170018
-Node: Search options70255
-Ref: Search options-Footnote-172029
-Node: Custom searches72110
-Node: Remember73158
-Node: TODO items76848
-Node: TODO basics77830
-Node: TODO extensions79357
-Node: Workflow states80152
-Node: TODO types81020
-Ref: TODO types-Footnote-182678
-Node: Per file keywords82760
-Ref: Per file keywords-Footnote-184214
-Node: Priorities84415
-Node: Breaking down tasks85659
-Ref: Breaking down tasks-Footnote-186179
-Node: Checkboxes86275
-Node: Timestamps89011
-Node: Time stamps89401
-Node: Creating timestamps92498
-Node: Progress logging95844
-Node: Closing items96374
-Node: Clocking work time97278
-Ref: Clocking work time-Footnote-1100841
-Node: Tags100967
-Node: Tag inheritance101729
-Node: Setting tags102666
-Ref: Setting tags-Footnote-1105798
-Ref: Setting tags-Footnote-2105910
-Node: Tag searches105990
-Node: Agenda views107199
-Node: Agenda files109088
-Ref: Agenda files-Footnote-1110048
-Ref: Agenda files-Footnote-2110197
-Node: Agenda dispatcher110390
-Node: Weekly/Daily agenda112007
-Node: Calendar/Diary integration112972
-Node: Global TODO list114310
-Node: Matching headline tags116362
-Node: Timeline117306
-Node: Presentation and sorting117969
-Node: Categories118747
-Node: Time-of-day specifications119411
-Node: Sorting of agenda items121389
-Node: Agenda commands122671
-Node: Custom agenda views128559
-Node: Storing searches129234
-Node: Block agenda131146
-Node: Setting Options132376
-Node: Batch processing135088
-Node: Embedded LaTeX136218
-Ref: Embedded LaTeX-Footnote-1137310
-Node: Math symbols137500
-Node: Subscripts and Superscripts138265
-Node: LaTeX fragments139109
-Ref: LaTeX fragments-Footnote-1141217
-Node: Processing LaTeX fragments141479
-Node: CDLaTeX mode142425
-Ref: CDLaTeX mode-Footnote-1144909
-Node: Exporting145057
-Node: ASCII export146371
-Node: HTML export147661
-Node: XOXO export150497
-Node: iCalendar export150936
-Node: Text interpretation152759
-Node: Comment lines153238
-Node: Enhancing text153709
-Node: Export options155401
-Node: Publishing157068
-Ref: Publishing-Footnote-1157864
-Node: Configuration158060
-Node: Project alist158778
-Node: Sources and destinations159844
-Node: Selecting files160574
-Node: Publishing action161322
-Node: Publishing options162555
-Node: Publishing links164707
-Node: Project page index166220
-Node: Sample configuration166998
-Node: Simple example167490
-Node: Complex example168163
-Node: Triggering publication170239
-Node: Miscellaneous170924
-Node: Completion171558
-Node: Customization172939
-Node: In-buffer settings173524
-Node: The very busy C-c C-c key176755
-Node: Clean view178399
-Node: TTY keys180976
-Node: Interaction182585
-Node: Cooperation182982
-Node: Conflicts184849
-Node: Bugs186441
-Node: Extensions and Hacking188064
-Node: Extensions188550
-Node: Dynamic blocks190120
-Node: History and Acknowledgments192047
-Node: Index197009
-Node: Key Index221368
+Node: Introduction10239
+Node: Summary10654
+Node: Installation12921
+Node: Activation14299
+Node: Feedback15548
+Node: Document structure16317
+Node: Outlines17091
+Node: Headlines17751
+Node: Visibility cycling18374
+Ref: Visibility cycling-Footnote-119849
+Ref: Visibility cycling-Footnote-219907
+Node: Motion19957
+Node: Structure editing20741
+Node: Archiving22850
+Node: ARCHIVE tag23408
+Node: Moving subtrees25201
+Node: Sparse trees26242
+Ref: Sparse trees-Footnote-128373
+Ref: Sparse trees-Footnote-228465
+Node: Plain lists28580
+Ref: Plain lists-Footnote-132105
+Ref: Plain lists-Footnote-232462
+Node: Tables32644
+Node: Built-in table editor33192
+Node: Narrow columns40800
+Ref: Narrow columns-Footnote-142739
+Node: Table calculations42785
+Node: Formula syntax44105
+Ref: Formula syntax-Footnote-147010
+Node: Lisp formulas47310
+Node: Column formulas48099
+Node: Advanced features49861
+Node: Named-field formulas53115
+Node: Editing/debugging formulas53755
+Node: Appetizer55513
+Node: orgtbl-mode56616
+Node: table.el57107
+Node: Hyperlinks58084
+Node: Link format58857
+Node: Internal links60150
+Ref: Internal links-Footnote-162139
+Node: Radio targets62271
+Node: CamelCase links62986
+Node: External links63580
+Node: Handling links65711
+Ref: Handling links-Footnote-170363
+Ref: Handling links-Footnote-270600
+Node: Link abbreviations70674
+Node: Search options72353
+Ref: Search options-Footnote-174131
+Node: Custom searches74212
+Node: Remember75260
+Node: TODO items78950
+Node: TODO basics79932
+Node: TODO extensions81459
+Node: Workflow states82254
+Node: TODO types83122
+Ref: TODO types-Footnote-184780
+Node: Per file keywords84862
+Ref: Per file keywords-Footnote-186316
+Node: Priorities86517
+Node: Breaking down tasks87761
+Ref: Breaking down tasks-Footnote-188281
+Node: Checkboxes88377
+Node: Timestamps91113
+Node: Time stamps91503
+Node: Creating timestamps94600
+Node: The date/time prompt97143
+Ref: The date/time prompt-Footnote-198827
+Node: Progress logging98933
+Node: Closing items99463
+Node: Clocking work time100367
+Ref: Clocking work time-Footnote-1103930
+Node: Tags104056
+Node: Tag inheritance104818
+Node: Setting tags105755
+Ref: Setting tags-Footnote-1108887
+Ref: Setting tags-Footnote-2108999
+Node: Tag searches109079
+Node: Agenda views110288
+Node: Agenda files112381
+Ref: Agenda files-Footnote-1113341
+Ref: Agenda files-Footnote-2113490
+Node: Agenda dispatcher113683
+Node: Weekly/Daily agenda115300
+Node: Calendar/Diary integration116265
+Node: Global TODO list117603
+Node: Matching headline tags119655
+Node: Timeline120599
+Node: Presentation and sorting121262
+Node: Categories122040
+Node: Time-of-day specifications122704
+Node: Sorting of agenda items124682
+Node: Agenda commands125964
+Node: Custom agenda views131852
+Node: Storing searches132527
+Node: Block agenda134439
+Node: Setting Options135669
+Node: Batch processing138381
+Node: Embedded LaTeX139511
+Ref: Embedded LaTeX-Footnote-1140603
+Node: Math symbols140793
+Node: Subscripts and Superscripts141558
+Node: LaTeX fragments142402
+Ref: LaTeX fragments-Footnote-1144510
+Node: Processing LaTeX fragments144772
+Node: CDLaTeX mode145718
+Ref: CDLaTeX mode-Footnote-1148202
+Node: Exporting148350
+Node: ASCII export149664
+Node: HTML export150954
+Node: XOXO export153790
+Node: iCalendar export154229
+Node: Text interpretation156052
+Node: Comment lines156531
+Node: Enhancing text157002
+Node: Export options158694
+Node: Publishing160361
+Ref: Publishing-Footnote-1161157
+Node: Configuration161353
+Node: Project alist162071
+Node: Sources and destinations163137
+Node: Selecting files163867
+Node: Publishing action164615
+Node: Publishing options165848
+Node: Publishing links168000
+Node: Project page index169513
+Node: Sample configuration170291
+Node: Simple example170783
+Node: Complex example171456
+Node: Triggering publication173532
+Node: Miscellaneous174217
+Node: Completion174851
+Node: Customization176322
+Node: In-buffer settings176907
+Node: The very busy C-c C-c key180328
+Node: Clean view181972
+Node: TTY keys184549
+Node: Interaction186158
+Node: Cooperation186555
+Node: Conflicts188422
+Node: Bugs190014
+Node: Extensions and Hacking191637
+Node: Extensions192123
+Node: Dynamic blocks193693
+Node: History and Acknowledgments195620
+Node: Index200628
+Node: Key Index227059
 
 
 End Tag Table
 End Tag Table

+ 207 - 61
org.el

@@ -5,7 +5,7 @@
 ;; Author: Carsten Dominik <dominik at science dot uva dot nl>
 ;; Author: Carsten Dominik <dominik at science dot uva dot nl>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
 ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
-;; Version: 4.50
+;; Version: 4.51
 ;;
 ;;
 ;; This file is part of GNU Emacs.
 ;; This file is part of GNU Emacs.
 ;;
 ;;
@@ -61,6 +61,12 @@
 ;;
 ;;
 ;; Recent changes
 ;; Recent changes
 ;; --------------
 ;; --------------
+;; Version 4.51
+;;    - Link abbreviations (manual section 4.5).
+;;    - More control over how agenda is displayed.  See the new variables
+;;      `org-agenda-window-setup', `org-agenda-restore-windows-after-quit'.
+;;    - Bug fixes.
+;;   
 ;; Version 4.50
 ;; Version 4.50
 ;;    - Closing a TODO item can record an additional note.
 ;;    - Closing a TODO item can record an additional note.
 ;;      See variables `org-log-done' and `org-log-note-headings'.
 ;;      See variables `org-log-done' and `org-log-note-headings'.
@@ -137,7 +143,7 @@
 
 
 ;;; Customization variables
 ;;; Customization variables
 
 
-(defvar org-version "4.50"
+(defvar org-version "4.51"
   "The version number of the file org.el.")
   "The version number of the file org.el.")
 (defun org-version ()
 (defun org-version ()
   (interactive)
   (interactive)
@@ -691,7 +697,8 @@ this variable requires a restart of Emacs to become effective."
   :group 'org-table-settings
   :group 'org-table-settings
    :type 'string)
    :type 'string)
 
 
-(defcustom org-table-number-regexp "^[<>]?[-+^.0-9]*[0-9][-+^.0-9eEdDx()%]*$"
+(defcustom org-table-number-regexp
+  "^\\([<>]?[-+^.0-9]*[0-9][-+^.0-9eEdDx()%]*\\|\\(0[xX]\\)?[0-9a-fA-F]+\\)$"
   "Regular expression for recognizing numbers in table columns.
   "Regular expression for recognizing numbers in table columns.
 If a table column contains mostly numbers, it will be aligned to the
 If a table column contains mostly numbers, it will be aligned to the
 right.  If not, it will be aligned to the left.
 right.  If not, it will be aligned to the left.
@@ -715,8 +722,8 @@ Other options offered by the customize interface are more restrictive."
 		 "^[-+]?\\([0-9]*\\.[0-9]+\\|[0-9]+\\.?[0-9]*\\)$")
 		 "^[-+]?\\([0-9]*\\.[0-9]+\\|[0-9]+\\.?[0-9]*\\)$")
 	  (const :tag "Exponential, Floating point, Integer"
 	  (const :tag "Exponential, Floating point, Integer"
 		 "^[-+]?[0-9.]+\\([eEdD][-+0-9]+\\)?$")
 		 "^[-+]?[0-9.]+\\([eEdD][-+0-9]+\\)?$")
-	  (const :tag "Very General Number-Like"
-		 "^[<>]?[-+^.0-9]*[0-9][-+^.0-9eEdDx()%]*$")
+	  (const :tag "Very General Number-Like, including hex"
+		 "^\\([<>]?[-+^.0-9]*[0-9][-+^.0-9eEdDx()%]*\\|\\(0[xX]\\)?[0-9a-fA-F]+\\)$")
 	  (string :tag "Regexp:")))
 	  (string :tag "Regexp:")))
 
 
 (defcustom org-table-number-fraction 0.5
 (defcustom org-table-number-fraction 0.5
@@ -847,6 +854,26 @@ Automatically means, when TAB or RET or C-c C-c are pressed in the line."
   :tag "Org Link"
   :tag "Org Link"
   :group 'org)
   :group 'org)
 
 
+(defvar org-link-abbrev-alist-local nil
+  "buffer-local version of `org-link-abbrev-alist', which see.
+The value of this is taken from the #+LINK lines.")
+(make-variable-buffer-local 'org-link-abbrev-alist-local)
+
+(defcustom org-link-abbrev-alist nil
+  "Alist of link abbreviations.
+The car of each element is a string, to be replaced at the start of a link.
+The cdrs are replacement values, like (\"linkkey\" . REPLACE).  Abbreviated
+links in Org-mode buffers can have an optional tag after a double colon, e.g.
+
+     [[linkkey::tag][description]]
+
+If REPLACE is a string, the tag will simply be appended to create the link.
+If the string contains \"%s\", the tag will be inserted there.  REPLACE may
+also be a function that will be called with the tag as the only argument to
+create the link.  See the manual for examples."
+  :group 'org-link
+  :type 'alist)
+
 (defcustom org-descriptive-links t
 (defcustom org-descriptive-links t
   "Non-nil means, hide link part and only show description of bracket links.
   "Non-nil means, hide link part and only show description of bracket links.
 Bracket links are like [[link][descritpion]]. This variable sets the initial
 Bracket links are like [[link][descritpion]]. This variable sets the initial
@@ -1032,6 +1059,18 @@ another window."
 		 (const find-file-other-window)
 		 (const find-file-other-window)
 		 (const find-file-other-frame)))))
 		 (const find-file-other-frame)))))
 
 
+(defcustom org-display-internal-link-with-indirect-buffer nil
+  "Non-nil means, use indirect buffer to display infile links.
+Activating internal links (from one location in a file to another location
+in the same file) normally just jumps to the location.  When the link is
+activated with a C-u prefix (or with mouse-3), the link is displayed in
+another window.  When this option is set, the other window actually displays
+an indirect buffer clone of the current buffer, to avoid any visibility
+changes to the current buffer."
+  :group 'org-link-follow
+  :type 'boolean)
+
+
 (defcustom org-open-non-existing-files nil
 (defcustom org-open-non-existing-files nil
   "Non-nil means, `org-open-file' will open non-existing file.
   "Non-nil means, `org-open-file' will open non-existing file.
 When nil, an error will be generated."
 When nil, an error will be generated."
@@ -1627,34 +1666,66 @@ forth between agenda and calendar."
   :tag "Org Agenda Window Setup"
   :tag "Org Agenda Window Setup"
   :group 'org-agenda)
   :group 'org-agenda)
 
 
-(defcustom org-agenda-mouse-1-follows-link nil
-  "Non-nil means, mouse-1 on a link will follow the link in the agenda.
-A longer mouse click will still set point.  Does not wortk on XEmacs.
-Needs to be set before org.el is loaded."
+(defcustom org-agenda-window-setup 'reorganize-frame
+  "How the agenda buffer should be displayed.
+Possible values for this option are:
+
+current-window    Show agenda in the current window, keeping all other windows.
+other-frame       Use `switch-to-buffer-other-frame' to display agenda.
+other-window      Use `switch-to-buffer-other-window' to display agenda.
+reorganize-frame  Show only two windows on the current frame, the current
+                  window and the agenda.  Also, if the option
+                  `org-fit-agenda-window' is set, resize the agenda window to
+                  try to as much as possible of the buffer content.
+See also the variable `org-agenda-restore-windows-after-quit'."
   :group 'org-agenda-setup
   :group 'org-agenda-setup
-  :type 'boolean)
-
-(defcustom org-agenda-start-with-follow-mode nil
-  "The initial value of follwo-mode in a newly created agenda window."
+  :type '(choice
+	  (const current-window)
+	  (const other-frame)
+	  (const other-window)
+	  (const reorganize-frame)))
+
+(defcustom org-agenda-restore-windows-after-quit nil
+  "Non-nil means, restore window configuration open exiting agenda.
+Before the window configuration is changed for displaying the agenda,
+the current status is recorded.  When the agenda is exited with
+`q' or `x' and this option is set, the old state is restored.  If
+`org-agenda-window-setup' is `other-frame', the value of this
+option will be ignored.."
   :group 'org-agenda-setup
   :group 'org-agenda-setup
   :type 'boolean)
   :type 'boolean)
 
 
+;; FIXME: I think this variable could be removed.
 (defcustom org-select-agenda-window t
 (defcustom org-select-agenda-window t
   "Non-nil means, after creating an agenda, move cursor into Agenda window.
   "Non-nil means, after creating an agenda, move cursor into Agenda window.
 When nil, cursor will remain in the current window."
 When nil, cursor will remain in the current window."
   :group 'org-agenda-setup
   :group 'org-agenda-setup
   :type 'boolean)
   :type 'boolean)
 
 
+;; FIXME: I think this variable could be removed.
 (defcustom org-fit-agenda-window t
 (defcustom org-fit-agenda-window t
-  "Non-nil means, change window size of agenda to fit content."
+  "Non-nil means, change window size of agenda to fit content.
+This is only effective if `org-agenda-window-setup' is `reorganize-frame'."
   :group 'org-agenda-setup
   :group 'org-agenda-setup
   :type 'boolean)
   :type 'boolean)
 
 
 (defcustom org-finalize-agenda-hook nil
 (defcustom org-finalize-agenda-hook nil
   "Hook run just before displaying an agenda buffer."
   "Hook run just before displaying an agenda buffer."
-  :group 'org-agenda ;??????
+  :group 'org-agenda-setup
   :type 'hook)
   :type 'hook)
 
 
+(defcustom org-agenda-mouse-1-follows-link nil
+  "Non-nil means, mouse-1 on a link will follow the link in the agenda.
+A longer mouse click will still set point.  Does not wortk on XEmacs.
+Needs to be set before org.el is loaded."
+  :group 'org-agenda-setup
+  :type 'boolean)
+
+(defcustom org-agenda-start-with-follow-mode nil
+  "The initial value of follwo-mode in a newly created agenda window."
+  :group 'org-agenda-setup
+  :type 'boolean)
+
 (defgroup org-agenda-display nil
 (defgroup org-agenda-display nil
   "Options concerning what to display initially in Agenda."
   "Options concerning what to display initially in Agenda."
   :tag "Org Agenda Display"
   :tag "Org Agenda Display"
@@ -2415,7 +2486,11 @@ Changing this variable requires a restart of Emacs to take effect."
 	  (setq markers (concat (replace-match "" t t markers) "^")))
 	  (setq markers (concat (replace-match "" t t markers) "^")))
       (if (string-match "-" markers)
       (if (string-match "-" markers)
 	  (setq markers (concat (replace-match "" t t markers) "-")))
 	  (setq markers (concat (replace-match "" t t markers) "-")))
-      (while (>= (setq nl (1- nl)) 0) (setq body1 (concat body1 "\n?" body "*?")))
+;      (while (>= (setq nl (1- nl)) 0) (setq body1 (concat body1 "\n?" body "*?")))
+;      (while (>= (setq nl (1- nl)) 0) (setq body1 (concat body1 "\\(?:\n?" body "*?\\)?")))
+      (if (> nl 0)
+          (setq body1 (concat body1 "\\(?:\n" body "*?\\)\\{0,"
+                              (int-to-string nl) "\\}")))
       ;; Make the regexp
       ;; Make the regexp
       (setq org-emph-re
       (setq org-emph-re
 	    (concat "\\([" pre (if stacked markers) "]\\|^\\)"
 	    (concat "\\([" pre (if stacked markers) "]\\|^\\)"
@@ -2859,9 +2934,9 @@ Also put tags into group 4 if tags are present.")
   (when (org-mode-p)
   (when (org-mode-p)
     (let ((re (org-make-options-regexp
     (let ((re (org-make-options-regexp
 	       '("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO"
 	       '("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO"
-		 "STARTUP" "ARCHIVE" "TAGS" "CALC")))
+		 "STARTUP" "ARCHIVE" "TAGS" "LINK")))
 	  (splitre "[ \t]+")
 	  (splitre "[ \t]+")
-	  kwds int key value cat arch tags)
+	  kwds int key value cat arch tags links tmp)
       (save-excursion
       (save-excursion
 	(save-restriction
 	(save-restriction
 	  (widen)
 	  (widen)
@@ -2884,6 +2959,11 @@ Also put tags into group 4 if tags are present.")
 		    kwds (append kwds (org-split-string value splitre))))
 		    kwds (append kwds (org-split-string value splitre))))
 	     ((equal key "TAGS")
 	     ((equal key "TAGS")
 	      (setq tags (append tags (org-split-string value splitre))))
 	      (setq tags (append tags (org-split-string value splitre))))
+	     ((equal key "LINK")
+	      (when (string-match "^\\(\\S-+\\)[ \t]+\\(.+\\)" value)
+		(push (cons (match-string 1 value)
+			    (org-trim (match-string 2 value)))
+		      links)))
 	     ((equal key "STARTUP")
 	     ((equal key "STARTUP")
 	      (let ((opts (org-split-string value splitre))
 	      (let ((opts (org-split-string value splitre))
 		    l var val)
 		    l var val)
@@ -2900,6 +2980,7 @@ Also put tags into group 4 if tags are present.")
       (and kwds (org-set-local 'org-todo-keywords kwds))
       (and kwds (org-set-local 'org-todo-keywords kwds))
       (and arch (org-set-local 'org-archive-location arch))
       (and arch (org-set-local 'org-archive-location arch))
       (and int (org-set-local 'org-todo-interpretation int))
       (and int (org-set-local 'org-todo-interpretation int))
+      (and links (setq org-link-abbrev-alist-local (nreverse links)))
       (when tags
       (when tags
 	(let (e tgs)
 	(let (e tgs)
 	  (while (setq e (pop tags))
 	  (while (setq e (pop tags))
@@ -3455,7 +3536,10 @@ between words."
 	   (list (concat "\\<" org-closed-string) '(0 'org-special-keyword t))
 	   (list (concat "\\<" org-closed-string) '(0 'org-special-keyword t))
 	   (list (concat "\\<" org-clock-string) '(0 'org-special-keyword t))
 	   (list (concat "\\<" org-clock-string) '(0 'org-special-keyword t))
 	   ;; Emphasis
 	   ;; Emphasis
-	   (if em '(org-do-emphasis-faces))
+	   (if em
+               (if (featurep 'xemacs)
+                   '(org-do-emphasis-faces (0 nil append))
+                 '(org-do-emphasis-faces)))
 	   ;; Checkboxes, similar to Frank Ruell's org-checklet.el
 	   ;; Checkboxes, similar to Frank Ruell's org-checklet.el
 	   '("^[ \t]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[ X]\\]\\)"
 	   '("^[ \t]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[ X]\\]\\)"
 	     2 'bold prepend)
 	     2 'bold prepend)
@@ -4381,7 +4465,7 @@ with the current numbers.  With optional prefix argument ALL, do this for
 the whole buffer."
 the whole buffer."
   (interactive "P")
   (interactive "P")
   (save-excursion
   (save-excursion
-    (let* ((buffer-invisibility-spec nil)
+    (let* ((buffer-invisibility-spec nil) ; Emacs 21 compatibility
 	   (beg (progn (outline-back-to-heading) (point)))
 	   (beg (progn (outline-back-to-heading) (point)))
 	   (end (move-marker (make-marker)
 	   (end (move-marker (make-marker)
 			     (progn (outline-next-heading) (point))))
 			     (progn (outline-next-heading) (point))))
@@ -4933,6 +5017,7 @@ the children that do not contain any open TODO items."
 
 
 (defvar org-agenda-multi nil)  ; dynammically scoped
 (defvar org-agenda-multi nil)  ; dynammically scoped
 (defvar org-agenda-buffer-name "*Org Agenda*")
 (defvar org-agenda-buffer-name "*Org Agenda*")
+(defvar org-pre-agenda-window-conf nil)
 (defun org-prepare-agenda ()
 (defun org-prepare-agenda ()
   (if org-agenda-multi
   (if org-agenda-multi
       (progn
       (progn
@@ -4943,10 +5028,21 @@ the children that do not contain any open TODO items."
 	(narrow-to-region (point) (point-max)))
 	(narrow-to-region (point) (point-max)))
     (org-agenda-maybe-reset-markers 'force)
     (org-agenda-maybe-reset-markers 'force)
     (org-prepare-agenda-buffers (org-agenda-files))
     (org-prepare-agenda-buffers (org-agenda-files))
-    (unless (equal (current-buffer) (get-buffer org-agenda-buffer-name))
-      (delete-other-windows)
-      (switch-to-buffer-other-window
-       (get-buffer-create org-agenda-buffer-name)))
+    (let* ((abuf (get-buffer-create org-agenda-buffer-name))
+	   (awin (get-buffer-window abuf)))
+      (cond
+       ((equal (current-buffer) abuf) nil)
+       (awin (select-window awin))
+       ((not (setq org-pre-agenda-window-conf (current-window-configuration))))
+       ((equal org-agenda-window-setup 'current-window)
+	(switch-to-buffer abuf))
+       ((equal org-agenda-window-setup 'other-window)
+	(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))))
     (setq buffer-read-only nil)
     (setq buffer-read-only nil)
     (erase-buffer)
     (erase-buffer)
     (org-agenda-mode))
     (org-agenda-mode))
@@ -5163,6 +5259,7 @@ At all other locations, this simply calls `ispell-complete-word'."
 	   (camel (equal (char-before beg) ?*))
 	   (camel (equal (char-before beg) ?*))
 	   (tag (equal (char-before beg1) ?:))
 	   (tag (equal (char-before beg1) ?:))
 	   (texp (equal (char-before beg) ?\\))
 	   (texp (equal (char-before beg) ?\\))
+	   (link (equal (char-before beg) ?\[))
 	   (opt (equal (buffer-substring (max (point-at-bol) (- beg 2))
 	   (opt (equal (buffer-substring (max (point-at-bol) (- beg 2))
 					 beg)
 					 beg)
 		       "#+"))
 		       "#+"))
@@ -5181,6 +5278,8 @@ At all other locations, this simply calls `ispell-complete-word'."
 		   (startup
 		   (startup
 		    (setq type :startup)
 		    (setq type :startup)
 		    org-startup-options)
 		    org-startup-options)
+		   (link (append org-link-abbrev-alist-local
+				 org-link-abbrev-alist))		    
 		   (texp
 		   (texp
 		    (setq type :tex)
 		    (setq type :tex)
 		    org-html-entities)
 		    org-html-entities)
@@ -5382,7 +5481,7 @@ be removed."
      (format-time-string (car org-time-stamp-formats) time))
      (format-time-string (car org-time-stamp-formats) time))
     (setq what nil))
     (setq what nil))
   (save-excursion
   (save-excursion
-    (let (col list elt (buffer-invisibility-spec nil) ts)
+    (let (col list elt ts buffer-invisibility-spec)
       (org-back-to-heading t)
       (org-back-to-heading t)
       (looking-at (concat outline-regexp "\\( *\\)[^\r\n]*"))
       (looking-at (concat outline-regexp "\\( *\\)[^\r\n]*"))
       (goto-char (match-end 1))
       (goto-char (match-end 1))
@@ -5739,7 +5838,7 @@ While prompting, a calendar is popped up - you can also select the
 date with the mouse (button 1).  The calendar shows a period of three
 date with the mouse (button 1).  The calendar shows a period of three
 months.  To scroll it to other months, use the keys `>' and `<'.
 months.  To scroll it to other months, use the keys `>' and `<'.
 If you don't like the calendar, turn it off with
 If you don't like the calendar, turn it off with
-       \(setq org-popup-calendar-for-date-prompt nil)
+       \(setq org-popup-calendar-for-date-prompt Nil)
 
 
 With optional argument TO-TIME, the date will immediately be converted
 With optional argument TO-TIME, the date will immediately be converted
 to an internal time.
 to an internal time.
@@ -6696,7 +6795,7 @@ The following commands are available:
     "--"
     "--"
     ["Show" org-agenda-show t]
     ["Show" org-agenda-show t]
     ["Go To (other window)" org-agenda-goto t]
     ["Go To (other window)" org-agenda-goto t]
-    ["Go To (one window)" org-agenda-switch-to t]
+    ["Go To (this window)" org-agenda-switch-to t]
     ["Follow Mode" org-agenda-follow-mode
     ["Follow Mode" org-agenda-follow-mode
      :style toggle :selected org-agenda-follow-mode :active t]
      :style toggle :selected org-agenda-follow-mode :active t]
     "--"
     "--"
@@ -6893,7 +6992,6 @@ L   Timeline for current buffer          C   Configure custom agenda commands")
        (t (error "Invalid key"))))))
        (t (error "Invalid key"))))))
 
 
 ;; FIXME: what is the meaning of WINDOW?????
 ;; FIXME: what is the meaning of WINDOW?????
-;; FIXME: need to force KEEP-MODES for series comands......
 (defun org-run-agenda-series (series &optional window)
 (defun org-run-agenda-series (series &optional window)
   (org-prepare-agenda)
   (org-prepare-agenda)
   (let* ((org-agenda-multi t)
   (let* ((org-agenda-multi t)
@@ -6947,6 +7045,7 @@ before running the agenda command."
 (defun org-fit-agenda-window ()
 (defun org-fit-agenda-window ()
   "Fit the window to the buffer size."
   "Fit the window to the buffer size."
   (and org-fit-agenda-window
   (and org-fit-agenda-window
+       (memq org-agenda-window-setup '(reorganize-frame))
        (fboundp 'fit-window-to-buffer)
        (fboundp 'fit-window-to-buffer)
        (fit-window-to-buffer nil (/ (* (frame-height) 3) 4)
        (fit-window-to-buffer nil (/ (* (frame-height) 3) 4)
                              (/ (frame-height) 2))))
                              (/ (frame-height) 2))))
@@ -7054,7 +7153,7 @@ When a buffer is unmodified, it is just killed.  When modified, it is saved
 	(with-current-buffer buf (save-buffer)))
 	(with-current-buffer buf (save-buffer)))
       (kill-buffer buf))))
       (kill-buffer buf))))
 
 
-(defun org-timeline (&optional include-all keep-modes)
+(defun org-timeline (&optional include-all)
   "Show a time-sorted view of the entries in the current org file.
   "Show a time-sorted view of the entries in the current org file.
 Only entries with a time stamp of today or later will be listed.  With
 Only entries with a time stamp of today or later will be listed.  With
 \\[universal-argument] prefix, all unfinished TODO items will also be shown,
 \\[universal-argument] prefix, all unfinished TODO items will also be shown,
@@ -7068,7 +7167,6 @@ dates."
   (let* ((dopast t)
   (let* ((dopast t)
 	 (dotodo include-all)
 	 (dotodo include-all)
 	 (doclosed org-agenda-show-log)
 	 (doclosed org-agenda-show-log)
-	 (org-agenda-keep-modes keep-modes)
 	 (entry buffer-file-name)
 	 (entry buffer-file-name)
 	 (date (calendar-current-date))
 	 (date (calendar-current-date))
 	 (win (selected-window))
 	 (win (selected-window))
@@ -7085,7 +7183,7 @@ dates."
     (setq org-agenda-redo-command
     (setq org-agenda-redo-command
 	  (list 'progn
 	  (list 'progn
 		(list 'switch-to-buffer-other-window (current-buffer))
 		(list 'switch-to-buffer-other-window (current-buffer))
-		(list 'org-timeline (list 'quote include-all) t)))
+		(list 'org-timeline (list 'quote include-all))))
     (if (not dopast)
     (if (not dopast)
 	;; Remove past dates from the list of dates.
 	;; Remove past dates from the list of dates.
 	(setq day-numbers (delq nil (mapcar (lambda(x)
 	(setq day-numbers (delq nil (mapcar (lambda(x)
@@ -7140,7 +7238,7 @@ dates."
   "The arguments of the previous call to org-agenda")
   "The arguments of the previous call to org-agenda")
 
 
 ;;;###autoload
 ;;;###autoload
-(defun org-agenda-list (&optional include-all start-day ndays keep-modes)
+(defun org-agenda-list (&optional include-all start-day ndays)
   "Produce a weekly view from all files in variable `org-agenda-files'.
   "Produce a weekly view from all files in variable `org-agenda-files'.
 The view will be for the current week, but from the overview buffer you
 The view will be for the current week, but from the overview buffer you
 will be able to go to other weeks.
 will be able to go to other weeks.
@@ -7156,9 +7254,8 @@ NDAYS defaults to `org-agenda-ndays'."
   (if org-agenda-overriding-arguments
   (if org-agenda-overriding-arguments
       (setq include-all (car org-agenda-overriding-arguments)
       (setq include-all (car org-agenda-overriding-arguments)
 	    start-day (nth 1 org-agenda-overriding-arguments)
 	    start-day (nth 1 org-agenda-overriding-arguments)
-	    ndays (nth 2 org-agenda-overriding-arguments)
-	    keep-modes (nth 3 org-agenda-overriding-arguments)))
-  (setq org-agenda-last-arguments (list include-all start-day ndays keep-modes))
+	    ndays (nth 2 org-agenda-overriding-arguments)))
+  (setq org-agenda-last-arguments (list include-all start-day ndays))
   (org-compile-prefix-format 'agenda)
   (org-compile-prefix-format 'agenda)
   (org-set-sorting-strategy 'agenda)
   (org-set-sorting-strategy 'agenda)
   (require 'calendar)
   (require 'calendar)
@@ -7166,7 +7263,6 @@ NDAYS defaults to `org-agenda-ndays'."
 	  (if (or (equal ndays 1)
 	  (if (or (equal ndays 1)
 		  (and (null ndays) (equal 1 org-agenda-ndays)))
 		  (and (null ndays) (equal 1 org-agenda-ndays)))
 	      nil org-agenda-start-on-weekday))
 	      nil org-agenda-start-on-weekday))
-	 (org-agenda-keep-modes keep-modes)
 	 (thefiles (org-agenda-files))
 	 (thefiles (org-agenda-files))
 	 (files thefiles)
 	 (files thefiles)
 	 (win (selected-window))
 	 (win (selected-window))
@@ -7181,10 +7277,10 @@ NDAYS defaults to `org-agenda-ndays'."
 			 (d (- nt n1)))
 			 (d (- nt n1)))
 		    (- sd (+ (if (< d 0) 7 0) d)))))
 		    (- sd (+ (if (< d 0) 7 0) d)))))
 	 (day-numbers (list start))
 	 (day-numbers (list start))
-	 (inhibit-redisplay t)
+;FIXME	 (inhibit-redisplay t)
 	 s e rtn rtnall file date d start-pos end-pos todayp nd)
 	 s e rtn rtnall file date d start-pos end-pos todayp nd)
     (setq org-agenda-redo-command
     (setq org-agenda-redo-command
-	  (list 'org-agenda-list (list 'quote include-all) start-day ndays t))
+	  (list 'org-agenda-list (list 'quote include-all) start-day ndays))
     ;; Make the list of days
     ;; Make the list of days
     (setq ndays (or ndays org-agenda-ndays)
     (setq ndays (or ndays org-agenda-ndays)
 	  nd ndays)
 	  nd ndays)
@@ -7277,7 +7373,7 @@ NDAYS defaults to `org-agenda-ndays'."
 (defvar org-select-this-todo-keyword nil)
 (defvar org-select-this-todo-keyword nil)
 
 
 ;;;###autoload
 ;;;###autoload
-(defun org-todo-list (arg &optional keep-modes)
+(defun org-todo-list (arg)
   "Show all TODO entries from all agenda file in a single list.
   "Show all TODO entries from all agenda file in a single list.
 The prefix arg can be used to select a specific TODO keyword and limit
 The prefix arg can be used to select a specific TODO keyword and limit
 the list to these.  When using \\[universal-argument], you will be prompted
 the list to these.  When using \\[universal-argument], you will be prompted
@@ -7286,8 +7382,7 @@ for a keyword.  A numeric prefix directly selects the Nth keyword in
   (interactive "P")
   (interactive "P")
   (org-compile-prefix-format 'todo)
   (org-compile-prefix-format 'todo)
   (org-set-sorting-strategy 'todo)
   (org-set-sorting-strategy 'todo)
-  (let* ((org-agenda-keep-modes keep-modes)
-	 (today (time-to-days (current-time)))
+  (let* ((today (time-to-days (current-time)))
 	 (date (calendar-gregorian-from-absolute today))
 	 (date (calendar-gregorian-from-absolute today))
 	 (win (selected-window))
 	 (win (selected-window))
 	 (kwds org-todo-keywords)
 	 (kwds org-todo-keywords)
@@ -7306,7 +7401,7 @@ for a keyword.  A numeric prefix directly selects the Nth keyword in
     (org-set-local 'last-arg arg)
     (org-set-local 'last-arg arg)
     (org-set-local 'org-todo-keywords kwds)
     (org-set-local 'org-todo-keywords kwds)
     (setq org-agenda-redo-command
     (setq org-agenda-redo-command
-	  '(org-todo-list (or current-prefix-arg last-arg) t))
+	  '(org-todo-list (or current-prefix-arg last-arg)))
     (setq files (org-agenda-files)
     (setq files (org-agenda-files)
 	  rtnall nil)
 	  rtnall nil)
     (while (setq file (pop files))
     (while (setq file (pop files))
@@ -7366,7 +7461,12 @@ If ERROR is non-nil, throw an error, otherwise just return nil."
   (let ((buf (current-buffer)))
   (let ((buf (current-buffer)))
     (if (not (one-window-p)) (delete-window))
     (if (not (one-window-p)) (delete-window))
     (kill-buffer buf)
     (kill-buffer buf)
-    (org-agenda-maybe-reset-markers 'force)))
+    (org-agenda-maybe-reset-markers 'force))
+  ;; Maybe restore the pre-agenda window configuration.
+  (and org-agenda-restore-windows-after-quit
+       (not (eq org-agenda-window-setup 'other-frame))
+       org-pre-agenda-window-conf
+       (set-window-configuration org-pre-agenda-window-conf)))
 
 
 (defun org-agenda-exit ()
 (defun org-agenda-exit ()
   "Exit agenda by removing the window or the buffer.
   "Exit agenda by removing the window or the buffer.
@@ -7388,7 +7488,8 @@ Org-mode buffers visited directly by the user will not be touched."
   "Rebuild Agenda.
   "Rebuild Agenda.
 When this is the global TODO list, a prefix argument will be interpreted."
 When this is the global TODO list, a prefix argument will be interpreted."
   (interactive)
   (interactive)
-  (let* ((line (org-current-line))
+  (let* ((org-agenda-keep-modes t)
+	 (line (org-current-line))
 	 (window-line (- line (org-current-line (window-start)))))
 	 (window-line (- line (org-current-line (window-start)))))
     (message "Rebuilding agenda buffer...")
     (message "Rebuilding agenda buffer...")
     (eval org-agenda-redo-command)
     (eval org-agenda-redo-command)
@@ -8589,7 +8690,7 @@ and by additional input from the age of a schedules or deadline entry."
 	     (org-flag-heading nil)))) ; show the next heading
 	     (org-flag-heading nil)))) ; show the next heading
     (and highlight (org-highlight (point-at-bol) (point-at-eol)))))
     (and highlight (org-highlight (point-at-bol) (point-at-eol)))))
 
 
-(defun org-agenda-switch-to ()
+(defun org-agenda-switch-to (&optional delete-other-windows)
   "Go to the Org-mode file which contains the item at point."
   "Go to the Org-mode file which contains the item at point."
   (interactive)
   (interactive)
   (let* ((marker (or (get-text-property (point) 'org-marker)
   (let* ((marker (or (get-text-property (point) 'org-marker)
@@ -8597,7 +8698,7 @@ and by additional input from the age of a schedules or deadline entry."
 	 (buffer (marker-buffer marker))
 	 (buffer (marker-buffer marker))
 	 (pos (marker-position marker)))
 	 (pos (marker-position marker)))
     (switch-to-buffer buffer)
     (switch-to-buffer buffer)
-    (delete-other-windows)
+    (and delete-other-windows (delete-other-windows))
     (widen)
     (widen)
     (goto-char pos)
     (goto-char pos)
     (when (org-mode-p)
     (when (org-mode-p)
@@ -9018,7 +9119,7 @@ This is a command that has to be installed in `calendar-mode-map'."
   (interactive)
   (interactive)
   (org-agenda-list nil (calendar-absolute-from-gregorian
   (org-agenda-list nil (calendar-absolute-from-gregorian
 			(calendar-cursor-to-date))
 			(calendar-cursor-to-date))
-		   nil t))
+		   nil))
 
 
 (defun org-agenda-convert-date ()
 (defun org-agenda-convert-date ()
   (interactive)
   (interactive)
@@ -9166,14 +9267,13 @@ MATCH can contain positive and negative selection of tags, like
     (cons match0 matcher)))
     (cons match0 matcher)))
 
 
 ;;;###autoload
 ;;;###autoload
-(defun org-tags-view (&optional todo-only match keep-modes)
+(defun org-tags-view (&optional todo-only match)
   "Show all headlines for all `org-agenda-files' matching a TAGS criterion.
   "Show all headlines for all `org-agenda-files' matching a TAGS criterion.
 The prefix arg TODO-ONLY limits the search to TODO entries."
 The prefix arg TODO-ONLY limits the search to TODO entries."
   (interactive "P")
   (interactive "P")
   (org-compile-prefix-format 'tags)
   (org-compile-prefix-format 'tags)
   (org-set-sorting-strategy 'tags)
   (org-set-sorting-strategy 'tags)
-  (let* ((org-agenda-keep-modes keep-modes)
-	 (org-tags-match-list-sublevels
+  (let* ((org-tags-match-list-sublevels
 	  (if todo-only t org-tags-match-list-sublevels))
 	  (if todo-only t org-tags-match-list-sublevels))
 	 (win (selected-window))
 	 (win (selected-window))
 	 (completion-ignore-case t)
 	 (completion-ignore-case t)
@@ -9184,7 +9284,7 @@ The prefix arg TODO-ONLY limits the search to TODO entries."
     (org-prepare-agenda)
     (org-prepare-agenda)
     (setq org-agenda-redo-command
     (setq org-agenda-redo-command
 	  (list 'org-tags-view (list 'quote todo-only)
 	  (list 'org-tags-view (list 'quote todo-only)
-		(list 'if 'current-prefix-arg nil match) t))
+		(list 'if 'current-prefix-arg nil match)))
     (setq files (org-agenda-files)
     (setq files (org-agenda-files)
 	  rtnall nil)
 	  rtnall nil)
     (while (setq file (pop files))
     (while (setq file (pop files))
@@ -9263,7 +9363,6 @@ With prefix ARG, realign all tags in headings in the current buffer."
 				   nil nil current 'org-tags-history))))
 				   nil nil current 'org-tags-history))))
 	(while (string-match "[-+&]+" tags)
 	(while (string-match "[-+&]+" tags)
 	  (setq tags (replace-match ":" t t tags))))
 	  (setq tags (replace-match ":" t t tags))))
-      
       (unless (setq empty (string-match "\\`[\t ]*\\'" tags))
       (unless (setq empty (string-match "\\`[\t ]*\\'" tags))
 	(unless (string-match ":$" tags) (setq tags (concat tags ":")))
 	(unless (string-match ":$" tags) (setq tags (concat tags ":")))
 	(unless (string-match "^:" tags) (setq tags (concat ":" tags))))
 	(unless (string-match "^:" tags) (setq tags (concat ":" tags))))
@@ -9284,14 +9383,15 @@ With prefix ARG, realign all tags in headings in the current buffer."
 	    (if (= (char-after) ?\ ) (forward-char 1))
 	    (if (= (char-after) ?\ ) (forward-char 1))
 	    (and (re-search-forward "[ \t]+$" (point-at-eol) t)
 	    (and (re-search-forward "[ \t]+$" (point-at-eol) t)
 		 (replace-match "")))
 		 (replace-match "")))
-	(move-to-column (max (current-column)
-			     (if (> org-tags-column 0)
-				 org-tags-column
-			       (- (- org-tags-column) (length tags))))
-			t)
+	(let (buffer-invisibility-spec) ; Emacs 21 compatibility
+	  (move-to-column (max (current-column)
+			       (if (> org-tags-column 0)
+				   org-tags-column
+				 (- (- org-tags-column) (length tags))))
+			  t))
 	(insert tags)
 	(insert tags)
 	(if (and (not invis) (org-invisible-p))
 	(if (and (not invis) (org-invisible-p))
-	    (outline-flag-region (point-at-bol) (point) nil)))
+	    (outline-flag-region (point) (point-at-bol) nil))) ; show
       (move-to-column col))))
       (move-to-column col))))
 
 
 (defun org-tags-completion-function (string predicate &optional flag)
 (defun org-tags-completion-function (string predicate &optional flag)
@@ -9522,6 +9622,7 @@ the window configuration before `org-open-at-point' was called using:
   "The window configuration before following a link.
   "The window configuration before following a link.
 This is saved in case the need arises to restore it.")
 This is saved in case the need arises to restore it.")
 
 
+;; FIXME: IN-EMACS is used for many purposes, maybe rename this argument???
 (defun org-open-at-point (&optional in-emacs)
 (defun org-open-at-point (&optional in-emacs)
   "Open link at or after point.
   "Open link at or after point.
 If there is no link at point, this function will search forward up to
 If there is no link at point, this function will search forward up to
@@ -9544,6 +9645,7 @@ optional argument IN-EMACS is non-nil, Emacs will visit the file."
 	    (setq link (org-link-unescape (org-match-string-no-properties 1)))
 	    (setq link (org-link-unescape (org-match-string-no-properties 1)))
 	    (while (string-match " *\n *" link)
 	    (while (string-match " *\n *" link)
 	      (setq link (replace-match " " t t link)))
 	      (setq link (replace-match " " t t link)))
+	    (setq link (org-link-expand-abbrev link))
 	    (if (string-match org-link-re-with-space2 link)
 	    (if (string-match org-link-re-with-space2 link)
 		(setq type (match-string 1 link)
 		(setq type (match-string 1 link)
 		      path (match-string 2 link))
 		      path (match-string 2 link))
@@ -9621,7 +9723,10 @@ optional argument IN-EMACS is non-nil, Emacs will visit the file."
 	(org-tags-view in-emacs path))
 	(org-tags-view in-emacs path))
        ((or (string= type "camel")
        ((or (string= type "camel")
 	    (string= type "thisfile"))
 	    (string= type "thisfile"))
-	(org-mark-ring-push)
+	(if in-emacs
+	    (switch-to-buffer-other-window
+	     (org-get-buffer-for-internal-link (current-buffer)))
+	  (org-mark-ring-push))
 	(org-link-search
 	(org-link-search
 	 path
 	 path
 	 (cond ((equal in-emacs '(4)) 'occur)
 	 (cond ((equal in-emacs '(4)) 'occur)
@@ -9716,6 +9821,24 @@ optional argument IN-EMACS is non-nil, Emacs will visit the file."
        (t
        (t
 	(browse-url-at-point))))))
 	(browse-url-at-point))))))
 
 
+
+(defun org-link-expand-abbrev (link)
+  "Apply replacements as defined in `org-link-abbrev-alist."
+  (if (string-match "^\\([a-zA-Z]+\\)\\(::\\(.*\\)\\)?$" link)
+      (let* ((key (match-string 1 link))
+	     (as (or (assoc key org-link-abbrev-alist-local)
+		     (assoc key org-link-abbrev-alist)))
+	     (tag (and (match-end 2) (match-string 3 link)))
+	     rpl)
+	(if (not as)
+	    link
+	  (setq rpl (cdr as))
+	  (cond
+	   ((symbolp rpl) (funcall rpl tag))
+	   ((string-match "%s" rpl) (replace-match (or tag "") t t rpl))
+	   (t (concat rpl tag)))))
+    link))
+
 (defun org-link-search (s &optional type)
 (defun org-link-search (s &optional type)
   "Search for a link search option.
   "Search for a link search option.
 When S is a CamelCaseWord, search for a target, or for a sentence containing
 When S is a CamelCaseWord, search for a target, or for a sentence containing
@@ -9817,6 +9940,22 @@ in all files."
 		   (throw 'exit (point)))
 		   (throw 'exit (point)))
 	  (goto-char (match-end 0)))))))
 	  (goto-char (match-end 0)))))))
 
 
+(defun org-get-buffer-for-internal-link (buffer)
+  "Return a buffer to be used for displaying the link target of internal links."
+  (cond
+   ((not org-display-internal-link-with-indirect-buffer)
+    buffer)
+   ((string-match "(Clone)$" (buffer-name buffer))
+    (message "Buffer is already a clone, not making another one")
+    ;; we also do not modify visibility in this case
+    buffer)
+   (t ; make a new indirect buffer for displaying the link
+    (let* ((bn (buffer-name buffer))
+	   (ibn (concat bn "(Clone)"))
+	   (ib (or (get-buffer ibn) (make-indirect-buffer buffer ibn 'clone))))
+      (with-current-buffer ib (org-overview))
+      ib))))
+
 (defun org-do-occur (regexp &optional cleanup)
 (defun org-do-occur (regexp &optional cleanup)
   "Call the Emacs command `occur'.
   "Call the Emacs command `occur'.
 If CLEANUP is non-nil, remove the printout of the regular expression
 If CLEANUP is non-nil, remove the printout of the regular expression
@@ -10300,7 +10439,7 @@ on the system \"/user@host:\"."
         ((fboundp 'tramp-handle-file-remote-p)
         ((fboundp 'tramp-handle-file-remote-p)
          (tramp-handle-file-remote-p file))
          (tramp-handle-file-remote-p file))
         ((and (boundp 'ange-ftp-name-format)
         ((and (boundp 'ange-ftp-name-format)
-              (string-match ange-ftp-name-format file))
+              (string-match (car ange-ftp-name-format) file))
          t)
          t)
         (t nil)))
         (t nil)))
 
 
@@ -13850,6 +13989,7 @@ translations.  There is currently no way for users to extend this.")
       (message "Exporting...")
       (message "Exporting...")
 
 
       ;; Normalize links: Convert angle and plain links into bracket links
       ;; Normalize links: Convert angle and plain links into bracket links
+      ;; Expand link abbreviations
       (goto-char (point-min))
       (goto-char (point-min))
       (while (re-search-forward re-plain-link nil t)
       (while (re-search-forward re-plain-link nil t)
 	(replace-match
 	(replace-match
@@ -13862,6 +14002,11 @@ translations.  There is currently no way for users to extend this.")
 	 (concat
 	 (concat
 	  (match-string 1) "[[" (match-string 2) ":" (match-string 3) "]]")
 	  (match-string 1) "[[" (match-string 2) ":" (match-string 3) "]]")
 	 t t))
 	 t t))
+      (goto-char (point-min))
+      (while (re-search-forward "\\[\\[\\([^]]+\\)\\]" nil t)
+	(replace-match (concat "[[" (save-match-data
+				      (org-link-expand-abbrev (match-string 1)))
+			       "]")))
 
 
       ;; Find multiline emphasis and put them into single line
       ;; Find multiline emphasis and put them into single line
       (when (memq :emph-multiline parameters)
       (when (memq :emph-multiline parameters)
@@ -16948,9 +17093,10 @@ Show the heading too, if it is currently invisible."
 ;	       (progn (outline-end-of-heading) (point))
 ;	       (progn (outline-end-of-heading) (point))
 ;	       nil))))
 ;	       nil))))
 
 
-;;; Finish up
 
 
 
 
+;;; Finish up
+
 (provide 'org)
 (provide 'org)
 
 
 (run-hooks 'org-load-hook)
 (run-hooks 'org-load-hook)

BIN
org.pdf


+ 133 - 16
org.texi

@@ -3,7 +3,7 @@
 @setfilename ../info/org
 @setfilename ../info/org
 @settitle Org Mode Manual
 @settitle Org Mode Manual
 
 
-@set VERSION 4.50
+@set VERSION 4.51
 @set DATE September 2006
 @set DATE September 2006
 
 
 @dircategory Emacs
 @dircategory Emacs
@@ -142,6 +142,7 @@ Hyperlinks
 * Internal links::              Links to other places in the current file
 * Internal links::              Links to other places in the current file
 * External links::              URL-like links to the world
 * External links::              URL-like links to the world
 * Handling links::              Creating, inserting and following
 * Handling links::              Creating, inserting and following
+* Link abbreviations::          Shortcuts for writing complex links
 * Search options::              Linking to a specific location
 * Search options::              Linking to a specific location
 * Custom searches::             When the default search is not enough
 * Custom searches::             When the default search is not enough
 * Remember::                    Org-trees store quick notes
 * Remember::                    Org-trees store quick notes
@@ -171,6 +172,10 @@ Timestamps
 * Creating timestamps::         Commands which insert timestamps
 * Creating timestamps::         Commands which insert timestamps
 * Progress logging::            Documenting when what work was done.
 * Progress logging::            Documenting when what work was done.
 
 
+Creating timestamps
+
+* The date/time prompt::        
+
 Progress Logging
 Progress Logging
 
 
 * Closing items::               When was this entry marked DONE?
 * Closing items::               When was this entry marked DONE?
@@ -1601,6 +1606,7 @@ links to other files, Usenet articles, emails, and much more.
 * Internal links::              Links to other places in the current file
 * Internal links::              Links to other places in the current file
 * External links::              URL-like links to the world
 * External links::              URL-like links to the world
 * Handling links::              Creating, inserting and following
 * Handling links::              Creating, inserting and following
+* Link abbreviations::          Shortcuts for writing complex links
 * Search options::              Linking to a specific location
 * Search options::              Linking to a specific location
 * Custom searches::             When the default search is not enough
 * Custom searches::             When the default search is not enough
 * Remember::                    Org-trees store quick notes
 * Remember::                    Org-trees store quick notes
@@ -1641,6 +1647,7 @@ internal structure of all links, use the menu entry
 @cindex internal links
 @cindex internal links
 @cindex links, internal
 @cindex links, internal
 @cindex CamelCase links
 @cindex CamelCase links
+@cindex targets, for links
 
 
 If the link does not look like a URL, it is considered to be internal in
 If the link does not look like a URL, it is considered to be internal in
 the current file.  Links such as @samp{[[My Target]]} or @samp{[[My
 the current file.  Links such as @samp{[[My Target]]} or @samp{[[My
@@ -1691,6 +1698,9 @@ earlier.
 
 
 @node Radio targets, CamelCase links, Internal links, Internal links
 @node Radio targets, CamelCase links, Internal links, Internal links
 @subsection Radio targets
 @subsection Radio targets
+@cindex radio targets
+@cindex targets, radio
+@cindex links, radio targets
 
 
 You can configure Org-mode to link any occurrences of certain target
 You can configure Org-mode to link any occurrences of certain target
 names in normal text.  So without explicitly creating a link, the text
 names in normal text.  So without explicitly creating a link, the text
@@ -1709,10 +1719,11 @@ loaded into Emacs.  To update the target list during editing, press
 
 
 Org-mode also supports CamelCase words as links.  This feature is not
 Org-mode also supports CamelCase words as links.  This feature is not
 turned on by default because of the inconsistencies this system suffers
 turned on by default because of the inconsistencies this system suffers
-from.  To activate CamelCase words as links, you need to customize
-the option @code{org-activate-links}.  A CamelCase word then leads to a
-text search such that @samp{CamelCaseLink} is equivalent to
-@samp{[[camel case link]]}.
+from.  It is also possible that this feature will disappear entirely in
+a future version of Org-mode.  To activate CamelCase words as links, you
+need to customize the option @code{org-activate-links}.  A CamelCase
+word then leads to a text search such that @samp{CamelCaseLink} is
+equivalent to @samp{[[camel case link]]}.
 
 
 @node External links, Handling links, Internal links, Hyperlinks
 @node External links, Handling links, Internal links, Hyperlinks
 @section External links
 @section External links
@@ -1775,8 +1786,9 @@ as links.  If spaces must be part of the link (for example in
 @samp{bbdb:Richard Stallman}), or you need to remove ambiguities about the end of
 @samp{bbdb:Richard Stallman}), or you need to remove ambiguities about the end of
 the link, enclose them in angular brackets.
 the link, enclose them in angular brackets.
 
 
-@node Handling links, Search options, External links, Hyperlinks
+@node Handling links, Link abbreviations, External links, Hyperlinks
 @section Handling links
 @section Handling links
+@cindex links, handling
 
 
 Org-mode provides methods to create a link in the correct syntax, to
 Org-mode provides methods to create a link in the correct syntax, to
 insert it into an org-mode file, and to follow the link.
 insert it into an org-mode file, and to follow the link.
@@ -1865,7 +1877,9 @@ would.  Under Emacs 22, also @kbd{mouse-1} will follow a link.
 
 
 @kindex mouse-3
 @kindex mouse-3
 @item mouse-3
 @item mouse-3
-Like @kbd{mouse-2}, but force file links to be opened with Emacs.
+Like @kbd{mouse-2}, but force file links to be opened with Emacs, and
+internal links to be displayed in another window@footnote{See the
+variable @code{org-display-internal-link-with-indirect-buffer}}.
 
 
 @cindex mark ring
 @cindex mark ring
 @kindex C-c %
 @kindex C-c %
@@ -1882,8 +1896,57 @@ command several times in direct succession moves through a ring of
 previously recorded positions.
 previously recorded positions.
 @end table
 @end table
 
 
+@node Link abbreviations, Search options, Handling links, Hyperlinks
+@section Link abbreviatons
+@cindex link abbreviations
+@cindex abbreviation, links
+
+Long URLs can be cumbersome to type, and often many similar links are
+needed in a document.  For this you can use link abbreviations.  An
+abbreviated link looks like this
+
+@example
+[[linkword::tag][description]]
+@end example
+
+@noindent
+where the tag is optional.  Such abbreviations are resolved according to
+the information in the variable @code{org-link-abbrev-alist} that
+relates the linkwords to replacement text.  Here is an example:
+
+@lisp
+@group
+(setq org-link-abbrev-alist
+  '(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=")
+    ("google"   . "http://www.google.com/search?q=")
+    ("ads"      . "http://adsabs.harvard.edu/cgi-bin/
+                   nph-abs_connect?author=%s&db_key=AST")))
+@end group
+@end lisp
+
+If the replacement text contains the string @samp{%s}, it will be
+replaced with the tag.  Otherwise the tag will be appended to the string
+in order to create the link.  You may also specify a function that will
+be called with the tag as the only argument to create the link.
+
+With the above setting, you could link to a specific bug with
+@code{[[bugzilla::129]]}, search the web for OrgMode with
+@code{[[google::OrgMode]]} and find out what the Org-mode author is
+doing besides Emacs hacking with @code{[[ads::Dominik,C]]}.
+
+If you need special abbreviations just for a single Org-mode buffer, you
+can define them in the file with
+
+@example
+#+LINK: bugzilla  http://10.1.2.9/bugzilla/show_bug.cgi?id=
+#+LINK: google    http://www.google.com/search?q=%s
+@end example
 
 
-@node Search options, Custom searches, Handling links, Hyperlinks
+@noindent
+In-buffer completion @pxref{Completion} can be used after @samp{[} to
+complete link abbreviations.
+
+@node Search options, Custom searches, Link abbreviations, Hyperlinks
 @section Search options in file links
 @section Search options in file links
 @cindex search option in file links
 @cindex search option in file links
 @cindex file links, searching
 @cindex file links, searching
@@ -1935,6 +1998,7 @@ a search for @samp{find me} in the current file, just as
 @node Custom searches, Remember, Search options, Hyperlinks
 @node Custom searches, Remember, Search options, Hyperlinks
 @section Custom Searches
 @section Custom Searches
 @cindex custom search strings
 @cindex custom search strings
+@cindex search strings, custom
 
 
 The default mechanism for creating search strings and for doing the
 The default mechanism for creating search strings and for doing the
 actual search related to a file link may not work correctly in all
 actual search related to a file link may not work correctly in all
@@ -2368,6 +2432,8 @@ back into synch.  Or simply toggle any checkbox twice with @kbd{C-c C-c}.
 
 
 @node Timestamps, Tags, TODO items, Top
 @node Timestamps, Tags, TODO items, Top
 @chapter Timestamps
 @chapter Timestamps
+@cindex time stamps
+@cindex date stamps
 
 
 Items can be labeled with timestamps to make them useful for project
 Items can be labeled with timestamps to make them useful for project
 planning.
 planning.
@@ -2547,15 +2613,42 @@ end.  With prefix arg, insert result after the time range (in a table:
 into the following column).
 into the following column).
 @end table
 @end table
 
 
+
+@menu
+* The date/time prompt::        
+@end menu
+
+@node The date/time prompt,  , Creating timestamps, Creating timestamps
+@subsection The date/time prompt
 @cindex date, reading in minibuffer
 @cindex date, reading in minibuffer
 @cindex time, reading in minibuffer
 @cindex time, reading in minibuffer
+
+When Org-mode prompts for a date/time, the prompt suggests to enter an
+ISO date.  But it will in fact accept any string containing some date
+and/or time information.  You can, for example, use @kbd{C-y} to paste a
+(possibly multi-line) string copied from an email message.  Org-mode
+will find whatever information is in there and will replace anything not
+specified with the current date and time.  For example:
+
+@example
+  3-2-5         --> 2003-02-05
+  feb 15        --> currentyear-02-15
+  sep 12 9      --> 2009-09-12
+  12:45         --> today 12:45
+  22 sept 0:34  --> currentyear-09-22 0:34
+  12            --> currentyear-currentmonth-12
+  Fri           --> nearest Friday (today or later)
+@end example
+
+The function understands English month and weekday abbreviations.  If
+you want to use unabbreviated names and/or other languages, configure
+the variables @code{parse-time-months} and @code{parse-time-weekdays}.
+
 @cindex calendar, for selecting date
 @cindex calendar, for selecting date
-When Org-mode prompts for a date/time, the function reading your input
-will replace anything you choose not to specify with the current date
-and time.  For details, see the documentation string of
-@command{org-read-date}.  Also, a calender will pop up to allow
-selecting a date.  The calendar can be fully controlled from the
-minibuffer, and a date can be selected with the following commands:
+Parallel to the minibuffer prompt, a calendar is popped up@footnote{If
+you don't need/want the calendar, configure the variable
+@code{org-popup-calendar-for-date-prompt}.}.  You can control the
+calendar fully from the minibuffer:
 
 
 @table @kbd
 @table @kbd
 @kindex <
 @kindex <
@@ -2767,6 +2860,7 @@ searching using the variables @code{org-use-tag-inheritance} and
 @node Setting tags, Tag searches, Tag inheritance, Tags
 @node Setting tags, Tag searches, Tag inheritance, Tags
 @section Setting tags
 @section Setting tags
 @cindex setting tags
 @cindex setting tags
+@cindex tags, setting
 
 
 @kindex M-@key{TAB}
 @kindex M-@key{TAB}
 Tags can simply be typed into the buffer at the end of a headline.
 Tags can simply be typed into the buffer at the end of a headline.
@@ -2858,6 +2952,7 @@ in a specific file?  Just add an empty TAGS option line to that file:
 @node Tag searches,  , Setting tags, Tags
 @node Tag searches,  , Setting tags, Tags
 @section Tag searches
 @section Tag searches
 @cindex tag searches
 @cindex tag searches
+@cindex searching for tags
 
 
 Once a tags system has been set up, it can be used to collect related
 Once a tags system has been set up, it can be used to collect related
 information into special lists.
 information into special lists.
@@ -2924,7 +3019,12 @@ combinations of different views.
 The extracted information is displayed in a special @emph{agenda
 The extracted information is displayed in a special @emph{agenda
 buffer}.  This buffer is read-only, but provides commands to visit the
 buffer}.  This buffer is read-only, but provides commands to visit the
 corresponding locations in the original Org-mode files, and even to
 corresponding locations in the original Org-mode files, and even to
-edit these files remotely.
+edit these files remotely.  
+
+Two variables control how the agenda buffer is displayed and whether the
+window configuration is restored when the agenda exits:
+@code{org-agenda-window-setup} and
+@code{org-agenda-restore-windows-after-quit}.
 
 
 @menu
 @menu
 * Agenda files::                Files being searched for agenda information
 * Agenda files::                Files being searched for agenda information
@@ -2941,6 +3041,7 @@ edit these files remotely.
 @node Agenda files, Agenda dispatcher, Agenda views, Agenda views
 @node Agenda files, Agenda dispatcher, Agenda views, Agenda views
 @section Agenda files
 @section Agenda files
 @cindex agenda files
 @cindex agenda files
+@cindex files for agenda
 
 
 The information to be shown is collected from all @emph{agenda files},
 The information to be shown is collected from all @emph{agenda files},
 the files listed in the variable @code{org-agenda-files}@footnote{If the
 the files listed in the variable @code{org-agenda-files}@footnote{If the
@@ -3707,6 +3808,7 @@ yourself.
 
 
 @node Batch processing,  , Setting Options, Custom agenda views
 @node Batch processing,  , Setting Options, Custom agenda views
 @subsection Creating agenda views in batch processing
 @subsection Creating agenda views in batch processing
+@cindex agenda, batch production
 
 
 If you want to print or otherwise reprocess agenda views, it can be
 If you want to print or otherwise reprocess agenda views, it can be
 useful to create an agenda from the command line.  This is the purpose
 useful to create an agenda from the command line.  This is the purpose
@@ -3764,6 +3866,8 @@ to do with it.
 
 
 @node Math symbols, Subscripts and Superscripts, Embedded LaTeX, Embedded LaTeX
 @node Math symbols, Subscripts and Superscripts, Embedded LaTeX, Embedded LaTeX
 @section Math symbols
 @section Math symbols
+@cindex math symbols
+@cindex TeX macros
 
 
 You can use La@TeX{} macros to insert special symbols like @samp{\alpha}
 You can use La@TeX{} macros to insert special symbols like @samp{\alpha}
 to indicate the Greek letter, or @samp{\to} to indicate an arrow.
 to indicate the Greek letter, or @samp{\to} to indicate an arrow.
@@ -3782,6 +3886,8 @@ into the proper syntax for HTML, for the above examples this is
 
 
 @node Subscripts and Superscripts, LaTeX fragments, Math symbols, Embedded LaTeX
 @node Subscripts and Superscripts, LaTeX fragments, Math symbols, Embedded LaTeX
 @section Subscripts and Superscripts
 @section Subscripts and Superscripts
+@cindex subscript
+@cindex superscript
 
 
 Just like in La@TeX{}, @samp{^} and @samp{_} are used to indicate super-
 Just like in La@TeX{}, @samp{^} and @samp{_} are used to indicate super-
 and subscripts.  Again, these can be used without embedding them in
 and subscripts.  Again, these can be used without embedding them in
@@ -3802,6 +3908,7 @@ are surrounded with @code{<sub>} and @code{<sup>} tags, respectively.
 
 
 @node LaTeX fragments, Processing LaTeX fragments, Subscripts and Superscripts, Embedded LaTeX
 @node LaTeX fragments, Processing LaTeX fragments, Subscripts and Superscripts, Embedded LaTeX
 @section LaTeX fragments
 @section LaTeX fragments
+@cindex LaTeX fragments
 
 
 With symbols, sub- and superscripts, HTML is pretty much at its end when
 With symbols, sub- and superscripts, HTML is pretty much at its end when
 it comes to representing mathematical formulas@footnote{Yes, there is
 it comes to representing mathematical formulas@footnote{Yes, there is
@@ -3852,6 +3959,7 @@ ones you do not wish to have interpreted by the La@TeX{} converter.
 
 
 @node Processing LaTeX fragments, CDLaTeX mode, LaTeX fragments, Embedded LaTeX
 @node Processing LaTeX fragments, CDLaTeX mode, LaTeX fragments, Embedded LaTeX
 @section Processing LaTeX fragments
 @section Processing LaTeX fragments
+@cindex LaTeX fragments, preview
 
 
 La@TeX{} fragments can be processed to produce a preview images of the
 La@TeX{} fragments can be processed to produce a preview images of the
 typeset expressions:
 typeset expressions:
@@ -3880,6 +3988,7 @@ setting is active:
 
 
 @node CDLaTeX mode,  , Processing LaTeX fragments, Embedded LaTeX
 @node CDLaTeX mode,  , Processing LaTeX fragments, Embedded LaTeX
 @section Using CDLaTeX to enter math
 @section Using CDLaTeX to enter math
+@cindex CDLaTeX
 
 
 CDLaTeX-mode is a minor mode that is normally used in combination with a
 CDLaTeX-mode is a minor mode that is normally used in combination with a
 major LaTeX mode like AUCTeX in order to speed-up insertion of
 major LaTeX mode like AUCTeX in order to speed-up insertion of
@@ -4706,6 +4815,8 @@ variable @code{org-tag-alist} (possibly set through the @samp{#+TAGS}
 in-buffer option, @pxref{Setting tags}), or it is created dynamically
 in-buffer option, @pxref{Setting tags}), or it is created dynamically
 from all tags used in the current buffer.
 from all tags used in the current buffer.
 @item
 @item
+After @samp{[}, complete link abbreviations (@pxref{Link abbreviations}).
+@item
 After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or
 After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or
 @samp{OPTIONS} which set file-specific options for Org-mode.  When the
 @samp{OPTIONS} which set file-specific options for Org-mode.  When the
 option keyword is already complete, pressing @kbd{M-@key{TAB}} again
 option keyword is already complete, pressing @kbd{M-@key{TAB}} again
@@ -4791,6 +4902,10 @@ and @code{org-todo-interpretation}.
 These lines (several such lines are allowed) specify the legal tags in
 These lines (several such lines are allowed) specify the legal tags in
 this file, and (potentially) the corresponding @emph{fast tag selection}
 this file, and (potentially) the corresponding @emph{fast tag selection}
 keys.  The corresponding variable is @code{org-tag-alist}.
 keys.  The corresponding variable is @code{org-tag-alist}.
+@item #+LINK:  linkword replace
+These lines (several are allowed) specify link abbreviations.
+@xref{Link abbreviations}.  The corresponding variable is
+@code{org-link-abbrev-alist}.
 @item #+CATEGORY:
 @item #+CATEGORY:
 This line sets the category for the agenda file.  The category applies
 This line sets the category for the agenda file.  The category applies
 for all subsequent lines until the next @samp{#+CATEGORY} line, or the
 for all subsequent lines until the next @samp{#+CATEGORY} line, or the
@@ -4805,6 +4920,7 @@ These lines provide settings for exporting files.  For more details see
 @node The very busy C-c C-c key, Clean view, In-buffer settings, Miscellaneous
 @node The very busy C-c C-c key, Clean view, In-buffer settings, Miscellaneous
 @section The very busy C-c C-c key
 @section The very busy C-c C-c key
 @kindex C-c C-c
 @kindex C-c C-c
+@cindex C-c C-c, overview
 
 
 The key @kbd{C-c C-c} has many purposes in org-mode, which are all
 The key @kbd{C-c C-c} has many purposes in org-mode, which are all
 mentioned scattered throughout this manual.  One specific function of
 mentioned scattered throughout this manual.  One specific function of
@@ -4994,7 +5110,6 @@ with other code out there.
 * Conflicts::                   Packages that lead to conflicts
 * Conflicts::                   Packages that lead to conflicts
 @end menu
 @end menu
 
 
-
 @node Cooperation, Conflicts, Interaction, Interaction
 @node Cooperation, Conflicts, Interaction, Interaction
 @subsection Packages that Org-mode cooperates with
 @subsection Packages that Org-mode cooperates with
 
 
@@ -5325,6 +5440,8 @@ Linking to VM/BBDB/GNUS was inspired by @i{Tom Shannon}'s
 @i{Daniel Sinder} came up with the idea of internal archiving by locking
 @i{Daniel Sinder} came up with the idea of internal archiving by locking
 subtrees.
 subtrees.
 @item
 @item
+@i{Dale Smith} proposed link abbreviations.
+@item
 @i{David O'Toole} wrote @file{org-publish.el} and drafted the manual
 @i{David O'Toole} wrote @file{org-publish.el} and drafted the manual
 chapter about publishing.
 chapter about publishing.
 @item
 @item

BIN
orgcard.pdf


+ 6 - 5
orgcard.tex

@@ -1,5 +1,5 @@
 % Reference Card for Org Mode
 % Reference Card for Org Mode
-\def\orgversionnumber{4.50}
+\def\orgversionnumber{4.51}
 \def\year{2006}
 \def\year{2006}
 %
 %
 %**start of header
 %**start of header
@@ -424,10 +424,11 @@ formula, \kbd{:=} a named-field formula.
 \key{insert file link with file name completion}{C-u C-c C-l}
 \key{insert file link with file name completion}{C-u C-c C-l}
 \key{edit (also hidden part of) link at point}{C-c C-l}
 \key{edit (also hidden part of) link at point}{C-c C-l}
 
 
-\key{open file links in emacs (\kbd{C-u} : in emacs)}{C-c C-o}
-\key{open link at point (3: in emacs)}{mouse-2/3}
-%\key{open file links in emacs}{mouse-3}
-%\key{record a position in mark ring}{C-c \%}
+\key{open file links in emacs}{C-c C-o}
+\key{...force open in emacs/other window}{C-u C-c C-o}
+\key{open link at point}{mouse-1/2}
+\key{...force open in emacs/other window}{mouse-3}
+\key{record a position in mark ring}{C-c \%}
 \key{jump back to last followed link(s)}{C-c \&}
 \key{jump back to last followed link(s)}{C-c \&}
 
 
 {\bf Internal Links}
 {\bf Internal Links}