-during the initial citing via `sc-cite-original'.")
-
-(defvar sc-confirm-always-p t
- "*If non-nil, always confirm attribution string before citing text body.")
-
-(defvar sc-default-attribution "Anon"
- "*String used when author's attribution cannot be determined.")
-(defvar sc-default-author-name "Anonymous"
- "*String used when author's name cannot be determined.")
-
-(defvar sc-downcase-p nil
- "*Non-nil means downcase the attribution and citation strings.")
-
-(defvar sc-electric-circular-p t
- "*If non-nil, treat electric references as circular.")
-(defvar sc-electric-mode-hook nil
- "*Hook for `sc-electric-mode' electric references mode.")
-(defvar sc-electric-references-p nil
- "*Use electric references if non-nil.")
-
-(defvar sc-fixup-whitespace-p nil
- "*If non-nil, delete all leading white space before citing.")
-
-(defvar sc-load-hook nil
- "*Hook which gets run once after Supercite loads.")
-(defvar sc-pre-hook nil
- "*Hook which gets run before each invocation of `sc-cite-original'.")
-(defvar sc-post-hook nil
- "*Hook which gets run after each invocation of `sc-cite-original'.")
-
-(defvar sc-mail-warn-if-non-rfc822-p t
- "*Warn if mail headers don't conform to RFC822.")
-(defvar sc-mumble ""
- "*Value returned by `sc-mail-field' if field isn't in mail headers.")
-
-(defvar sc-name-filter-alist
+during the initial citing via `sc-cite-original'."
+ :type '(choice (const :tag "do not cite" nil)
+ (integer :tag "citation threshold")
+ (other :tag "always cite" t))
+ :group 'supercite-cite)
+
+(defcustom sc-confirm-always-p t
+ "*If non-nil, always confirm attribution string before citing text body."
+ :type 'boolean
+ :group 'supercite-attr)
+
+(defcustom sc-default-attribution "Anon"
+ "*String used when author's attribution cannot be determined."
+ :type 'string
+ :group 'supercite-attr)
+(defcustom sc-default-author-name "Anonymous"
+ "*String used when author's name cannot be determined."
+ :type 'string
+ :group 'supercite-attr)
+(defcustom sc-downcase-p nil
+ "*Non-nil means downcase the attribution and citation strings."
+ :type 'boolean
+ :group 'supercite-attr
+ :group 'supercite-cite)
+(defcustom sc-electric-circular-p t
+ "*If non-nil, treat electric references as circular."
+ :type 'boolean
+ :group 'supercite-attr)
+
+(defcustom sc-electric-mode-hook nil
+ "*Hook for `sc-electric-mode' electric references mode."
+ :type 'hook
+ :group 'supercite-hooks)
+(defcustom sc-electric-references-p nil
+ "*Use electric references if non-nil."
+ :type 'boolean
+ :group 'supercite)
+
+(defcustom sc-fixup-whitespace-p nil
+ "*If non-nil, delete all leading white space before citing."
+ :type 'boolean
+ :group 'supercite)
+
+(defcustom sc-load-hook nil
+ "*Hook which gets run once after Supercite loads."
+ :type 'hook
+ :group 'supercite-hooks)
+(defcustom sc-pre-hook nil
+ "*Hook which gets run before each invocation of `sc-cite-original'."
+ :type 'hook
+ :group 'supercite-hooks)
+(defcustom sc-post-hook nil
+ "*Hook which gets run after each invocation of `sc-cite-original'."
+ :type 'hook
+ :group 'supercite-hooks)
+
+(defcustom sc-mail-warn-if-non-rfc822-p t
+ "*Warn if mail headers don't conform to RFC822."
+ :type 'boolean
+ :group 'supercite-attr)
+(defcustom sc-mumble ""
+ "*Value returned by `sc-mail-field' if field isn't in mail headers."
+ :type 'string
+ :group 'supercite-attr)
+
+(defcustom sc-name-filter-alist