Carsten Dominik 17 år sedan
förälder
incheckning
93a4128a6f
7 ändrade filer med 677 tillägg och 492 borttagningar
  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
 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
 
@@ -27,7 +27,7 @@ File: org,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
 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
 
@@ -67,7 +67,8 @@ This manual is for Org-mode (version 4.43).
 Introduction
 
 * 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.
 
 Document Structure
@@ -239,7 +240,8 @@ File: org,  Node: Introduction,  Next: Document structure,  Prev: Top,  Up: Top
 * Menu:
 
 * 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.
 
 
@@ -289,15 +291,54 @@ questions (FAQ), links to tutorials etc.  This page is located at
 `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.
      (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,
 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
      (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
 Org-mode.  As an alternative, make the first line of a file look like
 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'.
 
 
-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,
@@ -718,8 +748,8 @@ is indented like the bullet/number, or less.  For example:
         He makes a really funny face when it happens.
      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
 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
 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
 
@@ -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
      `=> 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'
      Changing the TODO state of an item to DONE automatically stops the
      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.  
 
 `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
 
           #+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:
           :maxlevels   Maximum level depth to which times are listed in the table.
           :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 agenda (*note Weekly/Daily agenda::) to show which tasks have been
 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
 
@@ -4230,8 +4294,7 @@ File: org,  Node: Cooperation,  Next: Conflicts,  Prev: Interaction,  Up: Intera
 
 `cdlatex.el' by Carsten Dominik
      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
      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
 producing the content of the block.
 
-     #+BEGIN: myblock :parameter1 value1 :parameter2 value2 .....
+     #+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
 
      #+END:
 
@@ -4558,6 +4621,7 @@ Index
 * acknowledgments:                       History and Acknowledgments.
                                                               (line   6)
 * action, for publishing:                Publishing action.   (line   6)
+* activation:                            Activation.          (line   6)
 * active region <1>:                     HTML export.         (line  10)
 * active region <2>:                     ASCII export.        (line   9)
 * active region <3>:                     Built-in table editor.
@@ -4576,7 +4640,7 @@ Index
 * archiving:                             Archiving.           (line   6)
 * ASCII export:                          ASCII export.        (line   6)
 * author:                                Feedback.            (line   6)
-* autoload:                              Installation.        (line   6)
+* autoload:                              Activation.          (line   6)
 * BBDB links:                            External links.      (line   6)
 * bold text:                             Enhancing text.      (line  15)
 * bug reports:                           Feedback.            (line   6)
@@ -4677,7 +4741,7 @@ Index
 * formula, in tables:                    Built-in table editor.
                                                               (line 135)
 * 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 visibility states:              Visibility cycling.  (line  22)
 * GNUS links:                            External links.      (line   6)
@@ -4708,7 +4772,7 @@ Index
 * introduction:                          Introduction.        (line   6)
 * italic text:                           Enhancing text.      (line  15)
 * jumping, to headlines:                 Motion.              (line   6)
-* keybindings, global:                   Installation.        (line   6)
+* keybindings, global:                   Activation.          (line   6)
 * keyword options:                       Per file keywords.   (line   6)
 * LaTeX fragments:                       Export options.      (line  25)
 * LaTeX fragments, export:               Enhancing text.      (line  18)
@@ -4751,7 +4815,7 @@ Index
 * org-agenda, command:                   Weekly/Daily agenda. (line   9)
 * org-blog.el:                           Extensions.          (line  25)
 * 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-publish-project-alist:             Project alist.       (line   6)
 * org-publish.el:                        Extensions.          (line  14)
@@ -4781,7 +4845,7 @@ Index
 * region, active <3>:                    Built-in table editor.
                                                               (line 165)
 * region, active:                        Structure editing.   (line  51)
-* remember.el <1>:                       Cooperation.         (line  34)
+* remember.el <1>:                       Cooperation.         (line  33)
 * remember.el:                           Remember.            (line   6)
 * richer text:                           Enhancing text.      (line   6)
 * RMAIL links:                           External links.      (line   6)
@@ -4817,7 +4881,7 @@ Index
                                                               (line   6)
 * table editor, table.el:                table.el.            (line   6)
 * 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)
 * tables <1>:                            Export options.      (line  25)
 * tables:                                Tables.              (line   6)
