Browse Source

Release 4.44

Carsten Dominik 17 years ago
parent
commit
93a4128a6f
7 changed files with 677 additions and 492 deletions
  1. 246 176
      org
  2. 306 271
      org.el
  3. BIN
      org.pdf
  4. 113 39
      org.texi
  5. BIN
      orgcard.pdf
  6. 1 1
      orgcard.tex
  7. 11 5
      xemacs/README

+ 246 - 176
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.43).
+   This manual is for Org-mode (version 4.44).
 
 
    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.43).
+This manual is for Org-mode (version 4.44).
 
 
    Copyright (C) 2004, 2005, 2006 Free Software Foundation
    Copyright (C) 2004, 2005, 2006 Free Software Foundation
 
 
@@ -67,7 +67,8 @@ This manual is for Org-mode (version 4.43).
 Introduction
 Introduction
 
 
 * Summary::                     Brief summary of what Org-mode does
 * Summary::                     Brief summary of what Org-mode does
-* Installation::                How to install Org-mode
+* Installation::                How to install a downloaded version of Org-mode
+* Activation::                  How to activate Org-mode for certain buffers.
 * Feedback::                    Bug reports, ideas, patches etc.
 * Feedback::                    Bug reports, ideas, patches etc.
 
 
 Document Structure
 Document Structure
@@ -239,7 +240,8 @@ File: org,  Node: Introduction,  Next: Document structure,  Prev: Top,  Up: Top
 * Menu:
 * Menu:
 
 
 * Summary::                     Brief summary of what Org-mode does
 * Summary::                     Brief summary of what Org-mode does
-* Installation::                How to install Org-mode
+* Installation::                How to install a downloaded version of Org-mode
+* Activation::                  How to activate Org-mode for certain buffers.
 * Feedback::                    Bug reports, ideas, patches etc.
 * Feedback::                    Bug reports, ideas, patches etc.
 
 
 
 
@@ -289,15 +291,54 @@ questions (FAQ), links to tutorials etc.  This page is located at
 `http://www.astro.uva.nl/~dominik/Tools/org/'.
 `http://www.astro.uva.nl/~dominik/Tools/org/'.
 
 
 
 
