From ebd3f61a569f256f926828017f500cc74e6878bc Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Sat, 13 Jul 2019 01:09:19 +0200 Subject: [PATCH] Fold rfc2047 headers correctly when narrowed to header value * lisp/mail/rfc2047.el (rfc2047-fold-region): Fold headers correctly if narrowed to the header value. --- lisp/mail/rfc2047.el | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lisp/mail/rfc2047.el b/lisp/mail/rfc2047.el index e3315120d82..a02201ec323 100644 --- a/lisp/mail/rfc2047.el +++ b/lisp/mail/rfc2047.el @@ -732,12 +732,19 @@ Point moves to the end of the region." (save-restriction (narrow-to-region b e) (goto-char (point-min)) - (let ((break nil) - (qword-break nil) - (first t) - (bol (save-restriction - (widen) - (point-at-bol)))) + (let* ((break nil) + (qword-break nil) + (bol (save-restriction + (widen) + (line-beginning-position))) + ;; This function is either called with the Header: name in + ;; the region or not. If it's not in the region, then we + ;; may already have a space. + (first (or (= bol (point)) + (save-restriction + (widen) + (save-excursion + (not (re-search-backward "[ \t]" bol t))))))) (while (not (eobp)) (when (and (or break qword-break) (> (- (point) bol) 76)) -- 2.39.2