diff options
Diffstat (limited to 'lisp/gnus')
-rw-r--r-- | lisp/gnus/ChangeLog | 19 | ||||
-rw-r--r-- | lisp/gnus/gnus-art.el | 6 | ||||
-rw-r--r-- | lisp/gnus/message.el | 33 | ||||
-rw-r--r-- | lisp/gnus/rfc2231.el | 14 |
4 files changed, 52 insertions, 20 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 71aa3654da6..1eec8b26fdf 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,22 @@ +2006-06-20 Katsumi Yamaoka <yamaoka@jpl.org> + + * rfc2231.el (rfc2231-parse-string): Allow `*'s in parameter values. + +2006-06-19 Katsumi Yamaoka <yamaoka@jpl.org> + + * message.el (message-syntax-checks): Doc fix. + +2006-06-16 Katsumi Yamaoka <yamaoka@jpl.org> + + * message.el (message-syntax-checks): Doc fix. + (message-send-mail): Add check for continuation headers. + (message-check-news-header-syntax): Fix regexp used to check for + continuation headers. + +2006-06-14 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus-art.el (gnus-display-mime): Make sure body ends with newline. + 2006-06-06 Katsumi Yamaoka <yamaoka@jpl.org> * mm-util.el (mm-mime-mule-charset-alist): Use unicode-precedence-list diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 4722e98ef19..39292e33a1f 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -4927,7 +4927,11 @@ N is the numerical prefix." (article-goto-body) (narrow-to-region (point-min) (point)) (gnus-article-save-original-date - (gnus-treat-article 'head))))))))) + (gnus-treat-article 'head))))))) + ;; Cope with broken MIME messages. + (goto-char (point-max)) + (unless (bolp) + (insert "\n")))) (defcustom gnus-mime-display-multipart-as-mixed nil "Display \"multipart\" parts as \"multipart/mixed\". diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 8bc0f704b5c..4ee87933967 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -190,14 +190,13 @@ To disable checking of long signatures, for instance, add Don't touch this variable unless you really know what you're doing. -Checks include `subject-cmsg', `multiple-headers', `sendsys', -`message-id', `from', `long-lines', `control-chars', `size', -`new-text', `quoting-style', `redirected-followup', `signature', -`approved', `sender', `empty', `empty-headers', `message-id', `from', -`subject', `shorten-followup-to', `existing-newsgroups', -`buffer-file-name', `unchanged', `newsgroups', `reply-to', -`continuation-headers', `long-header-lines', `invisible-text' and -`illegible-text'." +Checks include `approved', `continuation-headers', `control-chars', +`empty', `existing-newsgroups', `from', `illegible-text', +`invisible-text', `long-header-lines', `long-lines', `message-id', +`multiple-headers', `new-text', `newsgroups', `quoting-style', +`repeated-newsgroups', `reply-to', `sender', `sendsys', `shoot', +`shorten-followup-to', `signature', `size', `subject', `subject-cmsg' +and `valid-newsgroups'." :group 'message-news :type '(repeat sexp)) ; Fixme: improve this @@ -3769,6 +3768,16 @@ It should typically alter the sending method in some way or other." (let ((message-deletable-headers (if news nil message-deletable-headers))) (message-generate-headers headers)) + ;; Check continuation headers. + (message-check 'continuation-headers + (goto-char (point-min)) + (while (re-search-forward "^[^ \t\n][^ \t\n:]*[ \t\n]" nil t) + (goto-char (match-beginning 0)) + (if (y-or-n-p "Fix continuation lines? ") + (insert " ") + (forward-line 1) + (unless (y-or-n-p "Send anyway? ") + (error "Failed to send the message"))))) ;; Let the user do all of the above. (run-hooks 'message-header-hook)) (unwind-protect @@ -4326,11 +4335,11 @@ Otherwise, generate and save a value for `canlock-password' first." (message-check 'continuation-headers (goto-char (point-min)) (let ((do-posting t)) - (while (re-search-forward "^[^ \t\n][^:\n]*$" nil t) + (while (re-search-forward "^[^ \t\n][^ \t\n:]*[ \t\n]" nil t) + (goto-char (match-beginning 0)) (if (y-or-n-p "Fix continuation lines? ") - (progn - (goto-char (match-beginning 0)) - (insert " ")) + (insert " ") + (forward-line 1) (unless (y-or-n-p "Send anyway? ") (setq do-posting nil)))) do-posting)) diff --git a/lisp/gnus/rfc2231.el b/lisp/gnus/rfc2231.el index a5827ecb70c..284c95fc151 100644 --- a/lisp/gnus/rfc2231.el +++ b/lisp/gnus/rfc2231.el @@ -176,14 +176,14 @@ must never cause a Lisp error." (buffer-substring (point) (progn - (forward-sexp) - ;; We might not have reached at the end of - ;; the value because of non-ascii chars, - ;; so we should jump over them if any. - (while (and (not (eobp)) - (> (char-after) ?\177)) + ;; Jump over asterisk, non-ASCII + ;; and non-boundary characters. + (while (and c + (or (eq c ?*) + (> c ?\177) + (not (eq (char-syntax c) ? )))) (forward-char 1) - (forward-sexp)) + (setq c (char-after))) (point))))) (t (error "Invalid header: %s" string))) |