@@ -4867,6 +4931,7 @@ Index
 * WANDERLUST links:                      External links.      (line   6)
 * windmove.el:                           Conflicts.           (line  33)
 * workflow states as TODO keywords:      Workflow states.     (line   6)
+* XEmacs:                                Installation.        (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-s <1>:                           Agenda commands.     (line 136)
 * 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-u:                               Motion.              (line  18)
 * 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-b:                           Checkboxes.          (line  23)
 * 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-k:                           Structure editing.   (line  36)
 * C-c C-x C-l:                           Processing LaTeX fragments.
                                                               (line   9)
 * 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-w <1>:                       Built-in table editor.
                                                               (line 108)
 * 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.
                                                               (line 112)
 * C-c C-x C-y:                           Structure editing.   (line  43)
 * C-c C-x M-w <1>:                       Built-in table editor.
                                                               (line 105)
 * 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 l:                                 Handling links.      (line   9)
 * C-c {:                                 CDLaTeX mode.        (line  21)
@@ -5038,7 +5104,8 @@ File: org,  Node: Key Index,  Prev: Index,  Up: Top
                                                               (line 139)
 * 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-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  65)
 * f:                                     Agenda commands.     (line  44)
@@ -5131,137 +5198,140 @@ File: org,  Node: Key Index,  Prev: Index,  Up: Top
 
 Tag Table:
 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

+ 306 - 271
org.el

@@ -5,7 +5,7 @@
 ;; Author: Carsten Dominik <dominik at science dot uva dot nl>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
-;; Version: 4.43
+;; Version: 4.44
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -90,10 +90,12 @@
 ;;
 ;; 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
 ;;    - `s' key in the agenda saves all org-mode buffers.
 ;;
@@ -212,16 +214,13 @@
 
 ;;; Customization variables
 
-(defvar org-version "4.43"
+(defvar org-version "4.44"
   "The version number of the file org.el.")
 (defun org-version ()
   (interactive)
   (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-format-transports-properties-p
   (let ((x "a"))
@@ -1132,7 +1131,7 @@ files and the cdr the corresponding command.  Possible values for the
 file identifier are
  \"ext\"         A string identifying an extension
  `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
                because external applications cannot handle such paths.
  t             Default for all remaining files
@@ -1831,6 +1830,7 @@ Org-mode files lives."
 
 (defcustom org-export-language-setup
   '(("en"  "Author"          "Date"  "Table of Contents")
+    ("cs"  "Autor"           "Datum" "Obsah")
     ("da"  "Ophavsmand"      "Dato"  "Indhold")
     ("de"  "Autor"           "Datum" "Inhaltsverzeichnis")
     ("es"  "Autor"           "Fecha" "\xccndice")
@@ -2150,6 +2150,16 @@ you can \"misuse\" it to add arbitrary text to the header."
   :group 'org-export-html
   :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
   "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
@@ -2694,6 +2704,10 @@ Also put tags into group 4 if tags are present.")
   (remove-text-properties 0 (length s) org-rm-props 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 ()
   "Check if the current buffer is in 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)
     (let ((re (org-make-options-regexp
 	       '("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO"
-		 "STARTUP" "ARCHIVE" "TAGS")))
+		 "STARTUP" "ARCHIVE" "TAGS" "CALC")))
 	  (splitre "[ \t]+")
 	  kwds int key value cat arch tags)
       (save-excursion
@@ -2755,10 +2769,10 @@ Also put tags into group 4 if tags are present.")
 	      (remove-text-properties 0 (length 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
 	(let (e tgs)
 	  (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)))
 		    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))
 	    (or (and (stringp (car e))
 		     (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
   ;; the keymap so late.
   (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 hide] '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)))
   (org-add-to-invisibility-spec '(org-cwidth))
   (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 "\\(?:\\*+\\|[ \t]*\\(?:[-+*]\\|[0-9]+[.)]\\) \\)")
   (setq outline-level 'org-outline-level)
@@ -2958,12 +2968,14 @@ The following commands are available:
 			    4 (string-to-vector org-ellipsis))
     (setq buffer-display-table org-display-table))
   (org-set-regexps-and-options)
+  ;; Calc embedded
+  (org-set-local 'calc-embedded-open-mode "# ")
   (modify-syntax-entry ?# "<")
   (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
-  (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
 		'local)
   ;; 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 "\\)?")
   "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)
   "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))
     ;; 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))
 
 (defvar org-m nil)
@@ -3812,9 +3823,7 @@ state (TODO by default).  Also with prefix arg, force first state."
     (org-insert-heading)
     (save-excursion
       (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))
     (if (or arg
 	    (not (match-beginning 2))
@@ -4703,7 +4712,7 @@ the children that do not contain any open TODO items."
 	(pc '(:org-comment t))
 	(pall '(:org-archived t :org-comment t))
 	(rea (concat ":" org-archive-tag ":"))
-	bmp file re)
+	     bmp file re)
     (save-excursion
       (while (setq file (pop files))
 	(org-check-agenda-file file)
@@ -4775,7 +4784,7 @@ If not found, stay at current position and return nil."
     pos))
 
 (defconst org-dblock-start-re
-  "^#\\+BEGIN:[ \t]+\\(\\S-+\\)[ \t]+\\(.*\\)"
+  "^#\\+BEGIN:[ \t]+\\(\\S-+\\)\\([ \t]+\\(.*\\)\\)?"
   "Matches the startline of a dynamic block, with parameters.")
 
 (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)))
 	 (name (match-string 1))
 	 (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)
       (error "Dynamic block not terminated"))
     (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."
   (interactive "sRegexp: ")
   (org-remove-occur-highlights nil nil t)
-  (setq regexp (org-check-occur-regexp regexp))
   (let ((cnt 0))
     (save-excursion
       (goto-char (point-min))
@@ -5625,56 +5633,58 @@ next column.
 For time difference computation, a year is assumed to be exactly 365
 days in order to avoid rounding problems."
   (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)
   (let ((fmt "")
@@ -5817,6 +5827,7 @@ in the timestamp determines what will be changed."
 	  (setcar (nthcdr 2 time0) (or (nth 1 time0) 0))
 	  (setq time (apply 'encode-time time0))))
     (insert (setq org-last-changed-timestamp (format-time-string fmt time)))
+    (org-clock-update-time-maybe)
     (goto-char pos)
     ;; Try to recenter the calendar window, if any
     (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'.")
   (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.
 Puts the resulting times in minutes as a text property on each headline."
   (interactive)
   (let* ((bmp (buffer-modified-p))
 	 (re (concat "^\\(\\*+\\)[ \t]\\|^[ \t]*"
 		     org-clock-string
-		     ".*=>[ \t]*\\([0-9]+\\):\\([0-9]+\\)[ \t]*$"))
+		     "[ \t]*\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)"))
 	 (lmax 30)
 	 (ltimes (make-vector lmax 0))
 	 (t1 0)
 	 (level 0)
+	 ts te dt
 	 time)
     (remove-text-properties (point-min) (point-max) '(:org-clock-minutes t))
     (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)
 	(if (match-end 2)
 	    ;; 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
 	  (setq level (- (match-end 1) (match-beginning 1)))
 	  (when (or (> t1 0) (> (aref ltimes level) 0))
@@ -6069,26 +6089,112 @@ The BEGIN line can contain parameters.  Allowed are:
   (interactive)
   (org-remove-clock-overlays)
   (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))
 
+(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)
   "Write the standard clocktable."
   (let ((hlchars '((1 . "*") (2 . ?/)))
 	(emph nil)
 	(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)
-	  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))
     (setq ipos (point))
     (insert-before-markers "Clock summary at [" 
 			   (substring
 			    (format-time-string (cdr org-time-stamp-formats))
 			    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)
 	  m (- org-clock-file-total-minutes (* 60 h)))
     (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)
       (let ((cw (current-window-configuration)))
 	(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
 		      (lambda ()
 			(set-window-configuration
@@ -6603,7 +6709,7 @@ dates."
     (setq buffer-read-only nil)
     (erase-buffer)
     (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))
     (push :timestamp args)
     (if dotodo (push :todo args))
@@ -6701,9 +6807,9 @@ NDAYS defaults to `org-agenda-ndays'."
     (setq buffer-read-only nil)
     (erase-buffer)
     (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)
 	       (member today day-numbers))
       (setq files thefiles
@@ -6812,11 +6918,11 @@ for a keyword.  A numeric prefix directly selects the Nth keyword in
     (setq buffer-read-only nil)
     (erase-buffer)
     (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)
 	  rtnall nil)
     (org-prepare-agenda-buffers files)
@@ -7704,11 +7810,12 @@ the documentation of `org-diary'."
 			      (abbreviate-file-name buffer-file-name))))
 	 (regexp org-tr-regexp)
 	 (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))
     (while (re-search-forward regexp nil t)
       (catch :skip
 	(org-agenda-skip)
+	(setq pos (point))
 	(setq timestr (match-string 0)
 	      s1 (match-string 1)
 	      s2 (match-string 2)
@@ -7736,7 +7843,8 @@ the documentation of `org-diary'."
 		'org-marker marker 'org-hd-marker hdmarker
 		'priority (org-get-priority txt) 'category category)
 	      (push txt ee)))
-	(outline-next-heading)))
+	(goto-char pos)))
+;	(outline-next-heading))) ;FIXME: correct to be removed??????
     ;; Sort the entries by expiration date.
     (nreverse ee)))
 
@@ -7757,7 +7865,7 @@ groups carry important information:
 
 (defconst org-stamp-time-of-day-regexp
   (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]\\)>"
    "\\(--?"
    "<\\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)
     (erase-buffer)
     (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)
 	  rtnall nil)
     (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-mode))
 	(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))
 	(if (re-search-forward "%\\?" nil t) (replace-match "")))
     (let ((org-startup-folded nil)
 	  (org-startup-with-deadline-check nil))
       (org-mode)))
-  (set (make-local-variable 'org-finish-function) 'remember-buffer))
+  (org-set-local 'org-finish-function 'remember-buffer))
 
 ;;;###autoload
 (defun org-remember-handler ()
@@ -11492,10 +11600,10 @@ it can be edited in place."
 			      '(invisible t org-cwidth t display t
 					  intangible t))
       (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"))))
 
 (defun org-table-finish-edit-field ()
@@ -12098,10 +12206,11 @@ not overwrite the stored one."
 	  (setq formula (car tmp)
 		fmt (concat (cdr (assoc "%" org-table-local-parameters))
 			    (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))
-		  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
 			   'calc-float-format
 			   (list (cdr (assoc c '((?n . float) (?f . fix)
@@ -12314,8 +12423,8 @@ Parameters get priority."
     (switch-to-buffer-other-window "*Edit Formulas*")
     (erase-buffer)
     (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)
     (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.
@@ -12481,15 +12590,15 @@ table editor in arbitrary modes.")
 	  (let ((c (assq 'orgtbl-mode minor-mode-map-alist)))
 	    (and c (setq 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
 			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))
 	  (easy-menu-add orgtbl-mode-menu)
 	  (run-hooks 'orgtbl-mode-hook))
@@ -13388,7 +13497,7 @@ underlined headlines.  The default is 3."
 	      (set (make-local-variable (cdr x))
 		   (plist-get opt-plist (car x))))
 	    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)
 		 org-export-headline-levels))
 
@@ -13594,22 +13703,15 @@ command."
       (goto-char (point-min)))))
 
 (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 ()
-  (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
 
@@ -13859,14 +13961,16 @@ lang=\"%s\" xml:lang=\"%s\">
       (insert (or (plist-get opt-plist :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 org-export-with-toc
 	  (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>")
 	    (setq lines
 	    (mapcar '(lambda (line)
@@ -14553,7 +14657,7 @@ When TITLE is nil, just close all open levels."
 	      (insert "<ul>\n<li>" title "<br/>\n")))
 	(if org-export-with-section-numbers
 	    (setq title (concat (org-section-number level) " " title)))
-	(setq level (+ level 1))
+	(setq level (+ level org-export-html-toplevel-hlevel -1))
 	(if with-toc
 	    (insert (format "\n<h%d><a name=\"sec-%d\">%s</a></h%d>\n"
 			    level head-count title level))
@@ -15763,6 +15867,10 @@ See the individual commands for more information."
     "--"
     ("TODO Lists"
      ["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]
      ["Global TODO list" org-todo-list t]
      "--"
@@ -16042,31 +16150,32 @@ return nil."
   ;; In the paragraph separator we include headlines, because filling
   ;; text in a line directly attached to a headline would otherwise
   ;; 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.
-  (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.
   ;; 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
   ;; and fixed-width regions are not wrapped.  That function will pass
   ;; 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.
-  (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)
   "Re-align a table, pass through to fill-paragraph if no table."
@@ -16145,18 +16254,7 @@ that can be added."
 			  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
 ;; 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))
       (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 ()
   "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 ()
   "Check if point is at a character currently not visible."
   (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 ()
   (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.
 This function considers both visible and invisible heading lines.
 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 ()
   "Show an entry where even the heading is hidden."
   (save-excursion
-    (if (not org-noutline-p)
-	(progn
-	  (org-back-to-heading t)
-	  (org-flag-heading nil)))
     (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)
   "Flag the current heading.  FLAG non-nil means make invisible.
 When ENTRY is non-nil, show the entire entry."
   (save-excursion
     (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
     (if entry
 	(progn
@@ -16293,9 +16330,7 @@ When ENTRY is non-nil, show the entire entry."
 		 (org-flag-heading nil))))
       (outline-flag-region (max 1 (1- (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)
   ;; 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)
    (save-excursion
      (outline-end-of-subtree) (outline-next-heading) (point))
-   (if org-noutline-p nil ?\n)))
+   nil))
 
 (defun org-show-entry ()
   "Show the body directly following this heading.
@@ -16337,16 +16372,16 @@ Show the heading too, if it is currently invisible."
      (save-excursion
        (re-search-forward (concat "[\r\n]\\(" outline-regexp "\\)") nil 'move)
        (or (match-beginning 1) (point-max)))
-     (if org-noutline-p nil ?\n))))
+     nil)))
 
 (defun org-make-options-regexp (kwds)
   "Make a regular expression for keyword lines."
   (concat
-   (if org-noutline-p "^" "[\n\r]")
+   "^"
    "#?[ \t]*\\+\\("
    (mapconcat 'regexp-quote kwds "\\|")
    "\\):[ \t]*"
-   (if org-noutline-p "\\(.+\\)" "\\([^\n\r]+\\)")))
+   "\\(.+\\)"))
 
 ;; Make `bookmark-jump' show the jump location if it was hidden.
 (eval-after-load "bookmark"

BIN
org.pdf


+ 113 - 39
org.texi

@@ -3,8 +3,8 @@
 @setfilename ../info/org
 @settitle Org Mode Manual
 
-@set VERSION 4.43
-@set DATE July 2006
+@set VERSION 4.44
+@set DATE August 2006
 
 @dircategory Emacs
 @direntry
@@ -98,7 +98,8 @@ Software Foundation raise funds for GNU development.''
 Introduction
 
 * 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.
 
 Document Structure
@@ -270,7 +271,8 @@ Extensions, Hooks and Hacking
 
 @menu
 * 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.
 @end menu
 
@@ -323,18 +325,68 @@ questions (FAQ), links to tutorials etc.  This page is located at
 
 @page
 
-@node Installation, Feedback, Summary, Introduction
-@section Installation and Activation
+@node Installation, Activation, Summary, Introduction
+@section 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 global keybindings
 @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
 ;; 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
 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
 (global-font-lock-mode 1)                     ; for all buffers
 (add-hook 'org-mode-hook 'turn-on-font-lock)  ; org-mode buffers only
 @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
-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
 MY PROJECTS    -*- mode: org; -*-
@@ -378,7 +417,7 @@ MY PROJECTS    -*- mode: org; -*-
 the file's name is.  See also the variable
 @code{org-insert-mode-line-in-empty-file}.
 
-@node Feedback,  , Installation, Introduction
+@node Feedback,  , Activation, Introduction
 @section Feedback
 @cindex feedback
 @cindex bug reports
@@ -826,8 +865,14 @@ But in the end, not individual scenes matter but the film as a whole.
 @end group
 @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
 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
 location where the clock was last started.  It also directly computes
 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
 @item C-c C-t
 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.
 @kindex 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
 #+BEGIN: clocktable :maxlevel 2 :emphasize nil
 
@@ -2578,7 +2628,32 @@ table.  The @samp{BEGIN} line can specify options:
 @example
 :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}
+: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
+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
 
 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
 @cindex @file{cdlatex.el}
 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
 @cindex @file{remember.el}
 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}.
 @cindex @file{org-blog.el}
 @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}.
 @cindex @file{org-blogging.el}
 @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.
 
 @example
-#+BEGIN: myblock :parameter1 value1 :parameter2 value2 .....
+#+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
 
 #+END:
 @end example

BIN
orgcard.pdf


+ 1 - 1
orgcard.tex

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

+ 11 - 5
xemacs/README

@@ -1,9 +1,15 @@
 This directory contains files that are necessary or at least useful
 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.