* gnus-idna.el (gnus-idna-to-ascii-rhs-1): Narrow to
authorSimon Josefsson <jas@extundo.com>
Fri, 7 Mar 2003 19:29:25 +0000 (19:29 +0000)
committerSimon Josefsson <jas@extundo.com>
Fri, 7 Mar 2003 19:29:25 +0000 (19:29 +0000)
head (otherwise forwarded mail break havoc).

contrib/ChangeLog
contrib/gnus-idna.el

index f15c151..f10609a 100644 (file)
@@ -1,3 +1,8 @@
+2003-03-07  Simon Josefsson  <jas@extundo.com>
+
+       * gnus-idna.el (gnus-idna-to-ascii-rhs-1): Narrow to
+       head (otherwise forwarded mail break havoc).
+
 2003-03-07  Teodor Zlatanov  <tzz@bwh.harvard.edu>
 
        * hashcash.el: New version from Paul Foley with better variable
index e11d3a0..32eb2f8 100644 (file)
 
 (defun gnus-idna-to-ascii-rhs-1 (header)
   (save-excursion
-    (let (address header-data new-header-data rhs ace)
-      (setq header-data (message-fetch-field header))
-      (when header-data
-       (dolist (element (message-tokenize-header header-data))
-         (setq address (car (rfc822-addresses element)))
-         (when (string-match "\\(.*\\)@\\([^@]+\\)" address)
-           (setq ace (if (setq rhs (match-string 2 address))
-                         (idna-to-ascii rhs)))
-           (push (if (string= rhs ace)
-                     element
-                   (gnus-replace-in-string element (regexp-quote rhs) ace t))
-                 new-header-data)))
-       (message-remove-header header)
-       (message-position-on-field header)
-       (dolist (addr (reverse new-header-data))
-         (insert addr ", "))
-       (when new-header-data
-         (delete-backward-char 2))))))
+    (save-restriction
+      (let (address header-data new-header-data rhs ace)
+       (message-narrow-to-head)
+       (setq header-data (message-fetch-field header))
+       (when header-data
+         (dolist (element (message-tokenize-header header-data))
+           (setq address (car (rfc822-addresses element)))
+           (when (string-match "\\(.*\\)@\\([^@]+\\)" address)
+             (setq ace (if (setq rhs (match-string 2 address))
+                           (idna-to-ascii rhs)))
+             (push (if (string= rhs ace)
+                       element
+                     (gnus-replace-in-string
+                      element (regexp-quote rhs) ace t))
+                   new-header-data)))
+         (message-remove-header header)
+         (message-position-on-field header)
+         (dolist (addr (reverse new-header-data))
+           (insert addr ", "))
+         (when new-header-data
+           (delete-backward-char 2)))))))
 
 (defun gnus-idna-to-ascii-rhs ()
   (gnus-idna-to-ascii-rhs-1 "From")