[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)