From b110774acbba4db95baf6c666769f3bc2a0269b6 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Mon, 11 Sep 2006 14:45:20 +0000 Subject: Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 136) - Update from CVS 2006-09-09 Reiner Steib * lisp/gnus/pop3.el (pop3-leave-mail-on-server): Mention problem of duplicate mails in the doc string. Add some URLs in comment. 2006-09-07 Katsumi Yamaoka * lisp/gnus/rfc2047.el (rfc2047-quote-special-characters-in-quoted-strings): Fix backslashes handling and the way to find boundaries of quoted strings. 2006-09-09 Reiner Steib * man/gnus.texi (Mail Source Specifiers): Mention problem of duplicate mails with pop3-leave-mail-on-server. Fix wording. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-431 --- lisp/gnus/rfc2047.el | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) (limited to 'lisp/gnus/rfc2047.el') diff --git a/lisp/gnus/rfc2047.el b/lisp/gnus/rfc2047.el index cda7979252f..40b10c07eb4 100644 --- a/lisp/gnus/rfc2047.el +++ b/lisp/gnus/rfc2047.el @@ -178,30 +178,32 @@ Quoting will not be done in a quoted string if it contains characters matching ENCODABLE-REGEXP." (goto-char (point-min)) (let ((tspecials (concat "[" ietf-drums-tspecials "]")) - beg) + beg end) (with-syntax-table (standard-syntax-table) (while (search-forward "\"" nil t) - (unless (eq (char-before) ?\\) - (setq beg (match-end 0)) - (goto-char (match-beginning 0)) + (setq beg (match-beginning 0)) + (unless (eq (char-before beg) ?\\) + (goto-char beg) + (setq beg (1+ beg)) (condition-case nil (progn (forward-sexp) - (save-restriction - (narrow-to-region beg (1- (point))) - (goto-char beg) - (unless (and encodable-regexp - (re-search-forward encodable-regexp nil t)) + (setq end (1- (point))) + (goto-char beg) + (if (and encodable-regexp + (re-search-forward encodable-regexp end t)) + (goto-char (1+ end)) + (save-restriction + (narrow-to-region beg end) (while (re-search-forward tspecials nil 'move) - (unless (and (eq (char-before) ?\\) ;; Already quoted. - (looking-at tspecials)) + (if (eq (char-before) ?\\) + (if (looking-at tspecials) ;; Already quoted. + (forward-char) + (insert "\\")) (goto-char (match-beginning 0)) - (unless (or (eq (char-before) ?\\) - (and rfc2047-encode-encoded-words - (eq (char-after) ??) - (eq (char-before) ?=))) - (insert "\\"))) - (forward-char))))) + (insert "\\") + (forward-char)))) + (forward-char))) (error (goto-char beg)))))))) -- cgit v1.2.3