Release 5.17
This commit is contained in:
parent
293b06347f
commit
da2eea46f0
21
ChangeLog
21
ChangeLog
|
@ -1,3 +1,24 @@
|
|||
2007-12-17 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* org.el (org-first-list-item-p): New function.
|
||||
(org-last-remember-storage-locations): New variable.
|
||||
(org-get-refile-targets): Interpret the new maxlevel setting.
|
||||
(org-refile-targets): New option `:maxlevel'.
|
||||
|
||||
2007-12-14 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* org.el (org-copy-subtree): Include empty lines before but not
|
||||
after subtree.
|
||||
(org-back-over-empty-lines, org-skip-whitespace): New functions.
|
||||
(org-move-item-down, org-move-item-up): Include empty lines before
|
||||
but not after item.
|
||||
(org-first-sibling-p): New function.
|
||||
|
||||
2007-12-13 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* org.el (org-remember-apply-template): Defaults, completions and
|
||||
history for template prompts. Also, interpret new `%!' escape.
|
||||
|
||||
2007-12-03 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* org.el (org-context-choices): New constant.
|
||||
|
|
4
Makefile
4
Makefile
|
@ -202,12 +202,12 @@ release:
|
|||
cp RELEASEDIR/org-$(TAG).tar.gz RELEASEDIR/org.tar.gz
|
||||
(cd $(HG_RELEASES); rm -rf $(DISTFILES) xemacs)
|
||||
cp -r org-$(TAG)/* $(HG_RELEASES)
|
||||
(cd $(HG_RELEASES); hg addremove; hg ci -m $(TAG); hg tag -f $(TAG))
|
||||
(cd $(HG_RELEASES); hg addremove; hg ci -m $(TAG); hg tag $(TAG))
|
||||
|
||||
trackrelease:
|
||||
(cd $(HG_RELEASES); rm -rf $(DISTFILES) xemacs)
|
||||
cp -r org-$(TAG)/* $(HG_RELEASES)
|
||||
(cd $(HG_RELEASES); hg addremove; hg ci -m $(TAG); hg tag -f $(TAG))
|
||||
(cd $(HG_RELEASES); hg addremove; hg ci -m $(TAG); hg tag $(TAG))
|
||||
|
||||
upload:
|
||||
(cd RELEASEDIR; lftp -f ../ftp_script)
|
||||
|
|
171
org-install.el
171
org-install.el
|
@ -8,7 +8,7 @@
|
|||
;;;;;; org-remember-insinuate org-open-at-point-global org-insert-link-global
|
||||
;;;;;; org-store-link orgtbl-mode turn-on-orgtbl org-run-like-in-org-mode
|
||||
;;;;;; turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle
|
||||
;;;;;; org-cycle org-mode) "org" "org.el" (18260 13209))
|
||||
;;;;;; org-cycle org-mode) "org" "org.el" (18281 37899))
|
||||
;;; Generated autoloads from org.el
|
||||
|
||||
(autoload (quote org-mode) "org" "\
|
||||
|
@ -28,7 +28,9 @@ can be exported as a structured ASCII or HTML file.
|
|||
|
||||
The following commands are available:
|
||||
|
||||
\\{org-mode-map}" t nil)
|
||||
\\{org-mode-map}
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload (quote org-cycle) "org" "\
|
||||
Visibility cycling for Org-mode.
|
||||
|
@ -57,10 +59,14 @@ Visibility cycling for Org-mode.
|
|||
|
||||
- Special case: if point is at the beginning of the buffer and there is
|
||||
no headline in line 1, this function will act as if called with prefix arg.
|
||||
But only if also the variable `org-cycle-global-at-bob' is t." t nil)
|
||||
But only if also the variable `org-cycle-global-at-bob' is t.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload (quote org-global-cycle) "org" "\
|
||||
Cycle the global visibility. For details see `org-cycle'." t nil)
|
||||
Cycle the global visibility. For details see `org-cycle'.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload (quote orgstruct-mode) "org" "\
|
||||
Toggle the minor more `orgstruct-mode'.
|
||||
|
@ -83,24 +89,37 @@ C-c - Cycle list bullet
|
|||
TAB Cycle item visibility
|
||||
M-RET Insert new heading/item
|
||||
S-M-RET Insert new TODO heading / Chekbox item
|
||||
C-c C-c Set tags / toggle checkbox" t nil)
|
||||
C-c C-c Set tags / toggle checkbox
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload (quote turn-on-orgstruct) "org" "\
|
||||
Unconditionally turn on `orgstruct-mode'." nil nil)
|
||||
Unconditionally turn on `orgstruct-mode'.
|
||||
|
||||
\(fn)" nil nil)
|
||||
|
||||
(autoload (quote turn-on-orgstruct++) "org" "\
|
||||
Unconditionally turn on `orgstruct-mode', and force org-mode indentations.
|
||||
In addition to setting orgstruct-mode, this also exports all indentation and
|
||||
autofilling variables from org-mode into the buffer. Note that turning
|
||||
off orgstruct-mode will *not* remove these additonal settings." nil nil)
|
||||
off orgstruct-mode will *not* remove these additonal settings.
|
||||
|
||||
(autoload (quote org-run-like-in-org-mode) "org" nil nil nil)
|
||||
\(fn)" nil nil)
|
||||
|
||||
(autoload (quote org-run-like-in-org-mode) "org" "\
|
||||
Not documented
|
||||
|
||||
\(fn CMD)" nil nil)
|
||||
|
||||
(autoload (quote turn-on-orgtbl) "org" "\
|
||||
Unconditionally turn on `orgtbl-mode'." nil nil)
|
||||
Unconditionally turn on `orgtbl-mode'.
|
||||
|
||||
\(fn)" nil nil)
|
||||
|
||||
(autoload (quote orgtbl-mode) "org" "\
|
||||
The `org-mode' table editor as a minor mode for use in other modes." t nil)
|
||||
The `org-mode' table editor as a minor mode for use in other modes.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload (quote org-store-link) "org" "\
|
||||
\\<org-mode-map>Store an org-link to the current location.
|
||||
|
@ -108,30 +127,42 @@ This link can later be inserted into an org-buffer with
|
|||
\\[org-insert-link].
|
||||
For some link types, a prefix arg is interpreted:
|
||||
For links to usenet articles, arg negates `org-usenet-links-prefer-google'.
|
||||
For file links, arg negates `org-context-in-file-links'." t nil)
|
||||
For file links, arg negates `org-context-in-file-links'.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload (quote org-insert-link-global) "org" "\
|
||||
Insert a link like Org-mode does.
|
||||
This command can be called in any mode to insert a link in Org-mode syntax." t nil)
|
||||
This command can be called in any mode to insert a link in Org-mode syntax.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload (quote org-open-at-point-global) "org" "\
|
||||
Follow a link like Org-mode does.
|
||||
This command can be called in any mode to follow a link that has
|
||||
Org-mode syntax." t nil)
|
||||
Org-mode syntax.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload (quote org-remember-insinuate) "org" "\
|
||||
Setup remember.el for use wiht Org-mode." nil nil)
|
||||
Setup remember.el for use wiht Org-mode.
|
||||
|
||||
\(fn)" nil nil)
|
||||
|
||||
(autoload (quote org-remember-annotation) "org" "\
|
||||
Return a link to the current location as an annotation for remember.el.
|
||||
If you are using Org-mode files as target for data storage with
|
||||
remember.el, then the annotations should include a link compatible with the
|
||||
conventions in Org-mode. This function returns such a link." nil nil)
|
||||
conventions in Org-mode. This function returns such a link.
|
||||
|
||||
\(fn)" nil nil)
|
||||
|
||||
(autoload (quote org-remember-apply-template) "org" "\
|
||||
Initialize *remember* buffer with template, invoke `org-mode'.
|
||||
This function should be placed into `remember-mode-hook' and in fact requires
|
||||
to be run from that hook to function properly." nil nil)
|
||||
to be run from that hook to function properly.
|
||||
|
||||
\(fn &optional USE-CHAR SKIP-INTERACTIVE)" nil nil)
|
||||
|
||||
(autoload (quote org-remember) "org" "\
|
||||
Call `remember'. If this is already a remember buffer, re-apply template.
|
||||
|
@ -140,10 +171,13 @@ of the remember buffer.
|
|||
|
||||
When called interactively with a `C-u' prefix argument GOTO, don't remember
|
||||
anything, just go to the file/headline where the selected templated usually
|
||||
stores its notes.
|
||||
stores its notes. With a double prefix arg `C-u C-u', got to the last
|
||||
note stored by remember.
|
||||
|
||||
Lisp programs can set ORG-FORCE-REMEMBER-TEMPLATE-CHAR to a character
|
||||
associated with a template in `org-remember-tempates'." t nil)
|
||||
associated with a template in `org-remember-tempates'.
|
||||
|
||||
\(fn &optional GOTO ORG-FORCE-REMEMBER-TEMPLATE-CHAR)" t nil)
|
||||
|
||||
(autoload (quote org-remember-handler) "org" "\
|
||||
Store stuff from remember.el into an org file.
|
||||
|
@ -179,7 +213,9 @@ If the variable `org-adapt-indentation' is non-nil, the entire text is
|
|||
also indented so that it starts in the same column as the headline
|
||||
\(i.e. after the stars).
|
||||
|
||||
See also the variable `org-reverse-note-order'." nil nil)
|
||||
See also the variable `org-reverse-note-order'.
|
||||
|
||||
\(fn)" nil nil)
|
||||
|
||||
(autoload (quote org-agenda-to-appt) "org" "\
|
||||
Activate appointments found in `org-agenda-files'.
|
||||
|
@ -196,7 +232,9 @@ either 'headline or 'category. For example:
|
|||
(category \"Work\"))
|
||||
|
||||
will only add headlines containing IMPORTANT or headlines
|
||||
belonging to the category \"Work\"." t nil)
|
||||
belonging to the category \"Work\".
|
||||
|
||||
\(fn &optional FILTER)" t nil)
|
||||
|
||||
(autoload (quote org-agenda) "org" "\
|
||||
Dispatch agenda commands to collect entries to the agenda buffer.
|
||||
|
@ -221,7 +259,9 @@ If the current buffer is in Org-mode and visiting a file, you can also
|
|||
first press `<' once to indicate that the agenda should be temporarily
|
||||
\(until the next use of \\[org-agenda]) restricted to the current file.
|
||||
Pressing `<' twice means to restrict to the current subtree or region
|
||||
\(if active)." t nil)
|
||||
\(if active).
|
||||
|
||||
\(fn ARG &optional KEYS RESTRICTION)" t nil)
|
||||
|
||||
(autoload (quote org-batch-agenda) "org" "\
|
||||
Run an agenda command in batch mode and send the result to STDOUT.
|
||||
|
@ -229,7 +269,9 @@ If CMD-KEY is a string of length 1, it is used as a key in
|
|||
`org-agenda-custom-commands' and triggers this command. If it is a
|
||||
longer string is is used as a tags/todo match string.
|
||||
Paramters are alternating variable names and values that will be bound
|
||||
before running the agenda command." nil (quote macro))
|
||||
before running the agenda command.
|
||||
|
||||
\(fn CMD-KEY &rest PARAMETERS)" nil (quote macro))
|
||||
|
||||
(autoload (quote org-batch-agenda-csv) "org" "\
|
||||
Run an agenda command in batch mode and send the result to STDOUT.
|
||||
|
@ -264,17 +306,26 @@ time The time, like 15:00-16:50
|
|||
extra Sting with extra planning info
|
||||
priority-l The priority letter if any was given
|
||||
priority-n The computed numerical priority
|
||||
agenda-day The day in the agenda where this is listed" nil (quote macro))
|
||||
agenda-day The day in the agenda where this is listed
|
||||
|
||||
(autoload (quote org-store-agenda-views) "org" nil t nil)
|
||||
\(fn CMD-KEY &rest PARAMETERS)" nil (quote macro))
|
||||
|
||||
(autoload (quote org-store-agenda-views) "org" "\
|
||||
Not documented
|
||||
|
||||
\(fn &rest PARAMETERS)" t nil)
|
||||
|
||||
(autoload (quote org-batch-store-agenda-views) "org" "\
|
||||
Run all custom agenda commands that have a file argument." nil (quote macro))
|
||||
Run all custom agenda commands that have a file argument.
|
||||
|
||||
\(fn &rest PARAMETERS)" nil (quote macro))
|
||||
|
||||
(autoload (quote org-cycle-agenda-files) "org" "\
|
||||
Cycle through the files in `org-agenda-files'.
|
||||
If the current buffer visits an agenda file, find the next one in the list.
|
||||
If the current buffer does not, find the first agenda file." t nil)
|
||||
If the current buffer does not, find the first agenda file.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload (quote org-agenda-list) "org" "\
|
||||
Produce a daily/weekly view from all files in variable `org-agenda-files'.
|
||||
|
@ -291,25 +342,33 @@ span INCLUDE-ALL days. Lisp programs should instead specify NDAYS to change
|
|||
the number of days. NDAYS defaults to `org-agenda-ndays'.
|
||||
|
||||
START-DAY defaults to TODAY, or to the most recent match for the weekday
|
||||
given in `org-agenda-start-on-weekday'." t nil)
|
||||
given in `org-agenda-start-on-weekday'.
|
||||
|
||||
\(fn &optional INCLUDE-ALL START-DAY NDAYS)" t nil)
|
||||
|
||||
(autoload (quote org-todo-list) "org" "\
|
||||
Show all TODO entries from all agenda file in a single list.
|
||||
The prefix arg can be used to select a specific TODO keyword and limit
|
||||
the list to these. When using \\[universal-argument], you will be prompted
|
||||
for a keyword. A numeric prefix directly selects the Nth keyword in
|
||||
`org-todo-keywords-1'." t nil)
|
||||
`org-todo-keywords-1'.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload (quote org-tags-view) "org" "\
|
||||
Show all headlines for all `org-agenda-files' matching a TAGS criterion.
|
||||
The prefix arg TODO-ONLY limits the search to TODO entries." t nil)
|
||||
The prefix arg TODO-ONLY limits the search to TODO entries.
|
||||
|
||||
\(fn &optional TODO-ONLY MATCH)" t nil)
|
||||
|
||||
(autoload (quote org-agenda-list-stuck-projects) "org" "\
|
||||
Create agenda view for projects that are stuck.
|
||||
Stuck projects are project that have no next actions. For the definitions
|
||||
of what a project is and how to check if it stuck, customize the variable
|
||||
`org-stuck-projects'.
|
||||
MATCH is being ignored." t nil)
|
||||
MATCH is being ignored.
|
||||
|
||||
\(fn &rest IGNORE)" t nil)
|
||||
|
||||
(autoload (quote org-diary) "org" "\
|
||||
Return diary information from org-files.
|
||||
|
@ -355,21 +414,29 @@ So the example above may also be written as
|
|||
|
||||
The function expects the lisp variables `entry' and `date' to be provided
|
||||
by the caller, because this is how the calendar works. Don't use this
|
||||
function from a program - use `org-agenda-get-day-entries' instead." nil nil)
|
||||
function from a program - use `org-agenda-get-day-entries' instead.
|
||||
|
||||
\(fn &rest ARGS)" nil nil)
|
||||
|
||||
(autoload (quote org-export-icalendar-this-file) "org" "\
|
||||
Export current file as an iCalendar file.
|
||||
The iCalendar file will be located in the same directory as the Org-mode
|
||||
file, but with extension `.ics'." t nil)
|
||||
file, but with extension `.ics'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload (quote org-export-icalendar-all-agenda-files) "org" "\
|
||||
Export all files in `org-agenda-files' to iCalendar .ics files.
|
||||
Each iCalendar file will be located in the same directory as the Org-mode
|
||||
file, but with extension `.ics'." t nil)
|
||||
file, but with extension `.ics'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload (quote org-export-icalendar-combine-agenda-files) "org" "\
|
||||
Export all files in `org-agenda-files' to a single combined iCalendar file.
|
||||
The file is stored under the name `org-combined-agenda-icalendar-file'." t nil)
|
||||
The file is stored under the name `org-combined-agenda-icalendar-file'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
;;;***
|
||||
|
||||
|
@ -378,19 +445,27 @@ The file is stored under the name `org-combined-agenda-icalendar-file'." t nil)
|
|||
;;; Generated autoloads from org-publish.el
|
||||
|
||||
(autoload (quote org-publish) "org-publish" "\
|
||||
Publish the project PROJECT-NAME." t nil)
|
||||
Publish the project PROJECT-NAME.
|
||||
|
||||
\(fn PROJECT-NAME &optional FORCE)" t nil)
|
||||
|
||||
(autoload (quote org-publish-current-project) "org-publish" "\
|
||||
Publish the project associated with the current file.
|
||||
With prefix argument, force publishing all files in project." t nil)
|
||||
With prefix argument, force publishing all files in project.
|
||||
|
||||
\(fn &optional FORCE)" t nil)
|
||||
|
||||
(autoload (quote org-publish-current-file) "org-publish" "\
|
||||
Publish the current file.
|
||||
With prefix argument, force publish the file." t nil)
|
||||
With prefix argument, force publish the file.
|
||||
|
||||
\(fn &optional FORCE)" t nil)
|
||||
|
||||
(autoload (quote org-publish-all) "org-publish" "\
|
||||
Publish all projects.
|
||||
With prefix argument, force publish all files." t nil)
|
||||
With prefix argument, force publish all files.
|
||||
|
||||
\(fn &optional FORCE)" t nil)
|
||||
|
||||
;;;***
|
||||
|
||||
|
@ -405,18 +480,24 @@ Call `org-export-as-latex', may be used in batch processing as
|
|||
emacs --batch
|
||||
--load=$HOME/lib/emacs/org.el
|
||||
--eval \"(setq org-export-headline-levels 2)\"
|
||||
--visit=MyFile --funcall org-export-as-latex-batch" nil nil)
|
||||
--visit=MyFile --funcall org-export-as-latex-batch
|
||||
|
||||
\(fn)" nil nil)
|
||||
|
||||
(autoload (quote org-export-as-latex-to-buffer) "org-export-latex" "\
|
||||
Call `org-exort-as-latex` with output to a temporary buffer.
|
||||
No file is created. The prefix ARG is passed through to `org-export-as-latex'." t nil)
|
||||
No file is created. The prefix ARG is passed through to `org-export-as-latex'.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload (quote org-replace-region-by-latex) "org-export-latex" "\
|
||||
Replace the region from BEG to END with its LaTeX export.
|
||||
It assumes the region has `org-mode' syntax, and then convert it to
|
||||
LaTeX. This can be used in any buffer. For example, you could
|
||||
write an itemized list in `org-mode' syntax in an LaTeX buffer and
|
||||
then use this command to convert it." t nil)
|
||||
then use this command to convert it.
|
||||
|
||||
\(fn BEG END)" t nil)
|
||||
|
||||
(autoload (quote org-export-region-as-latex) "org-export-latex" "\
|
||||
Convert region from BEG to END in `org-mode' buffer to LaTeX.
|
||||
|
@ -431,7 +512,9 @@ a Lisp program could call this function in the following way:
|
|||
(setq latex (org-export-region-as-latex beg end t 'string))
|
||||
|
||||
When called interactively, the output buffer is selected, and shown
|
||||
in a window. A non-interactive call will only retunr the buffer." t nil)
|
||||
in a window. A non-interactive call will only retunr the buffer.
|
||||
|
||||
\(fn BEG END &optional BODY-ONLY BUFFER)" t nil)
|
||||
|
||||
(autoload (quote org-export-as-latex) "org-export-latex" "\
|
||||
Export current buffer to a LaTeX file.
|
||||
|
@ -448,7 +531,9 @@ buffer. If TO-BUFFER is the symbol `string', don't leave any
|
|||
buffer behind but just return the resulting LaTeX as a string.
|
||||
When BODY-ONLY is set, don't produce the file header and footer,
|
||||
simply return the content of egin{document}...nd{document},
|
||||
without even the egin{document} and nd{document} commands." t nil)
|
||||
without even the egin{document} and nd{document} commands.
|
||||
|
||||
\(fn ARG &optional HIDDEN EXT-PLIST TO-BUFFER BODY-ONLY)" t nil)
|
||||
|
||||
;;;***
|
||||
|
||||
|
|
500
org.el
500
org.el
|
@ -5,7 +5,7 @@
|
|||
;; Author: Carsten Dominik <carsten at orgmode dot org>
|
||||
;; Keywords: outlines, hypermedia, calendar, wp
|
||||
;; Homepage: http://orgmode.org
|
||||
;; Version: 5.16b
|
||||
;; Version: 5.17
|
||||
;;
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
|
@ -84,7 +84,7 @@
|
|||
|
||||
;;; Version
|
||||
|
||||
(defconst org-version "5.16a"
|
||||
(defconst org-version "5.17"
|
||||
"The version number of the file org.el.")
|
||||
(defun org-version ()
|
||||
(interactive)
|
||||
|
@ -1436,7 +1436,9 @@ The template specifies the structure of the remember buffer. It should have
|
|||
a first line starting with a star, to act as the org-mode headline.
|
||||
Furthermore, the following %-escapes will be replaced with content:
|
||||
|
||||
%^{prompt} prompt the user for a string and replace this sequence with it.
|
||||
%^{prompt} Prompt the user for a string and replace this sequence with it.
|
||||
A default value and a completion table ca be specified like this:
|
||||
%^{prompt|default|completion2|completion3|...}
|
||||
%t time stamp, date only
|
||||
%T time stamp with date and time
|
||||
%u, %U like the above, but inactive time stamps
|
||||
|
@ -1447,6 +1449,13 @@ Furthermore, the following %-escapes will be replaced with content:
|
|||
%i initial content, the region when remember is called with C-u.
|
||||
If %i is indented, the entire inserted text will be indented
|
||||
as well.
|
||||
%c content of the clipboard, or current kill ring head
|
||||
%^g prompt for tags, with completion on tags in target file
|
||||
%^G prompt for tags, with completion all tags in all agenda files
|
||||
%:keyword specific information for certain link types, see below
|
||||
%[pathname] insert the contents of the file given by `pathname'
|
||||
%(sexp) evaluate elisp `(sexp)' and replace with the result
|
||||
|
||||
|
||||
%? After completing the template, position cursor here.
|
||||
|
||||
|
@ -1516,9 +1525,10 @@ This is list of cons cells. Each cell contains:
|
|||
todo keyword.
|
||||
- a cons cell (:regexp . \"REGEXP\") with a regular expression matching
|
||||
headlines that are refiling targets.
|
||||
- a cons cell (:level . N). Any headline of level N is considered a target."
|
||||
- a cons cell (:level . N). Any headline of level N is considered a target.
|
||||
- a cons cell (:maxlevel . N). Any headline with level <= N is a target."
|
||||
;; FIXME: what if there are a var and func with same name???
|
||||
:group 'org
|
||||
:group 'org-remember
|
||||
:type '(repeat
|
||||
(cons
|
||||
(choice :value org-agenda-files
|
||||
|
@ -1529,7 +1539,14 @@ This is list of cons cells. Each cell contains:
|
|||
(cons :tag "Specific tag" (const :tag) (string))
|
||||
(cons :tag "TODO keyword" (const :todo) (string))
|
||||
(cons :tag "Regular expression" (const :regexp) (regexp))
|
||||
(cons :tag "Level number" (const :level) (integer))))))
|
||||
(cons :tag "Level number" (const :level) (integer))
|
||||
(cons :tag "Max Level number" (const :maxlevel) (integer))))))
|
||||
|
||||
(defcustom org-refile-use-outline-path nil
|
||||
"Non-nil means, provide refile targets as paths.
|
||||
So a level 3 headline will be available as level1/level2/level3."
|
||||
:group 'org-remember
|
||||
:type 'boolean)
|
||||
|
||||
(defgroup org-todo nil
|
||||
"Options concerning TODO items in Org-mode."
|
||||
|
@ -4036,6 +4053,131 @@ If it is less than 8, the level-1 face gets re-used for level N+1 etc."
|
|||
:type 'number
|
||||
:group 'org-faces)
|
||||
|
||||
;;; Functions and variables from ther packages
|
||||
;; Declared here to avoid compiler warnings
|
||||
|
||||
(unless (fboundp 'declare-function) (defmacro declare-function (&rest args)))
|
||||
|
||||
;; XEmacs only
|
||||
(defvar outline-mode-menu-heading)
|
||||
(defvar outline-mode-menu-show)
|
||||
(defvar outline-mode-menu-hide)
|
||||
(defvar zmacs-regions) ; XEmacs regions
|
||||
|
||||
;; Emacs only
|
||||
(defvar mark-active)
|
||||
|
||||
;; Various packages
|
||||
;; FIXME: get the argument lists for the UNKNOWN stuff
|
||||
(declare-function add-to-diary-list "diary-lib"
|
||||
(date string specifier &optional marker globcolor literal))
|
||||
(declare-function table--at-cell-p "table" (position &optional object at-column))
|
||||
(declare-function Info-find-node "info" (filename nodename &optional no-going-back))
|
||||
(declare-function Info-goto-node "info" (nodename &optional fork))
|
||||
(declare-function bbdb "ext:bbdb-com" (string elidep))
|
||||
(declare-function bbdb-company "ext:bbdb-com" (string elidep))
|
||||
(declare-function bbdb-current-record "ext:bbdb-com" (&optional planning-on-modifying))
|
||||
(declare-function bbdb-name "ext:bbdb-com" (string elidep))
|
||||
(declare-function bbdb-record-getprop "ext:bbdb" (record property))
|
||||
(declare-function bbdb-record-name "ext:bbdb" (record))
|
||||
(declare-function bibtex-beginning-of-entry "bibtex" ())
|
||||
(declare-function bibtex-generate-autokey "bibtex" ())
|
||||
(declare-function bibtex-parse-entry "bibtex" (&optional content))
|
||||
(declare-function bibtex-url "bibtex" (&optional pos no-browse))
|
||||
(defvar calc-embedded-close-formula)
|
||||
(defvar calc-embedded-open-formula)
|
||||
(declare-function calendar-astro-date-string "cal-julian" (&optional date))
|
||||
(declare-function calendar-bahai-date-string "cal-bahai" (&optional date))
|
||||
(declare-function calendar-check-holidays "holidays" (date))
|
||||
(declare-function calendar-chinese-date-string "cal-china" (&optional date))
|
||||
(declare-function calendar-coptic-date-string "cal-coptic" (&optional date))
|
||||
(declare-function calendar-ethiopic-date-string "cal-coptic" (&optional date))
|
||||
(declare-function calendar-forward-day "cal-move" (arg))
|
||||
(declare-function calendar-french-date-string "cal-french" (&optional date))
|
||||
(declare-function calendar-goto-date "cal-move" (date))
|
||||
(declare-function calendar-goto-today "cal-move" ())
|
||||
(declare-function calendar-hebrew-date-string "cal-hebrew" (&optional date))
|
||||
(declare-function calendar-islamic-date-string "cal-islam" (&optional date))
|
||||
(declare-function calendar-iso-date-string "cal-iso" (&optional date))
|
||||
(declare-function calendar-julian-date-string "cal-julian" (&optional date))
|
||||
(declare-function calendar-mayan-date-string "cal-mayan" (&optional date))
|
||||
(declare-function calendar-persian-date-string "cal-persia" (&optional date))
|
||||
(defvar calendar-mode-map)
|
||||
(defvar original-date) ; dynamically scoped in calendar.el does scope this
|
||||
(declare-function cdlatex-tab "ext:cdlatex" ())
|
||||
(declare-function dired-get-filename "dired" (&optional localp no-error-if-not-filep))
|
||||
(declare-function elmo-folder-exists-p "ext:elmo" (folder) t)
|
||||
(declare-function elmo-message-entity-field "ext:elmo-msgdb" (entity field &optional type))
|
||||
(declare-function elmo-message-field "ext:elmo" (folder number field &optional type) t)
|
||||
(declare-function elmo-msgdb-overview-get-entity "ext:elmo" (&rest unknown) t)
|
||||
(defvar font-lock-unfontify-region-function)
|
||||
(declare-function gnus-article-show-summary "gnus-art" ())
|
||||
(declare-function gnus-summary-last-subject "gnus-sum" ())
|
||||
(defvar gnus-other-frame-object)
|
||||
(defvar gnus-group-name)
|
||||
(defvar gnus-article-current)
|
||||
(defvar Info-current-file)
|
||||
(defvar Info-current-node)
|
||||
(declare-function mh-display-msg "mh-show" (msg-num folder-name))
|
||||
(declare-function mh-find-path "mh-utils" ())
|
||||
(declare-function mh-get-header-field "mh-utils" (field))
|
||||
(declare-function mh-get-msg-num "mh-utils" (error-if-no-message))
|
||||
(declare-function mh-header-display "mh-show" ())
|
||||
(declare-function mh-index-previous-folder "mh-search" ())
|
||||
(declare-function mh-normalize-folder-name "mh-utils" (folder &optional empty-string-okay dont-remove-trailing-slash return-nil-if-folder-empty))
|
||||
(declare-function mh-search "mh-search" (folder search-regexp &optional redo-search-flag window-config))
|
||||
(declare-function mh-search-choose "mh-search" (&optional searcher))
|
||||
(declare-function mh-show "mh-show" (&optional message redisplay-flag))
|
||||
(declare-function mh-show-buffer-message-number "mh-comp" (&optional buffer))
|
||||
(declare-function mh-show-header-display "mh-show" t t)
|
||||
(declare-function mh-show-msg "mh-show" (msg))
|
||||
(declare-function mh-show-show "mh-show" t t)
|
||||
(declare-function mh-visit-folder "mh-folder" (folder &optional range index-data))
|
||||
(defvar mh-progs)
|
||||
(defvar mh-current-folder)
|
||||
(defvar mh-show-folder-buffer)
|
||||
(defvar mh-index-folder)
|
||||
(defvar mh-searcher)
|
||||
(declare-function org-export-latex-cleaned-string "org-export-latex" (&optional commentsp))
|
||||
(declare-function parse-time-string "parse-time" (string))
|
||||
(declare-function remember "remember" (&optional initial))
|
||||
(declare-function remember-buffer-desc "remember" ())
|
||||
(defvar remember-save-after-remembering)
|
||||
(defvar remember-data-file)
|
||||
(defvar remember-register)
|
||||
(defvar remember-buffer)
|
||||
(declare-function rmail-narrow-to-non-pruned-header "rmail" ())
|
||||
(declare-function rmail-show-message "rmail" (&optional n no-summary))
|
||||
(declare-function rmail-what-message "rmail" ())
|
||||
(defvar texmathp-why)
|
||||
(declare-function vm-beginning-of-message "ext:vm-page" ())
|
||||
(declare-function vm-follow-summary-cursor "ext:vm-motion" ())
|
||||
(declare-function vm-get-header-contents "ext:vm-summary" (message header-name-regexp &optional clump-sep))
|
||||
(declare-function vm-isearch-narrow "ext:vm-search" ())
|
||||
(declare-function vm-isearch-update "ext:vm-search" ())
|
||||
(declare-function vm-select-folder-buffer "ext:vm-macro" ())
|
||||
(declare-function vm-su-message-id "ext:vm-summary" (m))
|
||||
(declare-function vm-su-subject "ext:vm-summary" (m))
|
||||
(declare-function vm-summarize "ext:vm-summary" (&optional display raise))
|
||||
(defvar vm-message-pointer)
|
||||
(defvar vm-folder-directory)
|
||||
(defvar w3m-current-url)
|
||||
(defvar w3m-current-title)
|
||||
(declare-function wl-summary-buffer-msgdb "ext:wl-folder" (&rest unknown) t)
|
||||
(declare-function wl-folder-get-elmo-folder "ext:wl-folder" (entity &optional no-cache))
|
||||
(declare-function wl-summary-goto-folder-subr "ext:wl-summary" (&optional name scan-type other-window sticky interactive scoring force-exit))
|
||||
(declare-function wl-summary-jump-to-msg-by-message-id "ext:wl-summary" (&optional id))
|
||||
(declare-function wl-summary-line-from "ext:wl-summary" ())
|
||||
(declare-function wl-summary-line-subject "ext:wl-summary" ())
|
||||
(declare-function wl-summary-message-number "ext:wl-summary" ())
|
||||
(declare-function wl-summary-redisplay "ext:wl-summary" (&optional arg))
|
||||
(defvar wl-summary-buffer-elmo-folder)
|
||||
(defvar wl-summary-buffer-folder-name)
|
||||
(declare-function speedbar-line-directory "speedbar" (&optional depth))
|
||||
|
||||
(defvar org-latex-regexps)
|
||||
(defvar constants-unit-system)
|
||||
|
||||
;;; Variables for pre-computed regular expressions, all buffer local
|
||||
|
||||
(defvar org-drawer-regexp nil
|
||||
|
@ -4452,49 +4594,6 @@ Respect keys that are already there."
|
|||
"Function to be called when `C-c C-c' is used.
|
||||
This is for getting out of special buffers like remember.")
|
||||
|
||||
;;; Foreign variables, to inform the compiler
|
||||
|
||||
;; XEmacs only
|
||||
(defvar outline-mode-menu-heading)
|
||||
(defvar outline-mode-menu-show)
|
||||
(defvar outline-mode-menu-hide)
|
||||
(defvar zmacs-regions) ; XEmacs regions
|
||||
;; Emacs only
|
||||
(defvar mark-active)
|
||||
|
||||
;; Packages that org-mode interacts with
|
||||
(defvar calc-embedded-close-formula)
|
||||
(defvar calc-embedded-open-formula)
|
||||
(defvar font-lock-unfontify-region-function)
|
||||
(defvar org-goto-start-pos)
|
||||
(defvar vm-message-pointer)
|
||||
(defvar vm-folder-directory)
|
||||
(defvar wl-summary-buffer-elmo-folder)
|
||||
(defvar wl-summary-buffer-folder-name)
|
||||
(defvar gnus-other-frame-object)
|
||||
(defvar gnus-group-name)
|
||||
(defvar gnus-article-current)
|
||||
(defvar w3m-current-url)
|
||||
(defvar w3m-current-title)
|
||||
(defvar mh-progs)
|
||||
(defvar mh-current-folder)
|
||||
(defvar mh-show-folder-buffer)
|
||||
(defvar mh-index-folder)
|
||||
(defvar mh-searcher)
|
||||
(defvar calendar-mode-map)
|
||||
(defvar Info-current-file)
|
||||
(defvar Info-current-node)
|
||||
(defvar texmathp-why)
|
||||
(defvar remember-save-after-remembering)
|
||||
(defvar remember-data-file)
|
||||
(defvar remember-register)
|
||||
(defvar remember-buffer)
|
||||
(defvar annotation) ; from remember.el, dynamically scoped in `remember-mode'
|
||||
(defvar initial) ; from remember.el, dynamically scoped in `remember-mode'
|
||||
(defvar org-latex-regexps)
|
||||
(defvar constants-unit-system)
|
||||
|
||||
(defvar original-date) ; dynamically scoped in calendar.el does scope this
|
||||
|
||||
;; FIXME: Occasionally check by commenting these, to make sure
|
||||
;; no other functions uses these, forgetting to let-bind them.
|
||||
|
@ -5712,6 +5811,8 @@ RET=jump to location [Q]uit and return to previous location
|
|||
\[Up]/[Down]=next/prev headline TAB=cycle visibility [/] org-occur"
|
||||
)
|
||||
|
||||
(defvar org-goto-start-pos) ; dynamically scoped parameter
|
||||
|
||||
(defun org-goto ()
|
||||
"Look up a different location in the current file, keeping current visibility.
|
||||
|
||||
|
@ -6188,36 +6289,56 @@ is signaled in this case."
|
|||
'outline-get-last-sibling))
|
||||
(ins-point (make-marker))
|
||||
(cnt (abs arg))
|
||||
beg end txt folded)
|
||||
beg beg0 end txt folded ne-beg ne-end ne-ins ins-end)
|
||||
;; Select the tree
|
||||
(org-back-to-heading)
|
||||
(setq beg (point))
|
||||
(setq beg0 (point))
|
||||
(save-excursion
|
||||
(setq ne-beg (org-back-over-empty-lines))
|
||||
(setq beg (point)))
|
||||
(save-match-data
|
||||
(save-excursion (outline-end-of-heading)
|
||||
(setq folded (org-invisible-p)))
|
||||
(outline-end-of-subtree))
|
||||
(outline-next-heading)
|
||||
(setq ne-end (org-back-over-empty-lines))
|
||||
(setq end (point))
|
||||
;; Find insertion point, with error handling
|
||||
(goto-char beg0)
|
||||
(when (and (> arg 0) (org-first-sibling-p) (< ne-end ne-beg))
|
||||
;; include less whitespace
|
||||
(save-excursion
|
||||
(goto-char beg)
|
||||
(forward-line (- ne-beg ne-end))
|
||||
(setq beg (point))))
|
||||
;; Find insertion point, with error handling
|
||||
(while (> cnt 0)
|
||||
(or (and (funcall movfunc) (looking-at outline-regexp))
|
||||
(progn (goto-char beg)
|
||||
(progn (goto-char beg0)
|
||||
(error "Cannot move past superior level or buffer limit")))
|
||||
(setq cnt (1- cnt)))
|
||||
(if (> arg 0)
|
||||
;; Moving forward - still need to move over subtree
|
||||
(progn (outline-end-of-subtree)
|
||||
(outline-next-heading)
|
||||
(if (not (or (looking-at (concat "^" outline-regexp))
|
||||
(bolp)))
|
||||
(newline))))
|
||||
(org-back-over-empty-lines)
|
||||
(or (bolp) (newline))))
|
||||
(setq ne-ins (org-back-over-empty-lines))
|
||||
(move-marker ins-point (point))
|
||||
(setq txt (buffer-substring beg end))
|
||||
(delete-region beg end)
|
||||
(insert txt)
|
||||
(or (bolp) (insert "\n"))
|
||||
(setq ins-end (point))
|
||||
(goto-char ins-point)
|
||||
(org-skip-whitespace)
|
||||
(when (and (< arg 0)
|
||||
(org-first-sibling-p)
|
||||
(> ne-ins ne-beg))
|
||||
;; Move whitespace back to beginning
|
||||
(save-excursion
|
||||
(goto-char ins-end)
|
||||
(let ((kill-whole-line t))
|
||||
(kill-line (- ne-ins ne-beg)) (point)))
|
||||
(insert (make-string (- ne-ins ne-beg) ?\n)))
|
||||
(if folded (hide-subtree))
|
||||
(move-marker ins-point nil)))
|
||||
|
||||
|
@ -6247,7 +6368,9 @@ If CUT is non-nil, actually cut the subtree."
|
|||
(if (interactive-p)
|
||||
(org-back-to-heading nil) ; take what looks like a subtree
|
||||
(org-back-to-heading t)) ; take what is really there
|
||||
(org-back-over-empty-lines)
|
||||
(setq beg (point))
|
||||
(skip-chars-forward " \t\r\n")
|
||||
(save-match-data
|
||||
(save-excursion (outline-end-of-heading)
|
||||
(setq folded (org-invisible-p)))
|
||||
|
@ -6255,6 +6378,7 @@ If CUT is non-nil, actually cut the subtree."
|
|||
(outline-forward-same-level (1- n))
|
||||
(error nil))
|
||||
(org-end-of-subtree t t))
|
||||
(org-back-over-empty-lines)
|
||||
(setq end (point))
|
||||
(goto-char beg)
|
||||
(when (> end beg)
|
||||
|
@ -6284,7 +6408,7 @@ If you want to insert the tree as is, just use \\[yank].
|
|||
If optional TREE is given, use this text instead of the kill ring."
|
||||
(interactive "P")
|
||||
(unless (org-kill-is-subtree-p tree)
|
||||
(error
|
||||
(error "%s"
|
||||
(substitute-command-keys
|
||||
"The kill is not a (set of) tree(s) - please use \\[yank] to yank anyway")))
|
||||
(let* ((txt (or tree (and kill-ring (current-kill 0))))
|
||||
|
@ -6337,6 +6461,8 @@ If optional TREE is given, use this text instead of the kill ring."
|
|||
(unless (string-match "\n\\'" txt) (insert "\n"))
|
||||
(setq end (point))
|
||||
(goto-char beg)
|
||||
(skip-chars-forward " \t\n\r")
|
||||
(setq beg (point))
|
||||
;; Shift if necessary
|
||||
(unless (= shift 0)
|
||||
(save-restriction
|
||||
|
@ -6362,10 +6488,12 @@ which is OK for `org-paste-subtree'.
|
|||
If optional TXT is given, check this string instead of the current kill."
|
||||
(let* ((kill (or txt (and kill-ring (current-kill 0)) ""))
|
||||
(start-level (and kill
|
||||
(string-match (concat "\\`" org-outline-regexp) kill)
|
||||
(- (match-end 0) (match-beginning 0) 1)))
|
||||
(string-match (concat "\\`\\([ \t\n\r]*?\n\\)?\\("
|
||||
org-outline-regexp "\\)")
|
||||
kill)
|
||||
(- (match-end 2) (match-beginning 2) 1)))
|
||||
(re (concat "^" org-outline-regexp))
|
||||
(start 1))
|
||||
(start (1+ (match-beginning 2))))
|
||||
(if (not start-level)
|
||||
(progn
|
||||
nil) ;; does not even start with a heading
|
||||
|
@ -6921,22 +7049,37 @@ Error if not at a plain list, or if this is the first item in the list."
|
|||
Subitems (items with larger indentation) are considered part of the item,
|
||||
so this really moves item trees."
|
||||
(interactive)
|
||||
(let (beg end ind ind1 (pos (point)) txt)
|
||||
(let (beg beg0 end end0 ind ind1 (pos (point)) txt ne-end ne-beg)
|
||||
(org-beginning-of-item)
|
||||
(setq beg (point))
|
||||
(setq beg0 (point))
|
||||
(save-excursion
|
||||
(setq ne-beg (org-back-over-empty-lines))
|
||||
(setq beg (point)))
|
||||
(goto-char beg0)
|
||||
(setq ind (org-get-indentation))
|
||||
(org-end-of-item)
|
||||
(setq end (point))
|
||||
(setq end0 (point))
|
||||
(setq ind1 (org-get-indentation))
|
||||
(setq ne-end (org-back-over-empty-lines))
|
||||
(setq end (point))
|
||||
(goto-char beg0)
|
||||
(when (and (org-first-list-item-p) (< ne-end ne-beg))
|
||||
;; include less whitespace
|
||||
(save-excursion
|
||||
(goto-char beg)
|
||||
(forward-line (- ne-beg ne-end))
|
||||
(setq beg (point))))
|
||||
(goto-char end0)
|
||||
(if (and (org-at-item-p) (= ind ind1))
|
||||
(progn
|
||||
(org-end-of-item)
|
||||
(org-back-over-empty-lines)
|
||||
(setq txt (buffer-substring beg end))
|
||||
(save-excursion
|
||||
(delete-region beg end))
|
||||
(setq pos (point))
|
||||
(insert txt)
|
||||
(goto-char pos)
|
||||
(goto-char pos) (org-skip-whitespace)
|
||||
(org-maybe-renumber-ordered-list))
|
||||
(goto-char pos)
|
||||
(error "Cannot move this item further down"))))
|
||||
|
@ -6946,13 +7089,19 @@ so this really moves item trees."
|
|||
Subitems (items with larger indentation) are considered part of the item,
|
||||
so this really moves item trees."
|
||||
(interactive "p")
|
||||
(let (beg end ind ind1 (pos (point)) txt)
|
||||
(let (beg beg0 end end0 ind ind1 (pos (point)) txt
|
||||
ne-beg ne-end ne-ins ins-end)
|
||||
(org-beginning-of-item)
|
||||
(setq beg (point))
|
||||
(setq beg0 (point))
|
||||
(setq ind (org-get-indentation))
|
||||
(save-excursion
|
||||
(setq ne-beg (org-back-over-empty-lines))
|
||||
(setq beg (point)))
|
||||
(goto-char beg0)
|
||||
(org-end-of-item)
|
||||
(setq ne-end (org-back-over-empty-lines))
|
||||
(setq end (point))
|
||||
(goto-char beg)
|
||||
(goto-char beg0)
|
||||
(catch 'exit
|
||||
(while t
|
||||
(beginning-of-line 0)
|
||||
|
@ -6971,12 +7120,23 @@ so this really moves item trees."
|
|||
(setq ind1 (org-get-indentation))
|
||||
(if (and (org-at-item-p) (= ind ind1))
|
||||
(progn
|
||||
(setq ne-ins (org-back-over-empty-lines))
|
||||
(setq txt (buffer-substring beg end))
|
||||
(save-excursion
|
||||
(delete-region beg end))
|
||||
(setq pos (point))
|
||||
(insert txt)
|
||||
(goto-char pos)
|
||||
(setq ins-end (point))
|
||||
(goto-char pos) (org-skip-whitespace)
|
||||
|
||||
(when (and (org-first-list-item-p) (> ne-ins ne-beg))
|
||||
;; Move whitespace back to beginning
|
||||
(save-excursion
|
||||
(goto-char ins-end)
|
||||
(let ((kill-whole-line t))
|
||||
(kill-line (- ne-ins ne-beg)) (point)))
|
||||
(insert (make-string (- ne-ins ne-beg) ?\n)))
|
||||
|
||||
(org-maybe-renumber-ordered-list))
|
||||
(goto-char pos)
|
||||
(error "Cannot move this item further up"))))
|
||||
|
@ -7697,7 +7857,7 @@ When TAG is non-nil, don't move trees, but mark them with the ARCHIVE tag."
|
|||
(org-hide-archived-subtrees beg end)
|
||||
(goto-char beg)
|
||||
(if (looking-at (concat ".*:" org-archive-tag ":"))
|
||||
(message (substitute-command-keys
|
||||
(message "%s" (substitute-command-keys
|
||||
"Subtree is archived and stays closed. Use \\[org-force-cycle-archived] to cycle it anyway.")))))))
|
||||
|
||||
(defun org-force-cycle-archived ()
|
||||
|
@ -8868,7 +9028,8 @@ should be done in reverse order."
|
|||
(skip-chars-backward "^|")
|
||||
(setq ecol (1- (current-column)))
|
||||
(org-table-goto-column column)
|
||||
(setq lns (mapcar (lambda(x) (cons (org-trim (substring x bcol ecol)) x))
|
||||
(setq lns (mapcar (lambda(x) (cons (org-sort-remove-invisible
|
||||
(org-trim (substring x bcol ecol))) x))
|
||||
(org-split-string (buffer-substring beg end) "\n")))
|
||||
(setq lns (org-do-sort lns "Table" with-case sorting-type))
|
||||
(delete-region beg end)
|
||||
|
@ -8879,6 +9040,14 @@ should be done in reverse order."
|
|||
(org-table-goto-column thiscol)
|
||||
(message "%d lines sorted, based on column %d" (length lns) column)))
|
||||
|
||||
;; FIXME: maybe we will not need this? Table sorting is broken....
|
||||
(defun org-sort-remove-invisible (s)
|
||||
(remove-text-properties 0 (length s) org-rm-props s)
|
||||
(if (string-match org-bracket-link-regexp s)
|
||||
(setq s (replace-match (if (match-end 2) (match-string 3 s)
|
||||
(match-string 1 s)))))
|
||||
s)
|
||||
|
||||
(defun org-table-cut-region (beg end)
|
||||
"Copy region in table to the clipboard and blank all relevant fields."
|
||||
(interactive "r")
|
||||
|
@ -9581,7 +9750,7 @@ of the new mark."
|
|||
(goto-line l1)))
|
||||
(if (not (= epos (point-at-eol))) (org-table-align))
|
||||
(goto-line l)
|
||||
(and (interactive-p) (message (cdr (assoc new org-recalc-marks))))))
|
||||
(and (interactive-p) (message "%s" (cdr (assoc new org-recalc-marks))))))
|
||||
|
||||
(defun org-table-maybe-recalculate-line ()
|
||||
"Recompute the current line if marked for it, and if we haven't just done it."
|
||||
|
@ -12566,7 +12735,7 @@ to read."
|
|||
(move-marker (car org-mark-ring)
|
||||
(or pos (point))
|
||||
(or buffer (current-buffer)))
|
||||
(message
|
||||
(message "%s"
|
||||
(substitute-command-keys
|
||||
"Position saved to mark ring, go back with \\[org-mark-ring-goto].")))
|
||||
|
||||
|
@ -12648,7 +12817,7 @@ onto the ring."
|
|||
(if (match-string 2 name) ; If there isn't a node, choose "Top"
|
||||
(Info-find-node (match-string 1 name) (match-string 2 name))
|
||||
(Info-find-node (match-string 1 name) "Top")))
|
||||
(message (concat "Could not open: " name))))
|
||||
(message "Could not open: %s" name)))
|
||||
|
||||
(defun org-follow-gnus-link (&optional group article)
|
||||
"Follow a Gnus link to GROUP and ARTICLE."
|
||||
|
@ -12772,7 +12941,7 @@ sequences, it will now work."
|
|||
(save-excursion
|
||||
(mh-index-previous-folder)
|
||||
(re-search-forward "^\\(+.*\\)$" nil t)
|
||||
(message (match-string 1))))
|
||||
(message "%s" (match-string 1))))
|
||||
|
||||
(defun org-mhe-get-message-folder ()
|
||||
"Return the name of the current message folder. Be careful if you
|
||||
|
@ -12992,6 +13161,9 @@ on the system \"/user@host:\"."
|
|||
|
||||
;;;; Hooks for remember.el, and refiling
|
||||
|
||||
(defvar annotation) ; from remember.el, dynamically scoped in `remember-mode'
|
||||
(defvar initial) ; from remember.el, dynamically scoped in `remember-mode'
|
||||
|
||||
;;;###autoload
|
||||
(defun org-remember-insinuate ()
|
||||
"Setup remember.el for use wiht Org-mode."
|
||||
|
@ -13094,7 +13266,8 @@ to be run from that hook to function properly."
|
|||
v-a))
|
||||
(v-n user-full-name)
|
||||
(org-startup-folded nil)
|
||||
org-time-was-given org-end-time-was-given x prompt char time pos)
|
||||
org-time-was-given org-end-time-was-given x
|
||||
prompt completions char time pos default histvar)
|
||||
(setq org-store-link-plist
|
||||
(append (list :annotation v-a :initial v-i)
|
||||
org-store-link-plist))
|
||||
|
@ -13174,6 +13347,15 @@ to be run from that hook to function properly."
|
|||
prompt (if (match-end 2) (match-string 2)))
|
||||
(goto-char (match-beginning 0))
|
||||
(replace-match "")
|
||||
(setq completions nil default nil)
|
||||
(when prompt
|
||||
(setq completions (org-split-string prompt "|")
|
||||
prompt (pop completions)
|
||||
default (car completions)
|
||||
histvar (intern (concat
|
||||
"org-remember-template-prompt-history::"
|
||||
(or prompt "")))
|
||||
completions (mapcar 'list completions)))
|
||||
(cond
|
||||
((member char '("G" "g"))
|
||||
(let* ((org-last-tags-completion-table
|
||||
|
@ -13199,14 +13381,31 @@ to be run from that hook to function properly."
|
|||
(member char '("u" "U"))
|
||||
nil nil (list org-end-time-was-given)))
|
||||
(t
|
||||
(insert (read-string
|
||||
(if prompt (concat prompt ": ") "Enter string"))))))
|
||||
(insert (completing-read
|
||||
(concat (if prompt prompt "Enter string")
|
||||
(if default (concat " [" default "]"))
|
||||
": ")
|
||||
completions nil nil nil histvar default)))))
|
||||
(goto-char (point-min))
|
||||
(if (re-search-forward "%\\?" nil t)
|
||||
(replace-match "")
|
||||
(and (re-search-forward "^[^#\n]" nil t) (backward-char 1))))
|
||||
(org-mode)
|
||||
(org-set-local 'org-finish-function 'remember-finalize)))
|
||||
(org-set-local 'org-finish-function 'remember-finalize))
|
||||
(when (save-excursion
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "%!" nil t))
|
||||
(replace-match "")
|
||||
(add-hook 'post-command-hook 'org-remember-finish-immediately 'append)))
|
||||
|
||||
(defun org-remember-finish-immediately ()
|
||||
"File remember note immediately.
|
||||
This should be run in `post-command-hook' and will remove itself
|
||||
from that hook."
|
||||
(remove-hook 'post-command-hook 'org-remember-finish-immediately)
|
||||
(when org-finish-function
|
||||
(funcall org-finish-function)))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(defun org-remember (&optional goto org-force-remember-template-char)
|
||||
|
@ -13216,13 +13415,16 @@ of the remember buffer.
|
|||
|
||||
When called interactively with a `C-u' prefix argument GOTO, don't remember
|
||||
anything, just go to the file/headline where the selected templated usually
|
||||
stores its notes.
|
||||
stores its notes. With a double prefix arg `C-u C-u', got to the last
|
||||
note stored by remember.
|
||||
|
||||
Lisp programs can set ORG-FORCE-REMEMBER-TEMPLATE-CHAR to a character
|
||||
associated with a template in `org-remember-tempates'."
|
||||
(interactive "P")
|
||||
(if (equal goto '(4))
|
||||
(org-go-to-remember-target)
|
||||
(cond
|
||||
((equal goto '(4)) (org-go-to-remember-target))
|
||||
((equal goto '(16)) (org-remember-goto-last-stored))
|
||||
(t
|
||||
(if (eq org-finish-function 'remember-buffer)
|
||||
(progn
|
||||
(when (< (length org-remember-templates) 2)
|
||||
|
@ -13234,7 +13436,13 @@ associated with a template in `org-remember-tempates'."
|
|||
(message "Press C-c C-c to remember data"))
|
||||
(if (org-region-active-p)
|
||||
(remember (buffer-substring (point) (mark)))
|
||||
(call-interactively 'remember)))))
|
||||
(call-interactively 'remember))))))
|
||||
|
||||
(defun org-remember-goto-last-stored ()
|
||||
"Go to the location where the last remember note was stored."
|
||||
(interactive)
|
||||
(bookmark-jump "org-remember-last-stored")
|
||||
(message "This is the last note stored by remember"))
|
||||
|
||||
(defun org-go-to-remember-target (&optional template-key)
|
||||
"Go to the target location of a remember template.
|
||||
|
@ -13397,13 +13605,16 @@ See also the variable `org-reverse-note-order'."
|
|||
(beginning-of-line 2)
|
||||
(end-of-line 1)
|
||||
(insert "\n"))))
|
||||
(bookmark-set "org-remember-last-stored")
|
||||
(org-paste-subtree (org-get-legal-level level 1) txt))
|
||||
((eq exitcmd 'left)
|
||||
;; before current
|
||||
(bookmark-set "org-remember-last-stored")
|
||||
(org-paste-subtree level txt))
|
||||
((eq exitcmd 'right)
|
||||
;; after current
|
||||
(org-end-of-subtree t)
|
||||
(bookmark-set "org-remember-last-stored")
|
||||
(org-paste-subtree level txt))
|
||||
(t (error "This should not happen"))))
|
||||
|
||||
|
@ -13413,6 +13624,7 @@ See also the variable `org-reverse-note-order'."
|
|||
(widen)
|
||||
(goto-char (point-max))
|
||||
(if (not (bolp)) (newline))
|
||||
(bookmark-set "org-remember-last-stored")
|
||||
(org-paste-subtree (org-get-legal-level 1 1) txt)))
|
||||
|
||||
((and (bobp) reversed)
|
||||
|
@ -13422,10 +13634,12 @@ See also the variable `org-reverse-note-order'."
|
|||
(goto-char (point-min))
|
||||
(re-search-forward "^\\*+ " nil t)
|
||||
(beginning-of-line 1)
|
||||
(bookmark-set "org-remember-last-stored")
|
||||
(org-paste-subtree 1 txt)))
|
||||
(t
|
||||
;; Put it right there, with automatic level determined by
|
||||
;; org-paste-subtree or from prefix arg
|
||||
(bookmark-set "org-remember-last-stored")
|
||||
(org-paste-subtree
|
||||
(if (numberp current-prefix-arg) current-prefix-arg)
|
||||
txt)))
|
||||
|
@ -13491,6 +13705,12 @@ See also the variable `org-reverse-note-order'."
|
|||
(1- (* 2 (cdr desc)))
|
||||
(cdr desc)))
|
||||
"\\}[ \t]")))
|
||||
((eq (car desc) :maxlevel)
|
||||
(setq descre (concat "^\\*\\{1," (number-to-string
|
||||
(if org-odd-levels-only
|
||||
(1- (* 2 (cdr desc)))
|
||||
(cdr desc)))
|
||||
"\\}[ \t]")))
|
||||
(t (error "Bad refiling target description %s" desc)))
|
||||
(while (setq f (pop files))
|
||||
(save-excursion
|
||||
|
@ -13511,11 +13731,24 @@ See also the variable `org-reverse-note-order'."
|
|||
(regexp-quote
|
||||
(match-string 5)))))
|
||||
(setq re (concat re "[ \t]*$"))
|
||||
(when org-refile-use-outline-path
|
||||
(setq txt (mapconcat 'identity
|
||||
(append (org-get-outline-path)
|
||||
(list txt))
|
||||
"/")))
|
||||
(push (list txt f re (point)) targets))
|
||||
(goto-char (point-at-eol))))))))
|
||||
(org-release-buffers org-agenda-new-buffers)
|
||||
(nreverse targets)))
|
||||
|
||||
(defun org-get-outline-path ()
|
||||
(let (rtn)
|
||||
(save-excursion
|
||||
(while (org-up-heading-safe)
|
||||
(when (looking-at org-complex-heading-regexp)
|
||||
(push (org-match-string-no-properties 4) rtn)))
|
||||
rtn)))
|
||||
|
||||
(defun org-refile (&optional reversed-or-update)
|
||||
"Move the entry at point to another heading.
|
||||
The list of target headings is compiled using the information in
|
||||
|
@ -14102,8 +14335,6 @@ Returns the new TODO keyword, or nil if no state change should occur."
|
|||
(save-window-excursion
|
||||
(if expert
|
||||
(set-buffer (get-buffer-create " *Org todo*"))
|
||||
; (delete-other-windows)
|
||||
; (split-window-vertically)
|
||||
(org-switch-to-buffer-other-window (get-buffer-create " *Org todo*")))
|
||||
(erase-buffer)
|
||||
(org-set-local 'org-done-keywords done-keywords)
|
||||
|
@ -14196,7 +14427,7 @@ This function should be run in the `org-after-todo-state-change-hook'."
|
|||
(org-timestamp-change n (cdr (assoc what whata))))
|
||||
(setq msg (concat msg type org-last-changed-timestamp " ")))
|
||||
(setq org-log-post-message msg)
|
||||
(message msg))))
|
||||
(message "%s" msg))))
|
||||
|
||||
(defun org-show-todo-tree (arg)
|
||||
"Make a compact tree which shows all headlines marked with TODO.
|
||||
|
@ -14415,7 +14646,7 @@ The auto-repeater uses this.")
|
|||
(with-current-buffer (marker-buffer org-log-note-return-to)
|
||||
(goto-char org-log-note-return-to))
|
||||
(move-marker org-log-note-return-to nil)
|
||||
(and org-log-post-message (message org-log-post-message)))
|
||||
(and org-log-post-message (message "%s" org-log-post-message)))
|
||||
|
||||
;; FIXME: what else would be useful?
|
||||
;; - priority
|
||||
|
@ -14430,14 +14661,17 @@ t Show entries with a specific TODO keyword.
|
|||
T Show entries selected by a tags match.
|
||||
p Enter a property name and its value (both with completion on existing
|
||||
names/values) and show entries with that property.
|
||||
r Show entries matching a regular expression"
|
||||
r Show entries matching a regular expression
|
||||
d Show deadlines due within `org-deadline-warning-days'."
|
||||
(interactive "P")
|
||||
(let (ans kwd value)
|
||||
(message "Sparse tree: [/]regexp [t]odo-kwd [T]ag [p]roperty [d]eadlines")
|
||||
(message "Sparse tree: [/]regexp [t]odo-kwd [T]ag [p]roperty [d]eadlines [b]efore-date")
|
||||
(setq ans (read-char-exclusive))
|
||||
(cond
|
||||
((equal ans ?d)
|
||||
(call-interactively 'org-check-deadlines))
|
||||
((equal ans ?b)
|
||||
(call-interactively 'org-check-before-date))
|
||||
((equal ans ?t)
|
||||
(org-show-todo-tree '(4)))
|
||||
((equal ans ?T)
|
||||
|
@ -15670,10 +15904,10 @@ in the current file."
|
|||
(let* ((prop (completing-read
|
||||
"Property: " (org-entry-properties nil 'standard))))
|
||||
(list prop)))
|
||||
(message (concat "Property " property
|
||||
(message "Property %s %s" property
|
||||
(if (org-entry-delete nil property)
|
||||
" deleted"
|
||||
" was not present in the entry"))))
|
||||
"deleted"
|
||||
"was not present in the entry")))
|
||||
|
||||
(defun org-delete-property-globally (property)
|
||||
"Remove PROPERTY globally, from all entries."
|
||||
|
@ -17372,6 +17606,20 @@ days. If the prefix is a raw \\[universal-argument] prefix, all deadlines are s
|
|||
(org-occur regexp nil callback)
|
||||
org-warn-days)))
|
||||
|
||||
(defun org-check-before-date (date)
|
||||
"Check if there are deadlines or scheduled entries before DATE."
|
||||
(interactive (list (org-read-date)))
|
||||
(let ((case-fold-search nil)
|
||||
(regexp (concat "\\<\\(" org-deadline-string
|
||||
"\\|" org-scheduled-string
|
||||
"\\) *<\\([^>]+\\)>"))
|
||||
(callback
|
||||
(lambda () (time-less-p
|
||||
(org-time-string-to-time (match-string 2))
|
||||
(org-time-string-to-time date)))))
|
||||
(message "%d entries before %s"
|
||||
(org-occur regexp nil callback) date)))
|
||||
|
||||
(defun org-evaluate-time-range (&optional to-buffer)
|
||||
"Evaluate a time range by computing the difference between start and end.
|
||||
Normally the result is just printed in the echo area, but with prefix arg
|
||||
|
@ -17419,7 +17667,7 @@ days in order to avoid rounding problems."
|
|||
d (floor (+ (/ diff ds) 0.5))
|
||||
h 0 m 0))
|
||||
(if (not to-buffer)
|
||||
(message (org-make-tdiff-string y d h m))
|
||||
(message "%s" (org-make-tdiff-string y d h m))
|
||||
(if (org-at-table-p)
|
||||
(progn
|
||||
(goto-char match-end)
|
||||
|
@ -18936,6 +19184,16 @@ Pressing `<' twice means to restrict to the current subtree or region
|
|||
((equal keys "!") (customize-variable 'org-stuck-projects))
|
||||
(t (error "Invalid agenda key"))))))
|
||||
|
||||
(defun org-agenda-normalize-custom-commands (cmds)
|
||||
(delq nil
|
||||
(mapcar
|
||||
(lambda (x)
|
||||
(cond ((stringp (cdr x)) nil)
|
||||
((stringp (nth 1 x)) x)
|
||||
((not (nth 1 x)) (cons (car x) (cons "" (cddr x))))
|
||||
(t (cons (car x) (cons "" (cdr x))))))
|
||||
cmds)))
|
||||
|
||||
(defun org-agenda-get-restriction-and-command (prefix-descriptions)
|
||||
"The user interface for selecting an agenda command."
|
||||
(catch 'exit
|
||||
|
@ -19256,7 +19514,7 @@ so the the export commands caneasily use it."
|
|||
;;;###autoload
|
||||
(defmacro org-batch-store-agenda-views (&rest parameters)
|
||||
"Run all custom agenda commands that have a file argument."
|
||||
(let ((cmds org-agenda-custom-commands)
|
||||
(let ((cmds (org-agenda-normalize-custom-commands org-agenda-custom-commands))
|
||||
(pop-up-frames nil)
|
||||
(dir default-directory)
|
||||
pars cmd thiscmdkey files opts)
|
||||
|
@ -19267,8 +19525,8 @@ so the the export commands caneasily use it."
|
|||
(while cmds
|
||||
(setq cmd (pop cmds)
|
||||
thiscmdkey (car cmd)
|
||||
opts (nth 3 cmd)
|
||||
files (nth 4 cmd))
|
||||
opts (nth 4 cmd)
|
||||
files (nth 5 cmd))
|
||||
(if (stringp files) (setq files (list files)))
|
||||
(when files
|
||||
(eval (list 'let (append org-agenda-exporter-settings opts pars)
|
||||
|
@ -19388,7 +19646,7 @@ the buffer and restores the previous window configuration."
|
|||
(org-install-agenda-files-menu)
|
||||
(message "New agenda file list installed"))
|
||||
nil 'local)
|
||||
(message (substitute-command-keys
|
||||
(message "%s" (substitute-command-keys
|
||||
"Edit list and finish with \\[save-buffer]")))
|
||||
(customize-variable 'org-agenda-files)))
|
||||
|
||||
|
@ -24440,7 +24698,8 @@ lang=\"%s\" xml:lang=\"%s\">
|
|||
(replace-match "\\2\n"))
|
||||
(insert line "\n")
|
||||
(while (and lines
|
||||
(get-text-property 0 'org-protected (car lines)))
|
||||
(or (= (length (car lines)) 0)
|
||||
(get-text-property 0 'org-protected (car lines))))
|
||||
(insert (pop lines) "\n"))
|
||||
(and par (insert "<p>\n")))
|
||||
(throw 'nextline nil))
|
||||
|
@ -25815,6 +26074,7 @@ The XOXO buffer is named *xoxo-<source buffer name>*"
|
|||
(org-defkey org-mode-map "\C-c\C-k" 'org-kill-note-or-show-branches)
|
||||
(org-defkey org-mode-map "\C-c#" 'org-update-checkbox-count)
|
||||
(org-defkey org-mode-map "\C-m" 'org-return)
|
||||
(org-defkey org-mode-map "\C-j" 'org-return-indent)
|
||||
(org-defkey org-mode-map "\C-c?" 'org-table-field-info)
|
||||
(org-defkey org-mode-map "\C-c " 'org-table-blank-field)
|
||||
(org-defkey org-mode-map "\C-c+" 'org-table-sum)
|
||||
|
@ -26283,18 +26543,24 @@ Also updates the keyword regular expressions."
|
|||
(let ((org-note-abort t))
|
||||
(funcall org-finish-function))))
|
||||
|
||||
(defun org-return ()
|
||||
(defun org-return (&optional indent)
|
||||
"Goto next table row or insert a newline.
|
||||
Calls `org-table-next-row' or `newline', depending on context.
|
||||
See the individual commands for more information."
|
||||
(interactive)
|
||||
(cond
|
||||
((bobp) (newline))
|
||||
((bobp) (if indent (newline-and-indent) (newline)))
|
||||
((org-at-table-p)
|
||||
(org-table-justify-field-maybe)
|
||||
(call-interactively 'org-table-next-row))
|
||||
(t (newline))))
|
||||
(t (if indent (newline-and-indent) (newline)))))
|
||||
|
||||
(defun org-return-indent ()
|
||||
(interactive)
|
||||
"Goto next table row or insert a newline and indent.
|
||||
Calls `org-table-next-row' or `newline-and-indent', depending on
|
||||
context. See the individual commands for more information."
|
||||
(org-return t))
|
||||
|
||||
(defun org-ctrl-c-minus ()
|
||||
"Insert separator line in table or modify bullet type in list.
|
||||
|
@ -26758,6 +27024,17 @@ really on, so that the block visually is on the match."
|
|||
(setq list (delete (pop elts) list)))
|
||||
list)
|
||||
|
||||
(defun org-back-over-empty-lines ()
|
||||
"Move backwards over witespace, to the beginning of the first empty line.
|
||||
Returns the number o empty lines passed."
|
||||
(let ((pos (point)))
|
||||
(skip-chars-backward " \t\n\r")
|
||||
(beginning-of-line 2)
|
||||
(count-lines (point) pos)))
|
||||
|
||||
(defun org-skip-whitespace ()
|
||||
(skip-chars-forward " \t\n\r"))
|
||||
|
||||
(defun org-point-in-group (point group &optional context)
|
||||
"Check if POINT is in match-group GROUP.
|
||||
If CONTEXT is non-nil, return a list with CONTEXT and the boundaries of the
|
||||
|
@ -27101,6 +27378,20 @@ headline found, or nil if no higher level is found."
|
|||
(if (< level start-level) (throw 'exit level)))
|
||||
nil)))
|
||||
|
||||
(defun org-first-sibling-p ()
|
||||
"Is this heading the first child of its parents?"
|
||||
(interactive)
|
||||
(let ((re (concat "^" outline-regexp))
|
||||
level l)
|
||||
(unless (org-at-heading-p t)
|
||||
(error "Not at a heading"))
|
||||
(setq level (funcall outline-level))
|
||||
(save-excursion
|
||||
(if (not (re-search-backward re nil t))
|
||||
t
|
||||
(setq l (funcall outline-level))
|
||||
(< l level)))))
|
||||
|
||||
(defun org-goto-sibling (&optional previous)
|
||||
"Goto the next sibling, even if it is invisible.
|
||||
When PREVIOUS is set, go to the previous sibling instead. Returns t
|
||||
|
@ -27385,6 +27676,13 @@ Still experimental, may disappear in the future."
|
|||
;; make tree, check each match with the callback
|
||||
(org-occur "CLOSED: +\\[\\(.*?\\)\\]" nil callback)))
|
||||
|
||||
(defun org-first-list-item-p ()
|
||||
"Is this heading the item in a plain list?"
|
||||
(unless (org-at-item-p)
|
||||
(error "Not at a plain list item"))
|
||||
(org-beginning-of-item)
|
||||
(= (point) (save-excursion (org-beginning-of-item-list))))
|
||||
|
||||
;;;; Finish up
|
||||
|
||||
(provide 'org)
|
||||
|
|
364
org.texi
364
org.texi
|
@ -3,7 +3,7 @@
|
|||
@setfilename ../../info/org
|
||||
@settitle Org Mode Manual
|
||||
|
||||
@set VERSION 5.16a
|
||||
@set VERSION 5.17
|
||||
@set DATE December 2007
|
||||
|
||||
@dircategory Emacs
|
||||
|
@ -91,7 +91,7 @@ Software Foundation raise funds for GNU development.''
|
|||
* Miscellaneous:: All the rest which did not fit elsewhere
|
||||
* Extensions and Hacking:: It is possible to write add-on code
|
||||
* History and Acknowledgments:: How Org-mode came into being
|
||||
* Main Index::
|
||||
* Index:: The index
|
||||
* Key Index:: Key bindings and where they are described
|
||||
|
||||
@detailmenu
|
||||
|
@ -169,10 +169,10 @@ TODO items
|
|||
Extended use of TODO keywords
|
||||
|
||||
* Workflow states:: From TODO to DONE in steps
|
||||
* TODO types:: I do this, Fred the rest
|
||||
* TODO types:: I do this, Fred does the rest
|
||||
* Multiple sets in one file:: Mixing it all, and still finding your way
|
||||
* Fast access to TODO states:: Single letter selection of a state
|
||||
* Per file keywords:: Different files, different requirements
|
||||
* Per-file keywords:: Different files, different requirements
|
||||
* Faces for TODO keywords:: Highlighting states
|
||||
|
||||
Progress Logging
|
||||
|
@ -594,23 +594,22 @@ attach it to your bug report.
|
|||
@node Conventions, , Feedback, Introduction
|
||||
@section Typesetting conventions used in this manual
|
||||
|
||||
Org-mode has 3 types of keywords that are being used. TODO keywords,
|
||||
tags, and property names. For this manual we are using the following
|
||||
conventions:
|
||||
Org-mode uses three types of keywords: TODO keywords, tags, and property
|
||||
names. In this manual we use the following conventions:
|
||||
|
||||
@table @code
|
||||
@item TODO
|
||||
@itemx WAITING
|
||||
TODO keyword are written with all capitals, even if they are
|
||||
TODO keywords are written with all capitals, even if they are
|
||||
user-defined.
|
||||
@item boss
|
||||
@itemx ARCHIVE
|
||||
User-defined Tags are written in lowercase, built-in tags with special
|
||||
meaning a all-caps.
|
||||
User-defined tags are written in lowercase; built-in tags with special
|
||||
meaning are written with all capitals.
|
||||
@item Release
|
||||
@itemx PRIORITY
|
||||
User-defined properties are capitalized in all examples, while
|
||||
built-in properties with special meaning are all-caps.
|
||||
User-defined properties are capitalized; built-in properties with
|
||||
special meaning are written with all capitals.
|
||||
@end table
|
||||
|
||||
@node Document structure, Tables, Introduction, Top
|
||||
|
@ -740,8 +739,10 @@ Show all.
|
|||
@item C-c C-r
|
||||
Reveal context around point, showing the current entry, the following
|
||||
heading and the hierarchy above. Useful for working near a location
|
||||
exposed by a sparse tree command (@pxref{Sparse trees}) or an agenda
|
||||
command (@pxref{Agenda commands}). With prefix arg show, on each
|
||||
that has been exposed by a sparse tree command (@pxref{Sparse trees}) or
|
||||
an agenda command (@pxref{Agenda commands}). With prefix arg show, on
|
||||
each
|
||||
|
||||
level, all sibling headings.
|
||||
@kindex C-c C-x b
|
||||
@item C-c C-x b
|
||||
|
@ -1022,14 +1023,13 @@ location as the value (@pxref{Properties and columns}).
|
|||
@cindex occur, command
|
||||
|
||||
An important feature of Org-mode is the ability to construct
|
||||
@emph{sparse trees} for selected information in an outline tree. A
|
||||
sparse tree means that the entire document is folded as much as
|
||||
possible, but the selected information is made visible along with the
|
||||
headline structure above it@footnote{See also the variables
|
||||
@code{org-show-hierarchy-above}, @code{org-show-following-heading}, and
|
||||
@code{org-show-siblings} for detailed control on how much context is
|
||||
shown around each match.}. Just try it out and you will see immediately
|
||||
how it works.
|
||||
@emph{sparse trees} for selected information in an outline tree, so that
|
||||
the entire document is folded as much as possible, but the selected
|
||||
information is made visible along with the headline structure above
|
||||
it@footnote{See also the variables @code{org-show-hierarchy-above},
|
||||
@code{org-show-following-heading}, and @code{org-show-siblings} for
|
||||
detailed control on how much context is shown around each match.}. Just
|
||||
try it out and you will see immediately how it works.
|
||||
|
||||
Org-mode contains several commands creating such trees, all these
|
||||
commands can be accessed through a dispatcher:
|
||||
|
@ -1050,6 +1050,7 @@ when the buffer is changed by an editing command, or by pressing
|
|||
@kbd{C-c C-c}. When called with a @kbd{C-u} prefix argument, previous
|
||||
highlights are kept, so several calls to this command can be stacked.
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
For frequently used sparse trees of specific search strings, you can
|
||||
use the variable @code{org-agenda-custom-commands} to define fast
|
||||
|
@ -1088,7 +1089,7 @@ part of the document and print the resulting file.
|
|||
Within an entry of the outline tree, hand-formatted lists can provide
|
||||
additional structure. They also provide a way to create lists of
|
||||
checkboxes (@pxref{Checkboxes}). Org-mode supports editing such lists,
|
||||
and the HTML exporter (@pxref{Exporting}) does parse and format them.
|
||||
and the HTML exporter (@pxref{Exporting}) parses and formats them.
|
||||
|
||||
Org-mode knows ordered and unordered lists. Unordered list items start
|
||||
with @samp{-}, @samp{+}, or @samp{*}@footnote{When using @samp{*} as a
|
||||
|
@ -1096,8 +1097,9 @@ bullet, lines must be indented or they will be seen as top-level
|
|||
headlines. Also, when you are hiding leading stars to get a clean
|
||||
outline view, plain list items starting with a star are visually
|
||||
indistinguishable from true headlines. In short: even though @samp{*}
|
||||
is supported, it may be better not to use it for plain list items.} as
|
||||
bullets. Ordered list items start with @samp{1.} or @samp{1)}. Items
|
||||
is supported, it may be better to not use it for plain list items.} as
|
||||
bullets. Ordered list items start with a numeral followed by either a
|
||||
period or a right parenthesis, such as @samp{1.} or @samp{1)}. Items
|
||||
belonging to the same list must have the same indentation on the first
|
||||
line. In particular, if an ordered list reaches number @samp{10.}, then
|
||||
the 2--digit numbers must be written left-aligned with the other numbers
|
||||
|
@ -1181,9 +1183,9 @@ the command chain with a cursor motion or so.
|
|||
@kindex C-c C-c
|
||||
@item C-c C-c
|
||||
If there is a checkbox (@pxref{Checkboxes}) in the item line, toggle the
|
||||
state of the checkbox. If not, make this command makes sure that all
|
||||
the items on this list level use the same bullet. Furthermore, if this
|
||||
is an ordered list, make sure the numbering is ok.
|
||||
state of the checkbox. If not, this command makes sure that all the
|
||||
items on this list level use the same bullet. Furthermore, if this is
|
||||
an ordered list, make sure the numbering is ok.
|
||||
@kindex C-c -
|
||||
@item C-c -
|
||||
Cycle the entire list level through the different itemize/enumerate
|
||||
|
@ -1200,7 +1202,7 @@ Sometimes you want to keep information associated with an entry, but you
|
|||
normally don't want to see it. For this, Org-mode has @emph{drawers}.
|
||||
Drawers need to be configured with the variable
|
||||
@code{org-drawers}@footnote{You can define drawers on a per-file basis
|
||||
with a line like @code{#+DRAWERS: HIDDEN PROPPERTIES STATE}}, and
|
||||
with a line like @code{#+DRAWERS: HIDDEN PROPERTIES STATE}}. Drawers
|
||||
look like this:
|
||||
|
||||
@example
|
||||
|
@ -1246,9 +1248,16 @@ silently in the shadow.
|
|||
@cindex tables
|
||||
@cindex editing tables
|
||||
|
||||
Org-mode has a very fast and intuitive table editor built-in.
|
||||
Spreadsheet-like calculations are supported in connection with the
|
||||
Emacs @file{calc} package.
|
||||
Org-mode comes with a fast and intuitive table editor. Spreadsheet-like
|
||||
calculations are supported in connection with the Emacs @file{calc}
|
||||
package
|
||||
@ifinfo
|
||||
(@pxref{Calc,,,calc,Gnu Emacs Calculator Manual}).
|
||||
@end ifinfo
|
||||
@ifnotinfo
|
||||
(see the Emacs Calculator manual for more information about the Emacs
|
||||
calculator).
|
||||
@end ifnotinfo
|
||||
|
||||
@menu
|
||||
* Built-in table editor:: Simple tables
|
||||
|
@ -2145,8 +2154,8 @@ series of degree @code{n} at location @code{x} for a couple of functions
|
|||
@chapter Hyperlinks
|
||||
@cindex hyperlinks
|
||||
|
||||
Just like HTML, Org-mode provides links inside a file, and external
|
||||
links to other files, Usenet articles, emails, and much more.
|
||||
Like HTML, Org-mode provides links inside a file, external links to
|
||||
other files, Usenet articles, emails, and much more.
|
||||
|
||||
@menu
|
||||
* Link format:: How links in Org-mode are formatted
|
||||
|
@ -2600,16 +2609,16 @@ file.
|
|||
@chapter TODO items
|
||||
@cindex TODO items
|
||||
|
||||
Org-mode does not maintain TODO lists as a separate document. TODO
|
||||
items are an integral part of the notes file, because TODO items
|
||||
usually come up while taking notes! With Org-mode, you simply mark
|
||||
any entry in a tree as being a TODO item. In this way, the
|
||||
information is not duplicated, and the entire context from which the
|
||||
item emerged is always present when you check.
|
||||
Org-mode does not maintain TODO lists as separate documents. Instead,
|
||||
TODO items are an integral part of the notes file, because TODO items
|
||||
usually come up while taking notes! With Org-mode, simply mark any
|
||||
entry in a tree as being a TODO item. In this way, information is not
|
||||
duplicated, and the entire context from which the TODO item emerged is
|
||||
always present.
|
||||
|
||||
Of course, this technique causes TODO items to be scattered throughout
|
||||
your file. Org-mode provides methods to give you an overview over all
|
||||
things you have to do.
|
||||
Of course, this technique for managing TODO items scatters them
|
||||
throughout your notes file. Org-mode compensates for this by providing
|
||||
methods to give you an overview of all the things that you have to do.
|
||||
|
||||
@menu
|
||||
* TODO basics:: Marking and displaying TODO entries
|
||||
|
@ -2623,8 +2632,8 @@ things you have to do.
|
|||
@node TODO basics, TODO extensions, TODO items, TODO items
|
||||
@section Basic TODO functionality
|
||||
|
||||
Any headline can become a TODO item by starting it with the word TODO,
|
||||
for example:
|
||||
Any headline becomes a TODO item when it starts with the word
|
||||
@samp{TODO}, for example:
|
||||
|
||||
@example
|
||||
*** TODO Write letter to Sam Fortune
|
||||
|
@ -2649,24 +2658,24 @@ agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}).
|
|||
|
||||
@kindex C-u C-c C-t
|
||||
@item C-u C-c C-t
|
||||
Select a specific keyword using completion of (if it has been set up)
|
||||
Select a specific keyword using completion or (if it has been set up)
|
||||
the fast selection interface.
|
||||
|
||||
@kindex S-@key{right}
|
||||
@kindex S-@key{left}
|
||||
@item S-@key{right}
|
||||
@itemx S-@key{left}
|
||||
Select the following/preceding TODO state, similar to cycling. Mostly
|
||||
useful if more than two TODO states are possible (@pxref{TODO
|
||||
Select the following/preceding TODO state, similar to cycling. Useful
|
||||
mostly if more than two TODO states are possible (@pxref{TODO
|
||||
extensions}).
|
||||
@kindex C-c C-c
|
||||
@item C-c C-c
|
||||
Use the fast tag interface to quickly and directly select a specific
|
||||
TODO state. For this you need to assign keys to TODO state, like this:
|
||||
Use the fast tag interface to directly select a specific TODO state.
|
||||
For this you need to assign keys to TODO states, like this:
|
||||
@example
|
||||
#+SEQ_TODO: TODO(t) STARTED(s) WAITING(w) | DONE(d)
|
||||
@end example
|
||||
@noindent See @ref{Per file keywords} and @ref{Setting tags} for more
|
||||
@noindent See @ref{Per-file keywords} and @ref{Setting tags} for more
|
||||
information.
|
||||
@kindex C-c C-v
|
||||
@kindex C-c / t
|
||||
|
@ -2682,11 +2691,11 @@ Nth keyword in the variable @code{org-todo-keywords}. With two prefix
|
|||
args, find all TODO and DONE entries.
|
||||
@kindex C-c a t
|
||||
@item C-c a t
|
||||
Show the global TODO list. This collects the TODO items from all
|
||||
agenda files (@pxref{Agenda views}) into a single buffer. The buffer is in
|
||||
@code{agenda-mode}, so there are commands to examine and manipulate
|
||||
the TODO entries directly from that buffer (@pxref{Agenda commands}).
|
||||
@xref{Global TODO list}, for more information.
|
||||
Show the global TODO list. Collects the TODO items from all agenda
|
||||
files (@pxref{Agenda views}) into a single buffer. The new buffer will
|
||||
be in @code{agenda-mode}, which provides commands to examine and
|
||||
manipulate the TODO entries from the new buffer (@pxref{Agenda
|
||||
commands}). @xref{Global TODO list}, for more information.
|
||||
@kindex S-M-@key{RET}
|
||||
@item S-M-@key{RET}
|
||||
Insert a new TODO entry below the current one.
|
||||
|
@ -2696,20 +2705,21 @@ Insert a new TODO entry below the current one.
|
|||
@section Extended use of TODO keywords
|
||||
@cindex extended TODO keywords
|
||||
|
||||
The default implementation of TODO entries is just two states: TODO and
|
||||
DONE. You can use the TODO feature for more complicated things by
|
||||
configuring the variable @code{org-todo-keywords}. With special setup,
|
||||
the TODO keyword system can work differently in different files.
|
||||
By default, marked TODO entries have one of only two states: TODO and
|
||||
DONE. Org-mode allows you to classify TODO items in more complex ways
|
||||
with @emph{TODO keywords} (stored in @code{org-todo-keywords}). With
|
||||
special setup, the TODO keyword system can work differently in different
|
||||
files.
|
||||
|
||||
Note that @i{tags} are another way to classify headlines in general and
|
||||
TODO items in particular (@pxref{Tags}).
|
||||
|
||||
@menu
|
||||
* Workflow states:: From TODO to DONE in steps
|
||||
* TODO types:: I do this, Fred the rest
|
||||
* TODO types:: I do this, Fred does the rest
|
||||
* Multiple sets in one file:: Mixing it all, and still finding your way
|
||||
* Fast access to TODO states:: Single letter selection of a state
|
||||
* Per file keywords:: Different files, different requirements
|
||||
* Per-file keywords:: Different files, different requirements
|
||||
* Faces for TODO keywords:: Highlighting states
|
||||
@end menu
|
||||
|
||||
|
@ -2818,7 +2828,7 @@ These keys jump from one TODO subset to the next. In the above example,
|
|||
would switch from @code{DONE} to @code{REPORT} in the example above.
|
||||
@end table
|
||||
|
||||
@node Fast access to TODO states, Per file keywords, Multiple sets in one file, TODO extensions
|
||||
@node Fast access to TODO states, Per-file keywords, Multiple sets in one file, TODO extensions
|
||||
@subsection Fast access to TODO states
|
||||
|
||||
If you would like to quickly change an entry to an arbitrary TODO state
|
||||
|
@ -2842,10 +2852,10 @@ the default. Check also the variable
|
|||
@code{org-fast-tag-selection-include-todo}, it allows to change the TODO
|
||||
state through the tags interface (@pxref{Setting tags}).
|
||||
|
||||
@node Per file keywords, Faces for TODO keywords, Fast access to TODO states, TODO extensions
|
||||
@node Per-file keywords, Faces for TODO keywords, Fast access to TODO states, TODO extensions
|
||||
@subsection Setting up keywords for individual files
|
||||
@cindex keyword options
|
||||
@cindex per file keywords
|
||||
@cindex per-file keywords
|
||||
|
||||
It can be very useful to use different aspects of the TODO mechanism in
|
||||
different files. For file-local settings, you need to add special lines
|
||||
|
@ -2885,7 +2895,7 @@ Org-mode is activated after visiting a file. @kbd{C-c C-c} with the
|
|||
cursor in a line starting with @samp{#+} is simply restarting Org-mode
|
||||
for the current buffer.}.
|
||||
|
||||
@node Faces for TODO keywords, , Per file keywords, TODO extensions
|
||||
@node Faces for TODO keywords, , Per-file keywords, TODO extensions
|
||||
@subsection Faces for TODO keywords
|
||||
@cindex faces, for TODO keywords
|
||||
|
||||
|
@ -2985,20 +2995,24 @@ states with an additional @samp{@@}, like this:
|
|||
@section Priorities
|
||||
@cindex priorities
|
||||
|
||||
If you use Org-mode extensively to organize your work, you may end up
|
||||
with a number of TODO entries so large that you'd like to prioritize
|
||||
them. This can be done by placing a @emph{priority cookie} into the
|
||||
headline, like this
|
||||
If you use Org-mode extensively, you may end up enough TODO items that
|
||||
it starts to make sense to prioritize them. Prioritizing can be done by
|
||||
placing a @emph{priority cookie} into the headline of a TODO item, like
|
||||
this
|
||||
|
||||
@example
|
||||
*** TODO [#A] Write letter to Sam Fortune
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
With its standard setup, Org-mode supports priorities @samp{A},
|
||||
@samp{B}, and @samp{C}. @samp{A} is the highest priority. An entry
|
||||
without a cookie is treated as priority @samp{B}. Priorities make a
|
||||
difference only in the agenda (@pxref{Weekly/Daily agenda}).
|
||||
By default, Org-mode supports three priorities: @samp{A}, @samp{B}, and
|
||||
@samp{C}. @samp{A} is the highest priority. An entry without a cookie
|
||||
is treated as priority @samp{B}. Priorities make a difference only in
|
||||
the agenda (@pxref{Weekly/Daily agenda}); outside the agenda, they have
|
||||
no inherent meaning to Org-mode.
|
||||
|
||||
Priorities can be attached to any outline tree entries; they do not need
|
||||
to be TODO items.
|
||||
|
||||
@table @kbd
|
||||
@kindex @kbd{C-c ,}
|
||||
|
@ -3047,13 +3061,15 @@ of checkboxes to identify (a hierarchy of) a large number of subtasks
|
|||
@section Checkboxes
|
||||
@cindex checkboxes
|
||||
|
||||
Every item in a plain list (@pxref{Plain lists}) can be made a checkbox
|
||||
by starting it with the string @samp{[ ]}. This feature is similar to
|
||||
TODO items (@pxref{TODO items}), but more lightweight. Checkboxes are
|
||||
not included into the global TODO list, so they are often great to split
|
||||
a task into a number of simple steps. Or you can use them in a shopping
|
||||
list. To toggle a checkbox, use @kbd{C-c C-c}, or try Piotr Zielinski's
|
||||
@file{org-mouse.el}. Here is an example of a checkbox list.
|
||||
Every item in a plain list (@pxref{Plain lists}) can be made into a
|
||||
checkbox by starting it with the string @samp{[ ]}. This feature is
|
||||
similar to TODO items (@pxref{TODO items}), but is more lightweight.
|
||||
Checkboxes are not included into the global TODO list, so they are often
|
||||
great to split a task into a number of simple steps. Or you can use
|
||||
them in a shopping list. To toggle a checkbox, use @kbd{C-c C-c}, or
|
||||
use the mouse (thanks to Piotr Zielinski's @file{org-mouse.el}).
|
||||
|
||||
Here is an example of a checkbox list.
|
||||
|
||||
@example
|
||||
* TODO Organize party [3/6]
|
||||
|
@ -3069,16 +3085,17 @@ list. To toggle a checkbox, use @kbd{C-c C-c}, or try Piotr Zielinski's
|
|||
@cindex statistics, for checkboxes
|
||||
@cindex checkbox statistics
|
||||
The @samp{[3/6]} and @samp{[1/3]} in the first and second line are
|
||||
cookies indicating how many checkboxes are present in this entry, and
|
||||
how many of them have been checked off. This can give you an idea on
|
||||
how many checkboxes remain, even without opening a folded entry. The
|
||||
cookies can be placed into a headline or into (the first line of) a
|
||||
plain list item. Each cookie covers all checkboxes structurally below
|
||||
that headline/item. You have to insert the cookie yourself by typing
|
||||
either @samp{[/]} or @samp{[%]}. In the first case you get an @samp{n
|
||||
out of m} result, in the second case you get information about the
|
||||
cookies indicating how many checkboxes present in this entry have been
|
||||
checked off, and the total number of checkboxes are present. This can
|
||||
give you an idea on how many checkboxes remain, even without opening a
|
||||
folded entry. The cookies can be placed into a headline or into (the
|
||||
first line of) a plain list item. Each cookie covers all checkboxes
|
||||
structurally below the headline/item on which the cookie appear. You
|
||||
have to insert the cookie yourself by typing either @samp{[/]} or
|
||||
@samp{[%]}. With @samp{[/]} you get an @samp{n out of m} result, as in
|
||||
the examples above. With @samp{[%]} you get information about the
|
||||
percentage of checkboxes checked (in the above example, this would be
|
||||
@samp{[50%]} and @samp{[33%], respectively}).
|
||||
@samp{[50%]} and @samp{[33%]}, respectively).
|
||||
|
||||
@noindent The following commands work with checkboxes:
|
||||
|
||||
|
@ -3117,7 +3134,6 @@ delete boxes or add/change them by hand, use this command to get things
|
|||
back into synch. Or simply toggle any checkbox twice with @kbd{C-c C-c}.
|
||||
@end table
|
||||
|
||||
|
||||
@node Tags, Properties and columns, TODO items, Top
|
||||
@chapter Tags
|
||||
@cindex tags
|
||||
|
@ -3125,14 +3141,15 @@ back into synch. Or simply toggle any checkbox twice with @kbd{C-c C-c}.
|
|||
@cindex matching, tags
|
||||
@cindex sparse tree, tag based
|
||||
|
||||
If you wish to implement a system of labels and contexts for
|
||||
cross-correlating information, an excellent way is to assign @i{tags} to
|
||||
headlines. Org-mode has extensive support for using tags.
|
||||
An excellent way to implement labels and contexts for cross-correlating
|
||||
information is to assign @i{tags} to headlines. Org-mode has extensive
|
||||
support for tags.
|
||||
|
||||
Every headline can contain a list of tags, at the end of the headline.
|
||||
Tags are normal words containing letters, numbers, @samp{_}, and
|
||||
@samp{@@}. Tags must be preceded and followed by a single colon; like
|
||||
@samp{:WORK:}. Several tags can be specified like @samp{:work:URGENT:}.
|
||||
Every headline can contain a list of tags; they occur at the end of the
|
||||
headline. Tags are normal words containing letters, numbers, @samp{_},
|
||||
and @samp{@@}. Tags must be preceded and followed by a single colon,
|
||||
e.g., @samp{:WORK:}. Several tags can be specified, as in
|
||||
@samp{:work:URGENT:}.
|
||||
|
||||
@menu
|
||||
* Tag inheritance:: Tags use the tree structure of the outline
|
||||
|
@ -3158,13 +3175,14 @@ well. For example, in the list
|
|||
|
||||
@noindent
|
||||
the final heading will have the tags @samp{:work:}, @samp{:boss:},
|
||||
@samp{:notes:}, and @samp{:action:}. When executing tag searches and
|
||||
@samp{:notes:}, and @samp{:action:} even though the final heading is not
|
||||
explicitly marked with those tags. When executing tag searches and
|
||||
Org-mode finds that a certain headline matches the search criterion, it
|
||||
will not check any sublevel headline, assuming that these likely also
|
||||
match, and that the list of matches can become very long. This may
|
||||
not be what you want, however, and you can influence inheritance and
|
||||
searching using the variables @code{org-use-tag-inheritance} and
|
||||
@code{org-tags-match-list-sublevels}.
|
||||
will not check any sublevel headline, assuming that these also match and
|
||||
that the list of matches could become very long because of that. If you
|
||||
do want the subevels be tested and listed as well, you may set the
|
||||
variable @code{org-tags-match-list-sublevels}. To turn off tag
|
||||
inheritance entirely, use the variable @code{org-use-tag-inheritance}.
|
||||
|
||||
@node Setting tags, Tag searches, Tag inheritance, Tags
|
||||
@section Setting tags
|
||||
|
@ -3202,7 +3220,7 @@ the default tags for a given file with lines like
|
|||
|
||||
If you have globally defined your preferred set of tags using the
|
||||
variable @code{org-tag-alist}, but would like to use a dynamic tag list
|
||||
in a specific file: Just add an empty TAGS option line to that file:
|
||||
in a specific file, add an empty TAGS option line to that file:
|
||||
|
||||
@example
|
||||
#+TAGS:
|
||||
|
@ -3301,7 +3319,7 @@ when you press an extra @kbd{C-c}.
|
|||
@cindex tag searches
|
||||
@cindex searching for tags
|
||||
|
||||
Once a tags system has been set up, it can be used to collect related
|
||||
Once a system of tags has been set up, it can be used to collect related
|
||||
information into special lists.
|
||||
|
||||
@table @kbd
|
||||
|
@ -3385,6 +3403,25 @@ tag @samp{boss} and are @emph{not} marked with the todo keyword DONE.
|
|||
|
||||
Properties are a set of key-value pairs associated with an entry. There
|
||||
are two main applications for properties in Org-mode. First, properties
|
||||
are like tags, but with a value. Second, you can use properties to
|
||||
implement (very basic) database capabilities in an Org-mode buffer. For
|
||||
an example of the first application, imagine maintaining a file where
|
||||
you document bugs and plan releases of a piece of software. Instead of
|
||||
using tags like @code{:release_1:}, @code{:release_2:}, one can use a
|
||||
property, say @code{Release}, that in different subtrees has different
|
||||
values, such as @code{1.0} or @code{2.0}. For an example of the second
|
||||
application of properties, imagine keeping track of one's music CD's,
|
||||
where properties could be things such as the album artist, date of
|
||||
release, number of tracks, and so on.
|
||||
|
||||
Properties can be conveiently edited and viewed in column view
|
||||
(@pxref{Column view}).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
are like tags, but with a value. For example, in a file where you
|
||||
document bugs and plan releases of a piece of software, instead of using
|
||||
tags like @code{:release_1:}, @code{:release_2:}, it can be more
|
||||
|
@ -3826,10 +3863,10 @@ property API}.
|
|||
@cindex time stamps
|
||||
@cindex date stamps
|
||||
|
||||
Items can be labeled with a date and/or a time to make them useful for
|
||||
project planning. The specially formatted string carrying the date and
|
||||
time information is called a @emph{timestamp} in Org-mode. This may be
|
||||
a little confusing because timestamp is often used as indicating when
|
||||
To assist project planning, TODO items can be labeled with a date and/or
|
||||
a time. The specially formatted string carrying the date and time
|
||||
information is called a @emph{timestamp} in Org-mode. This may be a
|
||||
little confusing because timestamp is often used as indicating when
|
||||
something was created or last changed. However, in Org-mode this term
|
||||
is used in a much wider sense.
|
||||
|
||||
|
@ -3852,10 +3889,10 @@ is used in a much wider sense.
|
|||
A time stamp is a specification of a date (possibly with time or a range
|
||||
of times) in a special format, either @samp{<2003-09-16 Tue>} or
|
||||
@samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16 Tue
|
||||
12:00-12:30>}@footnote{This is the standard ISO date/time format. If
|
||||
you cannot get used to these, see @ref{Custom time format}}. A time
|
||||
stamp can appear anywhere in the headline or body of an org-tree entry.
|
||||
Its presence causes entries to be shown on specific dates in the agenda
|
||||
12:00-12:30>}@footnote{This is the standard ISO date/time format. To
|
||||
use an alternative format, see @ref{Custom time format}.}. A time stamp
|
||||
can appear anywhere in the headline or body of an org-tree entry. Its
|
||||
presence causes entries to be shown on specific dates in the agenda
|
||||
(@pxref{Weekly/Daily agenda}). We distinguish:
|
||||
|
||||
@table @var
|
||||
|
@ -4131,17 +4168,20 @@ format is shorter, things do work as expected.
|
|||
@node Deadlines and scheduling, Clocking work time, Creating timestamps, Dates and times
|
||||
@section Deadlines and Scheduling
|
||||
|
||||
A time stamp may be preceded by special keywords to facilitate planning
|
||||
of work:
|
||||
A time stamp may be preceded by special keywords to facilitate planning:
|
||||
|
||||
@table @var
|
||||
@item DEADLINE
|
||||
@cindex DEADLINE keyword
|
||||
The task (most likely a TODO item) is supposed to be finished on that
|
||||
date, and it will be listed then. In addition, the compilation for
|
||||
@emph{today} will carry a warning about the approaching or missed
|
||||
deadline, starting @code{org-deadline-warning-days} before the due date,
|
||||
and continuing until the entry is marked DONE. An example:
|
||||
|
||||
Meaning: the task (most likely a TODO item, though not necessarily) is supposed
|
||||
to be finished on that date.
|
||||
|
||||
On the deadline date, the task will be listed in the agenda. In
|
||||
addition, the agenda for @emph{today} will carry a warning about the
|
||||
approaching or missed deadline, starting
|
||||
@code{org-deadline-warning-days} before the due date, and continuing
|
||||
until the entry is marked DONE. An example:
|
||||
|
||||
@example
|
||||
*** TODO write article about the Earth for the Guide
|
||||
|
@ -4155,9 +4195,12 @@ period of 5 days @code{DEADLINE: <2004-02-29 Sun -5d>}.
|
|||
|
||||
@item SCHEDULED
|
||||
@cindex SCHEDULED keyword
|
||||
You are planning to start working on that task on the given date. The
|
||||
headline will be listed under the given date@footnote{It will still be
|
||||
listed on that date after it has been marked DONE. If you don't like
|
||||
|
||||
Meaning: you are planning to start working on that task on the given
|
||||
date.
|
||||
|
||||
The headline will be listed under the given date@footnote{It will still
|
||||
be listed on that date after it has been marked DONE. If you don't like
|
||||
this, set the variable @code{org-agenda-skip-scheduled-if-done}.}. In
|
||||
addition, a reminder that the scheduled date has passed will be present
|
||||
in the compilation for @emph{today}, until the entry is marked DONE.
|
||||
|
@ -4170,12 +4213,12 @@ I.e., the task will automatically be forwarded until completed.
|
|||
|
||||
@noindent
|
||||
@b{Important:} Scheduling an item in Org-mode should @i{not} be
|
||||
understood like @i{Scheduling a meeting}. Setting a date for a meeting
|
||||
is just a simple appointment, you should mark this entry with a simple
|
||||
plain time stamp, to get this item shown on the date where it applies.
|
||||
This is a frequent mis-understanding from Org-users. In Org-mode,
|
||||
@i{Scheduling} means setting a date when you want to start working on an
|
||||
action item.
|
||||
understood in the same way that we understand @i{scheduling a meeting}.
|
||||
Setting a date for a meeting is just a simple appointment, you should
|
||||
mark this entry with a simple plain time stamp, to get this item shown
|
||||
on the date where it applies. This is a frequent mis-understanding from
|
||||
Org-users. In Org-mode, @i{scheduling} means setting a date when you
|
||||
want to start working on an action item.
|
||||
@end table
|
||||
|
||||
@menu
|
||||
|
@ -4218,13 +4261,16 @@ the scheduling date from the entry.
|
|||
@node Repeated tasks, , Inserting deadline/schedule, Deadlines and scheduling
|
||||
@subsection Repeated Tasks
|
||||
|
||||
Some tasks need to be repeated again and again, and Org-mode therefore
|
||||
allows to use a repeater in a DEADLINE or SCHEDULED time stamp, for
|
||||
example:
|
||||
Some tasks need to be repeated again and again. Org-mode helps to
|
||||
organize such tasks using a so-called repeater in a DEADLINE or
|
||||
SCHEDULED time stamp. In the following example
|
||||
@example
|
||||
** TODO Pay the rent
|
||||
DEADLINE: <2005-10-01 Sat +1m>
|
||||
@end example
|
||||
the @code{+1m} is a repeater; the intended interpretation is that the
|
||||
task has a deadline on <2005-10-01> and repeats itself every (one) month
|
||||
starting from that time.
|
||||
|
||||
Deadlines and scheduled items produce entries in the agenda when they
|
||||
are over-due, so it is important to be able to mark such an entry as
|
||||
|
@ -4453,6 +4499,9 @@ During expansion of the template, special @kbd{%}-escapes allow dynamic
|
|||
insertion of content:
|
||||
@example
|
||||
%^@{prompt@} @r{prompt the user for a string and replace this sequence with it.}
|
||||
@r{You may specify a default value and a completion table with}
|
||||
@r{%^@{prompt|default|completion2|completion3...@}}
|
||||
@r{The arrow keys access a prompt-specific history.}
|
||||
%t @r{time stamp, date only}
|
||||
%T @r{time stamp with date and time}
|
||||
%u, %U @r{like the above, but inactive time stamps}
|
||||
|
@ -4469,6 +4518,8 @@ insertion of content:
|
|||
%:keyword @r{specific information for certain link types, see below}
|
||||
%[pathname] @r{insert the contents of the file given by @code{pathname}}
|
||||
%(sexp) @r{evaluate elisp @code{(sexp)} and replace with the result}
|
||||
%! @r{immediately store note after completing the template}
|
||||
@r{(skipping the @kbd{C-c C-c} that normally triggers storing)}
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
|
@ -4507,11 +4558,11 @@ template that will be filled with the previous context information.
|
|||
@node Storing notes, Refiling notes, Remember templates, Remember
|
||||
@section Storing notes
|
||||
|
||||
When you are finished preparing a note with @i{remember}, you have to press
|
||||
@kbd{C-c C-c} to file the note away. The handler will store the note in
|
||||
the file and under the headline specified in the template, or it will
|
||||
use the default file and headlines. The window configuration will be
|
||||
restored, and you are back in the working context before the call to
|
||||
When you are finished preparing a note with @i{remember}, you have to
|
||||
press @kbd{C-c C-c} to file the note away. The handler will store the
|
||||
note in the file and under the headline specified in the template, or it
|
||||
will use the default file and headlines. The window configuration will
|
||||
be restored, sending you back to the working context before the call to
|
||||
@code{remember}. To re-use the location found during the last call to
|
||||
@code{remember}, exit the remember buffer with @kbd{C-u C-u C-c C-c},
|
||||
i.e. specify a double prefix argument to @kbd{C-c C-c}.
|
||||
|
@ -4589,8 +4640,8 @@ argument (@kbd{C-u C-u}) to this command.
|
|||
|
||||
Due to the way Org-mode works, TODO items, time-stamped items, and
|
||||
tagged headlines can be scattered throughout a file or even a number of
|
||||
files. To get an overview over open action items, or over events that
|
||||
are important for a particular date, this information must be collected,
|
||||
files. To get an overview of open action items, or of events that are
|
||||
important for a particular date, this information must be collected,
|
||||
sorted and displayed in an organized way.
|
||||
|
||||
Org-mode can select items based on various criteria, and display them
|
||||
|
@ -7475,18 +7526,17 @@ org-convert-to-oddeven-levels}.
|
|||
@section Using org-mode on a tty
|
||||
@cindex tty keybindings
|
||||
|
||||
Org-mode uses a number of keys that are not accessible on a tty. This
|
||||
applies to most special keys like cursor keys, @key{TAB} and
|
||||
@key{RET}, when these are combined with modifier keys like @key{Meta}
|
||||
and/or @key{Shift}. Org-mode uses these bindings because it needs to
|
||||
provide keys for a large number of commands, and because these keys
|
||||
appeared particularly easy to remember. In order to still be able to
|
||||
access the core functionality of Org-mode on a tty, alternative
|
||||
bindings are provided. Here is a complete list of these bindings,
|
||||
which are obviously more cumbersome to use. Note that sometimes a
|
||||
work-around can be better. For example changing a time stamp is
|
||||
really only fun with @kbd{S-@key{cursor}} keys. On a tty you would
|
||||
rather use @kbd{C-c .} to re-insert the timestamp.
|
||||
Because Org-mode contains a large number of commands, by default much of
|
||||
Org-mode's core commands are bound to keys that are generally not
|
||||
accessible on a tty, such as the cursor keys (@key{left}, @key{right},
|
||||
@key{up}, @key{down}), @key{TAB} and @key{RET}, in particular when used
|
||||
together with modifiers like @key{Meta} and/or @key{Shift}. To access
|
||||
these commands on a tty when special keys are unavailable, the following
|
||||
alternative bindings can be used. The tty bindings below will likely be
|
||||
more cumbersome; you may find for some of the bindings below that a
|
||||
customized work-around suits you better. For example, changing a time
|
||||
stamp is really only fun with @kbd{S-@key{cursor}} keys, whereas on a
|
||||
tty you would rather use @kbd{C-c .} to re-insert the timestamp.
|
||||
|
||||
@multitable @columnfractions 0.15 0.2 0.2
|
||||
@item @b{Default} @tab @b{Alternative 1} @tab @b{Alternative 2}
|
||||
|
@ -7753,7 +7803,7 @@ Translates Org-mode files into something readable by
|
|||
Remind. @url{http://www.cognition.ens.fr/~guerry/u/org2rem.el}.
|
||||
@item @file{org-toc.el} by Bastien Guerry
|
||||
Produces a simple table of contents of an Org-mode file, for easy
|
||||
navigation. @url{http://www.cognition.ens.fr/~guerry/u/org2rem.el}.
|
||||
navigation. @url{http://www.cognition.ens.fr/~guerry/u/org-registry.el}.
|
||||
@item @file{org-registry.el} by Bastien Guerry
|
||||
Find which Org-file link to a certain document.
|
||||
@url{http://www.cognition.ens.fr/~guerry/u/org2rem.el}.
|
||||
|
@ -8357,7 +8407,7 @@ Get all property keys in the current buffer.
|
|||
Insert a property drawer at point.
|
||||
@end defun
|
||||
|
||||
@node History and Acknowledgments, Main Index, Extensions and Hacking, Top
|
||||
@node History and Acknowledgments, Index, Extensions and Hacking, Top
|
||||
@appendix History and Acknowledgments
|
||||
@cindex acknowledgments
|
||||
@cindex history
|
||||
|
@ -8532,12 +8582,12 @@ and contributed various ideas and code snippets.
|
|||
@end itemize
|
||||
|
||||
|
||||
@node Main Index, Key Index, History and Acknowledgments, Top
|
||||
@unnumbered Main Index
|
||||
@node Index, Key Index, History and Acknowledgments, Top
|
||||
@unnumbered The Main Index
|
||||
|
||||
@printindex cp
|
||||
|
||||
@node Key Index, , Main Index, Top
|
||||
@node Key Index, , Index, Top
|
||||
@unnumbered Key Index
|
||||
|
||||
@printindex ky
|
||||
|
|
BIN
orgcard.pdf
BIN
orgcard.pdf
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
% Reference Card for Org Mode
|
||||
\def\orgversionnumber{5.16a}
|
||||
\def\orgversionnumber{5.17}
|
||||
\def\versionyear{2007} % latest update
|
||||
\def\year{2007} % latest copyright year
|
||||
|
||||
|
|
Loading…
Reference in New Issue