summaryrefslogtreecommitdiff
path: root/lisp/gnus
diff options
context:
space:
mode:
authorKatsumi Yamaoka <yamaoka@jpl.org>2012-07-27 08:01:44 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2012-07-27 08:01:44 +0000
commit0000d0d54bb9cbc835172d9f5f8ff7595786af62 (patch)
treeee95719f03acc3c36bf1de551199ab2b201fe9ab /lisp/gnus
parent86332df22ae3934334c7ced64aa6aedd5767b121 (diff)
downloademacs-0000d0d54bb9cbc835172d9f5f8ff7595786af62.tar.gz
message.el: Make header fill function work properly
Diffstat (limited to 'lisp/gnus')
-rw-r--r--lisp/gnus/ChangeLog6
-rw-r--r--lisp/gnus/message.el31
2 files changed, 24 insertions, 13 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 83cb55d3594..80ede10c8c4 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,9 @@
+2012-07-27 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * message.el (message-kill-address): Don't kill last newline.
+ (message-skip-to-next-address): Don't move to the next header.
+ (message-fill-field-address): Work properly.
+
2012-07-25 Julien Danjou <julien@danjou.info>
* gnus-art.el (gnus-kill-sticky-article-buffers): Reintroduce.
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index ecc797314c4..e56a6c6d078 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -2603,7 +2603,7 @@ Point is left at the beginning of the narrowed-to region."
(interactive)
(let ((start (point)))
(message-skip-to-next-address)
- (kill-region start (point))))
+ (kill-region start (if (bolp) (1- (point)) (point)))))
(autoload 'Info-goto-node "info")
@@ -6099,7 +6099,7 @@ Headers already prepared in the buffer are not modified."
(while (and (not (= (point) end))
(or (not (eq char ?,))
quoted))
- (skip-chars-forward "^,\"" (point-max))
+ (skip-chars-forward "^,\"" end)
(when (eq (setq char (following-char)) ?\")
(setq quoted (not quoted)))
(unless (= (point) end)
@@ -6136,17 +6136,22 @@ If the current line has `message-yank-prefix', insert it on the new line."
(point-max))))
(defun message-fill-field-address ()
- (while (not (eobp))
- (message-skip-to-next-address)
- (let (last)
- (if (and (> (current-column) 78)
- last)
- (progn
- (save-excursion
- (goto-char last)
- (insert "\n\t"))
- (setq last (1+ (point))))
- (setq last (1+ (point)))))))
+ (let (end last)
+ (while (not end)
+ (message-skip-to-next-address)
+ (cond ((bolp)
+ (end-of-line 0)
+ (setq end 1))
+ ((eobp)
+ (setq end 0)))
+ (when (and (> (current-column) 78)
+ last)
+ (save-excursion
+ (goto-char last)
+ (delete-char (- (skip-chars-backward " \t")))
+ (insert "\n\t")))
+ (setq last (point)))
+ (forward-line end)))
(defun message-fill-field-general ()
(let ((begin (point))