Synch to No Gnus 200501152113.
authoryamaoka <yamaoka>
Sat, 15 Jan 2005 23:39:54 +0000 (23:39 +0000)
committeryamaoka <yamaoka>
Sat, 15 Jan 2005 23:39:54 +0000 (23:39 +0000)
GNUS-NEWS
lisp/ChangeLog
lisp/gnus-sum.el
lisp/message.el
texi/ChangeLog
texi/gnus-ja.texi
texi/gnus-news.texi
texi/gnus.texi

index 3d020cf..41677ff 100644 (file)
--- a/GNUS-NEWS
+++ b/GNUS-NEWS
@@ -47,6 +47,9 @@ inline PGP signed messages.
 ANSI sequences are used in some Chinese hierarchies for highlighting
 articles (`gnus-article-treat-ansi-sequences').
 
+** International host names (IDNA) can now be decoded inside article
+bodies using `W i' (`gnus-summary-idna-message').
+
 ** Gnus includes an Emacs Lisp SASL library.
 
 This provide a clean API to SASL mechanisms from within Emacs.  The
index 7f86a09..dff0c5e 100644 (file)
@@ -1,3 +1,13 @@
+2005-01-15  Simon Josefsson  <jas@extundo.com>
+
+       * message.el (message-idna-to-ascii-rhs): Decode Reply-To too.
+       Suggested by Raymond Scholz <ray-2005@zonix.de>.
+
+       * gnus-sum.el (gnus-summary-wash-map): Bind "W i" to
+       gnus-summary-idna-message.
+       (gnus-summary-make-menu-bar): Add De-IDNA menu entry.
+       (gnus-summary-idna-message): New function.
+
 2005-01-13  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * gnus-msg.el (gnus-confirm-mail-reply-to-news): Change default to
index 76ee009..4607132 100644 (file)
@@ -1,5 +1,5 @@
-;;; gnus-sum.el --- summary mode commands for Semi-gnus
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+;;; gnus-sum.el --- summary mode commands for gnus
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 ;;        Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -1960,7 +1960,8 @@ increase the score of each group you read."
   "m" gnus-summary-toggle-mime
   "a" gnus-article-strip-headers-in-body ;; mnemonic: wash archive
   "p" gnus-article-verify-x-pgp-sig
-  "d" gnus-article-treat-dumbquotes)
+  "d" gnus-article-treat-dumbquotes
+  "i" gnus-summary-idna-message)
 
 (gnus-define-keys (gnus-summary-wash-deuglify-map "Y" gnus-summary-wash-map)
   ;; mnemonic: deuglif*Y*
@@ -2250,6 +2251,7 @@ gnus-summary-show-article-from-menu-as-charset-%s" cs))))
              ["Rot 13" gnus-summary-caesar-message
               ,@(if (featurep 'xemacs) '(t)
                   '(:help "\"Caesar rotate\" article by 13"))]
+             ["De-IDNA" gnus-summary-idna-message t]
              ["Morse decode" gnus-summary-morse-message t]
              ["Unix pipe..." gnus-summary-pipe-message t]
              ["Add buttons" gnus-article-add-buttons t]
@@ -9072,6 +9074,23 @@ forward."
          (message-caesar-buffer-body arg)
          (set-window-start (get-buffer-window (current-buffer)) start))))))
 
+(defun gnus-summary-idna-message (&optional arg)
+  "Decode IDNA encoded domain names in the current articles.
+IDNA encoded domain names looks like `xn--bar'.  If a string
+remain unencoded after running this function, it is likely an
+invalid IDNA string (`xn--bar' is invalid)."
+  (interactive "P")
+  (gnus-summary-select-article)
+  (let ((mail-header-separator ""))
+    (gnus-eval-in-buffer-window gnus-article-buffer
+      (save-restriction
+       (widen)
+       (let ((start (window-start))
+             buffer-read-only)
+         (while (re-search-forward "\\(xn--[-0-9a-z]+\\)" nil t)
+           (replace-match (idna-to-unicode (match-string 1))))
+         (set-window-start (get-buffer-window (current-buffer)) start))))))
+
 (autoload 'unmorse-region "morse"
   "Convert morse coded text in region to ordinary ASCII text."
   t)
