From fdf730ed29c68aecf4634392fc30b12eb77170d9 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Sat, 20 Dec 2008 14:32:06 +0000 Subject: [PATCH] 2008-12-20 Carsten Dominik * org.el (org-get-refile-targets, org-refile-get-location): Use expanded file name to improve comparison. 2008-12-20 Carsten Dominik * org.el (org-scan-tags): Rescan for tags, to get the correct upcase/downcase stuff. This slows things down for now, but it works. (org-mode): Make sure the tag-faces regexp is initialized. * org-export-latex.el (org-export-latex-links): Fix bug with undefined label. * org-table.el (org-table-get-specials): Set `org-table-current-last-data-line'. (org-table-current-last-data-line): New variable. (org-table-insert-column, org-table-delete-column) (org-table-move-column, org-table-fix-formulas): Call `org-table-fix-formulas' a second time to fix the $LR references. (org-table-get-specials): Add the $LR references to the tables. (org-table-get-formula): Do not offer last-row names as LHS of formulas. * org.el (org-store-link): Capture link description from `org-id-store-link'. * org-exp.el (org-export-html-format-image): Add the / to the end of the tag. (org-export-format-source-code): Surround example by empty lines, to make sure it will not be inside a paragraph. * org.el (org-ido-switchb): New function. 2008-12-20 Carsten Dominik * org-agenda.el (org-agenda-show): New prefix argument FULL-ENTRY. * org.el (org-sort-entries-or-items): Add a COMPARE-FUNC argument. --- lisp/org/org-agenda.el | 21 +++++++++-------- lisp/org/org-archive.el | 2 +- lisp/org/org-attach.el | 2 +- lisp/org/org-bbdb.el | 2 +- lisp/org/org-bibtex.el | 2 +- lisp/org/org-clock.el | 2 +- lisp/org/org-colview.el | 2 +- lisp/org/org-compat.el | 2 +- lisp/org/org-exp.el | 8 +++---- lisp/org/org-export-latex.el | 4 ++-- lisp/org/org-faces.el | 2 +- lisp/org/org-gnus.el | 2 +- lisp/org/org-id.el | 2 +- lisp/org/org-info.el | 2 +- lisp/org/org-irc.el | 2 +- lisp/org/org-jsinfo.el | 2 +- lisp/org/org-list.el | 2 +- lisp/org/org-mac-message.el | 2 +- lisp/org/org-macs.el | 2 +- lisp/org/org-mew.el | 2 +- lisp/org/org-mhe.el | 2 +- lisp/org/org-mouse.el | 2 +- lisp/org/org-plot.el | 2 +- lisp/org/org-publish.el | 2 +- lisp/org/org-remember.el | 2 +- lisp/org/org-rmail.el | 2 +- lisp/org/org-table.el | 41 ++++++++++++++++++++++++++------- lisp/org/org-timer.el | 2 +- lisp/org/org-vm.el | 2 +- lisp/org/org-w3m.el | 2 +- lisp/org/org-wl.el | 2 +- lisp/org/org.el | 44 ++++++++++++++++++++++++++++-------- 32 files changed, 112 insertions(+), 60 deletions(-) diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el index 89f7c038f0..cf4d6ab78f 100644 --- a/lisp/org/org-agenda.el +++ b/lisp/org/org-agenda.el @@ -6,7 +6,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; @@ -4945,11 +4945,16 @@ If this information is not given, the function uses the tree at point." (mouse-set-point ev) (org-agenda-goto)) -(defun org-agenda-show () - "Display the Org-mode file which contains the item at point." - (interactive) +(defun org-agenda-show (&optional full-entry) + "Display the Org-mode file which contains the item at point. +With prefix argument FULL-ENTRY, make the entire entry visible +if it was hidden in the outline." + (interactive "P") (let ((win (selected-window))) - (org-agenda-goto t) + (if full-entry + (let ((org-show-entry-below t)) + (org-agenda-goto t)) + (org-agenda-goto t)) (select-window win))) (defun org-agenda-recenter (arg) @@ -5079,12 +5084,10 @@ If JUST-THIS is non-nil, change just the current line, not all. If FORCE-TAGS is non nil, the car of it returns the new tags." (let* ((inhibit-read-only t) (line (org-current-line)) - (thetags - (and hdmarker (markerp hdmarker) - (with-current-buffer (marker-buffer hdmarker) + (thetags (with-current-buffer (marker-buffer hdmarker) (save-excursion (save-restriction (widen) (goto-char hdmarker) - (org-get-tags-at)))))) + (org-get-tags-at))))) props m pl undone-face done-face finish new dotime cat tags) (save-excursion (goto-char (point-max)) diff --git a/lisp/org/org-archive.el b/lisp/org/org-archive.el index 59906e8d68..32aa05cae0 100644 --- a/lisp/org/org-archive.el +++ b/lisp/org/org-archive.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-attach.el b/lisp/org/org-attach.el index bff61dc7bf..f3f7a8a2dd 100644 --- a/lisp/org/org-attach.el +++ b/lisp/org/org-attach.el @@ -4,7 +4,7 @@ ;; Author: John Wiegley ;; Keywords: org data task -;; Version: 6.15d +;; Version: 6.16 ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-bbdb.el b/lisp/org/org-bbdb.el index 4ab9b1aa54..aaa699900d 100644 --- a/lisp/org/org-bbdb.el +++ b/lisp/org/org-bbdb.el @@ -6,7 +6,7 @@ ;; Thomas Baumann ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-bibtex.el b/lisp/org/org-bibtex.el index 53701b0d97..7236a9147c 100644 --- a/lisp/org/org-bibtex.el +++ b/lisp/org/org-bibtex.el @@ -5,7 +5,7 @@ ;; Author: Bastien Guerry ;; Carsten Dominik ;; Keywords: org, wp, remember -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el index 9ab943adb0..ab975d3e71 100644 --- a/lisp/org/org-clock.el +++ b/lisp/org/org-clock.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-colview.el b/lisp/org/org-colview.el index 392fae90a4..baa3f57e0b 100644 --- a/lisp/org/org-colview.el +++ b/lisp/org/org-colview.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-compat.el b/lisp/org/org-compat.el index c354d7158c..b578ad301f 100644 --- a/lisp/org/org-compat.el +++ b/lisp/org/org-compat.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-exp.el b/lisp/org/org-exp.el index 0fe635f733..bb50029a88 100644 --- a/lisp/org/org-exp.el +++ b/lisp/org/org-exp.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; @@ -2260,9 +2260,9 @@ backends, it converts the segment into an EXAMPLE segment." (point-min) (point-max))))) (if (string-match "]*\\)>\n?" htmltext) (setq htmltext (replace-match - (format "
" lang)
+			      (format "
\n" lang)
 			      t t htmltext)))
