summaryrefslogtreecommitdiff
path: root/lisp/longlines.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/longlines.el')
-rw-r--r--lisp/longlines.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/longlines.el b/lisp/longlines.el
index 296b10cd652..85358207a2b 100644
--- a/lisp/longlines.el
+++ b/lisp/longlines.el
@@ -127,7 +127,7 @@ are indicated with a symbol."
;; longlines-wrap-lines that we'll never encounter from here
(save-restriction
(widen)
- (longlines-decode-region (point-min) (point-max)))
+ (longlines-decode-buffer))
(longlines-wrap-region (point-min) (point-max))
(set-buffer-modified-p mod))
(when (and longlines-show-hard-newlines
@@ -140,6 +140,7 @@ are indicated with a symbol."
(add-hook 'mail-citation-hook 'mail-indent-citation nil t))
(add-hook 'mail-citation-hook 'longlines-decode-region nil t))
((eq major-mode 'message-mode)
+ (add-hook 'message-setup-hook 'longlines-decode-buffer nil t)
(make-local-variable 'message-indent-citation-function)
(if (not (listp message-indent-citation-function))
(setq message-indent-citation-function
@@ -325,6 +326,10 @@ If BEG and END are nil, the point and mark are used."
(set-hard-newline-properties
(match-beginning 0) (match-end 0)))))
+(defun longlines-decode-buffer ()
+ "Turn all newlines in the buffer into hard newlines."
+ (longlines-decode-region (point-min) (point-max)))
+
(defun longlines-encode-region (beg end &optional buffer)
"Replace each soft newline between BEG and END with exactly one space.
Hard newlines are left intact. The optional argument BUFFER exists for