Addition.
[elisp/gnus.git-] / lisp / gnus-cus.el
index 8127d65..025273b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-cus.el --- customization commands for Gnus
 ;;
-;; Copyright (C) 1996,1999 Free Software Foundation, Inc.
+;; Copyright (C) 1996 Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: news
@@ -28,7 +28,6 @@
 
 (require 'wid-edit)
 (require 'gnus-score)
-(require 'gnus-topic)
 
 ;;; Widgets:
 
@@ -56,7 +55,7 @@ if that value is non-nil."
 
 ;;; Group Customization:
 
-(defcustom gnus-group-parameters
+(defconst gnus-group-parameters
   '((to-address (gnus-email-address :tag "To Address") "\
 This will be used when doing followups and posts.
 
@@ -71,63 +70,14 @@ not.  Let's say there's a group on the server that is called
 `fa.4ad-l'.  This is a real newsgroup, but the server has gotten the
 articles from a mail-to-news gateway.  Posting directly to this group
 is therefore impossible--you have to send mail to the mailing list
-address instead.
-
-The gnus-group-split mail splitting mechanism will behave as if this
-address was listed in gnus-group-split Addresses (see below).")
+address instead.")
 
     (to-list (gnus-email-address :tag "To List") "\
 This address will be used when doing a `a' in the group.
 
 It is totally ignored when doing a followup--except that if it is
 present in a news group, you'll get mail group semantics when doing
-`f'.
-
-The gnus-group-split mail splitting mechanism will behave as if this
-address was listed in gnus-group-split Addresses (see below).")
-
-    (extra-aliases (choice
-                   :tag "Extra Aliases"
-                   (list
-                    :tag "List"
-                    (editable-list
-                     :inline t
-                     (gnus-email-address :tag "Address")))
-                   (gnus-email-address :tag "Address")) "\
-Store messages posted from or to this address in this group.
-
-You must be using gnus-group-split for this to work.  The VALUE of the
-nnmail-split-fancy SPLIT generated for this group will match these
-addresses.")
-
-    (split-regexp (regexp :tag "gnus-group-split Regular Expression") "\
-Like gnus-group-split Address, but expects a regular expression.")
-
-    (split-exclude (list :tag "gnus-group-split Restricts"
-                        (editable-list
-                         :inline t (regexp :tag "Restrict"))) "\
-Regular expression that cancels gnus-group-split matches.
-
-Each entry is added to the nnmail-split-fancy SPLIT as a separate
-RESTRICT clause.")
-
-    (split-spec (choice :tag "gnus-group-split Overrider"
-                       (sexp :tag "Fancy Split")
-                       (const :tag "Catch All" catch-all)
-                       (const :tag "Ignore" nil)) "\
-Override all other gnus-group-split fields.
-
-In `Fancy Split', you can enter any nnmail-split-fancy SPLIT.  Note
-that the name of this group won't be automatically assumed, you have
-to add it to the SPLITs yourself.  This means you can use such splits
-to split messages to other groups too.
-
-If you select `Catch All', this group will get postings for any
-messages not matched in any other group.  It overrides the variable
-gnus-group-split-default-catch-all-group.
-
-Selecting `Ignore' forces no SPLIT to be generated for this group,
-disabling all other gnus-group-split fields.")
+`f'.")
 
     (broken-reply-to (const :tag "Broken Reply To" t) "\
 Ignore `Reply-To' headers in this group.
@@ -153,11 +103,6 @@ is present and a string, this string will be inserted literally as a
 `gcc' header (this symbol takes precedence over any default `Gcc'
 rules as described later).")
 
-    (banner (choice :tag "Banner"
-                   (const signature)
-                   string ) "\
-Banner to be removed from articles.")
-
     (auto-expire (const :tag "Automatic Expire" t) "\
 All articles that are read will be marked as expirable.")
 
@@ -214,30 +159,7 @@ An arbitrary comment on the group.")
 
     (visible (const :tag "Permanently visible" t) "\
 Always display this group, even when there are no unread articles
-in it..")
-
-    (charset (symbol :tag "Charset") "\
-The default charset to use in the group.")
-            
-    (ignored-charsets 
-     (choice :tag "Ignored charsets" 
-            :value nil
-            (repeat (symbol))) "\
-List of charsets that should be ignored.
-
-When these charsets are used in the \"charset\" parameter, the
-default charset will be used instead.")
-            
-    (highlight-words 
-     (choice :tag "Highlight words"
-            :value nil
-            (repeat (list (regexp :tag "Highlight regexp")
-                          (number :tag "Group for entire word" 0)
-                          (number :tag "Group for displayed part" 0)
-                          (symbol :tag "Face" 
-                                  gnus-emphasis-highlight-words))))
-  "highlight regexps.
-See gnus-emphasis-alist."))
+in it.."))
   "Alist of valid group parameters.
 
 Each entry has the form (NAME TYPE DOC), where NAME is the parameter
@@ -247,11 +169,10 @@ DOC is a documentation string for the parameter.")
 (defvar gnus-custom-params)
 (defvar gnus-custom-method)
 (defvar gnus-custom-group)
-(defvar gnus-custom-topic)
 
-(defun gnus-group-customize (group &optional topic)
-  "Edit the group or topic on the current line."
-  (interactive (list (gnus-group-group-name) (gnus-group-topic-name)))
+(defun gnus-group-customize (group)
+  "Edit the group on the current line."
+  (interactive (list (gnus-group-group-name)))
   (let (info
        (types (mapcar (lambda (entry)
                         `(cons :format "%v%h\n"
@@ -259,11 +180,9 @@ DOC is a documentation string for the parameter.")
                                (const :format "" ,(nth 0 entry))
                                ,(nth 1 entry)))
                       gnus-group-parameters)))
-    (unless (or group topic)
+    (unless group
       (error "No group on current line"))
-    (when (and group topic)
-      (error "Both a group an topic on current line"))
-    (unless (or topic (setq info (gnus-get-info group)))
+    (unless (setq info (gnus-get-info group))
       (error "Killed group; can't be edited"))
     ;; Ready.
     (kill-buffer (gnus-get-buffer-create "*Gnus Customize*"))
@@ -271,20 +190,13 @@ DOC is a documentation string for the parameter.")
     (gnus-custom-mode)
     (make-local-variable 'gnus-custom-group)
     (setq gnus-custom-group group)
-    (make-local-variable 'gnus-custom-topic)
-    (setq gnus-custom-topic topic)
     (widget-insert "Customize the ")
-    (if group
-       (widget-create 'info-link
-                      :help-echo "Push me to learn more."
-                      :tag "group parameters"
-                      "(gnus)Group Parameters")
-      (widget-create 'info-link
-                    :help-echo "Push me to learn more."
-                    :tag  "topic parameters"
-                    "(gnus)Topic Parameters"))
+    (widget-create 'info-link
+                  :help-echo "Push me to learn more."
+                  :tag "group parameters"
+                  "(gnus)Group Parameters")
     (widget-insert " for <")
-    (widget-insert (or group topic))
+    (widget-insert group)
     (widget-insert "> and press ")
     (widget-create 'push-button
                   :tag "done"
@@ -294,17 +206,15 @@ DOC is a documentation string for the parameter.")
     (make-local-variable 'gnus-custom-params)
     (setq gnus-custom-params
          (widget-create 'group
-                        :value (if group
-                                   (gnus-info-params info)
-                                 (gnus-topic-parameters topic))
+                        :value (gnus-info-params info)
                         `(set :inline t
                               :greedy t
                               :tag "Parameters"
                               :format "%t:\n%h%v"
                               :doc "\
 These special paramerters are recognized by Gnus.
-Check the [ ] for the parameters you want to apply to this group or
-to the groups in this topic, then edit the value to suit your taste."
+Check the [ ] for the parameters you want to apply to this group, then
+edit the value to suit your taste."
                               ,@types)
                         '(repeat :inline t
                                  :tag "Variables"
@@ -322,7 +232,7 @@ like.  If you want to hear a beep when you enter a group, you could
 put something like `(dummy-variable (ding))' in the parameters of that
 group.  `dummy-variable' will be set to the result of the `(ding)'
 form, but who cares?"
-                                 (cons :format "%v" :value (nil .  nil)
+                                 (group :value (nil nil)
                                         (symbol :tag "Variable")
                                         (sexp :tag
                                               "Value")))
@@ -330,31 +240,26 @@ form, but who cares?"
                         '(repeat :inline t
                                  :tag "Unknown entries"
                                  sexp)))
-    (when group
-      (widget-insert "\n\nYou can also edit the ")
-      (widget-create 'info-link
-                    :tag "select method"
-                    :help-echo "Push me to learn more about select methods."
-                    "(gnus)Select Methods")
-      (widget-insert " for the group.\n")
-      (setq gnus-custom-method
-           (widget-create 'sexp
-                          :tag "Method"
-                          :value (gnus-info-method info))))
+    (widget-insert "\n\nYou can also edit the ")
+    (widget-create 'info-link
+                  :tag "select method"
+                  :help-echo "Push me to learn more about select methods."
+                  "(gnus)Select Methods")
+    (widget-insert " for the group.\n")
+    (setq gnus-custom-method
+         (widget-create 'sexp
+                        :tag "Method"
+                        :value (gnus-info-method info)))
     (use-local-map widget-keymap)
-    (widget-setup)
-    (goto-char (point-min))))
+    (widget-setup)))
 
 (defun gnus-group-customize-done (&rest ignore)
   "Apply changes and bury the buffer."
   (interactive)
-  (if gnus-custom-topic
-      (gnus-topic-set-parameters gnus-custom-topic
-                                (widget-value gnus-custom-params))
-    (gnus-group-edit-group-done 'params gnus-custom-group
-                               (widget-value gnus-custom-params))
-    (gnus-group-edit-group-done 'method gnus-custom-group
-                               (widget-value gnus-custom-method)))
+  (gnus-group-edit-group-done 'params gnus-custom-group
+                             (widget-value gnus-custom-params))
+  (gnus-group-edit-group-done 'method gnus-custom-group
+                             (widget-value gnus-custom-method))
   (bury-buffer))
 
 ;;; Score Customization:
@@ -675,7 +580,6 @@ if you do all your changes will be lost.  ")
                                     (gnus-score-string :tag "Subject")
                                     (gnus-score-string :tag "References")
                                     (gnus-score-string :tag "Xref")
-                                    (gnus-score-string :tag "Extra")
                                     (gnus-score-string :tag "Message-ID")
                                     (gnus-score-integer :tag "Lines")
                                     (gnus-score-integer :tag "Chars")