Release 4.44

This commit is contained in:
Carsten Dominik 2008-01-31 11:32:24 +01:00
parent 49d91490d9
commit 93a4128a6f
7 changed files with 676 additions and 491 deletions

422
org
View File

@ -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
================
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.
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
==============
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

575
org.el
View File

@ -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-<EFBFBD>§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))))
(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))))
(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))))))
(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

Binary file not shown.

152
org.texi
View File

@ -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

Binary file not shown.

View File

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

View File

@ -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.