diff --git a/ChangeLog b/ChangeLog index 70789a7e1..9fe9a20b2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,16 +1,26 @@ -2008-01-06 Carsten Dominik +2008-01-18 Carsten Dominik - * org-publish.el (org-publish-current-project): Fix bug with - forcing publication. + * org.el (org-entry-properties): Include the CLOCKSUM special + property. + (org-columns-edit-value): Do not allow to edit the special + CLOCKSUM property. -2008-01-04 Carsten Dominik +2008-01-15 Carsten Dominik - * org.el (org-table-sort-lines): Make sure sorting works on link + * org.el (org-flag-drawer): Use the original value of + `outline-regexp'. + (org-remember-handler): Add invisible-ok flag to call to + `org-end-of-subtree' + (org-agenda-highlight-todo): Respect + `org-agenda-todo-keyword-format'. + (org-agenda-todo-keyword-format): New option. + (org-infile-export-plist): No restriction while searching + for options. + (org-remember-handler): Remove comments at the end of the buffer. + (org-remember-use-refile-when-interactive): New option. + (org-table-sort-lines): Make sure sorting works on link descritions only, and ignores the link. - -2008-01-03 Carsten Dominik - - * org.el (org-sort-entries-or-items): Make sure the end of the + (org-sort-entries-or-items): Make sure the end of the subtree is included. (org-refile-use-outline-path): New allowed values `file' and `full-file-path'. @@ -21,36 +31,21 @@ (org-export-as-xoxo): Restore point when done. (org-open-file): Allow multiple %s in command. (org-clock-in-switch-to-state): New option. - -2007-12-17 Carsten Dominik - - * org.el (org-first-list-item-p): New function. + (org-first-list-item-p): New function. (org-last-remember-storage-locations): New variable. (org-get-refile-targets): Interpret the new maxlevel setting. (org-refile-targets): New option `:maxlevel'. - -2007-12-14 Carsten Dominik - - * org.el (org-copy-subtree): Include empty lines before but not + (org-copy-subtree): Include empty lines before but not after subtree. (org-back-over-empty-lines, org-skip-whitespace): New functions. (org-move-item-down, org-move-item-up): Include empty lines before but not after item. (org-first-sibling-p): New function. - -2007-12-13 Carsten Dominik - - * org.el (org-remember-apply-template): Defaults, completions and + (org-remember-apply-template): Defaults, completions and history for template prompts. Also, interpret new `%!' escape. - -2007-12-03 Carsten Dominik - - * org.el (org-context-choices): New constant. + (org-context-choices): New constant. (org-bound-and-true-p): New macro. - -2007-11-30 Carsten Dominik - - * org.el (org-imenu-depth): New option. + (org-imenu-depth): New option. (org-imenu-markers): New variable. (org-imenu-new-marker, org-imenu-get-tree) (org-speedbar-set-agenda-restriction): New functions. @@ -63,36 +58,10 @@ (org-open-at-point): Removed obsolete way to do redirection in shell links. (org-imenu-and-speedbar): New customization group. - -2007-11-27 Carsten Dominik - - * org.el (org-entry-properties): Return keyword-less time strings. + (org-entry-properties): Return keyword-less time strings. (org-clock-heading-function): New option. (org-clock-in): Use `org-clock-heading-function'. - -2007-11-25 Carsten Dominik - - * org.texi (Property inheritance): New section - (Conventions): New section. - (Structure editing): Document C-RET, the prefix arg to the cut/cpy - commands, and the new bindings for refiling. - (Sparse trees): Document the new special command for sparse trees. - (References): Be more clear about the counting of hilines. - (Handling links): Document M-p/n for accessing links. - (Fast access to TODO states): New section. - (Per file keywords): New section. - (Property inheritance): New section. - (Column attributes): New summary types. - (Capturing Column View): New section. - (The date/time prompt): Cover the new features in the date/time - prompt. Compactify the table of keys for the calendar remote - control. - (Clocking work time): Document the new :scope parameter. - (Remember): Promoted to chapter. - (Quoted examples): New section. - (Enhancing text): New verbatim environments. - - * org.el (org-calendar-holiday): Try to use + (org-calendar-holiday): Try to use `calendar-check-holidays' instead of the obsolete `check-calendar-holidays'. (org-export-html-special-string-regexps): New constant. @@ -158,6 +127,29 @@ (org-remember-apply-template): Use `org-select-remember-template'. (org-go-to-remember-target): New function. + * org-publish.el (org-publish-current-project): Fix bug with + forcing publication. + + * org.texi (Property inheritance): New section + (Conventions): New section. + (Structure editing): Document C-RET, the prefix arg to the cut/cpy + commands, and the new bindings for refiling. + (Sparse trees): Document the new special command for sparse trees. + (References): Be more clear about the counting of hilines. + (Handling links): Document M-p/n for accessing links. + (Fast access to TODO states): New section. + (Per file keywords): New section. + (Property inheritance): New section. + (Column attributes): New summary types. + (Capturing Column View): New section. + (The date/time prompt): Cover the new features in the date/time + prompt. Compactify the table of keys for the calendar remote + control. + (Clocking work time): Document the new :scope parameter. + (Remember): Promoted to chapter. + (Quoted examples): New section. + (Enhancing text): New verbatim environments. + 2007-11-04 Bastien Guerry * org.el (org-export-with-special-strings): New option. @@ -200,6 +192,7 @@ (org-export-latex-prepare-text-option) (org-export-latex-get-sectioning): Removed + ----------------------------------------------------------------------- Installed as 5.13g diff --git a/org b/org index 0a4b5dc19..5cd247f30 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 5.18). + This manual is for Org-mode (version 5.19). Copyright (C) 2004, 2005, 2006, 2007, 2008 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 5.18). +This manual is for Org-mode (version 5.19). Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation @@ -3245,6 +3245,8 @@ used as keys in the properties drawer: SCHEDULED The scheduling time stamp, without the angular brackets. TIMESTAMP The first keyword-less time stamp in the entry. TIMESTAMP_IA The first inactive time stamp in the entry. + CLOCKSUM The sum of CLOCK intervals in the subtree. `org-clock-sum' + must be run first to compute the values.  File: org, Node: Property searches, Next: Property inheritance, Prev: Special properties, Up: Properties and columns @@ -3407,7 +3409,8 @@ optional. The individual parts have the following meaning: Here is an example for a complete columns definition, along with allowed values. - :COLUMNS: %20ITEM %9Approved(Approved?){X} %Owner %11Status %10Time_Spent{:} + :COLUMNS: %20ITEM %9Approved(Approved?){X} %Owner %11Status \(1) + %10Time_Estimate{:} %CLOCKSUM :Owner_ALL: Tammy Mark Karl Lisa Don :Status_ALL: "In progress" "Not started yet" "Finished" "" :Approved_ALL: "[ ]" "[X]" @@ -3420,10 +3423,16 @@ with four different possible values, and for a checkbox field `Approved'. When no width is given after the `%' character, the column will be exactly as wide as it needs to be in order to fully display all values. The `Approved' column does have a modified title (`Approved?', -with a question mark). Summaries will be created for the `Time_Spent' -column by adding time duration expressions like HH:MM, and for the -`Approved' column, by providing an `[X]' status if all children have -been checked. +with a question mark). Summaries will be created for the +`Time_Estimate' column by adding time duration expressions like HH:MM, +and for the `Approved' column, by providing an `[X]' status if all +children have been checked. The `CLOCKSUM' column is special, it lists +the sum of CLOCK intervals in the subtree. + + ---------- Footnotes ---------- + + (1) Please note that the COLUMNS definition must be on a single line +- it is wrapped here only because of formatting constraints.  File: org, Node: Using column view, Next: Capturing Column View, Prev: Defining columns, Up: Column view @@ -3859,6 +3868,15 @@ SCHEDULED mis-understanding from Org-users. In Org-mode, scheduling means setting a date when you want to start working on an action item. + You may use time stamps with repeaters in scheduling and deadline +entries. Org-mode will issue early and late warnings based on the +assumption that the time stamp represents the nearest instance of the +repeater. However, the use of diary sexp entries like `<%%(diary-float +t 42)>' in scheduling and deadline timestamps is limited. Org-mode +does not know enough about the internals of each sexp function to issue +early and late warnings. However, it will show the item on each day +where the sexp entry matches. + * Menu: * Inserting deadline/schedule:: Planning items @@ -8937,146 +8955,147 @@ Node: Tag searches125486 Node: Properties and columns128269 Node: Property syntax130195 Node: Special properties132890 -Node: Property searches133961 -Node: Property inheritance135222 -Node: Column view136680 -Node: Defining columns137914 -Node: Scope of column definitions138312 -Node: Column attributes139242 -Node: Using column view141638 -Node: Capturing Column View143723 -Node: Property API145450 -Node: Dates and times145804 -Node: Time stamps146525 -Ref: Time stamps-Footnote-1148889 -Node: Creating timestamps149003 -Node: The date/time prompt151082 -Ref: The date/time prompt-Footnote-1154438 -Ref: The date/time prompt-Footnote-2154494 -Ref: The date/time prompt-Footnote-3154600 -Node: Custom time format154693 -Node: Deadlines and scheduling156385 -Ref: Deadlines and scheduling-Footnote-1158568 -Node: Inserting deadline/schedule158723 -Node: Repeated tasks159841 -Ref: Repeated tasks-Footnote-1161716 -Node: Clocking work time161837 -Ref: Clocking work time-Footnote-1166689 -Ref: Clocking work time-Footnote-2166767 -Node: Remember166893 -Node: Setting up remember167839 -Ref: Setting up remember-Footnote-1168748 -Node: Remember templates168814 -Ref: Remember templates-Footnote-1172802 -Ref: Remember templates-Footnote-2172985 -Node: Storing notes173083 -Ref: Storing notes-Footnote-1175594 -Node: Refiling notes175696 -Node: Agenda views176961 -Node: Agenda files178908 -Ref: Agenda files-Footnote-1181349 -Ref: Agenda files-Footnote-2181498 -Node: Agenda dispatcher181691 -Ref: Agenda dispatcher-Footnote-1183745 -Ref: Agenda dispatcher-Footnote-2183839 -Node: Built-in agenda views183933 -Node: Weekly/Daily agenda184515 -Ref: Weekly/Daily agenda-Footnote-1187813 -Node: Global TODO list188017 -Node: Matching tags and properties190297 -Node: Timeline191388 -Node: Stuck projects192062 -Node: Presentation and sorting193915 -Node: Categories194708 -Ref: Categories-Footnote-1195419 -Node: Time-of-day specifications195856 -Node: Sorting of agenda items197829 -Node: Agenda commands199113 -Node: Custom agenda views206576 -Node: Storing searches207297 -Ref: Storing searches-Footnote-1209831 -Node: Block agenda209948 -Node: Setting Options211180 -Node: Exporting Agenda Views213922 -Ref: Exporting Agenda Views-Footnote-1218279 -Ref: Exporting Agenda Views-Footnote-2218336 -Node: Extracting Agenda Information for other programs218522 -Node: Embedded LaTeX222650 -Ref: Embedded LaTeX-Footnote-1223744 -Node: Math symbols223934 -Node: Subscripts and Superscripts224701 -Node: LaTeX fragments225547 -Ref: LaTeX fragments-Footnote-1227780 -Ref: LaTeX fragments-Footnote-2228041 -Node: Processing LaTeX fragments228175 -Node: CDLaTeX mode229123 -Ref: CDLaTeX mode-Footnote-1231609 -Node: Exporting231757 -Node: ASCII export233224 -Node: HTML export234729 -Node: HTML Export commands235355 -Node: Quoting HTML tags237146 -Node: Links237781 -Node: Images238478 -Ref: Images-Footnote-1239349 -Node: CSS support239410 -Ref: CSS support-Footnote-1240729 -Node: LaTeX export240842 -Node: LaTeX export commands241191 -Node: Quoting LaTeX code242353 -Node: Sectioning structure242887 -Node: XOXO export243388 -Node: iCalendar export243828 -Node: Text interpretation245297 -Node: Comment lines245952 -Node: Initial text246347 -Node: Footnotes248016 -Node: Quoted examples248808 -Node: Enhancing text249583 -Node: Export options252032 -Node: Publishing254493 -Ref: Publishing-Footnote-1255454 -Ref: Publishing-Footnote-2255598 -Node: Configuration255749 -Node: Project alist256467 -Node: Sources and destinations257531 -Node: Selecting files258261 -Node: Publishing action259009 -Node: Publishing options260343 -Node: Publishing links262849 -Node: Project page index264364 -Node: Sample configuration265142 -Node: Simple example265634 -Node: Complex example266307 -Node: Triggering publication268383 -Node: Miscellaneous269068 -Node: Completion269702 -Node: Customization271372 -Node: In-buffer settings271955 -Node: The very busy C-c C-c key277627 -Node: Clean view279482 -Node: TTY keys282059 -Node: Interaction283636 -Node: Cooperation284033 -Node: Conflicts287704 -Node: Bugs289714 -Node: Extensions and Hacking291210 -Node: Extensions291935 -Node: Adding hyperlink types294207 -Node: Tables in arbitrary syntax297869 -Node: Radio tables299261 -Node: A LaTeX example301764 -Ref: A LaTeX example-Footnote-1305442 -Ref: A LaTeX example-Footnote-2305590 -Node: Translator functions306025 -Ref: Translator functions-Footnote-1309154 -Node: Radio lists309242 -Ref: Radio lists-Footnote-1310364 -Node: Dynamic blocks310484 -Node: Special agenda views312456 -Node: Using the property API315701 -Node: History and Acknowledgments317299 -Node: Main Index323985 -Node: Key Index360724 +Node: Property searches134098 +Node: Property inheritance135359 +Node: Column view136817 +Node: Defining columns138051 +Node: Scope of column definitions138449 +Node: Column attributes139379 +Ref: Column attributes-Footnote-1141943 +Node: Using column view142077 +Node: Capturing Column View144162 +Node: Property API145889 +Node: Dates and times146243 +Node: Time stamps146964 +Ref: Time stamps-Footnote-1149328 +Node: Creating timestamps149442 +Node: The date/time prompt151521 +Ref: The date/time prompt-Footnote-1154877 +Ref: The date/time prompt-Footnote-2154933 +Ref: The date/time prompt-Footnote-3155039 +Node: Custom time format155132 +Node: Deadlines and scheduling156824 +Ref: Deadlines and scheduling-Footnote-1159525 +Node: Inserting deadline/schedule159680 +Node: Repeated tasks160798 +Ref: Repeated tasks-Footnote-1162673 +Node: Clocking work time162794 +Ref: Clocking work time-Footnote-1167646 +Ref: Clocking work time-Footnote-2167724 +Node: Remember167850 +Node: Setting up remember168796 +Ref: Setting up remember-Footnote-1169705 +Node: Remember templates169771 +Ref: Remember templates-Footnote-1173759 +Ref: Remember templates-Footnote-2173942 +Node: Storing notes174040 +Ref: Storing notes-Footnote-1176551 +Node: Refiling notes176653 +Node: Agenda views177918 +Node: Agenda files179865 +Ref: Agenda files-Footnote-1182306 +Ref: Agenda files-Footnote-2182455 +Node: Agenda dispatcher182648 +Ref: Agenda dispatcher-Footnote-1184702 +Ref: Agenda dispatcher-Footnote-2184796 +Node: Built-in agenda views184890 +Node: Weekly/Daily agenda185472 +Ref: Weekly/Daily agenda-Footnote-1188770 +Node: Global TODO list188974 +Node: Matching tags and properties191254 +Node: Timeline192345 +Node: Stuck projects193019 +Node: Presentation and sorting194872 +Node: Categories195665 +Ref: Categories-Footnote-1196376 +Node: Time-of-day specifications196813 +Node: Sorting of agenda items198786 +Node: Agenda commands200070 +Node: Custom agenda views207533 +Node: Storing searches208254 +Ref: Storing searches-Footnote-1210788 +Node: Block agenda210905 +Node: Setting Options212137 +Node: Exporting Agenda Views214879 +Ref: Exporting Agenda Views-Footnote-1219236 +Ref: Exporting Agenda Views-Footnote-2219293 +Node: Extracting Agenda Information for other programs219479 +Node: Embedded LaTeX223607 +Ref: Embedded LaTeX-Footnote-1224701 +Node: Math symbols224891 +Node: Subscripts and Superscripts225658 +Node: LaTeX fragments226504 +Ref: LaTeX fragments-Footnote-1228737 +Ref: LaTeX fragments-Footnote-2228998 +Node: Processing LaTeX fragments229132 +Node: CDLaTeX mode230080 +Ref: CDLaTeX mode-Footnote-1232566 +Node: Exporting232714 +Node: ASCII export234181 +Node: HTML export235686 +Node: HTML Export commands236312 +Node: Quoting HTML tags238103 +Node: Links238738 +Node: Images239435 +Ref: Images-Footnote-1240306 +Node: CSS support240367 +Ref: CSS support-Footnote-1241686 +Node: LaTeX export241799 +Node: LaTeX export commands242148 +Node: Quoting LaTeX code243310 +Node: Sectioning structure243844 +Node: XOXO export244345 +Node: iCalendar export244785 +Node: Text interpretation246254 +Node: Comment lines246909 +Node: Initial text247304 +Node: Footnotes248973 +Node: Quoted examples249765 +Node: Enhancing text250540 +Node: Export options252989 +Node: Publishing255450 +Ref: Publishing-Footnote-1256411 +Ref: Publishing-Footnote-2256555 +Node: Configuration256706 +Node: Project alist257424 +Node: Sources and destinations258488 +Node: Selecting files259218 +Node: Publishing action259966 +Node: Publishing options261300 +Node: Publishing links263806 +Node: Project page index265321 +Node: Sample configuration266099 +Node: Simple example266591 +Node: Complex example267264 +Node: Triggering publication269340 +Node: Miscellaneous270025 +Node: Completion270659 +Node: Customization272329 +Node: In-buffer settings272912 +Node: The very busy C-c C-c key278584 +Node: Clean view280439 +Node: TTY keys283016 +Node: Interaction284593 +Node: Cooperation284990 +Node: Conflicts288661 +Node: Bugs290671 +Node: Extensions and Hacking292167 +Node: Extensions292892 +Node: Adding hyperlink types295164 +Node: Tables in arbitrary syntax298826 +Node: Radio tables300218 +Node: A LaTeX example302721 +Ref: A LaTeX example-Footnote-1306399 +Ref: A LaTeX example-Footnote-2306547 +Node: Translator functions306982 +Ref: Translator functions-Footnote-1310111 +Node: Radio lists310199 +Ref: Radio lists-Footnote-1311321 +Node: Dynamic blocks311441 +Node: Special agenda views313413 +Node: Using the property API316658 +Node: History and Acknowledgments318256 +Node: Main Index324942 +Node: Key Index361681  End Tag Table diff --git a/org-export-latex.el b/org-export-latex.el index d30a59a40..7624af8aa 100644 --- a/org-export-latex.el +++ b/org-export-latex.el @@ -1,10 +1,10 @@ ;;; org-export-latex.el --- LaTeX exporter for org-mode ;; -;; Copyright (c) 2007 free software foundation, inc. +;; Copyright (c) 2007, 2008 Free Software Foundation, Inc. ;; ;; Emacs Lisp Archive Entry ;; Filename: org-export-latex.el -;; Version: 5.14 +;; Version: 5.19 ;; Author: Bastien Guerry ;; Maintainer: Bastien Guerry ;; Keywords: org, wp, tex diff --git a/org-install.el b/org-install.el index f45acaea3..bca8090d2 100644 --- a/org-install.el +++ b/org-install.el @@ -8,7 +8,7 @@ ;;;;;; org-remember-insinuate org-open-at-point-global org-insert-link-global ;;;;;; org-store-link orgtbl-mode turn-on-orgtbl org-run-like-in-org-mode ;;;;;; turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle -;;;;;; org-cycle org-mode) "org" "org.el" (18304 62409)) +;;;;;; org-cycle org-mode) "org" "org.el" (18320 37851)) ;;; Generated autoloads from org.el (autoload (quote org-mode) "org" "\ @@ -170,12 +170,12 @@ If there is an active region, make sure remember uses it as initial content of the remember buffer. When called interactively with a `C-u' prefix argument GOTO, don't remember -anything, just go to the file/headline where the selected templated usually -stores its notes. With a double prefix arg `C-u C-u', got to the last +anything, just go to the file/headline where the selected template usually +stores its notes. With a double prefix arg `C-u C-u', go to the last note stored by remember. Lisp programs can set ORG-FORCE-REMEMBER-TEMPLATE-CHAR to a character -associated with a template in `org-remember-tempates'. +associated with a template in `org-remember-templates'. \(fn &optional GOTO ORG-FORCE-REMEMBER-TEMPLATE-CHAR)" t nil) @@ -441,7 +441,7 @@ The file is stored under the name `org-combined-agenda-icalendar-file'. ;;;*** ;;;### (autoloads (org-publish-all org-publish-current-file org-publish-current-project -;;;;;; org-publish) "org-publish" "org-publish.el" (18304 28298)) +;;;;;; org-publish) "org-publish" "org-publish.el" (18320 38272)) ;;; Generated autoloads from org-publish.el (autoload (quote org-publish) "org-publish" "\ @@ -472,7 +472,7 @@ With prefix argument, force publish all files. ;;;### (autoloads (org-export-as-latex org-export-region-as-latex ;;;;;; org-replace-region-by-latex org-export-as-latex-to-buffer ;;;;;; org-export-as-latex-batch) "org-export-latex" "org-export-latex.el" -;;;;;; (18252 7249)) +;;;;;; (18320 39683)) ;;; Generated autoloads from org-export-latex.el (autoload (quote org-export-as-latex-batch) "org-export-latex" "\ diff --git a/org-mouse.el b/org-mouse.el index 38dd7f167..9d275c2d1 100644 --- a/org-mouse.el +++ b/org-mouse.el @@ -4,7 +4,7 @@ ;; ;; Author: Piotr Zielinski ;; Maintainer: Carsten Dominik -;; Version: 5.18 +;; Version: 5.19 ;; ;; This file is part of GNU Emacs. ;; @@ -22,7 +22,6 @@ ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; Commentary: diff --git a/org-publish.el b/org-publish.el index 83dc8e6c4..0a8e90198 100644 --- a/org-publish.el +++ b/org-publish.el @@ -6,23 +6,23 @@ ;; Keywords: hypermedia, outlines ;; Version: 1.80b -;; This file is free software; you can redistribute it and/or modify +;; This file is part of GNU Emacs. +;; +;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. -;; This file is distributed in the hope that it will be useful, +;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. -;; This file is part of GNU Emacs. - ;;; Commentary: ;; Requires at least version 4.27 of org.el @@ -481,7 +481,7 @@ FILENAME is the filename of the file to be published." (plist (org-publish-get-plist-from-filename filename)) (publishing-function (or (plist-get plist :publishing-function) 'org-publish-org-to-html))) (if (not project-name) - (error (format "File %s is not part of any known project." filename))) + (error "File %s is not part of any known project." filename)) (when (org-publish-needed-p filename) (if (listp publishing-function) ;; allow chain of publishing functions @@ -574,7 +574,7 @@ With prefix argument, force publishing all files in project." (save-window-excursion (let* ((project-name (org-publish-get-project-from-filename (buffer-file-name)))) (if (not project-name) - (error (format "File %s is not part of any known project." (buffer-file-name)))) + (error "File %s is not part of any known project." (buffer-file-name))) (org-publish project-name (if force nil t))))) diff --git a/org.el b/org.el index 42cdda01f..d4b918f69 100644 --- a/org.el +++ b/org.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 5.18a +;; Version: 5.19 ;; ;; This file is part of GNU Emacs. ;; @@ -84,7 +84,7 @@ ;;; Version -(defconst org-version "5.17a" +(defconst org-version "5.19" "The version number of the file org.el.") (defun org-version () (interactive) @@ -1411,6 +1411,14 @@ When this variable is nil, `C-c C-c' give you the prompts, and :group 'org-remember :type 'boolean) +(defcustom org-remember-use-refile-when-interactive t + "Non-nil means, use refile to file a remember note. +This is only used when the the interactive mode for selecting a filing +location is used (see the variable `org-remember-store-without-prompt'). +When nil, the `org-goto' interface is used." + :group 'org-remember + :type 'boolean) + (defcustom org-remember-default-headline "" "The headline that should be the default location in the notes file. When filing remember notes, the cursor will start at that position. @@ -1423,9 +1431,9 @@ You can set this on a per-template basis with the variable "Templates for the creation of remember buffers. When nil, just let remember make the buffer. When not nil, this is a list of 5-element lists. In each entry, the first -element is a the name of the template, It should be a single short word. +element is the name of the template, which should be a single short word. The second element is a character, a unique key to select this template. -The third element is the template. The forth element is optional and can +The third element is the template. The fourth element is optional and can specify a destination file for remember items created with this template. The default file is given by `org-default-notes-file'. An optional fifth element can specify the headline in that file that should be offered @@ -1509,7 +1517,7 @@ are matched against file names, and values." (repeat :tag "By file name regexp" (cons regexp boolean)))) -(defcustom org-refile-targets '((nil . (:level . 1))) +(defcustom org-refile-targets nil "Targets for refiling entries with \\[org-refile]. This is list of cons cells. Each cell contains: - a specification of the files to be considered, either a list of files, @@ -2810,6 +2818,13 @@ See also the variables `org-agenda-remove-times-when-in-prefix' and "The compiled version of the most recently used prefix format. See the variable `org-agenda-prefix-format'.") +(defcustom org-agenda-todo-keyword-format "%-1s" + "Format for the TODO keyword in agenda lines. +Set this to something like \"%-12s\" if you want all TODO keywords +to occupy a fixed space in the agenda display." + :group 'org-agenda-line-format + :type 'string) + (defcustom org-agenda-scheduled-leaders '("Scheduled: " "Sched.%2dx: ") "Text preceeding scheduled items in the agenda view. THis is a list with two strings. The first applies when the item is @@ -4182,6 +4197,7 @@ If it is less than 8, the level-1 face gets re-used for level N+1 etc." (defvar vm-folder-directory) (defvar w3m-current-url) (defvar w3m-current-title) +;; backward compatibility to old version of wl (declare-function wl-summary-buffer-msgdb "ext:wl-folder" (&rest unknown) t) (declare-function wl-folder-get-elmo-folder "ext:wl-folder" (entity &optional no-cache)) (declare-function wl-summary-goto-folder-subr "ext:wl-summary" (&optional name scan-type other-window sticky interactive scoring force-exit)) @@ -4929,7 +4945,7 @@ that will be added to PLIST. Returns the string that was modified." (defconst org-non-link-chars "]\t\n\r<>") (defvar org-link-types '("http" "https" "ftp" "mailto" "file" "news" "bbdb" "vm" - "wl" "mhe" "rmail" "gnus" "shell" "info" "elisp")) + "wl" "mhe" "rmail" "gnus" "shell" "info" "elisp" "message")) (defvar org-link-re-with-space nil "Matches a link with spaces, optional angular brackets around it.") (defvar org-link-re-with-space2 nil @@ -7891,7 +7907,8 @@ When TAG is non-nil, don't move trees, but mark them with the ARCHIVE tag." (save-excursion (beginning-of-line 1) (when (looking-at "^[ \t]*:[a-zA-Z][a-zA-Z0-9]*:") - (let ((b (match-end 0))) + (let ((b (match-end 0)) + (outline-regexp org-outline-regexp)) (if (re-search-forward "^[ \t]*:END:" (save-excursion (outline-next-heading) (point)) t) @@ -11814,8 +11831,8 @@ For file links, arg negates `org-context-in-file-links'." (if (fboundp 'elmo-message-entity) (elmo-message-entity wl-summary-buffer-elmo-folder msgnum) - (elmo-msgdb-overview-get-entity - msgnum (wl-summary-buffer-msgdb)))) + (elmo-msgdb-overview-get-entity + msgnum (wl-summary-buffer-msgdb)))) (from (wl-summary-line-from)) (to (car (elmo-message-entity-field wl-message-entity 'to))) (subject (let (wl-thr-indent-string wl-parent-message-entity) @@ -12479,6 +12496,9 @@ optional argument IN-EMACS is non-nil, Emacs will visit the file." (browse-url (concat type ":" (org-link-escape path org-link-escape-chars-browser)))) + ((member type '("message")) + (browse-url (concat type ":" path))) + ((string= type "tags") (org-tags-view in-emacs path)) ((string= type "thisfile") @@ -13472,12 +13492,12 @@ If there is an active region, make sure remember uses it as initial content of the remember buffer. When called interactively with a `C-u' prefix argument GOTO, don't remember -anything, just go to the file/headline where the selected templated usually -stores its notes. With a double prefix arg `C-u C-u', got to the last +anything, just go to the file/headline where the selected template usually +stores its notes. With a double prefix arg `C-u C-u', go to the last note stored by remember. Lisp programs can set ORG-FORCE-REMEMBER-TEMPLATE-CHAR to a character -associated with a template in `org-remember-tempates'." +associated with a template in `org-remember-templates'." (interactive "P") (cond ((equal goto '(4)) (org-go-to-remember-target)) @@ -13568,21 +13588,31 @@ See also the variable `org-reverse-note-order'." (while (looking-at "^[ \t]*\n\\|^##.*\n") (replace-match "")) (goto-char (point-max)) + (beginning-of-line 1) + (while (looking-at "[ \t]*$\\|##.*") + (delete-region (1- (point)) (point-max)) + (beginning-of-line 1)) (catch 'quit (if org-note-abort (throw 'quit nil)) (let* ((txt (buffer-substring (point-min) (point-max))) (fastp (org-xor (equal current-prefix-arg '(4)) org-remember-store-without-prompt)) - (file (if fastp org-default-notes-file (org-get-org-file))) + (file (cond + (fastp org-default-notes-file) + ((and org-remember-use-refile-when-interactive + org-refile-targets) + nil) + (t (org-get-org-file)))) (heading org-remember-default-headline) - (visiting (org-find-base-buffer-visiting file)) + (visiting (and file (org-find-base-buffer-visiting file))) (org-startup-folded nil) (org-startup-align-all-tables nil) (org-goto-start-pos 1) spos exitcmd level indent reversed) (if (and (equal current-prefix-arg '(16)) org-remember-previous-location) (setq file (car org-remember-previous-location) - heading (cdr org-remember-previous-location))) + heading (cdr org-remember-previous-location) + fastp t)) (setq current-prefix-arg nil) (if (string-match "[ \t\n]+\\'" txt) (setq txt (replace-match "" t t txt))) @@ -13611,6 +13641,14 @@ See also the variable `org-reverse-note-order'." (setq txt (replace-match "\n\n" t t txt)) (if (string-match "[ \t\n]*\\'" txt) (setq txt (replace-match "\n" t t txt)))) + ;; Put the modified text back into the remember buffer, for refile. + (erase-buffer) + (insert txt) + (goto-char (point-min)) + (when (and org-remember-use-refile-when-interactive + (not fastp)) + (org-refile) + (throw 'quit t)) ;; Find the file (if (not visiting) (find-file-noselect file)) (with-current-buffer (or visiting (get-file-buffer file)) @@ -13659,7 +13697,7 @@ See also the variable `org-reverse-note-order'." (org-get-heading 'notags))) (if reversed (outline-next-heading) - (org-end-of-subtree) + (org-end-of-subtree t) (if (not (bolp)) (if (looking-at "[ \t]*\n") (beginning-of-line 2) @@ -13706,6 +13744,7 @@ See also the variable `org-reverse-note-order'." (when remember-save-after-remembering (save-buffer) (if (not visiting) (kill-buffer (current-buffer))))))))) + t) ;; return t to indicate that we took care of this note. (defun org-get-org-file () @@ -13739,8 +13778,8 @@ See also the variable `org-reverse-note-order'." (defun org-get-refile-targets () "Produce a table with refile targets." - (let ((entries org-refile-targets) - org-agenda-new-files targets txt re files f desc descre) + (let ((entries (or org-refile-targets '((nil . (:level . 1))))) + org-agenda-new-buffers targets txt re files f desc descre) (while (setq entry (pop entries)) (setq files (car entry) desc (cdr entry)) (cond @@ -13815,11 +13854,15 @@ See also the variable `org-reverse-note-order'." (push (org-match-string-no-properties 4) rtn))) rtn))) +(defvar org-refile-history nil + "History for refiling operations.") + (defun org-refile (&optional reversed-or-update) "Move the entry at point to another heading. The list of target headings is compiled using the information in `org-refile-targets', which see. This list is created upon first use, and you can update it by calling this command with a double prefix (`C-u C-u'). +FIXME: Can we find a better way of updating? At the target location, the entry is filed as a subitem of the target heading. Depending on `org-reverse-note-order', the new subitem will either be the @@ -15686,6 +15729,7 @@ If WHICH is nil or `all', get all properties. If WHICH is (when (condition-case nil (org-back-to-heading t) (error nil)) (setq beg (point)) (setq sum-props (get-text-property (point) 'org-summaries)) + (setq clocksum (get-text-property (point) :org-clock-minutes)) (outline-next-heading) (setq end (point)) (when (memq which '(all special)) @@ -15730,6 +15774,11 @@ If WHICH is nil or `all', get all properties. If WHICH is value (org-trim (or (org-match-string-no-properties 2) ""))) (unless (member key excluded) (push (cons key (or value "")) props))))) + (if clocksum + (push (cons "CLOCKSUM" + (org-column-number-to-string (/ (float clocksum) 60.) + 'add_times)) + props)) (append sum-props (nreverse props))))))) (defun org-entry-get (pom property &optional inherit) @@ -16363,6 +16412,8 @@ Where possible, use the standard interface for changing this line." org-columns-overlays))) nval eval allowed) (cond + ((equal key "CLOCKSUM") + (error "This special column cannot be edited")) ((equal key "ITEM") (setq eval '(org-with-point-at pom (org-edit-headline)))) @@ -16550,7 +16601,7 @@ Where possible, use the standard interface for changing this line." (org-verify-version 'columns) (org-columns-remove-overlays) (move-marker org-columns-begin-marker (point)) - (let (beg end fmt cache maxwidths) + (let (beg end fmt cache maxwidths clocksump) (setq fmt (org-columns-get-format-and-top-level)) (save-excursion (goto-char org-columns-top-level-marker) @@ -16559,8 +16610,14 @@ Where possible, use the standard interface for changing this line." (org-columns-compute-all)) (setq end (or (condition-case nil (org-end-of-subtree t t) (error nil)) (point-max))) - (goto-char beg) ;; Get and cache the properties + (goto-char beg) + (when (assoc "CLOCKSUM" org-columns-current-fmt-compiled) + (setq clocksump t) + (save-excursion + (save-restriction + (narrow-to-region beg end) + (org-clock-sum)))) (while (re-search-forward (concat "^" outline-regexp) end t) (push (cons (org-current-line) (org-entry-properties)) cache)) (when cache @@ -16572,7 +16629,7 @@ Where possible, use the standard interface for changing this line." (org-columns-display-here (cdr x))) cache))))) -(defun org-columns-new (&optional prop title width op fmt) +(defun org-columns-new (&optional prop title width op fmt &rest rest) "Insert a new column, to the leeft o the current column." (interactive) (let ((editp (and prop (assoc prop org-columns-current-fmt-compiled))) @@ -16865,7 +16922,7 @@ display, or in the #+COLUMNS line of the current buffer." (setq sum (+ (string-to-number (pop l)) (/ sum 60)))) sum))) -(defun org-column-number-to-string (n fmt printf) +(defun org-column-number-to-string (n fmt &optional printf) "Convert a computed column number to a string value, according to FMT." (cond ((eq fmt 'add_times) @@ -21555,16 +21612,32 @@ HH:MM." (beginning-of-line 1) (setq re (get-text-property (point) 'org-todo-regexp)) (goto-char (+ (point) (or (get-text-property (point) 'prefix-length) 0))) - (and (looking-at (concat "[ \t]*\\.*" re)) - (add-text-properties (match-beginning 0) (match-end 0) - (list 'face (org-get-todo-face 0))))) + (when (looking-at (concat "[ \t]*\\.*" re " +")) + (add-text-properties (match-beginning 0) (match-end 0) + (list 'face (org-get-todo-face 0))) + (let ((s (buffer-substring (match-beginning 1) (match-end 1)))) + (delete-region (match-beginning 1) (1- (match-end 0))) + (goto-char (match-beginning 1)) + (insert (format org-agenda-todo-keyword-format s))))) (setq re (concat (get-text-property 0 'org-todo-regexp x)) pl (get-text-property 0 'prefix-length x)) - (and re (equal (string-match (concat "\\(\\.*\\)" re) x (or pl 0)) pl) - (add-text-properties - (or (match-end 1) (match-end 0)) (match-end 0) - (list 'face (org-get-todo-face (match-string 2 x))) - x)) +; (and re (equal (string-match (concat "\\(\\.*\\)" re) x (or pl 0)) pl) +; (add-text-properties +; (or (match-end 1) (match-end 0)) (match-end 0) +; (list 'face (org-get-todo-face (match-string 2 x))) +; x)) + (when (and re + (equal (string-match (concat "\\(\\.*\\)" re "\\( +\\)") + x (or pl 0)) pl)) + (add-text-properties + (or (match-end 1) (match-end 0)) (match-end 0) + (list 'face (org-get-todo-face (match-string 2 x))) + x) + (setq x (concat (substring x 0 (match-end 1)) + (format org-agenda-todo-keyword-format + (match-string 2 x)) + " " + (substring x (match-end 3))))) x))) (defsubst org-cmp-priority (a b) @@ -23080,51 +23153,53 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." (defun org-infile-export-plist () "Return the property list with file-local settings for export." (save-excursion - (goto-char 0) - (let ((re (org-make-options-regexp - '("TITLE" "AUTHOR" "DATE" "EMAIL" "TEXT" "OPTIONS" "LANGUAGE"))) - p key val text options) - (while (re-search-forward re nil t) - (setq key (org-match-string-no-properties 1) - val (org-match-string-no-properties 2)) - (cond - ((string-equal key "TITLE") (setq p (plist-put p :title val))) - ((string-equal key "AUTHOR")(setq p (plist-put p :author val))) - ((string-equal key "EMAIL") (setq p (plist-put p :email val))) - ((string-equal key "DATE") (setq p (plist-put p :date val))) - ((string-equal key "LANGUAGE") (setq p (plist-put p :language val))) - ((string-equal key "TEXT") - (setq text (if text (concat text "\n" val) val))) - ((string-equal key "OPTIONS") (setq options val)))) - (setq p (plist-put p :text text)) - (when options - (let ((op '(("H" . :headline-levels) - ("num" . :section-numbers) - ("toc" . :table-of-contents) - ("\\n" . :preserve-breaks) - ("@" . :expand-quoted-html) - (":" . :fixed-width) - ("|" . :tables) - ("^" . :sub-superscript) - ("-" . :special-strings) - ("f" . :footnotes) - ("d" . :drawers) - ("tags" . :tags) - ("*" . :emphasize) - ("TeX" . :TeX-macros) - ("LaTeX" . :LaTeX-fragments) - ("skip" . :skip-before-1st-heading) - ("author" . :author-info) - ("timestamp" . :time-stamp-file))) - o) - (while (setq o (pop op)) - (if (string-match (concat (regexp-quote (car o)) - ":\\([^ \t\n\r;,.]*\\)") - options) - (setq p (plist-put p (cdr o) - (car (read-from-string - (match-string 1 options))))))))) - p))) + (save-restriction + (widen) + (goto-char 0) + (let ((re (org-make-options-regexp + '("TITLE" "AUTHOR" "DATE" "EMAIL" "TEXT" "OPTIONS" "LANGUAGE"))) + p key val text options) + (while (re-search-forward re nil t) + (setq key (org-match-string-no-properties 1) + val (org-match-string-no-properties 2)) + (cond + ((string-equal key "TITLE") (setq p (plist-put p :title val))) + ((string-equal key "AUTHOR")(setq p (plist-put p :author val))) + ((string-equal key "EMAIL") (setq p (plist-put p :email val))) + ((string-equal key "DATE") (setq p (plist-put p :date val))) + ((string-equal key "LANGUAGE") (setq p (plist-put p :language val))) + ((string-equal key "TEXT") + (setq text (if text (concat text "\n" val) val))) + ((string-equal key "OPTIONS") (setq options val)))) + (setq p (plist-put p :text text)) + (when options + (let ((op '(("H" . :headline-levels) + ("num" . :section-numbers) + ("toc" . :table-of-contents) + ("\\n" . :preserve-breaks) + ("@" . :expand-quoted-html) + (":" . :fixed-width) + ("|" . :tables) + ("^" . :sub-superscript) + ("-" . :special-strings) + ("f" . :footnotes) + ("d" . :drawers) + ("tags" . :tags) + ("*" . :emphasize) + ("TeX" . :TeX-macros) + ("LaTeX" . :LaTeX-fragments) + ("skip" . :skip-before-1st-heading) + ("author" . :author-info) + ("timestamp" . :time-stamp-file))) + o) + (while (setq o (pop op)) + (if (string-match (concat (regexp-quote (car o)) + ":\\([^ \t\n\r;,.]*\\)") + options) + (setq p (plist-put p (cdr o) + (car (read-from-string + (match-string 1 options))))))))) + p)))) (defun org-export-directory (type plist) (let* ((val (plist-get plist :publishing-directory)) @@ -24616,7 +24691,7 @@ the body tags themselves." ;; Switch to the output buffer (set-buffer buffer) - (erase-buffer) + (let ((inhibit-read-only t)) (erase-buffer)) (fundamental-mode) (and (fboundp 'set-buffer-file-coding-system) @@ -27113,6 +27188,7 @@ Returns the number o empty lines passed." (let ((pos (point))) (skip-chars-backward " \t\n\r") (beginning-of-line 2) + (goto-char (min (point) pos)) (count-lines (point) pos))) (defun org-skip-whitespace () diff --git a/org.pdf b/org.pdf index 68f013121..9842217d3 100644 Binary files a/org.pdf and b/org.pdf differ diff --git a/org.texi b/org.texi index f5f8e568b..3583009e3 100644 --- a/org.texi +++ b/org.texi @@ -3,7 +3,7 @@ @setfilename ../../info/org @settitle Org Mode Manual -@set VERSION 5.18 +@set VERSION 5.19 @set DATE January 2008 @dircategory Emacs @@ -3535,6 +3535,8 @@ DEADLINE @r{The deadline time string, without the angular brackets.} SCHEDULED @r{The scheduling time stamp, without the angular brackets.} TIMESTAMP @r{The first keyword-less time stamp in the entry.} TIMESTAMP_IA @r{The first inactive time stamp in the entry.} +CLOCKSUM @r{The sum of CLOCK intervals in the subtree. @code{org-clock-sum}} + @r{must be run first to compute the values.} @end example @node Property searches, Property inheritance, Special properties, Properties and columns @@ -3701,7 +3703,8 @@ Here is an example for a complete columns definition, along with allowed values. @example -:COLUMNS: %20ITEM %9Approved(Approved?)@{X@} %Owner %11Status %10Time_Spent@{:@} +:COLUMNS: %20ITEM %9Approved(Approved?)@{X@} %Owner %11Status \@footnote{Please note that the COLUMNS definition must be on a single line - it is wrapped here only because of formatting constraints.} + %10Time_Estimate@{:@} %CLOCKSUM :Owner_ALL: Tammy Mark Karl Lisa Don :Status_ALL: "In progress" "Not started yet" "Finished" "" :Approved_ALL: "[ ]" "[X]" @@ -3716,9 +3719,11 @@ field @samp{Approved}. When no width is given after the @samp{%} character, the column will be exactly as wide as it needs to be in order to fully display all values. The @samp{Approved} column does have a modified title (@samp{Approved?}, with a question mark). Summaries will -be created for the @samp{Time_Spent} column by adding time duration +be created for the @samp{Time_Estimate} column by adding time duration expressions like HH:MM, and for the @samp{Approved} column, by providing -an @samp{[X]} status if all children have been checked. +an @samp{[X]} status if all children have been checked. The +@samp{CLOCKSUM} column is special, it lists the sum of CLOCK intervals +in the subtree. @node Using column view, Capturing Column View, Defining columns, Column view @subsection Using Column View @@ -4212,6 +4217,18 @@ Org-users. In Org-mode, @i{scheduling} means setting a date when you want to start working on an action item. @end table +You may use time stamps with repeaters in scheduling and deadline +entries. Org-mode will issue early and late warnings based on the +assumption that the time stamp represents the @i{nearest instance} of +the repeater. However, the use of diary sexp entries like +@c +@code{<%%(diary-float t 42)>} +@c +in scheduling and deadline timestamps is limited. Org-mode does not +know enough about the internals of each sexp function to issue early and +late warnings. However, it will show the item on each day where the +sexp entry matches. + @menu * Inserting deadline/schedule:: Planning items * Repeated tasks:: Items that show up again and again diff --git a/orgcard.pdf b/orgcard.pdf index 855631728..09cef34d2 100644 Binary files a/orgcard.pdf and b/orgcard.pdf differ diff --git a/orgcard.tex b/orgcard.tex index 059b124b1..f0651fa45 100644 --- a/orgcard.tex +++ b/orgcard.tex @@ -1,5 +1,5 @@ % Reference Card for Org Mode -\def\orgversionnumber{5.18} +\def\orgversionnumber{5.19} \def\versionyear{2008} % latest update \def\year{2008} % latest copyright year