From 85a675b939b469984fa701b42fa11eae262ec732 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 1 Nov 2018 22:43:43 +0100 Subject: [PATCH] org-archive: Fix `org-all-archive-files' * lisp/org-archive.el (org-all-archive-files): Fix comparison function. Reported-by: Nils Gustafsson --- lisp/org-archive.el | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/lisp/org-archive.el b/lisp/org-archive.el index 3214d0994..8fc60c55d 100644 --- a/lisp/org-archive.el +++ b/lisp/org-archive.el @@ -160,20 +160,18 @@ archive file is." (defun org-all-archive-files () "Get a list of all archive files used in the current buffer." - (let ((case-fold-search t) - files) - (org-with-wide-buffer - (goto-char (point-min)) - (while (re-search-forward - "^[ \t]*\\(#\\+\\|:\\)ARCHIVE:[ \t]+\\(.*\\)" - nil t) - (when (save-match-data - (if (eq (match-string 1) ":") (org-at-property-p) - (eq (org-element-type (org-element-at-point)) 'keyword))) - (let ((file (org-extract-archive-file - (match-string-no-properties 2)))) - (when (and (org-string-nw-p file) (file-exists-p file)) - (push file files)))))) + (let (files) + (org-with-point-at 1 + (let ((regexp "^[ \t]*\\(#\\+\\|:\\)ARCHIVE:[ \t]+\\(.*\\)") + (case-fold-search t)) + (while (re-search-forward regexp nil t) + (when (save-match-data + (if (equal ":" (match-string 1)) (org-at-property-p) + (eq 'keyword (org-element-type (org-element-at-point))))) + (let ((file (org-extract-archive-file + (match-string-no-properties 2)))) + (when (and (org-string-nw-p file) (file-exists-p file)) + (push file files))))))) (setq files (nreverse files)) (let ((file (org-extract-archive-file))) (when (and (org-string-nw-p file) (file-exists-p file))