Browse Source

New macro `org-with-buffer-modified-unmodified'

* org-macs.el (org-with-buffer-modified-unmodified): New
macro.

* org.el (org-entry-blocked-p): Use the new macro.

Thanks to Nick Dokos for reporting this.

The macro is a copy of `with-buffer-modified-unmodified'
which (wrongly?) lives in bookmark.el.
Bastien Guerry 12 years ago
parent
commit
14c3635a0d
2 changed files with 10 additions and 1 deletions
  1. 9 0
      lisp/org-macs.el
  2. 1 1
      lisp/org.el

+ 9 - 0
lisp/org-macs.el

@@ -126,6 +126,15 @@ Also, do not record undo information."
 	 (org-move-to-column ,col)))))
 (def-edebug-spec org-preserve-lc (body))
 
+;; Copied from bookmark.el
+(defmacro org-with-buffer-modified-unmodified (&rest body)
+  "Run BODY while preserving the buffer's `buffer-modified-p' state."
+  (org-with-gensyms (was-modified)
+    `(let ((,was-modified (buffer-modified-p)))
+       (unwind-protect
+           (progn ,@body)
+         (set-buffer-modified-p ,was-modified)))))
+
 (defmacro org-without-partial-completion (&rest body)
   `(if (and (boundp 'partial-completion-mode)
 	    partial-completion-mode

+ 1 - 1
lisp/org.el

@@ -11773,7 +11773,7 @@ changes because there are unchecked boxes in this entry."
 
 (defun org-entry-blocked-p ()
   "Is the current entry blocked?"
-  (with-buffer-modified-unmodified
+  (org-with-buffer-modified-unmodified
    (if (org-entry-get nil "NOBLOCKING")
        nil ;; Never block this entry
      (not