From 3995f4816ba400f5c7645f84b5dcf7e84698d604 Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen Date: Fri, 23 May 2014 16:52:58 +0800 Subject: [PATCH] Warn users of malformed property drawers org.el (org-buffer-property-keys): When scanning the buffer for valid property keys, give users a chance to repair any malformed property drawers. --- lisp/org.el | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index b16515e..a3f0cba 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -15712,12 +15712,17 @@ formats in the current buffer." (widen) (goto-char (point-min)) (while (re-search-forward org-property-start-re nil t) - (setq range (org-get-property-block)) - (goto-char (car range)) - (while (re-search-forward org-property-re - (cdr range) t) - (add-to-list 'rtn (org-match-string-no-properties 2))) - (outline-next-heading)))) + (catch 'cont + (setq range (or (org-get-property-block) + (if (y-or-n-p + (format "Malformed drawer at %d, repair?" (point))) + (org-get-property-block nil nil t) + (throw 'cont nil)))) + (goto-char (car range)) + (while (re-search-forward org-property-re + (cdr range) t) + (add-to-list 'rtn (org-match-string-no-properties 2))) + (outline-next-heading))))) (when include-specials (setq rtn (append org-special-properties rtn))) -- 1.9.3