diff --git a/org b/org index 4a6120db5..4d5b178d2 100644 --- a/org +++ b/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-' 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 diff --git a/org.el b/org.el index 4cda0d6b3..1fcac6855 100644 --- a/org.el +++ b/org.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; 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 "

%s

\n" + "Format for typesetting the document title in HTML export." + :group 'org-export-html + :type 'string) + +(defcustom org-export-html-toplevel-hlevel 2 + "The level for level 1 headings in HTML export." + :group 'org-export-html + :type 'string) + (defcustom org-export-html-link-org-files-as-html t "Non-nil means, make file links to `file.org' point to `file.html'. When org-mode is exporting an org-mode file to HTML, links to @@ -2694,6 +2704,10 @@ Also put tags into group 4 if tags are present.") (remove-text-properties 0 (length s) org-rm-props s) s) +(defsubst org-set-local (var value) + "Make VAR local in current buffer and set it to VALUE." + (set (make-variable-buffer-local var) value)) + (defsubst org-mode-p () "Check if the current buffer is in Org-mode." (eq major-mode 'org-mode)) @@ -2703,7 +2717,7 @@ Also put tags into group 4 if tags are present.") (when (org-mode-p) (let ((re (org-make-options-regexp '("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO" - "STARTUP" "ARCHIVE" "TAGS"))) + "STARTUP" "ARCHIVE" "TAGS" "CALC"))) (splitre "[ \t]+") kwds int key value cat arch tags) (save-excursion @@ -2755,10 +2769,10 @@ Also put tags into group 4 if tags are present.") (remove-text-properties 0 (length arch) '(face t fontified t) arch))) ))) - (and cat (set (make-local-variable 'org-category) cat)) - (and kwds (set (make-local-variable 'org-todo-keywords) kwds)) - (and arch (set (make-local-variable 'org-archive-location) arch)) - (and int (set (make-local-variable 'org-todo-interpretation) int)) + (and cat (org-set-local 'org-category cat)) + (and kwds (org-set-local 'org-todo-keywords kwds)) + (and arch (org-set-local 'org-archive-location arch)) + (and int (org-set-local 'org-todo-interpretation int)) (when tags (let (e tgs) (while (setq e (pop tags)) @@ -2770,7 +2784,7 @@ Also put tags into group 4 if tags are present.") (string-to-char (match-string 2 e))) tgs)) (t (push (list e) tgs)))) - (set (make-local-variable 'org-tag-alist) nil) + (org-set-local 'org-tag-alist nil) (while (setq e (pop tgs)) (or (and (stringp (car e)) (assoc (car e) org-tag-alist)) @@ -2928,15 +2942,11 @@ The following commands are available: ;; Need to do this here because define-derived-mode sets up ;; the keymap so late. (if (featurep 'xemacs) - (if org-noutline-p - (progn - (easy-menu-remove outline-mode-menu-heading) - (easy-menu-remove outline-mode-menu-show) - (easy-menu-remove outline-mode-menu-hide)) - (delete-menu-item '("Headings")) - (delete-menu-item '("Show")) - (delete-menu-item '("Hide")) - (set-menubar-dirty-flag)) + (progn + ;; Assume this is Greg's port, it used easymenu + (easy-menu-remove outline-mode-menu-heading) + (easy-menu-remove outline-mode-menu-show) + (easy-menu-remove outline-mode-menu-hide)) (define-key org-mode-map [menu-bar headings] 'undefined) (define-key org-mode-map [menu-bar hide] 'undefined) (define-key org-mode-map [menu-bar show] 'undefined)) @@ -2947,7 +2957,7 @@ The following commands are available: (if org-descriptive-links (org-add-to-invisibility-spec '(org-link))) (org-add-to-invisibility-spec '(org-cwidth)) (when (featurep 'xemacs) - (set (make-local-variable 'line-move-ignore-invisible) t)) + (org-set-local 'line-move-ignore-invisible t)) (setq outline-regexp "\\*+") ;;(setq outline-regexp "\\(?:\\*+\\|[ \t]*\\(?:[-+*]\\|[0-9]+[.)]\\) \\)") (setq outline-level 'org-outline-level) @@ -2958,12 +2968,14 @@ The following commands are available: 4 (string-to-vector org-ellipsis)) (setq buffer-display-table org-display-table)) (org-set-regexps-and-options) + ;; Calc embedded + (org-set-local 'calc-embedded-open-mode "# ") (modify-syntax-entry ?# "<") (if org-startup-truncated (setq truncate-lines t)) - (set (make-local-variable 'font-lock-unfontify-region-function) - 'org-unfontify-region) + (org-set-local 'font-lock-unfontify-region-function + 'org-unfontify-region) ;; Activate before-change-function - (set (make-local-variable 'org-table-may-need-update) t) + (org-set-local 'org-table-may-need-update t) (org-add-hook 'before-change-functions 'org-before-change-function nil 'local) ;; Check for running clock before killing a buffer @@ -3107,7 +3119,7 @@ that will be added to PLIST. Returns the string that was modified." org-ts-regexp "\\)?") "Regular expression matching a time stamp or time stamp range.") -(defvar org-emph-face nil) +(defvar org-emph-face nil) (defun org-do-emphasis-faces (limit) "Run through the buffer and add overlays to links." @@ -3340,10 +3352,9 @@ between words." ))) (setq org-font-lock-extra-keywords (delq nil org-font-lock-extra-keywords)) ;; Now set the full font-lock-keywords - (set (make-local-variable 'org-font-lock-keywords) - org-font-lock-extra-keywords) - (set (make-local-variable 'font-lock-defaults) - '(org-font-lock-keywords t nil nil backward-paragraph)) + (org-set-local 'org-font-lock-keywords org-font-lock-extra-keywords) + (org-set-local 'font-lock-defaults + '(org-font-lock-keywords t nil nil backward-paragraph)) (kill-local-variable 'font-lock-keywords) nil)) (defvar org-m nil) @@ -3812,9 +3823,7 @@ state (TODO by default). Also with prefix arg, force first state." (org-insert-heading) (save-excursion (org-back-to-heading) - (if org-noutline-p - (outline-previous-heading) - (outline-previous-visible-heading t)) + (outline-previous-heading) (looking-at org-todo-line-regexp)) (if (or arg (not (match-beginning 2)) @@ -4703,7 +4712,7 @@ the children that do not contain any open TODO items." (pc '(:org-comment t)) (pall '(:org-archived t :org-comment t)) (rea (concat ":" org-archive-tag ":")) - bmp file re) + bmp file re) (save-excursion (while (setq file (pop files)) (org-check-agenda-file file) @@ -4775,7 +4784,7 @@ If not found, stay at current position and return nil." pos)) (defconst org-dblock-start-re - "^#\\+BEGIN:[ \t]+\\(\\S-+\\)[ \t]+\\(.*\\)" + "^#\\+BEGIN:[ \t]+\\(\\S-+\\)\\([ \t]+\\(.*\\)\\)?" "Matches the startline of a dynamic block, with parameters.") (defconst org-dblock-end-re "^#\\+END\\([: \t\r\n]\\|$\\)" @@ -4803,7 +4812,7 @@ the property list including an extra property :name with the block name." (let* ((begdel (1+ (match-end 0))) (name (match-string 1)) (params (append (list :name name) - (read (concat "(" (match-string 2) ")"))))) + (read (concat "(" (match-string 3) ")"))))) (unless (re-search-forward org-dblock-end-re nil t) (error "Dynamic block not terminated")) (delete-region begdel (match-beginning 0)) @@ -5200,7 +5209,6 @@ If CALLBACK is non-nil, it is a function which is called to confirm that the match should indeed be shown." (interactive "sRegexp: ") (org-remove-occur-highlights nil nil t) - (setq regexp (org-check-occur-regexp regexp)) (let ((cnt 0)) (save-excursion (goto-char (point-min)) @@ -5625,56 +5633,58 @@ next column. For time difference computation, a year is assumed to be exactly 365 days in order to avoid rounding problems." (interactive "P") - (save-excursion - (unless (org-at-date-range-p) - (goto-char (point-at-bol)) - (re-search-forward org-tr-regexp (point-at-eol) t)) - (if (not (org-at-date-range-p)) - (error "Not at a time-stamp range, and none found in current line"))) - (let* ((ts1 (match-string 1)) - (ts2 (match-string 2)) - (havetime (or (> (length ts1) 15) (> (length ts2) 15))) - (match-end (match-end 0)) - (time1 (org-time-string-to-time ts1)) - (time2 (org-time-string-to-time ts2)) - (t1 (time-to-seconds time1)) - (t2 (time-to-seconds time2)) - (diff (abs (- t2 t1))) - (negative (< (- t2 t1) 0)) - ;; (ys (floor (* 365 24 60 60))) - (ds (* 24 60 60)) - (hs (* 60 60)) - (fy "%dy %dd %02d:%02d") - (fy1 "%dy %dd") - (fd "%dd %02d:%02d") - (fd1 "%dd") - (fh "%02d:%02d") - y d h m align) - (if havetime - (setq ; y (floor (/ diff ys)) diff (mod diff ys) - y 0 - d (floor (/ diff ds)) diff (mod diff ds) - h (floor (/ diff hs)) diff (mod diff hs) - m (floor (/ diff 60))) - (setq ; y (floor (/ diff ys)) diff (mod diff ys) - y 0 - d (floor (+ (/ diff ds) 0.5)) - h 0 m 0)) - (if (not to-buffer) - (message (org-make-tdiff-string y d h m)) - (when (org-at-table-p) - (goto-char match-end) - (setq align t) - (and (looking-at " *|") (goto-char (match-end 0)))) - (if (looking-at - "\\( *-? *[0-9]+y\\)?\\( *[0-9]+d\\)? *[0-9][0-9]:[0-9][0-9]") - (replace-match "")) - (if negative (insert " -")) - (if (> y 0) (insert " " (format (if havetime fy fy1) y d h m)) - (if (> d 0) (insert " " (format (if havetime fd fd1) d h m)) - (insert " " (format fh h m)))) - (if align (org-table-align)) - (message "Time difference inserted")))) + (or + (org-clock-update-time-maybe) + (save-excursion + (unless (org-at-date-range-p) + (goto-char (point-at-bol)) + (re-search-forward org-tr-regexp (point-at-eol) t)) + (if (not (org-at-date-range-p)) + (error "Not at a time-stamp range, and none found in current line"))) + (let* ((ts1 (match-string 1)) + (ts2 (match-string 2)) + (havetime (or (> (length ts1) 15) (> (length ts2) 15))) + (match-end (match-end 0)) + (time1 (org-time-string-to-time ts1)) + (time2 (org-time-string-to-time ts2)) + (t1 (time-to-seconds time1)) + (t2 (time-to-seconds time2)) + (diff (abs (- t2 t1))) + (negative (< (- t2 t1) 0)) + ;; (ys (floor (* 365 24 60 60))) + (ds (* 24 60 60)) + (hs (* 60 60)) + (fy "%dy %dd %02d:%02d") + (fy1 "%dy %dd") + (fd "%dd %02d:%02d") + (fd1 "%dd") + (fh "%02d:%02d") + y d h m align) + (if havetime + (setq ; y (floor (/ diff ys)) diff (mod diff ys) + y 0 + d (floor (/ diff ds)) diff (mod diff ds) + h (floor (/ diff hs)) diff (mod diff hs) + m (floor (/ diff 60))) + (setq ; y (floor (/ diff ys)) diff (mod diff ys) + y 0 + d (floor (+ (/ diff ds) 0.5)) + h 0 m 0)) + (if (not to-buffer) + (message (org-make-tdiff-string y d h m)) + (when (org-at-table-p) + (goto-char match-end) + (setq align t) + (and (looking-at " *|") (goto-char (match-end 0)))) + (if (looking-at + "\\( *-? *[0-9]+y\\)?\\( *[0-9]+d\\)? *[0-9][0-9]:[0-9][0-9]") + (replace-match "")) + (if negative (insert " -")) + (if (> y 0) (insert " " (format (if havetime fy fy1) y d h m)) + (if (> d 0) (insert " " (format (if havetime fd fd1) d h m)) + (insert " " (format fh h m)))) + (if align (org-table-align)) + (message "Time difference inserted"))))) (defun org-make-tdiff-string (y d h m) (let ((fmt "") @@ -5817,6 +5827,7 @@ in the timestamp determines what will be changed." (setcar (nthcdr 2 time0) (or (nth 1 time0) 0)) (setq time (apply 'encode-time time0)))) (insert (setq org-last-changed-timestamp (format-time-string fmt time))) + (org-clock-update-time-maybe) (goto-char pos) ;; Try to recenter the calendar window, if any (if (and org-calendar-follow-timestamp-change @@ -5937,18 +5948,19 @@ If there is no running clock, throw an error, unless FAIL-QUIETLY is set." "Holds the file total time in minutes, after a call to `org-clock-sum'.") (make-variable-buffer-local 'org-clock-file-total-minutes) -(defun org-clock-sum () +(defun org-clock-sum (&optional tstart tend) "Sum the times for each subtree. Puts the resulting times in minutes as a text property on each headline." (interactive) (let* ((bmp (buffer-modified-p)) (re (concat "^\\(\\*+\\)[ \t]\\|^[ \t]*" org-clock-string - ".*=>[ \t]*\\([0-9]+\\):\\([0-9]+\\)[ \t]*$")) + "[ \t]*\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)")) (lmax 30) (ltimes (make-vector lmax 0)) (t1 0) (level 0) + ts te dt time) (remove-text-properties (point-min) (point-max) '(:org-clock-minutes t)) (save-excursion @@ -5956,8 +5968,16 @@ Puts the resulting times in minutes as a text property on each headline." (while (re-search-backward re nil t) (if (match-end 2) ;; A time - (setq t1 (+ t1 (* 60 (string-to-number (match-string 2))) - (string-to-number (match-string 3)))) + (setq ts (match-string 2) + te (match-string 3) + ts (time-to-seconds + (apply 'encode-time (org-parse-time-string ts))) + te (time-to-seconds + (apply 'encode-time (org-parse-time-string te))) + ts (if tstart (max ts tstart) ts) + te (if tend (min te tend) te) + dt (- te ts) + t1 (if (> dt 0) (+ t1 (floor (/ dt 60))) t1)) ;; A headline (setq level (- (match-end 1) (match-beginning 1))) (when (or (> t1 0) (> (aref ltimes level) 0)) @@ -6069,26 +6089,112 @@ The BEGIN line can contain parameters. Allowed are: (interactive) (org-remove-clock-overlays) (unless (org-find-dblock "clocktable") - (org-create-dblock (list :name "clocktable" - :maxlevel 2 :emphasize nil))) + (org-create-dblock (list :name "clocktable" + :maxlevel 2 :emphasize nil))) (org-update-dblock)) +(defun org-clock-update-time-maybe () + "If this is a CLOCK line, update it and return t. +Otherwise, return nil." + (interactive) + (save-excursion + (beginning-of-line 1) + (skip-chars-forward " \t") + (when (looking-at org-clock-string) + (let ((re (concat "[ \t]*" org-clock-string + " *[[<]\\([^]>]+\\)[]>]-+[[<]\\([^]>]+\\)[]>]" + "\\([ \t]*=>.*\\)?")) + ts te h m s) + (if (not (looking-at re)) + nil + (and (match-end 3) (delete-region (match-beginning 3) (match-end 3))) + (end-of-line 1) + (setq ts (match-string 1) + te (match-string 2)) + (setq s (- (time-to-seconds + (apply 'encode-time (org-parse-time-string te))) + (time-to-seconds + (apply 'encode-time (org-parse-time-string ts)))) + h (floor (/ s 3600)) + s (- s (* 3600 h)) + m (floor (/ s 60)) + s (- s (* 60 s))) + (insert " => " (format "%2d:%02d" h m)) + t))))) + +(defun org-clock-special-range (key &optional time as-strings) + "Return two times bordering a special time range. +Key is a symbol specifying the range and can be one of `today', `yesterday', +`thisweek', `lastweek', `thismonth', `lastmonth', `thisyear', `lastyear'. +A week starts Monday 0:00 and ends Sunday 24:00. +The range is determined relative to TIME. TIME defaults to the current time. +The return value is a cons cell with two internal times like the ones +returned by `current time' or `encode-time'. if AS-STRINGS is non-nil, +the returned times will be formatted strings." + (let* ((tm (decode-time (or time (current-time)))) + (s 0) (m (nth 1 tm)) (h (nth 2 tm)) + (d (nth 3 tm)) (month (nth 4 tm)) (y (nth 5 tm)) + (dow (nth 6 tm)) + s1 m1 h1 d1 month1 y1 diff ts te fm) + (cond + ((eq key 'today) + (setq h 0 m 0 h1 24 m1 0)) + ((eq key 'yesterday) + (setq d (1- d) h 0 m 0 h1 24 m1 0)) + ((eq key 'thisweek) + (setq diff (if (= dow 0) 6 (1- dow)) + m 0 h 0 d (- d diff) d1 (+ 7 d))) + ((eq key 'lastweek) + (setq diff (+ 7 (if (= dow 0) 6 (1- dow))) + m 0 h 0 d (- d diff) d1 (+ 7 d))) + ((eq key 'thismonth) + (setq d 1 h 0 m 0 d1 1 month1 (1+ month) h1 0 m1 0)) + ((eq key 'lastmonth) + (setq d 1 h 0 m 0 d1 1 month (1- month) month1 (1+ month) h1 0 m1 0)) + ((eq key 'thisyear) + (setq m 0 h 0 d 1 month 1 y1 (1+ y))) + ((eq key 'lastyear) + (setq m 0 h 0 d 1 month 1 y (1- y) y1 (1+ y))) + (t (error "No such time block %s" key))) + (setq ts (encode-time s m h d month y) + te (encode-time (or s1 s) (or m1 m) (or h1 h) + (or d1 d) (or month1 month) (or y1 y))) + (setq fm (cdr org-time-stamp-formats)) + (if as-strings + (cons (format-time-string fm ts) (format-time-string fm te)) + (cons ts te)))) + (defun org-dblock-write:clocktable (params) "Write the standard clocktable." (let ((hlchars '((1 . "*") (2 . ?/))) (emph nil) (ins (make-marker)) - ipos time h m p level hlc hdl maxlevel) + ipos time h m p level hlc hdl maxlevel + ts te cc block) (setq maxlevel (or (plist-get params :maxlevel) 3) - emph (plist-get params :emphasize)) + emph (plist-get params :emphasize) + ts (plist-get params :tstart) + te (plist-get params :tend) + block (plist-get params :block)) + (when block + (setq cc (org-clock-special-range block nil t) + ts (car cc) te (cdr cc))) + (if ts (setq ts (time-to-seconds + (apply 'encode-time (org-parse-time-string ts))))) + (if te (setq te (time-to-seconds + (apply 'encode-time (org-parse-time-string te))))) (move-marker ins (point)) (setq ipos (point)) (insert-before-markers "Clock summary at [" (substring (format-time-string (cdr org-time-stamp-formats)) 1 -1) - "]\n|L|Headline|Time|\n") - (org-clock-sum) + "]." + (if block + (format " Considered range is /%s/." block) + "") + "\n\n|L|Headline|Time|\n") + (org-clock-sum ts te) (setq h (/ org-clock-file-total-minutes 60) m (- org-clock-file-total-minutes (* 60 h))) (insert-before-markers "|-\n|0|" "*Total file time*| " @@ -6475,7 +6581,7 @@ the buffer and restores the previous window configuration." (if (stringp org-agenda-files) (let ((cw (current-window-configuration))) (find-file org-agenda-files) - (set (make-local-variable 'org-window-configuration) cw) + (org-set-local 'org-window-configuration cw) (org-add-hook 'after-save-hook (lambda () (set-window-configuration @@ -6603,7 +6709,7 @@ dates." (setq buffer-read-only nil) (erase-buffer) (org-agenda-mode) (setq buffer-read-only nil) - (set (make-local-variable 'org-agenda-type) 'timeline) + (org-set-local 'org-agenda-type 'timeline) (if doclosed (push :closed args)) (push :timestamp args) (if dotodo (push :todo args)) @@ -6701,9 +6807,9 @@ NDAYS defaults to `org-agenda-ndays'." (setq buffer-read-only nil) (erase-buffer) (org-agenda-mode) (setq buffer-read-only nil) - (set (make-local-variable 'org-agenda-type) 'agenda) - (set (make-local-variable 'starting-day) (car day-numbers)) - (set (make-local-variable 'include-all-loc) include-all) + (org-set-local 'org-agenda-type 'agenda) + (org-set-local 'starting-day (car day-numbers)) + (org-set-local 'include-all-loc include-all) (when (and (or include-all org-agenda-include-all-todo) (member today day-numbers)) (setq files thefiles @@ -6812,11 +6918,11 @@ for a keyword. A numeric prefix directly selects the Nth keyword in (setq buffer-read-only nil) (erase-buffer) (org-agenda-mode) (setq buffer-read-only nil) - (set (make-local-variable 'org-agenda-type) 'todo) - (set (make-local-variable 'last-arg) arg) - (set (make-local-variable 'org-todo-keywords) kwds) - (set (make-local-variable 'org-agenda-redo-command) - '(org-todo-list (or current-prefix-arg last-arg) t)) + (org-set-local 'org-agenda-type 'todo) + (org-set-local 'last-arg arg) + (org-set-local 'org-todo-keywords kwds) + (org-set-local 'org-agenda-redo-command + '(org-todo-list (or current-prefix-arg last-arg) t)) (setq files (org-agenda-files) rtnall nil) (org-prepare-agenda-buffers files) @@ -7704,11 +7810,12 @@ the documentation of `org-diary'." (abbreviate-file-name buffer-file-name)))) (regexp org-tr-regexp) (d0 (calendar-absolute-from-gregorian date)) - marker hdmarker ee txt d1 d2 s1 s2 timestr category tags) + marker hdmarker ee txt d1 d2 s1 s2 timestr category tags pos) (goto-char (point-min)) (while (re-search-forward regexp nil t) (catch :skip (org-agenda-skip) + (setq pos (point)) (setq timestr (match-string 0) s1 (match-string 1) s2 (match-string 2) @@ -7736,7 +7843,8 @@ the documentation of `org-diary'." 'org-marker marker 'org-hd-marker hdmarker 'priority (org-get-priority txt) 'category category) (push txt ee))) - (outline-next-heading))) + (goto-char pos))) +; (outline-next-heading))) ;FIXME: correct to be removed?????? ;; Sort the entries by expiration date. (nreverse ee))) @@ -7757,7 +7865,7 @@ groups carry important information: (defconst org-stamp-time-of-day-regexp (concat - "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} +[a-zA-Z]+ +\\)" + "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} +\\sw+ +\\)" "\\([012][0-9]:[0-5][0-9]\\)>" "\\(--?" "<\\1\\([012][0-9]:[0-5][0-9]\\)>\\)?") @@ -8620,10 +8728,10 @@ The prefix arg TODO-ONLY limits the search to TODO entries." (setq buffer-read-only nil) (erase-buffer) (org-agenda-mode) (setq buffer-read-only nil) - (set (make-local-variable 'org-agenda-type) 'tags) - (set (make-local-variable 'org-agenda-redo-command) - (list 'org-tags-view (list 'quote todo-only) - (list 'if 'current-prefix-arg nil match) t)) + (org-set-local 'org-agenda-type 'tags) + (org-set-local 'org-agenda-redo-command + (list 'org-tags-view (list 'quote todo-only) + (list 'if 'current-prefix-arg nil match) t)) (setq files (org-agenda-files) rtnall nil) (org-prepare-agenda-buffers files) @@ -10234,13 +10342,13 @@ to be run from that hook to fucntion properly." (org-startup-with-deadline-check nil)) (org-mode)) (if (and file (string-match "\\S-" file) (not (file-directory-p file))) - (set (make-local-variable 'org-default-notes-file) file)) + (org-set-local 'org-default-notes-file file)) (goto-char (point-min)) (if (re-search-forward "%\\?" nil t) (replace-match ""))) (let ((org-startup-folded nil) (org-startup-with-deadline-check nil)) (org-mode))) - (set (make-local-variable 'org-finish-function) 'remember-buffer)) + (org-set-local 'org-finish-function 'remember-buffer)) ;;;###autoload (defun org-remember-handler () @@ -11492,10 +11600,10 @@ it can be edited in place." '(invisible t org-cwidth t display t intangible t)) (goto-char p) - (set (make-local-variable 'org-finish-function) - 'org-table-finish-edit-field) - (set (make-local-variable 'org-window-configuration) cw) - (set (make-local-variable 'org-field-marker) pos) + (org-set-local 'org-finish-function + 'org-table-finish-edit-field) + (org-set-local 'org-window-configuration cw) + (org-set-local 'org-field-marker pos) (message "Edit and finish with C-c C-c")))) (defun org-table-finish-edit-field () @@ -12098,10 +12206,11 @@ not overwrite the stored one." (setq formula (car tmp) fmt (concat (cdr (assoc "%" org-table-local-parameters)) (nth 1 tmp))) - (while (string-match "[pnfse]\\(-?[0-9]+\\)" fmt) + (while (string-match "\\([pnfse]\\)\\(-?[0-9]+\\)" fmt) (setq c (string-to-char (match-string 1 fmt)) - n (string-to-number (or (match-string 1 fmt) ""))) - (if (= c ?p) (setq modes (org-set-calc-mode 'calc-internal-prec n)) + n (string-to-number (match-string 2 fmt))) + (if (= c ?p) + (setq modes (org-set-calc-mode 'calc-internal-prec n)) (setq modes (org-set-calc-mode 'calc-float-format (list (cdr (assoc c '((?n . float) (?f . fix) @@ -12314,8 +12423,8 @@ Parameters get priority." (switch-to-buffer-other-window "*Edit Formulas*") (erase-buffer) (fundamental-mode) - (set (make-local-variable 'org-pos) pos) - (set (make-local-variable 'org-window-configuration) wc) + (org-set-local 'org-pos pos) + (org-set-local 'org-window-configuration wc) (use-local-map org-edit-formulas-map) (setq s "# Edit formulas and finish with `C-c C-c'. # Use `C-u C-c C-c' to also appy them immediately to the entire table. @@ -12481,15 +12590,15 @@ table editor in arbitrary modes.") (let ((c (assq 'orgtbl-mode minor-mode-map-alist))) (and c (setq minor-mode-map-alist (cons c (delq c minor-mode-map-alist))))) - (set (make-local-variable (quote org-table-may-need-update)) t) + (org-set-local (quote org-table-may-need-update) t) (org-add-hook 'before-change-functions 'org-before-change-function nil 'local) - (set (make-local-variable 'org-old-auto-fill-inhibit-regexp) - auto-fill-inhibit-regexp) - (set (make-local-variable 'auto-fill-inhibit-regexp) - (if auto-fill-inhibit-regexp - (concat "\\([ \t]*|\\|" auto-fill-inhibit-regexp) - "[ \t]*|")) + (org-set-local 'org-old-auto-fill-inhibit-regexp + auto-fill-inhibit-regexp) + (org-set-local 'auto-fill-inhibit-regexp + (if auto-fill-inhibit-regexp + (concat "\\([ \t]*|\\|" auto-fill-inhibit-regexp) + "[ \t]*|")) (org-add-to-invisibility-spec '(org-cwidth)) (easy-menu-add orgtbl-mode-menu) (run-hooks 'orgtbl-mode-hook)) @@ -13388,7 +13497,7 @@ underlined headlines. The default is 3." (set (make-local-variable (cdr x)) (plist-get opt-plist (car x)))) org-export-plist-vars) - (set (make-local-variable 'org-odd-levels-only) odd) + (org-set-local 'org-odd-levels-only odd) (setq umax (if arg (prefix-numeric-value arg) org-export-headline-levels)) @@ -13594,22 +13703,15 @@ command." (goto-char (point-min))))) (defun org-find-visible () - (if (featurep 'noutline) - (let ((s (point))) - (while (and (not (= (point-max) (setq s (next-overlay-change s)))) - (get-char-property s 'invisible))) - s) - (skip-chars-forward "^\n") - (point))) + (let ((s (point))) + (while (and (not (= (point-max) (setq s (next-overlay-change s)))) + (get-char-property s 'invisible))) + s)) (defun org-find-invisible () - (if (featurep 'noutline) - (let ((s (point))) - (while (and (not (= (point-max) (setq s (next-overlay-change s)))) - (not (get-char-property s 'invisible)))) - s) - (skip-chars-forward "^\r") - (point))) - + (let ((s (point))) + (while (and (not (= (point-max) (setq s (next-overlay-change s)))) + (not (get-char-property s 'invisible)))) + s)) ;; HTML @@ -13859,14 +13961,16 @@ lang=\"%s\" xml:lang=\"%s\"> (insert (or (plist-get opt-plist :preamble) "")) (when (plist-get opt-plist :auto-preamble) - (if title (insert (concat "

" - (org-html-expand title) "

\n"))) - + (if title (insert (format org-export-html-title-format + (org-html-expand title)))) (if text (insert "

\n" (org-html-expand text) "

"))) (if org-export-with-toc (progn - (insert (format "

%s

\n" (nth 3 lang-words))) + (insert (format "%s\n" + org-export-html-toplevel-hlevel + (nth 3 lang-words) + org-export-html-toplevel-hlevel)) (insert "
    \n
  • ") (setq lines (mapcar '(lambda (line) @@ -14553,7 +14657,7 @@ When TITLE is nil, just close all open levels." (insert "
      \n
    • " title "
      \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%s\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" diff --git a/org.pdf b/org.pdf index 970313c67..d3a48d0b3 100644 Binary files a/org.pdf and b/org.pdf differ diff --git a/org.texi b/org.texi index 054c2b280..7897ba328 100644 --- a/org.texi +++ b/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 diff --git a/orgcard.pdf b/orgcard.pdf index eb96bda8f..a6926f0f6 100644 Binary files a/orgcard.pdf and b/orgcard.pdf differ diff --git a/orgcard.tex b/orgcard.tex index 951d0167c..ef2e847b5 100644 --- a/orgcard.tex +++ b/orgcard.tex @@ -1,5 +1,5 @@ % Reference Card for Org Mode -\def\orgversionnumber{4.43} +\def\orgversionnumber{4.44} \def\year{2006} % %**start of header diff --git a/xemacs/README b/xemacs/README index 70d2c1e7e..e2992bb26 100644 --- a/xemacs/README +++ b/xemacs/README @@ -1,9 +1,15 @@ This directory contains files that are necessary or at least useful companions for Org-mode: -noutline.el Greg Chernov's port of the overlay-based implementation of - outline-mode. This is requires, and until XEmacs uses - this (or another port), you need to install it with Org-mode. +noutline.el -ps-print-invisible.el Greg Chernovs modification to ps-print, to - honor invisible text properties during printing. \ No newline at end of file + 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. \ No newline at end of file