diff --git a/ChangeLog b/ChangeLog index 637741ce4..4d9f4c993 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,24 +1,32 @@ -2007-10-24 Carsten Dominik +2007-10-25 Carsten Dominik - * org.el (org-agenda-get-restriction-and-command): Fix window size. - (org-read-date-get-relative): Require [-+] at the beginning. - -2007-10-23 Carsten Dominik - - * org.el (org-open-link-from-string): New function. - (org-columns-open-link): New commands. - -2007-10-22 Carsten Dominik - - * org.el (org-scan-tags): Handle indirect buffers. + * org.el (org-todo): Restore match data before doing the + replacement. ----------------------------------------------------------------------- -Installed as 5.13d +Installed as 5.13f -2007-10-22 Carsten Dominik +2007-10-24 Carsten Dominik - * org.el (org-read-date-get-relative): New function. + * org-publish.el (org-publish-get-plist-from-filename): Use `mapc' + instead of `mapcar'. + + * org.el (org-agenda-get-restriction-and-command): Use `mapc' + instead of `mapcar'. + (org-agenda-list): Numeric prefix argument can specify the number + of days. + (remember-register, remember-buffer): Prevent byte compiler from + complaining. + + + * org.el (org-agenda-get-restriction-and-command): Fix window + size. + (org-read-date-get-relative): Require [-+] at the beginning. + (org-open-link-from-string): New function. + (org-columns-open-link): New commands. + (org-scan-tags): Handle indirect buffers. + (org-read-date-get-relative): New function. (org-agenda-file-regexp): New variable. (org-agenda-files): Allow directories in the variable. (org-agenda-get-restriction-and-command): New function. diff --git a/Makefile b/Makefile index eaa65c47f..1c9956de4 100644 --- a/Makefile +++ b/Makefile @@ -179,12 +179,19 @@ release: cp org-release/org-$(TAG).tar.gz org-release/org.tar.gz (cd $(HG_RELEASES); rm -rf $(DISTFILES) xemacs) cp -r org-$(TAG)/* $(HG_RELEASES) - (cd $(HG_RELEASES); hg addremove; hg ci -m $(TAG); hg tag $(TAG)) + (cd $(HG_RELEASES); hg addremove; hg ci -m $(TAG); hg tag -f $(TAG)) trackrelease: (cd $(HG_RELEASES); rm -rf $(DISTFILES) xemacs) cp -r org-$(TAG)/* $(HG_RELEASES) - (cd $(HG_RELEASES); hg addremove; hg ci -m $(TAG); hg tag $(TAG)) + (cd $(HG_RELEASES); hg addremove; hg ci -m $(TAG); hg tag -f $(TAG)) + +upload: + (cd org-release; lftp -f ../ftp_script) + +relup: + make release + make upload dist: make distfile TAG=$(TAG) diff --git a/org b/org index 9ef25d354..12ce3b940 100644 --- a/org +++ b/org @@ -3978,6 +3978,7 @@ File: org, Node: Setting up remember, Next: Remember templates, Prev: Remembe The following customization will tell remember to use org files as target, and to create annotations compatible with Org-mode links. + (require 'remember) (setq org-directory "~/path/to/my/orgfiles/") (setq org-default-notes-file (concat org-directory "/notes.org")) (setq remember-annotation-functions '(org-remember-annotation)) @@ -4297,10 +4298,9 @@ paper agenda, showing all the tasks for the current week or day. `C-c a a' Compile an agenda for the current week from a list of org files. - The agenda shows the entries for each day. With a `C-u' prefix (or - when the variable `org-agenda-include-all-todo' is `t'), all - unfinished TODO items (including those without a date) are also - listed at the beginning of the buffer, before the first date. + The agenda shows the entries for each day. With a numeric + prefix(1) (like `C-u 2 1 C-c a a') you may set the number of days + to be displayed (see also the variable `org-agenda-ndays') Remote editing from the agenda buffer means, for example, that you can change the dates of deadlines and appointments from the agenda @@ -4360,6 +4360,12 @@ list of your appointments and add only those belonging to a specific category or matching a regular expression. See the docstring for details. + ---------- Footnotes ---------- + + (1) For backward compatibility, the universal prefix `C-u' causes +all TODO entries to be listed before the agenda. This feature is +deprecated, use the dedicated TODO list, or a block agenda instead. +  File: org, Node: Global TODO list, Next: Matching tags and properties, Prev: Weekly/Daily agenda, Up: Built-in agenda views @@ -7647,8 +7653,8 @@ Index * API, for properties <1>: Property API. (line 6) * API, for properties: Using the property API. (line 6) -* appointment reminders: Weekly/Daily agenda. (line 66) -* appt.el: Weekly/Daily agenda. (line 66) +* appointment reminders: Weekly/Daily agenda. (line 65) +* appt.el: Weekly/Daily agenda. (line 65) * archive locations: Moving subtrees. (line 23) * archiving: Archiving. (line 6) * ASCII export: ASCII export. (line 6) @@ -7671,7 +7677,7 @@ Index * calculations, in tables: Built-in table editor. (line 143) * calendar commands, from agenda: Agenda commands. (line 196) -* calendar integration: Weekly/Daily agenda. (line 24) +* calendar integration: Weekly/Daily agenda. (line 23) * calendar, for selecting date: The date/time prompt. (line 42) * category: Categories. (line 6) @@ -7729,7 +7735,7 @@ Index (line 97) * demotion, of subtrees: Structure editing. (line 6) * diary entries, creating from agenda: Agenda commands. (line 201) -* diary integration: Weekly/Daily agenda. (line 24) +* diary integration: Weekly/Daily agenda. (line 23) * dictionary word completion: Completion. (line 6) * directories, for publishing: Sources and destinations. (line 6) @@ -8624,112 +8630,113 @@ Ref: Clocking work time-Footnote-1160828 Ref: Clocking work time-Footnote-2160906 Node: Remember161032 Node: Setting up remember161911 -Node: Remember templates162514 -Ref: Remember templates-Footnote-1166075 -Ref: Remember templates-Footnote-2166258 -Node: Storing notes166356 -Ref: Storing notes-Footnote-1168835 -Node: Agenda views168937 -Node: Agenda files170888 -Ref: Agenda files-Footnote-1171976 -Ref: Agenda files-Footnote-2172125 -Node: Agenda dispatcher172318 -Ref: Agenda dispatcher-Footnote-1174372 -Ref: Agenda dispatcher-Footnote-2174466 -Node: Built-in agenda views174560 -Node: Weekly/Daily agenda175142 -Node: Global TODO list178479 -Node: Matching tags and properties180759 -Node: Timeline181850 -Node: Stuck projects182524 -Node: Presentation and sorting184377 -Node: Categories185170 -Ref: Categories-Footnote-1185881 -Node: Time-of-day specifications186201 -Node: Sorting of agenda items188174 -Node: Agenda commands189458 -Node: Custom agenda views196921 -Node: Storing searches197642 -Ref: Storing searches-Footnote-1200176 -Node: Block agenda200293 -Node: Setting Options201525 -Node: Exporting Agenda Views204266 -Ref: Exporting Agenda Views-Footnote-1208552 -Ref: Exporting Agenda Views-Footnote-2208609 -Node: Extracting Agenda Information for other programs208795 -Node: Embedded LaTeX212923 -Ref: Embedded LaTeX-Footnote-1214017 -Node: Math symbols214207 -Node: Subscripts and Superscripts214974 -Node: LaTeX fragments215820 -Ref: LaTeX fragments-Footnote-1218053 -Ref: LaTeX fragments-Footnote-2218314 -Node: Processing LaTeX fragments218448 -Node: CDLaTeX mode219396 -Ref: CDLaTeX mode-Footnote-1221882 -Node: Exporting222030 -Node: ASCII export223497 -Node: HTML export224998 -Node: HTML Export commands225624 -Node: Quoting HTML tags227411 -Node: Links228046 -Node: Images228743 -Ref: Images-Footnote-1229614 -Node: CSS support229675 -Ref: CSS support-Footnote-1230994 -Node: LaTeX export231107 -Node: LaTeX export commands231431 -Node: Quoting LaTeX code232593 -Node: XOXO export233098 -Node: iCalendar export233538 -Node: Text interpretation235007 -Node: Comment lines235598 -Node: Initial text235993 -Node: Footnotes237662 -Node: Enhancing text238453 -Ref: Enhancing text-Footnote-1240322 -Node: Export options240412 -Node: Publishing242814 -Ref: Publishing-Footnote-1243775 -Ref: Publishing-Footnote-2243919 -Node: Configuration244070 -Node: Project alist244788 -Node: Sources and destinations245854 -Node: Selecting files246584 -Node: Publishing action247332 -Node: Publishing options248666 -Node: Publishing links251041 -Node: Project page index252554 -Node: Sample configuration253332 -Node: Simple example253824 -Node: Complex example254497 -Node: Triggering publication256573 -Node: Miscellaneous257258 -Node: Completion257892 -Node: Customization259562 -Node: In-buffer settings260145 -Node: The very busy C-c C-c key265815 -Node: Clean view267670 -Node: TTY keys270247 -Node: Interaction271857 -Node: Cooperation272254 -Node: Conflicts275130 -Node: Bugs277133 -Node: Extensions and Hacking278629 -Node: Extensions279354 -Node: Adding hyperlink types281616 -Node: Tables in arbitrary syntax285278 -Node: Radio tables286367 -Node: A LaTeX example288870 -Ref: A LaTeX example-Footnote-1292516 -Ref: A LaTeX example-Footnote-2292664 -Node: Translator functions293099 -Ref: Translator functions-Footnote-1296208 -Node: Dynamic blocks296296 -Node: Special agenda views298268 -Node: Using the property API301513 -Node: History and Acknowledgments302994 -Node: Index309555 -Node: Key Index344624 +Node: Remember templates162539 +Ref: Remember templates-Footnote-1166100 +Ref: Remember templates-Footnote-2166283 +Node: Storing notes166381 +Ref: Storing notes-Footnote-1168860 +Node: Agenda views168962 +Node: Agenda files170913 +Ref: Agenda files-Footnote-1172001 +Ref: Agenda files-Footnote-2172150 +Node: Agenda dispatcher172343 +Ref: Agenda dispatcher-Footnote-1174397 +Ref: Agenda dispatcher-Footnote-2174491 +Node: Built-in agenda views174585 +Node: Weekly/Daily agenda175167 +Ref: Weekly/Daily agenda-Footnote-1178465 +Node: Global TODO list178669 +Node: Matching tags and properties180949 +Node: Timeline182040 +Node: Stuck projects182714 +Node: Presentation and sorting184567 +Node: Categories185360 +Ref: Categories-Footnote-1186071 +Node: Time-of-day specifications186391 +Node: Sorting of agenda items188364 +Node: Agenda commands189648 +Node: Custom agenda views197111 +Node: Storing searches197832 +Ref: Storing searches-Footnote-1200366 +Node: Block agenda200483 +Node: Setting Options201715 +Node: Exporting Agenda Views204456 +Ref: Exporting Agenda Views-Footnote-1208742 +Ref: Exporting Agenda Views-Footnote-2208799 +Node: Extracting Agenda Information for other programs208985 +Node: Embedded LaTeX213113 +Ref: Embedded LaTeX-Footnote-1214207 +Node: Math symbols214397 +Node: Subscripts and Superscripts215164 +Node: LaTeX fragments216010 +Ref: LaTeX fragments-Footnote-1218243 +Ref: LaTeX fragments-Footnote-2218504 +Node: Processing LaTeX fragments218638 +Node: CDLaTeX mode219586 +Ref: CDLaTeX mode-Footnote-1222072 +Node: Exporting222220 +Node: ASCII export223687 +Node: HTML export225188 +Node: HTML Export commands225814 +Node: Quoting HTML tags227601 +Node: Links228236 +Node: Images228933 +Ref: Images-Footnote-1229804 +Node: CSS support229865 +Ref: CSS support-Footnote-1231184 +Node: LaTeX export231297 +Node: LaTeX export commands231621 +Node: Quoting LaTeX code232783 +Node: XOXO export233288 +Node: iCalendar export233728 +Node: Text interpretation235197 +Node: Comment lines235788 +Node: Initial text236183 +Node: Footnotes237852 +Node: Enhancing text238643 +Ref: Enhancing text-Footnote-1240512 +Node: Export options240602 +Node: Publishing243004 +Ref: Publishing-Footnote-1243965 +Ref: Publishing-Footnote-2244109 +Node: Configuration244260 +Node: Project alist244978 +Node: Sources and destinations246044 +Node: Selecting files246774 +Node: Publishing action247522 +Node: Publishing options248856 +Node: Publishing links251231 +Node: Project page index252744 +Node: Sample configuration253522 +Node: Simple example254014 +Node: Complex example254687 +Node: Triggering publication256763 +Node: Miscellaneous257448 +Node: Completion258082 +Node: Customization259752 +Node: In-buffer settings260335 +Node: The very busy C-c C-c key266005 +Node: Clean view267860 +Node: TTY keys270437 +Node: Interaction272047 +Node: Cooperation272444 +Node: Conflicts275320 +Node: Bugs277323 +Node: Extensions and Hacking278819 +Node: Extensions279544 +Node: Adding hyperlink types281806 +Node: Tables in arbitrary syntax285468 +Node: Radio tables286557 +Node: A LaTeX example289060 +Ref: A LaTeX example-Footnote-1292706 +Ref: A LaTeX example-Footnote-2292854 +Node: Translator functions293289 +Ref: Translator functions-Footnote-1296398 +Node: Dynamic blocks296486 +Node: Special agenda views298458 +Node: Using the property API301703 +Node: History and Acknowledgments303184 +Node: Index309745 +Node: Key Index344814  End Tag Table diff --git a/org-publish.el b/org-publish.el index 0eddd4028..e98afaf4a 100644 --- a/org-publish.el +++ b/org-publish.el @@ -426,7 +426,7 @@ nil if not found." (defun org-publish-get-plist-from-filename (filename) "Return publishing configuration plist for file FILENAME." (let ((found nil)) - (mapcar + (mapc (lambda (plist) (let ((files (org-publish-get-base-files plist))) (if (member (expand-file-name filename) files) @@ -464,9 +464,10 @@ FILENAME is the filename of the org file to be published." PLIST is the property list for the given project. FILENAME is the filename of the file to be published." ;; make sure eshell/cp code is loaded - (require 'eshell) - (require 'esh-maint) - (require 'em-unix) + (eval-and-compile + (require 'eshell) + (require 'esh-maint) + (require 'em-unix)) (let ((destination (file-name-as-directory (plist-get plist :publishing-directory)))) (eshell/cp filename destination))) diff --git a/org.el b/org.el index 9d08a280d..b417b7106 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.13e +;; Version: 5.13g ;; ;; This file is part of GNU Emacs. ;; @@ -83,7 +83,7 @@ ;;; Version -(defconst org-version "5.13e" +(defconst org-version "5.13g" "The version number of the file org.el.") (defun org-version () (interactive) @@ -4307,6 +4307,8 @@ This is for getting out of special buffers like remember.") (defvar texmathp-why) (defvar remember-save-after-remembering) (defvar remember-data-file) +(defvar remember-register) +(defvar remember-buffer) (defvar annotation) ; from remember.el, dynamically scoped in `remember-mode' (defvar initial) ; from remember.el, dynamically scoped in `remember-mode' (defvar org-latex-regexps) @@ -13410,7 +13412,8 @@ For calling through lisp, arg is also interpreted in the following way: (if (looking-at outline-regexp) (goto-char (1- (match-end 0)))) (or (looking-at (concat " +" org-todo-regexp " *")) (looking-at " *")) - (let* ((startpos (line-beginning-position)) + (let* ((match-data (match-data)) + (startpos (line-beginning-position)) (logging (save-match-data (org-entry-get nil "LOGGING" t))) (org-log-done (org-parse-local-options logging 'org-log-done)) (org-log-repeat (org-parse-local-options logging 'org-log-repeat)) @@ -13494,6 +13497,7 @@ For calling through lisp, arg is also interpreted in the following way: ;; fail silently (message "TODO state change from %s to %s blocked" this state) (throw 'exit nil)))) + (store-match-data match-data) (replace-match next t t) (unless (pos-visible-in-window-p hl-pos) (message "TODO state changed to %s" (org-trim next))) @@ -13586,7 +13590,7 @@ Returns the new TODO keyword, or nil if no state change should occur." (set-buffer (get-buffer-create " *Org todo*")) ; (delete-other-windows) ; (split-window-vertically) - (org-switch-to-buffer-other-window (get-buffer-create " *Org tags*"))) + (org-switch-to-buffer-other-window (get-buffer-create " *Org todo*"))) (erase-buffer) (org-set-local 'org-done-keywords done-keywords) (setq tbl fulltable cnt 0) @@ -15607,12 +15611,17 @@ Where possible, use the standard interface for changing this line." org-columns-top-level-marker)) key1 nval))) +(defmacro org-no-warnings (&rest body) + (cons (if (fboundp 'with-no-warnings) 'with-no-warnings 'progn) body)) + (defun org-columns-eval (form) (let (hidep) (save-excursion (beginning-of-line 1) ;; `next-line' is needed here, because it skips invisible line. - (condition-case nil (next-line 1) (error nil)) + ;; FIXME: RMS says this should be wrapped into `with-no-warnings' + ;; but I don't know how to do this and keep the code XEmacs compatible. + (condition-case nil (org-no-warnings (next-line 1)) (error nil)) (setq hidep (org-on-heading-p 1))) (eval form) (and hidep (hide-entry)))) @@ -18356,15 +18365,15 @@ L Timeline for current buffer # List stuck projects (!=configure) (format "set of %d commands" (length match))) (t "")))))) (when prefixes - (mapcar (lambda (x) - (insert - (format "\n%s %s" - (org-add-props (char-to-string x) - nil 'face 'bold) - (or (cdr (assoc (concat selstring (char-to-string x)) - prefix-descriptions)) - "Prefix key")))) - prefixes)) + (mapc (lambda (x) + (insert + (format "\n%s %s" + (org-add-props (char-to-string x) + nil 'face 'bold) + (or (cdr (assoc (concat selstring (char-to-string x)) + prefix-descriptions)) + "Prefix key")))) + prefixes)) (goto-char (point-min)) (when (fboundp 'fit-window-to-buffer) (if second-time @@ -19182,18 +19191,24 @@ When EMPTY is non-nil, also include days without any entries." ;;;###autoload (defun org-agenda-list (&optional include-all start-day ndays) - "Produce a weekly view from all files in variable `org-agenda-files'. -The view will be for the current week, but from the overview buffer you -will be able to go to other weeks. -With one \\[universal-argument] prefix argument INCLUDE-ALL, all unfinished TODO items will -also be shown, under the current date. -With two \\[universal-argument] prefix argument INCLUDE-ALL, all TODO entries marked DONE -on the days are also shown. See the variable `org-log-done' for how -to turn on logging. + "Produce a daily/weekly view from all files in variable `org-agenda-files'. +The view will be for the current day or week, but from the overview buffer +you will be able to go to other days/weeks. + +With one \\[universal-argument] prefix argument INCLUDE-ALL, +all unfinished TODO items will also be shown, before the agenda. +This feature is considered obsolete, please use the TODO list or a block +agenda instead. + +With a numeric prefix argument in an interactive call, the agenda will +span INCLUDE-ALL days. Lisp programs should instead specify NDAYS to change +the number of days. NDAYS defaults to `org-agenda-ndays'. + START-DAY defaults to TODAY, or to the most recent match for the weekday -given in `org-agenda-start-on-weekday'. -NDAYS defaults to `org-agenda-ndays'." +given in `org-agenda-start-on-weekday'." (interactive "P") + (if (and (integerp include-all) (> include-all 0)) + (setq ndays include-all include-all nil)) (setq ndays (or ndays org-agenda-ndays) start-day (or start-day org-agenda-start-day)) (if org-agenda-overriding-arguments diff --git a/org.pdf b/org.pdf index 54106946d..2a9162b7f 100644 Binary files a/org.pdf and b/org.pdf differ diff --git a/org.texi b/org.texi index b34ace8ab..12d205a6c 100644 --- a/org.texi +++ b/org.texi @@ -4315,6 +4315,7 @@ The following customization will tell @i{remember} to use org files as target, and to create annotations compatible with Org-mode links. @example +(require 'remember) (setq org-directory "~/path/to/my/orgfiles/") (setq org-default-notes-file (concat org-directory "/notes.org")) (setq remember-annotation-functions '(org-remember-annotation)) @@ -4632,10 +4633,12 @@ paper agenda, showing all the tasks for the current week or day. @kindex C-c a a @item C-c a a Compile an agenda for the current week from a list of org files. The -agenda shows the entries for each day. With a @kbd{C-u} prefix (or -when the variable @code{org-agenda-include-all-todo} is @code{t}), all -unfinished TODO items (including those without a date) are also listed at -the beginning of the buffer, before the first date.@* +agenda shows the entries for each day. With a numeric +prefix@footnote{For backward compatibility, the universal prefix +@kbd{C-u} causes all TODO entries to be listed before the agenda. This +feature is deprecated, use the dedicated TODO list, or a block agenda +instead.} (like @kbd{C-u 2 1 C-c a a}) you may set the number of days +to be displayed (see also the variable @code{org-agenda-ndays}) @end table Remote editing from the agenda buffer means, for example, that you can diff --git a/orgcard.pdf b/orgcard.pdf index e7be2d8dd..0c2dc9b86 100644 Binary files a/orgcard.pdf and b/orgcard.pdf differ