Release 4.61
This commit is contained in:
parent
09ce054931
commit
38745a43c9
463
org
463
org
|
@ -5,7 +5,7 @@ START-INFO-DIR-ENTRY
|
||||||
* Org Mode: (org). outline-based notes management and organizer
|
* Org Mode: (org). outline-based notes management and organizer
|
||||||
END-INFO-DIR-ENTRY
|
END-INFO-DIR-ENTRY
|
||||||
|
|
||||||
This manual is for Org-mode (version 4.60).
|
This manual is for Org-mode (version 4.61).
|
||||||
|
|
||||||
Copyright (C) 2004, 2005, 2006 Free Software Foundation
|
Copyright (C) 2004, 2005, 2006 Free Software Foundation
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ File: org, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
|
||||||
Org Mode Manual
|
Org Mode Manual
|
||||||
***************
|
***************
|
||||||
|
|
||||||
This manual is for Org-mode (version 4.60).
|
This manual is for Org-mode (version 4.61).
|
||||||
|
|
||||||
Copyright (C) 2004, 2005, 2006 Free Software Foundation
|
Copyright (C) 2004, 2005, 2006 Free Software Foundation
|
||||||
|
|
||||||
|
@ -140,6 +140,7 @@ Timestamps
|
||||||
* Time stamps:: Assigning a time to a tree entry
|
* Time stamps:: Assigning a time to a tree entry
|
||||||
* Creating timestamps:: Commands which insert timestamps
|
* Creating timestamps:: Commands which insert timestamps
|
||||||
* Custom time format:: If you cannot work with the ISO format
|
* Custom time format:: If you cannot work with the ISO format
|
||||||
|
* Repeating items::
|
||||||
* Progress logging:: Documenting when what work was done.
|
* Progress logging:: Documenting when what work was done.
|
||||||
|
|
||||||
Creating timestamps
|
Creating timestamps
|
||||||
|
@ -748,11 +749,11 @@ Once an entire project is finished, you may want to move it to a
|
||||||
different location, either in the current file, or even in a different
|
different location, either in the current file, or even in a different
|
||||||
file, the archive file.
|
file, the archive file.
|
||||||
|
|
||||||
`C-c $'
|
`C-c C-x C-s'
|
||||||
Archive the subtree starting at the cursor position to the location
|
Archive the subtree starting at the cursor position to the location
|
||||||
given by `org-archive-location'.
|
given by `org-archive-location'.
|
||||||
|
|
||||||
`C-u C-c $'
|
`C-u C-c C-x C-s'
|
||||||
Check if any direct children of the current headline could be
|
Check if any direct children of the current headline could be
|
||||||
moved to the archive. To do this, each subtree is checked for
|
moved to the archive. To do this, each subtree is checked for
|
||||||
open TODO entries. If none are found, the command offers to move
|
open TODO entries. If none are found, the command offers to move
|
||||||
|
@ -763,6 +764,13 @@ file, the archive file.
|
||||||
current file, with the name derived by appending `_archive' to the
|
current file, with the name derived by appending `_archive' to the
|
||||||
current file name. For information and examples on how to change this,
|
current file name. For information and examples on how to change this,
|
||||||
see the documentation string of the variable `org-archive-location'.
|
see the documentation string of the variable `org-archive-location'.
|
||||||
|
There is also an in-buffer option for setting this variable, for example
|
||||||
|
|
||||||
|
#+ARCHIVE: %s_done::
|
||||||
|
|
||||||
|
You may have several such lines in the buffer, they will then be valid
|
||||||
|
for the entries following the line (the first will also apply to any
|
||||||
|
text before it).
|
||||||
|
|
||||||
|
|
||||||
File: org, Node: Sparse trees, Next: Plain lists, Prev: Archiving, Up: Document structure
|
File: org, Node: Sparse trees, Next: Plain lists, Prev: Archiving, Up: Document structure
|
||||||
|
@ -1084,7 +1092,8 @@ Calculations
|
||||||
|
|
||||||
`C-c ''
|
`C-c ''
|
||||||
Edit all formulas associated with the current table in a separate
|
Edit all formulas associated with the current table in a separate
|
||||||
buffer.
|
buffer. Use `C-u C-u C-c =' to edit the formula directly in the
|
||||||
|
current field, to allow checking complex references with `C-c ?'.
|
||||||
|
|
||||||
`C-c *'
|
`C-c *'
|
||||||
Recalculate the current row by applying the stored formulas from
|
Recalculate the current row by applying the stored formulas from
|
||||||
|
@ -1100,8 +1109,9 @@ Calculations
|
||||||
marks in the region.
|
marks in the region.
|
||||||
|
|
||||||
`C-c ?'
|
`C-c ?'
|
||||||
Which table column is the cursor in? Displays number >0 in echo
|
Display line and column number of current field in echo area. If
|
||||||
area.
|
the cursor is currently editing a formula, the field or range
|
||||||
|
referenced by the expression at point will be highlighted.
|
||||||
|
|
||||||
`C-c +'
|
`C-c +'
|
||||||
Sum the numbers in the current column, or in the rectangle defined
|
Sum the numbers in the current column, or in the rectangle defined
|
||||||
|
@ -2311,6 +2321,7 @@ planning.
|
||||||
* Time stamps:: Assigning a time to a tree entry
|
* Time stamps:: Assigning a time to a tree entry
|
||||||
* Creating timestamps:: Commands which insert timestamps
|
* Creating timestamps:: Commands which insert timestamps
|
||||||
* Custom time format:: If you cannot work with the ISO format
|
* Custom time format:: If you cannot work with the ISO format
|
||||||
|
* Repeating items:: Deadlines that come back again and again
|
||||||
* Progress logging:: Documenting when what work was done.
|
* Progress logging:: Documenting when what work was done.
|
||||||
|
|
||||||
|
|
||||||
|
@ -2540,7 +2551,7 @@ can control the calendar fully from the minibuffer:
|
||||||
`org-popup-calendar-for-date-prompt'.
|
`org-popup-calendar-for-date-prompt'.
|
||||||
|
|
||||||
|
|
||||||
File: org, Node: Custom time format, Next: Progress logging, Prev: Creating timestamps, Up: Timestamps
|
File: org, Node: Custom time format, Next: Repeating items, Prev: Creating timestamps, Up: Timestamps
|
||||||
|
|
||||||
6.3 Custom time format
|
6.3 Custom time format
|
||||||
======================
|
======================
|
||||||
|
@ -2576,9 +2587,48 @@ consequences:
|
||||||
the custom format is shorter, things do work as expected.
|
the custom format is shorter, things do work as expected.
|
||||||
|
|
||||||
|
|
||||||
File: org, Node: Progress logging, Prev: Custom time format, Up: Timestamps
|
File: org, Node: Repeating items, Next: Progress logging, Prev: Custom time format, Up: Timestamps
|
||||||
|
|
||||||
6.4 Progress Logging
|
6.4 Repeating items
|
||||||
|
===================
|
||||||
|
|
||||||
|
Org-mode integrates with the Emacs calendar and diary to display cyclic
|
||||||
|
appointments, anniversaries and other special entries in the agenda
|
||||||
|
(*note Weekly/Daily agenda::). However, it can be useful to have
|
||||||
|
certain deadlines and scheduling items to auto-repeat. The advantage of
|
||||||
|
a deadline or scheduled item is that the they produce warnings ahead of
|
||||||
|
time and automatically forward themselves in the agenda until they are
|
||||||
|
done. The abstract difference is therefore between cyclic appointments
|
||||||
|
and cyclic action items. For appointments you should use the diary,
|
||||||
|
for actions you can uses an org-mode deadline or scheduling time stamp
|
||||||
|
together with a REPEAT cookie. For example:
|
||||||
|
|
||||||
|
* TODO Replace batteries in smoke detector REPEAT(+18m)
|
||||||
|
SCHEDULED: <2007-01-01 Mon>
|
||||||
|
|
||||||
|
* TODO Get dentist appointment REPEAT(+6m)
|
||||||
|
SCHEDULED: <2006-12-19 Tue>
|
||||||
|
|
||||||
|
* TODO Tax report to IRS REPEAT(+1y)
|
||||||
|
DEADLINE: <2007-04-01 Sun>
|
||||||
|
|
||||||
|
Each time you try to mark one of these entries DONE using `C-c C-t',
|
||||||
|
they will automatically switch back to the state TODO, and the
|
||||||
|
deadline/scheduling will be shifted accordingly. The time units
|
||||||
|
recognized by org-mode are year (y), month (m), week (w), and day (d).
|
||||||
|
Org-mode will also prompt you for a note and record the fact that you
|
||||||
|
have closed this item in a note under the headline.
|
||||||
|
|
||||||
|
One unusual property of these repeating items is that only one
|
||||||
|
instance of each exist at any given time. So if you look back or ahead
|
||||||
|
in the agenda, you will not find past and future instances, only the
|
||||||
|
current one will show up. Use a cyclic diary entry if you need all
|
||||||
|
past and future instances to be visible in the angenda.
|
||||||
|
|
||||||
|
|
||||||
|
File: org, Node: Progress logging, Prev: Repeating items, Up: Timestamps
|
||||||
|
|
||||||
|
6.5 Progress Logging
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Org-mode can automatically record a time stamp when you mark a TODO item
|
Org-mode can automatically record a time stamp when you mark a TODO item
|
||||||
|
@ -2596,7 +2646,7 @@ on an aspect of a project.
|
||||||
|
|
||||||
File: org, Node: Closing items, Next: Tracking TODO state changes, Prev: Progress logging, Up: Progress logging
|
File: org, Node: Closing items, Next: Tracking TODO state changes, Prev: Progress logging, Up: Progress logging
|
||||||
|
|
||||||
6.4.1 Closing items
|
6.5.1 Closing items
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
If you want to keep track of _when_ a certain TODO item was finished,
|
If you want to keep track of _when_ a certain TODO item was finished,
|
||||||
|
@ -2625,7 +2675,7 @@ the timestamp, use(2)
|
||||||
|
|
||||||
File: org, Node: Tracking TODO state changes, Next: Clocking work time, Prev: Closing items, Up: Progress logging
|
File: org, Node: Tracking TODO state changes, Next: Clocking work time, Prev: Closing items, Up: Progress logging
|
||||||
|
|
||||||
6.4.2 Tracking TODO state changes
|
6.5.2 Tracking TODO state changes
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
|
||||||
When TODO keywords are used as workflow states (*note Workflow
|
When TODO keywords are used as workflow states (*note Workflow
|
||||||
|
@ -2647,7 +2697,7 @@ these into a separate file that starts with:
|
||||||
|
|
||||||
File: org, Node: Clocking work time, Prev: Tracking TODO state changes, Up: Progress logging
|
File: org, Node: Clocking work time, Prev: Tracking TODO state changes, Up: Progress logging
|
||||||
|
|
||||||
6.4.3 Clocking work time
|
6.5.3 Clocking work time
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
Org-mode allows you to clock the time you spent on specific tasks in a
|
Org-mode allows you to clock the time you spent on specific tasks in a
|
||||||
|
@ -4866,7 +4916,15 @@ file is visited again in a new Emacs session.
|
||||||
`#+CATEGORY:'
|
`#+CATEGORY:'
|
||||||
This line sets the category for the agenda file. The category
|
This line sets the category for the agenda file. The category
|
||||||
applies for all subsequent lines until the next `#+CATEGORY' line,
|
applies for all subsequent lines until the next `#+CATEGORY' line,
|
||||||
or the end of the file.
|
or the end of the file. The first such line also applies to any
|
||||||
|
entries before it.
|
||||||
|
|
||||||
|
`#+ARCHIVE: %s_done::'
|
||||||
|
This line sets the archive location for the agenda file. It
|
||||||
|
applies for all subsequent lines until the next `#+CATEGORY' line,
|
||||||
|
or the end of the file. The first such line also applies to any
|
||||||
|
entries before it. The correspoinding variable is
|
||||||
|
`org-archive-location'.
|
||||||
|
|
||||||
`#+TBLFM:'
|
`#+TBLFM:'
|
||||||
This line contains the formulas for the table directly above the
|
This line contains the formulas for the table directly above the
|
||||||
|
@ -5219,10 +5277,14 @@ The following extensions for Org-mode have been written by other people:
|
||||||
A blogging plug-in for `org-publish.el'.
|
A blogging plug-in for `org-publish.el'.
|
||||||
`http://dto.freeshell.org/notebook/OrgMode.html'.
|
`http://dto.freeshell.org/notebook/OrgMode.html'.
|
||||||
|
|
||||||
`blorg.el' by Bastien Guerry
|
`blorg.el' by Bastien Guerry
|
||||||
Publish Org-mode files as blogs.
|
Publish Org-mode files as blogs.
|
||||||
`http://www.cognition.ens.fr/~guerry/blorg.html'.
|
`http://www.cognition.ens.fr/~guerry/blorg.html'.
|
||||||
|
|
||||||
|
`org2rem.el' by Bastien Guerry
|
||||||
|
Translates Org-mode files into something readable by Remind.
|
||||||
|
`http://www.cognition.ens.fr/~guerry/u/org2rem.el'.
|
||||||
|
|
||||||
|
|
||||||
File: org, Node: Dynamic blocks, Next: Special agenda views, Prev: Extensions, Up: Extensions and Hacking
|
File: org, Node: Dynamic blocks, Next: Special agenda views, Prev: Extensions, Up: Extensions and Hacking
|
||||||
|
|
||||||
|
@ -5349,7 +5411,7 @@ incorporate project planning functionality directly into a notes file.
|
||||||
|
|
||||||
Since the first release, hundreds of emails to me or on
|
Since the first release, hundreds of emails to me or on
|
||||||
`emacs-orgmode@gnu.org' have provided a constant stream of bug reports,
|
`emacs-orgmode@gnu.org' have provided a constant stream of bug reports,
|
||||||
feedback, new ideas, and sometimes even patches and add-on code. Many
|
feedback, new ideas, and sometimes patches and add-on code. Many
|
||||||
thanks to everyone who has helped to improve this package. I am trying
|
thanks to everyone who has helped to improve this package. I am trying
|
||||||
to keep here a list of the people who had significant influence in
|
to keep here a list of the people who had significant influence in
|
||||||
shaping one or more aspects of Org-mode. The list may not be complete,
|
shaping one or more aspects of Org-mode. The list may not be complete,
|
||||||
|
@ -5387,11 +5449,14 @@ if I have forgotten someone, please accept my apologies and let me know.
|
||||||
|
|
||||||
* Niels Giessen had the idea to automatically archive DONE trees.
|
* Niels Giessen had the idea to automatically archive DONE trees.
|
||||||
|
|
||||||
* Bastien Guerry provided extensive feedback.
|
* Bastien Guerry provided extensive feedback and some patches, and
|
||||||
|
translated David O'Toole's tutorial into French.
|
||||||
|
|
||||||
* Kai Grossjohann pointed out key-binding conflicts with other
|
* Kai Grossjohann pointed out key-binding conflicts with other
|
||||||
packages.
|
packages.
|
||||||
|
|
||||||
|
* Shidai Liu ("Leo") provided extensive feedback and some patches.
|
||||||
|
|
||||||
* Leon Liu asked for embedded LaTeX and tested it.
|
* Leon Liu asked for embedded LaTeX and tested it.
|
||||||
|
|
||||||
* Stefan Monnier provided a patch to keep the Emacs-Lisp compiler
|
* Stefan Monnier provided a patch to keep the Emacs-Lisp compiler
|
||||||
|
@ -5402,6 +5467,9 @@ if I have forgotten someone, please accept my apologies and let me know.
|
||||||
* Tim O'Callaghan suggested in-file links, search options for general
|
* Tim O'Callaghan suggested in-file links, search options for general
|
||||||
file links, and TAGS.
|
file links, and TAGS.
|
||||||
|
|
||||||
|
* Takeshi Okano translated the manual and David O'Toole's tutorial
|
||||||
|
into Japanese.
|
||||||
|
|
||||||
* Oliver Oppitz suggested multi-state TODO items.
|
* Oliver Oppitz suggested multi-state TODO items.
|
||||||
|
|
||||||
* Scott Otterson sparked the introduction of descriptive text for
|
* Scott Otterson sparked the introduction of descriptive text for
|
||||||
|
@ -5481,7 +5549,7 @@ Index
|
||||||
* active region <1>: Export commands. (line 6)
|
* active region <1>: Export commands. (line 6)
|
||||||
* active region <2>: ASCII export. (line 9)
|
* active region <2>: ASCII export. (line 9)
|
||||||
* active region <3>: Built-in table editor.
|
* active region <3>: Built-in table editor.
|
||||||
(line 171)
|
(line 173)
|
||||||
* active region: Structure editing. (line 64)
|
* active region: Structure editing. (line 64)
|
||||||
* agenda: Weekly/Daily agenda. (line 6)
|
* agenda: Weekly/Daily agenda. (line 6)
|
||||||
* agenda dispatcher: Agenda dispatcher. (line 6)
|
* agenda dispatcher: Agenda dispatcher. (line 6)
|
||||||
|
@ -5570,6 +5638,7 @@ Index
|
||||||
(line 6)
|
(line 6)
|
||||||
* DEADLINE keyword: Time stamps. (line 53)
|
* DEADLINE keyword: Time stamps. (line 53)
|
||||||
* deadlines: Time stamps. (line 6)
|
* deadlines: Time stamps. (line 6)
|
||||||
|
* Deadlines, repeating: Repeating items. (line 6)
|
||||||
* demotion, of subtrees: Structure editing. (line 6)
|
* demotion, of subtrees: Structure editing. (line 6)
|
||||||
* diary entries, creating from agenda: Agenda commands. (line 198)
|
* diary entries, creating from agenda: Agenda commands. (line 198)
|
||||||
* diary integration: Weekly/Daily agenda. (line 24)
|
* diary integration: Weekly/Daily agenda. (line 24)
|
||||||
|
@ -5716,6 +5785,7 @@ Index
|
||||||
* org-mouse.el: Extensions. (line 17)
|
* org-mouse.el: Extensions. (line 17)
|
||||||
* org-publish-project-alist: Project alist. (line 6)
|
* org-publish-project-alist: Project alist. (line 6)
|
||||||
* org-publish.el: Extensions. (line 8)
|
* org-publish.el: Extensions. (line 8)
|
||||||
|
* org2rem.el: Extensions. (line 37)
|
||||||
* orgtbl-mode: orgtbl-mode. (line 6)
|
* orgtbl-mode: orgtbl-mode. (line 6)
|
||||||
* outline tree: Headlines. (line 6)
|
* outline tree: Headlines. (line 6)
|
||||||
* outline-mode: Outlines. (line 6)
|
* outline-mode: Outlines. (line 6)
|
||||||
|
@ -5744,7 +5814,7 @@ Index
|
||||||
* region, active <1>: Export commands. (line 6)
|
* region, active <1>: Export commands. (line 6)
|
||||||
* region, active <2>: ASCII export. (line 9)
|
* region, active <2>: ASCII export. (line 9)
|
||||||
* region, active <3>: Built-in table editor.
|
* region, active <3>: Built-in table editor.
|
||||||
(line 171)
|
(line 173)
|
||||||
* region, active: Structure editing. (line 64)
|
* region, active: Structure editing. (line 64)
|
||||||
* regular expressions, with tags search: Tag searches. (line 63)
|
* regular expressions, with tags search: Tag searches. (line 63)
|
||||||
* remember.el <1>: Cooperation. (line 33)
|
* remember.el <1>: Cooperation. (line 33)
|
||||||
|
@ -5755,6 +5825,7 @@ Index
|
||||||
* RMAIL links: External links. (line 6)
|
* RMAIL links: External links. (line 6)
|
||||||
* SCHEDULED keyword: Time stamps. (line 40)
|
* SCHEDULED keyword: Time stamps. (line 40)
|
||||||
* scheduling: Time stamps. (line 6)
|
* scheduling: Time stamps. (line 6)
|
||||||
|
* Scheduling, repeating: Repeating items. (line 6)
|
||||||
* search option in file links: Search options. (line 6)
|
* search option in file links: Search options. (line 6)
|
||||||
* search strings, custom: Custom searches. (line 6)
|
* search strings, custom: Custom searches. (line 6)
|
||||||
* searching for tags: Tag searches. (line 6)
|
* searching for tags: Tag searches. (line 6)
|
||||||
|
@ -5834,6 +5905,7 @@ Index
|
||||||
* timestamp, inactive: Time stamps. (line 24)
|
* timestamp, inactive: Time stamps. (line 24)
|
||||||
* timestamps, creating: Creating timestamps. (line 6)
|
* timestamps, creating: Creating timestamps. (line 6)
|
||||||
* TODO items: TODO items. (line 6)
|
* TODO items: TODO items. (line 6)
|
||||||
|
* TODO items, repeating: Repeating items. (line 6)
|
||||||
* TODO keyword matching: Global TODO list. (line 17)
|
* TODO keyword matching: Global TODO list. (line 17)
|
||||||
* TODO keyword matching, with tags search: Tag searches. (line 40)
|
* TODO keyword matching, with tags search: Tag searches. (line 40)
|
||||||
* TODO keywords completion: Completion. (line 6)
|
* TODO keywords completion: Completion. (line 6)
|
||||||
|
@ -5843,7 +5915,7 @@ Index
|
||||||
* transient-mark-mode <1>: Export commands. (line 6)
|
* transient-mark-mode <1>: Export commands. (line 6)
|
||||||
* transient-mark-mode <2>: ASCII export. (line 9)
|
* transient-mark-mode <2>: ASCII export. (line 9)
|
||||||
* transient-mark-mode <3>: Built-in table editor.
|
* transient-mark-mode <3>: Built-in table editor.
|
||||||
(line 171)
|
(line 173)
|
||||||
* transient-mark-mode: Structure editing. (line 64)
|
* transient-mark-mode: Structure editing. (line 64)
|
||||||
* trees, sparse: Sparse trees. (line 6)
|
* trees, sparse: Sparse trees. (line 6)
|
||||||
* trees, visibility: Visibility cycling. (line 6)
|
* trees, visibility: Visibility cycling. (line 6)
|
||||||
|
@ -5911,13 +5983,12 @@ Key Index
|
||||||
* C: Agenda commands. (line 213)
|
* C: Agenda commands. (line 213)
|
||||||
* c: Agenda commands. (line 191)
|
* c: Agenda commands. (line 191)
|
||||||
* C-#: Built-in table editor.
|
* C-#: Built-in table editor.
|
||||||
(line 161)
|
(line 162)
|
||||||
* C-,: Agenda files. (line 18)
|
* C-,: Agenda files. (line 18)
|
||||||
* C-_: Agenda commands. (line 109)
|
* C-_: Agenda commands. (line 109)
|
||||||
* C-a a L: Timeline. (line 10)
|
* C-a a L: Timeline. (line 10)
|
||||||
* C-c !: Creating timestamps. (line 21)
|
* C-c !: Creating timestamps. (line 21)
|
||||||
* C-c #: Checkboxes. (line 56)
|
* C-c #: Checkboxes. (line 56)
|
||||||
* C-c $: Moving subtrees. (line 10)
|
|
||||||
* C-c %: Handling links. (line 81)
|
* C-c %: Handling links. (line 81)
|
||||||
* C-c &: Handling links. (line 85)
|
* C-c &: Handling links. (line 85)
|
||||||
* C-c ' <1>: Editing/debugging formulas.
|
* C-c ' <1>: Editing/debugging formulas.
|
||||||
|
@ -5925,9 +5996,9 @@ Key Index
|
||||||
* C-c ': Built-in table editor.
|
* C-c ': Built-in table editor.
|
||||||
(line 150)
|
(line 150)
|
||||||
* C-c *: Built-in table editor.
|
* C-c *: Built-in table editor.
|
||||||
(line 154)
|
(line 155)
|
||||||
* C-c +: Built-in table editor.
|
* C-c +: Built-in table editor.
|
||||||
(line 171)
|
(line 173)
|
||||||
* C-c ,: Priorities. (line 18)
|
* C-c ,: Priorities. (line 18)
|
||||||
* C-c -: Built-in table editor.
|
* C-c -: Built-in table editor.
|
||||||
(line 92)
|
(line 92)
|
||||||
|
@ -5937,14 +6008,14 @@ Key Index
|
||||||
* C-c ;: Comment lines. (line 11)
|
* C-c ;: Comment lines. (line 11)
|
||||||
* C-c <: Creating timestamps. (line 25)
|
* C-c <: Creating timestamps. (line 25)
|
||||||
* C-c <TAB>: Built-in table editor.
|
* C-c <TAB>: Built-in table editor.
|
||||||
(line 193)
|
(line 195)
|
||||||
* C-c =: Built-in table editor.
|
* C-c =: Built-in table editor.
|
||||||
(line 141)
|
(line 141)
|
||||||
* C-c >: Creating timestamps. (line 29)
|
* C-c >: Creating timestamps. (line 29)
|
||||||
* C-c ? <1>: Editing/debugging formulas.
|
* C-c ? <1>: Editing/debugging formulas.
|
||||||
(line 20)
|
(line 20)
|
||||||
* C-c ?: Built-in table editor.
|
* C-c ?: Built-in table editor.
|
||||||
(line 167)
|
(line 168)
|
||||||
* C-c [: Agenda files. (line 12)
|
* C-c [: Agenda files. (line 12)
|
||||||
* C-c \: Tag searches. (line 9)
|
* C-c \: Tag searches. (line 9)
|
||||||
* C-c ]: Agenda files. (line 15)
|
* C-c ]: Agenda files. (line 15)
|
||||||
|
@ -5952,7 +6023,7 @@ Key Index
|
||||||
(line 96)
|
(line 96)
|
||||||
* C-c ^: Structure editing. (line 52)
|
* C-c ^: Structure editing. (line 52)
|
||||||
* C-c `: Built-in table editor.
|
* C-c `: Built-in table editor.
|
||||||
(line 187)
|
(line 189)
|
||||||
* C-c a !: Stuck projects. (line 14)
|
* C-c a !: Stuck projects. (line 14)
|
||||||
* C-c a #: Stuck projects. (line 13)
|
* C-c a #: Stuck projects. (line 13)
|
||||||
* C-c a a: Weekly/Daily agenda. (line 9)
|
* C-c a a: Weekly/Daily agenda. (line 9)
|
||||||
|
@ -6026,6 +6097,7 @@ Key Index
|
||||||
(line 9)
|
(line 9)
|
||||||
* C-c C-x C-o: Clocking work time. (line 14)
|
* C-c C-x C-o: Clocking work time. (line 14)
|
||||||
* C-c C-x C-r: Clocking work time. (line 43)
|
* C-c C-x C-r: Clocking work time. (line 43)
|
||||||
|
* C-c C-x C-s: Moving subtrees. (line 10)
|
||||||
* C-c C-x C-t: Custom time format. (line 12)
|
* C-c C-x C-t: Custom time format. (line 12)
|
||||||
* C-c C-x C-u: Dynamic blocks. (line 21)
|
* C-c C-x C-u: Dynamic blocks. (line 21)
|
||||||
* C-c C-x C-w <1>: Built-in table editor.
|
* C-c C-x C-w <1>: Built-in table editor.
|
||||||
|
@ -6047,12 +6119,12 @@ Key Index
|
||||||
* C-c ~: table.el. (line 18)
|
* C-c ~: table.el. (line 18)
|
||||||
* C-k: Agenda commands. (line 117)
|
* C-k: Agenda commands. (line 117)
|
||||||
* C-TAB: ARCHIVE tag. (line 38)
|
* C-TAB: ARCHIVE tag. (line 38)
|
||||||
* C-u C-c $: Moving subtrees. (line 12)
|
|
||||||
* C-u C-c .: Creating timestamps. (line 16)
|
* C-u C-c .: Creating timestamps. (line 16)
|
||||||
* C-u C-c =: Built-in table editor.
|
* C-u C-c =: Built-in table editor.
|
||||||
(line 145)
|
(line 145)
|
||||||
* C-u C-c C-l: Handling links. (line 43)
|
* C-u C-c C-l: Handling links. (line 43)
|
||||||
* C-u C-c C-x C-a: ARCHIVE tag. (line 31)
|
* C-u C-c C-x C-a: ARCHIVE tag. (line 31)
|
||||||
|
* C-u C-c C-x C-s: Moving subtrees. (line 12)
|
||||||
* C-u C-c C-x C-u <1>: Dynamic blocks. (line 22)
|
* C-u C-c C-x C-u <1>: Dynamic blocks. (line 22)
|
||||||
* C-u C-c C-x C-u: Clocking work time. (line 70)
|
* C-u C-c C-x C-u: Clocking work time. (line 70)
|
||||||
* D: Agenda commands. (line 74)
|
* D: Agenda commands. (line 74)
|
||||||
|
@ -6133,7 +6205,7 @@ Key Index
|
||||||
* S-<left> <3>: Creating timestamps. (line 53)
|
* S-<left> <3>: Creating timestamps. (line 53)
|
||||||
* S-<left>: TODO basics. (line 20)
|
* S-<left>: TODO basics. (line 20)
|
||||||
* S-<RET>: Built-in table editor.
|
* S-<RET>: Built-in table editor.
|
||||||
(line 176)
|
(line 178)
|
||||||
* S-<right> <1>: Agenda commands. (line 161)
|
* S-<right> <1>: Agenda commands. (line 161)
|
||||||
* S-<right> <2>: The date/time prompt.
|
* S-<right> <2>: The date/time prompt.
|
||||||
(line 36)
|
(line 36)
|
||||||
|
@ -6158,171 +6230,172 @@ Key Index
|
||||||
|
|
||||||
Tag Table:
|
Tag Table:
|
||||||
Node: Top964
|
Node: Top964
|
||||||
Node: Introduction10833
|
Node: Introduction10853
|
||||||
Node: Summary11248
|
Node: Summary11268
|
||||||
Node: Installation14160
|
Node: Installation14180
|
||||||
Node: Activation15538
|
Node: Activation15558
|
||||||
Node: Feedback16787
|
Node: Feedback16807
|
||||||
Node: Document structure18863
|
Node: Document structure18883
|
||||||
Node: Outlines19637
|
Node: Outlines19657
|
||||||
Node: Headlines20297
|
Node: Headlines20317
|
||||||
Node: Visibility cycling20920
|
Node: Visibility cycling20940
|
||||||
Ref: Visibility cycling-Footnote-123011
|
Ref: Visibility cycling-Footnote-123031
|
||||||
Ref: Visibility cycling-Footnote-223069
|
Ref: Visibility cycling-Footnote-223089
|
||||||
Ref: Visibility cycling-Footnote-323119
|
Ref: Visibility cycling-Footnote-323139
|
||||||
Node: Motion23388
|
Node: Motion23408
|
||||||
Node: Structure editing24172
|
Node: Structure editing24192
|
||||||
Node: Archiving26998
|
Node: Archiving27018
|
||||||
Node: ARCHIVE tag27556
|
Node: ARCHIVE tag27576
|
||||||
Node: Moving subtrees29349
|
Node: Moving subtrees29369
|
||||||
Node: Sparse trees30390
|
Node: Sparse trees30680
|
||||||
Ref: Sparse trees-Footnote-132521
|
Ref: Sparse trees-Footnote-132811
|
||||||
Ref: Sparse trees-Footnote-232703
|
Ref: Sparse trees-Footnote-232993
|
||||||
Node: Plain lists32818
|
Node: Plain lists33108
|
||||||
Ref: Plain lists-Footnote-136343
|
Ref: Plain lists-Footnote-136633
|
||||||
Ref: Plain lists-Footnote-236700
|
Ref: Plain lists-Footnote-236990
|
||||||
Node: Tables36884
|
Node: Tables37174
|
||||||
Node: Built-in table editor37432
|
Node: Built-in table editor37722
|
||||||
Node: Narrow columns45460
|
Node: Narrow columns45999
|
||||||
Ref: Narrow columns-Footnote-147399
|
Ref: Narrow columns-Footnote-147938
|
||||||
Node: Table calculations47445
|
Node: Table calculations47984
|
||||||
Node: Formula syntax48765
|
Node: Formula syntax49304
|
||||||
Ref: Formula syntax-Footnote-151670
|
Ref: Formula syntax-Footnote-152209
|
||||||
Node: Lisp formulas51970
|
Node: Lisp formulas52509
|
||||||
Node: Column formulas52759
|
Node: Column formulas53298
|
||||||
Node: Advanced features54521
|
Node: Advanced features55060
|
||||||
Node: Named-field formulas57775
|
Node: Named-field formulas58314
|
||||||
Node: Editing/debugging formulas58415
|
Node: Editing/debugging formulas58954
|
||||||
Node: Appetizer60173
|
Node: Appetizer60712
|
||||||
Node: orgtbl-mode61276
|
Node: orgtbl-mode61815
|
||||||
Node: table.el61767
|
Node: table.el62306
|
||||||
Node: Hyperlinks62744
|
Node: Hyperlinks63283
|
||||||
Node: Link format63517
|
Node: Link format64056
|
||||||
Node: Internal links64810
|
Node: Internal links65349
|
||||||
Ref: Internal links-Footnote-166799
|
Ref: Internal links-Footnote-167338
|
||||||
Node: Radio targets66931
|
Node: Radio targets67470
|
||||||
Node: CamelCase links67646
|
Node: CamelCase links68185
|
||||||
Node: External links68240
|
Node: External links68779
|
||||||
Node: Handling links70644
|
Node: Handling links71183
|
||||||
Ref: Handling links-Footnote-175296
|
Ref: Handling links-Footnote-175835
|
||||||
Ref: Handling links-Footnote-275533
|
Ref: Handling links-Footnote-276072
|
||||||
Node: Link abbreviations75607
|
Node: Link abbreviations76146
|
||||||
Node: Search options77286
|
Node: Search options77825
|
||||||
Ref: Search options-Footnote-179066
|
Ref: Search options-Footnote-179605
|
||||||
Node: Custom searches79147
|
Node: Custom searches79686
|
||||||
Node: Remember80195
|
Node: Remember80734
|
||||||
Node: TODO items83889
|
Node: TODO items84428
|
||||||
Node: TODO basics84871
|
Node: TODO basics85410
|
||||||
Node: TODO extensions86398
|
Node: TODO extensions86937
|
||||||
Node: Workflow states87193
|
Node: Workflow states87732
|
||||||
Node: TODO types88178
|
Node: TODO types88717
|
||||||
Ref: TODO types-Footnote-189836
|
Ref: TODO types-Footnote-190375
|
||||||
Node: Per file keywords89918
|
Node: Per file keywords90457
|
||||||
Ref: Per file keywords-Footnote-191372
|
Ref: Per file keywords-Footnote-191911
|
||||||
Node: Priorities91573
|
Node: Priorities92112
|
||||||
Node: Breaking down tasks92817
|
Node: Breaking down tasks93356
|
||||||
Ref: Breaking down tasks-Footnote-193336
|
Ref: Breaking down tasks-Footnote-193875
|
||||||
Node: Checkboxes93432
|
Node: Checkboxes93971
|
||||||
Node: Timestamps96187
|
Node: Timestamps96726
|
||||||
Node: Time stamps96648
|
Node: Time stamps97260
|
||||||
Ref: Time stamps-Footnote-1100142
|
Ref: Time stamps-Footnote-1100754
|
||||||
Ref: Time stamps-Footnote-2100258
|
Ref: Time stamps-Footnote-2100870
|
||||||
Node: Creating timestamps100413
|
Node: Creating timestamps101025
|
||||||
Node: The date/time prompt103039
|
Node: The date/time prompt103651
|
||||||
Ref: The date/time prompt-Footnote-1104805
|
Ref: The date/time prompt-Footnote-1105417
|
||||||
Node: Custom time format104911
|
Node: Custom time format105523
|
||||||
Node: Progress logging106470
|
Node: Repeating items107081
|
||||||
Node: Closing items107119
|
Node: Progress logging108892
|
||||||
Ref: Closing items-Footnote-1108053
|
Node: Closing items109538
|
||||||
Ref: Closing items-Footnote-2108122
|
Ref: Closing items-Footnote-1110472
|
||||||
Node: Tracking TODO state changes108195
|
Ref: Closing items-Footnote-2110541
|
||||||
Node: Clocking work time109051
|
Node: Tracking TODO state changes110614
|
||||||
Ref: Clocking work time-Footnote-1112697
|
Node: Clocking work time111470
|
||||||
Ref: Clocking work time-Footnote-2112775
|
Ref: Clocking work time-Footnote-1115116
|
||||||
Node: Tags112901
|
Ref: Clocking work time-Footnote-2115194
|
||||||
Node: Tag inheritance113663
|
Node: Tags115320
|
||||||
Node: Setting tags114600
|
Node: Tag inheritance116082
|
||||||
Ref: Setting tags-Footnote-1118799
|
Node: Setting tags117019
|
||||||
Ref: Setting tags-Footnote-2118911
|
Ref: Setting tags-Footnote-1121218
|
||||||
Node: Tag searches118994
|
Ref: Setting tags-Footnote-2121330
|
||||||
Node: Agenda views121706
|
Node: Tag searches121413
|
||||||
Node: Agenda files123646
|
Node: Agenda views124125
|
||||||
Ref: Agenda files-Footnote-1124606
|
Node: Agenda files126065
|
||||||
Ref: Agenda files-Footnote-2124755
|
Ref: Agenda files-Footnote-1127025
|
||||||
Node: Agenda dispatcher124948
|
Ref: Agenda files-Footnote-2127174
|
||||||
Node: Built-in agenda views126639
|
Node: Agenda dispatcher127367
|
||||||
Node: Weekly/Daily agenda127217
|
Node: Built-in agenda views129058
|
||||||
Node: Global TODO list129346
|
Node: Weekly/Daily agenda129636
|
||||||
Node: Matching headline tags131519
|
Node: Global TODO list131765
|
||||||
Node: Timeline132590
|
Node: Matching headline tags133938
|
||||||
Node: Stuck projects133256
|
Node: Timeline135009
|
||||||
Node: Presentation and sorting134955
|
Node: Stuck projects135675
|
||||||
Node: Categories135746
|
Node: Presentation and sorting137374
|
||||||
Node: Time-of-day specifications136410
|
Node: Categories138165
|
||||||
Node: Sorting of agenda items138381
|
Node: Time-of-day specifications138829
|
||||||
Node: Agenda commands139663
|
Node: Sorting of agenda items140800
|
||||||
Node: Custom agenda views146316
|
Node: Agenda commands142082
|
||||||
Node: Storing searches146991
|
Node: Custom agenda views148735
|
||||||
Node: Block agenda148903
|
Node: Storing searches149410
|
||||||
Node: Setting Options150133
|
Node: Block agenda151322
|
||||||
Node: Batch processing152845
|
Node: Setting Options152552
|
||||||
Node: Embedded LaTeX153975
|
Node: Batch processing155264
|
||||||
Ref: Embedded LaTeX-Footnote-1155067
|
Node: Embedded LaTeX156394
|
||||||
Node: Math symbols155257
|
Ref: Embedded LaTeX-Footnote-1157486
|
||||||
Node: Subscripts and Superscripts156022
|
Node: Math symbols157676
|
||||||
Node: LaTeX fragments156866
|
Node: Subscripts and Superscripts158441
|
||||||
Ref: LaTeX fragments-Footnote-1158974
|
Node: LaTeX fragments159285
|
||||||
Node: Processing LaTeX fragments159236
|
Ref: LaTeX fragments-Footnote-1161393
|
||||||
Node: CDLaTeX mode160182
|
Node: Processing LaTeX fragments161655
|
||||||
Ref: CDLaTeX mode-Footnote-1162666
|
Node: CDLaTeX mode162601
|
||||||
Node: Exporting162814
|
Ref: CDLaTeX mode-Footnote-1165085
|
||||||
Node: ASCII export164128
|
Node: Exporting165233
|
||||||
Node: HTML export165418
|
Node: ASCII export166547
|
||||||
Node: Export commands166037
|
Node: HTML export167837
|
||||||
Node: Quoting HTML tags166761
|
Node: Export commands168456
|
||||||
Node: Links167104
|
Node: Quoting HTML tags169180
|
||||||
Node: Images167801
|
Node: Links169523
|
||||||
Ref: Images-Footnote-1168672
|
Node: Images170220
|
||||||
Node: CSS support168733
|
Ref: Images-Footnote-1171091
|
||||||
Ref: CSS support-Footnote-1170052
|
Node: CSS support171152
|
||||||
Node: XOXO export170165
|
Ref: CSS support-Footnote-1172471
|
||||||
Node: iCalendar export170604
|
Node: XOXO export172584
|
||||||
Node: Text interpretation172427
|
Node: iCalendar export173023
|
||||||
Node: Comment lines172906
|
Node: Text interpretation174846
|
||||||
Node: Enhancing text173377
|
Node: Comment lines175325
|
||||||
Node: Export options175069
|
Node: Enhancing text175796
|
||||||
Node: Publishing176736
|
Node: Export options177488
|
||||||
Ref: Publishing-Footnote-1177532
|
Node: Publishing179155
|
||||||
Node: Configuration177728
|
Ref: Publishing-Footnote-1179951
|
||||||
Node: Project alist178446
|
Node: Configuration180147
|
||||||
Node: Sources and destinations179512
|
Node: Project alist180865
|
||||||
Node: Selecting files180242
|
Node: Sources and destinations181931
|
||||||
Node: Publishing action180990
|
Node: Selecting files182661
|
||||||
Node: Publishing options182223
|
Node: Publishing action183409
|
||||||
Node: Publishing links184375
|
Node: Publishing options184642
|
||||||
Node: Project page index185888
|
Node: Publishing links186794
|
||||||
Node: Sample configuration186666
|
Node: Project page index188307
|
||||||
Node: Simple example187158
|
Node: Sample configuration189085
|
||||||
Node: Complex example187831
|
Node: Simple example189577
|
||||||
Node: Triggering publication189907
|
Node: Complex example190250
|
||||||
Node: Miscellaneous190592
|
Node: Triggering publication192326
|
||||||
Node: Completion191226
|
Node: Miscellaneous193011
|
||||||
Node: Customization192697
|
Node: Completion193645
|
||||||
Node: In-buffer settings193280
|
Node: Customization195116
|
||||||
Node: The very busy C-c C-c key197139
|
Node: In-buffer settings195699
|
||||||
Node: Clean view198783
|
Node: The very busy C-c C-c key199940
|
||||||
Node: TTY keys201360
|
Node: Clean view201584
|
||||||
Node: Interaction202969
|
Node: TTY keys204161
|
||||||
Node: Cooperation203366
|
Node: Interaction205770
|
||||||
Node: Conflicts205233
|
Node: Cooperation206167
|
||||||
Node: Bugs206825
|
Node: Conflicts208034
|
||||||
Node: Extensions and Hacking208219
|
Node: Bugs209626
|
||||||
Node: Extensions208723
|
Node: Extensions and Hacking211020
|
||||||
Node: Dynamic blocks210510
|
Node: Extensions211524
|
||||||
Node: Special agenda views212466
|
Node: Dynamic blocks213467
|
||||||
Ref: Special agenda views-Footnote-1214747
|
Node: Special agenda views215423
|
||||||
Node: History and Acknowledgments215007
|
Ref: Special agenda views-Footnote-1217704
|
||||||
Node: Index220134
|
Node: History and Acknowledgments217964
|
||||||
Node: Key Index248617
|
Node: Index223323
|
||||||
|
Node: Key Index252098
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|
456
org.el
456
org.el
|
@ -1,11 +1,11 @@
|
||||||
;;;; org.el --- Outline-based notes management and organize
|
;;;; org.el --- Outline-based notes management and organize
|
||||||
;; Carstens outline-mode for keeping track of everything.
|
;; Carstens outline-mode for keeping track of everything.
|
||||||
;; Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
|
;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||||
;;
|
;;
|
||||||
;; Author: Carsten Dominik <dominik at science dot uva dot nl>
|
;; Author: Carsten Dominik <dominik at science dot uva dot nl>
|
||||||
;; Keywords: outlines, hypermedia, calendar, wp
|
;; Keywords: outlines, hypermedia, calendar, wp
|
||||||
;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
|
;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
|
||||||
;; Version: 4.60
|
;; Version: 4.61
|
||||||
;;
|
;;
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
;;
|
;;
|
||||||
|
@ -61,6 +61,17 @@
|
||||||
;;
|
;;
|
||||||
;; Recent changes
|
;; Recent changes
|
||||||
;; --------------
|
;; --------------
|
||||||
|
;; Version 4.61
|
||||||
|
;; - Avoiding keybinding clashes with flyspell
|
||||||
|
;; - Archiving is now also on `C-C C-x C-s' (was just `C-c $')
|
||||||
|
;; - Cycling through agenda files is now also on "C-'" (was just "C-,")
|
||||||
|
;; - Colon is considered part of number, to align times in clock tables.
|
||||||
|
;; - Fixed bug for list of stuck projects.
|
||||||
|
;; - Fixed several bugs/problems concerning linking to gnus.
|
||||||
|
;; - Block agendas can contain the list of stuck projects.
|
||||||
|
;; - #+ARCHIVE may now appear several times in the buffer.
|
||||||
|
;; - More bug fixes.
|
||||||
|
;;
|
||||||
;; Version 4.60
|
;; Version 4.60
|
||||||
;; - HTML export: inlining images, clickable images (manual 10.2.4).
|
;; - HTML export: inlining images, clickable images (manual 10.2.4).
|
||||||
;; - Incremental search now shows proper context when exiting.
|
;; - Incremental search now shows proper context when exiting.
|
||||||
|
@ -127,7 +138,7 @@
|
||||||
|
|
||||||
;;; Version
|
;;; Version
|
||||||
|
|
||||||
(defvar org-version "4.60"
|
(defvar org-version "4.61"
|
||||||
"The version number of the file org.el.")
|
"The version number of the file org.el.")
|
||||||
(defun org-version ()
|
(defun org-version ()
|
||||||
(interactive)
|
(interactive)
|
||||||
|
@ -734,7 +745,7 @@ this variable requires a restart of Emacs to become effective."
|
||||||
:type 'string)
|
:type 'string)
|
||||||
|
|
||||||
(defcustom org-table-number-regexp
|
(defcustom org-table-number-regexp
|
||||||
"^\\([<>]?[-+^.0-9]*[0-9][-+^.0-9eEdDx()%]*\\|\\(0[xX]\\)[0-9a-fA-F]+\\)$"
|
"^\\([<>]?[-+^.0-9]*[0-9][-+^.0-9eEdDx()%:]*\\|\\(0[xX]\\)[0-9a-fA-F]+\\)$"
|
||||||
"Regular expression for recognizing numbers in table columns.
|
"Regular expression for recognizing numbers in table columns.
|
||||||
If a table column contains mostly numbers, it will be aligned to the
|
If a table column contains mostly numbers, it will be aligned to the
|
||||||
right. If not, it will be aligned to the left.
|
right. If not, it will be aligned to the left.
|
||||||
|
@ -1677,6 +1688,7 @@ cmd An agenda command, similar to the above. However, tree commands
|
||||||
So valid commands for a set are:
|
So valid commands for a set are:
|
||||||
(agenda)
|
(agenda)
|
||||||
(alltodo)
|
(alltodo)
|
||||||
|
(stuck)
|
||||||
(todo \"match\" options)
|
(todo \"match\" options)
|
||||||
(tags \"match\" options )
|
(tags \"match\" options )
|
||||||
(tags-todo \"match\" options)
|
(tags-todo \"match\" options)
|
||||||
|
@ -1707,6 +1719,7 @@ precedence over the general options."
|
||||||
(choice
|
(choice
|
||||||
(const :tag "Agenda" (agenda))
|
(const :tag "Agenda" (agenda))
|
||||||
(const :tag "TODO list" (alltodo))
|
(const :tag "TODO list" (alltodo))
|
||||||
|
(const :tag "Stuck projects" (stuck))
|
||||||
(list :tag "Tags search"
|
(list :tag "Tags search"
|
||||||
(const :format "" tags)
|
(const :format "" tags)
|
||||||
(string :tag "Match")
|
(string :tag "Match")
|
||||||
|
@ -3521,6 +3534,11 @@ The following commands are available:
|
||||||
;; Paragraphs and auto-filling
|
;; Paragraphs and auto-filling
|
||||||
(org-set-autofill-regexps)
|
(org-set-autofill-regexps)
|
||||||
(org-update-radio-target-regexp)
|
(org-update-radio-target-regexp)
|
||||||
|
|
||||||
|
;; Comment characters
|
||||||
|
(org-set-local 'comment-start "#")
|
||||||
|
(org-set-local 'comment-padding " ")
|
||||||
|
|
||||||
;; Make isearch reveal context
|
;; Make isearch reveal context
|
||||||
(if (or (featurep 'xemacs)
|
(if (or (featurep 'xemacs)
|
||||||
(not (boundp 'outline-isearch-open-invisible-function)))
|
(not (boundp 'outline-isearch-open-invisible-function)))
|
||||||
|
@ -4519,16 +4537,28 @@ in the region."
|
||||||
(org-demote)))
|
(org-demote)))
|
||||||
(org-fix-position-after-promote))
|
(org-fix-position-after-promote))
|
||||||
|
|
||||||
|
;; FIXME: check and remove
|
||||||
|
;(defun org-fix-position-after-promote ()
|
||||||
|
; "Make sure that after pro/demotion cursor position is right."
|
||||||
|
; (if (and (or (eobp) (equal (char-after) ?\n))
|
||||||
|
; (save-excursion
|
||||||
|
; (skip-chars-backward "a-zA-Z0-9_@")
|
||||||
|
; (looking-at org-todo-regexp)))
|
||||||
|
; (insert " "))
|
||||||
|
; (and (equal (char-after) ?\ )
|
||||||
|
; (equal (char-before) ?*)
|
||||||
|
; (forward-char 1)))
|
||||||
|
|
||||||
(defun org-fix-position-after-promote ()
|
(defun org-fix-position-after-promote ()
|
||||||
"Make sure that after pro/demotion cursor position is right."
|
"Make sure that after pro/demotion cursor position is right."
|
||||||
(if (and (or (eobp) (equal (char-after) ?\n))
|
(let ((pos (point)))
|
||||||
(save-excursion
|
(when (save-excursion
|
||||||
(skip-chars-backward "a-zA-Z0-9_@")
|
(beginning-of-line 1)
|
||||||
(looking-at org-todo-regexp)))
|
(looking-at org-todo-line-regexp)
|
||||||
(insert " "))
|
(or (equal pos (match-end 1)) (equal pos (match-end 2))))
|
||||||
(and (equal (char-after) ?\ )
|
(cond ((eobp) (insert " "))
|
||||||
(equal (char-before) ?*)
|
((eolp) (insert " "))
|
||||||
(forward-char 1)))
|
((equal (char-after) ?\ ) (forward-char 1))))))
|
||||||
|
|
||||||
(defun org-get-legal-level (level &optional change)
|
(defun org-get-legal-level (level &optional change)
|
||||||
"Rectify a level change under the influence of `org-odd-levels-only'
|
"Rectify a level change under the influence of `org-odd-levels-only'
|
||||||
|
@ -5440,7 +5470,15 @@ this heading. "
|
||||||
(tr-org-todo-regexp org-todo-regexp)
|
(tr-org-todo-regexp org-todo-regexp)
|
||||||
(tr-org-todo-line-regexp org-todo-line-regexp)
|
(tr-org-todo-line-regexp org-todo-line-regexp)
|
||||||
(this-buffer (current-buffer))
|
(this-buffer (current-buffer))
|
||||||
|
(org-archive-location org-archive-location)
|
||||||
|
(re "^#\\+ARCHIVE:[ \t]+\\(\\S-.*\\S-\\)[ \t]*$")
|
||||||
file heading buffer level newfile-p)
|
file heading buffer level newfile-p)
|
||||||
|
|
||||||
|
;; Try to find a local archive location
|
||||||
|
(save-excursion
|
||||||
|
(if (or (re-search-backward re nil t) (re-search-forward re nil t))
|
||||||
|
(setq org-archive-location (match-string 1))))
|
||||||
|
|
||||||
(if (string-match "\\(.*\\)::\\(.*\\)" org-archive-location)
|
(if (string-match "\\(.*\\)::\\(.*\\)" org-archive-location)
|
||||||
(progn
|
(progn
|
||||||
(setq file (format (match-string 1 org-archive-location)
|
(setq file (format (match-string 1 org-archive-location)
|
||||||
|
@ -6239,6 +6277,13 @@ is always the old value."
|
||||||
val)
|
val)
|
||||||
(forward-char 1) ""))
|
(forward-char 1) ""))
|
||||||
|
|
||||||
|
(defun org-table-field-info ()
|
||||||
|
(interactive)
|
||||||
|
(let ((current (org-table-get-field))
|
||||||
|
(col (org-table-current-column))
|
||||||
|
(line (org-table-current-line)))
|
||||||
|
(message "Table data line %d, column %d" line col)))
|
||||||
|
|
||||||
(defun org-table-current-column ()
|
(defun org-table-current-column ()
|
||||||
"Find out which column we are in.
|
"Find out which column we are in.
|
||||||
When called interactively, column is also displayed in echo area."
|
When called interactively, column is also displayed in echo area."
|
||||||
|
@ -6252,6 +6297,20 @@ When called interactively, column is also displayed in echo area."
|
||||||
(if (interactive-p) (message "This is table column %d" cnt))
|
(if (interactive-p) (message "This is table column %d" cnt))
|
||||||
cnt)))
|
cnt)))
|
||||||
|
|
||||||
|
(defun org-table-current-line ()
|
||||||
|
"Find out what table line we are in.
|
||||||
|
Only datalins count for this."
|
||||||
|
(interactive)
|
||||||
|
(if (interactive-p) (org-table-check-inside-data-field))
|
||||||
|
(save-excursion
|
||||||
|
(let ((cnt 0) (pos (point)))
|
||||||
|
(goto-char (org-table-begin))
|
||||||
|
(while (< (point) pos)
|
||||||
|
(if (looking-at org-table-dataline-regexp) (setq cnt (1+ cnt)))
|
||||||
|
(beginning-of-line 2))
|
||||||
|
(if (interactive-p) (message "This is table line %d" cnt))
|
||||||
|
cnt)))
|
||||||
|
|
||||||
(defun org-table-goto-column (n &optional on-delim force)
|
(defun org-table-goto-column (n &optional on-delim force)
|
||||||
"Move the cursor to the Nth column in the current table line.
|
"Move the cursor to the Nth column in the current table line.
|
||||||
With optional argument ON-DELIM, stop with point before the left delimiter
|
With optional argument ON-DELIM, stop with point before the left delimiter
|
||||||
|
@ -7071,8 +7130,22 @@ the current column, to avoid unnecessary parsing."
|
||||||
(defvar org-table-named-field-locations nil
|
(defvar org-table-named-field-locations nil
|
||||||
"Alist with locations of named fields.")
|
"Alist with locations of named fields.")
|
||||||
|
|
||||||
|
(defun org-table-current-field-formula ()
|
||||||
|
"Return the formula active for the current field.
|
||||||
|
Assumes that specials are in place."
|
||||||
|
(let* ((name (car (rassoc (list (org-current-line)
|
||||||
|
(org-table-current-column))
|
||||||
|
org-table-named-field-locations)))
|
||||||
|
(scol (if name name
|
||||||
|
(int-to-string (org-table-current-column))))
|
||||||
|
(stored-list (org-table-get-stored-formulas))
|
||||||
|
(stored (cdr (assoc scol stored-list))))
|
||||||
|
(if stored (concat (if name ":=" "=") stored))))
|
||||||
|
|
||||||
(defun org-table-get-formula (&optional equation named)
|
(defun org-table-get-formula (&optional equation named)
|
||||||
"Read a formula from the minibuffer, offer stored formula as default."
|
"Read a formula from the minibuffer, offer stored formula as default.
|
||||||
|
When NAMED is non-nil, look for a named equation.
|
||||||
|
When JUST-RETURN is non-nil, return equation without prompting."
|
||||||
(let* ((name (car (rassoc (list (org-current-line)
|
(let* ((name (car (rassoc (list (org-current-line)
|
||||||
(org-table-current-column))
|
(org-table-current-column))
|
||||||
org-table-named-field-locations)))
|
org-table-named-field-locations)))
|
||||||
|
@ -7379,6 +7452,11 @@ formula, by storing it in a special line below the table. When called
|
||||||
with a `C-u' prefix, the current field must ba a named field, and the
|
with a `C-u' prefix, the current field must ba a named field, and the
|
||||||
formula is installed as valid in only this specific field.
|
formula is installed as valid in only this specific field.
|
||||||
|
|
||||||
|
When called with two `C-u' prefixes, insert the active equation
|
||||||
|
for the field back into the current field, so that it can be
|
||||||
|
edited there. This is useful in order to use \\[org-show-variable] to check
|
||||||
|
the referenced fields.
|
||||||
|
|
||||||
When called, the command first prompts for a formula, which is read in
|
When called, the command first prompts for a formula, which is read in
|
||||||
the minibuffer. Previously entered formulas are available through the
|
the minibuffer. Previously entered formulas are available through the
|
||||||
history list, and the last used formula is offered as a default.
|
history list, and the last used formula is offered as a default.
|
||||||
|
@ -7400,110 +7478,116 @@ not overwrite the stored one."
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(org-table-check-inside-data-field)
|
(org-table-check-inside-data-field)
|
||||||
(org-table-get-specials)
|
(org-table-get-specials)
|
||||||
(let* (fields
|
(if (equal arg '(16))
|
||||||
(ndown (if (integerp arg) arg 1))
|
(let ((eq (org-table-current-field-formula)))
|
||||||
(org-table-automatic-realign nil)
|
(or eq (error "No equation active for current field"))
|
||||||
(case-fold-search nil)
|
(org-table-get-field nil eq)
|
||||||
(down (> ndown 1))
|
(org-table-align)
|
||||||
(formula (if (and equation suppress-store)
|
(setq org-table-may-need-update t))
|
||||||
equation
|
(let* (fields
|
||||||
(org-table-get-formula equation (equal arg '(4)))))
|
(ndown (if (integerp arg) arg 1))
|
||||||
(n0 (org-table-current-column))
|
(org-table-automatic-realign nil)
|
||||||
(modes (copy-sequence org-calc-default-modes))
|
(case-fold-search nil)
|
||||||
n form fmt x ev orig c lispp)
|
(down (> ndown 1))
|
||||||
;; Parse the format string. Since we have a lot of modes, this is
|
(formula (if (and equation suppress-store)
|
||||||
;; a lot of work. However, I think calc still uses most of the time.
|
equation
|
||||||
(if (string-match ";" formula)
|
(org-table-get-formula equation (equal arg '(4)))))
|
||||||
(let ((tmp (org-split-string formula ";")))
|
(n0 (org-table-current-column))
|
||||||
(setq formula (car tmp)
|
(modes (copy-sequence org-calc-default-modes))
|
||||||
fmt (concat (cdr (assoc "%" org-table-local-parameters))
|
n form fmt x ev orig c lispp)
|
||||||
(nth 1 tmp)))
|
;; Parse the format string. Since we have a lot of modes, this is
|
||||||
(while (string-match "\\([pnfse]\\)\\(-?[0-9]+\\)" fmt)
|
;; a lot of work. However, I think calc still uses most of the time.
|
||||||
(setq c (string-to-char (match-string 1 fmt))
|
(if (string-match ";" formula)
|
||||||
n (string-to-number (match-string 2 fmt)))
|
(let ((tmp (org-split-string formula ";")))
|
||||||
(if (= c ?p)
|
(setq formula (car tmp)
|
||||||
(setq modes (org-set-calc-mode 'calc-internal-prec n))
|
fmt (concat (cdr (assoc "%" org-table-local-parameters))
|
||||||
(setq modes (org-set-calc-mode
|
(nth 1 tmp)))
|
||||||
'calc-float-format
|
(while (string-match "\\([pnfse]\\)\\(-?[0-9]+\\)" fmt)
|
||||||
(list (cdr (assoc c '((?n . float) (?f . fix)
|
(setq c (string-to-char (match-string 1 fmt))
|
||||||
(?s . sci) (?e . eng))))
|
n (string-to-number (match-string 2 fmt)))
|
||||||
n))))
|
(if (= c ?p)
|
||||||
(setq fmt (replace-match "" t t fmt)))
|
(setq modes (org-set-calc-mode 'calc-internal-prec n))
|
||||||
(while (string-match "[DRFS]" fmt)
|
(setq modes (org-set-calc-mode
|
||||||
(setq modes (org-set-calc-mode (match-string 0 fmt)))
|
'calc-float-format
|
||||||
(setq fmt (replace-match "" t t fmt)))
|
(list (cdr (assoc c '((?n . float) (?f . fix)
|
||||||
(unless (string-match "\\S-" fmt)
|
(?s . sci) (?e . eng))))
|
||||||
(setq fmt nil))))
|
n))))
|
||||||
(if (and (not suppress-const) org-table-formula-use-constants)
|
(setq fmt (replace-match "" t t fmt)))
|
||||||
(setq formula (org-table-formula-substitute-names formula)))
|
(while (string-match "[DRFS]" fmt)
|
||||||
(setq orig (or (get-text-property 1 :orig-formula formula) "?"))
|
(setq modes (org-set-calc-mode (match-string 0 fmt)))
|
||||||
(while (> ndown 0)
|
(setq fmt (replace-match "" t t fmt)))
|
||||||
(setq fields (org-split-string
|
(unless (string-match "\\S-" fmt)
|
||||||
(buffer-substring
|
(setq fmt nil))))
|
||||||
(point-at-bol) (point-at-eol)) " *| *"))
|
(if (and (not suppress-const) org-table-formula-use-constants)
|
||||||
(if org-table-formula-numbers-only
|
(setq formula (org-table-formula-substitute-names formula)))
|
||||||
(setq fields (mapcar
|
(setq orig (or (get-text-property 1 :orig-formula formula) "?"))
|
||||||
(lambda (x) (number-to-string (string-to-number x)))
|
(while (> ndown 0)
|
||||||
fields)))
|
(setq fields (org-split-string
|
||||||
(setq ndown (1- ndown))
|
(buffer-substring
|
||||||
(setq form (copy-sequence formula)
|
(point-at-bol) (point-at-eol)) " *| *"))
|
||||||
lispp (equal (substring form 0 2) "'("))
|
(if org-table-formula-numbers-only
|
||||||
;; Insert the references to fields in same row
|
(setq fields (mapcar
|
||||||
(while (string-match "\\$\\([0-9]+\\)?" form)
|
(lambda (x) (number-to-string (string-to-number x)))
|
||||||
(setq n (if (match-beginning 1)
|
fields)))
|
||||||
(string-to-number (match-string 1 form))
|
(setq ndown (1- ndown))
|
||||||
n0)
|
(setq form (copy-sequence formula)
|
||||||
x (nth (1- n) fields))
|
lispp (and (> (length form) 2)(equal (substring form 0 2) "'(")))
|
||||||
(unless x (error "Invalid field specifier \"%s\""
|
;; Insert the references to fields in same row
|
||||||
(match-string 0 form)))
|
(while (string-match "\\$\\([0-9]+\\)?" form)
|
||||||
(if (equal x "") (setq x "0"))
|
(setq n (if (match-beginning 1)
|
||||||
(setq form (replace-match
|
(string-to-number (match-string 1 form))
|
||||||
(if lispp x (concat "(" x ")"))
|
n0)
|
||||||
t t form)))
|
x (nth (1- n) fields))
|
||||||
;; Insert ranges in current column
|
(unless x (error "Invalid field specifier \"%s\""
|
||||||
(while (string-match "\\&[-I0-9]+" form)
|
(match-string 0 form)))
|
||||||
(setq form (replace-match
|
(if (equal x "") (setq x "0"))
|
||||||
(save-match-data
|
(setq form (replace-match
|
||||||
(org-table-get-vertical-vector (match-string 0 form)
|
(if lispp x (concat "(" x ")"))
|
||||||
nil n0))
|
t t form)))
|
||||||
t t form)))
|
;; Insert ranges in current column
|
||||||
(if lispp
|
(while (string-match "\\&[-I0-9]+" form)
|
||||||
(setq ev (eval (eval (read form)))
|
(setq form (replace-match
|
||||||
ev (if (numberp ev) (number-to-string ev) ev))
|
(save-match-data
|
||||||
(or (fboundp 'calc-eval)
|
(org-table-get-vertical-vector (match-string 0 form)
|
||||||
(error "Calc does not seem to be installed, and is needed to evaluate the formula"))
|
nil n0))
|
||||||
(setq ev (calc-eval (cons form modes)
|
t t form)))
|
||||||
(if org-table-formula-numbers-only 'num))))
|
(if lispp
|
||||||
|
(setq ev (eval (eval (read form)))
|
||||||
|
ev (if (numberp ev) (number-to-string ev) ev))
|
||||||
|
(or (fboundp 'calc-eval)
|
||||||
|
(error "Calc does not seem to be installed, and is needed to evaluate the formula"))
|
||||||
|
(setq ev (calc-eval (cons form modes)
|
||||||
|
(if org-table-formula-numbers-only 'num))))
|
||||||
|
|
||||||
(when org-table-formula-debug
|
(when org-table-formula-debug
|
||||||
(with-output-to-temp-buffer "*Help*"
|
(with-output-to-temp-buffer "*Help*"
|
||||||
(princ (format "Substitution history of formula
|
(princ (format "Substitution history of formula
|
||||||
Orig: %s
|
Orig: %s
|
||||||
$xyz-> %s
|
$xyz-> %s
|
||||||
$1-> %s\n" orig formula form))
|
$1-> %s\n" orig formula form))
|
||||||
(if (listp ev)
|
(if (listp ev)
|
||||||
(princ (format " %s^\nError: %s"
|
(princ (format " %s^\nError: %s"
|
||||||
(make-string (car ev) ?\-) (nth 1 ev)))
|
(make-string (car ev) ?\-) (nth 1 ev)))
|
||||||
(princ (format "Result: %s\nFormat: %s\nFinal: %s"
|
(princ (format "Result: %s\nFormat: %s\nFinal: %s"
|
||||||
ev (or fmt "NONE")
|
ev (or fmt "NONE")
|
||||||
(if fmt (format fmt (string-to-number ev)) ev)))))
|
(if fmt (format fmt (string-to-number ev)) ev)))))
|
||||||
(shrink-window-if-larger-than-buffer (get-buffer-window "*Help*"))
|
(shrink-window-if-larger-than-buffer (get-buffer-window "*Help*"))
|
||||||
(unless (and (interactive-p) (not ndown))
|
(unless (and (interactive-p) (not ndown))
|
||||||
(unless (let (inhibit-redisplay)
|
(unless (let (inhibit-redisplay)
|
||||||
(y-or-n-p "Debugging Formula. Continue to next? "))
|
(y-or-n-p "Debugging Formula. Continue to next? "))
|
||||||
(org-table-align)
|
(org-table-align)
|
||||||
(error "Abort"))
|
(error "Abort"))
|
||||||
(delete-window (get-buffer-window "*Help*"))
|
(delete-window (get-buffer-window "*Help*"))
|
||||||
(message "")))
|
(message "")))
|
||||||
(if (listp ev) (setq fmt nil ev "#ERROR"))
|
(if (listp ev) (setq fmt nil ev "#ERROR"))
|
||||||
(org-table-justify-field-maybe
|
(org-table-justify-field-maybe
|
||||||
(if fmt (format fmt (string-to-number ev)) ev))
|
(if fmt (format fmt (string-to-number ev)) ev))
|
||||||
(if (and down (> ndown 0) (looking-at ".*\n[ \t]*|[^-]"))
|
(if (and down (> ndown 0) (looking-at ".*\n[ \t]*|[^-]"))
|
||||||
(call-interactively 'org-return)
|
(call-interactively 'org-return)
|
||||||
(setq ndown 0)))
|
(setq ndown 0)))
|
||||||
(and down (org-table-maybe-recalculate-line))
|
(and down (org-table-maybe-recalculate-line))
|
||||||
(or suppress-align (and org-table-may-need-update
|
(or suppress-align (and org-table-may-need-update
|
||||||
(org-table-align)))))
|
(org-table-align))))))
|
||||||
|
|
||||||
(defun org-table-recalculate (&optional all noalign)
|
(defun org-table-recalculate (&optional all noalign)
|
||||||
"Recalculate the current table line by applying all stored formulas.
|
"Recalculate the current table line by applying all stored formulas.
|
||||||
|
@ -7627,8 +7711,7 @@ Parameters get priority."
|
||||||
(defun org-table-edit-formulas ()
|
(defun org-table-edit-formulas ()
|
||||||
"Edit the formulas of the current table in a separate buffer."
|
"Edit the formulas of the current table in a separate buffer."
|
||||||
(interactive)
|
(interactive)
|
||||||
(unless (org-at-table-p)
|
(unless (org-at-table-p) (error "Not at a table"))
|
||||||
(error "Not at a table"))
|
|
||||||
(org-table-get-specials)
|
(org-table-get-specials)
|
||||||
(let ((eql (org-table-get-stored-formulas))
|
(let ((eql (org-table-get-stored-formulas))
|
||||||
(pos (move-marker (make-marker) (point)))
|
(pos (move-marker (make-marker) (point)))
|
||||||
|
@ -7658,6 +7741,7 @@ Parameters get priority."
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(message "Edit formulas and finish with `C-c C-c'.")))
|
(message "Edit formulas and finish with `C-c C-c'.")))
|
||||||
|
|
||||||
|
;; FIXME: make this work in fields, directly highlighting the referenced fields
|
||||||
(defun org-show-variable ()
|
(defun org-show-variable ()
|
||||||
"Show the location/value of the $ expression at point."
|
"Show the location/value of the $ expression at point."
|
||||||
(interactive)
|
(interactive)
|
||||||
|
@ -7896,7 +7980,7 @@ to execute outside of tables."
|
||||||
(list (org-key 'S-return) 'org-table-copy-down)
|
(list (org-key 'S-return) 'org-table-copy-down)
|
||||||
'([(meta return)] org-table-wrap-region)
|
'([(meta return)] org-table-wrap-region)
|
||||||
'("\C-c\C-q" org-table-wrap-region)
|
'("\C-c\C-q" org-table-wrap-region)
|
||||||
'("\C-c?" org-table-current-column)
|
'("\C-c?" org-table-field-info)
|
||||||
'("\C-c " org-table-blank-field)
|
'("\C-c " org-table-blank-field)
|
||||||
'("\C-c+" org-table-sum)
|
'("\C-c+" org-table-sum)
|
||||||
'("\C-c=" org-table-eval-formula)
|
'("\C-c=" org-table-eval-formula)
|
||||||
|
@ -8157,6 +8241,7 @@ For file links, arg negates `org-context-in-file-links'."
|
||||||
((fboundp 'gnus-group-name)
|
((fboundp 'gnus-group-name)
|
||||||
(gnus-group-name))
|
(gnus-group-name))
|
||||||
(t "???"))))
|
(t "???"))))
|
||||||
|
(unless group (error "Not on a group"))
|
||||||
(setq cpltxt (concat
|
(setq cpltxt (concat
|
||||||
(if (org-xor arg org-usenet-links-prefer-google)
|
(if (org-xor arg org-usenet-links-prefer-google)
|
||||||
"http://groups.google.com/groups?group="
|
"http://groups.google.com/groups?group="
|
||||||
|
@ -8165,11 +8250,9 @@ For file links, arg negates `org-context-in-file-links'."
|
||||||
link (org-make-link cpltxt))))
|
link (org-make-link cpltxt))))
|
||||||
|
|
||||||
((memq major-mode '(gnus-summary-mode gnus-article-mode))
|
((memq major-mode '(gnus-summary-mode gnus-article-mode))
|
||||||
(require 'gnus-sum) ; FIXME: I don't think this is needed, actually
|
|
||||||
(and (eq major-mode 'gnus-article-mode) (gnus-article-show-summary))
|
(and (eq major-mode 'gnus-article-mode) (gnus-article-show-summary))
|
||||||
(gnus-summary-beginning-of-article)
|
(let* ((group gnus-newsgroup-name)
|
||||||
(let* ((group (car gnus-article-current))
|
(article (gnus-summary-article-number))
|
||||||
(article (cdr gnus-article-current))
|
|
||||||
(header (gnus-summary-article-header article))
|
(header (gnus-summary-article-header article))
|
||||||
(author (mail-header-from header))
|
(author (mail-header-from header))
|
||||||
(message-id (mail-header-id header))
|
(message-id (mail-header-id header))
|
||||||
|
@ -9046,14 +9129,10 @@ onto the ring."
|
||||||
(require 'gnus)
|
(require 'gnus)
|
||||||
(funcall (cdr (assq 'gnus org-link-frame-setup)))
|
(funcall (cdr (assq 'gnus org-link-frame-setup)))
|
||||||
(if gnus-other-frame-object (select-frame gnus-other-frame-object))
|
(if gnus-other-frame-object (select-frame gnus-other-frame-object))
|
||||||
(if group (gnus-fetch-group group))
|
(cond ((and group article)
|
||||||
(if article
|
(gnus-group-read-group t nil group (list (string-to-number article)))
|
||||||
(or (gnus-summary-goto-article article nil 'force)
|
(gnus-summary-select-article))
|
||||||
(if (fboundp 'gnus-summary-insert-cached-articles)
|
(group (gnus-group-jump-to-group group))))
|
||||||
(progn
|
|
||||||
(gnus-summary-insert-cached-articles)
|
|
||||||
(gnus-summary-goto-article article nil 'force))
|
|
||||||
(message "Message could not be found.")))))
|
|
||||||
|
|
||||||
(defun org-follow-vm-link (&optional folder article readonly)
|
(defun org-follow-vm-link (&optional folder article readonly)
|
||||||
"Follow a VM link to FOLDER and ARTICLE."
|
"Follow a VM link to FOLDER and ARTICLE."
|
||||||
|
@ -9902,7 +9981,7 @@ For calling through lisp, arg is also interpreted in the following way:
|
||||||
;; Fixup tag positioning
|
;; Fixup tag positioning
|
||||||
(and org-auto-align-tags (org-set-tags nil t))
|
(and org-auto-align-tags (org-set-tags nil t))
|
||||||
(run-hooks 'org-after-todo-state-change-hook)
|
(run-hooks 'org-after-todo-state-change-hook)
|
||||||
;; (and (equal state org-done-string) (org-auto-repeat-maybe))
|
(and (equal state org-done-string) (org-auto-repeat-maybe))
|
||||||
))
|
))
|
||||||
;; Fixup cursor location if close to the keyword
|
;; Fixup cursor location if close to the keyword
|
||||||
(if (and (outline-on-heading-p)
|
(if (and (outline-on-heading-p)
|
||||||
|
@ -9914,7 +9993,6 @@ For calling through lisp, arg is also interpreted in the following way:
|
||||||
(goto-char (or (match-end 2) (match-end 1)))
|
(goto-char (or (match-end 2) (match-end 1)))
|
||||||
(just-one-space))))
|
(just-one-space))))
|
||||||
|
|
||||||
|
|
||||||
(defun org-get-repeat ()
|
(defun org-get-repeat ()
|
||||||
"Return the REPEAT statement of this entry."
|
"Return the REPEAT statement of this entry."
|
||||||
(save-match-data
|
(save-match-data
|
||||||
|
@ -10011,9 +10089,7 @@ be removed."
|
||||||
((eq what 'closed) org-closed-string))
|
((eq what 'closed) org-closed-string))
|
||||||
" ")
|
" ")
|
||||||
(org-insert-time-stamp time nil (eq what 'closed))
|
(org-insert-time-stamp time nil (eq what 'closed))
|
||||||
(end-of-line 1)
|
(end-of-line 1))
|
||||||
;;FIXME (and (eq what 'closed) (org-add-log-maybe 'done))
|
|
||||||
)
|
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(widen)
|
(widen)
|
||||||
(if (looking-at "[ \t]+\r?\n")
|
(if (looking-at "[ \t]+\r?\n")
|
||||||
|
@ -10025,6 +10101,9 @@ be removed."
|
||||||
(defvar org-log-note-state nil)
|
(defvar org-log-note-state nil)
|
||||||
(defvar org-log-note-window-configuration nil)
|
(defvar org-log-note-window-configuration nil)
|
||||||
(defvar org-log-note-return-to (make-marker))
|
(defvar org-log-note-return-to (make-marker))
|
||||||
|
(defvar org-log-post-message nil
|
||||||
|
"Message to be displayed after a log note has been stored.
|
||||||
|
The auto-repeater uses this.")
|
||||||
|
|
||||||
(defun org-add-log-maybe (&optional purpose state findpos)
|
(defun org-add-log-maybe (&optional purpose state findpos)
|
||||||
(save-excursion
|
(save-excursion
|
||||||
|
@ -10051,7 +10130,7 @@ be removed."
|
||||||
(goto-char org-log-note-marker)
|
(goto-char org-log-note-marker)
|
||||||
(switch-to-buffer-other-window "*Org Note*")
|
(switch-to-buffer-other-window "*Org Note*")
|
||||||
(erase-buffer)
|
(erase-buffer)
|
||||||
(org-mode)
|
(let ((org-inhibit-startup t)) (org-mode))
|
||||||
(insert (format "# Insert note for %s, finish with C-c C-c.\n\n"
|
(insert (format "# Insert note for %s, finish with C-c C-c.\n\n"
|
||||||
(cond
|
(cond
|
||||||
((eq org-log-note-purpose 'clock-out) "stopped clock")
|
((eq org-log-note-purpose 'clock-out) "stopped clock")
|
||||||
|
@ -10089,6 +10168,7 @@ be removed."
|
||||||
(set-buffer (marker-buffer org-log-note-marker))
|
(set-buffer (marker-buffer org-log-note-marker))
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(goto-char org-log-note-marker)
|
(goto-char org-log-note-marker)
|
||||||
|
(move-marker org-log-note-marker nil)
|
||||||
(end-of-line 1)
|
(end-of-line 1)
|
||||||
(if (not (bolp)) (insert "\n")) (indent-relative nil)
|
(if (not (bolp)) (insert "\n")) (indent-relative nil)
|
||||||
(setq ind (concat (buffer-substring (point-at-bol) (point)) " "))
|
(setq ind (concat (buffer-substring (point-at-bol) (point)) " "))
|
||||||
|
@ -10097,7 +10177,9 @@ be removed."
|
||||||
(insert "\n" ind (pop lines))))))
|
(insert "\n" ind (pop lines))))))
|
||||||
(set-window-configuration org-log-note-window-configuration)
|
(set-window-configuration org-log-note-window-configuration)
|
||||||
(with-current-buffer (marker-buffer org-log-note-return-to)
|
(with-current-buffer (marker-buffer org-log-note-return-to)
|
||||||
(goto-char 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)))
|
||||||
|
|
||||||
(defvar org-occur-highlights nil)
|
(defvar org-occur-highlights nil)
|
||||||
(make-variable-buffer-local 'org-occur-highlights)
|
(make-variable-buffer-local 'org-occur-highlights)
|
||||||
|
@ -10303,7 +10385,6 @@ are included in the output."
|
||||||
(when (eq action 'sparse-tree) (org-overview))
|
(when (eq action 'sparse-tree) (org-overview))
|
||||||
(while (re-search-forward re nil t)
|
(while (re-search-forward re nil t)
|
||||||
(catch :skip
|
(catch :skip
|
||||||
(and (eq action 'agenda) (org-agenda-skip))
|
|
||||||
(setq todo (if (match-end 1) (match-string 2))
|
(setq todo (if (match-end 1) (match-string 2))
|
||||||
tags (if (match-end 4) (match-string 4)))
|
tags (if (match-end 4) (match-string 4)))
|
||||||
(goto-char (setq lspos (1+ (match-beginning 0))))
|
(goto-char (setq lspos (1+ (match-beginning 0))))
|
||||||
|
@ -10329,6 +10410,7 @@ are included in the output."
|
||||||
(eval matcher)
|
(eval matcher)
|
||||||
(or (not org-agenda-skip-archived-trees)
|
(or (not org-agenda-skip-archived-trees)
|
||||||
(not (member org-archive-tag tags-list))))
|
(not (member org-archive-tag tags-list))))
|
||||||
|
(and (eq action 'agenda) (org-agenda-skip))
|
||||||
;; list this headline
|
;; list this headline
|
||||||
(if (eq action 'sparse-tree)
|
(if (eq action 'sparse-tree)
|
||||||
(progn
|
(progn
|
||||||
|
@ -12110,9 +12192,9 @@ L Timeline for current buffer # List stuck projects (!=configure)
|
||||||
'(face bold))
|
'(face bold))
|
||||||
(cond
|
(cond
|
||||||
((stringp type) type)
|
((stringp type) type)
|
||||||
((eq type 'tags) "Tags query")
|
|
||||||
((eq type 'todo) "TODO keyword")
|
((eq type 'todo) "TODO keyword")
|
||||||
((eq type 'tags-tree) "Tags (TODO)")
|
((eq type 'tags) "Tags query")
|
||||||
|
((eq type 'tags-todo) "Tags (TODO)")
|
||||||
((eq type 'tags-tree) "Tags tree")
|
((eq type 'tags-tree) "Tags tree")
|
||||||
((eq type 'todo-tree) "TODO kwd tree")
|
((eq type 'todo-tree) "TODO kwd tree")
|
||||||
((eq type 'occur-tree) "Occur tree")
|
((eq type 'occur-tree) "Occur tree")
|
||||||
|
@ -12120,11 +12202,10 @@ L Timeline for current buffer # List stuck projects (!=configure)
|
||||||
(t "???"))
|
(t "???"))
|
||||||
(if (stringp match)
|
(if (stringp match)
|
||||||
(org-add-props match nil 'face 'org-warning)
|
(org-add-props match nil 'face 'org-warning)
|
||||||
(format "set of %d commands" (+ -2 (length entry)))))))
|
(format "set of %d commands" (length match))))))
|
||||||
(if restrict-ok
|
(if restrict-ok
|
||||||
(insert "\n"
|
(insert "\n"
|
||||||
(org-add-props "1 Restrict call to current buffer 0 Restrict call to region or subtree" nil 'face 'org-table)))
|
(org-add-props "1 Restrict call to current buffer 0 Restrict call to region or subtree" nil 'face 'org-table)))
|
||||||
|
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(if (fboundp 'fit-window-to-buffer) (fit-window-to-buffer))
|
(if (fboundp 'fit-window-to-buffer) (fit-window-to-buffer))
|
||||||
(message "Press key for agenda command%s"
|
(message "Press key for agenda command%s"
|
||||||
|
@ -12217,6 +12298,8 @@ L Timeline for current buffer # List stuck projects (!=configure)
|
||||||
(call-interactively 'org-agenda-list))
|
(call-interactively 'org-agenda-list))
|
||||||
((eq type 'alltodo)
|
((eq type 'alltodo)
|
||||||
(call-interactively 'org-todo-list))
|
(call-interactively 'org-todo-list))
|
||||||
|
((eq type 'stuck)
|
||||||
|
(call-interactively 'org-agenda-list-stuck-projects))
|
||||||
((eq type 'tags)
|
((eq type 'tags)
|
||||||
(org-let2 gprops lprops
|
(org-let2 gprops lprops
|
||||||
'(org-tags-view current-prefix-arg match)))
|
'(org-tags-view current-prefix-arg match)))
|
||||||
|
@ -12490,7 +12573,9 @@ to all future agenda commands. Instead, bind it with `let' to scope
|
||||||
it dynamically into the agenda-constructing command.")
|
it dynamically into the agenda-constructing command.")
|
||||||
|
|
||||||
(defun org-agenda-skip ()
|
(defun org-agenda-skip ()
|
||||||
"Throw to `:skip' in places that should be skipped."
|
"Throw to `:skip' in places that should be skipped.
|
||||||
|
Also moves point to the end of the skipped region, so that search can
|
||||||
|
continue from there."
|
||||||
(let ((p (point-at-bol)) to)
|
(let ((p (point-at-bol)) to)
|
||||||
(and org-agenda-skip-archived-trees
|
(and org-agenda-skip-archived-trees
|
||||||
(get-text-property p :org-archived)
|
(get-text-property p :org-archived)
|
||||||
|
@ -13035,8 +13120,11 @@ MATCH is being ignored."
|
||||||
(todo todo-re)
|
(todo todo-re)
|
||||||
(tags tags-re)
|
(tags tags-re)
|
||||||
(t (error "No information how to identify unstuck projects"))))
|
(t (error "No information how to identify unstuck projects"))))
|
||||||
(org-tags-view nil matcher)))
|
(org-tags-view nil matcher)
|
||||||
|
(with-current-buffer org-agenda-buffer-name
|
||||||
|
(setq org-agenda-redo-command
|
||||||
|
'(org-agenda-list-stuck-projects
|
||||||
|
(or current-prefix-arg org-last-arg))))))
|
||||||
|
|
||||||
;;; Diary integration
|
;;; Diary integration
|
||||||
|
|
||||||
|
@ -14072,6 +14160,13 @@ With prefix ARG, go back that many times `org-agenda-ndays'."
|
||||||
"Detach overlay INDEX."
|
"Detach overlay INDEX."
|
||||||
(funcall (if (featurep 'xemacs) 'detach-extent 'delete-overlay) org-hl))
|
(funcall (if (featurep 'xemacs) 'detach-extent 'delete-overlay) org-hl))
|
||||||
|
|
||||||
|
(defun org-highlight-until-next-command (beg end &optional buffer)
|
||||||
|
(org-highlight beg end buffer)
|
||||||
|
(add-hook 'pre-command-hook 'org-unhighlight-once))
|
||||||
|
|
||||||
|
(defun org-unhighlight-once ()
|
||||||
|
(remove-hook 'pre-command-hook 'org-unhighlight-once)
|
||||||
|
(org-unhighlight))
|
||||||
|
|
||||||
(defun org-agenda-follow-mode ()
|
(defun org-agenda-follow-mode ()
|
||||||
"Toggle follow mode in an agenda buffer."
|
"Toggle follow mode in an agenda buffer."
|
||||||
|
@ -14462,19 +14557,21 @@ the tags of the current headline come last."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let (tags)
|
(let (tags)
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(goto-char (or pos (point)))
|
(save-restriction
|
||||||
(save-match-data
|
(widen)
|
||||||
(org-back-to-heading t)
|
(goto-char (or pos (point)))
|
||||||
(condition-case nil
|
(save-match-data
|
||||||
(while t
|
(org-back-to-heading t)
|
||||||
(if (looking-at "[^\r\n]+?:\\([a-zA-Z_@0-9:]+\\):[ \t]*\\([\n\r]\\|\\'\\)")
|
(condition-case nil
|
||||||
(setq tags (append (org-split-string
|
(while t
|
||||||
(org-match-string-no-properties 1) ":")
|
(if (looking-at "[^\r\n]+?:\\([a-zA-Z_@0-9:]+\\):[ \t]*\\([\n\r]\\|\\'\\)")
|
||||||
tags)))
|
(setq tags (append (org-split-string
|
||||||
|
(org-match-string-no-properties 1) ":")
|
||||||
|
tags)))
|
||||||
(or org-use-tag-inheritance (error ""))
|
(or org-use-tag-inheritance (error ""))
|
||||||
(org-up-heading-all 1))
|
(org-up-heading-all 1))
|
||||||
(error nil))))
|
(error nil))))
|
||||||
tags))
|
tags)))
|
||||||
|
|
||||||
;; FIXME: should fix the tags property of the agenda line.
|
;; FIXME: should fix the tags property of the agenda line.
|
||||||
(defun org-agenda-set-tags ()
|
(defun org-agenda-set-tags ()
|
||||||
|
@ -15004,15 +15101,14 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]."
|
||||||
(opt org-format-latex-options)
|
(opt org-format-latex-options)
|
||||||
(matchers (plist-get opt :matchers))
|
(matchers (plist-get opt :matchers))
|
||||||
(re-list org-latex-regexps)
|
(re-list org-latex-regexps)
|
||||||
(cnt 0) txt link beg end re e oldfiles
|
(cnt 0) txt link beg end re e checkdir
|
||||||
m n block linkfile movefile ov)
|
m n block linkfile movefile ov)
|
||||||
;; Make sure the directory exists
|
|
||||||
(or (file-directory-p todir) (make-directory todir))
|
|
||||||
;; Check if there are old images files with this prefix, and remove them
|
;; Check if there are old images files with this prefix, and remove them
|
||||||
(setq oldfiles (directory-files
|
(when (file-directory-p todir)
|
||||||
todir 'full
|
(mapc 'delete-file
|
||||||
(concat (regexp-quote prefixnodir) "_[0-9]+\\.png$")))
|
(directory-files
|
||||||
(while oldfiles (delete-file (pop oldfiles)))
|
todir 'full
|
||||||
|
(concat (regexp-quote prefixnodir) "_[0-9]+\\.png$"))))
|
||||||
;; Check the different regular expressions
|
;; Check the different regular expressions
|
||||||
(while (setq e (pop re-list))
|
(while (setq e (pop re-list))
|
||||||
(setq m (car e) re (nth 1 e) n (nth 2 e)
|
(setq m (car e) re (nth 1 e) n (nth 2 e)
|
||||||
|
@ -15029,6 +15125,9 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]."
|
||||||
link (concat block "[[file:" linkfile "]]" block))
|
link (concat block "[[file:" linkfile "]]" block))
|
||||||
(if msg (message msg cnt))
|
(if msg (message msg cnt))
|
||||||
(goto-char beg)
|
(goto-char beg)
|
||||||
|
(unless checkdir ; make sure the directory exists
|
||||||
|
(setq checkdir t)
|
||||||
|
(or (file-directory-p todir) (make-directory todir)))
|
||||||
(org-create-formula-image
|
(org-create-formula-image
|
||||||
txt movefile opt)
|
txt movefile opt)
|
||||||
(if overlays
|
(if overlays
|
||||||
|
@ -17090,7 +17189,7 @@ file and store it under the name `org-combined-agenda-icalendar-file'."
|
||||||
(and (not started) (setq started t)
|
(and (not started) (setq started t)
|
||||||
(org-start-icalendar-file org-icalendar-combined-name))
|
(org-start-icalendar-file org-icalendar-combined-name))
|
||||||
(org-start-icalendar-file category))
|
(org-start-icalendar-file category))
|
||||||
(org-print-icalendar-entries combine category)
|
(org-print-icalendar-entries combine)
|
||||||
(when (or (and combine (not files)) (not combine))
|
(when (or (and combine (not files)) (not combine))
|
||||||
(org-finish-icalendar-file)
|
(org-finish-icalendar-file)
|
||||||
(set-buffer ical-buffer)
|
(set-buffer ical-buffer)
|
||||||
|
@ -17104,23 +17203,23 @@ The iCalendar buffer is still current when this hook is run.
|
||||||
A good way to use this is to tell a desktop calenndar application to re-read
|
A good way to use this is to tell a desktop calenndar application to re-read
|
||||||
the iCalendar file.")
|
the iCalendar file.")
|
||||||
|
|
||||||
|
(defun org-print-icalendar-entries (&optional combine)
|
||||||
;; FIXME: Strip down the links
|
|
||||||
(defun org-print-icalendar-entries (&optional combine category)
|
|
||||||
"Print iCalendar entries for the current Org-mode file to `standard-output'.
|
"Print iCalendar entries for the current Org-mode file to `standard-output'.
|
||||||
When COMBINE is non nil, add the category to each line."
|
When COMBINE is non nil, add the category to each line."
|
||||||
(let ((re2 (concat "--?-?\\(" org-ts-regexp "\\)"))
|
(let ((re2 (concat "--?-?\\(" org-ts-regexp "\\)"))
|
||||||
|
(org-category-table (org-get-category-table))
|
||||||
(dts (org-ical-ts-to-string
|
(dts (org-ical-ts-to-string
|
||||||
(format-time-string (cdr org-time-stamp-formats) (current-time))
|
(format-time-string (cdr org-time-stamp-formats) (current-time))
|
||||||
"DTSTART"))
|
"DTSTART"))
|
||||||
hd ts ts2 state (inc t) pos scheduledp deadlinep tmp pri)
|
hd ts ts2 state (inc t) pos scheduledp deadlinep tmp pri category)
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(while (re-search-forward org-ts-regexp nil t)
|
(while (re-search-forward org-ts-regexp nil t)
|
||||||
(setq pos (match-beginning 0)
|
(setq pos (match-beginning 0)
|
||||||
ts (match-string 0)
|
ts (match-string 0)
|
||||||
inc t
|
inc t
|
||||||
hd (org-get-heading))
|
hd (org-get-heading)
|
||||||
|
category (org-get-category))
|
||||||
(if (looking-at re2)
|
(if (looking-at re2)
|
||||||
(progn
|
(progn
|
||||||
(goto-char (match-end 0))
|
(goto-char (match-end 0))
|
||||||
|
@ -17312,6 +17411,7 @@ The XOXO buffer is named *xoxo-<source buffer name>*"
|
||||||
(define-key org-mode-map [(tab)] 'org-cycle)
|
(define-key org-mode-map [(tab)] 'org-cycle)
|
||||||
(define-key org-mode-map [(control tab)] 'org-force-cycle-archived)
|
(define-key org-mode-map [(control tab)] 'org-force-cycle-archived)
|
||||||
(define-key org-mode-map [(meta tab)] 'org-complete)
|
(define-key org-mode-map [(meta tab)] 'org-complete)
|
||||||
|
(define-key org-mode-map "\M-\t" 'org-complete)
|
||||||
(define-key org-mode-map "\M-\C-i" 'org-complete)
|
(define-key org-mode-map "\M-\C-i" 'org-complete)
|
||||||
;; The following line is necessary under Suse GNU/Linux
|
;; The following line is necessary under Suse GNU/Linux
|
||||||
(unless (featurep 'xemacs)
|
(unless (featurep 'xemacs)
|
||||||
|
@ -17370,8 +17470,9 @@ The XOXO buffer is named *xoxo-<source buffer name>*"
|
||||||
(define-key org-mode-map "\C-c\C-a" 'show-all) ; in case allout messed up.
|
(define-key org-mode-map "\C-c\C-a" 'show-all) ; in case allout messed up.
|
||||||
(define-key org-mode-map "\C-c\C-r" 'org-reveal)
|
(define-key org-mode-map "\C-c\C-r" 'org-reveal)
|
||||||
(define-key org-mode-map "\C-xns" 'org-narrow-to-subtree)
|
(define-key org-mode-map "\C-xns" 'org-narrow-to-subtree)
|
||||||
(define-key org-mode-map "\C-c$" 'org-archive-subtree)
|
(define-key org-mode-map "\C-c\C-x\C-s" 'org-archive-subtree)
|
||||||
(define-key org-mode-map "\C-c\C-x\C-a" 'org-toggle-archive-tag)
|
(define-key org-mode-map "\C-c\C-x\C-a" 'org-toggle-archive-tag)
|
||||||
|
(define-key org-mode-map "\C-c$" 'org-archive-subtree)
|
||||||
(define-key org-mode-map "\C-c\C-xb" 'org-tree-to-indirect-buffer)
|
(define-key org-mode-map "\C-c\C-xb" 'org-tree-to-indirect-buffer)
|
||||||
(define-key org-mode-map "\C-c\C-j" 'org-goto)
|
(define-key org-mode-map "\C-c\C-j" 'org-goto)
|
||||||
(define-key org-mode-map "\C-c\C-t" 'org-todo)
|
(define-key org-mode-map "\C-c\C-t" 'org-todo)
|
||||||
|
@ -17396,6 +17497,7 @@ The XOXO buffer is named *xoxo-<source buffer name>*"
|
||||||
(define-key org-mode-map "\C-c>" 'org-goto-calendar)
|
(define-key org-mode-map "\C-c>" 'org-goto-calendar)
|
||||||
(define-key org-mode-map "\C-c<" 'org-date-from-calendar)
|
(define-key org-mode-map "\C-c<" 'org-date-from-calendar)
|
||||||
(define-key org-mode-map [(control ?,)] 'org-cycle-agenda-files)
|
(define-key org-mode-map [(control ?,)] 'org-cycle-agenda-files)
|
||||||
|
(define-key org-mode-map [(control ?\')] 'org-cycle-agenda-files)
|
||||||
(define-key org-mode-map "\C-c[" 'org-agenda-file-to-front)
|
(define-key org-mode-map "\C-c[" 'org-agenda-file-to-front)
|
||||||
(define-key org-mode-map "\C-c]" 'org-remove-file)
|
(define-key org-mode-map "\C-c]" 'org-remove-file)
|
||||||
(define-key org-mode-map "\C-c-" 'org-table-insert-hline)
|
(define-key org-mode-map "\C-c-" 'org-table-insert-hline)
|
||||||
|
@ -17403,7 +17505,7 @@ The XOXO buffer is named *xoxo-<source buffer name>*"
|
||||||
(define-key org-mode-map "\C-c\C-c" 'org-ctrl-c-ctrl-c)
|
(define-key org-mode-map "\C-c\C-c" 'org-ctrl-c-ctrl-c)
|
||||||
(define-key org-mode-map "\C-c#" 'org-update-checkbox-count)
|
(define-key org-mode-map "\C-c#" 'org-update-checkbox-count)
|
||||||
(define-key org-mode-map "\C-m" 'org-return)
|
(define-key org-mode-map "\C-m" 'org-return)
|
||||||
(define-key org-mode-map "\C-c?" 'org-table-current-column)
|
(define-key org-mode-map "\C-c?" 'org-table-field-info)
|
||||||
(define-key org-mode-map "\C-c " 'org-table-blank-field)
|
(define-key org-mode-map "\C-c " 'org-table-blank-field)
|
||||||
(define-key org-mode-map "\C-c+" 'org-table-sum)
|
(define-key org-mode-map "\C-c+" 'org-table-sum)
|
||||||
(define-key org-mode-map "\C-c=" 'org-table-eval-formula)
|
(define-key org-mode-map "\C-c=" 'org-table-eval-formula)
|
||||||
|
@ -18519,6 +18621,14 @@ Show the heading too, if it is currently invisible."
|
||||||
|
|
||||||
;;;; Experimental code
|
;;;; Experimental code
|
||||||
|
|
||||||
|
(defcustom org-allow-auto-repeat t
|
||||||
|
"Non-nil means, find REPEAT cookies in entries and apply them.
|
||||||
|
A repeat cookie looks like REPEAT(+1m) and causes deadlines and schedules
|
||||||
|
to repeat themselves shifted by a certain amount of time, each time an
|
||||||
|
entry is marked DONE."
|
||||||
|
:group 'org???
|
||||||
|
:type 'boolean)
|
||||||
|
|
||||||
(defun org-auto-repeat-maybe ()
|
(defun org-auto-repeat-maybe ()
|
||||||
"Check if the current headline contains a REPEAT key.
|
"Check if the current headline contains a REPEAT key.
|
||||||
If yes, set TODO state back to what it was and change any SCHEDULED
|
If yes, set TODO state back to what it was and change any SCHEDULED
|
||||||
|
@ -18534,6 +18644,10 @@ This function should be run in the `org-after-todo-state-change-hook'."
|
||||||
(org-todo (if (eq 'org-todo-interpretation 'type)
|
(org-todo (if (eq 'org-todo-interpretation 'type)
|
||||||
last-state
|
last-state
|
||||||
(car org-todo-keywords)))
|
(car org-todo-keywords)))
|
||||||
|
(unless (memq 'org-add-log-note (default-value 'post-command-hook))
|
||||||
|
;; Make sure a note is taken
|
||||||
|
(let ((org-log-done '(done)))
|
||||||
|
(org-add-log-maybe 'done org-done-string 'findpos)))
|
||||||
(org-back-to-heading t)
|
(org-back-to-heading t)
|
||||||
(org-add-planning-info nil nil 'closed)
|
(org-add-planning-info nil nil 'closed)
|
||||||
(setq re (concat "\\(" org-scheduled-time-regexp "\\)\\|\\("
|
(setq re (concat "\\(" org-scheduled-time-regexp "\\)\\|\\("
|
||||||
|
@ -18549,7 +18663,8 @@ This function should be run in the `org-after-todo-state-change-hook'."
|
||||||
(if (equal what "w") (setq n (* n 7) what "d"))
|
(if (equal what "w") (setq n (* n 7) what "d"))
|
||||||
(org-timestamp-change n (cdr (assoc what whata))))
|
(org-timestamp-change n (cdr (assoc what whata))))
|
||||||
(setq msg (concat msg type org-last-changed-timestamp " ")))
|
(setq msg (concat msg type org-last-changed-timestamp " ")))
|
||||||
(message msg) (sit-for 1))))
|
(setq org-log-post-message msg)
|
||||||
|
(message msg))))
|
||||||
|
|
||||||
;;;; Finish up
|
;;;; Finish up
|
||||||
|
|
||||||
|
@ -18559,3 +18674,4 @@ This function should be run in the `org-after-todo-state-change-hook'."
|
||||||
|
|
||||||
;; arch-tag: e77da1a7-acc7-4336-b19e-efa25af3f9fd
|
;; arch-tag: e77da1a7-acc7-4336-b19e-efa25af3f9fd
|
||||||
;;; org.el ends here
|
;;; org.el ends here
|
||||||
|
|
133
org.texi
133
org.texi
|
@ -3,8 +3,8 @@
|
||||||
@setfilename ../info/org
|
@setfilename ../info/org
|
||||||
@settitle Org Mode Manual
|
@settitle Org Mode Manual
|
||||||
|
|
||||||
@set VERSION 4.60
|
@set VERSION 4.61
|
||||||
@set DATE December 2006
|
@set DATE January 2007
|
||||||
|
|
||||||
@dircategory Emacs
|
@dircategory Emacs
|
||||||
@direntry
|
@direntry
|
||||||
|
@ -171,6 +171,7 @@ Timestamps
|
||||||
* Time stamps:: Assigning a time to a tree entry
|
* Time stamps:: Assigning a time to a tree entry
|
||||||
* Creating timestamps:: Commands which insert timestamps
|
* Creating timestamps:: Commands which insert timestamps
|
||||||
* Custom time format:: If you cannot work with the ISO format
|
* Custom time format:: If you cannot work with the ISO format
|
||||||
|
* Repeating items::
|
||||||
* Progress logging:: Documenting when what work was done.
|
* Progress logging:: Documenting when what work was done.
|
||||||
|
|
||||||
Creating timestamps
|
Creating timestamps
|
||||||
|
@ -845,12 +846,12 @@ different location, either in the current file, or even in a different
|
||||||
file, the archive file.
|
file, the archive file.
|
||||||
|
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@kindex C-c $
|
@kindex C-c C-x C-s
|
||||||
@item C-c $
|
@item C-c C-x C-s
|
||||||
Archive the subtree starting at the cursor position to the location
|
Archive the subtree starting at the cursor position to the location
|
||||||
given by @code{org-archive-location}.
|
given by @code{org-archive-location}.
|
||||||
@kindex C-u C-c $
|
@kindex C-u C-c C-x C-s
|
||||||
@item C-u C-c $
|
@item C-u C-c C-x C-s
|
||||||
Check if any direct children of the current headline could be moved to
|
Check if any direct children of the current headline could be moved to
|
||||||
the archive. To do this, each subtree is checked for open TODO entries.
|
the archive. To do this, each subtree is checked for open TODO entries.
|
||||||
If none are found, the command offers to move it to the archive
|
If none are found, the command offers to move it to the archive
|
||||||
|
@ -863,7 +864,17 @@ The default archive location is a file in the same directory as the
|
||||||
current file, with the name derived by appending @file{_archive} to the
|
current file, with the name derived by appending @file{_archive} to the
|
||||||
current file name. For information and examples on how to change this,
|
current file name. For information and examples on how to change this,
|
||||||
see the documentation string of the variable
|
see the documentation string of the variable
|
||||||
@code{org-archive-location}.
|
@code{org-archive-location}. There is also an in-buffer option for
|
||||||
|
setting this variable, for example
|
||||||
|
|
||||||
|
@example
|
||||||
|
#+ARCHIVE: %s_done::
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
You may have several such lines in the buffer, they will then be valid
|
||||||
|
for the entries following the line (the first will also apply to any
|
||||||
|
text before it).
|
||||||
|
|
||||||
@node Sparse trees, Plain lists, Archiving, Document structure
|
@node Sparse trees, Plain lists, Archiving, Document structure
|
||||||
@section Sparse trees
|
@section Sparse trees
|
||||||
|
@ -1214,7 +1225,8 @@ result.
|
||||||
@kindex C-c '
|
@kindex C-c '
|
||||||
@item C-c '
|
@item C-c '
|
||||||
Edit all formulas associated with the current table in a separate
|
Edit all formulas associated with the current table in a separate
|
||||||
buffer.
|
buffer. Use @kbd{C-u C-u C-c =} to edit the formula directly in the
|
||||||
|
current field, to allow checking complex references with @kbd{C-c ?}.
|
||||||
|
|
||||||
@kindex C-c *
|
@kindex C-c *
|
||||||
@item C-c *
|
@item C-c *
|
||||||
|
@ -1232,8 +1244,9 @@ region, change all marks in the region.
|
||||||
|
|
||||||
@kindex C-c ?
|
@kindex C-c ?
|
||||||
@item C-c ?
|
@item C-c ?
|
||||||
Which table column is the cursor in? Displays number >0 in echo
|
Display line and column number of current field in echo area. If the
|
||||||
area.
|
cursor is currently editing a formula, the field or range referenced by
|
||||||
|
the expression at point will be highlighted.
|
||||||
|
|
||||||
@cindex region, active
|
@cindex region, active
|
||||||
@cindex active region
|
@cindex active region
|
||||||
|
@ -2540,6 +2553,7 @@ planning.
|
||||||
* Time stamps:: Assigning a time to a tree entry
|
* Time stamps:: Assigning a time to a tree entry
|
||||||
* Creating timestamps:: Commands which insert timestamps
|
* Creating timestamps:: Commands which insert timestamps
|
||||||
* Custom time format:: If you cannot work with the ISO format
|
* Custom time format:: If you cannot work with the ISO format
|
||||||
|
* Repeating items:: Deadlines that come back again and again
|
||||||
* Progress logging:: Documenting when what work was done.
|
* Progress logging:: Documenting when what work was done.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
@ -2802,7 +2816,7 @@ One month back.
|
||||||
Choose date in calendar (only if nothing was typed into minibuffer).
|
Choose date in calendar (only if nothing was typed into minibuffer).
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Custom time format, Progress logging, Creating timestamps, Timestamps
|
@node Custom time format, Repeating items, Creating timestamps, Timestamps
|
||||||
@section Custom time format
|
@section Custom time format
|
||||||
@cindex custom date/time format
|
@cindex custom date/time format
|
||||||
@cindex time format, custom
|
@cindex time format, custom
|
||||||
|
@ -2845,7 +2859,48 @@ using dates in tables, table alignment will be messed up. If the custom
|
||||||
format is shorter, things do work as expected.
|
format is shorter, things do work as expected.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@node Progress logging, , Custom time format, Timestamps
|
@node Repeating items, Progress logging, Custom time format, Timestamps
|
||||||
|
@section Repeating items
|
||||||
|
@cindex TODO items, repeating
|
||||||
|
@cindex Deadlines, repeating
|
||||||
|
@cindex Scheduling, repeating
|
||||||
|
|
||||||
|
Org-mode integrates with the Emacs calendar and diary to display cyclic
|
||||||
|
appointments, anniversaries and other special entries in the agenda
|
||||||
|
(@pxref{Weekly/Daily agenda}). However, it can be useful to have
|
||||||
|
certain deadlines and scheduling items to auto-repeat. The advantage of
|
||||||
|
a deadline or scheduled item is that the they produce warnings ahead of
|
||||||
|
time and automatically forward themselves in the agenda until they are
|
||||||
|
done. The abstract difference is therefore between cyclic
|
||||||
|
@i{appointments} and cyclic @i{action items}. For appointments you
|
||||||
|
should use the diary, for actions you can uses an org-mode deadline or
|
||||||
|
scheduling time stamp together with a REPEAT cookie. For example:
|
||||||
|
|
||||||
|
@example
|
||||||
|
* TODO Replace batteries in smoke detector REPEAT(+18m)
|
||||||
|
SCHEDULED: <2007-01-01 Mon>
|
||||||
|
|
||||||
|
* TODO Get dentist appointment REPEAT(+6m)
|
||||||
|
SCHEDULED: <2006-12-19 Tue>
|
||||||
|
|
||||||
|
* TODO Tax report to IRS REPEAT(+1y)
|
||||||
|
DEADLINE: <2007-04-01 Sun>
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Each time you try to mark one of these entries DONE using @kbd{C-c C-t},
|
||||||
|
they will automatically switch back to the state TODO, and the
|
||||||
|
deadline/scheduling will be shifted accordingly. The time units
|
||||||
|
recognized by org-mode are year (y), month (m), week (w), and day (d).
|
||||||
|
Org-mode will also prompt you for a note and record the fact that you
|
||||||
|
have closed this item in a note under the headline.
|
||||||
|
|
||||||
|
One unusual property of these repeating items is that only one instance
|
||||||
|
of each exist at any given time. So if you look back or ahead in the
|
||||||
|
agenda, you will not find past and future instances, only the current
|
||||||
|
one will show up. Use a cyclic diary entry if you need all past and
|
||||||
|
future instances to be visible in the angenda.
|
||||||
|
|
||||||
|
@node Progress logging, , Repeating items, Timestamps
|
||||||
@section Progress Logging
|
@section Progress Logging
|
||||||
@cindex progress logging
|
@cindex progress logging
|
||||||
@cindex logging, of progress
|
@cindex logging, of progress
|
||||||
|
@ -3004,29 +3059,6 @@ The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in
|
||||||
the agenda (@pxref{Weekly/Daily agenda}) to show which tasks have been
|
the agenda (@pxref{Weekly/Daily agenda}) to show which tasks have been
|
||||||
worked on or closed during a day.
|
worked on or closed during a day.
|
||||||
|
|
||||||
@c @node Self-repeating deadlines
|
|
||||||
@c @section Self-repeating deadlines
|
|
||||||
@c
|
|
||||||
@c Org-mode integrates with the Emacs calendar and diary to display cyclic
|
|
||||||
@c appointments and anniversaries in the agenda (@pxref{The weekly/daily
|
|
||||||
@c agenda}). However, it can be useful to have certain deadlines and
|
|
||||||
@c scheduling items to auto-repeat. The advantage of a deadline or
|
|
||||||
@c scheduled item is that the they produce warnings ahead of time and
|
|
||||||
@c automatically forward themselves in the agenda until they are done. The
|
|
||||||
@c abstract difference is therefore between cyclic @i{appointments} and
|
|
||||||
@c cyclic @i{action items}. For appointments you should use the diary, for
|
|
||||||
@c actions you can uses an org-mode deadline or scheduling time stamp
|
|
||||||
@c together with a REPEAT cookie. For example:
|
|
||||||
@c
|
|
||||||
@c @example
|
|
||||||
@c * TODO Income tax to IRS REPEAT(+1y)
|
|
||||||
@c DEADLINE: <2006-12-19 Tue>
|
|
||||||
@c @end example
|
|
||||||
@c
|
|
||||||
@c Each time you try to mark this entry DONE using @kbd{C-c C-t}, it will
|
|
||||||
@c automatically switch back to the state TODO, and the deadline will be
|
|
||||||
@c shifted by 1 year.
|
|
||||||
|
|
||||||
@node Tags, Agenda views, Timestamps, Top
|
@node Tags, Agenda views, Timestamps, Top
|
||||||
@chapter Tags
|
@chapter Tags
|
||||||
@cindex tags
|
@cindex tags
|
||||||
|
@ -5352,7 +5384,12 @@ These lines (several are allowed) specify link abbreviations.
|
||||||
@item #+CATEGORY:
|
@item #+CATEGORY:
|
||||||
This line sets the category for the agenda file. The category applies
|
This line sets the category for the agenda file. The category applies
|
||||||
for all subsequent lines until the next @samp{#+CATEGORY} line, or the
|
for all subsequent lines until the next @samp{#+CATEGORY} line, or the
|
||||||
end of the file.
|
end of the file. The first such line also applies to any entries before it.
|
||||||
|
@item #+ARCHIVE: %s_done::
|
||||||
|
This line sets the archive location for the agenda file. It applies for
|
||||||
|
all subsequent lines until the next @samp{#+CATEGORY} line, or the end
|
||||||
|
of the file. The first such line also applies to any entries before it.
|
||||||
|
The correspoinding variable is @code{org-archive-location}.
|
||||||
@item #+TBLFM:
|
@item #+TBLFM:
|
||||||
This line contains the formulas for the table directly above the line.
|
This line contains the formulas for the table directly above the line.
|
||||||
@item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+OPTIONS:
|
@item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+OPTIONS:
|
||||||
|
@ -5715,9 +5752,13 @@ caused by the preparations for the 22.1 release. In the mean time,
|
||||||
A blogging plug-in for @file{org-publish.el}.@*
|
A blogging plug-in for @file{org-publish.el}.@*
|
||||||
@url{http://dto.freeshell.org/notebook/OrgMode.html}.
|
@url{http://dto.freeshell.org/notebook/OrgMode.html}.
|
||||||
@cindex @file{blorg.el}
|
@cindex @file{blorg.el}
|
||||||
@item @file{blorg.el} by Bastien Guerry
|
@item @file{blorg.el} by Bastien Guerry
|
||||||
Publish Org-mode files as
|
Publish Org-mode files as
|
||||||
blogs. @url{http://www.cognition.ens.fr/~guerry/blorg.html}.
|
blogs. @url{http://www.cognition.ens.fr/~guerry/blorg.html}.
|
||||||
|
@cindex @file{org2rem.el}
|
||||||
|
@item @file{org2rem.el} by Bastien Guerry
|
||||||
|
Translates Org-mode files into something readable by
|
||||||
|
Remind. @url{http://www.cognition.ens.fr/~guerry/u/org2rem.el}.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Dynamic blocks, Special agenda views, Extensions, Extensions and Hacking
|
@node Dynamic blocks, Special agenda views, Extensions, Extensions and Hacking
|
||||||
|
@ -5853,11 +5894,11 @@ into a notes file.
|
||||||
|
|
||||||
Since the first release, hundreds of emails to me or on
|
Since the first release, hundreds of emails to me or on
|
||||||
@code{emacs-orgmode@@gnu.org} have provided a constant stream of bug
|
@code{emacs-orgmode@@gnu.org} have provided a constant stream of bug
|
||||||
reports, feedback, new ideas, and sometimes even patches and add-on
|
reports, feedback, new ideas, and sometimes patches and add-on code.
|
||||||
code. Many thanks to everyone who has helped to improve this package.
|
Many thanks to everyone who has helped to improve this package. I am
|
||||||
I am trying to keep here a list of the people who had significant
|
trying to keep here a list of the people who had significant influence
|
||||||
influence in shaping one or more aspects of Org-mode. The list may not
|
in shaping one or more aspects of Org-mode. The list may not be
|
||||||
be complete, if I have forgotten someone, please accept my apologies and
|
complete, if I have forgotten someone, please accept my apologies and
|
||||||
let me know.
|
let me know.
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
|
@ -5894,10 +5935,13 @@ around a match in a hidden outline tree.
|
||||||
@item
|
@item
|
||||||
@i{Niels Giessen} had the idea to automatically archive DONE trees.
|
@i{Niels Giessen} had the idea to automatically archive DONE trees.
|
||||||
@item
|
@item
|
||||||
@i{Bastien Guerry} provided extensive feedback.
|
@i{Bastien Guerry} provided extensive feedback and some patches, and
|
||||||
|
translated David O'Toole's tutorial into French.
|
||||||
@item
|
@item
|
||||||
@i{Kai Grossjohann} pointed out key-binding conflicts with other packages.
|
@i{Kai Grossjohann} pointed out key-binding conflicts with other packages.
|
||||||
@item
|
@item
|
||||||
|
@i{Shidai Liu} (``Leo'') provided extensive feedback and some patches.
|
||||||
|
@item
|
||||||
@i{Leon Liu} asked for embedded LaTeX and tested it.
|
@i{Leon Liu} asked for embedded LaTeX and tested it.
|
||||||
@item
|
@item
|
||||||
@i{Stefan Monnier} provided a patch to keep the Emacs-Lisp compiler
|
@i{Stefan Monnier} provided a patch to keep the Emacs-Lisp compiler
|
||||||
|
@ -5908,6 +5952,9 @@ happy.
|
||||||
@i{Tim O'Callaghan} suggested in-file links, search options for general
|
@i{Tim O'Callaghan} suggested in-file links, search options for general
|
||||||
file links, and TAGS.
|
file links, and TAGS.
|
||||||
@item
|
@item
|
||||||
|
@i{Takeshi Okano} translated the manual and David O'Toole's tutorial
|
||||||
|
into Japanese.
|
||||||
|
@item
|
||||||
@i{Oliver Oppitz} suggested multi-state TODO items.
|
@i{Oliver Oppitz} suggested multi-state TODO items.
|
||||||
@item
|
@item
|
||||||
@i{Scott Otterson} sparked the introduction of descriptive text for
|
@i{Scott Otterson} sparked the introduction of descriptive text for
|
||||||
|
|
BIN
orgcard.pdf
BIN
orgcard.pdf
Binary file not shown.
10
orgcard.tex
10
orgcard.tex
|
@ -1,5 +1,5 @@
|
||||||
% Reference Card for Org Mode
|
% Reference Card for Org Mode
|
||||||
\def\orgversionnumber{4.60}
|
\def\orgversionnumber{4.61}
|
||||||
\def\year{2006}
|
\def\year{2006}
|
||||||
%
|
%
|
||||||
%**start of header
|
%**start of header
|
||||||
|
@ -317,8 +317,8 @@ are preserved on all copies.
|
||||||
\key{toggle ARCHIVE tag}{C-c C-x C-a}
|
\key{toggle ARCHIVE tag}{C-c C-x C-a}
|
||||||
\metax{mark fully done children}{C-u C-c C-x C-a}
|
\metax{mark fully done children}{C-u C-c C-x C-a}
|
||||||
\key{force cycling of an ARCHIVEd tree}{C-TAB}
|
\key{force cycling of an ARCHIVEd tree}{C-TAB}
|
||||||
\key{move subtree to archive file}{C-c \$}
|
\key{move subtree to archive file}{C-c C-x C-s}
|
||||||
\key{move all fully done children}{C-u C-c \$}
|
\key{move all fully done children}{C-u C-c C-x C-s}
|
||||||
To set archive location for current file, add a line like$^2$:
|
To set archive location for current file, add a line like$^2$:
|
||||||
\vskip -1mm
|
\vskip -1mm
|
||||||
\beginexample%
|
\beginexample%
|
||||||
|
@ -391,7 +391,7 @@ Outside of tables, the same keys may have other functionality.
|
||||||
|
|
||||||
\key{rotate calculation mark through \# * ! \^ \_ \$}{C-\#}
|
\key{rotate calculation mark through \# * ! \^ \_ \$}{C-\#}
|
||||||
|
|
||||||
\key{display column number cursor is in}{C-c ?}
|
\key{show line, column, formula reference}{C-c ?}
|
||||||
\key{sum numbers in current column/rectangle}{C-c +}
|
\key{sum numbers in current column/rectangle}{C-c +}
|
||||||
\key{copy down with increment}{S-RET$^3$}
|
\key{copy down with increment}{S-RET$^3$}
|
||||||
|
|
||||||
|
@ -566,7 +566,7 @@ after ``{\tt :}'', and dictionary words elsewhere.
|
||||||
|
|
||||||
\key{add/move current file to front of agenda}{C-c [}
|
\key{add/move current file to front of agenda}{C-c [}
|
||||||
\key{remove current file from your agenda}{C-c ]}
|
\key{remove current file from your agenda}{C-c ]}
|
||||||
\key{cycle through agenda file list}{C-,}
|
\key{cycle through agenda file list}{C-'}
|
||||||
|
|
||||||
\key{compile agenda for the current week}{C-c a a$^1$}
|
\key{compile agenda for the current week}{C-c a a$^1$}
|
||||||
\key{compile global TODO list}{C-c a t$^1$}
|
\key{compile global TODO list}{C-c a t$^1$}
|
||||||
|
|
Loading…
Reference in New Issue