# HG changeset patch # User Carsten Dominik # Date 1258269064 0 # Node ID b92e7ae35c75b2a13a17c9a520b1156f1a250e3b # Parent 1db0581a94d9119fcd177d0cbf07ad99da2c6f72 2009-11-15 Carsten Dominik * org-latex.el (org-export-as-latex): Add the :drawers property. 2009-11-15 Carsten Dominik * org.el (org-speed-commands-user): Allow documentation headlines. (org-speed-commands-default): Organize the value of this constant with descriptive headlines. (org-print-speed-command): Output the headlines. 2009-11-15 Carsten Dominik * org-agenda.el (org-agenda-show-outline-path): New option. (org-agenda-do-context-action): New function. (org-agenda-next-line, org-agenda-previous-line): Use `org-agenda-do-context-action'. * org.el (org-use-speed-commands): Allow function value. (org-speed-commands-default): Make headline motion safe, so that these commands always end on a headline. (org-speed-commands-default): New key `v' for `org-agenda'. (org-speed-move-safe): New function. (org-self-insert-command): Use the function value of `org-use-speed-commands'. (org-get-outline-path): Improve docstring. (org-format-outline-path): New function. (org-display-outline-path): New function. 2009-11-15 John Wiegley * org-clock.el (org-clock-resolve): If `org-clock-into-string' is a string, use that to find the LOGBOOK drawer. diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/ChangeLog --- a/lisp/org/ChangeLog Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/ChangeLog Sun Nov 15 07:11:04 2009 +0000 @@ -1,3 +1,37 @@ +2009-11-15 Carsten Dominik + + * org-latex.el (org-export-as-latex): Add the :drawers property. + +2009-11-15 Carsten Dominik + + * org.el (org-speed-commands-user): Allow documentation headlines. + (org-speed-commands-default): Organize the value of this constant + with descriptive headlines. + (org-print-speed-command): Output the headlines. + +2009-11-15 Carsten Dominik + + * org-agenda.el (org-agenda-show-outline-path): New option. + (org-agenda-do-context-action): New function. + (org-agenda-next-line, org-agenda-previous-line): Use + `org-agenda-do-context-action'. + + * org.el (org-use-speed-commands): Allow function value. + (org-speed-commands-default): Make headline motion safe, so that + these commands always end on a headline. + (org-speed-commands-default): New key `v' for `org-agenda'. + (org-speed-move-safe): New function. + (org-self-insert-command): Use the function value of + `org-use-speed-commands'. + (org-get-outline-path): Improve docstring. + (org-format-outline-path): New function. + (org-display-outline-path): New function. + +2009-11-15 John Wiegley + + * org-clock.el (org-clock-resolve): If `org-clock-into-string' is + a string, use that to find the LOGBOOK drawer. + 2009-11-15 Glenn Morris * org-agenda.el (org-datetree-find-date-create) diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-agenda.el --- a/lisp/org/org-agenda.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-agenda.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; @@ -672,6 +672,11 @@ :group 'org-agenda-startup :type 'boolean) +(defcustom org-agenda-show-outline-path t + "Non-il means, show outline path in echo area after line motion." + :group 'org-agenda-startup + :type 'boolean) + (defcustom org-agenda-start-with-entry-text-mode nil "The initial value of entry-text-mode in a newly created agenda window." :group 'org-agenda-startup @@ -5673,15 +5678,23 @@ "Move cursor to the next line, and show if follow-mode is active." (interactive) (call-interactively 'next-line) - (if (and org-agenda-follow-mode (org-get-at-bol 'org-marker)) - (org-agenda-show))) + (org-agenda-do-context-action)) + (defun org-agenda-previous-line () "Move cursor to the previous line, and show if follow-mode is active." (interactive) (call-interactively 'previous-line) - (if (and org-agenda-follow-mode (org-get-at-bol 'org-marker)) - (org-agenda-show))) + (org-agenda-do-context-action)) + +(defun org-agenda-do-context-action () + "Show outline path and, maybe, follow-mode window." + (let ((m (org-get-at-bol 'org-marker))) + (if (and org-agenda-follow-mode m) + (org-agenda-show)) + (if (and m org-agenda-show-outline-path) + (message (org-with-point-at m + (org-display-outline-path t)))))) (defun org-agenda-show-priority () "Show the priority of the current item. diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-archive.el --- a/lisp/org/org-archive.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-archive.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-ascii.el --- a/lisp/org/org-ascii.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-ascii.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-attach.el --- a/lisp/org/org-attach.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-attach.el Sun Nov 15 07:11:04 2009 +0000 @@ -4,7 +4,7 @@ ;; Author: John Wiegley ;; Keywords: org data task -;; Version: 6.33 +;; Version: 6.33c ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-bbdb.el --- a/lisp/org/org-bbdb.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-bbdb.el Sun Nov 15 07:11:04 2009 +0000 @@ -7,7 +7,7 @@ ;; Thomas Baumann ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-bibtex.el --- a/lisp/org/org-bibtex.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-bibtex.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Bastien Guerry ;; Carsten Dominik ;; Keywords: org, wp, remember -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-clock.el --- a/lisp/org/org-clock.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-clock.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; @@ -678,22 +678,26 @@ (save-window-excursion (save-excursion (unless org-clock-resolving-clocks-due-to-idleness - (org-with-clock clock - (org-clock-goto)) + (org-with-clock clock (org-clock-goto)) (with-current-buffer (marker-buffer (car clock)) (goto-char (car clock)) (if org-clock-into-drawer - (ignore-errors - (outline-flag-region (save-excursion - (outline-back-to-heading t) - (search-forward ":LOGBOOK:") - (goto-char (match-beginning 0))) - (save-excursion - (outline-back-to-heading t) - (search-forward ":LOGBOOK:") - (search-forward ":END:") - (goto-char (match-end 0))) - nil))))) + (let ((logbook + (if (stringp org-clock-into-drawer) + (concat ":" org-clock-into-drawer ":") + ":LOGBOOK:"))) + (ignore-errors + (outline-flag-region + (save-excursion + (outline-back-to-heading t) + (search-forward logbook) + (goto-char (match-beginning 0))) + (save-excursion + (outline-back-to-heading t) + (search-forward logbook) + (search-forward ":END:") + (goto-char (match-end 0))) + nil)))))) (let (char-pressed) (while (null char-pressed) (setq char-pressed diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-colview.el --- a/lisp/org/org-colview.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-colview.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; @@ -34,7 +34,7 @@ (require 'org) (declare-function org-agenda-redo "org-agenda" ()) -(declare-function org-agenda-show "org-agenda" (&optional full-entry)) +(declare-function org-agenda-do-context-action "org-agenda" ()) ;;; Column View @@ -93,10 +93,8 @@ (while (and (org-invisible-p2) (not (eobp))) (beginning-of-line 2)) (move-to-column col) - (if (and (eq major-mode 'org-agenda-mode) - (org-bound-and-true-p org-agenda-follow-mode) - (org-get-at-bol 'org-marker)) - (org-agenda-show))))) + (if (eq major-mode 'org-agenda-mode) + (org-agenda-do-context-action))))) (org-defkey org-columns-map [up] (lambda () (interactive) (let ((col (current-column))) @@ -104,10 +102,8 @@ (while (and (org-invisible-p2) (not (bobp))) (beginning-of-line 0)) (move-to-column col) - (if (and (eq major-mode 'org-agenda-mode) - (org-bound-and-true-p org-agenda-follow-mode) - (org-get-at-bol 'org-marker)) - (org-agenda-show))))) + (if (eq major-mode 'org-agenda-mode) + (org-agenda-do-context-action))))) (org-defkey org-columns-map [(shift right)] 'org-columns-next-allowed-value) (org-defkey org-columns-map "n" 'org-columns-next-allowed-value) (org-defkey org-columns-map [(shift left)] 'org-columns-previous-allowed-value) diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-compat.el --- a/lisp/org/org-compat.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-compat.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-crypt.el --- a/lisp/org/org-crypt.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-crypt.el Sun Nov 15 07:11:04 2009 +0000 @@ -4,7 +4,7 @@ ;; Emacs Lisp Archive Entry ;; Filename: org-crypt.el -;; Version: 6.33 +;; Version: 6.33c ;; Keywords: org-mode ;; Author: John Wiegley ;; Maintainer: Peter Jones diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-datetree.el --- a/lisp/org/org-datetree.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-datetree.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-docbook.el --- a/lisp/org/org-docbook.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-docbook.el Sun Nov 15 07:11:04 2009 +0000 @@ -4,7 +4,7 @@ ;; ;; Emacs Lisp Archive Entry ;; Filename: org-docbook.el -;; Version: 6.33 +;; Version: 6.33c ;; Author: Baoqiu Cui ;; Maintainer: Baoqiu Cui ;; Keywords: org, wp, docbook diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-exp.el --- a/lisp/org/org-exp.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-exp.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-faces.el --- a/lisp/org/org-faces.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-faces.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-feed.el --- a/lisp/org/org-feed.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-feed.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-footnote.el --- a/lisp/org/org-footnote.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-footnote.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-freemind.el --- a/lisp/org/org-freemind.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-freemind.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Lennart Borgman (lennart O borgman A gmail O com) ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-gnus.el --- a/lisp/org/org-gnus.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-gnus.el Sun Nov 15 07:11:04 2009 +0000 @@ -7,7 +7,7 @@ ;; Tassilo Horn ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-habit.el --- a/lisp/org/org-habit.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-habit.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: John Wiegley ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-html.el --- a/lisp/org/org-html.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-html.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-icalendar.el --- a/lisp/org/org-icalendar.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-icalendar.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-id.el --- a/lisp/org/org-id.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-id.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-indent.el --- a/lisp/org/org-indent.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-indent.el Sun Nov 15 07:11:04 2009 +0000 @@ -4,7 +4,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-info.el --- a/lisp/org/org-info.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-info.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-inlinetask.el --- a/lisp/org/org-inlinetask.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-inlinetask.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; This file is part of GNU Emacs. diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-irc.el --- a/lisp/org/org-irc.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-irc.el Sun Nov 15 07:11:04 2009 +0000 @@ -4,7 +4,7 @@ ;; ;; Author: Philip Jackson ;; Keywords: erc, irc, link, org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-jsinfo.el --- a/lisp/org/org-jsinfo.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-jsinfo.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-latex.el --- a/lisp/org/org-latex.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-latex.el Sun Nov 15 07:11:04 2009 +0000 @@ -4,7 +4,7 @@ ;; ;; Emacs Lisp Archive Entry ;; Filename: org-latex.el -;; Version: 6.33 +;; Version: 6.33c ;; Author: Bastien Guerry ;; Maintainer: Carsten Dominik ;; Keywords: org, wp, tex @@ -620,6 +620,7 @@ :tags (plist-get opt-plist :tags) :priority (plist-get opt-plist :priority) :footnotes (plist-get opt-plist :footnotes) + :drawers (plist-get opt-plist :drawers) :timestamps (plist-get opt-plist :timestamps) :todo-keywords (plist-get opt-plist :todo-keywords) :add-text (if (eq to-buffer 'string) nil text) diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-list.el --- a/lisp/org/org-list.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-list.el Sun Nov 15 07:11:04 2009 +0000 @@ -7,7 +7,7 @@ ;; Bastien Guerry ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-mac-message.el --- a/lisp/org/org-mac-message.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-mac-message.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: John Wiegley ;; Christopher Suckling -;; Version: 6.33 +;; Version: 6.33c ;; Keywords: outlines, hypermedia, calendar, wp ;; This file is part of GNU Emacs. diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-macs.el --- a/lisp/org/org-macs.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-macs.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-mew.el --- a/lisp/org/org-mew.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-mew.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Tokuya Kameshima ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; This file is part of GNU Emacs. diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-mhe.el --- a/lisp/org/org-mhe.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-mhe.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Thomas Baumann ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-mobile.el --- a/lisp/org/org-mobile.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-mobile.el Sun Nov 15 07:11:04 2009 +0000 @@ -4,7 +4,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-mouse.el --- a/lisp/org/org-mouse.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-mouse.el Sun Nov 15 07:11:04 2009 +0000 @@ -4,7 +4,7 @@ ;; ;; Author: Piotr Zielinski ;; Maintainer: Carsten Dominik -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-plot.el --- a/lisp/org/org-plot.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-plot.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Eric Schulte ;; Keywords: tables, plotting ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-protocol.el --- a/lisp/org/org-protocol.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-protocol.el Sun Nov 15 07:11:04 2009 +0000 @@ -9,7 +9,7 @@ ;; Author: Ross Patterson ;; Maintainer: Sebastian Rose ;; Keywords: org, emacsclient, wp -;; Version: 6.33 +;; Version: 6.33c ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-publish.el --- a/lisp/org/org-publish.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-publish.el Sun Nov 15 07:11:04 2009 +0000 @@ -4,7 +4,7 @@ ;; Author: David O'Toole ;; Maintainer: Carsten Dominik ;; Keywords: hypermedia, outlines, wp -;; Version: 6.33 +;; Version: 6.33c ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-remember.el --- a/lisp/org/org-remember.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-remember.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-rmail.el --- a/lisp/org/org-rmail.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-rmail.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-src.el --- a/lisp/org/org-src.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-src.el Sun Nov 15 07:11:04 2009 +0000 @@ -8,7 +8,7 @@ ;; Dan Davison ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-table.el --- a/lisp/org/org-table.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-table.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-timer.el --- a/lisp/org/org-timer.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-timer.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-vm.el --- a/lisp/org/org-vm.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-vm.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-w3m.el --- a/lisp/org/org-w3m.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-w3m.el Sun Nov 15 07:11:04 2009 +0000 @@ -5,7 +5,7 @@ ;; Author: Andy Stewart ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-wl.el --- a/lisp/org/org-wl.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-wl.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Tokuya Kameshima ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org-xoxo.el --- a/lisp/org/org-xoxo.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org-xoxo.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; diff -r 1db0581a94d9 -r b92e7ae35c75 lisp/org/org.el --- a/lisp/org/org.el Sun Nov 15 05:16:51 2009 +0000 +++ b/lisp/org/org.el Sun Nov 15 07:11:04 2009 +0000 @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.33 +;; Version: 6.33c ;; ;; This file is part of GNU Emacs. ;; @@ -95,7 +95,7 @@ ;;; Version -(defconst org-version "6.33" +(defconst org-version "6.33c" "The version number of the file org.el.") (defun org-version (&optional here) @@ -594,9 +594,14 @@ (const :tag "One dedicated frame" dedicated-frame))) (defcustom org-use-speed-commands nil - "Non-nil means, activate single letter commands at beginning of a headline." + "Non-nil means, activate single letter commands at beginning of a headline. +This may also be a function to test for appropriate locations where speed +commands should be active." :group 'org-structure - :type 'boolean) + :type '(choice + (const :tag "Never" nil) + (const :tag "At beginning of headline stars" t) + (function))) (defcustom org-speed-commands-user nil "Alist of additional speed commands. @@ -606,14 +611,19 @@ The car if each entry is a string with a single letter, which must be assigned to `self-insert-command' in the global map. The cdr is either a command to be called interactively, a function -to be called, or a form to be evaluated." +to be called, or a form to be evaluated. +An entry that is just a list with a single string will be interpreted +as a descriptive headline that will be added when listing the speed +copmmands in the Help buffer using the `?' speed command." :group 'org-structure - :type '(repeat - (cons - (string "Command letter") - (choice - (function) - (sexp))))) + :type '(repeat :value ("k" . ignore) + (choice :value ("k" . ignore) + (list :tag "Descriptive Headline" (string :tag "Headline")) + (cons :tag "Letter and Command" + (string :tag "Command letter") + (choice + (function) + (sexp)))))) (defgroup org-cycle nil "Options concerning visibility cycling in Org-mode." @@ -3090,8 +3100,9 @@ (declare-function org-gnus-follow-link "org-gnus" (&optional group article)) (defvar org-agenda-tags-todo-honor-ignore-options) (declare-function org-agenda-skip "org-agenda" ()) -(declare-function org-format-agenda-item "org-agenda" - (extra txt &optional category tags dotime noprefix remove-re habitp)) +(declare-function + org-format-agenda-item "org-agenda" + (extra txt &optional category tags dotime noprefix remove-re habitp)) (declare-function org-agenda-new-marker "org-agenda" (&optional pos)) (declare-function org-agenda-change-all-lines "org-agenda" (newhead hdmarker &optional fixface just-this)) @@ -8980,7 +8991,10 @@ (defvar org-olpa (make-vector 20 nil)) (defun org-get-outline-path (&optional fastp level heading) - "Return the outline path to the current entry, as a list." + "Return the outline path to the current entry, as a list. +The parameters FASTP, LEVEL, and HEADING are for use be a scanner +routine which makes outline path derivations for an entire file, +avoiding backtracing." (if fastp (progn (if (> level 19) @@ -8997,6 +9011,59 @@ (push (org-match-string-no-properties 4) rtn))) rtn)))) +(defun org-format-outline-path (path &optional width prefix) + "Format the outlie path PATH for display. +Width is the maximum number of characters that is available. +Prefix is a prefix to be included in the returned string, +such as the file name." + (setq width (or width 79)) + (if prefix (setq width (- width (length prefix)))) + (if (not path) + (or prefix "") + (let* ((nsteps (length path)) + (total-width (+ nsteps (apply '+ (mapcar 'length path)))) + (maxwidth (if (<= total-width width) + 10000 ;; everything fits + ;; we need to shorten the level headings + (/ (- width nsteps) nsteps))) + (org-odd-levels-only nil) + (n 0) + (total (1+ (length prefix)))) + (setq maxwidth (max maxwidth 10)) + (concat prefix + (mapconcat + (lambda (h) + (setq n (1+ n)) + (if (and (= n nsteps) (< maxwidth 10000)) + (setq maxwidth (- total-width total))) + (if (< (length h) maxwidth) + (progn (setq total (+ total (length h) 1)) h) + (setq h (substring h 0 (- maxwidth 2)) + total (+ total maxwidth 1)) + (if (string-match "[ \t]+\\'" h) + (setq h (substring h 0 (match-beginning 0)))) + (setq h (concat h ".."))) + (org-add-props h nil 'face + (nth (% (1- n) org-n-level-faces) + org-level-faces)) + h) + path "/"))))) + +(defun org-display-outline-path (&optional file current) + "Display the current outline path in the echo area." + (interactive "P") + (let ((bfn (buffer-file-name (buffer-base-buffer))) + (path (and (org-mode-p) (org-get-outline-path)))) + (if current (setq path (append path + (save-excursion + (org-back-to-heading t) + (if (looking-at org-complex-heading-regexp) + (list (match-string 4))))))) + (message (org-format-outline-path + path + (1- (frame-width)) + (and file bfn (concat (file-name-nondirectory bfn) "/")))))) + (defvar org-refile-history nil "History for refiling operations.") @@ -9037,6 +9104,7 @@ (region-length (and regionp (- region-end region-start))) (filename (buffer-file-name (buffer-base-buffer cbuf))) pos it nbuf file re level reversed) + (setq last-command nil) (when regionp (goto-char region-start) (or (bolp) (goto-char (point-at-bol))) @@ -14829,14 +14897,19 @@ (defconst org-speed-commands-default '( - ("n" . outline-next-visible-heading) - ("p" . outline-previous-visible-heading) - ("f" . org-forward-same-level) - ("b" . org-backward-same-level) - ("u" . outline-up-heading) - + ("Outline Navigation") + ("n" . (org-speed-move-safe 'outline-next-visible-heading)) + ("p" . (org-speed-move-safe 'outline-previous-visible-heading)) + ("f" . (org-speed-move-safe 'org-forward-same-level)) + ("b" . (org-speed-move-safe 'org-backward-same-level)) + ("u" . (org-speed-move-safe 'outline-up-heading)) + ("j" . org-goto) + ("g" . (org-refile t)) + ("Outline Visibility") ("c" . org-cycle) ("C" . org-shifttab) + (" " . org-display-outline-path) + ("Outline Structure Editing") ("U" . org-shiftmetaup) ("D" . org-shiftmetadown) ("r" . org-metaright) @@ -14845,37 +14918,45 @@ ("L" . org-shiftmetaleft) ("i" . (progn (forward-char 1) (call-interactively 'org-insert-heading-respect-content))) - - ("a" . org-agenda) - ("/" . org-sparse-tree) - (";" . org-set-tags-command) + ("^" . org-sort) + ("w" . org-refile) + ("a" . org-archive-subtree-default-with-confirmation) + ("." . outline-mark-subtree) + ("Clock Commands") ("I" . org-clock-in) ("O" . org-clock-out) - ("o" . org-open-at-point) + ("Meta Data Editing") ("t" . org-todo) - ("j" . org-goto) - ("g" . (org-refile t)) - ("e" . org-set-effort) ("0" . (org-priority ?\ )) ("1" . (org-priority ?A)) ("2" . (org-priority ?B)) ("3" . (org-priority ?C)) - ("." . outline-mark-subtree) - ("^" . org-sort) - ("w" . org-refile) - ("a" . org-archive-subtree-default-with-confirmation) + (";" . org-set-tags-command) + ("e" . org-set-effort) + ("Agenda Views etc") + ("v" . org-agenda) ("/" . org-sparse-tree) + ("/" . org-sparse-tree) + ("Misc") + ("o" . org-open-at-point) ("?" . org-speed-command-help) ) "The default speed commands.") (defun org-print-speed-command (e) - (princ (car e)) - (princ " ") - (if (symbolp (cdr e)) - (princ (symbol-name (cdr e))) - (prin1 (cdr e))) - (princ "\n")) + (if (> (length (car e)) 1) + (progn + (princ "\n") + (princ (car e)) + (princ "\n") + (princ (make-string (length (car e)) ?-)) + (princ "\n")) + (princ (car e)) + (princ " ") + (if (symbolp (cdr e)) + (princ (symbol-name (cdr e))) + (prin1 (cdr e))) + (princ "\n"))) (defun org-speed-command-help () "Show the available speed commands." @@ -14883,10 +14964,23 @@ (if (not org-use-speed-commands) (error "Speed commands are not activated, customize `org-use-speed-commands'.") (with-output-to-temp-buffer "*Help*" - (princ "Speed commands\n==============\n") + (princ "User-defined Speed commands\n===========================\n") (mapc 'org-print-speed-command org-speed-commands-user) (princ "\n") - (mapc 'org-print-speed-command org-speed-commands-default)))) + (princ "Built-in Speed commands\n=======================\n") + (mapc 'org-print-speed-command org-speed-commands-default)) + (with-current-buffer "*Help*" + (setq truncate-lines t)))) + +(defun org-speed-move-safe (cmd) + "Execute CMD, but make sure that the cursor always ends up in a headline. +If not, return to the original position and throw an error." + (interactive) + (let ((pos (point))) + (call-interactively cmd) + (unless (and (bolp) (org-on-heading-p)) + (goto-char pos) + (error "Boundary reached while executing %s" cmd)))) (defvar org-self-insert-command-undo-counter 0) @@ -14899,8 +14993,9 @@ (interactive "p") (cond ((and org-use-speed-commands - (bolp) - (looking-at outline-regexp) + (or (and (bolp) (looking-at outline-regexp)) + (and (functionp org-use-speed-commands) + (funcall org-use-speed-commands))) (setq org-speed-command (or (cdr (assoc (this-command-keys) org-speed-commands-user)) @@ -16066,7 +16161,11 @@ http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. -------------------------------------------------------------------------"))) +------------------------------------------------------------------------") + (save-excursion + (if (re-search-backward "^\\(Subject: \\)Org-mode version \\(.*?\\);[ \t]*\\(.*\\)" nil t) + (replace-match "\\1Bug: \\3 [\\2]"))))) + (defun org-install-agenda-files-menu () (let ((bl (buffer-list)))