comparison lisp/gnus/rfc2047.el @ 72810:709ee6c1e02a

Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 136) - Update from CVS 2006-09-09 Reiner Steib <Reiner.Steib@gmx.de> * 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 <yamaoka@jpl.org> * 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 <Reiner.Steib@gmx.de> * 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
author Miles Bader <miles@gnu.org>
date Mon, 11 Sep 2006 14:45:20 +0000
parents d69718b12697
children ce127a46b1ca a1a25ac6c88a
comparison
equal deleted inserted replaced
72809:2e3600f9c992 72810:709ee6c1e02a
176 "Quote special characters with `\\'s in quoted strings. 176 "Quote special characters with `\\'s in quoted strings.
177 Quoting will not be done in a quoted string if it contains characters 177 Quoting will not be done in a quoted string if it contains characters
178 matching ENCODABLE-REGEXP." 178 matching ENCODABLE-REGEXP."
179 (goto-char (point-min)) 179 (goto-char (point-min))
180 (let ((tspecials (concat "[" ietf-drums-tspecials "]")) 180 (let ((tspecials (concat "[" ietf-drums-tspecials "]"))
181 beg) 181 beg end)
182 (with-syntax-table (standard-syntax-table) 182 (with-syntax-table (standard-syntax-table)
183 (while (search-forward "\"" nil t) 183 (while (search-forward "\"" nil t)
184 (unless (eq (char-before) ?\\) 184 (setq beg (match-beginning 0))
185 (setq beg (match-end 0)) 185 (unless (eq (char-before beg) ?\\)
186 (goto-char (match-beginning 0)) 186 (goto-char beg)
187 (setq beg (1+ beg))
187 (condition-case nil 188 (condition-case nil
188 (progn 189 (progn
189 (forward-sexp) 190 (forward-sexp)
190 (save-restriction 191 (setq end (1- (point)))
191 (narrow-to-region beg (1- (point))) 192 (goto-char beg)
192 (goto-char beg) 193 (if (and encodable-regexp
193 (unless (and encodable-regexp 194 (re-search-forward encodable-regexp end t))
194 (re-search-forward encodable-regexp nil t)) 195 (goto-char (1+ end))
196 (save-restriction
197 (narrow-to-region beg end)
195 (while (re-search-forward tspecials nil 'move) 198 (while (re-search-forward tspecials nil 'move)
196 (unless (and (eq (char-before) ?\\) ;; Already quoted. 199 (if (eq (char-before) ?\\)
197 (looking-at tspecials)) 200 (if (looking-at tspecials) ;; Already quoted.
201 (forward-char)
202 (insert "\\"))
198 (goto-char (match-beginning 0)) 203 (goto-char (match-beginning 0))
199 (unless (or (eq (char-before) ?\\) 204 (insert "\\")
200 (and rfc2047-encode-encoded-words 205 (forward-char))))
201 (eq (char-after) ??) 206 (forward-char)))
202 (eq (char-before) ?=)))
203 (insert "\\")))
204 (forward-char)))))
205 (error 207 (error
206 (goto-char beg)))))))) 208 (goto-char beg))))))))
207 209
208 (defvar rfc2047-encoding-type 'address-mime 210 (defvar rfc2047-encoding-type 'address-mime
209 "The type of encoding done by `rfc2047-encode-region'. 211 "The type of encoding done by `rfc2047-encode-region'.