mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Fix wrong behavior of 'outline-headers-as-kill' command (Bug#30209)
* outline.el (outline-headers-as-kill): Fix heading duplication.
This commit is contained in:
parent
a8be860e17
commit
fda58fbc24
1 changed files with 20 additions and 22 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue