From 6eb9827d53fd40927dbca3856dd3d18e051a6b39 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Sep 2014 23:19:22 +0200 Subject: [PATCH] org-element: Fix cache error on empty drawers * lisp/org-element.el (org-element--cache-for-removal): Handle case when greater element is totally empty. Thanks to Malcolm Purvis for reporting it. http://permalink.gmane.org/gmane.emacs.orgmode/90639 --- lisp/org-element.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/org-element.el b/lisp/org-element.el index f175fbc50..484c37703 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -5492,8 +5492,10 @@ changes." (if (and (memq (org-element-type up) '(center-block drawer dynamic-block quote-block special-block)) - (<= (org-element-property :contents-begin up) beg) - (> (org-element-property :contents-end up) end)) + (let ((cbeg (org-element-property :contents-begin up))) + (and cbeg + (<= cbeg beg) + (> (org-element-property :contents-end up) end)))) ;; UP is a robust greater element containing changes. ;; We only need to extend its ending boundaries. (org-element--cache-shift-positions -- 2.11.4.GIT