diff --git a/org-install.el b/org-install.el index bca8090d2..638b8f620 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" (18320 37851)) +;;;;;; org-cycle org-mode) "org" "org.el" (18320 41932)) ;;; Generated autoloads from org.el (autoload (quote org-mode) "org" "\ diff --git a/org.el b/org.el index d4b918f69..83f24b3f6 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.19 +;; Version: 5.19a ;; ;; This file is part of GNU Emacs. ;; @@ -84,7 +84,7 @@ ;;; Version -(defconst org-version "5.19" +(defconst org-version "5.19a" "The version number of the file org.el.") (defun org-version () (interactive) @@ -13601,7 +13601,7 @@ See also the variable `org-reverse-note-order'." (fastp org-default-notes-file) ((and org-remember-use-refile-when-interactive org-refile-targets) - nil) + org-default-notes-file) (t (org-get-org-file)))) (heading org-remember-default-headline) (visiting (and file (org-find-base-buffer-visiting file))) @@ -13647,7 +13647,7 @@ See also the variable `org-reverse-note-order'." (goto-char (point-min)) (when (and org-remember-use-refile-when-interactive (not fastp)) - (org-refile) + (org-refile nil (or visiting (find-file-noselect file))) (throw 'quit t)) ;; Find the file (if (not visiting) (find-file-noselect file)) @@ -13776,76 +13776,77 @@ See also the variable `org-reverse-note-order'." (defvar org-agenda-new-buffers nil "Buffers created to visit agenda files.") -(defun org-get-refile-targets () +(defun org-get-refile-targets (&optional default-buffer) "Produce a table with refile targets." (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 - ((null files) (setq files (list (current-buffer)))) - ((eq files 'org-agenda-files) - (setq files (org-agenda-files 'unrestricted))) - ((and (symbolp files) (fboundp files)) - (setq files (funcall files))) - ((and (symbolp files) (boundp files)) - (setq files (symbol-value files)))) - (if (stringp files) (setq files (list files))) - (cond - ((eq (car desc) :tag) - (setq descre (concat "^\\*+[ \t]+.*?:" (regexp-quote (cdr desc)) ":"))) - ((eq (car desc) :todo) - (setq descre (concat "^\\*+[ \t]+" (regexp-quote (cdr desc)) "[ \t]"))) - ((eq (car desc) :regexp) - (setq descre (cdr desc))) - ((eq (car desc) :level) - (setq descre (concat "^\\*\\{" (number-to-string - (if org-odd-levels-only - (1- (* 2 (cdr desc))) - (cdr desc))) - "\\}[ \t]"))) - ((eq (car desc) :maxlevel) - (setq descre (concat "^\\*\\{1," (number-to-string - (if org-odd-levels-only - (1- (* 2 (cdr desc))) - (cdr desc))) - "\\}[ \t]"))) - (t (error "Bad refiling target description %s" desc))) - (while (setq f (pop files)) - (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)))) + (with-current-buffer (or default-buffer (current-buffer)) + (while (setq entry (pop entries)) + (setq files (car entry) desc (cdr entry)) + (cond + ((null files) (setq files (list (current-buffer)))) + ((eq files 'org-agenda-files) + (setq files (org-agenda-files 'unrestricted))) + ((and (symbolp files) (fboundp files)) + (setq files (funcall files))) + ((and (symbolp files) (boundp files)) + (setq files (symbol-value files)))) + (if (stringp files) (setq files (list files))) + (cond + ((eq (car desc) :tag) + (setq descre (concat "^\\*+[ \t]+.*?:" (regexp-quote (cdr desc)) ":"))) + ((eq (car desc) :todo) + (setq descre (concat "^\\*+[ \t]+" (regexp-quote (cdr desc)) "[ \t]"))) + ((eq (car desc) :regexp) + (setq descre (cdr desc))) + ((eq (car desc) :level) + (setq descre (concat "^\\*\\{" (number-to-string + (if org-odd-levels-only + (1- (* 2 (cdr desc))) + (cdr desc))) + "\\}[ \t]"))) + ((eq (car desc) :maxlevel) + (setq descre (concat "^\\*\\{1," (number-to-string + (if org-odd-levels-only + (1- (* 2 (cdr desc))) + (cdr desc))) + "\\}[ \t]"))) + (t (error "Bad refiling target description %s" desc))) + (while (setq f (pop files)) (save-excursion - (save-restriction - (widen) - (goto-char (point-min)) - (while (re-search-forward descre nil t) - (goto-char (point-at-bol)) - (when (looking-at org-complex-heading-regexp) - (setq txt (match-string 4) - re (concat "^" (regexp-quote - (buffer-substring (match-beginning 1) - (match-end 4))))) - (if (match-end 5) (setq re (concat re "[ \t]+" - (regexp-quote - (match-string 5))))) - (setq re (concat re "[ \t]*$")) - (when org-refile-use-outline-path - (setq txt (mapconcat 'identity - (append - (if (eq org-refile-use-outline-path 'file) - (list (file-name-nondirectory - (buffer-file-name (buffer-base-buffer)))) - (if (eq org-refile-use-outline-path 'full-file-path) - (list (buffer-file-name (buffer-base-buffer))))) - (org-get-outline-path) - (list txt)) - "/"))) - (push (list txt f re (point)) targets)) - (goto-char (point-at-eol)))))))) - (org-release-buffers org-agenda-new-buffers) - (nreverse targets))) - + (set-buffer (if (bufferp f) f (org-get-agenda-file-buffer f))) + (if (bufferp f) (setq f (buffer-file-name (buffer-base-buffer f)))) + (save-excursion + (save-restriction + (widen) + (goto-char (point-min)) + (while (re-search-forward descre nil t) + (goto-char (point-at-bol)) + (when (looking-at org-complex-heading-regexp) + (setq txt (match-string 4) + re (concat "^" (regexp-quote + (buffer-substring (match-beginning 1) + (match-end 4))))) + (if (match-end 5) (setq re (concat re "[ \t]+" + (regexp-quote + (match-string 5))))) + (setq re (concat re "[ \t]*$")) + (when org-refile-use-outline-path + (setq txt (mapconcat 'identity + (append + (if (eq org-refile-use-outline-path 'file) + (list (file-name-nondirectory + (buffer-file-name (buffer-base-buffer)))) + (if (eq org-refile-use-outline-path 'full-file-path) + (list (buffer-file-name (buffer-base-buffer))))) + (org-get-outline-path) + (list txt)) + "/"))) + (push (list txt f re (point)) targets)) + (goto-char (point-at-eol)))))))) + (org-release-buffers org-agenda-new-buffers) + (nreverse targets)))) + (defun org-get-outline-path () (let (rtn) (save-excursion @@ -13857,7 +13858,7 @@ See also the variable `org-reverse-note-order'." (defvar org-refile-history nil "History for refiling operations.") -(defun org-refile (&optional reversed-or-update) +(defun org-refile (&optional reversed-or-update default-buffer) "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 @@ -13871,13 +13872,12 @@ variable for the duration of the command." (interactive "P") (if (equal reversed-or-update '(16)) (progn - (setq org-refile-target-table (org-get-refile-targets)) + (setq org-refile-target-table (org-get-refile-targets default-buffer)) (message "Refile targets updated (%d targets)" (length org-refile-target-table))) (when (or (not org-refile-target-table) - (and (= (length org-refile-targets) 1) - (not (caar org-refile-targets)))) - (setq org-refile-target-table (org-get-refile-targets))) + (assq nil org-refile-targets)) + (setq org-refile-target-table (org-get-refile-targets default-buffer))) (unless org-refile-target-table (error "No refile targets")) (let* ((cbuf (current-buffer)) diff --git a/org.pdf b/org.pdf index 9842217d3..06594d1c6 100644 Binary files a/org.pdf and b/org.pdf differ diff --git a/orgcard.pdf b/orgcard.pdf index 09cef34d2..97895f0b3 100644 Binary files a/orgcard.pdf and b/orgcard.pdf differ