Quellcode durchsuchen

Make `org-save-outline-visibility' macro return a useful value

Modified from a patch by Paul Sexton
Carsten Dominik vor 15 Jahren
Ursprung
Commit
d8625e809f
1 geänderte Dateien mit 5 neuen und 3 gelöschten Zeilen
  1. 5 3
      lisp/org-macs.el

+ 5 - 3
lisp/org-macs.el

@@ -323,16 +323,18 @@ but it also means that the buffer should stay alive
 during the operation, because otherwise all these markers will
 during the operation, because otherwise all these markers will
 point nowhere."
 point nowhere."
   (declare (indent 1))
   (declare (indent 1))
-  `(let ((data (org-outline-overlay-data ,use-markers)))
+  `(let ((data (org-outline-overlay-data ,use-markers))
+	 rtn)
      (unwind-protect
      (unwind-protect
 	 (progn
 	 (progn
-	   ,@body
+	   (setq rtn (progn ,@body))
 	   (org-set-outline-overlay-data data))
 	   (org-set-outline-overlay-data data))
        (when ,use-markers
        (when ,use-markers
 	 (mapc (lambda (c)
 	 (mapc (lambda (c)
 		 (and (markerp (car c)) (move-marker (car c) nil))
 		 (and (markerp (car c)) (move-marker (car c) nil))
 		 (and (markerp (cdr c)) (move-marker (cdr c) nil)))
 		 (and (markerp (cdr c)) (move-marker (cdr c) nil)))
-	       data)))))
+	       data)))
+     rtn))
 
 
 (defmacro org-with-wide-buffer (&rest body)
 (defmacro org-with-wide-buffer (&rest body)
  "Execute body while temporarily widening the buffer."
  "Execute body while temporarily widening the buffer."