emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master fda58fb 1/3: Fix wrong behavior of 'outline-headers


From: Noam Postavsky
Subject: [Emacs-diffs] master fda58fb 1/3: Fix wrong behavior of 'outline-headers-as-kill' command (Bug#30209)
Date: Sat, 10 Mar 2018 21:03:26 -0500 (EST)

branch: master
commit fda58fbc245a3f6f6722261ffb2e2262231bd4ea
Author: Dmitry Safronov <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Fix wrong behavior of 'outline-headers-as-kill' command (Bug#30209)
    
    * outline.el (outline-headers-as-kill): Fix heading duplication.
---
 lisp/outline.el | 42 ++++++++++++++++++++----------------------
 1 file changed, 20 insertions(+), 22 deletions(-)

diff --git a/lisp/outline.el b/lisp/outline.el
index 7cf56ab..669935b 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -1100,28 +1100,26 @@ convenient way to make a table of contents of the 
buffer."
     (save-restriction
       (narrow-to-region beg end)
       (goto-char (point-min))
-      (let ((buffer (current-buffer))
-           start end)
-       (with-temp-buffer
-         (with-current-buffer buffer
-           ;; Boundary condition: starting on heading:
-           (when (outline-on-heading-p)
-             (outline-back-to-heading)
-             (setq start (point)
-                   end (progn (outline-end-of-heading)
-                              (point)))
-             (insert-buffer-substring buffer start end)
-             (insert "\n\n")))
-         (let ((temp-buffer (current-buffer)))
-           (with-current-buffer buffer
-             (while (outline-next-heading)
-               (unless (outline-invisible-p)
-                 (setq start (point)
-                       end (progn (outline-end-of-heading) (point)))
-                 (with-current-buffer temp-buffer
-                   (insert-buffer-substring buffer start end)
-                   (insert "\n\n"))))))
-         (kill-new (buffer-string)))))))
+      (let ((buffer (current-buffer)) start end)
+        (with-temp-buffer
+          (let ((temp-buffer (current-buffer)))
+            (with-current-buffer buffer
+              ;; Boundary condition: starting on heading:
+              (when (outline-on-heading-p)
+                (outline-back-to-heading)
+                (setq start (point)
+                      end (progn (outline-end-of-heading) (point)))
+                (with-current-buffer temp-buffer
+                  (insert-buffer-substring buffer start end)
+                  (insert "\n\n")))
+              (while (outline-next-heading)
+                (unless (outline-invisible-p)
+                  (setq start (point)
+                        end (progn (outline-end-of-heading) (point)))
+                  (with-current-buffer temp-buffer
+                    (insert-buffer-substring buffer start end)
+                    (insert "\n\n"))))))
+          (kill-new (buffer-string)))))))
 
 (provide 'outline)
 (provide 'noutline)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]