-	  (concat "#+BEGIN_HTML\n" htmltext "\n#+END_HTML\n"))))
+	  (concat "\n#+BEGIN_HTML\n" htmltext "\n#+END_HTML\n\n"))))
      (t
       ;; This is not HTML, so just make it an example.
       (when (equal lang "org")
@@ -3716,7 +3716,7 @@ lang=\"%s\" xml:lang=\"%s\">
 	   (attr (org-find-text-property-in-string 'org-attributes src))
 	   (label (org-find-text-property-in-string 'org-label src)))
       (format "
-

%s +

%s
" (if label (format "id=\"%s\" " label) "") src diff --git a/lisp/org/org-export-latex.el b/lisp/org/org-export-latex.el index c46caffe5e..d23652df29 100644 --- a/lisp/org/org-export-latex.el +++ b/lisp/org/org-export-latex.el @@ -4,7 +4,7 @@ ;; ;; Emacs Lisp Archive Entry ;; Filename: org-export-latex.el -;; Version: 6.15d +;; Version: 6.16 ;; Author: Bastien Guerry ;; Maintainer: Bastien Guerry ;; Keywords: org, wp, tex @@ -1207,7 +1207,7 @@ If TIMESTAMPS, convert timestamps, otherwise delete them." (expand-file-name raw-path)) (if floatp (format "\\caption{%s%s}\n" - (if label (concat "\\label{" label "}")) + (if label (concat "\\label{" label "}") "") (or caption ""))) (if floatp "\\end{figure}\n")))) (radiop (insert (format "\\hyperref[%s]{%s}" diff --git a/lisp/org/org-faces.el b/lisp/org/org-faces.el index 8200f27d80..3c02ab77e2 100644 --- a/lisp/org/org-faces.el +++ b/lisp/org/org-faces.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-gnus.el b/lisp/org/org-gnus.el index f73d677963..d3f57111a0 100644 --- a/lisp/org/org-gnus.el +++ b/lisp/org/org-gnus.el @@ -6,7 +6,7 @@ ;; Tassilo Horn ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-id.el b/lisp/org/org-id.el index 7c3b3aab18..6af76ae038 100644 --- a/lisp/org/org-id.el +++ b/lisp/org/org-id.el @@ -4,7 +4,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-info.el b/lisp/org/org-info.el index 6eadf6d14f..3b7bc4b016 100644 --- a/lisp/org/org-info.el +++ b/lisp/org/org-info.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-irc.el b/lisp/org/org-irc.el index bd2536763f..26f37db0e7 100644 --- a/lisp/org/org-irc.el +++ b/lisp/org/org-irc.el @@ -4,7 +4,7 @@ ;; ;; Author: Philip Jackson ;; Keywords: erc, irc, link, org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-jsinfo.el b/lisp/org/org-jsinfo.el index d26ed7fba2..f240ff636d 100644 --- a/lisp/org/org-jsinfo.el +++ b/lisp/org/org-jsinfo.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el index 383640a6cd..2c36786e76 100644 --- a/lisp/org/org-list.el +++ b/lisp/org/org-list.el @@ -6,7 +6,7 @@ ;; Bastien Guerry ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-mac-message.el b/lisp/org/org-mac-message.el index fa38ed7856..a7cf8f40c3 100644 --- a/lisp/org/org-mac-message.el +++ b/lisp/org/org-mac-message.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2008 Free Software Foundation, Inc. ;; Author: John Wiegley -;; Version: 6.15d +;; Version: 6.16 ;; Keywords: outlines, hypermedia, calendar, wp ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el index 1710017a95..173e051502 100644 --- a/lisp/org/org-macs.el +++ b/lisp/org/org-macs.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-mew.el b/lisp/org/org-mew.el index bc181a6762..5f666d21e1 100644 --- a/lisp/org/org-mew.el +++ b/lisp/org/org-mew.el @@ -5,7 +5,7 @@ ;; Author: Tokuya Kameshima ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-mhe.el b/lisp/org/org-mhe.el index 43dd6ce056..0106568120 100644 --- a/lisp/org/org-mhe.el +++ b/lisp/org/org-mhe.el @@ -5,7 +5,7 @@ ;; Author: Thomas Baumann ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-mouse.el b/lisp/org/org-mouse.el index 19fce9aee6..71fb8dc3d6 100644 --- a/lisp/org/org-mouse.el +++ b/lisp/org/org-mouse.el @@ -4,7 +4,7 @@ ;; ;; Author: Piotr Zielinski ;; Maintainer: Carsten Dominik -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-plot.el b/lisp/org/org-plot.el index 96e7f1157e..1eecd7a709 100644 --- a/lisp/org/org-plot.el +++ b/lisp/org/org-plot.el @@ -5,7 +5,7 @@ ;; Author: Eric Schulte ;; Keywords: tables, plotting ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-publish.el b/lisp/org/org-publish.el index b7547353b7..b8b3a4855f 100644 --- a/lisp/org/org-publish.el +++ b/lisp/org/org-publish.el @@ -4,7 +4,7 @@ ;; Author: David O'Toole ;; Maintainer: Bastien Guerry ;; Keywords: hypermedia, outlines, wp -;; Version: 6.15d +;; Version: 6.16 ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-remember.el b/lisp/org/org-remember.el index db9ff004c7..c9575e4b85 100644 --- a/lisp/org/org-remember.el +++ b/lisp/org/org-remember.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-rmail.el b/lisp/org/org-rmail.el index 795a52fe4b..feb2236828 100644 --- a/lisp/org/org-rmail.el +++ b/lisp/org/org-rmail.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el index 12d2e6ef98..ad07a390a1 100644 --- a/lisp/org/org-table.el +++ b/lisp/org/org-table.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; @@ -1060,7 +1060,8 @@ However, when FORCE is non-nil, create new columns if necessary." (goto-line linepos) (org-table-goto-column colpos) (org-table-align) - (org-table-fix-formulas "$" nil (1- col) 1))) + (org-table-fix-formulas "$" nil (1- col) 1) + (org-table-fix-formulas "$LR" nil (1- col) 1))) (defun org-table-find-dataline () "Find a dataline in the current table, which is needed for column commands." @@ -1107,6 +1108,8 @@ However, when FORCE is non-nil, create new columns if necessary." (org-table-goto-column colpos) (org-table-align) (org-table-fix-formulas "$" (list (cons (number-to-string col) "INVALID")) + col -1 col) + (org-table-fix-formulas "$LR" (list (cons (number-to-string col) "INVALID")) col -1 col))) (defun org-table-move-column-right () @@ -1150,7 +1153,10 @@ However, when FORCE is non-nil, create new columns if necessary." (org-table-align) (org-table-fix-formulas "$" (list (cons (number-to-string col) (number-to-string colpos)) - (cons (number-to-string colpos) (number-to-string col)))))) + (cons (number-to-string colpos) (number-to-string col)))) + (org-table-fix-formulas + "$LR" (list (cons (number-to-string col) (number-to-string colpos)) + (cons (number-to-string colpos) (number-to-string col)))))) (defun org-table-move-row-down () "Move table row down." @@ -1717,7 +1723,9 @@ When NAMED is non-nil, look for a named equation." (org-table-current-column))) (refass (assoc ref stored-list)) (scol (if named - (if name name ref) + (if (and name (not (string-match "^LR[0-9]+$" name))) + name + ref) (int-to-string (org-table-current-column)))) (dummy (and (or name refass) (not named) (not (y-or-n-p "Replace field formula with column formula? " )) @@ -1826,8 +1834,9 @@ For all numbers larger than LIMIT, shift them by DELTA." (let ((re (concat key "\\([0-9]+\\)")) (re2 (when remove - (if (equal key "$") - (format "\\(@[0-9]+\\)?\\$%d=.*?\\(::\\|$\\)" remove) + (if (or (equal key "$") (equal key "$LR")) + (format "\\(@[0-9]+\\)?%s%d=.*?\\(::\\|$\\)" + (regexp-quote key) remove) (format "@%d\\$[0-9]+=.*?\\(::\\|$\\)" remove)))) s n a) (when remove @@ -1846,7 +1855,7 @@ For all numbers larger than LIMIT, shift them by DELTA." (save-excursion (let ((beg (org-table-begin)) (end (org-table-end)) names name fields fields1 field cnt - c v l line col types dlines hlines) + c v l line col types dlines hlines last-dline) (setq org-table-column-names nil org-table-local-parameters nil org-table-named-field-locations nil @@ -1897,8 +1906,24 @@ For all numbers larger than LIMIT, shift them by DELTA." (beginning-of-line 2) (setq l (1+ l))) (setq org-table-current-line-types (apply 'vector (nreverse types)) + last-dline (car dlines) org-table-dlines (apply 'vector (cons nil (nreverse dlines))) - org-table-hlines (apply 'vector (cons nil (nreverse hlines))))))) + org-table-hlines (apply 'vector (cons nil (nreverse hlines)))) + (goto-line last-dline) + (let* ((l last-dline) + (fields (org-split-string + (buffer-substring (point-at-bol) (point-at-eol)) + "|")) + (nfields (length fields)) + al al2) + (loop for i from 1 to nfields do + (push (list (format "LR%d" i) l i) al) + (push (cons (format "LR%d" i) (nth (1- i) fields)) al2)) + (setq org-table-named-field-locations + (append org-table-named-field-locations al)) + (setq org-table-local-parameters + (append org-table-local-parameters al2)))))) + (defun org-table-maybe-eval-formula () "Check if the current field starts with \"=\" or \":=\". diff --git a/lisp/org/org-timer.el b/lisp/org/org-timer.el index 42ff020ec2..790f69efb2 100644 --- a/lisp/org/org-timer.el +++ b/lisp/org/org-timer.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-vm.el b/lisp/org/org-vm.el index b0a76f3334..b87a9cace6 100644 --- a/lisp/org/org-vm.el +++ b/lisp/org/org-vm.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-w3m.el b/lisp/org/org-w3m.el index 8367ca6198..9b40710326 100644 --- a/lisp/org/org-w3m.el +++ b/lisp/org/org-w3m.el @@ -5,7 +5,7 @@ ;; Author: Andy Stewart ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-wl.el b/lisp/org/org-wl.el index 857a0b6ecd..1f23feca02 100644 --- a/lisp/org/org-wl.el +++ b/lisp/org/org-wl.el @@ -5,7 +5,7 @@ ;; Author: Tokuya Kameshima ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org.el b/lisp/org/org.el index 2461267e2b..2e2f953366 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 6.15d +;; Version: 6.16 ;; ;; This file is part of GNU Emacs. ;; @@ -92,7 +92,7 @@ ;;; Version -(defconst org-version "6.15d" +(defconst org-version "6.16" "The version number of the file org.el.") (defun org-version (&optional here) @@ -1340,10 +1340,11 @@ are matched against file names, and values." This is list of cons cells. Each cell contains: - a specification of the files to be considered, either a list of files, or a symbol whose function or variable value will be used to retrieve - a file name or a list of file names. Nil means, refile to a different - heading in the current buffer. -- A specification of how to find candidate refile targets. This may be - any of + a file name or a list of file names. If you use `org-agenda-files' for + that, all agenda files will be scanned for targets. Nil means, consider + headings in the current buffer. +- A specification of how to select find candidate refile targets. This + may be any of - a cons cell (:tag . \"TAG\") to identify refile targets by a tag. This tag has to be present in all target headlines, inheritance will not be considered. @@ -3420,6 +3421,9 @@ The following commands are available: (if (stringp org-ellipsis) org-ellipsis "...")))) (setq buffer-display-table org-display-table)) (org-set-regexps-and-options) + (when (and org-tag-faces (not org-tags-special-faces-re)) + ;; tag faces set outside customize.... force initialization. + (org-set-tag-faces 'org-tag-faces org-tag-faces)) ;; Calc embedded (org-set-local 'calc-embedded-open-mode "# ") (modify-syntax-entry ?# "<") @@ -5434,7 +5438,8 @@ Optional argument WITH-CASE means sort case-sensitively." (defvar org-priority-regexp) ; defined later in the file -(defun org-sort-entries-or-items (&optional with-case sorting-type getkey-func property) +(defun org-sort-entries-or-items + (&optional with-case sorting-type getkey-func compare-func property) "Sort entries on a certain level of an outline tree. If there is an active region, the entries in the region are sorted. Else, if the cursor is before the first entry, sort the top-level items. @@ -5614,6 +5619,7 @@ WITH-CASE, the sorting considers case as well." (cond ((= dcst ?a) 'string<) ((= dcst ?t) 'time-less-p) + ((= dcst ?f) compare-func) (t nil))))) (message "Sorting entries...done"))) @@ -6267,7 +6273,9 @@ For file links, arg negates `org-context-in-file-links'." (error nil))))) ;; We can make a link using the ID. (setq link (condition-case nil - (org-id-store-link) + (prog1 (org-id-store-link) + (setq desc (plist-get org-store-link-plist + :description))) (error ;; probably before first headline, link to file only (concat "file:" @@ -7501,6 +7509,7 @@ on the system \"/user@host:\"." (save-excursion (set-buffer (if (bufferp f) f (org-get-agenda-file-buffer f))) (if (bufferp f) (setq f (buffer-file-name (buffer-base-buffer f)))) + (setq f (expand-file-name f)) (save-excursion (save-restriction (widen) @@ -7664,7 +7673,8 @@ operation has put the subtree." 'org-olpath-completing-read 'org-ido-completing-read)) (extra (if org-refile-use-outline-path "/" "")) - (filename (buffer-file-name (buffer-base-buffer cbuf))) + (filename (expand-file-name + (buffer-file-name (buffer-base-buffer cbuf)))) (tbl (mapcar (lambda (x) (if (not (equal filename (nth 1 x))) @@ -9205,7 +9215,7 @@ only lines with a TODO keyword are included in the output." (if org-tags-match-list-sublevels (make-string (1- level) ?.) "") (org-get-heading)) - category tags-list) + category (org-get-tags-at)) priority (org-get-priority txt)) (goto-char lspos) (setq marker (org-agenda-new-marker)) @@ -11863,6 +11873,20 @@ Due to some yet unresolved reason, the global function "Switch-to: " nil t)) (or enabled (iswitchb-mode -1)))))) +;;;###autoload +(defun org-ido-switchb (&optional arg) + "Use `org-ido-completing-read' to prompt for an Org buffer to switch to. +With a prefix argument, restrict available to files. +With two prefix arguments, restrict available buffers to agenda files." + (interactive "P") + (let ((blist (cond ((equal arg '(4)) (org-buffer-list 'files)) + ((equal arg '(16)) (org-buffer-list 'agenda)) + (t (org-buffer-list))))) + (switch-to-buffer + (org-ido-completing-read "Org buffer: " + (mapcar 'buffer-name blist) + nil t)))) + (defun org-buffer-list (&optional predicate exclude-tmp) "Return a list of Org buffers. PREDICATE can be `export', `files' or `agenda'. -- 2.20.1