index 55d5f2d..3d1188d 100644 (file)
@@ -1,5 +1,5 @@
 ;;; message.el --- composing mail and news messages
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 ;;        Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -5610,6 +5610,7 @@ See `message-idna-encode'."
        (message-narrow-to-head)
        (message-idna-to-ascii-rhs-1 "From")
        (message-idna-to-ascii-rhs-1 "To")
+       (message-idna-to-ascii-rhs-1 "Reply-To")
        (message-idna-to-ascii-rhs-1 "Cc")))))
 
 (defun message-generate-headers (headers)
index ffe6a6e..33b26ca 100644 (file)
@@ -1,3 +1,13 @@
+2005-01-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Topic Commands): Fix next/previous.
+
+2005-01-15  Simon Josefsson  <jas@extundo.com>
+
+       * gnus.texi (Article Washing): Mention `W i'.
+
+       * gnus-news.texi: Mention De-IDNA washing.
+
 2005-01-06  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * message.texi (Reply): `message-reply-to-function' should return
index 072a363..6cd5da9 100644 (file)
@@ -8,7 +8,7 @@
 
 @copying
 Copyright \copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004
+2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 @quotation
@@ -8151,6 +8151,14 @@ gnus \e$B$,5-;v$rI=<($9$k4{Dj$N$d$jJ}$rJQ$($?$$$H$-\e(B
 @findex gnus-summary-morse-message
 \e$B5-;v%P%C%U%!$r%b!<%k%9I|9f$7$^$9\e(B (@code{gnus-summary-morse-message})\e$B!#\e(B
 
+@item W i
+@kindex W i (\e$B35N,\e(B)
+@findex gnus-summary-idna-message
+\e$B8=:_$N5-;v$K$"$k\e(B IDNA \e$B%(%s%3!<%I$5$l$?%I%a%$%sL>$r%G%3!<%I$7$^$9!#\e(B
+IDNA \e$B%(%s%3!<%I$5$l$?%I%a%$%sL>$O\e(B @samp{xn--bar} \e$B$N$h$&$K8+$($^$9!#$3$l\e(B
+\e$B$r<B9T$7$?8e$GJ8;zNs$,%G%3!<%I$5$l$J$$$^$^$@$C$?$i!"$*$=$i$/$=$l$OIT@5\e(B
+\e$B$J\e(B IDNA \e$BJ8;zNs$G$7$g$&\e(B (@samp{xn--bar} \e$B$OIT@5$G$9\e(B)\e$B!#\e(B
+
 @item W t
 @item t
 @kindex W t (\e$B35N,\e(B)
index a5d072b..21f90df 100644 (file)
@@ -60,6 +60,10 @@ using @kbd{W A}.
 @acronym{ANSI} sequences are used in some Chinese hierarchies for
 highlighting articles (@code{gnus-article-treat-ansi-sequences}).
 
+@item International host names (@acronym{IDNA}) can now be decoded
+inside article bodies using @kbd{W i}
+(@code{gnus-summary-idna-message}).
+
 @item Gnus includes an Emacs Lisp @acronym{SASL} library.
 
 This provide a clean @acronym{API} to @acronym{SASL} mechanisms from
index dccb348..eac652c 100644 (file)
@@ -10,7 +10,7 @@
 
 @copying
 Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004
+2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 @quotation
@@ -3807,7 +3807,7 @@ Go to the next topic (@code{gnus-topic-goto-next-topic}).
 @item T M-p
 @kindex T M-p (Topic)
 @findex gnus-topic-goto-previous-topic
-Go to the next topic (@code{gnus-topic-goto-previous-topic}).
+Go to the previous topic (@code{gnus-topic-goto-previous-topic}).
 
 @item G p
 @kindex G p (Topic)
@@ -8458,6 +8458,14 @@ is rumored to have employed this form of, uh, somewhat weak encryption.
 @findex gnus-summary-morse-message
 Morse decode the article buffer (@code{gnus-summary-morse-message}).
 
+@item W i
+@kindex W i (Summary)
+@findex gnus-summary-idna-message
+Decode IDNA encoded domain names in the current articles.  IDNA
+encoded domain names looks like @samp{xn--bar}.  If a string remain
+unencoded after running invoking this, it is likely an invalid IDNA
+string (@samp{xn--bar} is invalid).
+
 @item W t
 @item t
 @kindex W t (Summary)