Synch with Oort Gnus.
[elisp/gnus.git-] / lisp / gnus.el
index 9538a62..c9b7ec1 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
@@ -893,15 +895,15 @@ For example:
 
 (defvar gnus-group-parameters-more nil)
 
-(condition-case nil
-    :symbol-for-testing-whether-colon-keyword-is-available-or-not
-  (void-variable
-   ;; Bind keywords.
-   (dolist (keyword '(:parameter-type
-                     :parameter-document :function :function-document
-                     :variable :variable-document :variable-group
-                     :variable-type :variable-default))
-     (set keyword keyword))))
+(defvar gnus-colon-keywords
+  (eval-when-compile
+    (when (boundp 'dgnushack-colon-keywords)
+      (symbol-value 'dgnushack-colon-keywords)))
+  "List of the colon keywords should be bound at run-time.  This variable
+defaults to a proper value only if this file is byte-compiled by make.")
+
+(dolist (keyword gnus-colon-keywords)
+  (set keyword keyword))
 
 (defmacro gnus-define-group-parameter (param &rest rest)
   "Define a group parameter PARAM.
@@ -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
@@ -1414,7 +1417,7 @@ slower, and `std11-extract-address-components'."
     ("nnspool" post address)
     ("nnvirtual" post-mail virtual prompt-address)
     ("nnmbox" mail respool address)
-    ("nnml" mail respool address)
+    ("nnml" post-mail respool address)
     ("nnmh" mail respool address)
     ("nndir" post-mail prompt-address physical-address)
     ("nneething" none address prompt-address physical-address)
@@ -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
@@ -1822,10 +1829,10 @@ This variable can be nil, gnus or gnus-ja."
                 (const :tag "Japanese" gnus-ja)))
 
 (defvar gnus-info-nodes
-  '((gnus-group-mode "The Group Buffer")
-    (gnus-summary-mode "The Summary Buffer")
-    (gnus-article-mode "The Article Buffer")
-    (gnus-server-mode "The Server Buffer")
+  '((gnus-group-mode "Group Buffer")
+    (gnus-summary-mode "Summary Buffer")
+    (gnus-article-mode "Article Buffer")
+    (gnus-server-mode "Server Buffer")
     (gnus-browse-mode "Browse Foreign Server")
     (gnus-tree-mode "Tree Display"))
   "Alist of major modes and related Info nodes.")
@@ -2119,6 +2126,16 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
       (autoload 'smiley-toggle-buffer "gnus-bitmap")
       (autoload 'x-face-mule-gnus-article-display-x-face "x-face-mule"))))
 
+(unless (and (fboundp 'base64-encode-string)
+            (subrp (symbol-function 'base64-encode-string)))
+  (require 'base64))
+
+;; To make shimbun groups.
+(autoload 'gnus-group-make-shimbun-group "nnshimbun" nil t)
+
+;; A tool for the developers.
+(autoload 'find-cl-run-time-functions "gnus-clfns" nil t)
+
 ;;; gnus-sum.el thingies
 
 
@@ -2139,6 +2156,7 @@ with some simple extensions.
 %x   Contents of the Xref: header (string)
 %D   Date of the article (string)
 %d   Date of the article (string) in DD-MMM format
+%o   Date of the article (string) in YYYYMMDD`T'HHMMSS format
 %M   Message-id of the article (string)
 %r   References of the article (string)
 %c   Number of characters in the article (integer)