;;; gnus-cus.el --- customization commands for Gnus
;;
-;; Copyright (C) 1996,1999 Free Software Foundation, Inc.
+;; Copyright (C) 1996,1999, 2000 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: news
;;; Code:
(require 'wid-edit)
+(require 'gnus)
(require 'gnus-score)
(require 'gnus-topic)
+(require 'gnus-art)
;;; Widgets:
(setq major-mode 'gnus-custom-mode
mode-name "Gnus Customize")
(use-local-map widget-keymap)
+ ;; Emacs 21 stuff:
+ (when (and (facep 'custom-button-face)
+ (facep 'custom-button-pressed-face))
+ (set (make-local-variable 'widget-button-face)
+ 'custom-button-face)
+ (set (make-local-variable 'widget-button-pressed-face)
+ 'custom-button-pressed-face)
+ (set (make-local-variable 'widget-mouse-face)
+ 'custom-button-pressed-face))
+ (when (and (boundp 'custom-raised-buttons)
+ (symbol-value 'custom-raised-buttons))
+ (set (make-local-variable 'widget-push-button-prefix) "")
+ (set (make-local-variable 'widget-push-button-suffix) "")
+ (set (make-local-variable 'widget-link-prefix) "")
+ (set (make-local-variable 'widget-link-suffix) ""))
(gnus-run-hooks 'gnus-custom-mode-hook))
;;; Group Customization:
listserv itself. This is broken behavior. So there!")
(to-group (string :tag "To Group") "\
-All posts will be send to the specified group.")
+All posts will be sent to the specified group.")
(gcc-self (choice :tag "GCC"
:value t
- (const t)
+ (const :tag "To current group" t)
(const none)
(string :format "%v" :hide-front-space t)) "\
Specify default value for GCC header.
`gcc' header (this symbol takes precedence over any default `Gcc'
rules as described later).")
- (banner (choice :tag "Banner"
- (const signature)
- regexp
- (const :tag "None" nil)) "\
-Regular expression matching banners to be removed from articles.")
-
- (auto-expire (const :tag "Automatic Expire" t) "\
-All articles that are read will be marked as expirable.")
-
- (total-expire (const :tag "Total Expire" t) "\
-All read articles will be put through the expiry process
-
-This happens even if they are not marked as expirable.
-Use with caution.")
-
(expiry-wait (choice :tag "Expire Wait"
:value never
(const never)
(symbol :tag "Face"
gnus-emphasis-highlight-words))))
"highlight regexps.
-See gnus-emphasis-alist."))
+See gnus-emphasis-alist.")
+
+ (posting-style
+ (choice :tag "Posting style"
+ :value nil
+ (repeat (list
+ (choice :tag "Type"
+ :value nil
+ (const signature)
+ (const signature-file)
+ (const organization)
+ (const address)
+ (const name)
+ (const body))
+ (string :format "%v"))))
+ "post style.
+See gnus-posting-styles."))
"Alist of valid group or topic parameters.
Each entry has the form (NAME TYPE DOC), where NAME is the parameter
(defconst gnus-extra-topic-parameters
'((subscribe (regexp :tag "Subscribe") "\
-If `gnus-subscribe-newsgroup-method' is set to
+If `gnus-subscribe-newsgroup-method' or
+`gnus-subscribe-options-newsgroup-method' is set to
`gnus-subscribe-topics', new groups that matches this regexp will
automatically be subscribed to this topic"))
"Alist of topic parameters that are not also group parameters.
(const :format "" ,(nth 0 entry))
,(nth 1 entry)))
(append gnus-group-parameters
+ (reverse gnus-group-parameters-more)
(if group
gnus-extra-group-parameters
gnus-extra-topic-parameters)))))
(setq gnus-custom-group group)
(make-local-variable 'gnus-custom-topic)
(setq gnus-custom-topic topic)
+ (buffer-disable-undo)
(widget-insert "Customize the ")
(if group
(widget-create 'info-link
:value (gnus-info-method info))))
(use-local-map widget-keymap)
(widget-setup)
+ (buffer-enable-undo)
(goto-char (point-min))))
(defun gnus-group-customize-done (&rest ignore)