Release 4.44
This commit is contained in:
parent
49d91490d9
commit
93a4128a6f
422
org
422
org
|
@ -5,7 +5,7 @@ START-INFO-DIR-ENTRY
|
|||
* Org Mode: (org). outline-based notes management and organizer
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This manual is for Org-mode (version 4.43).
|
||||
This manual is for Org-mode (version 4.44).
|
||||
|
||||
Copyright (C) 2004, 2005, 2006 Free Software Foundation
|
||||
|
||||
|
@ -27,7 +27,7 @@ File: org, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
|
|||
Org Mode Manual
|
||||
***************
|
||||
|
||||
This manual is for Org-mode (version 4.43).
|
||||
This manual is for Org-mode (version 4.44).
|
||||
|
||||
Copyright (C) 2004, 2005, 2006 Free Software Foundation
|
||||
|
||||
|
@ -67,7 +67,8 @@ This manual is for Org-mode (version 4.43).
|
|||
Introduction
|
||||
|
||||
* Summary:: Brief summary of what Org-mode does
|
||||
* Installation:: How to install Org-mode
|
||||
* Installation:: How to install a downloaded version of Org-mode
|
||||
* Activation:: How to activate Org-mode for certain buffers.
|
||||
* Feedback:: Bug reports, ideas, patches etc.
|
||||
|
||||
Document Structure
|
||||
|
@ -239,7 +240,8 @@ File: org, Node: Introduction, Next: Document structure, Prev: Top, Up: Top
|
|||
* Menu:
|
||||
|
||||
* Summary:: Brief summary of what Org-mode does
|
||||
* Installation:: How to install Org-mode
|
||||
* Installation:: How to install a downloaded version of Org-mode
|
||||
* Activation:: How to activate Org-mode for certain buffers.
|
||||
* Feedback:: Bug reports, ideas, patches etc.
|
||||
|
||||
|
||||
|
@ -289,15 +291,54 @@ questions (FAQ), links to tutorials etc. This page is located at
|
|||
`http://www.astro.uva.nl/~dominik/Tools/org/'.
|
||||
|
||||
|
||||
File: org, Node: Installation, Next: Feedback, Prev: Summary, Up: Introduction
|
||||
File: org, Node: Installation, Next: Activation, Prev: Summary, Up: Introduction
|
||||
|
||||
1.2 Installation and Activation
|
||||
===============================
|
||||
1.2 Installation
|
||||
================
|
||||
|
||||
If Org-mode is part of the Emacs distribution or an XEmacs package, you
|
||||
only need to copy the following lines to your `.emacs' file. The last
|
||||
two lines define _global_ keys for the commands `org-store-link' and
|
||||
`org-agenda' - please choose suitable keys yourself.
|
||||
Important: If Org-mode is part of the Emacs distribution or an XEmacs
|
||||
package, please skip this section and go directly to *Note Activation::.
|
||||
|
||||
If you have downloaded Org-mode from the Web, you must take the
|
||||
following steps to install it: Go into the Org-mode distribution
|
||||
directory and edit the top section of the file `Makefile'. You must
|
||||
set the name of the Emacs binary (likely either `emacs' or `xemacs'),
|
||||
and the paths to the directories where local Lisp and Info files are
|
||||
kept. If you don't have access to the system-wide directories, create
|
||||
your own two directories for these files, enter them into the Makefile,
|
||||
and make sure Emacs finds the Lisp files by adding the following line
|
||||
to `.emacs':
|
||||
|
||||
(setq load-path (cons "~/path/to/lispdir" load-path))
|
||||
|
||||
XEmacs users now need to install the file `noutline.el' from the
|
||||
`xemacs' subdirectory of the Org-mode distribution. Use the command:
|
||||
|
||||
make install-noutline
|
||||
|
||||
Now byte-compile and install the Lisp files with the shell commands:
|
||||
|
||||
make
|
||||
make install
|
||||
|
||||
If you want to install the info documentation, use this command:
|
||||
|
||||
make install-info
|
||||
|
||||
Then add to `.emacs':
|
||||
|
||||
;; This line only if org-mode is not part of the X/Emacs distribution.
|
||||
(require 'org-install)
|
||||
|
||||
|
||||
File: org, Node: Activation, Next: Feedback, Prev: Installation, Up: Introduction
|
||||
|
||||
1.3 Activation
|
||||
==============
|
||||
|
||||
Add the following lines to your `.emacs' file. The last two lines
|
||||
define _global_ keys for the commands `org-store-link' and `org-agenda'
|
||||
- please choose suitable keys yourself.
|
||||
|
||||
;; The following lines are always needed. Choose your own keys.
|
||||
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
|
||||
|
@ -306,22 +347,11 @@ two lines define _global_ keys for the commands `org-store-link' and
|
|||
|
||||
Furthermore, you must activate `font-lock-mode' in org-mode buffers,
|
||||
because significant functionality depends on font-locking being active.
|
||||
You can do this with either one of the following two lines:
|
||||
You can do this with either one of the following two lines (XEmacs
|
||||
user must use the second option):
|
||||
(global-font-lock-mode 1) ; for all buffers
|
||||
(add-hook 'org-mode-hook 'turn-on-font-lock) ; org-mode buffers only
|
||||
|
||||
If you have downloaded Org-mode from the Web, you must take
|
||||
additional action: Byte-compile `org.el' and `org-publish.el' and put
|
||||
them together with `org-install.el' on your load path. Then add to
|
||||
`.emacs':
|
||||
|
||||
;; This line only if org-mode is not part of the X/Emacs distribution.
|
||||
(require 'org-install)
|
||||
|
||||
If you use Org-mode with XEmacs, you also need to install the file
|
||||
`noutline.el' from the `xemacs' subdirectory of the Org-mode
|
||||
distribution.
|
||||
|
||||
With this setup, all files with extension `.org' will be put into
|
||||
Org-mode. As an alternative, make the first line of a file look like
|
||||
this:
|
||||
|
@ -332,9 +362,9 @@ which will select Org-mode for this buffer no matter what the file's
|
|||
name is. See also the variable `org-insert-mode-line-in-empty-file'.
|
||||
|
||||
|
||||
File: org, Node: Feedback, Prev: Installation, Up: Introduction
|
||||
File: org, Node: Feedback, Prev: Activation, Up: Introduction
|
||||
|
||||
1.3 Feedback
|
||||
1.4 Feedback
|
||||
============
|
||||
|
||||
If you find problems with Org-mode, or if you have questions, remarks,
|
||||
|
@ -718,8 +748,8 @@ is indented like the bullet/number, or less. For example:
|
|||
He makes a really funny face when it happens.
|
||||
But in the end, not individual scenes matter but the film as a whole.
|
||||
|
||||
Org-mode supports these lists by tuning filling and wrapping commands
|
||||
to deal with them correctly.
|
||||
Org-mode supports these lists by tuning filling and wrapping
|
||||
commands to deal with them correctly(2).
|
||||
|
||||
The following commands act on items when the cursor is in the first
|
||||
line of an item (the line with the bullet or number).
|
||||
|
@ -777,6 +807,11 @@ star are visually indistinguishable from true headlines. In short:
|
|||
even though `*' is supported, it may be better not to use it for plain
|
||||
list items
|
||||
|
||||
(2) Org-mode only changes the filling settings for Emacs. For
|
||||
XEmacs, you should use Kyle E. Jones' `filladapt.el'. To turn is on,
|
||||
put into `.emacs':
|
||||
(require 'filladapt)
|
||||
|
||||
|
||||
File: org, Node: Checkboxes, Prev: Plain lists, Up: Document structure
|
||||
|
||||
|
@ -2305,6 +2340,11 @@ also computes the total time spent on each subtree of a project.
|
|||
computes the resulting time in inserts it after the time range as
|
||||
`=> HH:MM'.
|
||||
|
||||
`C-c C-y'
|
||||
Recompute the time interval after changing one of the time stamps.
|
||||
This is only necessary if you edit the time stamps directly. If
|
||||
you change them with `S-<cursor>' keys, the update is automatic.
|
||||
|
||||
`C-c C-t'
|
||||
Changing the TODO state of an item to DONE automatically stops the
|
||||
clock if it is running in this same item.
|
||||
|
@ -2321,8 +2361,8 @@ also computes the total time spent on each subtree of a project.
|
|||
the overlays disappear automatically when the buffer is changed.
|
||||
|
||||
`C-c C-x C-r'
|
||||
Insert a dynamic block containing a clock report as an org-mode
|
||||
table into the current file.
|
||||
Insert a dynamic block (*note Dynamic blocks::) containing a clock
|
||||
report as an org-mode table into the current file.
|
||||
#+BEGIN: clocktable :maxlevel 2 :emphasize nil
|
||||
|
||||
#+END: clocktable
|
||||
|
@ -2330,11 +2370,35 @@ also computes the total time spent on each subtree of a project.
|
|||
table. The `BEGIN' line can specify options:
|
||||
:maxlevels Maximum level depth to which times are listed in the table.
|
||||
:emphasize When `t', emphasize level one and level two items
|
||||
:block The time block to consider. This block is specified relative
|
||||
to the current time and may be any of these keywords:
|
||||
`today', `yesterday', `thisweek', `lastweek',
|
||||
`thismonth', `lastmonth', `thisyear', or `lastyear'.
|
||||
:tstart A time string specifying when to start considering times
|
||||
:tend A time string specifying when to stop considering times
|
||||
So to get a clock summary for the current day, you could write
|
||||
#+BEGIN: clocktable :maxlevel 2 :block today
|
||||
|
||||
#+END: clocktable
|
||||
and to use a specific time range you could write(1)
|
||||
#+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>"
|
||||
:tend "<2006-08-10 Thu 12:00>"
|
||||
|
||||
#+END: clocktable
|
||||
|
||||
`C-u C-c C-x C-u'
|
||||
Update all dynamic blocks (*note Dynamic blocks::). This is
|
||||
useful if you have several clocktable blocks in a buffer.
|
||||
|
||||
The `l' key may be used in the timeline (*note Timeline::) and in
|
||||
the agenda (*note Weekly/Daily agenda::) to show which tasks have been
|
||||
worked on or closed during a day.
|
||||
|
||||
---------- Footnotes ----------
|
||||
|
||||
(1) Note that all parameters must be specified in a single line -
|
||||
the line is broken here only to fit it onto the manual.
|
||||
|
||||
|
||||
File: org, Node: Tags, Next: Agenda views, Prev: Timestamps, Up: Top
|
||||
|
||||
|
@ -4230,8 +4294,7 @@ File: org, Node: Cooperation, Next: Conflicts, Prev: Interaction, Up: Intera
|
|||
|
||||
`cdlatex.el' by Carsten Dominik
|
||||
Org-mode can make use of the cdlatex package to efficiently enter
|
||||
LaTeX fragments into Org-mode files. `cdlatex.el' is not part of
|
||||
Emacs, find it on the web.
|
||||
LaTeX fragments into Org-mode files. See *Note CDLaTeX mode::.
|
||||
|
||||
`remember.el' by John Wiegley
|
||||
Org mode cooperates with remember, see *Note Remember::.
|
||||
|
@ -4383,7 +4446,7 @@ example for such a block is the clock table inserted by the command
|
|||
name to the block and can also specify parameters for the function
|
||||
producing the content of the block.
|
||||
|
||||
#+BEGIN: myblock :parameter1 value1 :parameter2 value2 .....
|
||||
#+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
|
||||
|
||||
#+END:
|
||||
|
||||
|
@ -4558,6 +4621,7 @@ Index
|
|||
* acknowledgments: History and Acknowledgments.
|
||||
(line 6)
|
||||
* action, for publishing: Publishing action. (line 6)
|
||||
* activation: Activation. (line 6)
|
||||
* active region <1>: HTML export. (line 10)
|
||||
* active region <2>: ASCII export. (line 9)
|
||||
* active region <3>: Built-in table editor.
|
||||
|
@ -4576,7 +4640,7 @@ Index
|
|||
* archiving: Archiving. (line 6)
|
||||
* ASCII export: ASCII export. (line 6)
|
||||
* author: Feedback. (line 6)
|
||||
* autoload: Installation. (line 6)
|
||||
* autoload: Activation. (line 6)
|
||||
* BBDB links: External links. (line 6)
|
||||
* bold text: Enhancing text. (line 15)
|
||||
* bug reports: Feedback. (line 6)
|
||||
|
@ -4677,7 +4741,7 @@ Index
|
|||
* formula, in tables: Built-in table editor.
|
||||
(line 135)
|
||||
* global cycling: Visibility cycling. (line 22)
|
||||
* global keybindings: Installation. (line 6)
|
||||
* global keybindings: Activation. (line 6)
|
||||
* global TODO list: Global TODO list. (line 6)
|
||||
* global visibility states: Visibility cycling. (line 22)
|
||||
* GNUS links: External links. (line 6)
|
||||
|
@ -4708,7 +4772,7 @@ Index
|
|||
* introduction: Introduction. (line 6)
|
||||
* italic text: Enhancing text. (line 15)
|
||||
* jumping, to headlines: Motion. (line 6)
|
||||
* keybindings, global: Installation. (line 6)
|
||||
* keybindings, global: Activation. (line 6)
|
||||
* keyword options: Per file keywords. (line 6)
|
||||
* LaTeX fragments: Export options. (line 25)
|
||||
* LaTeX fragments, export: Enhancing text. (line 18)
|
||||
|
@ -4751,7 +4815,7 @@ Index
|
|||
* org-agenda, command: Weekly/Daily agenda. (line 9)
|
||||
* org-blog.el: Extensions. (line 25)
|
||||
* org-blogging.el: Extensions. (line 29)
|
||||
* org-mode, turning on: Installation. (line 34)
|
||||
* org-mode, turning on: Activation. (line 22)
|
||||
* org-mouse.el: Extensions. (line 8)
|
||||
* org-publish-project-alist: Project alist. (line 6)
|
||||
* org-publish.el: Extensions. (line 14)
|
||||
|
@ -4781,7 +4845,7 @@ Index
|
|||
* region, active <3>: Built-in table editor.
|
||||
(line 165)
|
||||
* region, active: Structure editing. (line 51)
|
||||
* remember.el <1>: Cooperation. (line 34)
|
||||
* remember.el <1>: Cooperation. (line 33)
|
||||
* remember.el: Remember. (line 6)
|
||||
* richer text: Enhancing text. (line 6)
|
||||
* RMAIL links: External links. (line 6)
|
||||
|
@ -4817,7 +4881,7 @@ Index
|
|||
(line 6)
|
||||
* table editor, table.el: table.el. (line 6)
|
||||
* table of contents: Export options. (line 25)
|
||||
* table.el <1>: Cooperation. (line 35)
|
||||
* table.el <1>: Cooperation. (line 34)
|
||||
* table.el: table.el. (line 6)
|
||||
* tables <1>: Export options. (line 25)
|
||||
* tables: Tables. (line 6)
|
||||
|
@ -4867,6 +4931,7 @@ Index
|
|||
* WANDERLUST links: External links. (line 6)
|
||||
* windmove.el: Conflicts. (line 33)
|
||||
* workflow states as TODO keywords: Workflow states. (line 6)
|
||||
* XEmacs: Installation. (line 6)
|
||||
* XOXO export: XOXO export. (line 6)
|
||||
|
||||
|
||||
|
@ -5000,7 +5065,7 @@ File: org, Node: Key Index, Prev: Index, Up: Top
|
|||
* C-c C-r: Timeline. (line 13)
|
||||
* C-c C-s <1>: Agenda commands. (line 136)
|
||||
* C-c C-s: Creating timestamps. (line 48)
|
||||
* C-c C-t <1>: Clocking work time. (line 20)
|
||||
* C-c C-t <1>: Clocking work time. (line 25)
|
||||
* C-c C-t: TODO basics. (line 13)
|
||||
* C-c C-u: Motion. (line 18)
|
||||
* C-c C-v: TODO basics. (line 26)
|
||||
|
@ -5008,24 +5073,25 @@ File: org, Node: Key Index, Prev: Index, Up: Top
|
|||
* C-c C-x C-a: ARCHIVE tag. (line 27)
|
||||
* C-c C-x C-b: Checkboxes. (line 23)
|
||||
* C-c C-x C-c: Agenda commands. (line 201)
|
||||
* C-c C-x C-d: Clocking work time. (line 28)
|
||||
* C-c C-x C-d: Clocking work time. (line 33)
|
||||
* C-c C-x C-i: Clocking work time. (line 12)
|
||||
* C-c C-x C-k: Structure editing. (line 36)
|
||||
* C-c C-x C-l: Processing LaTeX fragments.
|
||||
(line 9)
|
||||
* C-c C-x C-o: Clocking work time. (line 14)
|
||||
* C-c C-x C-r: Clocking work time. (line 35)
|
||||
* C-c C-x C-r: Clocking work time. (line 40)
|
||||
* C-c C-x C-u: Dynamic blocks. (line 21)
|
||||
* C-c C-x C-w <1>: Built-in table editor.
|
||||
(line 108)
|
||||
* C-c C-x C-w: Structure editing. (line 36)
|
||||
* C-c C-x C-x: Clocking work time. (line 24)
|
||||
* C-c C-x C-x: Clocking work time. (line 29)
|
||||
* C-c C-x C-y <1>: Built-in table editor.
|
||||
(line 112)
|
||||
* C-c C-x C-y: Structure editing. (line 43)
|
||||
* C-c C-x M-w <1>: Built-in table editor.
|
||||
(line 105)
|
||||
* C-c C-x M-w: Structure editing. (line 40)
|
||||
* C-c C-y <1>: Clocking work time. (line 20)
|
||||
* C-c C-y: Creating timestamps. (line 66)
|
||||
* C-c l: Handling links. (line 9)
|
||||
* C-c {: CDLaTeX mode. (line 21)
|
||||
|
@ -5038,7 +5104,8 @@ File: org, Node: Key Index, Prev: Index, Up: Top
|
|||
(line 139)
|
||||
* C-u C-c C-l: Handling links. (line 43)
|
||||
* C-u C-c C-x C-a: ARCHIVE tag. (line 30)
|
||||
* C-u C-c C-x C-u: Dynamic blocks. (line 22)
|
||||
* C-u C-c C-x C-u <1>: Dynamic blocks. (line 22)
|
||||
* C-u C-c C-x C-u: Clocking work time. (line 67)
|
||||
* D: Agenda commands. (line 68)
|
||||
* d: Agenda commands. (line 65)
|
||||
* f: Agenda commands. (line 44)
|
||||
|
@ -5131,137 +5198,140 @@ File: org, Node: Key Index, Prev: Index, Up: Top
|
|||
|
||||
Tag Table:
|
||||
Node: Top959
|
||||
Node: Introduction9515
|
||||
Node: Summary9828
|
||||
Node: Installation12095
|
||||
Node: Feedback13884
|
||||
Node: Document structure14655
|
||||
Node: Outlines15481
|
||||
Node: Headlines16141
|
||||
Node: Visibility cycling16764
|
||||
Ref: Visibility cycling-Footnote-118239
|
||||
Ref: Visibility cycling-Footnote-218297
|
||||
Node: Motion18347
|
||||
Node: Structure editing19131
|
||||
Node: Archiving21240
|
||||
Node: ARCHIVE tag21798
|
||||
Node: Moving subtrees23473
|
||||
Node: Sparse trees24514
|
||||
Ref: Sparse trees-Footnote-126493
|
||||
Ref: Sparse trees-Footnote-226585
|
||||
Node: Plain lists26700
|
||||
Ref: Plain lists-Footnote-130305
|
||||
Node: Checkboxes30662
|
||||
Node: Tables32299
|
||||
Node: Built-in table editor32847
|
||||
Node: Narrow columns40454
|
||||
Ref: Narrow columns-Footnote-142393
|
||||
Node: Table calculations42439
|
||||
Node: Formula syntax43759
|
||||
Ref: Formula syntax-Footnote-146664
|
||||
Node: Lisp formulas46964
|
||||
Node: Column formulas47753
|
||||
Node: Advanced features49515
|
||||
Node: Named-field formulas52769
|
||||
Node: Editing/debugging formulas53409
|
||||
Node: Appetizer55167
|
||||
Node: orgtbl-mode56270
|
||||
Node: table.el56761
|
||||
Node: Hyperlinks57738
|
||||
Node: Link format58443
|
||||
Node: Internal links59736
|
||||
Ref: Internal links-Footnote-161725
|
||||
Node: Radio targets61857
|
||||
Node: CamelCase links62572
|
||||
Node: External links63070
|
||||
Node: Handling links65201
|
||||
Ref: Handling links-Footnote-169787
|
||||
Node: Search options70024
|
||||
Ref: Search options-Footnote-171798
|
||||
Node: Custom searches71879
|
||||
Node: Remember72927
|
||||
Node: TODO items76617
|
||||
Node: TODO basics77481
|
||||
Node: TODO extensions79008
|
||||
Node: Workflow states79803
|
||||
Node: TODO types80671
|
||||
Ref: TODO types-Footnote-182329
|
||||
Node: Per file keywords82411
|
||||
Ref: Per file keywords-Footnote-183865
|
||||
Node: Priorities84093
|
||||
Node: Timestamps85309
|
||||
Node: Time stamps85699
|
||||
Node: Creating timestamps88796
|
||||
Node: Progress logging92142
|
||||
Node: Closing items92672
|
||||
Node: Clocking work time93467
|
||||
Node: Tags95636
|
||||
Node: Tag inheritance96398
|
||||
Node: Setting tags97335
|
||||
Ref: Setting tags-Footnote-1100465
|
||||
Ref: Setting tags-Footnote-2100577
|
||||
Node: Tag searches100657
|
||||
Node: Agenda views101866
|
||||
Node: Agenda files103410
|
||||
Ref: Agenda files-Footnote-1104370
|
||||
Ref: Agenda files-Footnote-2104519
|
||||
Node: Agenda dispatcher104711
|
||||
Node: Weekly/Daily agenda106827
|
||||
Node: Categories107962
|
||||
Node: Time-of-day specifications108610
|
||||
Node: Calendar/Diary integration110586
|
||||
Node: Sorting of agenda items111963
|
||||
Node: Global TODO list112795
|
||||
Node: Matching headline tags114846
|
||||
Node: Timeline115789
|
||||
Node: Agenda commands116662
|
||||
Node: Embedded LaTeX122506
|
||||
Ref: Embedded LaTeX-Footnote-1123598
|
||||
Node: Math symbols123788
|
||||
Node: Subscripts and Superscripts124553
|
||||
Node: LaTeX fragments125397
|
||||
Node: Processing LaTeX fragments127466
|
||||
Node: CDLaTeX mode128412
|
||||
Ref: CDLaTeX mode-Footnote-1130896
|
||||
Node: Exporting131044
|
||||
Node: ASCII export132358
|
||||
Node: HTML export133648
|
||||
Node: XOXO export136484
|
||||
Node: iCalendar export136923
|
||||
Node: Text interpretation138746
|
||||
Node: Comment lines139225
|
||||
Node: Enhancing text139696
|
||||
Node: Export options141388
|
||||
Node: Publishing143055
|
||||
Ref: Publishing-Footnote-1143851
|
||||
Node: Configuration144047
|
||||
Node: Project alist144765
|
||||
Node: Sources and destinations145831
|
||||
Node: Selecting files146378
|
||||
Node: Publishing action147126
|
||||
Node: Publishing options148241
|
||||
Node: Publishing links150393
|
||||
Node: Project page index151906
|
||||
Node: Sample configuration152684
|
||||
Node: Simple example153176
|
||||
Node: Complex example153849
|
||||
Node: Triggering publication155925
|
||||
Node: Miscellaneous156609
|
||||
Node: Completion157243
|
||||
Node: Customization158239
|
||||
Node: In-buffer settings158824
|
||||
Node: The very busy C-c C-c key162055
|
||||
Node: Clean view163692
|
||||
Node: TTY keys166269
|
||||
Node: Interaction167878
|
||||
Node: Cooperation168275
|
||||
Node: Conflicts170177
|
||||
Node: Bugs171769
|
||||
Node: Extensions and Hacking173392
|
||||
Node: Extensions173878
|
||||
Node: Dynamic blocks175448
|
||||
Node: History and Acknowledgments177370
|
||||
Node: Index182151
|
||||
Node: Key Index204991
|
||||
Node: Introduction9617
|
||||
Node: Summary10032
|
||||
Node: Installation12299
|
||||
Node: Activation13677
|
||||
Node: Feedback14926
|
||||
Node: Document structure15695
|
||||
Node: Outlines16521
|
||||
Node: Headlines17181
|
||||
Node: Visibility cycling17804
|
||||
Ref: Visibility cycling-Footnote-119279
|
||||
Ref: Visibility cycling-Footnote-219337
|
||||
Node: Motion19387
|
||||
Node: Structure editing20171
|
||||
Node: Archiving22280
|
||||
Node: ARCHIVE tag22838
|
||||
Node: Moving subtrees24513
|
||||
Node: Sparse trees25554
|
||||
Ref: Sparse trees-Footnote-127533
|
||||
Ref: Sparse trees-Footnote-227625
|
||||
Node: Plain lists27740
|
||||
Ref: Plain lists-Footnote-131348
|
||||
Ref: Plain lists-Footnote-231705
|
||||
Node: Checkboxes31887
|
||||
Node: Tables33524
|
||||
Node: Built-in table editor34072
|
||||
Node: Narrow columns41679
|
||||
Ref: Narrow columns-Footnote-143618
|
||||
Node: Table calculations43664
|
||||
Node: Formula syntax44984
|
||||
Ref: Formula syntax-Footnote-147889
|
||||
Node: Lisp formulas48189
|
||||
Node: Column formulas48978
|
||||
Node: Advanced features50740
|
||||
Node: Named-field formulas53994
|
||||
Node: Editing/debugging formulas54634
|
||||
Node: Appetizer56392
|
||||
Node: orgtbl-mode57495
|
||||
Node: table.el57986
|
||||
Node: Hyperlinks58963
|
||||
Node: Link format59668
|
||||
Node: Internal links60961
|
||||
Ref: Internal links-Footnote-162950
|
||||
Node: Radio targets63082
|
||||
Node: CamelCase links63797
|
||||
Node: External links64295
|
||||
Node: Handling links66426
|
||||
Ref: Handling links-Footnote-171012
|
||||
Node: Search options71249
|
||||
Ref: Search options-Footnote-173023
|
||||
Node: Custom searches73104
|
||||
Node: Remember74152
|
||||
Node: TODO items77842
|
||||
Node: TODO basics78706
|
||||
Node: TODO extensions80233
|
||||
Node: Workflow states81028
|
||||
Node: TODO types81896
|
||||
Ref: TODO types-Footnote-183554
|
||||
Node: Per file keywords83636
|
||||
Ref: Per file keywords-Footnote-185090
|
||||
Node: Priorities85318
|
||||
Node: Timestamps86534
|
||||
Node: Time stamps86924
|
||||
Node: Creating timestamps90021
|
||||
Node: Progress logging93367
|
||||
Node: Closing items93897
|
||||
Node: Clocking work time94692
|
||||
Ref: Clocking work time-Footnote-198128
|
||||
Node: Tags98254
|
||||
Node: Tag inheritance99016
|
||||
Node: Setting tags99953
|
||||
Ref: Setting tags-Footnote-1103083
|
||||
Ref: Setting tags-Footnote-2103195
|
||||
Node: Tag searches103275
|
||||
Node: Agenda views104484
|
||||
Node: Agenda files106028
|
||||
Ref: Agenda files-Footnote-1106988
|
||||
Ref: Agenda files-Footnote-2107137
|
||||
Node: Agenda dispatcher107329
|
||||
Node: Weekly/Daily agenda109445
|
||||
Node: Categories110580
|
||||
Node: Time-of-day specifications111228
|
||||
Node: Calendar/Diary integration113204
|
||||
Node: Sorting of agenda items114581
|
||||
Node: Global TODO list115413
|
||||
Node: Matching headline tags117464
|
||||
Node: Timeline118407
|
||||
Node: Agenda commands119280
|
||||
Node: Embedded LaTeX125124
|
||||
Ref: Embedded LaTeX-Footnote-1126216
|
||||
Node: Math symbols126406
|
||||
Node: Subscripts and Superscripts127171
|
||||
Node: LaTeX fragments128015
|
||||
Node: Processing LaTeX fragments130084
|
||||
Node: CDLaTeX mode131030
|
||||
Ref: CDLaTeX mode-Footnote-1133514
|
||||
Node: Exporting133662
|
||||
Node: ASCII export134976
|
||||
Node: HTML export136266
|
||||
Node: XOXO export139102
|
||||
Node: iCalendar export139541
|
||||
Node: Text interpretation141364
|
||||
Node: Comment lines141843
|
||||
Node: Enhancing text142314
|
||||
Node: Export options144006
|
||||
Node: Publishing145673
|
||||
Ref: Publishing-Footnote-1146469
|
||||
Node: Configuration146665
|
||||
Node: Project alist147383
|
||||
Node: Sources and destinations148449
|
||||
Node: Selecting files148996
|
||||
Node: Publishing action149744
|
||||
Node: Publishing options150859
|
||||
Node: Publishing links153011
|
||||
Node: Project page index154524
|
||||
Node: Sample configuration155302
|
||||
Node: Simple example155794
|
||||
Node: Complex example156467
|
||||
Node: Triggering publication158543
|
||||
Node: Miscellaneous159227
|
||||
Node: Completion159861
|
||||
Node: Customization160857
|
||||
Node: In-buffer settings161442
|
||||
Node: The very busy C-c C-c key164673
|
||||
Node: Clean view166310
|
||||
Node: TTY keys168887
|
||||
Node: Interaction170496
|
||||
Node: Cooperation170893
|
||||
Node: Conflicts172760
|
||||
Node: Bugs174352
|
||||
Node: Extensions and Hacking175975
|
||||
Node: Extensions176461
|
||||
Node: Dynamic blocks178031
|
||||
Node: History and Acknowledgments179951
|
||||
Node: Index184732
|
||||
Node: Key Index207718
|
||||
|
||||
End Tag Table
|
||||
|
|
575
org.el
575
org.el
|
@ -5,7 +5,7 @@
|
|||
;; Author: Carsten Dominik <dominik at science dot uva dot nl>
|
||||
;; Keywords: outlines, hypermedia, calendar, wp
|
||||
;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
|
||||
;; Version: 4.43
|
||||
;; Version: 4.44
|
||||
;;
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
|
@ -90,10 +90,12 @@
|
|||
;;
|
||||
;; Recent changes
|
||||
;; --------------
|
||||
;; Version 4.43
|
||||
;; - Big fixes
|
||||
;; Version 4.44
|
||||
;; - Clock table can be done for a limited time interval.
|
||||
;; - Obsolete support for the old outline mode has been removed.
|
||||
;; - Bug fixes and code cleaning.
|
||||
;;
|
||||
;; Version 4.42
|
||||
;; Version 4.43
|
||||
;; - Bug fixes
|
||||
;; - `s' key in the agenda saves all org-mode buffers.
|
||||
;;
|
||||
|
@ -212,16 +214,13 @@
|
|||
|
||||
;;; Customization variables
|
||||
|
||||
(defvar org-version "4.43"
|
||||
(defvar org-version "4.44"
|
||||
"The version number of the file org.el.")
|
||||
(defun org-version ()
|
||||
(interactive)
|
||||
(message "Org-mode version %s" org-version))
|
||||
|
||||
;; The following constant is for compatibility with different versions
|
||||
;; of outline.el.
|
||||
(defconst org-noutline-p (featurep 'noutline)
|
||||
"Are we using the new outline mode?")
|
||||
;; Compatibility constants
|
||||
(defconst org-xemacs-p (featurep 'xemacs)) ; not used by org.el itself
|
||||
(defconst org-format-transports-properties-p
|
||||
(let ((x "a"))
|
||||
|
@ -1132,7 +1131,7 @@ files and the cdr the corresponding command. Possible values for the
|
|||
file identifier are
|
||||
\"ext\" A string identifying an extension
|
||||
`directory' Matches a directory
|
||||
`remote' Matches a remove file, accessible through tramp or efs.
|
||||
`remote' Matches a remote file, accessible through tramp or efs.
|
||||
Remote files most likely should be visited through emacs
|
||||
because external applications cannot handle such paths.
|
||||
t Default for all remaining files
|
||||
|
@ -1831,6 +1830,7 @@ Org-mode files lives."
|
|||
|
||||
(defcustom org-export-language-setup
|
||||
'(("en" "Author" "Date" "Table of Contents")
|
||||
("cs" "Autor" "Datum" "Obsah")
|
||||
("da" "Ophavsmand" "Dato" "Indhold")
|
||||
("de" "Autor" "Datum" "Inhaltsverzeichnis")
|
||||
("es" "Autor" "Fecha" "\xccndice")
|
||||
|
@ -2150,6 +2150,16 @@ you can \"misuse\" it to add arbitrary text to the header."
|
|||
:group 'org-export-html
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-html-title-format "<h1 class=\"title\">%s</h1>\n"
|
||||
"Format for typesetting the document title in HTML export."
|
||||
:group 'org-export-html
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-html-toplevel-hlevel 2
|
||||
"The <H> level for level 1 headings in HTML export."
|
||||
:group 'org-export-html
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-html-link-org-files-as-html t
|
||||
"Non-nil means, make file links to `file.org' point to `file.html'.
|
||||
When org-mode is exporting an org-mode file to HTML, links to
|
||||
|
@ -2694,6 +2704,10 @@ Also put tags into group 4 if tags are present.")
|
|||
(remove-text-properties 0 (length s) org-rm-props s)
|
||||
s)
|
||||
|
||||
(defsubst org-set-local (var value)
|
||||
"Make VAR local in current buffer and set it to VALUE."
|
||||
(set (make-variable-buffer-local var) value))
|
||||
|
||||
(defsubst org-mode-p ()
|
||||
"Check if the current buffer is in Org-mode."
|
||||
(eq major-mode 'org-mode))
|
||||
|
@ -2703,7 +2717,7 @@ Also put tags into group 4 if tags are present.")
|
|||
(when (org-mode-p)
|
||||
(let ((re (org-make-options-regexp
|
||||
'("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO"
|
||||
"STARTUP" "ARCHIVE" "TAGS")))
|
||||
"STARTUP" "ARCHIVE" "TAGS" "CALC")))
|
||||
(splitre "[ \t]+")
|
||||
kwds int key value cat arch tags)
|
||||
(save-excursion
|
||||
|
@ -2755,10 +2769,10 @@ Also put tags into group 4 if tags are present.")
|
|||
(remove-text-properties 0 (length arch)
|
||||
'(face t fontified t) arch)))
|
||||
)))
|
||||
(and cat (set (make-local-variable 'org-category) cat))
|
||||
(and kwds (set (make-local-variable 'org-todo-keywords) kwds))
|
||||
(and arch (set (make-local-variable 'org-archive-location) arch))
|
||||
(and int (set (make-local-variable 'org-todo-interpretation) int))
|
||||
(and cat (org-set-local 'org-category cat))
|
||||
(and kwds (org-set-local 'org-todo-keywords kwds))
|
||||
(and arch (org-set-local 'org-archive-location arch))
|
||||
(and int (org-set-local 'org-todo-interpretation int))
|
||||
(when tags
|
||||
(let (e tgs)
|
||||
(while (setq e (pop tags))
|
||||
|
@ -2770,7 +2784,7 @@ Also put tags into group 4 if tags are present.")
|
|||
(string-to-char (match-string 2 e)))
|
||||
tgs))
|
||||
(t (push (list e) tgs))))
|
||||
(set (make-local-variable 'org-tag-alist) nil)
|
||||
(org-set-local 'org-tag-alist nil)
|
||||
(while (setq e (pop tgs))
|
||||
(or (and (stringp (car e))
|
||||
(assoc (car e) org-tag-alist))
|
||||
|
@ -2928,15 +2942,11 @@ The following commands are available:
|
|||
;; Need to do this here because define-derived-mode sets up
|
||||
;; the keymap so late.
|
||||
(if (featurep 'xemacs)
|
||||
(if org-noutline-p
|
||||
(progn
|
||||
(easy-menu-remove outline-mode-menu-heading)
|
||||
(easy-menu-remove outline-mode-menu-show)
|
||||
(easy-menu-remove outline-mode-menu-hide))
|
||||
(delete-menu-item '("Headings"))
|
||||
(delete-menu-item '("Show"))
|
||||
(delete-menu-item '("Hide"))
|
||||
(set-menubar-dirty-flag))
|
||||
(progn
|
||||
;; Assume this is Greg's port, it used easymenu
|
||||
(easy-menu-remove outline-mode-menu-heading)
|
||||
(easy-menu-remove outline-mode-menu-show)
|
||||
(easy-menu-remove outline-mode-menu-hide))
|
||||
(define-key org-mode-map [menu-bar headings] 'undefined)
|
||||
(define-key org-mode-map [menu-bar hide] 'undefined)
|
||||
(define-key org-mode-map [menu-bar show] 'undefined))
|
||||
|
@ -2947,7 +2957,7 @@ The following commands are available:
|
|||
(if org-descriptive-links (org-add-to-invisibility-spec '(org-link)))
|
||||
(org-add-to-invisibility-spec '(org-cwidth))
|
||||
(when (featurep 'xemacs)
|
||||
(set (make-local-variable 'line-move-ignore-invisible) t))
|
||||
(org-set-local 'line-move-ignore-invisible t))
|
||||
(setq outline-regexp "\\*+")
|
||||
;;(setq outline-regexp "\\(?:\\*+\\|[ \t]*\\(?:[-+*]\\|[0-9]+[.)]\\) \\)")
|
||||
(setq outline-level 'org-outline-level)
|
||||
|
@ -2958,12 +2968,14 @@ The following commands are available:
|
|||
4 (string-to-vector org-ellipsis))
|
||||
(setq buffer-display-table org-display-table))
|
||||
(org-set-regexps-and-options)
|
||||
;; Calc embedded
|
||||
(org-set-local 'calc-embedded-open-mode "# ")
|
||||
(modify-syntax-entry ?# "<")
|
||||
(if org-startup-truncated (setq truncate-lines t))
|
||||
(set (make-local-variable 'font-lock-unfontify-region-function)
|
||||
'org-unfontify-region)
|
||||
(org-set-local 'font-lock-unfontify-region-function
|
||||
'org-unfontify-region)
|
||||
;; Activate before-change-function
|
||||
(set (make-local-variable 'org-table-may-need-update) t)
|
||||
(org-set-local 'org-table-may-need-update t)
|
||||
(org-add-hook 'before-change-functions 'org-before-change-function nil
|
||||
'local)
|
||||
;; Check for running clock before killing a buffer
|
||||
|
@ -3107,7 +3119,7 @@ that will be added to PLIST. Returns the string that was modified."
|
|||
org-ts-regexp "\\)?")
|
||||
"Regular expression matching a time stamp or time stamp range.")
|
||||
|
||||
(defvar org-§emph-face nil)
|
||||
(defvar org-<EFBFBD>§emph-face nil)
|
||||
|
||||
(defun org-do-emphasis-faces (limit)
|
||||
"Run through the buffer and add overlays to links."
|
||||
|
@ -3340,10 +3352,9 @@ between words."
|
|||
)))
|
||||
(setq org-font-lock-extra-keywords (delq nil org-font-lock-extra-keywords))
|
||||
;; Now set the full font-lock-keywords
|
||||
(set (make-local-variable 'org-font-lock-keywords)
|
||||
org-font-lock-extra-keywords)
|
||||
(set (make-local-variable 'font-lock-defaults)
|
||||
'(org-font-lock-keywords t nil nil backward-paragraph))
|
||||
(org-set-local 'org-font-lock-keywords org-font-lock-extra-keywords)
|
||||
(org-set-local 'font-lock-defaults
|
||||
'(org-font-lock-keywords t nil nil backward-paragraph))
|
||||
(kill-local-variable 'font-lock-keywords) nil))
|
||||
|
||||
(defvar org-m nil)
|
||||
|
@ -3812,9 +3823,7 @@ state (TODO by default). Also with prefix arg, force first state."
|
|||
(org-insert-heading)
|
||||
(save-excursion
|
||||
(org-back-to-heading)
|
||||
(if org-noutline-p
|
||||
(outline-previous-heading)
|
||||
(outline-previous-visible-heading t))
|
||||
(outline-previous-heading)
|
||||
(looking-at org-todo-line-regexp))
|
||||
(if (or arg
|
||||
(not (match-beginning 2))
|
||||
|
@ -4703,7 +4712,7 @@ the children that do not contain any open TODO items."
|
|||
(pc '(:org-comment t))
|
||||
(pall '(:org-archived t :org-comment t))
|
||||
(rea (concat ":" org-archive-tag ":"))
|
||||
bmp file re)
|
||||
bmp file re)
|
||||
(save-excursion
|
||||
(while (setq file (pop files))
|
||||
(org-check-agenda-file file)
|
||||
|
@ -4775,7 +4784,7 @@ If not found, stay at current position and return nil."
|
|||
pos))
|
||||
|
||||
(defconst org-dblock-start-re
|
||||
"^#\\+BEGIN:[ \t]+\\(\\S-+\\)[ \t]+\\(.*\\)"
|
||||
"^#\\+BEGIN:[ \t]+\\(\\S-+\\)\\([ \t]+\\(.*\\)\\)?"
|
||||
"Matches the startline of a dynamic block, with parameters.")
|
||||
|
||||
(defconst org-dblock-end-re "^#\\+END\\([: \t\r\n]\\|$\\)"
|
||||
|
@ -4803,7 +4812,7 @@ the property list including an extra property :name with the block name."
|
|||
(let* ((begdel (1+ (match-end 0)))
|
||||
(name (match-string 1))
|
||||
(params (append (list :name name)
|
||||
(read (concat "(" (match-string 2) ")")))))
|
||||
(read (concat "(" (match-string 3) ")")))))
|
||||
(unless (re-search-forward org-dblock-end-re nil t)
|
||||
(error "Dynamic block not terminated"))
|
||||
(delete-region begdel (match-beginning 0))
|
||||
|
@ -5200,7 +5209,6 @@ If CALLBACK is non-nil, it is a function which is called to confirm
|
|||
that the match should indeed be shown."
|
||||
(interactive "sRegexp: ")
|
||||
(org-remove-occur-highlights nil nil t)
|
||||
(setq regexp (org-check-occur-regexp regexp))
|
||||
(let ((cnt 0))
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
|
@ -5625,56 +5633,58 @@ next column.
|
|||
For time difference computation, a year is assumed to be exactly 365
|
||||
days in order to avoid rounding problems."
|
||||
(interactive "P")
|
||||
(save-excursion
|
||||
(unless (org-at-date-range-p)
|
||||
(goto-char (point-at-bol))
|
||||
(re-search-forward org-tr-regexp (point-at-eol) t))
|
||||
(if (not (org-at-date-range-p))
|
||||
(error "Not at a time-stamp range, and none found in current line")))
|
||||
(let* ((ts1 (match-string 1))
|
||||
(ts2 (match-string 2))
|
||||
(havetime (or (> (length ts1) 15) (> (length ts2) 15)))
|
||||
(match-end (match-end 0))
|
||||
(time1 (org-time-string-to-time ts1))
|
||||
(time2 (org-time-string-to-time ts2))
|
||||
(t1 (time-to-seconds time1))
|
||||
(t2 (time-to-seconds time2))
|
||||
(diff (abs (- t2 t1)))
|
||||
(negative (< (- t2 t1) 0))
|
||||
;; (ys (floor (* 365 24 60 60)))
|
||||
(ds (* 24 60 60))
|
||||
(hs (* 60 60))
|
||||
(fy "%dy %dd %02d:%02d")
|
||||
(fy1 "%dy %dd")
|
||||
(fd "%dd %02d:%02d")
|
||||
(fd1 "%dd")
|
||||
(fh "%02d:%02d")
|
||||
y d h m align)
|
||||
(if havetime
|
||||
(setq ; y (floor (/ diff ys)) diff (mod diff ys)
|
||||
y 0
|
||||
d (floor (/ diff ds)) diff (mod diff ds)
|
||||
h (floor (/ diff hs)) diff (mod diff hs)
|
||||
m (floor (/ diff 60)))
|
||||
(setq ; y (floor (/ diff ys)) diff (mod diff ys)
|
||||
y 0
|
||||
d (floor (+ (/ diff ds) 0.5))
|
||||
h 0 m 0))
|
||||
(if (not to-buffer)
|
||||
(message (org-make-tdiff-string y d h m))
|
||||
(when (org-at-table-p)
|
||||
(goto-char match-end)
|
||||
(setq align t)
|
||||
(and (looking-at " *|") (goto-char (match-end 0))))
|
||||
(if (looking-at
|
||||
"\\( *-? *[0-9]+y\\)?\\( *[0-9]+d\\)? *[0-9][0-9]:[0-9][0-9]")
|
||||
(replace-match ""))
|
||||
(if negative (insert " -"))
|
||||
(if (> y 0) (insert " " (format (if havetime fy fy1) y d h m))
|
||||
(if (> d 0) (insert " " (format (if havetime fd fd1) d h m))
|
||||
(insert " " (format fh h m))))
|
||||
(if align (org-table-align))
|
||||
(message "Time difference inserted"))))
|
||||
(or
|
||||
(org-clock-update-time-maybe)
|
||||
(save-excursion
|
||||
(unless (org-at-date-range-p)
|
||||
(goto-char (point-at-bol))
|
||||
(re-search-forward org-tr-regexp (point-at-eol) t))
|
||||
(if (not (org-at-date-range-p))
|
||||
(error "Not at a time-stamp range, and none found in current line")))
|
||||
(let* ((ts1 (match-string 1))
|
||||
(ts2 (match-string 2))
|
||||
(havetime (or (> (length ts1) 15) (> (length ts2) 15)))
|
||||
(match-end (match-end 0))
|
||||
(time1 (org-time-string-to-time ts1))
|
||||
(time2 (org-time-string-to-time ts2))
|
||||
(t1 (time-to-seconds time1))
|
||||
(t2 (time-to-seconds time2))
|
||||
(diff (abs (- t2 t1)))
|
||||
(negative (< (- t2 t1) 0))
|
||||
;; (ys (floor (* 365 24 60 60)))
|
||||
(ds (* 24 60 60))
|
||||
(hs (* 60 60))
|
||||
(fy "%dy %dd %02d:%02d")
|
||||
(fy1 "%dy %dd")
|
||||
(fd "%dd %02d:%02d")
|
||||
(fd1 "%dd")
|
||||
(fh "%02d:%02d")
|
||||
y d h m align)
|
||||
(if havetime
|
||||
(setq ; y (floor (/ diff ys)) diff (mod diff ys)
|
||||
y 0
|
||||
d (floor (/ diff ds)) diff (mod diff ds)
|
||||
h (floor (/ diff hs)) diff (mod diff hs)
|
||||
m (floor (/ diff 60)))
|
||||
(setq ; y (floor (/ diff ys)) diff (mod diff ys)
|
||||
y 0
|
||||
d (floor (+ (/ diff ds) 0.5))
|
||||
h 0 m 0))
|
||||
(if (not to-buffer)
|
||||
(message (org-make-tdiff-string y d h m))
|
||||
(when (org-at-table-p)
|
||||
(goto-char match-end)
|
||||
(setq align t)
|
||||
(and (looking-at " *|") (goto-char (match-end 0))))
|
||||
(if (looking-at
|
||||
"\\( *-? *[0-9]+y\\)?\\( *[0-9]+d\\)? *[0-9][0-9]:[0-9][0-9]")
|
||||
(replace-match ""))
|
||||
(if negative (insert " -"))
|
||||
(if (> y 0) (insert " " (format (if havetime fy fy1) y d h m))
|
||||
(if (> d 0) (insert " " (format (if havetime fd fd1) d h m))
|
||||
(insert " " (format fh h m))))
|
||||
(if align (org-table-align))
|
||||
(message "Time difference inserted")))))
|
||||
|
||||
(defun org-make-tdiff-string (y d h m)
|
||||
(let ((fmt "")
|
||||
|
@ -5817,6 +5827,7 @@ in the timestamp determines what will be changed."
|
|||
(setcar (nthcdr 2 time0) (or (nth 1 time0) 0))
|
||||
(setq time (apply 'encode-time time0))))
|
||||
(insert (setq org-last-changed-timestamp (format-time-string fmt time)))
|
||||
(org-clock-update-time-maybe)
|
||||
(goto-char pos)
|
||||
;; Try to recenter the calendar window, if any
|
||||
(if (and org-calendar-follow-timestamp-change
|
||||
|
@ -5937,18 +5948,19 @@ If there is no running clock, throw an error, unless FAIL-QUIETLY is set."
|
|||
"Holds the file total time in minutes, after a call to `org-clock-sum'.")
|
||||
(make-variable-buffer-local 'org-clock-file-total-minutes)
|
||||
|
||||
(defun org-clock-sum ()
|
||||
(defun org-clock-sum (&optional tstart tend)
|
||||
"Sum the times for each subtree.
|
||||
Puts the resulting times in minutes as a text property on each headline."
|
||||
(interactive)
|
||||
(let* ((bmp (buffer-modified-p))
|
||||
(re (concat "^\\(\\*+\\)[ \t]\\|^[ \t]*"
|
||||
org-clock-string
|
||||
".*=>[ \t]*\\([0-9]+\\):\\([0-9]+\\)[ \t]*$"))
|
||||
"[ \t]*\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)"))
|
||||
(lmax 30)
|
||||
(ltimes (make-vector lmax 0))
|
||||
(t1 0)
|
||||
(level 0)
|
||||
ts te dt
|
||||
time)
|
||||
(remove-text-properties (point-min) (point-max) '(:org-clock-minutes t))
|
||||
(save-excursion
|
||||
|
@ -5956,8 +5968,16 @@ Puts the resulting times in minutes as a text property on each headline."
|
|||
(while (re-search-backward re nil t)
|
||||
(if (match-end 2)
|
||||
;; A time
|
||||
(setq t1 (+ t1 (* 60 (string-to-number (match-string 2)))
|
||||
(string-to-number (match-string 3))))
|
||||
(setq ts (match-string 2)
|
||||
te (match-string 3)
|
||||
ts (time-to-seconds
|
||||
(apply 'encode-time (org-parse-time-string ts)))
|
||||
te (time-to-seconds
|
||||
(apply 'encode-time (org-parse-time-string te)))
|
||||
ts (if tstart (max ts tstart) ts)
|
||||
te (if tend (min te tend) te)
|
||||
dt (- te ts)
|
||||
t1 (if (> dt 0) (+ t1 (floor (/ dt 60))) t1))
|
||||
;; A headline
|
||||
(setq level (- (match-end 1) (match-beginning 1)))
|
||||
(when (or (> t1 0) (> (aref ltimes level) 0))
|
||||
|
@ -6069,26 +6089,112 @@ The BEGIN line can contain parameters. Allowed are:
|
|||
(interactive)
|
||||
(org-remove-clock-overlays)
|
||||
(unless (org-find-dblock "clocktable")
|
||||
(org-create-dblock (list :name "clocktable"
|
||||
:maxlevel 2 :emphasize nil)))
|
||||
(org-create-dblock (list :name "clocktable"
|
||||
:maxlevel 2 :emphasize nil)))
|
||||
(org-update-dblock))
|
||||
|
||||
(defun org-clock-update-time-maybe ()
|
||||
"If this is a CLOCK line, update it and return t.
|
||||
Otherwise, return nil."
|
||||
(interactive)
|
||||
(save-excursion
|
||||
(beginning-of-line 1)
|
||||
(skip-chars-forward " \t")
|
||||
(when (looking-at org-clock-string)
|
||||
(let ((re (concat "[ \t]*" org-clock-string
|
||||
" *[[<]\\([^]>]+\\)[]>]-+[[<]\\([^]>]+\\)[]>]"
|
||||
"\\([ \t]*=>.*\\)?"))
|
||||
ts te h m s)
|
||||
(if (not (looking-at re))
|
||||
nil
|
||||
(and (match-end 3) (delete-region (match-beginning 3) (match-end 3)))
|
||||
(end-of-line 1)
|
||||
(setq ts (match-string 1)
|
||||
te (match-string 2))
|
||||
(setq s (- (time-to-seconds
|
||||
(apply 'encode-time (org-parse-time-string te)))
|
||||
(time-to-seconds
|
||||
(apply 'encode-time (org-parse-time-string ts))))
|
||||
h (floor (/ s 3600))
|
||||
s (- s (* 3600 h))
|
||||
m (floor (/ s 60))
|
||||
s (- s (* 60 s)))
|
||||
(insert " => " (format "%2d:%02d" h m))
|
||||
t)))))
|
||||
|
||||
(defun org-clock-special-range (key &optional time as-strings)
|
||||
"Return two times bordering a special time range.
|
||||
Key is a symbol specifying the range and can be one of `today', `yesterday',
|
||||
`thisweek', `lastweek', `thismonth', `lastmonth', `thisyear', `lastyear'.
|
||||
A week starts Monday 0:00 and ends Sunday 24:00.
|
||||
The range is determined relative to TIME. TIME defaults to the current time.
|
||||
The return value is a cons cell with two internal times like the ones
|
||||
returned by `current time' or `encode-time'. if AS-STRINGS is non-nil,
|
||||
the returned times will be formatted strings."
|
||||
(let* ((tm (decode-time (or time (current-time))))
|
||||
(s 0) (m (nth 1 tm)) (h (nth 2 tm))
|
||||
(d (nth 3 tm)) (month (nth 4 tm)) (y (nth 5 tm))
|
||||
(dow (nth 6 tm))
|
||||
s1 m1 h1 d1 month1 y1 diff ts te fm)
|
||||
(cond
|
||||
((eq key 'today)
|
||||
(setq h 0 m 0 h1 24 m1 0))
|
||||
((eq key 'yesterday)
|
||||
(setq d (1- d) h 0 m 0 h1 24 m1 0))
|
||||
((eq key 'thisweek)
|
||||
(setq diff (if (= dow 0) 6 (1- dow))
|
||||
m 0 h 0 d (- d diff) d1 (+ 7 d)))
|
||||
((eq key 'lastweek)
|
||||
(setq diff (+ 7 (if (= dow 0) 6 (1- dow)))
|
||||
m 0 h 0 d (- d diff) d1 (+ 7 d)))
|
||||
((eq key 'thismonth)
|
||||
(setq d 1 h 0 m 0 d1 1 month1 (1+ month) h1 0 m1 0))
|
||||
((eq key 'lastmonth)
|
||||
(setq d 1 h 0 m 0 d1 1 month (1- month) month1 (1+ month) h1 0 m1 0))
|
||||
((eq key 'thisyear)
|
||||
(setq m 0 h 0 d 1 month 1 y1 (1+ y)))
|
||||
((eq key 'lastyear)
|
||||
(setq m 0 h 0 d 1 month 1 y (1- y) y1 (1+ y)))
|
||||
(t (error "No such time block %s" key)))
|
||||
(setq ts (encode-time s m h d month y)
|
||||
te (encode-time (or s1 s) (or m1 m) (or h1 h)
|
||||
(or d1 d) (or month1 month) (or y1 y)))
|
||||
(setq fm (cdr org-time-stamp-formats))
|
||||
(if as-strings
|
||||
(cons (format-time-string fm ts) (format-time-string fm te))
|
||||
(cons ts te))))
|
||||
|
||||
(defun org-dblock-write:clocktable (params)
|
||||
"Write the standard clocktable."
|
||||
(let ((hlchars '((1 . "*") (2 . ?/)))
|
||||
(emph nil)
|
||||
(ins (make-marker))
|
||||
ipos time h m p level hlc hdl maxlevel)
|
||||
ipos time h m p level hlc hdl maxlevel
|
||||
ts te cc block)
|
||||
(setq maxlevel (or (plist-get params :maxlevel) 3)
|
||||
emph (plist-get params :emphasize))
|
||||
emph (plist-get params :emphasize)
|
||||
ts (plist-get params :tstart)
|
||||
te (plist-get params :tend)
|
||||
block (plist-get params :block))
|
||||
(when block
|
||||
(setq cc (org-clock-special-range block nil t)
|
||||
ts (car cc) te (cdr cc)))
|
||||
(if ts (setq ts (time-to-seconds
|
||||
(apply 'encode-time (org-parse-time-string ts)))))
|
||||
(if te (setq te (time-to-seconds
|
||||
(apply 'encode-time (org-parse-time-string te)))))
|
||||
(move-marker ins (point))
|
||||
(setq ipos (point))
|
||||
(insert-before-markers "Clock summary at ["
|
||||
(substring
|
||||
(format-time-string (cdr org-time-stamp-formats))
|
||||
1 -1)
|
||||
"]\n|L|Headline|Time|\n")
|
||||
(org-clock-sum)
|
||||
"]."
|
||||
(if block
|
||||
(format " Considered range is /%s/." block)
|
||||
"")
|
||||
"\n\n|L|Headline|Time|\n")
|
||||
(org-clock-sum ts te)
|
||||
(setq h (/ org-clock-file-total-minutes 60)
|
||||
m (- org-clock-file-total-minutes (* 60 h)))
|
||||
(insert-before-markers "|-\n|0|" "*Total file time*| "
|
||||
|
@ -6475,7 +6581,7 @@ the buffer and restores the previous window configuration."
|
|||
(if (stringp org-agenda-files)
|
||||
(let ((cw (current-window-configuration)))
|
||||
(find-file org-agenda-files)
|
||||
(set (make-local-variable 'org-window-configuration) cw)
|
||||
(org-set-local 'org-window-configuration cw)
|
||||
(org-add-hook 'after-save-hook
|
||||
(lambda ()
|
||||
(set-window-configuration
|
||||
|
@ -6603,7 +6709,7 @@ dates."
|
|||
(setq buffer-read-only nil)
|
||||
(erase-buffer)
|
||||
(org-agenda-mode) (setq buffer-read-only nil)
|
||||
(set (make-local-variable 'org-agenda-type) 'timeline)
|
||||
(org-set-local 'org-agenda-type 'timeline)
|
||||
(if doclosed (push :closed args))
|
||||
(push :timestamp args)
|
||||
(if dotodo (push :todo args))
|
||||
|
@ -6701,9 +6807,9 @@ NDAYS defaults to `org-agenda-ndays'."
|
|||
(setq buffer-read-only nil)
|
||||
(erase-buffer)
|
||||
(org-agenda-mode) (setq buffer-read-only nil)
|
||||
(set (make-local-variable 'org-agenda-type) 'agenda)
|
||||
(set (make-local-variable 'starting-day) (car day-numbers))
|
||||
(set (make-local-variable 'include-all-loc) include-all)
|
||||
(org-set-local 'org-agenda-type 'agenda)
|
||||
(org-set-local 'starting-day (car day-numbers))
|
||||
(org-set-local 'include-all-loc include-all)
|
||||
(when (and (or include-all org-agenda-include-all-todo)
|
||||
(member today day-numbers))
|
||||
(setq files thefiles
|
||||
|
@ -6812,11 +6918,11 @@ for a keyword. A numeric prefix directly selects the Nth keyword in
|
|||
(setq buffer-read-only nil)
|
||||
(erase-buffer)
|
||||
(org-agenda-mode) (setq buffer-read-only nil)
|
||||
(set (make-local-variable 'org-agenda-type) 'todo)
|
||||
(set (make-local-variable 'last-arg) arg)
|
||||
(set (make-local-variable 'org-todo-keywords) kwds)
|
||||
(set (make-local-variable 'org-agenda-redo-command)
|
||||
'(org-todo-list (or current-prefix-arg last-arg) t))
|
||||
(org-set-local 'org-agenda-type 'todo)
|
||||
(org-set-local 'last-arg arg)
|
||||
(org-set-local 'org-todo-keywords kwds)
|
||||
(org-set-local 'org-agenda-redo-command
|
||||
'(org-todo-list (or current-prefix-arg last-arg) t))
|
||||
(setq files (org-agenda-files)
|
||||
rtnall nil)
|
||||
(org-prepare-agenda-buffers files)
|
||||
|
@ -7704,11 +7810,12 @@ the documentation of `org-diary'."
|
|||
(abbreviate-file-name buffer-file-name))))
|
||||
(regexp org-tr-regexp)
|
||||
(d0 (calendar-absolute-from-gregorian date))
|
||||
marker hdmarker ee txt d1 d2 s1 s2 timestr category tags)
|
||||
marker hdmarker ee txt d1 d2 s1 s2 timestr category tags pos)
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward regexp nil t)
|
||||
(catch :skip
|
||||
(org-agenda-skip)
|
||||
(setq pos (point))
|
||||
(setq timestr (match-string 0)
|
||||
s1 (match-string 1)
|
||||
s2 (match-string 2)
|
||||
|
@ -7736,7 +7843,8 @@ the documentation of `org-diary'."
|
|||
'org-marker marker 'org-hd-marker hdmarker
|
||||
'priority (org-get-priority txt) 'category category)
|
||||
(push txt ee)))
|
||||
(outline-next-heading)))
|
||||
(goto-char pos)))
|
||||
; (outline-next-heading))) ;FIXME: correct to be removed??????
|
||||
;; Sort the entries by expiration date.
|
||||
(nreverse ee)))
|
||||
|
||||
|
@ -7757,7 +7865,7 @@ groups carry important information:
|
|||
|
||||
(defconst org-stamp-time-of-day-regexp
|
||||
(concat
|
||||
"<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} +[a-zA-Z]+ +\\)"
|
||||
"<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} +\\sw+ +\\)"
|
||||
"\\([012][0-9]:[0-5][0-9]\\)>"
|
||||
"\\(--?"
|
||||
"<\\1\\([012][0-9]:[0-5][0-9]\\)>\\)?")
|
||||
|
@ -8620,10 +8728,10 @@ The prefix arg TODO-ONLY limits the search to TODO entries."
|
|||
(setq buffer-read-only nil)
|
||||
(erase-buffer)
|
||||
(org-agenda-mode) (setq buffer-read-only nil)
|
||||
(set (make-local-variable 'org-agenda-type) 'tags)
|
||||
(set (make-local-variable 'org-agenda-redo-command)
|
||||
(list 'org-tags-view (list 'quote todo-only)
|
||||
(list 'if 'current-prefix-arg nil match) t))
|
||||
(org-set-local 'org-agenda-type 'tags)
|
||||
(org-set-local 'org-agenda-redo-command
|
||||
(list 'org-tags-view (list 'quote todo-only)
|
||||
(list 'if 'current-prefix-arg nil match) t))
|
||||
(setq files (org-agenda-files)
|
||||
rtnall nil)
|
||||
(org-prepare-agenda-buffers files)
|
||||
|
@ -10234,13 +10342,13 @@ to be run from that hook to fucntion properly."
|
|||
(org-startup-with-deadline-check nil))
|
||||
(org-mode))
|
||||
(if (and file (string-match "\\S-" file) (not (file-directory-p file)))
|
||||
(set (make-local-variable 'org-default-notes-file) file))
|
||||
(org-set-local 'org-default-notes-file file))
|
||||
(goto-char (point-min))
|
||||
(if (re-search-forward "%\\?" nil t) (replace-match "")))
|
||||
(let ((org-startup-folded nil)
|
||||
(org-startup-with-deadline-check nil))
|
||||
(org-mode)))
|
||||
(set (make-local-variable 'org-finish-function) 'remember-buffer))
|
||||
(org-set-local 'org-finish-function 'remember-buffer))
|
||||
|
||||
;;;###autoload
|
||||
(defun org-remember-handler ()
|
||||
|
@ -11492,10 +11600,10 @@ it can be edited in place."
|
|||
'(invisible t org-cwidth t display t
|
||||
intangible t))
|
||||
(goto-char p)
|
||||
(set (make-local-variable 'org-finish-function)
|
||||
'org-table-finish-edit-field)
|
||||
(set (make-local-variable 'org-window-configuration) cw)
|
||||
(set (make-local-variable 'org-field-marker) pos)
|
||||
(org-set-local 'org-finish-function
|
||||
'org-table-finish-edit-field)
|
||||
(org-set-local 'org-window-configuration cw)
|
||||
(org-set-local 'org-field-marker pos)
|
||||
(message "Edit and finish with C-c C-c"))))
|
||||
|
||||
(defun org-table-finish-edit-field ()
|
||||
|
@ -12098,10 +12206,11 @@ not overwrite the stored one."
|
|||
(setq formula (car tmp)
|
||||
fmt (concat (cdr (assoc "%" org-table-local-parameters))
|
||||
(nth 1 tmp)))
|
||||
(while (string-match "[pnfse]\\(-?[0-9]+\\)" fmt)
|
||||
(while (string-match "\\([pnfse]\\)\\(-?[0-9]+\\)" fmt)
|
||||
(setq c (string-to-char (match-string 1 fmt))
|
||||
n (string-to-number (or (match-string 1 fmt) "")))
|
||||
(if (= c ?p) (setq modes (org-set-calc-mode 'calc-internal-prec n))
|
||||
n (string-to-number (match-string 2 fmt)))
|
||||
(if (= c ?p)
|
||||
(setq modes (org-set-calc-mode 'calc-internal-prec n))
|
||||
(setq modes (org-set-calc-mode
|
||||
'calc-float-format
|
||||
(list (cdr (assoc c '((?n . float) (?f . fix)
|
||||
|
@ -12314,8 +12423,8 @@ Parameters get priority."
|
|||
(switch-to-buffer-other-window "*Edit Formulas*")
|
||||
(erase-buffer)
|
||||
(fundamental-mode)
|
||||
(set (make-local-variable 'org-pos) pos)
|
||||
(set (make-local-variable 'org-window-configuration) wc)
|
||||
(org-set-local 'org-pos pos)
|
||||
(org-set-local 'org-window-configuration wc)
|
||||
(use-local-map org-edit-formulas-map)
|
||||
(setq s "# Edit formulas and finish with `C-c C-c'.
|
||||
# Use `C-u C-c C-c' to also appy them immediately to the entire table.
|
||||
|
@ -12481,15 +12590,15 @@ table editor in arbitrary modes.")
|
|||
(let ((c (assq 'orgtbl-mode minor-mode-map-alist)))
|
||||
(and c (setq minor-mode-map-alist
|
||||
(cons c (delq c minor-mode-map-alist)))))
|
||||
(set (make-local-variable (quote org-table-may-need-update)) t)
|
||||
(org-set-local (quote org-table-may-need-update) t)
|
||||
(org-add-hook 'before-change-functions 'org-before-change-function
|
||||
nil 'local)
|
||||
(set (make-local-variable 'org-old-auto-fill-inhibit-regexp)
|
||||
auto-fill-inhibit-regexp)
|
||||
(set (make-local-variable 'auto-fill-inhibit-regexp)
|
||||
(if auto-fill-inhibit-regexp
|
||||
(concat "\\([ \t]*|\\|" auto-fill-inhibit-regexp)
|
||||
"[ \t]*|"))
|
||||
(org-set-local 'org-old-auto-fill-inhibit-regexp
|
||||
auto-fill-inhibit-regexp)
|
||||
(org-set-local 'auto-fill-inhibit-regexp
|
||||
(if auto-fill-inhibit-regexp
|
||||
(concat "\\([ \t]*|\\|" auto-fill-inhibit-regexp)
|
||||
"[ \t]*|"))
|
||||
(org-add-to-invisibility-spec '(org-cwidth))
|
||||
(easy-menu-add orgtbl-mode-menu)
|
||||
(run-hooks 'orgtbl-mode-hook))
|
||||
|
@ -13388,7 +13497,7 @@ underlined headlines. The default is 3."
|
|||
(set (make-local-variable (cdr x))
|
||||
(plist-get opt-plist (car x))))
|
||||
org-export-plist-vars)
|
||||
(set (make-local-variable 'org-odd-levels-only) odd)
|
||||
(org-set-local 'org-odd-levels-only odd)
|
||||
(setq umax (if arg (prefix-numeric-value arg)
|
||||
org-export-headline-levels))
|
||||
|
||||
|
@ -13594,22 +13703,15 @@ command."
|
|||
(goto-char (point-min)))))
|
||||
|
||||
(defun org-find-visible ()
|
||||
(if (featurep 'noutline)
|
||||
(let ((s (point)))
|
||||
(while (and (not (= (point-max) (setq s (next-overlay-change s))))
|
||||
(get-char-property s 'invisible)))
|
||||
s)
|
||||
(skip-chars-forward "^\n")
|
||||
(point)))
|
||||
(let ((s (point)))
|
||||
(while (and (not (= (point-max) (setq s (next-overlay-change s))))
|
||||
(get-char-property s 'invisible)))
|
||||
s))
|
||||
(defun org-find-invisible ()
|
||||
(if (featurep 'noutline)
|
||||
(let ((s (point)))
|
||||
(while (and (not (= (point-max) (setq s (next-overlay-change s))))
|
||||
(not (get-char-property s 'invisible))))
|
||||
s)
|
||||
(skip-chars-forward "^\r")
|
||||
(point)))
|
||||
|
||||
(let ((s (point)))
|
||||
(while (and (not (= (point-max) (setq s (next-overlay-change s))))
|
||||
(not (get-char-property s 'invisible))))
|
||||
s))
|
||||
|
||||
;; HTML
|
||||
|
||||
|
@ -13859,14 +13961,16 @@ lang=\"%s\" xml:lang=\"%s\">
|
|||
(insert (or (plist-get opt-plist :preamble) ""))
|
||||
|
||||
(when (plist-get opt-plist :auto-preamble)
|
||||
(if title (insert (concat "<h1 class=\"title\">"
|
||||
(org-html-expand title) "</h1>\n")))
|
||||
|
||||
(if title (insert (format org-export-html-title-format
|
||||
(org-html-expand title))))
|
||||
(if text (insert "<p>\n" (org-html-expand text) "</p>")))
|
||||
|
||||
(if org-export-with-toc
|
||||
(progn
|
||||
(insert (format "<h2>%s</h2>\n" (nth 3 lang-words)))
|
||||
(insert (format "<h%d>%s</h%d>\n"
|
||||
org-export-html-toplevel-hlevel
|
||||
(nth 3 lang-words)
|
||||
org-export-html-toplevel-hlevel))
|
||||
(insert "<ul>\n<li>")
|
||||
(setq lines
|
||||
(mapcar '(lambda (line)
|
||||
|
@ -14553,7 +14657,7 @@ When TITLE is nil, just close all open levels."
|
|||
(insert "<ul>\n<li>" title "<br/>\n")))
|
||||
(if org-export-with-section-numbers
|
||||
(setq title (concat (org-section-number level) " " title)))
|
||||
(setq level (+ level 1))
|
||||
(setq level (+ level org-export-html-toplevel-hlevel -1))
|
||||
(if with-toc
|
||||
(insert (format "\n<h%d><a name=\"sec-%d\">%s</a></h%d>\n"
|
||||
level head-count title level))
|
||||
|
@ -15763,6 +15867,10 @@ See the individual commands for more information."
|
|||
"--"
|
||||
("TODO Lists"
|
||||
["TODO/DONE/-" org-todo t]
|
||||
("Select keyword"
|
||||
["Next keyword" org-shiftright (org-on-heading-p)]
|
||||
["Previous keyword" org-shiftleft (org-on-heading-p)]
|
||||
["Complete Keyword" org-complete (assq :todo-keyword (org-context))])
|
||||
["Show TODO Tree" org-show-todo-tree t]
|
||||
["Global TODO list" org-todo-list t]
|
||||
"--"
|
||||
|
@ -16042,31 +16150,32 @@ return nil."
|
|||
;; In the paragraph separator we include headlines, because filling
|
||||
;; text in a line directly attached to a headline would otherwise
|
||||
;; fill the headline as well.
|
||||
(set (make-local-variable 'comment-start-skip) "^#+[ \t]*")
|
||||
(set (make-local-variable 'paragraph-separate) "\f\\|\\*\\|[ ]*$\\|[ \t]*[:|]")
|
||||
(org-set-local 'comment-start-skip "^#+[ \t]*")
|
||||
(org-set-local 'paragraph-separate "\f\\|\\*\\|[ ]*$\\|[ \t]*[:|]")
|
||||
;; The paragraph starter includes hand-formatted lists.
|
||||
(set (make-local-variable 'paragraph-start)
|
||||
"\f\\|[ ]*$\\|\\([*\f]+\\)\\|[ \t]*\\([-+*][ \t]+\\|[0-9]+[.)][ \t]+\\)\\|[ \t]*[:|]")
|
||||
(org-set-local 'paragraph-start
|
||||
"\f\\|[ ]*$\\|\\([*\f]+\\)\\|[ \t]*\\([-+*][ \t]+\\|[0-9]+[.)][ \t]+\\)\\|[ \t]*[:|]")
|
||||
;; Inhibit auto-fill for headers, tables and fixed-width lines.
|
||||
;; But only if the user has not turned off tables or fixed-width regions
|
||||
(set (make-local-variable 'auto-fill-inhibit-regexp)
|
||||
(concat "\\*\\|#"
|
||||
"\\|[ \t]*" org-keyword-time-regexp
|
||||
(if (or org-enable-table-editor org-enable-fixed-width-editor)
|
||||
(concat
|
||||
"\\|[ \t]*["
|
||||
(if org-enable-table-editor "|" "")
|
||||
(if org-enable-fixed-width-editor ":" "")
|
||||
"]"))))
|
||||
(org-set-local
|
||||
'auto-fill-inhibit-regexp
|
||||
(concat "\\*\\|#"
|
||||
"\\|[ \t]*" org-keyword-time-regexp
|
||||
(if (or org-enable-table-editor org-enable-fixed-width-editor)
|
||||
(concat
|
||||
"\\|[ \t]*["
|
||||
(if org-enable-table-editor "|" "")
|
||||
(if org-enable-fixed-width-editor ":" "")
|
||||
"]"))))
|
||||
;; We use our own fill-paragraph function, to make sure that tables
|
||||
;; and fixed-width regions are not wrapped. That function will pass
|
||||
;; through to `fill-paragraph' when appropriate.
|
||||
(set (make-local-variable 'fill-paragraph-function) 'org-fill-paragraph)
|
||||
;; Adaptive filling: To get full control, first make sure that
|
||||
(org-set-local 'fill-paragraph-function 'org-fill-paragraph)
|
||||
; Adaptive filling: To get full control, first make sure that
|
||||
;; `adaptive-fill-regexp' never matches. Then install our own matcher.
|
||||
(set (make-local-variable 'adaptive-fill-regexp) "\000")
|
||||
(set (make-local-variable 'adaptive-fill-function)
|
||||
'org-adaptive-fill-function))
|
||||
(org-set-local 'adaptive-fill-regexp "\000")
|
||||
(org-set-local 'adaptive-fill-function
|
||||
'org-adaptive-fill-function))
|
||||
|
||||
(defun org-fill-paragraph (&optional justify)
|
||||
"Re-align a table, pass through to fill-paragraph if no table."
|
||||
|
@ -16145,18 +16254,7 @@ that can be added."
|
|||
t)
|
||||
"\\'"))))
|
||||
|
||||
;; Functions needed for compatibility with old outline.el.
|
||||
|
||||
;; Programming for the old outline.el (that uses selective display
|
||||
;; instead of `invisible' text properties) is a nightmare, mostly
|
||||
;; because regular expressions can no longer be anchored at
|
||||
;; beginning/end of line. Therefore a number of function need special
|
||||
;; treatment when the old outline.el is being used.
|
||||
|
||||
;; The following functions capture almost the entire compatibility code
|
||||
;; between the different versions of outline-mode. The only other
|
||||
;; places where this is important are the font-lock-keywords, and in
|
||||
;; `org-export-visible'. Search for `org-noutline-p' to find them.
|
||||
;; Functions extending outline functionality
|
||||
|
||||
;; C-a should go to the beginning of a *visible* line, also in the
|
||||
;; new outline.el. I guess this should be patched into Emacs?
|
||||
|
@ -16174,60 +16272,26 @@ to a visible line beginning. This makes the function of C-a more intuitive."
|
|||
(beginning-of-line 1))
|
||||
(forward-char 1))))
|
||||
|
||||
(when org-noutline-p
|
||||
(define-key org-mode-map "\C-a" 'org-beginning-of-line))
|
||||
(define-key org-mode-map "\C-a" 'org-beginning-of-line)
|
||||
|
||||
(defun org-invisible-p ()
|
||||
"Check if point is at a character currently not visible."
|
||||
(if org-noutline-p
|
||||
;; Early versions of noutline don't have `outline-invisible-p'.
|
||||
(if (fboundp 'outline-invisible-p)
|
||||
(outline-invisible-p)
|
||||
(get-char-property (point) 'invisible))
|
||||
(save-excursion
|
||||
(skip-chars-backward "^\r\n")
|
||||
(equal (char-before) ?\r))))
|
||||
;; Early versions of noutline don't have `outline-invisible-p'.
|
||||
(if (fboundp 'outline-invisible-p)
|
||||
(outline-invisible-p)
|
||||
(get-char-property (point) 'invisible)))
|
||||
|
||||
(defun org-invisible-p2 ()
|
||||
"Check if point is at a character currently not visible."
|
||||
(save-excursion
|
||||
(if org-noutline-p
|
||||
(progn
|
||||
(if (and (eolp) (not (bobp))) (backward-char 1))
|
||||
;; Early versions of noutline don't have `outline-invisible-p'.
|
||||
(if (fboundp 'outline-invisible-p)
|
||||
(outline-invisible-p)
|
||||
(get-char-property (point) 'invisible)))
|
||||
(skip-chars-backward "^\r\n")
|
||||
(equal (char-before) ?\r))))
|
||||
(if (and (eolp) (not (bobp))) (backward-char 1))
|
||||
;; Early versions of noutline don't have `outline-invisible-p'.
|
||||
(if (fboundp 'outline-invisible-p)
|
||||
(outline-invisible-p)
|
||||
(get-char-property (point) 'invisible))))
|
||||
|
||||
(defun org-back-to-heading (&optional invisible-ok)
|
||||
"Move to previous heading line, or beg of this line if it's a heading.
|
||||
Only visible heading lines are considered, unless INVISIBLE-OK is non-nil."
|
||||
(if org-noutline-p
|
||||
(outline-back-to-heading invisible-ok)
|
||||
(if (and (or (bobp) (memq (char-before) '(?\n ?\r)))
|
||||
(looking-at outline-regexp))
|
||||
t
|
||||
(if (re-search-backward (concat (if invisible-ok "\\([\r\n]\\|^\\)" "^")
|
||||
outline-regexp)
|
||||
nil t)
|
||||
(if invisible-ok
|
||||
(progn (goto-char (or (match-end 1) (match-beginning 0)))
|
||||
(looking-at outline-regexp)))
|
||||
(error "Before first heading")))))
|
||||
|
||||
(defun org-on-heading-p (&optional invisible-ok)
|
||||
"Return t if point is on a (visible) heading line.
|
||||
If INVISIBLE-OK is non-nil, an invisible heading line is ok too."
|
||||
(if org-noutline-p
|
||||
(outline-on-heading-p 'invisible-ok)
|
||||
(save-excursion
|
||||
(skip-chars-backward "^\n\r")
|
||||
(and (looking-at outline-regexp)
|
||||
(or invisible-ok
|
||||
(bobp)
|
||||
(equal (char-before) ?\n))))))
|
||||
(defalias 'org-back-to-heading 'outline-back-to-heading)
|
||||
(defalias 'org-on-heading-p 'outline-on-heading-p)
|
||||
|
||||
(defun org-on-target-p ()
|
||||
(let ((pos (point)))
|
||||
|
@ -16243,47 +16307,20 @@ If INVISIBLE-OK is non-nil, an invisible heading line is ok too."
|
|||
"Move to the heading line of which the present line is a subheading.
|
||||
This function considers both visible and invisible heading lines.
|
||||
With argument, move up ARG levels."
|
||||
(if org-noutline-p
|
||||
(if (fboundp 'outline-up-heading-all)
|
||||
(outline-up-heading-all arg) ; emacs 21 version of outline.el
|
||||
(outline-up-heading arg t)) ; emacs 22 version of outline.el
|
||||
(org-back-to-heading t)
|
||||
(looking-at outline-regexp)
|
||||
(if (<= (- (match-end 0) (match-beginning 0)) arg)
|
||||
(error "Cannot move up %d levels" arg)
|
||||
(re-search-backward
|
||||
(concat "[\n\r]" (regexp-quote
|
||||
(make-string (- (match-end 0) (match-beginning 0) arg)
|
||||
?*))
|
||||
"[^*]"))
|
||||
(forward-char 1))))
|
||||
(if (fboundp 'outline-up-heading-all)
|
||||
(outline-up-heading-all arg) ; emacs 21 version of outline.el
|
||||
(outline-up-heading arg t))) ; emacs 22 version of outline.el
|
||||
|
||||
(defun org-show-hidden-entry ()
|
||||
"Show an entry where even the heading is hidden."
|
||||
(save-excursion
|
||||
(if (not org-noutline-p)
|
||||
(progn
|
||||
(org-back-to-heading t)
|
||||
(org-flag-heading nil)))
|
||||
(org-show-entry)))
|
||||
|
||||
(defun org-check-occur-regexp (regexp)
|
||||
"If REGEXP starts with \"^\", modify it to check for \\r as well.
|
||||
Of course, only for the old outline mode."
|
||||
(if org-noutline-p
|
||||
regexp
|
||||
(if (string-match "^\\^" regexp)
|
||||
(concat "[\n\r]" (substring regexp 1))
|
||||
regexp)))
|
||||
|
||||
(defun org-flag-heading (flag &optional entry)
|
||||
"Flag the current heading. FLAG non-nil means make invisible.
|
||||
When ENTRY is non-nil, show the entire entry."
|
||||
(save-excursion
|
||||
(org-back-to-heading t)
|
||||
(if (not org-noutline-p)
|
||||
;; Make the current headline visible
|
||||
(outline-flag-region (max 1 (1- (point))) (point) (if flag ?\r ?\n)))
|
||||
;; Check if we should show the entire entry
|
||||
(if entry
|
||||
(progn
|
||||
|
@ -16293,9 +16330,7 @@ When ENTRY is non-nil, show the entire entry."
|
|||
(org-flag-heading nil))))
|
||||
(outline-flag-region (max 1 (1- (point)))
|
||||
(save-excursion (outline-end-of-heading) (point))
|
||||
(if org-noutline-p
|
||||
flag
|
||||
(if flag ?\r ?\n))))))
|
||||
flag))))
|
||||
|
||||
(defun org-end-of-subtree (&optional invisible-OK)
|
||||
;; This is an exact copy of the original function, but it uses
|
||||
|
@ -16324,7 +16359,7 @@ When ENTRY is non-nil, show the entire entry."
|
|||
(point)
|
||||
(save-excursion
|
||||
(outline-end-of-subtree) (outline-next-heading) (point))
|
||||
(if org-noutline-p nil ?\n)))
|
||||
nil))
|
||||
|
||||
(defun org-show-entry ()
|
||||
"Show the body directly following this heading.
|
||||
|
@ -16337,16 +16372,16 @@ Show the heading too, if it is currently invisible."
|
|||
(save-excursion
|
||||
(re-search-forward (concat "[\r\n]\\(" outline-regexp "\\)") nil 'move)
|
||||
(or (match-beginning 1) (point-max)))
|
||||
(if org-noutline-p nil ?\n))))
|
||||
nil)))
|
||||
|
||||
(defun org-make-options-regexp (kwds)
|
||||
"Make a regular expression for keyword lines."
|
||||
(concat
|
||||
(if org-noutline-p "^" "[\n\r]")
|
||||
"^"
|
||||
"#?[ \t]*\\+\\("
|
||||
(mapconcat 'regexp-quote kwds "\\|")
|
||||
"\\):[ \t]*"
|
||||
(if org-noutline-p "\\(.+\\)" "\\([^\n\r]+\\)")))
|
||||
"\\(.+\\)"))
|
||||
|
||||
;; Make `bookmark-jump' show the jump location if it was hidden.
|
||||
(eval-after-load "bookmark"
|
||||
|
|
152
org.texi
152
org.texi
|
@ -3,8 +3,8 @@
|
|||
@setfilename ../info/org
|
||||
@settitle Org Mode Manual
|
||||
|
||||
@set VERSION 4.43
|
||||
@set DATE July 2006
|
||||
@set VERSION 4.44
|
||||
@set DATE August 2006
|
||||
|
||||
@dircategory Emacs
|
||||
@direntry
|
||||
|
@ -98,7 +98,8 @@ Software Foundation raise funds for GNU development.''
|
|||
Introduction
|
||||
|
||||
* Summary:: Brief summary of what Org-mode does
|
||||
* Installation:: How to install Org-mode
|
||||
* Installation:: How to install a downloaded version of Org-mode
|
||||
* Activation:: How to activate Org-mode for certain buffers.
|
||||
* Feedback:: Bug reports, ideas, patches etc.
|
||||
|
||||
Document Structure
|
||||
|
@ -270,7 +271,8 @@ Extensions, Hooks and Hacking
|
|||
|
||||
@menu
|
||||
* Summary:: Brief summary of what Org-mode does
|
||||
* Installation:: How to install Org-mode
|
||||
* Installation:: How to install a downloaded version of Org-mode
|
||||
* Activation:: How to activate Org-mode for certain buffers.
|
||||
* Feedback:: Bug reports, ideas, patches etc.
|
||||
@end menu
|
||||
|
||||
|
@ -323,18 +325,68 @@ questions (FAQ), links to tutorials etc. This page is located at
|
|||
|
||||
@page
|
||||
|
||||
@node Installation, Feedback, Summary, Introduction
|
||||
@section Installation and Activation
|
||||
@node Installation, Activation, Summary, Introduction
|
||||
@section Installation
|
||||
@cindex installation
|
||||
@cindex XEmacs
|
||||
|
||||
@b{Important:} If Org-mode is part of the Emacs distribution or an
|
||||
XEmacs package, please skip this section and go directly to
|
||||
@ref{Activation}.
|
||||
|
||||
If you have downloaded Org-mode from the Web, you must take the
|
||||
following steps to install it: Go into the Org-mode distribution
|
||||
directory and edit the top section of the file @file{Makefile}. You
|
||||
must set the name of the Emacs binary (likely either @file{emacs} or
|
||||
@file{xemacs}), and the paths to the directories where local Lisp and
|
||||
Info files are kept. If you don't have access to the system-wide
|
||||
directories, create your own two directories for these files, enter them
|
||||
into the Makefile, and make sure Emacs finds the Lisp files by adding
|
||||
the following line to @file{.emacs}:
|
||||
|
||||
@example
|
||||
(setq load-path (cons "~/path/to/lispdir" load-path))
|
||||
@end example
|
||||
|
||||
@b{XEmacs users now need to install the file @file{noutline.el} from
|
||||
the @file{xemacs} subdirectory of the Org-mode distribution. Use the
|
||||
command:}
|
||||
|
||||
@example
|
||||
@b{make install-noutline}
|
||||
@end example
|
||||
|
||||
@noindent Now byte-compile and install the Lisp files with the shell
|
||||
commands:
|
||||
|
||||
@example
|
||||
make
|
||||
make install
|
||||
@end example
|
||||
|
||||
@noindent If you want to install the info documentation, use this command:
|
||||
|
||||
@example
|
||||
make install-info
|
||||
@end example
|
||||
|
||||
@noindent Then add to @file{.emacs}:
|
||||
|
||||
@lisp
|
||||
;; This line only if org-mode is not part of the X/Emacs distribution.
|
||||
(require 'org-install)
|
||||
@end lisp
|
||||
|
||||
@node Activation, Feedback, Installation, Introduction
|
||||
@section Activation
|
||||
@cindex activation
|
||||
@cindex autoload
|
||||
@cindex global keybindings
|
||||
@cindex keybindings, global
|
||||
|
||||
If Org-mode is part of the Emacs distribution or an XEmacs package,
|
||||
you only need to copy the following lines to your @file{.emacs} file.
|
||||
The last two lines define @emph{global} keys for the commands
|
||||
@command{org-store-link} and @command{org-agenda} - please
|
||||
choose suitable keys yourself.
|
||||
Add the following lines to your @file{.emacs} file. The last two lines
|
||||
define @emph{global} keys for the commands @command{org-store-link} and
|
||||
@command{org-agenda} - please choose suitable keys yourself.
|
||||
|
||||
@lisp
|
||||
;; The following lines are always needed. Choose your own keys.
|
||||
|
@ -345,30 +397,17 @@ choose suitable keys yourself.
|
|||
|
||||
Furthermore, you must activate @code{font-lock-mode} in org-mode
|
||||
buffers, because significant functionality depends on font-locking being
|
||||
active. You can do this with either one of the following two lines:
|
||||
active. You can do this with either one of the following two lines
|
||||
(XEmacs user must use the second option):
|
||||
@lisp
|
||||
(global-font-lock-mode 1) ; for all buffers
|
||||
(add-hook 'org-mode-hook 'turn-on-font-lock) ; org-mode buffers only
|
||||
@end lisp
|
||||
|
||||
If you have downloaded Org-mode from the Web, you must take additional
|
||||
action: Byte-compile @file{org.el} and @file{org-publish.el} and put
|
||||
them together with @file{org-install.el} on your load path. Then add to
|
||||
@file{.emacs}:
|
||||
|
||||
@lisp
|
||||
;; This line only if org-mode is not part of the X/Emacs distribution.
|
||||
(require 'org-install)
|
||||
@end lisp
|
||||
|
||||
If you use Org-mode with XEmacs, you also need to install the file
|
||||
@file{noutline.el} from the @file{xemacs} subdirectory of the Org-mode
|
||||
distribution.
|
||||
|
||||
@cindex org-mode, turning on
|
||||
With this setup, all files with extension @samp{.org} will be put into
|
||||
Org-mode. As an alternative, make the first line of a file look like
|
||||
this:
|
||||
With this setup, all files with extension @samp{.org} will be put
|
||||
into Org-mode. As an alternative, make the first line of a file look
|
||||
like this:
|
||||
|
||||
@example
|
||||
MY PROJECTS -*- mode: org; -*-
|
||||
|
@ -378,7 +417,7 @@ MY PROJECTS -*- mode: org; -*-
|
|||
the file's name is. See also the variable
|
||||
@code{org-insert-mode-line-in-empty-file}.
|
||||
|
||||
@node Feedback, , Installation, Introduction
|
||||
@node Feedback, , Activation, Introduction
|
||||
@section Feedback
|
||||
@cindex feedback
|
||||
@cindex bug reports
|
||||
|
@ -826,8 +865,14 @@ But in the end, not individual scenes matter but the film as a whole.
|
|||
@end group
|
||||
@end example
|
||||
|
||||
Org-mode supports these lists by tuning filling and wrapping commands
|
||||
to deal with them correctly.
|
||||
Org-mode supports these lists by tuning filling and wrapping commands to
|
||||
deal with them correctly@footnote{Org-mode only changes the filling
|
||||
settings for Emacs. For XEmacs, you should use Kyle E. Jones'
|
||||
@file{filladapt.el}. To turn is on, put into @file{.emacs}:
|
||||
@example
|
||||
(require 'filladapt)
|
||||
@end example
|
||||
}.
|
||||
|
||||
The following commands act on items when the cursor is in the first line
|
||||
of an item (the line with the bullet or number).
|
||||
|
@ -2547,7 +2592,12 @@ keyword together with a timestamp.
|
|||
Stop the clock (clock-out). The inserts another timestamp at the same
|
||||
location where the clock was last started. It also directly computes
|
||||
the resulting time in inserts it after the time range as @samp{=>
|
||||
HH:MM}.
|
||||
HH:MM}.
|
||||
@kindex C-c C-y
|
||||
@item C-c C-y
|
||||
Recompute the time interval after changing one of the time stamps. This
|
||||
is only necessary if you edit the time stamps directly. If you change
|
||||
them with @kbd{S-@key{cursor}} keys, the update is automatic.
|
||||
@kindex C-c C-t
|
||||
@item C-c C-t
|
||||
Changing the TODO state of an item to DONE automatically stops the clock
|
||||
|
@ -2565,8 +2615,8 @@ can use visibility cycling to study the tree, but the overlays disappear
|
|||
automatically when the buffer is changed.
|
||||
@kindex C-c C-x C-r
|
||||
@item C-c C-x C-r
|
||||
Insert a dynamic block containing a clock report as an org-mode table
|
||||
into the current file.
|
||||
Insert a dynamic block (@pxref{Dynamic blocks}) containing a clock
|
||||
report as an org-mode table into the current file.
|
||||
@example
|
||||
#+BEGIN: clocktable :maxlevel 2 :emphasize nil
|
||||
|
||||
|
@ -2578,7 +2628,32 @@ table. The @samp{BEGIN} line can specify options:
|
|||
@example
|
||||
:maxlevels @r{Maximum level depth to which times are listed in the table.}
|
||||
:emphasize @r{When @code{t}, emphasize level one and level two items}
|
||||
:block @r{The time block to consider. This block is specified relative}
|
||||
@r{to the current time and may be any of these keywords:}
|
||||
@r{@code{today}, @code{yesterday}, @code{thisweek}, @code{lastweek},}
|
||||
@r{@code{thismonth}, @code{lastmonth}, @code{thisyear}, or @code{lastyear}}.
|
||||
:tstart @r{A time string specifying when to start considering times}
|
||||
:tend @r{A time string specifying when to stop considering times}
|
||||
@end example
|
||||
So to get a clock summary for the current day, you could write
|
||||
@example
|
||||
#+BEGIN: clocktable :maxlevel 2 :block today
|
||||
|
||||
#+END: clocktable
|
||||
@end example
|
||||
and to use a specific time range you could write@footnote{Note that all
|
||||
parameters must be specified in a single line - the line is broken here
|
||||
only to fit it onto the manual.}
|
||||
@example
|
||||
#+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>"
|
||||
:tend "<2006-08-10 Thu 12:00>"
|
||||
|
||||
#+END: clocktable
|
||||
@end example
|
||||
@kindex C-u C-c C-x C-u
|
||||
@item C-u C-c C-x C-u
|
||||
Update all dynamic blocks (@pxref{Dynamic blocks}). This is useful if
|
||||
you have several clocktable blocks in a buffer.
|
||||
@end table
|
||||
|
||||
The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in
|
||||
|
@ -4653,8 +4728,7 @@ setup. See the installation instructions in the file
|
|||
@item @file{cdlatex.el} by Carsten Dominik
|
||||
@cindex @file{cdlatex.el}
|
||||
Org-mode can make use of the cdlatex package to efficiently enter
|
||||
La@TeX{} fragments into Org-mode files.
|
||||
@file{cdlatex.el} is not part of Emacs, find it on the web.
|
||||
La@TeX{} fragments into Org-mode files. See @ref{CDLaTeX mode}.
|
||||
@item @file{remember.el} by John Wiegley
|
||||
@cindex @file{remember.el}
|
||||
Org mode cooperates with remember, see @ref{Remember}.
|
||||
|
@ -4784,7 +4858,7 @@ caused by the preparations for the 22.1 release. In the mean time,
|
|||
@url{http://dto.freeshell.org/e/org-publish.el}.
|
||||
@cindex @file{org-blog.el}
|
||||
@item @file{org-blog.el} by David O'Toole
|
||||
A blogging plug-in for @file{org-publish.el}.
|
||||
A blogging plug-in for @file{org-publish.el}.@*
|
||||
@url{http://dto.freeshell.org/notebook/OrgMode.html}.
|
||||
@cindex @file{org-blogging.el}
|
||||
@item @file{org-blogging.el} by Bastien Guerry
|
||||
|
@ -4805,7 +4879,7 @@ to the block and can also specify parameters for the function producing
|
|||
the content of the block.
|
||||
|
||||
@example
|
||||
#+BEGIN: myblock :parameter1 value1 :parameter2 value2 .....
|
||||
#+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
|
||||
|
||||
#+END:
|
||||
@end example
|
||||
|
|
BIN
orgcard.pdf
BIN
orgcard.pdf
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
% Reference Card for Org Mode
|
||||
\def\orgversionnumber{4.43}
|
||||
\def\orgversionnumber{4.44}
|
||||
\def\year{2006}
|
||||
%
|
||||
%**start of header
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
This directory contains files that are necessary or at least useful
|
||||
companions for Org-mode:
|
||||
|
||||
noutline.el Greg Chernov's port of the overlay-based implementation of
|
||||
outline-mode. This is requires, and until XEmacs uses
|
||||
this (or another port), you need to install it with Org-mode.
|
||||
noutline.el
|
||||
|
||||
ps-print-invisible.el Greg Chernovs modification to ps-print, to
|
||||
honor invisible text properties during printing.
|
||||
Greg Chernov's port of the overlay-based implementation of
|
||||
outline-mode. This is required, and until XEmacs uses this (or
|
||||
another port), you need to install it with Org-mode. The "Installation"
|
||||
section in the Manual covers also the installation of this package.
|
||||
|
||||
ps-print-invisible.el
|
||||
|
||||
Greg Chernovs modification to ps-print, to honor invisible text
|
||||
properties during printing. This file is not required for running
|
||||
Org-mode, but it is useful when trying to print partial trees.
|
Loading…
Reference in New Issue