-File: org,  Node: Installation,  Next: Feedback,  Prev: Summary,  Up: Introduction
+File: org,  Node: Installation,  Next: Activation,  Prev: Summary,  Up: Introduction
 
 
-1.2 Installation and Activation
-===============================
+1.2 Installation
+================
+
+Important: If Org-mode is part of the Emacs distribution or an XEmacs
+package, please skip this section and go directly to *Note Activation::.
+
+   If you have downloaded Org-mode from the Web, you must take the
+following steps to install it: Go into the Org-mode distribution
+directory and edit the top section of the file `Makefile'.  You must
+set the name of the Emacs binary (likely either `emacs' or `xemacs'),
+and the paths to the directories where local Lisp and Info files are
+kept.  If you don't have access to the system-wide directories, create
+your own two directories for these files, enter them into the Makefile,
+and make sure Emacs finds the Lisp files by adding the following line
+to `.emacs':
+
+     (setq load-path (cons "~/path/to/lispdir" load-path))
+
+   XEmacs users now need to install the file `noutline.el' from the
+`xemacs' subdirectory of the Org-mode distribution.  Use the command:
+
+     make install-noutline
+
+Now byte-compile and install the Lisp files with the shell commands:
+
+     make
+     make install
+
+If you want to install the info documentation, use this command:
+
+     make install-info
+
+Then add to `.emacs':
+
+     ;; This line only if org-mode is not part of the X/Emacs distribution.
+     (require 'org-install)
+
+
+File: org,  Node: Activation,  Next: Feedback,  Prev: Installation,  Up: Introduction
+
+1.3 Activation
+==============
 
 
-If Org-mode is part of the Emacs distribution or an XEmacs package, you
-only need to copy the following lines to your `.emacs' file.  The last
-two lines define _global_ keys for the commands `org-store-link' and
-`org-agenda' - please choose suitable keys yourself.
+Add the following lines to your `.emacs' file.  The last two lines
+define _global_ keys for the commands `org-store-link' and `org-agenda'
+- please choose suitable keys yourself.
 
 
      ;; The following lines are always needed.  Choose your own keys.
      ;; The following lines are always needed.  Choose your own keys.
      (add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
      (add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
@@ -306,22 +347,11 @@ two lines define _global_ keys for the commands `org-store-link' and
 
 
    Furthermore, you must activate `font-lock-mode' in org-mode buffers,
    Furthermore, you must activate `font-lock-mode' in org-mode buffers,
 because significant functionality depends on font-locking being active.
 because significant functionality depends on font-locking being active.
-You can do this with either one of the following two lines:
+You can do this with either one of the following two lines (XEmacs
+user must use the second option):
      (global-font-lock-mode 1)                     ; for all buffers
      (global-font-lock-mode 1)                     ; for all buffers
      (add-hook 'org-mode-hook 'turn-on-font-lock)  ; org-mode buffers only
      (add-hook 'org-mode-hook 'turn-on-font-lock)  ; org-mode buffers only
 
 
-   If you have downloaded Org-mode from the Web, you must take
-additional action:  Byte-compile `org.el' and `org-publish.el' and put
-them together with `org-install.el' on your load path.  Then add to
-`.emacs':
-
-     ;; This line only if org-mode is not part of the X/Emacs distribution.
-     (require 'org-install)
-
-   If you use Org-mode with XEmacs, you also need to install the file
-`noutline.el' from the `xemacs' subdirectory of the Org-mode
-distribution.
-
    With this setup, all files with extension `.org' will be put into
    With this setup, all files with extension `.org' will be put into
 Org-mode.  As an alternative, make the first line of a file look like
 Org-mode.  As an alternative, make the first line of a file look like
 this:
 this:
@@ -332,9 +362,9 @@ which will select Org-mode for this buffer no matter what the file's
 name is.  See also the variable `org-insert-mode-line-in-empty-file'.
 name is.  See also the variable `org-insert-mode-line-in-empty-file'.
 
 
 
 
-File: org,  Node: Feedback,  Prev: Installation,  Up: Introduction
+File: org,  Node: Feedback,  Prev: Activation,  Up: Introduction
 
 
-1.3 Feedback
+1.4 Feedback
 ============
 ============
 
 
 If you find problems with Org-mode, or if you have questions, remarks,
 If you find problems with Org-mode, or if you have questions, remarks,
@@ -718,8 +748,8 @@ is indented like the bullet/number, or less.  For example:
         He makes a really funny face when it happens.
         He makes a really funny face when it happens.
      But in the end, not individual scenes matter but the film as a whole.
      But in the end, not individual scenes matter but the film as a whole.
 
 
-   Org-mode supports these lists by tuning filling and wrapping commands
-to deal with them correctly.
+   Org-mode supports these lists by tuning filling and wrapping
+commands to deal with them correctly(2).
 
 
    The following commands act on items when the cursor is in the first
    The following commands act on items when the cursor is in the first
 line of an item (the line with the bullet or number).
 line of an item (the line with the bullet or number).
@@ -777,6 +807,11 @@ star are visually indistinguishable from true headlines.  In short:
 even though `*' is supported, it may be better not to use it for plain
 even though `*' is supported, it may be better not to use it for plain
 list items
 list items
 
 
+   (2) Org-mode only changes the filling settings for Emacs.  For
+XEmacs, you should use Kyle E. Jones' `filladapt.el'.  To turn is on,
+put into `.emacs':
+     (require 'filladapt)
+
 
 
 File: org,  Node: Checkboxes,  Prev: Plain lists,  Up: Document structure
 File: org,  Node: Checkboxes,  Prev: Plain lists,  Up: Document structure
 
 
@@ -2305,6 +2340,11 @@ also computes the total time spent on each subtree of a project.
      computes the resulting time in inserts it after the time range as
      computes the resulting time in inserts it after the time range as
      `=> HH:MM'.  
      `=> HH:MM'.  
 
 
+`C-c C-y'
+     Recompute the time interval after changing one of the time stamps.
+     This is only necessary if you edit the time stamps directly.  If
+     you change them with `S-<cursor>' keys, the update is automatic.  
+
 `C-c C-t'
 `C-c C-t'
      Changing the TODO state of an item to DONE automatically stops the
      Changing the TODO state of an item to DONE automatically stops the
      clock if it is running in this same item.  
      clock if it is running in this same item.  
@@ -2321,8 +2361,8 @@ also computes the total time spent on each subtree of a project.
      the overlays disappear automatically when the buffer is changed.  
      the overlays disappear automatically when the buffer is changed.  
 
 
 `C-c C-x C-r'
 `C-c C-x C-r'
-     Insert a dynamic block containing a clock report as an org-mode
-     table into the current file.
+     Insert a dynamic block (*note Dynamic blocks::) containing a clock
+     report as an org-mode table into the current file.
           #+BEGIN: clocktable :maxlevel 2 :emphasize nil
           #+BEGIN: clocktable :maxlevel 2 :emphasize nil
 
 
           #+END: clocktable
           #+END: clocktable
@@ -2330,11 +2370,35 @@ also computes the total time spent on each subtree of a project.
      table.  The `BEGIN' line can specify options:
      table.  The `BEGIN' line can specify options:
           :maxlevels   Maximum level depth to which times are listed in the table.
           :maxlevels   Maximum level depth to which times are listed in the table.
           :emphasize   When `t', emphasize level one and level two items
           :emphasize   When `t', emphasize level one and level two items
+          :block       The time block to consider.  This block is specified relative
+                       to the current time and may be any of these keywords:
+                       `today', `yesterday', `thisweek', `lastweek',
+                       `thismonth', `lastmonth', `thisyear', or `lastyear'.
+          :tstart      A time string specifying when to start considering times
+          :tend        A time string specifying when to stop considering times
+     So to get a clock summary for the current day, you could write
+          #+BEGIN: clocktable :maxlevel 2 :block today
+
+          #+END: clocktable
+     and to use a specific time range you could write(1)
+          #+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>"
+                              :tend "<2006-08-10 Thu 12:00>"
+
+          #+END: clocktable
+     
+`C-u C-c C-x C-u'
+     Update all dynamic blocks (*note Dynamic blocks::).  This is
+     useful if you have several clocktable blocks in a buffer.
 
 
    The `l' key may be used in the timeline (*note Timeline::) and in
    The `l' key may be used in the timeline (*note Timeline::) and in
 the agenda (*note Weekly/Daily agenda::) to show which tasks have been
 the agenda (*note Weekly/Daily agenda::) to show which tasks have been
 worked on or closed during a day.
 worked on or closed during a day.
 
 
+   ---------- Footnotes ----------
+
+   (1) Note that all parameters must be specified in a single line -
+the line is broken here only to fit it onto the manual.
+
 
 
 File: org,  Node: Tags,  Next: Agenda views,  Prev: Timestamps,  Up: Top
 File: org,  Node: Tags,  Next: Agenda views,  Prev: Timestamps,  Up: Top
 
 
@@ -4230,8 +4294,7 @@ File: org,  Node: Cooperation,  Next: Conflicts,  Prev: Interaction,  Up: Intera
 
 
 `cdlatex.el' by Carsten Dominik
 `cdlatex.el' by Carsten Dominik
      Org-mode can make use of the cdlatex package to efficiently enter
      Org-mode can make use of the cdlatex package to efficiently enter
-     LaTeX fragments into Org-mode files.  `cdlatex.el' is not part of
-     Emacs, find it on the web.
+     LaTeX fragments into Org-mode files. See *Note CDLaTeX mode::.
 
 
 `remember.el' by John Wiegley
 `remember.el' by John Wiegley
      Org mode cooperates with remember, see *Note Remember::.
      Org mode cooperates with remember, see *Note Remember::.
@@ -4383,7 +4446,7 @@ example for such a block is the clock table inserted by the command
 name to the block and can also specify parameters for the function
 name to the block and can also specify parameters for the function
 producing the content of the block.
 producing the content of the block.
 
 
-     #+BEGIN: myblock :parameter1 value1 :parameter2 value2 .....
+     #+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
 
 
      #+END:
      #+END:
 
 
@@ -4558,6 +4621,7 @@ Index
 * 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)
+* activation:                            Activation.          (line   6)
 * active region <1>:                     HTML export.         (line  10)
 * active region <1>:                     HTML export.         (line  10)
 * active region <2>:                     ASCII export.        (line   9)
 * active region <2>:                     ASCII export.        (line   9)
 * active region <3>:                     Built-in table editor.
 * active region <3>:                     Built-in table editor.
@@ -4576,7 +4640,7 @@ Index
 * archiving:                             Archiving.           (line   6)
 * archiving:                             Archiving.           (line   6)
 * ASCII export:                          ASCII export.        (line   6)
 * ASCII export:                          ASCII export.        (line   6)
 * author:                                Feedback.            (line   6)
 * author:                                Feedback.            (line   6)
-* autoload:                              Installation.        (line   6)
+* autoload:                              Activation.          (line   6)
 * BBDB links:                            External links.      (line   6)
 * BBDB links:                            External links.      (line   6)
 * bold text:                             Enhancing text.      (line  15)
 * bold text:                             Enhancing text.      (line  15)
 * bug reports:                           Feedback.            (line   6)
 * bug reports:                           Feedback.            (line   6)
@@ -4677,7 +4741,7 @@ Index
 * formula, in tables:                    Built-in table editor.
 * formula, in tables:                    Built-in table editor.
                                                               (line 135)
                                                               (line 135)
 * global cycling:                        Visibility cycling.  (line  22)
 * global cycling:                        Visibility cycling.  (line  22)
-* global keybindings:                    Installation.        (line   6)
+* global keybindings:                    Activation.          (line   6)
 * global TODO list:                      Global TODO list.    (line   6)
 * global TODO list:                      Global TODO list.    (line   6)
 * global visibility states:              Visibility cycling.  (line  22)
 * global visibility states:              Visibility cycling.  (line  22)
 * GNUS links:                            External links.      (line   6)
 * GNUS links:                            External links.      (line   6)
@@ -4708,7 +4772,7 @@ Index
 * introduction:                          Introduction.        (line   6)
 * introduction:                          Introduction.        (line   6)
 * italic text:                           Enhancing text.      (line  15)
 * italic text:                           Enhancing text.      (line  15)
 * jumping, to headlines:                 Motion.              (line   6)
 * jumping, to headlines:                 Motion.              (line   6)
-* keybindings, global:                   Installation.        (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:                       Export options.      (line  25)
 * LaTeX fragments, export:               Enhancing text.      (line  18)
 * LaTeX fragments, export:               Enhancing text.      (line  18)
@@ -4751,7 +4815,7 @@ Index
 * org-agenda, command:                   Weekly/Daily agenda. (line   9)
 * org-agenda, command:                   Weekly/Daily agenda. (line   9)
 * org-blog.el:                           Extensions.          (line  25)
 * org-blog.el:                           Extensions.          (line  25)
 * org-blogging.el:                       Extensions.          (line  29)
 * org-blogging.el:                       Extensions.          (line  29)
-* org-mode, turning on:                  Installation.        (line  34)
+* org-mode, turning on:                  Activation.          (line  22)
 * org-mouse.el:                          Extensions.          (line   8)
 * org-mouse.el:                          Extensions.          (line   8)
 * org-publish-project-alist:             Project alist.       (line   6)
 * org-publish-project-alist:             Project alist.       (line   6)
 * org-publish.el:                        Extensions.          (line  14)
 * org-publish.el:                        Extensions.          (line  14)
@@ -4781,7 +4845,7 @@ Index
 * region, active <3>:                    Built-in table editor.
 * region, active <3>:                    Built-in table editor.
                                                               (line 165)
                                                               (line 165)
 * region, active:                        Structure editing.   (line  51)
 * region, active:                        Structure editing.   (line  51)
-* remember.el <1>:                       Cooperation.         (line  34)
+* remember.el <1>:                       Cooperation.         (line  33)
 * remember.el:                           Remember.            (line   6)
 * remember.el:                           Remember.            (line   6)
 * richer text:                           Enhancing text.      (line   6)
 * richer text:                           Enhancing text.      (line   6)
 * RMAIL links:                           External links.      (line   6)
 * RMAIL links:                           External links.      (line   6)
@@ -4817,7 +4881,7 @@ Index
                                                               (line   6)
                                                               (line   6)
 * table editor, table.el:                table.el.            (line   6)
 * table editor, table.el:                table.el.            (line   6)
 * table of contents:                     Export options.      (line  25)
 * table of contents:                     Export options.      (line  25)
-* table.el <1>:                          Cooperation.         (line  35)
+* table.el <1>:                          Cooperation.         (line  34)
 * table.el:                              table.el.            (line   6)
 * table.el:                              table.el.            (line   6)
 * tables <1>:                            Export options.      (line  25)
 * tables <1>:                            Export options.      (line  25)
 * tables:                                Tables.              (line   6)
 * tables:                                Tables.              (line   6)
@@ -4867,6 +4931,7 @@ Index
 * WANDERLUST links:                      External links.      (line   6)
 * WANDERLUST links:                      External links.      (line   6)
 * windmove.el:                           Conflicts.           (line  33)
 * windmove.el:                           Conflicts.           (line  33)
 * workflow states as TODO keywords:      Workflow states.     (line   6)
 * workflow states as TODO keywords:      Workflow states.     (line   6)
+* XEmacs:                                Installation.        (line   6)
 * XOXO export:                           XOXO export.         (line   6)
 * XOXO export:                           XOXO export.         (line   6)
 
 
 
 
@@ -5000,7 +5065,7 @@ File: org,  Node: Key Index,  Prev: Index,  Up: Top
 * C-c C-r:                               Timeline.            (line  13)
 * C-c C-r:                               Timeline.            (line  13)
 * C-c C-s <1>:                           Agenda commands.     (line 136)
 * C-c C-s <1>:                           Agenda commands.     (line 136)
 * C-c C-s:                               Creating timestamps. (line  48)
 * C-c C-s:                               Creating timestamps. (line  48)
-* C-c C-t <1>:                           Clocking work time.  (line  20)
+* C-c C-t <1>:                           Clocking work time.  (line  25)
 * C-c C-t:                               TODO basics.         (line  13)
 * C-c C-t:                               TODO basics.         (line  13)
 * C-c C-u:                               Motion.              (line  18)
 * C-c C-u:                               Motion.              (line  18)
 * C-c C-v:                               TODO basics.         (line  26)
 * C-c C-v:                               TODO basics.         (line  26)
@@ -5008,24 +5073,25 @@ File: org,  Node: Key Index,  Prev: Index,  Up: Top
 * C-c C-x C-a:                           ARCHIVE tag.         (line  27)
 * C-c C-x C-a:                           ARCHIVE tag.         (line  27)
 * C-c C-x C-b:                           Checkboxes.          (line  23)
 * C-c C-x C-b:                           Checkboxes.          (line  23)
 * C-c C-x C-c:                           Agenda commands.     (line 201)
 * C-c C-x C-c:                           Agenda commands.     (line 201)
-* C-c C-x C-d:                           Clocking work time.  (line  28)
+* C-c C-x C-d:                           Clocking work time.  (line  33)
 * C-c C-x C-i:                           Clocking work time.  (line  12)
 * C-c C-x C-i:                           Clocking work time.  (line  12)
 * C-c C-x C-k:                           Structure editing.   (line  36)
 * C-c C-x C-k:                           Structure editing.   (line  36)
 * C-c C-x C-l:                           Processing LaTeX fragments.
 * C-c C-x C-l:                           Processing LaTeX fragments.
                                                               (line   9)
                                                               (line   9)
 * C-c C-x C-o:                           Clocking work time.  (line  14)
 * C-c C-x C-o:                           Clocking work time.  (line  14)
-* C-c C-x C-r:                           Clocking work time.  (line  35)
+* C-c C-x C-r:                           Clocking work time.  (line  40)
 * C-c C-x C-u:                           Dynamic blocks.      (line  21)
 * C-c C-x C-u:                           Dynamic blocks.      (line  21)
 * C-c C-x C-w <1>:                       Built-in table editor.
 * C-c C-x C-w <1>:                       Built-in table editor.
                                                               (line 108)
                                                               (line 108)
 * C-c C-x C-w:                           Structure editing.   (line  36)
 * C-c C-x C-w:                           Structure editing.   (line  36)
-* C-c C-x C-x:                           Clocking work time.  (line  24)
+* C-c C-x C-x:                           Clocking work time.  (line  29)
 * C-c C-x C-y <1>:                       Built-in table editor.
 * C-c C-x C-y <1>:                       Built-in table editor.
                                                               (line 112)
                                                               (line 112)
 * C-c C-x C-y:                           Structure editing.   (line  43)
 * C-c C-x C-y:                           Structure editing.   (line  43)
 * C-c C-x M-w <1>:                       Built-in table editor.
 * C-c C-x M-w <1>:                       Built-in table editor.
                                                               (line 105)
                                                               (line 105)
 * C-c C-x M-w:                           Structure editing.   (line  40)
 * C-c C-x M-w:                           Structure editing.   (line  40)
+* C-c C-y <1>:                           Clocking work time.  (line  20)
 * C-c C-y:                               Creating timestamps. (line  66)
 * C-c C-y:                               Creating timestamps. (line  66)
 * C-c l:                                 Handling links.      (line   9)
 * C-c l:                                 Handling links.      (line   9)
 * C-c {:                                 CDLaTeX mode.        (line  21)
 * C-c {:                                 CDLaTeX mode.        (line  21)
@@ -5038,7 +5104,8 @@ File: org,  Node: Key Index,  Prev: Index,  Up: Top
                                                               (line 139)
                                                               (line 139)
 * C-u C-c C-l:                           Handling links.      (line  43)
 * C-u C-c C-l:                           Handling links.      (line  43)
 * C-u C-c C-x C-a:                       ARCHIVE tag.         (line  30)
 * C-u C-c C-x C-a:                       ARCHIVE tag.         (line  30)
-* C-u C-c C-x C-u:                       Dynamic blocks.      (line  22)
+* C-u C-c C-x C-u <1>:                   Dynamic blocks.      (line  22)
+* C-u C-c C-x C-u:                       Clocking work time.  (line  67)
 * D:                                     Agenda commands.     (line  68)
 * D:                                     Agenda commands.     (line  68)
 * d:                                     Agenda commands.     (line  65)
 * d:                                     Agenda commands.     (line  65)
 * f:                                     Agenda commands.     (line  44)
 * f:                                     Agenda commands.     (line  44)
@@ -5131,137 +5198,140 @@ File: org,  Node: Key Index,  Prev: Index,  Up: Top
 
 
 Tag Table:
 Tag Table:
 Node: Top959
 Node: Top959
-Node: Introduction9515
-Node: Summary9828
-Node: Installation12095
-Node: Feedback13884
-Node: Document structure14655
-Node: Outlines15481
-Node: Headlines16141
-Node: Visibility cycling16764
-Ref: Visibility cycling-Footnote-118239
-Ref: Visibility cycling-Footnote-218297
-Node: Motion18347
-Node: Structure editing19131
-Node: Archiving21240
-Node: ARCHIVE tag21798
-Node: Moving subtrees23473
-Node: Sparse trees24514
-Ref: Sparse trees-Footnote-126493
-Ref: Sparse trees-Footnote-226585
-Node: Plain lists26700
-Ref: Plain lists-Footnote-130305
-Node: Checkboxes30662
-Node: Tables32299
-Node: Built-in table editor32847
-Node: Narrow columns40454
-Ref: Narrow columns-Footnote-142393
-Node: Table calculations42439
-Node: Formula syntax43759
-Ref: Formula syntax-Footnote-146664
-Node: Lisp formulas46964
-Node: Column formulas47753
-Node: Advanced features49515
-Node: Named-field formulas52769
-Node: Editing/debugging formulas53409
-Node: Appetizer55167
-Node: orgtbl-mode56270
-Node: table.el56761
-Node: Hyperlinks57738
-Node: Link format58443
-Node: Internal links59736
-Ref: Internal links-Footnote-161725
-Node: Radio targets61857
-Node: CamelCase links62572
-Node: External links63070
-Node: Handling links65201
-Ref: Handling links-Footnote-169787
-Node: Search options70024
-Ref: Search options-Footnote-171798
-Node: Custom searches71879
-Node: Remember72927
-Node: TODO items76617
-Node: TODO basics77481
-Node: TODO extensions79008
-Node: Workflow states79803
-Node: TODO types80671
-Ref: TODO types-Footnote-182329
-Node: Per file keywords82411
-Ref: Per file keywords-Footnote-183865
-Node: Priorities84093
-Node: Timestamps85309
-Node: Time stamps85699
-Node: Creating timestamps88796
-Node: Progress logging92142
-Node: Closing items92672
-Node: Clocking work time93467
-Node: Tags95636
-Node: Tag inheritance96398
-Node: Setting tags97335
-Ref: Setting tags-Footnote-1100465
-Ref: Setting tags-Footnote-2100577
-Node: Tag searches100657
-Node: Agenda views101866
-Node: Agenda files103410
-Ref: Agenda files-Footnote-1104370
-Ref: Agenda files-Footnote-2104519
-Node: Agenda dispatcher104711
-Node: Weekly/Daily agenda106827
-Node: Categories107962
-Node: Time-of-day specifications108610
-Node: Calendar/Diary integration110586
-Node: Sorting of agenda items111963
-Node: Global TODO list112795
-Node: Matching headline tags114846
-Node: Timeline115789
-Node: Agenda commands116662
-Node: Embedded LaTeX122506
-Ref: Embedded LaTeX-Footnote-1123598
-Node: Math symbols123788
-Node: Subscripts and Superscripts124553
-Node: LaTeX fragments125397
-Node: Processing LaTeX fragments127466
-Node: CDLaTeX mode128412
-Ref: CDLaTeX mode-Footnote-1130896
-Node: Exporting131044
-Node: ASCII export132358
-Node: HTML export133648
-Node: XOXO export136484
-Node: iCalendar export136923
-Node: Text interpretation138746
-Node: Comment lines139225
-Node: Enhancing text139696
-Node: Export options141388
-Node: Publishing143055
-Ref: Publishing-Footnote-1143851
-Node: Configuration144047
-Node: Project alist144765
-Node: Sources and destinations145831
-Node: Selecting files146378
-Node: Publishing action147126
-Node: Publishing options148241
-Node: Publishing links150393
-Node: Project page index151906
-Node: Sample configuration152684
-Node: Simple example153176
-Node: Complex example153849
-Node: Triggering publication155925
-Node: Miscellaneous156609
-Node: Completion157243
-Node: Customization158239
-Node: In-buffer settings158824
-Node: The very busy C-c C-c key162055
-Node: Clean view163692
-Node: TTY keys166269
-Node: Interaction167878
-Node: Cooperation168275
-Node: Conflicts170177
-Node: Bugs171769
-Node: Extensions and Hacking173392
-Node: Extensions173878
-Node: Dynamic blocks175448
-Node: History and Acknowledgments177370
-Node: Index182151
-Node: Key Index204991
+Node: Introduction9617
+Node: Summary10032
+Node: Installation12299
+Node: Activation13677
+Node: Feedback14926
+Node: Document structure15695
+Node: Outlines16521
+Node: Headlines17181
+Node: Visibility cycling17804
+Ref: Visibility cycling-Footnote-119279
+Ref: Visibility cycling-Footnote-219337
+Node: Motion19387
+Node: Structure editing20171
+Node: Archiving22280
+Node: ARCHIVE tag22838
+Node: Moving subtrees24513
+Node: Sparse trees25554
+Ref: Sparse trees-Footnote-127533
+Ref: Sparse trees-Footnote-227625
+Node: Plain lists27740
+Ref: Plain lists-Footnote-131348
+Ref: Plain lists-Footnote-231705
+Node: Checkboxes31887
+Node: Tables33524
+Node: Built-in table editor34072
+Node: Narrow columns41679
+Ref: Narrow columns-Footnote-143618
+Node: Table calculations43664
+Node: Formula syntax44984
+Ref: Formula syntax-Footnote-147889
+Node: Lisp formulas48189
+Node: Column formulas48978
+Node: Advanced features50740
+Node: Named-field formulas53994
+Node: Editing/debugging formulas54634
+Node: Appetizer56392
+Node: orgtbl-mode57495
+Node: table.el57986
+Node: Hyperlinks58963
+Node: Link format59668
+Node: Internal links60961
+Ref: Internal links-Footnote-162950
+Node: Radio targets63082
+Node: CamelCase links63797
+Node: External links64295
+Node: Handling links66426
+Ref: Handling links-Footnote-171012
+Node: Search options71249
+Ref: Search options-Footnote-173023
+Node: Custom searches73104
+Node: Remember74152
+Node: TODO items77842
+Node: TODO basics78706
+Node: TODO extensions80233
+Node: Workflow states81028
+Node: TODO types81896
+Ref: TODO types-Footnote-183554
+Node: Per file keywords83636
+Ref: Per file keywords-Footnote-185090
+Node: Priorities85318
+Node: Timestamps86534
+Node: Time stamps86924
+Node: Creating timestamps90021
+Node: Progress logging93367
+Node: Closing items93897
+Node: Clocking work time94692
+Ref: Clocking work time-Footnote-198128
+Node: Tags98254
+Node: Tag inheritance99016
+Node: Setting tags99953
+Ref: Setting tags-Footnote-1103083
+Ref: Setting tags-Footnote-2103195
+Node: Tag searches103275
+Node: Agenda views104484
+Node: Agenda files106028
+Ref: Agenda files-Footnote-1106988
+Ref: Agenda files-Footnote-2107137
+Node: Agenda dispatcher107329
+Node: Weekly/Daily agenda109445
+Node: Categories110580
+Node: Time-of-day specifications111228
+Node: Calendar/Diary integration113204
+Node: Sorting of agenda items114581
+Node: Global TODO list115413
+Node: Matching headline tags117464
+Node: Timeline118407
+Node: Agenda commands119280
+Node: Embedded LaTeX125124
+Ref: Embedded LaTeX-Footnote-1126216
+Node: Math symbols126406
+Node: Subscripts and Superscripts127171
+Node: LaTeX fragments128015
+Node: Processing LaTeX fragments130084
+Node: CDLaTeX mode131030
+Ref: CDLaTeX mode-Footnote-1133514
+Node: Exporting133662
+Node: ASCII export134976
+Node: HTML export136266
+Node: XOXO export139102
+Node: iCalendar export139541
+Node: Text interpretation141364
+Node: Comment lines141843
+Node: Enhancing text142314
+Node: Export options144006
+Node: Publishing145673
+Ref: Publishing-Footnote-1146469
+Node: Configuration146665
+Node: Project alist147383
+Node: Sources and destinations148449
+Node: Selecting files148996
+Node: Publishing action149744
+Node: Publishing options150859
+Node: Publishing links153011
+Node: Project page index154524
+Node: Sample configuration155302
+Node: Simple example155794
+Node: Complex example156467
+Node: Triggering publication158543
+Node: Miscellaneous159227
+Node: Completion159861
+Node: Customization160857
+Node: In-buffer settings161442
+Node: The very busy C-c C-c key164673
+Node: Clean view166310
+Node: TTY keys168887
+Node: Interaction170496
+Node: Cooperation170893
+Node: Conflicts172760
+Node: Bugs174352
+Node: Extensions and Hacking175975
+Node: Extensions176461
+Node: Dynamic blocks178031
+Node: History and Acknowledgments179951
+Node: Index184732
+Node: Key Index207718
 
 
 End Tag Table
 End Tag Table

+ 306 - 271
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.43
+;; Version: 4.44
 ;;
 ;;
 ;; This file is part of GNU Emacs.
 ;; This file is part of GNU Emacs.
 ;;
 ;;
@@ -90,10 +90,12 @@
 ;;
 ;;
 ;; Recent changes
 ;; Recent changes
 ;; --------------
 ;; --------------
-;; Version 4.43
-;;    - Big fixes
+;; Version 4.44
+;;    - Clock table can be done for a limited time interval.
+;;    - Obsolete support for the old outline mode has been removed.
+;;    - Bug fixes and code cleaning.
 ;;
 ;;
-;; Version 4.42
+;; Version 4.43
 ;;    - Bug fixes
 ;;    - Bug fixes
 ;;    - `s' key in the agenda saves all org-mode buffers.
 ;;    - `s' key in the agenda saves all org-mode buffers.
 ;;
 ;;
@@ -212,16 +214,13 @@
 
 
 ;;; Customization variables
 ;;; Customization variables
 
 
-(defvar org-version "4.43"
+(defvar org-version "4.44"
   "The version number of the file org.el.")
   "The version number of the file org.el.")
 (defun org-version ()
 (defun org-version ()
   (interactive)
   (interactive)
   (message "Org-mode version %s" org-version))
   (message "Org-mode version %s" org-version))
 
 
-;; The following constant is for compatibility with different versions
-;; of outline.el.
-(defconst org-noutline-p (featurep 'noutline)
-  "Are we using the new outline mode?")
+;; Compatibility constants
 (defconst org-xemacs-p (featurep 'xemacs)) ; not used by org.el itself
 (defconst org-xemacs-p (featurep 'xemacs)) ; not used by org.el itself
 (defconst org-format-transports-properties-p
 (defconst org-format-transports-properties-p
   (let ((x "a"))
   (let ((x "a"))
@@ -1132,7 +1131,7 @@ files and the cdr the corresponding command.  Possible values for the
 file identifier are
 file identifier are
  \"ext\"         A string identifying an extension
  \"ext\"         A string identifying an extension
  `directory'   Matches a directory
  `directory'   Matches a directory
- `remote'      Matches a remove file, accessible through tramp or efs.
+ `remote'      Matches a remote file, accessible through tramp or efs.
                Remote files most likely should be visited through emacs
                Remote files most likely should be visited through emacs
                because external applications cannot handle such paths.
                because external applications cannot handle such paths.
  t             Default for all remaining files
  t             Default for all remaining files
@@ -1831,6 +1830,7 @@ Org-mode files lives."
 
 
 (defcustom org-export-language-setup
 (defcustom org-export-language-setup
   '(("en"  "Author"          "Date"  "Table of Contents")
   '(("en"  "Author"          "Date"  "Table of Contents")
+    ("cs"  "Autor"           "Datum" "Obsah")
     ("da"  "Ophavsmand"      "Dato"  "Indhold")
     ("da"  "Ophavsmand"      "Dato"  "Indhold")
     ("de"  "Autor"           "Datum" "Inhaltsverzeichnis")
     ("de"  "Autor"           "Datum" "Inhaltsverzeichnis")
     ("es"  "Autor"           "Fecha" "\xccndice")
     ("es"  "Autor"           "Fecha" "\xccndice")
@@ -2150,6 +2150,16 @@ you can \"misuse\" it to add arbitrary text to the header."
   :group 'org-export-html
   :group 'org-export-html
   :type 'string)
   :type 'string)
 
 
+(defcustom org-export-html-title-format "<h1 class=\"title\">%s</h1>\n"
+  "Format for typesetting the document title in HTML export."
+  :group 'org-export-html
+  :type 'string)
+
+(defcustom org-export-html-toplevel-hlevel 2
+  "The <H> level for level 1 headings in HTML export."
+  :group 'org-export-html
+  :type 'string)
+
 (defcustom org-export-html-link-org-files-as-html t
 (defcustom org-export-html-link-org-files-as-html t
   "Non-nil means, make file links to `file.org' point to `file.html'.
   "Non-nil means, make file links to `file.org' point to `file.html'.
 When org-mode is exporting an org-mode file to HTML, links to
 When org-mode is exporting an org-mode file to HTML, links to
@@ -2694,6 +2704,10 @@ Also put tags into group 4 if tags are present.")
   (remove-text-properties 0 (length s) org-rm-props s)
   (remove-text-properties 0 (length s) org-rm-props s)
   s)
   s)
 
 
+(defsubst org-set-local (var value)
+  "Make VAR local in current buffer and set it to VALUE."
+  (set (make-variable-buffer-local var) value))
+
 (defsubst org-mode-p ()
 (defsubst org-mode-p ()
   "Check if the current buffer is in Org-mode."
   "Check if the current buffer is in Org-mode."
   (eq major-mode 'org-mode))
   (eq major-mode 'org-mode))
@@ -2703,7 +2717,7 @@ 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")))
+		 "STARTUP" "ARCHIVE" "TAGS" "CALC")))
 	  (splitre "[ \t]+")
 	  (splitre "[ \t]+")
 	  kwds int key value cat arch tags)
 	  kwds int key value cat arch tags)
       (save-excursion
       (save-excursion
@@ -2755,10 +2769,10 @@ Also put tags into group 4 if tags are present.")
 	      (remove-text-properties 0 (length arch)
 	      (remove-text-properties 0 (length arch)
 				      '(face t fontified t) arch)))
 				      '(face t fontified t) arch)))
 	    )))
 	    )))
