diff lisp/gnus/rfc2047.el @ 90601:a1a25ac6c88a

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 427-436) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 134-136) - Merge from emacs--devo--0 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-110
author Miles Bader <miles@gnu.org>
date Thu, 14 Sep 2006 09:24:00 +0000
parents c358d0861b16 709ee6c1e02a
children 53a222d8d8e8
line wrap: on
line diff
--- a/lisp/gnus/rfc2047.el	Wed Sep 06 07:30:39 2006 +0000
+++ b/lisp/gnus/rfc2047.el	Thu Sep 14 09:24:00 2006 +0000
@@ -178,30 +178,32 @@
 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))))))))