]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix previous Org change.
authorGlenn Morris <rgm@gnu.org>
Thu, 19 Aug 2010 03:45:46 +0000 (20:45 -0700)
committerGlenn Morris <rgm@gnu.org>
Thu, 19 Aug 2010 03:45:46 +0000 (20:45 -0700)
* org.el (org-outline-overlay-data, org-set-outline-overlay-data)
(org-save-outline-visibility): Move to org-macs.
* org-macs.el (org-outline-overlay-data, org-set-outline-overlay-data)
(org-save-outline-visibility): Move here from org.el.
(show-all): Autoload it.
* ob.el: Don't require org when compiling.

lisp/org/ChangeLog
lisp/org/ob.el
lisp/org/org-macs.el
lisp/org/org.el

index 5b650492442724b874d394ba570a0df1f318f71b..c0b3fa567c655549b8a04d95eb5f3212434a9f96 100644 (file)
@@ -1,3 +1,12 @@
+2010-08-19  Glenn Morris  <rgm@gnu.org>
+
+       * org.el (org-outline-overlay-data, org-set-outline-overlay-data)
+       (org-save-outline-visibility): Move to org-macs.
+       * org-macs.el (org-outline-overlay-data, org-set-outline-overlay-data)
+       (org-save-outline-visibility): Move here from org.el.
+       (show-all): Autoload it.
+       * ob.el: Don't require org when compiling.
+
 2010-08-18  Glenn Morris  <rgm@gnu.org>
 
        * ob.el: Require org when compiling.
index 4ae3e4f662cec2d631a99bc4aeebaa8d331945db..a58fb4eca8a6e0f64617e71bfabfff7626edca7e 100644 (file)
@@ -30,8 +30,7 @@
 
 ;;; Code:
 (eval-when-compile
-  (require 'cl)
-  (require 'org))                  ; org-save-outline-visibility macro
+  (require 'cl))
 (require 'org-macs)
 
 (defvar org-babel-call-process-region-original)
index abcdcdc94ebeca6167334caa3f07a2f3f214f7c7..212fae4fcc9237f189e85e78402968eef294841d 100644 (file)
@@ -300,6 +300,66 @@ The number of levels is controlled by `org-inlinetask-min-level'"
           (nstars (if org-odd-levels-only (1- (* limit-level 2)) limit-level)))
       (format "\\*\\{1,%d\\} " nstars))))
 
+
+;;; Saving and restoring visibility
+
+(defun org-outline-overlay-data (&optional use-markers)
+  "Return a list of the locations of all outline overlays.
+The are overlays with the `invisible' property value `outline'.
+The return values is a list of cons cells, with start and stop
+positions for each overlay.
+If USE-MARKERS is set, return the positions as markers."
+  (let (beg end)
+    (save-excursion
+      (save-restriction
+       (widen)
+       (delq nil
+             (mapcar (lambda (o)
+                       (when (eq (overlay-get o 'invisible) 'outline)
+                         (setq beg (overlay-start o)
+                               end (overlay-end o))
+                         (and beg end (> end beg)
+                              (if use-markers
+                                  (cons (move-marker (make-marker) beg)
+                                        (move-marker (make-marker) end))
+                                (cons beg end)))))
+                     (overlays-in (point-min) (point-max))))))))
+
+(autoload 'show-all "outline" nil t)
+
+(defun org-set-outline-overlay-data (data)
+  "Create visibility overlays for all positions in DATA.
+DATA should have been made by `org-outline-overlay-data'."
+  (let (o)
+    (save-excursion
+      (save-restriction
+       (widen)
+       (show-all)
+       (mapc (lambda (c)
+               (setq o (make-overlay (car c) (cdr c)))
+               (overlay-put o 'invisible 'outline))
+             data)))))
+
+(defmacro org-save-outline-visibility (use-markers &rest body)
+  "Save and restore outline visibility around BODY.
+If USE-MARKERS is non-nil, use markers for the positions.
+This means that the buffer may change while running BODY,
+but it also means that the buffer should stay alive
+during the operation, because otherwise all these markers will
+point nowhere."
+  (declare (indent 1))
+  `(let ((data (org-outline-overlay-data ,use-markers)))
+     (unwind-protect
+        (progn
+          ,@body
+          (org-set-outline-overlay-data data))
+       (when ,use-markers
+        (mapc (lambda (c)
+                (and (markerp (car c)) (move-marker (car c) nil))
+                (and (markerp (cdr c)) (move-marker (cdr c) nil)))
+              data)))))
+
+
 (provide 'org-macs)
 
 ;; arch-tag: 7e6a73ce-aac9-4fc0-9b30-ce6f89dc6668
index 5b37e0aa260daba4b70c9795f7a6a9555e8a13bd..a2965e87d2234777887c45d4940e66f832d9ddb1 100644 (file)
@@ -6190,62 +6190,6 @@ Optional argument N means put the headline into the Nth line of the window."
     (beginning-of-line)
     (recenter (prefix-numeric-value N))))
 
-;;; Saving and restoring visibility
-
-(defun org-outline-overlay-data (&optional use-markers)
-  "Return a list of the locations of all outline overlays.
-The are overlays with the `invisible' property value `outline'.
-The return values is a list of cons cells, with start and stop
-positions for each overlay.
-If USE-MARKERS is set, return the positions as markers."
-  (let (beg end)
-    (save-excursion
-      (save-restriction
-       (widen)
-       (delq nil
-             (mapcar (lambda (o)
-                       (when (eq (overlay-get o 'invisible) 'outline)
-                         (setq beg (overlay-start o)
-                               end (overlay-end o))
-                         (and beg end (> end beg)
-                              (if use-markers
-                                  (cons (move-marker (make-marker) beg)
-                                        (move-marker (make-marker) end))
-                                (cons beg end)))))
-                     (overlays-in (point-min) (point-max))))))))
-
-(defun org-set-outline-overlay-data (data)
-  "Create visibility overlays for all positions in DATA.
-DATA should have been made by `org-outline-overlay-data'."
-  (let (o)
-    (save-excursion
-      (save-restriction
-       (widen)
-       (show-all)
-       (mapc (lambda (c)
-               (setq o (make-overlay (car c) (cdr c)))
-               (overlay-put o 'invisible 'outline))
-             data)))))
-
-(defmacro org-save-outline-visibility (use-markers &rest body)
-  "Save and restore outline visibility around BODY.
-If USE-MARKERS is non-nil, use markers for the positions.
-This means that the buffer may change while running BODY,
-but it also means that the buffer should stay alive
-during the operation, because otherwise all these markers will
-point nowhere."
-  (declare (indent 1))
-  `(let ((data (org-outline-overlay-data ,use-markers)))
-     (unwind-protect
-        (progn
-          ,@body
-          (org-set-outline-overlay-data data))
-       (when ,use-markers
-        (mapc (lambda (c)
-                (and (markerp (car c)) (move-marker (car c) nil))
-                (and (markerp (cdr c)) (move-marker (cdr c) nil)))
-              data)))))
-
 
 ;;; Folding of blocks