Synch with Oort Gnus.
authoryamaoka <yamaoka>
Wed, 13 Jun 2001 23:00:16 +0000 (23:00 +0000)
committeryamaoka <yamaoka>
Wed, 13 Jun 2001 23:00:16 +0000 (23:00 +0000)
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-cus.el
lisp/gnus.el

index 2f8587b..2bfa906 100644 (file)
@@ -1,3 +1,17 @@
+2001-06-13  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus.el (gnus-define-group-parameter): Don't quote the defcustom
+       specs.
+       
+2001-06-13 15:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus.el (gnus-email-address): Move it here.
+
+       * gnus-art.el (article-de-quoted-unreadable): Read charset if
+       requested.
+       (article-de-base64-unreadable): Ditto.
+       (article-wash-html): Ditto.
+
 2001-06-12 14:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * message.el (message-options-set-recipient): Don't add ", "
index 03d1232..fd33000 100644 (file)
@@ -1879,11 +1879,12 @@ If PROMPT (the prefix), prompt for a coding system to use."
       (mime-decode-header-in-buffer charset)
       )))
 
-(defun article-de-quoted-unreadable (&optional force)
+(defun article-de-quoted-unreadable (&optional force read-charset)
   "Translate a quoted-printable-encoded article.
 If FORCE, decode the article whether it is marked as quoted-printable
-or not."
-  (interactive (list 'force))
+or not.
+If READ-CHARSET, ask for a coding system."
+  (interactive (list 'force current-prefix-arg))
   (save-excursion
     (let ((buffer-read-only nil) type charset)
       (if (gnus-buffer-live-p gnus-original-article-buffer)
@@ -1898,6 +1899,8 @@ or not."
                                 (mail-content-type-get ctl 'charset)))
              (if (stringp charset)
                  (setq charset (intern (downcase charset)))))))
+      (if read-charset
+         (setq charset (read-coding-system "Charset: " charset)))
       (unless charset
        (setq charset gnus-newsgroup-charset))
       (when (or force
@@ -1907,10 +1910,11 @@ or not."
        (quoted-printable-decode-region
         (point) (point-max) (mm-charset-to-coding-system charset))))))
 
-(defun article-de-base64-unreadable (&optional force)
+(defun article-de-base64-unreadable (&optional force read-charset)
   "Translate a base64 article.
-If FORCE, decode the article whether it is marked as base64 not."
-  (interactive (list 'force))
+If FORCE, decode the article whether it is marked as base64 not.
+If READ-CHARSET, ask for a coding system."
+  (interactive (list 'force current-prefix-arg))
   (save-excursion
     (let ((buffer-read-only nil) type charset)
       (if (gnus-buffer-live-p gnus-original-article-buffer)
@@ -1925,6 +1929,8 @@ If FORCE, decode the article whether it is marked as base64 not."
                                 (mail-content-type-get ctl 'charset)))
              (if (stringp charset)
                  (setq charset (intern (downcase charset)))))))
+      (if read-charset
+         (setq charset (read-coding-system "Charset: " charset)))
       (unless charset
        (setq charset gnus-newsgroup-charset))
       (when (or force
@@ -1948,9 +1954,10 @@ If FORCE, decode the article whether it is marked as base64 not."
     (let ((buffer-read-only nil))
       (rfc1843-decode-region (point-min) (point-max)))))
 
-(defun article-wash-html ()
-  "Format an html article."
-  (interactive)
+(defun article-wash-html (&optional read-charset)
+  "Format an html article.
+If READ-CHARSET, ask for a coding system."
+  (interactive "P")
   (save-excursion
     (let ((buffer-read-only nil)
          charset)
@@ -1964,6 +1971,8 @@ If FORCE, decode the article whether it is marked as base64 not."
                                 (mail-content-type-get ctl 'charset)))
              (if (stringp charset)
                  (setq charset (intern (downcase charset)))))))
+      (if read-charset
+         (setq charset (read-coding-system "Charset: " charset)))
       (unless charset
        (setq charset gnus-newsgroup-charset))
       (article-goto-body)
index 0b6d704..c1ac599 100644 (file)
 
 ;;; Widgets:
 
-;; There should be special validation for this.
-(define-widget 'gnus-email-address 'string
-  "An email address")
-
 (defun gnus-custom-mode ()
   "Major mode for editing Gnus customization buffers.
 
index 60ff855..461232f 100644 (file)
@@ -34,6 +34,8 @@
 (eval-when-compile (require 'cl))
 (eval-when-compile (require 'static))
 
+(require 'wid-edit)
+
 (require 'gnus-vers)
 
 (defgroup gnus nil
@@ -927,8 +929,9 @@ REST is a plist of following:
         (variable-document (or (plist-get rest :variable-document) ""))
         (variable-group (plist-get rest :variable-group))
         (variable-type (or (plist-get rest :variable-type)
-                           `(quote (repeat (list (regexp :tag "Group")
-                                                 ,parameter-type)))))
+                           `(quote (repeat
+                                    (list (regexp :tag "Group")
+                                          ,(car (cdr parameter-type)))))))
         (variable-default (plist-get rest :variable-default)))
     (list
      'progn
@@ -1498,6 +1501,10 @@ to be desirable; see the manual for further details."
   :type '(choice (const nil)
                 integer))
 
+;; There should be special validation for this.
+(define-widget 'gnus-email-address 'string
+  "An email address")
+
 (gnus-define-group-parameter
  to-address
  :function-document