-      (and cat (set (make-local-variable 'org-category) cat))
-      (and kwds (set (make-local-variable 'org-todo-keywords) kwds))
-      (and arch (set (make-local-variable 'org-archive-location) arch))
-      (and int (set (make-local-variable 'org-todo-interpretation) int))
+      (and cat (org-set-local 'org-category cat))
+      (and kwds (org-set-local 'org-todo-keywords kwds))
+      (and arch (org-set-local 'org-archive-location arch))
+      (and int (org-set-local 'org-todo-interpretation int))
       (when tags
       (when tags
 	(let (e tgs)
 	(let (e tgs)
 	  (while (setq e (pop tags))
 	  (while (setq e (pop tags))
@@ -2770,7 +2784,7 @@ Also put tags into group 4 if tags are present.")
 			  (string-to-char (match-string 2 e)))
 			  (string-to-char (match-string 2 e)))
 		    tgs))
 		    tgs))
 	     (t (push (list e) tgs))))
 	     (t (push (list e) tgs))))
-	  (set (make-local-variable 'org-tag-alist) nil)
+	  (org-set-local 'org-tag-alist nil)
 	  (while (setq e (pop tgs))
 	  (while (setq e (pop tgs))
 	    (or (and (stringp (car e))
 	    (or (and (stringp (car e))
 		     (assoc (car e) org-tag-alist))
 		     (assoc (car e) org-tag-alist))
@@ -2928,15 +2942,11 @@ The following commands are available:
   ;; Need to do this here because define-derived-mode sets up
   ;; Need to do this here because define-derived-mode sets up
   ;; the keymap so late.
   ;; the keymap so late.
   (if (featurep 'xemacs)
   (if (featurep 'xemacs)
-      (if org-noutline-p
-	  (progn
-	    (easy-menu-remove outline-mode-menu-heading)
-	    (easy-menu-remove outline-mode-menu-show)
-	    (easy-menu-remove outline-mode-menu-hide))
-	(delete-menu-item '("Headings"))
-	(delete-menu-item '("Show"))
-	(delete-menu-item '("Hide"))
-	(set-menubar-dirty-flag))
+      (progn
+	;; Assume this is Greg's port, it used easymenu
+	(easy-menu-remove outline-mode-menu-heading)
+	(easy-menu-remove outline-mode-menu-show)
+	(easy-menu-remove outline-mode-menu-hide))
     (define-key org-mode-map [menu-bar headings] 'undefined)
     (define-key org-mode-map [menu-bar headings] 'undefined)
     (define-key org-mode-map [menu-bar hide] 'undefined)
     (define-key org-mode-map [menu-bar hide] 'undefined)
     (define-key org-mode-map [menu-bar show] 'undefined))
     (define-key org-mode-map [menu-bar show] 'undefined))
@@ -2947,7 +2957,7 @@ The following commands are available:
   (if org-descriptive-links (org-add-to-invisibility-spec '(org-link)))
   (if org-descriptive-links (org-add-to-invisibility-spec '(org-link)))
   (org-add-to-invisibility-spec '(org-cwidth))
   (org-add-to-invisibility-spec '(org-cwidth))
   (when (featurep 'xemacs)
   (when (featurep 'xemacs)
-    (set (make-local-variable 'line-move-ignore-invisible) t))
+    (org-set-local 'line-move-ignore-invisible t))
   (setq outline-regexp "\\*+")
   (setq outline-regexp "\\*+")
   ;;(setq outline-regexp "\\(?:\\*+\\|[ \t]*\\(?:[-+*]\\|[0-9]+[.)]\\) \\)")
   ;;(setq outline-regexp "\\(?:\\*+\\|[ \t]*\\(?:[-+*]\\|[0-9]+[.)]\\) \\)")
   (setq outline-level 'org-outline-level)
   (setq outline-level 'org-outline-level)
@@ -2958,12 +2968,14 @@ The following commands are available:
 			    4 (string-to-vector org-ellipsis))
 			    4 (string-to-vector org-ellipsis))
     (setq buffer-display-table org-display-table))
     (setq buffer-display-table org-display-table))
   (org-set-regexps-and-options)
   (org-set-regexps-and-options)
+  ;; Calc embedded
+  (org-set-local 'calc-embedded-open-mode "# ")
   (modify-syntax-entry ?# "<")
   (modify-syntax-entry ?# "<")
   (if org-startup-truncated (setq truncate-lines t))
   (if org-startup-truncated (setq truncate-lines t))
-  (set (make-local-variable 'font-lock-unfontify-region-function)
-       'org-unfontify-region)
+  (org-set-local 'font-lock-unfontify-region-function
+		 'org-unfontify-region)
   ;; Activate before-change-function
   ;; Activate before-change-function
-  (set (make-local-variable 'org-table-may-need-update) t)
+  (org-set-local 'org-table-may-need-update t)
   (org-add-hook 'before-change-functions 'org-before-change-function nil
   (org-add-hook 'before-change-functions 'org-before-change-function nil
 		'local)
 		'local)
   ;; Check for running clock before killing a buffer
   ;; Check for running clock before killing a buffer
@@ -3107,7 +3119,7 @@ that will be added to PLIST.  Returns the string that was modified."
 				 org-ts-regexp "\\)?")
 				 org-ts-regexp "\\)?")
   "Regular expression matching a time stamp or time stamp range.")
   "Regular expression matching a time stamp or time stamp range.")
 
 
-(defvar org-§emph-face nil)
+(defvar org-§emph-face nil)
 
 
 (defun org-do-emphasis-faces (limit)
 (defun org-do-emphasis-faces (limit)
   "Run through the buffer and add overlays to links."
   "Run through the buffer and add overlays to links."
@@ -3340,10 +3352,9 @@ between words."
 	   )))
 	   )))
     (setq org-font-lock-extra-keywords (delq nil org-font-lock-extra-keywords))
     (setq org-font-lock-extra-keywords (delq nil org-font-lock-extra-keywords))
     ;; Now set the full font-lock-keywords
     ;; Now set the full font-lock-keywords
-    (set (make-local-variable 'org-font-lock-keywords)
-	 org-font-lock-extra-keywords)
-    (set (make-local-variable 'font-lock-defaults)
-	 '(org-font-lock-keywords t nil nil backward-paragraph))
+    (org-set-local 'org-font-lock-keywords org-font-lock-extra-keywords)
+    (org-set-local 'font-lock-defaults
+		   '(org-font-lock-keywords t nil nil backward-paragraph))
     (kill-local-variable 'font-lock-keywords) nil))
     (kill-local-variable 'font-lock-keywords) nil))
 
 
 (defvar org-m nil)
 (defvar org-m nil)
@@ -3812,9 +3823,7 @@ state (TODO by default).  Also with prefix arg, force first state."
     (org-insert-heading)
     (org-insert-heading)
     (save-excursion
     (save-excursion
       (org-back-to-heading)
       (org-back-to-heading)
-      (if org-noutline-p
-	  (outline-previous-heading)
-	(outline-previous-visible-heading t))
+      (outline-previous-heading)
       (looking-at org-todo-line-regexp))
       (looking-at org-todo-line-regexp))
     (if (or arg
     (if (or arg
 	    (not (match-beginning 2))
 	    (not (match-beginning 2))
@@ -4703,7 +4712,7 @@ the children that do not contain any open TODO items."
 	(pc '(:org-comment t))
 	(pc '(:org-comment t))
 	(pall '(:org-archived t :org-comment t))
 	(pall '(:org-archived t :org-comment t))
 	(rea (concat ":" org-archive-tag ":"))
 	(rea (concat ":" org-archive-tag ":"))
-	bmp file re)
+	     bmp file re)
     (save-excursion
     (save-excursion
       (while (setq file (pop files))
       (while (setq file (pop files))
 	(org-check-agenda-file file)
 	(org-check-agenda-file file)
@@ -4775,7 +4784,7 @@ If not found, stay at current position and return nil."
     pos))
     pos))
 
 
 (defconst org-dblock-start-re
 (defconst org-dblock-start-re
-  "^#\\+BEGIN:[ \t]+\\(\\S-+\\)[ \t]+\\(.*\\)"
+  "^#\\+BEGIN:[ \t]+\\(\\S-+\\)\\([ \t]+\\(.*\\)\\)?"
   "Matches the startline of a dynamic block, with parameters.")
   "Matches the startline of a dynamic block, with parameters.")
 
 
 (defconst org-dblock-end-re "^#\\+END\\([: \t\r\n]\\|$\\)"
 (defconst org-dblock-end-re "^#\\+END\\([: \t\r\n]\\|$\\)"
@@ -4803,7 +4812,7 @@ the property list including an extra property :name with the block name."
   (let* ((begdel (1+ (match-end 0)))
   (let* ((begdel (1+ (match-end 0)))
 	 (name (match-string 1))
 	 (name (match-string 1))
 	 (params (append (list :name name)
 	 (params (append (list :name name)
-			 (read (concat "(" (match-string 2) ")")))))
+			 (read (concat "(" (match-string 3) ")")))))
     (unless (re-search-forward org-dblock-end-re nil t)
     (unless (re-search-forward org-dblock-end-re nil t)
       (error "Dynamic block not terminated"))
       (error "Dynamic block not terminated"))
     (delete-region begdel (match-beginning 0))
     (delete-region begdel (match-beginning 0))
@@ -5200,7 +5209,6 @@ If CALLBACK is non-nil, it is a function which is called to confirm
 that the match should indeed be shown."
 that the match should indeed be shown."
   (interactive "sRegexp: ")
   (interactive "sRegexp: ")
   (org-remove-occur-highlights nil nil t)
   (org-remove-occur-highlights nil nil t)
-  (setq regexp (org-check-occur-regexp regexp))
   (let ((cnt 0))
   (let ((cnt 0))
     (save-excursion
     (save-excursion
       (goto-char (point-min))
       (goto-char (point-min))
@@ -5625,56 +5633,58 @@ next column.
 For time difference computation, a year is assumed to be exactly 365
 For time difference computation, a year is assumed to be exactly 365
 days in order to avoid rounding problems."
 days in order to avoid rounding problems."
   (interactive "P")
   (interactive "P")
-  (save-excursion
-    (unless (org-at-date-range-p)
-      (goto-char (point-at-bol))
-      (re-search-forward org-tr-regexp (point-at-eol) t))
-    (if (not (org-at-date-range-p))
-	(error "Not at a time-stamp range, and none found in current line")))
-  (let* ((ts1 (match-string 1))
-	 (ts2 (match-string 2))
-	 (havetime (or (> (length ts1) 15) (> (length ts2) 15)))
-	 (match-end (match-end 0))
-	 (time1 (org-time-string-to-time ts1))
-	 (time2 (org-time-string-to-time ts2))
-	 (t1 (time-to-seconds time1))
-	 (t2 (time-to-seconds time2))
-	 (diff (abs (- t2 t1)))
-	 (negative (< (- t2 t1) 0))
-	 ;; (ys (floor (* 365 24 60 60)))
-	 (ds (* 24 60 60))
-	 (hs (* 60 60))
-	 (fy "%dy %dd %02d:%02d")
-	 (fy1 "%dy %dd")
-	 (fd "%dd %02d:%02d")
-	 (fd1 "%dd")
-	 (fh "%02d:%02d")
-	 y d h m align)
-    (if havetime
-	(setq ; y (floor (/ diff ys))  diff (mod diff ys)
-	 y 0
-	 d (floor (/ diff ds))  diff (mod diff ds)
-	 h (floor (/ diff hs))  diff (mod diff hs)
-	 m (floor (/ diff 60)))
-      (setq ; y (floor (/ diff ys))  diff (mod diff ys)
-       y 0
-       d (floor (+ (/ diff ds) 0.5))
-       h 0 m 0))
-    (if (not to-buffer)
-	(message (org-make-tdiff-string y d h m))
-      (when (org-at-table-p)
-	(goto-char match-end)
-	(setq align t)
-	(and (looking-at " *|") (goto-char (match-end 0))))
-      (if (looking-at
-	   "\\( *-? *[0-9]+y\\)?\\( *[0-9]+d\\)? *[0-9][0-9]:[0-9][0-9]")
-	  (replace-match ""))
-      (if negative (insert " -"))
-      (if (> y 0) (insert " " (format (if havetime fy fy1) y d h m))
-	(if (> d 0) (insert " " (format (if havetime fd fd1) d h m))
-	  (insert " " (format fh h m))))
-      (if align (org-table-align))
-      (message "Time difference inserted"))))
+  (or
+   (org-clock-update-time-maybe)
+   (save-excursion
+     (unless (org-at-date-range-p)
+       (goto-char (point-at-bol))
+       (re-search-forward org-tr-regexp (point-at-eol) t))
+     (if (not (org-at-date-range-p))
+	 (error "Not at a time-stamp range, and none found in current line")))
+   (let* ((ts1 (match-string 1))
+	  (ts2 (match-string 2))
+	  (havetime (or (> (length ts1) 15) (> (length ts2) 15)))
+	  (match-end (match-end 0))
+	  (time1 (org-time-string-to-time ts1))
+	  (time2 (org-time-string-to-time ts2))
+	  (t1 (time-to-seconds time1))
+	  (t2 (time-to-seconds time2))
+	  (diff (abs (- t2 t1)))
+	  (negative (< (- t2 t1) 0))
+	  ;; (ys (floor (* 365 24 60 60)))
+	  (ds (* 24 60 60))
+	  (hs (* 60 60))
+	  (fy "%dy %dd %02d:%02d")
+	  (fy1 "%dy %dd")
+	  (fd "%dd %02d:%02d")
+	  (fd1 "%dd")
+	  (fh "%02d:%02d")
+	  y d h m align)
+     (if havetime
+	 (setq ; y (floor (/ diff ys))  diff (mod diff ys)
+	  y 0
+	  d (floor (/ diff ds))  diff (mod diff ds)
+	  h (floor (/ diff hs))  diff (mod diff hs)
+	  m (floor (/ diff 60)))
+       (setq ; y (floor (/ diff ys))  diff (mod diff ys)
+	y 0
+	d (floor (+ (/ diff ds) 0.5))
+	h 0 m 0))
+     (if (not to-buffer)
+	 (message (org-make-tdiff-string y d h m))
+       (when (org-at-table-p)
+	 (goto-char match-end)
+	 (setq align t)
+	 (and (looking-at " *|") (goto-char (match-end 0))))
+       (if (looking-at
+	    "\\( *-? *[0-9]+y\\)?\\( *[0-9]+d\\)? *[0-9][0-9]:[0-9][0-9]")
+	   (replace-match ""))
+       (if negative (insert " -"))
+       (if (> y 0) (insert " " (format (if havetime fy fy1) y d h m))
+	 (if (> d 0) (insert " " (format (if havetime fd fd1) d h m))
+	   (insert " " (format fh h m))))
+       (if align (org-table-align))
+       (message "Time difference inserted")))))
 
 
 (defun org-make-tdiff-string (y d h m)
 (defun org-make-tdiff-string (y d h m)
   (let ((fmt "")
   (let ((fmt "")
@@ -5817,6 +5827,7 @@ in the timestamp determines what will be changed."
 	  (setcar (nthcdr 2 time0) (or (nth 1 time0) 0))
 	  (setcar (nthcdr 2 time0) (or (nth 1 time0) 0))
 	  (setq time (apply 'encode-time time0))))
 	  (setq time (apply 'encode-time time0))))
     (insert (setq org-last-changed-timestamp (format-time-string fmt time)))
     (insert (setq org-last-changed-timestamp (format-time-string fmt time)))
+    (org-clock-update-time-maybe)
     (goto-char pos)
     (goto-char pos)
     ;; Try to recenter the calendar window, if any
     ;; Try to recenter the calendar window, if any
     (if (and org-calendar-follow-timestamp-change
     (if (and org-calendar-follow-timestamp-change
@@ -5937,18 +5948,19 @@ If there is no running clock, throw an error, unless FAIL-QUIETLY is set."
   "Holds the file total time in minutes, after a call to `org-clock-sum'.")
   "Holds the file total time in minutes, after a call to `org-clock-sum'.")
   (make-variable-buffer-local 'org-clock-file-total-minutes)
   (make-variable-buffer-local 'org-clock-file-total-minutes)
 
 
-(defun org-clock-sum ()
+(defun org-clock-sum (&optional tstart tend)
   "Sum the times for each subtree.
   "Sum the times for each subtree.
 Puts the resulting times in minutes as a text property on each headline."
 Puts the resulting times in minutes as a text property on each headline."
   (interactive)
   (interactive)
   (let* ((bmp (buffer-modified-p))
   (let* ((bmp (buffer-modified-p))
 	 (re (concat "^\\(\\*+\\)[ \t]\\|^[ \t]*"
 	 (re (concat "^\\(\\*+\\)[ \t]\\|^[ \t]*"
 		     org-clock-string
 		     org-clock-string
-		     ".*=>[ \t]*\\([0-9]+\\):\\([0-9]+\\)[ \t]*$"))
+		     "[ \t]*\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)"))
 	 (lmax 30)
 	 (lmax 30)
 	 (ltimes (make-vector lmax 0))
 	 (ltimes (make-vector lmax 0))
 	 (t1 0)
 	 (t1 0)
 	 (level 0)
 	 (level 0)
+	 ts te dt
 	 time)
 	 time)
     (remove-text-properties (point-min) (point-max) '(:org-clock-minutes t))
     (remove-text-properties (point-min) (point-max) '(:org-clock-minutes t))
     (save-excursion
     (save-excursion
@@ -5956,8 +5968,16 @@ Puts the resulting times in minutes as a text property on each headline."
       (while (re-search-backward re nil t)
       (while (re-search-backward re nil t)
 	(if (match-end 2)
 	(if (match-end 2)
 	    ;; A time
 	    ;; A time
-	    (setq t1 (+ t1 (* 60 (string-to-number (match-string 2)))
-			(string-to-number (match-string 3))))
+	    (setq ts (match-string 2)
+		  te (match-string 3)
+		  ts (time-to-seconds
+		      (apply 'encode-time (org-parse-time-string ts)))
+		  te (time-to-seconds
+		      (apply 'encode-time (org-parse-time-string te)))
+		  ts (if tstart (max ts tstart) ts)
+		  te (if tend (min te tend) te)
+		  dt (- te ts)
+		  t1 (if (> dt 0) (+ t1 (floor (/ dt 60))) t1))
 	  ;; A headline
 	  ;; A headline
 	  (setq level (- (match-end 1) (match-beginning 1)))
 	  (setq level (- (match-end 1) (match-beginning 1)))
 	  (when (or (> t1 0) (> (aref ltimes level) 0))
 	  (when (or (> t1 0) (> (aref ltimes level) 0))
@@ -6069,26 +6089,112 @@ The BEGIN line can contain parameters.  Allowed are:
   (interactive)
   (interactive)
   (org-remove-clock-overlays)
   (org-remove-clock-overlays)
   (unless (org-find-dblock "clocktable")
   (unless (org-find-dblock "clocktable")
-    (org-create-dblock  (list :name "clocktable"
-			      :maxlevel 2 :emphasize nil)))
+    (org-create-dblock (list :name "clocktable"
+			     :maxlevel 2 :emphasize nil)))
   (org-update-dblock))
   (org-update-dblock))
 
 
+(defun org-clock-update-time-maybe ()
+  "If this is a CLOCK line, update it and return t.
+Otherwise, return nil."
+  (interactive)
+  (save-excursion
+    (beginning-of-line 1)
+    (skip-chars-forward " \t")
+    (when (looking-at org-clock-string)
+      (let ((re (concat "[ \t]*" org-clock-string
+			" *[[<]\\([^]>]+\\)[]>]-+[[<]\\([^]>]+\\)[]>]"
+			"\\([ \t]*=>.*\\)?"))
+	    ts te h m s)
+	(if (not (looking-at re))
+	    nil
+	  (and (match-end 3) (delete-region (match-beginning 3) (match-end 3)))
+	  (end-of-line 1)
+	  (setq ts (match-string 1)
+		te (match-string 2))
+	  (setq s (- (time-to-seconds
+		      (apply 'encode-time (org-parse-time-string te)))
+		     (time-to-seconds
+		      (apply 'encode-time (org-parse-time-string ts))))
+		h (floor (/ s 3600))
+		s (- s (* 3600 h))
+		m (floor (/ s 60))
+		s (- s (* 60 s)))
+	  (insert " => " (format "%2d:%02d" h m))
+	  t)))))
+
+(defun org-clock-special-range (key &optional time as-strings)
+  "Return two times bordering a special time range.
+Key is a symbol specifying the range and can be one of `today', `yesterday',
+`thisweek', `lastweek', `thismonth', `lastmonth', `thisyear', `lastyear'.
+A week starts Monday 0:00 and ends Sunday 24:00.
+The range is determined relative to TIME.  TIME defaults to the current time.
+The return value is a cons cell with two internal times like the ones
+returned by `current time' or `encode-time'. if AS-STRINGS is non-nil,
+the returned times will be formatted strings."
+  (let* ((tm (decode-time (or time (current-time))))
+	 (s 0) (m (nth 1 tm)) (h (nth 2 tm))
+	 (d (nth 3 tm)) (month (nth 4 tm)) (y (nth 5 tm))
+	 (dow (nth 6 tm))
+	 s1 m1 h1 d1 month1 y1 diff ts te fm)
+    (cond
+     ((eq key 'today)
+      (setq h 0 m 0 h1 24 m1 0))
+     ((eq key 'yesterday)
+      (setq d (1- d) h 0 m 0 h1 24 m1 0))
+     ((eq key 'thisweek)
+      (setq diff (if (= dow 0) 6 (1- dow))
+	    m 0 h 0 d (- d diff) d1 (+ 7 d)))
+     ((eq key 'lastweek)
+      (setq diff (+ 7 (if (= dow 0) 6 (1- dow)))
+	    m 0 h 0 d (- d diff) d1 (+ 7 d)))
+     ((eq key 'thismonth)
+      (setq d 1 h 0 m 0 d1 1 month1 (1+ month) h1 0 m1 0))
+     ((eq key 'lastmonth)
+      (setq d 1 h 0 m 0 d1 1 month (1- month) month1 (1+ month) h1 0 m1 0))
+     ((eq key 'thisyear)
+      (setq m 0 h 0 d 1 month 1 y1 (1+ y)))
+     ((eq key 'lastyear)
+      (setq m 0 h 0 d 1 month 1 y (1- y) y1 (1+ y)))
+     (t (error "No such time block %s" key)))
+    (setq ts (encode-time s m h d month y)
+	  te (encode-time (or s1 s) (or m1 m) (or h1 h)
+			  (or d1 d) (or month1 month) (or y1 y)))
+    (setq fm (cdr org-time-stamp-formats))
+    (if as-strings
+	(cons (format-time-string fm ts) (format-time-string fm te))
+      (cons ts te))))
+
 (defun org-dblock-write:clocktable (params)
 (defun org-dblock-write:clocktable (params)
   "Write the standard clocktable."
   "Write the standard clocktable."
   (let ((hlchars '((1 . "*") (2 . ?/)))
   (let ((hlchars '((1 . "*") (2 . ?/)))
 	(emph nil)
 	(emph nil)
 	(ins (make-marker))
 	(ins (make-marker))
-	ipos time h m p level hlc hdl maxlevel)
+	ipos time h m p level hlc hdl maxlevel
+	ts te cc block)
     (setq maxlevel (or (plist-get params :maxlevel) 3)
     (setq maxlevel (or (plist-get params :maxlevel) 3)
-	  emph (plist-get params :emphasize))
+	  emph (plist-get params :emphasize)
+	  ts (plist-get params :tstart)
+	  te (plist-get params :tend)
+	  block (plist-get params :block))
+    (when block
+      (setq cc (org-clock-special-range block nil t)
+	    ts (car cc) te (cdr cc)))
+    (if ts (setq ts (time-to-seconds
+		     (apply 'encode-time (org-parse-time-string ts)))))
+    (if te (setq te (time-to-seconds
+		     (apply 'encode-time (org-parse-time-string te)))))
     (move-marker ins (point))
     (move-marker ins (point))
     (setq ipos (point))
     (setq ipos (point))
     (insert-before-markers "Clock summary at [" 
     (insert-before-markers "Clock summary at [" 
 			   (substring
 			   (substring
 			    (format-time-string (cdr org-time-stamp-formats))
 			    (format-time-string (cdr org-time-stamp-formats))
 			    1 -1)
 			    1 -1)
-			   "]\n|L|Headline|Time|\n")
-    (org-clock-sum)
+			   "]."
+			   (if block 
+			       (format "  Considered range is /%s/." block)
+			     "")
+			   "\n\n|L|Headline|Time|\n")
+    (org-clock-sum ts te)
     (setq h (/ org-clock-file-total-minutes 60)
     (setq h (/ org-clock-file-total-minutes 60)
 	  m (- org-clock-file-total-minutes (* 60 h)))
 	  m (- org-clock-file-total-minutes (* 60 h)))
     (insert-before-markers "|-\n|0|" "*Total file time*| "
     (insert-before-markers "|-\n|0|" "*Total file time*| "
@@ -6475,7 +6581,7 @@ the buffer and restores the previous window configuration."
   (if (stringp org-agenda-files)
   (if (stringp org-agenda-files)
       (let ((cw (current-window-configuration)))
       (let ((cw (current-window-configuration)))
 	(find-file org-agenda-files)
 	(find-file org-agenda-files)
-	(set (make-local-variable 'org-window-configuration) cw)
+	(org-set-local 'org-window-configuration cw)
 	(org-add-hook 'after-save-hook
 	(org-add-hook 'after-save-hook
 		      (lambda ()
 		      (lambda ()
 			(set-window-configuration
 			(set-window-configuration
@@ -6603,7 +6709,7 @@ dates."
     (setq buffer-read-only nil)
     (setq buffer-read-only nil)
     (erase-buffer)
     (erase-buffer)
     (org-agenda-mode) (setq buffer-read-only nil)
     (org-agenda-mode) (setq buffer-read-only nil)
-    (set (make-local-variable 'org-agenda-type) 'timeline)
+    (org-set-local 'org-agenda-type 'timeline)
     (if doclosed (push :closed args))
     (if doclosed (push :closed args))
     (push :timestamp args)
     (push :timestamp args)
     (if dotodo (push :todo args))
     (if dotodo (push :todo args))
@@ -6701,9 +6807,9 @@ NDAYS defaults to `org-agenda-ndays'."
     (setq buffer-read-only nil)
     (setq buffer-read-only nil)
     (erase-buffer)
     (erase-buffer)
     (org-agenda-mode) (setq buffer-read-only nil)
     (org-agenda-mode) (setq buffer-read-only nil)
-    (set (make-local-variable 'org-agenda-type) 'agenda)
-    (set (make-local-variable 'starting-day) (car day-numbers))
-    (set (make-local-variable 'include-all-loc) include-all)
+    (org-set-local 'org-agenda-type 'agenda)
+    (org-set-local 'starting-day (car day-numbers))
+    (org-set-local 'include-all-loc include-all)
     (when (and (or include-all org-agenda-include-all-todo)
     (when (and (or include-all org-agenda-include-all-todo)
 	       (member today day-numbers))
 	       (member today day-numbers))
       (setq files thefiles
       (setq files thefiles
@@ -6812,11 +6918,11 @@ for a keyword.  A numeric prefix directly selects the Nth keyword in
     (setq buffer-read-only nil)
     (setq buffer-read-only nil)
     (erase-buffer)
     (erase-buffer)
     (org-agenda-mode) (setq buffer-read-only nil)
     (org-agenda-mode) (setq buffer-read-only nil)
-    (set (make-local-variable 'org-agenda-type) 'todo)
-    (set (make-local-variable 'last-arg) arg)
-    (set (make-local-variable 'org-todo-keywords) kwds)
-    (set (make-local-variable 'org-agenda-redo-command)
-	 '(org-todo-list (or current-prefix-arg last-arg) t))
+    (org-set-local 'org-agenda-type 'todo)
+    (org-set-local 'last-arg arg)
+    (org-set-local 'org-todo-keywords kwds)
+    (org-set-local 'org-agenda-redo-command
+		   '(org-todo-list (or current-prefix-arg last-arg) t))
     (setq files (org-agenda-files)
     (setq files (org-agenda-files)
 	  rtnall nil)
 	  rtnall nil)
     (org-prepare-agenda-buffers files)
     (org-prepare-agenda-buffers files)
@@ -7704,11 +7810,12 @@ the documentation of `org-diary'."
 			      (abbreviate-file-name buffer-file-name))))
 			      (abbreviate-file-name buffer-file-name))))
 	 (regexp org-tr-regexp)
 	 (regexp org-tr-regexp)
 	 (d0 (calendar-absolute-from-gregorian date))
 	 (d0 (calendar-absolute-from-gregorian date))
-	 marker hdmarker ee txt d1 d2 s1 s2 timestr category tags)
+	 marker hdmarker ee txt d1 d2 s1 s2 timestr category tags pos)
     (goto-char (point-min))
     (goto-char (point-min))
     (while (re-search-forward regexp nil t)
     (while (re-search-forward regexp nil t)
       (catch :skip
       (catch :skip
 	(org-agenda-skip)
 	(org-agenda-skip)
+	(setq pos (point))
 	(setq timestr (match-string 0)
 	(setq timestr (match-string 0)
 	      s1 (match-string 1)
 	      s1 (match-string 1)
 	      s2 (match-string 2)
 	      s2 (match-string 2)
@@ -7736,7 +7843,8 @@ the documentation of `org-diary'."
 		'org-marker marker 'org-hd-marker hdmarker
 		'org-marker marker 'org-hd-marker hdmarker
 		'priority (org-get-priority txt) 'category category)
 		'priority (org-get-priority txt) 'category category)
 	      (push txt ee)))
 	      (push txt ee)))
-	(outline-next-heading)))
+	(goto-char pos)))
+;	(outline-next-heading))) ;FIXME: correct to be removed??????
     ;; Sort the entries by expiration date.
     ;; Sort the entries by expiration date.
     (nreverse ee)))
     (nreverse ee)))
 
 
@@ -7757,7 +7865,7 @@ groups carry important information:
 
 
 (defconst org-stamp-time-of-day-regexp
 (defconst org-stamp-time-of-day-regexp
   (concat
   (concat
-   "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} +[a-zA-Z]+ +\\)"
+   "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} +\\sw+ +\\)"
    "\\([012][0-9]:[0-5][0-9]\\)>"
    "\\([012][0-9]:[0-5][0-9]\\)>"
    "\\(--?"
    "\\(--?"
    "<\\1\\([012][0-9]:[0-5][0-9]\\)>\\)?")
    "<\\1\\([012][0-9]:[0-5][0-9]\\)>\\)?")
@@ -8620,10 +8728,10 @@ The prefix arg TODO-ONLY limits the search to TODO entries."
     (setq buffer-read-only nil)
     (setq buffer-read-only nil)
     (erase-buffer)
     (erase-buffer)
     (org-agenda-mode) (setq buffer-read-only nil)
     (org-agenda-mode) (setq buffer-read-only nil)
-    (set (make-local-variable 'org-agenda-type) 'tags)
-    (set (make-local-variable 'org-agenda-redo-command)
-	 (list 'org-tags-view (list 'quote todo-only)
-	       (list 'if 'current-prefix-arg nil match) t))
+    (org-set-local 'org-agenda-type 'tags)
+    (org-set-local 'org-agenda-redo-command
+		   (list 'org-tags-view (list 'quote todo-only)
+			 (list 'if 'current-prefix-arg nil match) t))
     (setq files (org-agenda-files)
     (setq files (org-agenda-files)
 	  rtnall nil)
 	  rtnall nil)
     (org-prepare-agenda-buffers files)
     (org-prepare-agenda-buffers files)
@@ -10234,13 +10342,13 @@ to be run from that hook to fucntion properly."
 	      (org-startup-with-deadline-check nil))
 	      (org-startup-with-deadline-check nil))
 	  (org-mode))
 	  (org-mode))
 	(if (and file (string-match "\\S-" file) (not (file-directory-p file)))
 	(if (and file (string-match "\\S-" file) (not (file-directory-p file)))
-	    (set (make-local-variable 'org-default-notes-file) file))
+	    (org-set-local 'org-default-notes-file file))
 	(goto-char (point-min))
 	(goto-char (point-min))
 	(if (re-search-forward "%\\?" nil t) (replace-match "")))
 	(if (re-search-forward "%\\?" nil t) (replace-match "")))
     (let ((org-startup-folded nil)
     (let ((org-startup-folded nil)
 	  (org-startup-with-deadline-check nil))
 	  (org-startup-with-deadline-check nil))
       (org-mode)))
       (org-mode)))
-  (set (make-local-variable 'org-finish-function) 'remember-buffer))
+  (org-set-local 'org-finish-function 'remember-buffer))
 
 
 ;;;###autoload
 ;;;###autoload
 (defun org-remember-handler ()
 (defun org-remember-handler ()
@@ -11492,10 +11600,10 @@ it can be edited in place."
 			      '(invisible t org-cwidth t display t
 			      '(invisible t org-cwidth t display t
 					  intangible t))
 					  intangible t))
       (goto-char p)
       (goto-char p)
-      (set (make-local-variable 'org-finish-function)
-	   'org-table-finish-edit-field)
-      (set (make-local-variable 'org-window-configuration) cw)
-      (set (make-local-variable 'org-field-marker) pos)
+      (org-set-local 'org-finish-function
+		     'org-table-finish-edit-field)
+      (org-set-local 'org-window-configuration cw)
+      (org-set-local 'org-field-marker pos)
       (message "Edit and finish with C-c C-c"))))
       (message "Edit and finish with C-c C-c"))))
 
 
 (defun org-table-finish-edit-field ()
 (defun org-table-finish-edit-field ()
@@ -12098,10 +12206,11 @@ not overwrite the stored one."
 	  (setq formula (car tmp)
 	  (setq formula (car tmp)
 		fmt (concat (cdr (assoc "%" org-table-local-parameters))
 		fmt (concat (cdr (assoc "%" org-table-local-parameters))
 			    (nth 1 tmp)))
 			    (nth 1 tmp)))
-	  (while (string-match "[pnfse]\\(-?[0-9]+\\)" fmt)
+	  (while (string-match "\\([pnfse]\\)\\(-?[0-9]+\\)" fmt)
 	    (setq c (string-to-char (match-string 1 fmt))
 	    (setq c (string-to-char (match-string 1 fmt))
-		  n (string-to-number (or (match-string 1 fmt) "")))
-	    (if (= c ?p) (setq modes (org-set-calc-mode 'calc-internal-prec n))
+		  n (string-to-number (match-string 2 fmt)))
+	    (if (= c ?p)
+		(setq modes (org-set-calc-mode 'calc-internal-prec n))
 	      (setq modes (org-set-calc-mode
 	      (setq modes (org-set-calc-mode
 			   'calc-float-format
 			   'calc-float-format
 			   (list (cdr (assoc c '((?n . float) (?f . fix)
 			   (list (cdr (assoc c '((?n . float) (?f . fix)
@@ -12314,8 +12423,8 @@ Parameters get priority."
     (switch-to-buffer-other-window "*Edit Formulas*")
     (switch-to-buffer-other-window "*Edit Formulas*")
     (erase-buffer)
     (erase-buffer)
     (fundamental-mode)
     (fundamental-mode)
-    (set (make-local-variable 'org-pos) pos)
-    (set (make-local-variable 'org-window-configuration) wc)
+    (org-set-local 'org-pos pos)
+    (org-set-local 'org-window-configuration wc)
     (use-local-map org-edit-formulas-map)
     (use-local-map org-edit-formulas-map)
     (setq s "# Edit formulas and finish with `C-c C-c'.
     (setq s "# Edit formulas and finish with `C-c C-c'.
 # Use `C-u C-c C-c' to also appy them immediately to the entire table.
 # Use `C-u C-c C-c' to also appy them immediately to the entire table.
@@ -12481,15 +12590,15 @@ table editor in arbitrary modes.")
 	  (let ((c (assq 'orgtbl-mode minor-mode-map-alist)))
 	  (let ((c (assq 'orgtbl-mode minor-mode-map-alist)))
 	    (and c (setq minor-mode-map-alist
 	    (and c (setq minor-mode-map-alist
 			 (cons c (delq c minor-mode-map-alist)))))
 			 (cons c (delq c minor-mode-map-alist)))))
-	  (set (make-local-variable (quote org-table-may-need-update)) t)
+	  (org-set-local (quote org-table-may-need-update) t)
 	  (org-add-hook 'before-change-functions 'org-before-change-function
 	  (org-add-hook 'before-change-functions 'org-before-change-function
 			nil 'local)
 			nil 'local)
-	  (set (make-local-variable 'org-old-auto-fill-inhibit-regexp)
-	       auto-fill-inhibit-regexp)
-	  (set (make-local-variable 'auto-fill-inhibit-regexp)
-	       (if auto-fill-inhibit-regexp
-		   (concat "\\([ \t]*|\\|" auto-fill-inhibit-regexp)
-		 "[ \t]*|"))
+	  (org-set-local 'org-old-auto-fill-inhibit-regexp
+			 auto-fill-inhibit-regexp)
+	  (org-set-local 'auto-fill-inhibit-regexp
+			 (if auto-fill-inhibit-regexp
+			     (concat "\\([ \t]*|\\|" auto-fill-inhibit-regexp)
+			   "[ \t]*|"))
 	  (org-add-to-invisibility-spec '(org-cwidth))
 	  (org-add-to-invisibility-spec '(org-cwidth))
 	  (easy-menu-add orgtbl-mode-menu)
 	  (easy-menu-add orgtbl-mode-menu)
 	  (run-hooks 'orgtbl-mode-hook))
 	  (run-hooks 'orgtbl-mode-hook))
@@ -13388,7 +13497,7 @@ underlined headlines.  The default is 3."
 	      (set (make-local-variable (cdr x))
 	      (set (make-local-variable (cdr x))
 		   (plist-get opt-plist (car x))))
 		   (plist-get opt-plist (car x))))
 	    org-export-plist-vars)
 	    org-export-plist-vars)
-    (set (make-local-variable 'org-odd-levels-only) odd)
+    (org-set-local 'org-odd-levels-only odd)
     (setq umax (if arg (prefix-numeric-value arg)
     (setq umax (if arg (prefix-numeric-value arg)
 		 org-export-headline-levels))
 		 org-export-headline-levels))
 
 
@@ -13594,22 +13703,15 @@ command."
       (goto-char (point-min)))))
       (goto-char (point-min)))))
 
 
 (defun org-find-visible ()
 (defun org-find-visible ()
-  (if (featurep 'noutline)
-      (let ((s (point)))
-	(while (and (not (= (point-max) (setq s (next-overlay-change s))))
-		    (get-char-property s 'invisible)))
-	s)
-    (skip-chars-forward "^\n")
-    (point)))
+  (let ((s (point)))
+    (while (and (not (= (point-max) (setq s (next-overlay-change s))))
+		(get-char-property s 'invisible)))
+    s))
 (defun org-find-invisible ()
 (defun org-find-invisible ()
-  (if (featurep 'noutline)
-      (let ((s (point)))
-	(while (and (not (= (point-max) (setq s (next-overlay-change s))))
-		    (not (get-char-property s 'invisible))))
-	s)
-    (skip-chars-forward "^\r")
-    (point)))
-
+  (let ((s (point)))
+    (while (and (not (= (point-max) (setq s (next-overlay-change s))))
+		(not (get-char-property s 'invisible))))
+    s))
 
 
 ;; HTML
 ;; HTML
 
 
@@ -13859,14 +13961,16 @@ lang=\"%s\" xml:lang=\"%s\">
       (insert (or (plist-get opt-plist :preamble) ""))
       (insert (or (plist-get opt-plist :preamble) ""))
 
 
       (when (plist-get opt-plist :auto-preamble)
       (when (plist-get opt-plist :auto-preamble)
-	(if title     (insert (concat "<h1 class=\"title\">"
-				      (org-html-expand title) "</h1>\n")))
-
+	(if title     (insert (format org-export-html-title-format
+				      (org-html-expand title))))
 	(if text      (insert "<p>\n" (org-html-expand text) "</p>")))
 	(if text      (insert "<p>\n" (org-html-expand text) "</p>")))
 
 
       (if org-export-with-toc
       (if org-export-with-toc
 	  (progn
 	  (progn
-	    (insert (format "<h2>%s</h2>\n" (nth 3 lang-words)))
+	    (insert (format "<h%d>%s</h%d>\n"
+			    org-export-html-toplevel-hlevel
+			    (nth 3 lang-words)
+			    org-export-html-toplevel-hlevel))
 	    (insert "<ul>\n<li>")
 	    (insert "<ul>\n<li>")
 	    (setq lines
 	    (setq lines
 	    (mapcar '(lambda (line)
 	    (mapcar '(lambda (line)
@@ -14553,7 +14657,7 @@ When TITLE is nil, just close all open levels."
 	      (insert "<ul>\n<li>" title "<br/>\n")))
 	      (insert "<ul>\n<li>" title "<br/>\n")))
 	(if org-export-with-section-numbers
 	(if org-export-with-section-numbers
 	    (setq title (concat (org-section-number level) " " title)))
 	    (setq title (concat (org-section-number level) " " title)))
-	(setq level (+ level 1))
+	(setq level (+ level org-export-html-toplevel-hlevel -1))
 	(if with-toc
 	(if with-toc
 	    (insert (format "\n<h%d><a name=\"sec-%d\">%s</a></h%d>\n"
 	    (insert (format "\n<h%d><a name=\"sec-%d\">%s</a></h%d>\n"
 			    level head-count title level))
 			    level head-count title level))
@@ -15763,6 +15867,10 @@ See the individual commands for more information."
     "--"
     "--"
     ("TODO Lists"
     ("TODO Lists"
      ["TODO/DONE/-" org-todo t]
      ["TODO/DONE/-" org-todo t]
+     ("Select keyword"
+      ["Next keyword" org-shiftright (org-on-heading-p)]
+      ["Previous keyword" org-shiftleft (org-on-heading-p)]
+      ["Complete Keyword" org-complete (assq :todo-keyword (org-context))])
      ["Show TODO Tree" org-show-todo-tree t]
      ["Show TODO Tree" org-show-todo-tree t]
      ["Global TODO list" org-todo-list t]
      ["Global TODO list" org-todo-list t]
      "--"
      "--"
@@ -16042,31 +16150,32 @@ return nil."
   ;; In the paragraph separator we include headlines, because filling
   ;; In the paragraph separator we include headlines, because filling
   ;; text in a line directly attached to a headline would otherwise
   ;; text in a line directly attached to a headline would otherwise
   ;; fill the headline as well.
   ;; fill the headline as well.
-  (set (make-local-variable 'comment-start-skip) "^#+[ \t]*")
-  (set (make-local-variable 'paragraph-separate) "\f\\|\\*\\|[ 	]*$\\|[ \t]*[:|]")
+  (org-set-local 'comment-start-skip "^#+[ \t]*")
+  (org-set-local 'paragraph-separate "\f\\|\\*\\|[ 	]*$\\|[ \t]*[:|]")
   ;; The paragraph starter includes hand-formatted lists.
   ;; The paragraph starter includes hand-formatted lists.
-  (set (make-local-variable 'paragraph-start)
-       "\f\\|[ 	]*$\\|\\([*\f]+\\)\\|[ \t]*\\([-+*][ \t]+\\|[0-9]+[.)][ \t]+\\)\\|[ \t]*[:|]")
+  (org-set-local 'paragraph-start
+		 "\f\\|[ 	]*$\\|\\([*\f]+\\)\\|[ \t]*\\([-+*][ \t]+\\|[0-9]+[.)][ \t]+\\)\\|[ \t]*[:|]")
   ;; Inhibit auto-fill for headers, tables and fixed-width lines.
   ;; Inhibit auto-fill for headers, tables and fixed-width lines.
   ;; But only if the user has not turned off tables or fixed-width regions
   ;; But only if the user has not turned off tables or fixed-width regions
-  (set (make-local-variable 'auto-fill-inhibit-regexp)
-       (concat "\\*\\|#"
-	       "\\|[ \t]*" org-keyword-time-regexp
-	       (if (or org-enable-table-editor org-enable-fixed-width-editor)
-		   (concat
-		    "\\|[ \t]*["
-		    (if org-enable-table-editor "|" "")
-		    (if org-enable-fixed-width-editor ":"  "")
-		    "]"))))
+  (org-set-local
+   'auto-fill-inhibit-regexp
+   (concat "\\*\\|#"
+	   "\\|[ \t]*" org-keyword-time-regexp
+	   (if (or org-enable-table-editor org-enable-fixed-width-editor)
+	       (concat
+		"\\|[ \t]*["
+		(if org-enable-table-editor "|" "")
+		(if org-enable-fixed-width-editor ":"  "")
+		"]"))))
   ;; We use our own fill-paragraph function, to make sure that tables
   ;; We use our own fill-paragraph function, to make sure that tables
   ;; and fixed-width regions are not wrapped.  That function will pass
   ;; and fixed-width regions are not wrapped.  That function will pass
   ;; through to `fill-paragraph' when appropriate.
   ;; through to `fill-paragraph' when appropriate.
-  (set (make-local-variable 'fill-paragraph-function) 'org-fill-paragraph)
-  ;; Adaptive filling: To get full control, first make sure that
+  (org-set-local 'fill-paragraph-function 'org-fill-paragraph)
+  ; Adaptive filling: To get full control, first make sure that
   ;; `adaptive-fill-regexp' never matches.  Then install our own matcher.
   ;; `adaptive-fill-regexp' never matches.  Then install our own matcher.
-  (set (make-local-variable 'adaptive-fill-regexp) "\000")
-  (set (make-local-variable 'adaptive-fill-function)
-       'org-adaptive-fill-function))
+  (org-set-local 'adaptive-fill-regexp "\000")
+  (org-set-local 'adaptive-fill-function
+		 'org-adaptive-fill-function))
 
 
 (defun org-fill-paragraph (&optional justify)
 (defun org-fill-paragraph (&optional justify)
   "Re-align a table, pass through to fill-paragraph if no table."
   "Re-align a table, pass through to fill-paragraph if no table."
@@ -16145,18 +16254,7 @@ that can be added."
 			  t)
 			  t)
 	      "\\'"))))
 	      "\\'"))))
 
 
-;; Functions needed for compatibility with old outline.el.
-
-;; Programming for the old outline.el (that uses selective display
-;; instead of `invisible' text properties) is a nightmare, mostly
-;; because regular expressions can no longer be anchored at
-;; beginning/end of line.  Therefore a number of function need special
-;; treatment when the old outline.el is being used.
-
-;; The following functions capture almost the entire compatibility code
-;; between the different versions of outline-mode.  The only other
-;; places where this is important are the font-lock-keywords, and in
-;; `org-export-visible'.  Search for `org-noutline-p' to find them.
+;; Functions extending outline functionality
 
 
 ;; C-a should go to the beginning of a *visible* line, also in the
 ;; C-a should go to the beginning of a *visible* line, also in the
 ;; new outline.el.  I guess this should be patched into Emacs?
 ;; new outline.el.  I guess this should be patched into Emacs?
@@ -16174,60 +16272,26 @@ to a visible line beginning.  This makes the function of C-a more intuitive."
 	  (beginning-of-line 1))
 	  (beginning-of-line 1))
       (forward-char 1))))
       (forward-char 1))))
 
 
-(when org-noutline-p
-  (define-key org-mode-map "\C-a" 'org-beginning-of-line))
+(define-key org-mode-map "\C-a" 'org-beginning-of-line)
 
 
 (defun org-invisible-p ()
 (defun org-invisible-p ()
   "Check if point is at a character currently not visible."
   "Check if point is at a character currently not visible."
-  (if org-noutline-p
-      ;; Early versions of noutline don't have `outline-invisible-p'.
-      (if (fboundp 'outline-invisible-p)
-	  (outline-invisible-p)
-	(get-char-property (point) 'invisible))
-    (save-excursion
-      (skip-chars-backward "^\r\n")
-      (equal (char-before) ?\r))))
+  ;; Early versions of noutline don't have `outline-invisible-p'.
+  (if (fboundp 'outline-invisible-p)
+      (outline-invisible-p)
+    (get-char-property (point) 'invisible)))
 
 
 (defun org-invisible-p2 ()
 (defun org-invisible-p2 ()
   "Check if point is at a character currently not visible."
   "Check if point is at a character currently not visible."
   (save-excursion
   (save-excursion
-    (if org-noutline-p
-	(progn
-	  (if (and (eolp) (not (bobp))) (backward-char 1))
-	  ;; Early versions of noutline don't have `outline-invisible-p'.
-	  (if (fboundp 'outline-invisible-p)
-	      (outline-invisible-p)
-	    (get-char-property (point) 'invisible)))
-      (skip-chars-backward "^\r\n")
-      (equal (char-before) ?\r))))
-
-(defun org-back-to-heading (&optional invisible-ok)
-  "Move to previous heading line, or beg of this line if it's a heading.
-Only visible heading lines are considered, unless INVISIBLE-OK is non-nil."
-  (if org-noutline-p
-      (outline-back-to-heading invisible-ok)
-    (if (and (or (bobp) (memq (char-before) '(?\n ?\r)))
-             (looking-at outline-regexp))
-	t
-      (if (re-search-backward (concat (if invisible-ok "\\([\r\n]\\|^\\)" "^")
-				      outline-regexp)
-			      nil t)
-	  (if invisible-ok
-	      (progn (goto-char (or (match-end 1) (match-beginning 0)))
-                     (looking-at outline-regexp)))
-	(error "Before first heading")))))
-
-(defun org-on-heading-p (&optional invisible-ok)
-  "Return t if point is on a (visible) heading line.
-If INVISIBLE-OK is non-nil, an invisible heading line is ok too."
-  (if org-noutline-p
-      (outline-on-heading-p 'invisible-ok)
-    (save-excursion
-      (skip-chars-backward "^\n\r")
-      (and (looking-at outline-regexp)
-	   (or invisible-ok
-	       (bobp)
-	       (equal (char-before) ?\n))))))
+    (if (and (eolp) (not (bobp))) (backward-char 1))
+    ;; Early versions of noutline don't have `outline-invisible-p'.
+    (if (fboundp 'outline-invisible-p)
+	(outline-invisible-p)
+      (get-char-property (point) 'invisible))))
+
+(defalias 'org-back-to-heading 'outline-back-to-heading)
+(defalias 'org-on-heading-p 'outline-on-heading-p)
 
 
 (defun org-on-target-p ()
 (defun org-on-target-p ()
   (let ((pos (point)))
   (let ((pos (point)))
@@ -16243,47 +16307,20 @@ If INVISIBLE-OK is non-nil, an invisible heading line is ok too."
   "Move to the heading line of which the present line is a subheading.
   "Move to the heading line of which the present line is a subheading.
 This function considers both visible and invisible heading lines.
 This function considers both visible and invisible heading lines.
 With argument, move up ARG levels."
 With argument, move up ARG levels."
-  (if org-noutline-p
-      (if (fboundp 'outline-up-heading-all)
-	  (outline-up-heading-all arg)   ; emacs 21 version of outline.el
-	(outline-up-heading arg t))      ; emacs 22 version of outline.el
-    (org-back-to-heading t)
-    (looking-at outline-regexp)
-    (if (<= (- (match-end 0) (match-beginning 0)) arg)
-	(error "Cannot move up %d levels" arg)
-    (re-search-backward
-     (concat "[\n\r]" (regexp-quote
-		       (make-string (- (match-end 0) (match-beginning 0) arg)
-				    ?*))
-	     "[^*]"))
-    (forward-char 1))))
+  (if (fboundp 'outline-up-heading-all)
+      (outline-up-heading-all arg)   ; emacs 21 version of outline.el
+    (outline-up-heading arg t)))     ; emacs 22 version of outline.el
 
 
 (defun org-show-hidden-entry ()
 (defun org-show-hidden-entry ()
   "Show an entry where even the heading is hidden."
   "Show an entry where even the heading is hidden."
   (save-excursion
   (save-excursion
-    (if (not org-noutline-p)
-	(progn
-	  (org-back-to-heading t)
-	  (org-flag-heading nil)))
     (org-show-entry)))
     (org-show-entry)))
 
 
-(defun org-check-occur-regexp (regexp)
-  "If REGEXP starts with \"^\", modify it to check for \\r as well.
-Of course, only for the old outline mode."
-  (if org-noutline-p
-      regexp
-    (if (string-match "^\\^" regexp)
-	(concat "[\n\r]" (substring regexp 1))
-      regexp)))
-
 (defun org-flag-heading (flag &optional entry)
 (defun org-flag-heading (flag &optional entry)
   "Flag the current heading.  FLAG non-nil means make invisible.
   "Flag the current heading.  FLAG non-nil means make invisible.
 When ENTRY is non-nil, show the entire entry."
 When ENTRY is non-nil, show the entire entry."
   (save-excursion
   (save-excursion
     (org-back-to-heading t)
     (org-back-to-heading t)
-    (if (not org-noutline-p)
-	;; Make the current headline visible
-	(outline-flag-region (max 1 (1- (point))) (point) (if flag ?\r ?\n)))
     ;; Check if we should show the entire entry
     ;; Check if we should show the entire entry
     (if entry
     (if entry
 	(progn
 	(progn
@@ -16293,9 +16330,7 @@ When ENTRY is non-nil, show the entire entry."
 		 (org-flag-heading nil))))
 		 (org-flag-heading nil))))
       (outline-flag-region (max 1 (1- (point)))
       (outline-flag-region (max 1 (1- (point)))
 			   (save-excursion (outline-end-of-heading) (point))
 			   (save-excursion (outline-end-of-heading) (point))
-			   (if org-noutline-p
-			       flag
-			     (if flag ?\r ?\n))))))
+			   flag))))
 
 
 (defun org-end-of-subtree (&optional invisible-OK)
 (defun org-end-of-subtree (&optional invisible-OK)
   ;; This is an exact copy of the original function, but it uses
   ;; This is an exact copy of the original function, but it uses
@@ -16324,7 +16359,7 @@ When ENTRY is non-nil, show the entire entry."
    (point)
    (point)
    (save-excursion
    (save-excursion
      (outline-end-of-subtree) (outline-next-heading) (point))
      (outline-end-of-subtree) (outline-next-heading) (point))
-   (if org-noutline-p nil ?\n)))
+   nil))
 
 
 (defun org-show-entry ()
 (defun org-show-entry ()
   "Show the body directly following this heading.
   "Show the body directly following this heading.
@@ -16337,16 +16372,16 @@ Show the heading too, if it is currently invisible."
      (save-excursion
      (save-excursion
        (re-search-forward (concat "[\r\n]\\(" outline-regexp "\\)") nil 'move)
        (re-search-forward (concat "[\r\n]\\(" outline-regexp "\\)") nil 'move)
        (or (match-beginning 1) (point-max)))
        (or (match-beginning 1) (point-max)))
-     (if org-noutline-p nil ?\n))))
+     nil)))
 
 
 (defun org-make-options-regexp (kwds)
 (defun org-make-options-regexp (kwds)
   "Make a regular expression for keyword lines."
   "Make a regular expression for keyword lines."
   (concat
   (concat
-   (if org-noutline-p "^" "[\n\r]")
+   "^"
    "#?[ \t]*\\+\\("
    "#?[ \t]*\\+\\("
    (mapconcat 'regexp-quote kwds "\\|")
    (mapconcat 'regexp-quote kwds "\\|")
    "\\):[ \t]*"
    "\\):[ \t]*"
-   (if org-noutline-p "\\(.+\\)" "\\([^\n\r]+\\)")))
+   "\\(.+\\)"))
 
 
 ;; Make `bookmark-jump' show the jump location if it was hidden.
 ;; Make `bookmark-jump' show the jump location if it was hidden.
 (eval-after-load "bookmark"
 (eval-after-load "bookmark"

BIN
org.pdf


+ 113 - 39
org.texi

@@ -3,8 +3,8 @@
 @setfilename ../info/org
 @setfilename ../info/org
 @settitle Org Mode Manual
 @settitle Org Mode Manual
 
 
-@set VERSION 4.43
-@set DATE July 2006
+@set VERSION 4.44
+@set DATE August 2006
 
 
 @dircategory Emacs
 @dircategory Emacs
 @direntry
 @direntry
@@ -98,7 +98,8 @@ Software Foundation raise funds for GNU development.''
 Introduction
 Introduction
 
 
 * Summary::                     Brief summary of what Org-mode does
 * Summary::                     Brief summary of what Org-mode does
-* Installation::                How to install Org-mode
+* Installation::                How to install a downloaded version of Org-mode
+* Activation::                  How to activate Org-mode for certain buffers.
 * Feedback::                    Bug reports, ideas, patches etc.
 * Feedback::                    Bug reports, ideas, patches etc.
 
 
 Document Structure
 Document Structure
@@ -270,7 +271,8 @@ Extensions, Hooks and Hacking
 
 
 @menu
 @menu
 * Summary::                     Brief summary of what Org-mode does
 * Summary::                     Brief summary of what Org-mode does
-* Installation::                How to install Org-mode
+* Installation::                How to install a downloaded version of Org-mode
+* Activation::                  How to activate Org-mode for certain buffers.
 * Feedback::                    Bug reports, ideas, patches etc.
 * Feedback::                    Bug reports, ideas, patches etc.
 @end menu
 @end menu
 
 
@@ -323,18 +325,68 @@ questions (FAQ), links to tutorials etc.  This page is located at
 
 
 @page
 @page
 
 
-@node Installation, Feedback, Summary, Introduction
-@section Installation and Activation
+@node Installation, Activation, Summary, Introduction
+@section Installation
 @cindex installation
 @cindex installation
+@cindex XEmacs
+
+@b{Important:} If Org-mode is part of the Emacs distribution or an
+XEmacs package, please skip this section and go directly to
+@ref{Activation}.
+
+If you have downloaded Org-mode from the Web, you must take the
+following steps to install it: Go into the Org-mode distribution
+directory and edit the top section of the file @file{Makefile}.  You
+must set the name of the Emacs binary (likely either @file{emacs} or
+@file{xemacs}), and the paths to the directories where local Lisp and
+Info files are kept.  If you don't have access to the system-wide
+directories, create your own two directories for these files, enter them
+into the Makefile, and make sure Emacs finds the Lisp files by adding
+the following line to @file{.emacs}:
+
+@example
+(setq load-path (cons "~/path/to/lispdir" load-path))
+@end example
+
+@b{XEmacs users now need to install the file @file{noutline.el} from
+the @file{xemacs} subdirectory of the Org-mode distribution.  Use the
+command:}
+
+@example
+@b{make install-noutline}
+@end example
+
+@noindent Now byte-compile and install the Lisp files with the shell
+commands:
+
+@example
+make
+make install
+@end example
+
+@noindent If you want to install the info documentation, use this command:
+
+@example
+make install-info
+@end example
+
+@noindent Then add to @file{.emacs}:
+
+@lisp
+;; This line only if org-mode is not part of the X/Emacs distribution.
+(require 'org-install)
+@end lisp
+
+@node Activation, Feedback, Installation, Introduction
+@section Activation
+@cindex activation
 @cindex autoload
 @cindex autoload
 @cindex global keybindings
 @cindex global keybindings
 @cindex keybindings, global
 @cindex keybindings, global
 
 
-If Org-mode is part of the Emacs distribution or an XEmacs package,
-you only need to copy the following lines to your @file{.emacs} file.
-The last two lines define @emph{global} keys for the commands
-@command{org-store-link} and @command{org-agenda} - please
-choose suitable keys yourself.
+Add the following lines to your @file{.emacs} file.  The last two lines
+define @emph{global} keys for the commands @command{org-store-link} and
+@command{org-agenda} - please choose suitable keys yourself.
 
 
 @lisp
 @lisp
 ;; The following lines are always needed.  Choose your own keys.
 ;; The following lines are always needed.  Choose your own keys.
@@ -345,30 +397,17 @@ choose suitable keys yourself.
 
 
 Furthermore, you must activate @code{font-lock-mode} in org-mode
 Furthermore, you must activate @code{font-lock-mode} in org-mode
 buffers, because significant functionality depends on font-locking being
 buffers, because significant functionality depends on font-locking being
-active.  You can do this with either one of the following two lines:
+active.  You can do this with either one of the following two lines
+(XEmacs user must use the second option):
 @lisp
 @lisp
 (global-font-lock-mode 1)                     ; for all buffers
 (global-font-lock-mode 1)                     ; for all buffers
 (add-hook 'org-mode-hook 'turn-on-font-lock)  ; org-mode buffers only
 (add-hook 'org-mode-hook 'turn-on-font-lock)  ; org-mode buffers only
 @end lisp
 @end lisp
 
 
-If you have downloaded Org-mode from the Web, you must take additional
-action:  Byte-compile @file{org.el} and @file{org-publish.el} and put
-them together with @file{org-install.el} on your load path.  Then add to
-@file{.emacs}:
-
-@lisp
-;; This line only if org-mode is not part of the X/Emacs distribution.
-(require 'org-install)
-@end lisp
-
-If you use Org-mode with XEmacs, you also need to install the file
-@file{noutline.el} from the @file{xemacs} subdirectory of the Org-mode
-distribution.
-
 @cindex org-mode, turning on
 @cindex org-mode, turning on
-With this setup, all files with extension @samp{.org} will be put into
-Org-mode.  As an alternative, make the first line of a file look like
-this:
+With this setup, all files with extension @samp{.org} will be put
+into Org-mode.  As an alternative, make the first line of a file look
+like this:
 
 
 @example
 @example
 MY PROJECTS    -*- mode: org; -*-
 MY PROJECTS    -*- mode: org; -*-
@@ -378,7 +417,7 @@ MY PROJECTS    -*- mode: org; -*-
 the file's name is.  See also the variable
 the file's name is.  See also the variable
 @code{org-insert-mode-line-in-empty-file}.
 @code{org-insert-mode-line-in-empty-file}.
 
 
-@node Feedback,  , Installation, Introduction
+@node Feedback,  , Activation, Introduction
 @section Feedback
 @section Feedback
 @cindex feedback
 @cindex feedback
 @cindex bug reports
 @cindex bug reports
@@ -826,8 +865,14 @@ But in the end, not individual scenes matter but the film as a whole.
 @end group
 @end group
 @end example
 @end example
 
 
-Org-mode supports these lists by tuning filling and wrapping commands
-to deal with them correctly.  
+Org-mode supports these lists by tuning filling and wrapping commands to
+deal with them correctly@footnote{Org-mode only changes the filling
+settings for Emacs.  For XEmacs, you should use Kyle E. Jones'
+@file{filladapt.el}.  To turn is on,  put into @file{.emacs}:
+@example
+(require 'filladapt)
+@end example
+}.
 
 
 The following commands act on items when the cursor is in the first line
 The following commands act on items when the cursor is in the first line
 of an item (the line with the bullet or number).
 of an item (the line with the bullet or number).
@@ -2547,7 +2592,12 @@ keyword together with a timestamp.
 Stop the clock (clock-out).  The inserts another timestamp at the same
 Stop the clock (clock-out).  The inserts another timestamp at the same
 location where the clock was last started.  It also directly computes
 location where the clock was last started.  It also directly computes
 the resulting time in inserts it after the time range as @samp{=>
 the resulting time in inserts it after the time range as @samp{=>
-HH:MM}.
+HH:MM}.  
+@kindex C-c C-y
+@item C-c C-y
+Recompute the time interval after changing one of the time stamps.  This
+is only necessary if you edit the time stamps directly.  If you change
+them with @kbd{S-@key{cursor}} keys, the update is automatic.
 @kindex C-c C-t
 @kindex C-c C-t
 @item C-c C-t
 @item C-c C-t
 Changing the TODO state of an item to DONE automatically stops the clock
 Changing the TODO state of an item to DONE automatically stops the clock
@@ -2565,8 +2615,8 @@ can use visibility cycling to study the tree, but the overlays disappear
 automatically when the buffer is changed.
 automatically when the buffer is changed.
 @kindex C-c C-x C-r
 @kindex C-c C-x C-r
 @item C-c C-x C-r
 @item C-c C-x C-r
-Insert a dynamic block containing a clock report as an org-mode table
-into the current file.
+Insert a dynamic block (@pxref{Dynamic blocks}) containing a clock
+report as an org-mode table into the current file.
 @example
 @example
 #+BEGIN: clocktable :maxlevel 2 :emphasize nil
 #+BEGIN: clocktable :maxlevel 2 :emphasize nil
 
 
@@ -2578,7 +2628,32 @@ table.  The @samp{BEGIN} line can specify options:
 @example
 @example
 :maxlevels   @r{Maximum level depth to which times are listed in the table.}
 :maxlevels   @r{Maximum level depth to which times are listed in the table.}
 :emphasize   @r{When @code{t}, emphasize level one and level two items}
 :emphasize   @r{When @code{t}, emphasize level one and level two items}
+:block       @r{The time block to consider.  This block is specified relative}
+             @r{to the current time and may be any of these keywords:}
+             @r{@code{today}, @code{yesterday}, @code{thisweek}, @code{lastweek},}
+             @r{@code{thismonth}, @code{lastmonth}, @code{thisyear}, or @code{lastyear}}.
+:tstart      @r{A time string specifying when to start considering times}
+:tend        @r{A time string specifying when to stop considering times}
+@end example
+So to get a clock summary for the current day, you could write
+@example
+#+BEGIN: clocktable :maxlevel 2 :block today
+
+#+END: clocktable
 @end example
 @end example
+and to use a specific time range you could write@footnote{Note that all
+parameters must be specified in a single line - the line is broken here
+only to fit it onto the manual.}
+@example
+#+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>" 
+                    :tend "<2006-08-10 Thu 12:00>"
+
+#+END: clocktable
+@end example
+@kindex C-u C-c C-x C-u
+@item C-u C-c C-x C-u
+Update all dynamic blocks (@pxref{Dynamic blocks}).  This is useful if
+you have several clocktable blocks in a buffer.
 @end table
 @end table
 
 
 The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in
 The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in
@@ -4653,8 +4728,7 @@ setup.  See the installation instructions in the file
 @item @file{cdlatex.el} by Carsten Dominik
 @item @file{cdlatex.el} by Carsten Dominik
 @cindex @file{cdlatex.el}
 @cindex @file{cdlatex.el}
 Org-mode can make use of the cdlatex package to efficiently enter
 Org-mode can make use of the cdlatex package to efficiently enter
-La@TeX{} fragments into Org-mode files.
-@file{cdlatex.el} is not part of Emacs, find it on the web.
+La@TeX{} fragments into Org-mode files. See @ref{CDLaTeX mode}.
 @item @file{remember.el} by John Wiegley
 @item @file{remember.el} by John Wiegley
 @cindex @file{remember.el}
 @cindex @file{remember.el}
 Org mode cooperates with remember, see @ref{Remember}.
 Org mode cooperates with remember, see @ref{Remember}.
@@ -4784,7 +4858,7 @@ caused by the preparations for the 22.1 release.  In the mean time,
 @url{http://dto.freeshell.org/e/org-publish.el}.
 @url{http://dto.freeshell.org/e/org-publish.el}.
 @cindex @file{org-blog.el}
 @cindex @file{org-blog.el}
 @item @file{org-blog.el} by David O'Toole
 @item @file{org-blog.el} by David O'Toole
-A blogging plug-in for @file{org-publish.el}.
+A blogging plug-in for @file{org-publish.el}.@*
 @url{http://dto.freeshell.org/notebook/OrgMode.html}.
 @url{http://dto.freeshell.org/notebook/OrgMode.html}.
 @cindex @file{org-blogging.el}
 @cindex @file{org-blogging.el}
 @item @file{org-blogging.el} by  Bastien Guerry
 @item @file{org-blogging.el} by  Bastien Guerry
@@ -4805,7 +4879,7 @@ to the block and can also specify parameters for the function producing
 the content of the block.
 the content of the block.
 
 
 @example
 @example
-#+BEGIN: myblock :parameter1 value1 :parameter2 value2 .....
+#+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
 
 
 #+END:
 #+END:
 @end example
 @end example

BIN
orgcard.pdf


+ 1 - 1
orgcard.tex

@@ -1,5 +1,5 @@
 % Reference Card for Org Mode
 % Reference Card for Org Mode
-\def\orgversionnumber{4.43}
+\def\orgversionnumber{4.44}
 \def\year{2006}
 \def\year{2006}
 %
 %
 %**start of header
 %**start of header

+ 11 - 5
xemacs/README

@@ -1,9 +1,15 @@
 This directory contains files that are necessary or at least useful
 This directory contains files that are necessary or at least useful
 companions for Org-mode:
 companions for Org-mode:
 
 
-noutline.el   Greg Chernov's port of the overlay-based implementation of
-              outline-mode.  This is requires, and until XEmacs uses
-              this (or another port), you need to install it with Org-mode.
+noutline.el
 
 
-ps-print-invisible.el   Greg Chernovs modification to ps-print, to
-                        honor invisible text properties during printing.
+   Greg Chernov's port of the overlay-based implementation of
+   outline-mode.  This is required, and until XEmacs uses this (or
+   another port), you need to install it with Org-mode.  The "Installation"
+   section in the Manual covers also the installation of  this package.
+
+ps-print-invisible.el
+
+   Greg Chernovs modification to ps-print, to honor invisible text
+   properties during printing.  This file is not required for running
+   Org-mode, but it is useful when trying to print partial trees.