Improve stability of message-hide-headers

* message.el (message-hide-headers): Use a pointer instead of tracking
the "end-of-headers" point manually (bug#53991).
This commit is contained in:
Philip Kaludercic 2022-02-14 11:51:06 +01:00 committed by Lars Ingebrigtsen
parent 9844b152a5
commit 35bb4c1c3c

View file

@ -8625,26 +8625,23 @@ From headers in the original article."
message-hidden-headers))
(inhibit-point-motion-hooks t)
(inhibit-modification-hooks t)
(end-of-headers (point-min)))
end-of-headers)
(when regexps
(save-excursion
(save-restriction
(message-narrow-to-headers)
(setq end-of-headers (point-min-marker))
(goto-char (point-min))
(while (not (eobp))
(if (not (message-hide-header-p regexps))
(message-next-header)
(let ((begin (point))
header header-len)
(let ((begin (point)))
(message-next-header)
(setq header (buffer-substring begin (point))
header-len (- (point) begin))
(delete-region begin (point))
(goto-char end-of-headers)
(insert header)
(setq end-of-headers
(+ end-of-headers header-len))))))))
(narrow-to-region end-of-headers (point-max))))
(let ((header (delete-and-extract-region begin (point))))
(save-excursion
(goto-char end-of-headers)
(insert-before-markers header))))))))
(narrow-to-region end-of-headers (point-max)))))
(defun message-hide-header-p (regexps)
(let ((result nil)