summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog2
-rw-r--r--lisp/longlines.el7
2 files changed, 8 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 28108231a61..57d6d885534 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -3,6 +3,8 @@
* longlines.el (longlines-before-revert-hook)
(longlines-after-revert-hook): New functions.
(longlines-mode): Turn off longlines temporarily when reverting.
+ Add a message-setup-hook.
+ (longlines-decode-buffer): New function.
2005-11-19 Andreas Schwab <schwab@suse.de>
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