;ELC ;;; compiled by jwz@thalidomide on Mon Nov 8 12:22:20 1993 ;;; from file /th/jwz/emacs19/lisp/packages/supercite.el ;;; emacs version 19.9 Lucid. ;;; bytecomp version 2.20; 20-oct-93. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (require 'regi) (defvar sc-auto-fill-region-p t "\ *If non-nil, automatically fill each paragraph after it has been cited.") (defvar sc-blank-lines-after-headers 1 "\ *Number of blank lines to leave after mail headers have been nuked. Set to nil, to use whatever blank lines happen to occur naturally.") (defvar sc-citation-leader " " "\ *String comprising first part of a citation.") (defvar sc-citation-delimiter ">" "\ *String comprising third part of a citation. This string is used in both nested and non-nested citations.") (defvar sc-citation-separator " " "\ *String comprising fourth and last part of a citation.") (defvar sc-citation-leader-regexp "[ ]*" "\ *Regexp describing citation leader for a cited line. This should NOT have a leading `^' character.") (defvar sc-citation-root-regexp "[-._a-zA-Z0-9]*" "\ *Regexp describing variable root part of a citation for a cited line. This should NOT have a leading `^' character. See also `sc-citation-nonnested-root-regexp'.") (defvar sc-citation-nonnested-root-regexp "[-._a-zA-Z0-9]+" "\ *Regexp describing the variable root part of a nested citation. This should NOT have a leading `^' character. This variable is related to `sc-citation-root-regexp' but where as that varariable describes both nested and non-nested citation roots, this variable describes only nested citation roots.") (defvar sc-citation-delimiter-regexp "[>]+" "\ *Regexp describing citation delimiter for a cited line. This should NOT have a leading `^' character.") (defvar sc-citation-separator-regexp "[ ]*" "\ *Regexp describing citation separator for a cited line. This should NOT have a leading `^' character.") (defvar sc-cite-blank-lines-p nil "\ *If non-nil, put a citation on blank lines.") (defvar sc-cite-frame-alist nil "\ *Alist for frame selection during citing. Each element of this list has the following form: (INFOKEY ((REGEXP . FRAME) (REGEXP . FRAME) (...))) Where INFOKEY is a key for `sc-mail-field', REGEXP is a regular expression to match against the INFOKEY's value. FRAME is a citation frame, or a variable containing a citation frame.") (defvar sc-uncite-frame-alist nil "\ *Alist for frame selection during unciting. See the variable `sc-cite-frame-alist' for details.") (defvar sc-recite-frame-alist nil "\ *Alist for frame selection during reciting. See the variable `sc-cite-frame-alist' for details.") (defvar sc-default-cite-frame '((begin (progn (sc-fill-if-different) (setq sc-tmp-nested-regexp (sc-cite-regexp "") sc-tmp-nonnested-regexp (sc-cite-regexp) sc-tmp-dumb-regexp (concat "\\(" (sc-cite-regexp "") "\\)" (sc-cite-regexp sc-citation-nonnested-root-regexp))))) ("^[ ]*$" (if sc-cite-blank-lines-p (sc-cite-line) (sc-fill-if-different ""))) (sc-reference-tag-string (if (string= sc-reference-tag-string "") (list 'continue) nil)) (sc-tmp-dumb-regexp (sc-cite-coerce-dumb-citer)) (sc-tmp-nested-regexp (sc-add-citation-level)) (sc-tmp-nonnested-regexp (sc-cite-coerce-cited-line)) (sc-nested-citation-p (sc-add-citation-level)) (t (sc-cite-line)) (end (sc-fill-if-different ""))) "\ *Default REGI frame for citing a region.") (defvar sc-default-uncite-frame '(("^[ ]*$" nil) ((sc-cite-regexp) (sc-uncite-line))) "\ *Default REGI frame for unciting a region.") (defvar sc-default-recite-frame '((begin (sc-fill-if-different)) ("^[ ]*$" nil) ((sc-cite-regexp) (sc-recite-line (sc-cite-regexp))) (t (sc-cite-line)) (end (sc-fill-if-different ""))) "\ *Default REGI frame for reciting a region.") (defvar sc-cite-region-limit t "\ *This variable controls automatic citation of yanked text. Legal values are: non-nil -- cite the entire region, regardless of its size nil -- do not cite the region at all -- a number indicating the threshold for citation. When the number of lines in the region is greater than this value, a warning message will be printed and the region will not be cited. Lines in region are counted with `count-lines'. The gathering of attribution information is not affected by the value of this variable. The number of lines in the region is calculated *after* all mail headers are removed. This variable is only consulted 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 '(("^\\(Mr\\|Mrs\\|Ms\\|Dr\\)[.]?$" . 0) ("^\\(Jr\\|Sr\\)[.]?$" . last) ("^ASTS$" . 0) ("^[I]+$" . last)) "\ *Name list components which are filtered out as noise. This variable contains an association list where each element is of the form: (REGEXP . POSITION). REGEXP is a regular expression which matches the name list component. Match is performed using `string-match'. POSITION is the position in the name list which can match the regular expression, starting at zero for the first element. Use `last' to match the last element in the list and `any' to match all elements.") (defvar sc-nested-citation-p nil "\ *Controls whether to use nested or non-nested citation style. Non-nil uses nested citations, nil uses non-nested citations.") (defvar sc-nuke-mail-headers 'all "\ *Controls mail header nuking. Used in conjunction with `sc-nuke-mail-header-list'. Legal values are: `all' -- nuke all mail headers `none' -- don't nuke any mail headers `specified' -- nuke headers specified in `sc-nuke-mail-header-list' `keep' -- keep headers specified in `sc-nuke-mail-header-list'") (defvar sc-nuke-mail-header-list nil "\ *List of mail header regexps to remove or keep in body of reply. This list contains regular expressions describing the mail headers to keep or nuke, depending on the value of `sc-nuke-mail-headers'.") (defvar sc-preferred-attribution-list '("sc-lastchoice" "x-attribution" "firstname" "initials" "lastname") "\ *Specifies what to use as the attribution string. Supercite creates a list of possible attributions when it scans the mail headers from the original message. Each attribution choice is associated with a key in an attribution alist. Supercite tries to pick a \"preferred\" attribution by matching the attribution alist keys against the elements in `sc-preferred-attribution-list' in order. The first non-empty string value found is used as the preferred attribution. Note that Supercite now honors the X-Attribution: mail field. If present in the original message, the value of this field should always be used to select the most preferred attribution since it reflects how the original author would like to be distinguished. It should be considered bad taste to put any attribution preference key before \"x-attribution\" in this list, except perhaps for \"sc-lastchoice\" (see below). Supercite remembers the last attribution used when reciting an already cited paragraph. This attribution will always be saved with the \"sc-lastchoice\" key, which can be used in this list. Note that the last choice is always reset after every call of `sc-cite-original'. Barring error conditions, the following preferences are always present in the attribution alist: \"emailname\" -- email terminus name \"initials\" -- initials of author \"firstname\" -- first name of author \"lastname\" -- last name of author \"middlename-1\" -- first middle name of author \"middlename-2\" -- second middle name of author ... Middle name indexes can be any positive integer greater than 0, although it is unlikely that many authors will supply more than one middle name, if that many. The string of all middle names is associated with the key \"middlenames\".") (defvar sc-attrib-selection-list nil "\ *An alist for selecting preferred attribution based on mail headers. Each element of this list has the following form: (INFOKEY ((REGEXP . ATTRIBUTION) (REGEXP . ATTRIBUTION) (...))) Where INFOKEY is a key for `sc-mail-field', REGEXP is a regular expression to match against the INFOKEY's value. ATTRIBUTION can be a string or a list. If its a string, then it is the attribution that is selected by `sc-select-attribution'. If it is a list, it is `eval'd and the return value must be a string, which is used as the selected attribution. Note that the variable `sc-preferred-attribution-list' must contain an element of the string \"sc-consult\" for this variable to be consulted during attribution selection.") (defvar sc-attribs-preselect-hook nil "\ *Hook to run before selecting an attribution.") (defvar sc-attribs-postselect-hook nil "\ *Hook to run after selecting an attribution, but before confirmation.") (defvar sc-pre-cite-hook nil "\ *Hook to run before citing a region of text.") (defvar sc-pre-uncite-hook nil "\ *Hook to run before unciting a region of text.") (defvar sc-pre-recite-hook nil "\ *Hook to run before reciting a region of text.") (defvar sc-preferred-header-style 4 "\ *Index into `sc-rewrite-header-list' specifying preferred header style. Index zero accesses the first function in the list.") (defvar sc-reference-tag-string ">>>>> " "\ *String used at the beginning of built-in reference headers.") (defvar sc-rewrite-header-list '((sc-no-header) (sc-header-on-said) (sc-header-inarticle-writes) (sc-header-regarding-adds) (sc-header-attributed-writes) (sc-header-author-writes) (sc-header-verbose) (sc-no-blank-line-or-header)) "\ *List of reference header rewrite functions. The variable `sc-preferred-header-style' controls which function in this list is chosen for automatic reference header insertions. Electric reference mode will cycle through this list of functions.") (defvar sc-titlecue-regexp "\\s +-+\\s +" "\ *Regular expression describing the separator between names and titles. Set to nil to treat entire field as a name.") (defvar sc-use-only-preference-p nil "\ *Controls what happens when the preferred attribution cannot be found. If non-nil, then `sc-default-attribution' will be used. If nil, then some secondary scheme will be employed to find a suitable attribution string.") (defconst sc-version "3.1" "\ Supercite version number.") (defconst sc-help-address "supercite-help@anthem.nlm.nih.gov" "\ Address accepting submissions of bug reports.") (defvar sc-mail-info nil "\ Alist of mail header information gleaned from reply buffer.") (defvar sc-attributions nil "\ Alist of attributions for use when citing.") (defconst sc-emacs-features (byte-code " Oǘ \" \n*D" [v18 GNU flavor version emacs-version 0 2 "19" v19 string-match "Lucid" Lucid] 3) "\ A list describing what version of Emacs we're running on. Known flavors are: All GNU18's: (v18 GNU) FSF19.x : (v19 GNU) Lucid19.x : (v19 Lucid)") (defvar sc-tmp-nested-regexp nil "\ Temporary regepx describing nested citations.") (defvar sc-tmp-nonnested-regexp nil "\ Temporary regexp describing non-nested citations.") (defvar sc-tmp-dumb-regexp nil "\ Temp regexp describing non-nested citation cited with a nesting citer.") (defvar sc-minor-mode nil "\ Supercite minor mode on flag.") (defvar sc-mode-string " SC" "\ Supercite minor mode string.") (byte-code "!!!" [make-variable-buffer-local sc-mail-info sc-attributions sc-minor-mode] 2) (defvar sc-mode-map-prefix "" "\ *Key binding to install Supercite keymap. If this is nil, Supercite keymap is not installed.") (defvar sc-T-keymap nil "\ Keymap for sub-keymap of setting and toggling functions.") (byte-code " ################" [sc-T-keymap make-sparse-keymap define-key "a" sc-S-preferred-attribution-list "b" sc-T-mail-nuke-blank-lines "c" sc-T-confirm-always "d" sc-T-downcase "e" sc-T-electric-references "f" sc-T-auto-fill-region "h" sc-T-describe "l" sc-S-cite-region-limit "n" sc-S-mail-nuke-mail-headers "N" sc-S-mail-header-nuke-list "o" sc-T-electric-circular "p" sc-S-preferred-header-style "s" sc-T-nested-citation "u" sc-T-use-only-preferences "w" sc-T-fixup-whitespace "?"] 4) (defvar sc-mode-map nil "\ Keymap for Supercite quasi-mode.") (byte-code " ##############" [sc-mode-map make-sparse-keymap define-key "c" sc-cite-region "f" sc-mail-field-query "g" sc-mail-process-headers "h" sc-describe "i" sc-insert-citation "o" sc-open-line "r" sc-recite-region "" sc-raw-mode-toggle "u" sc-uncite-region "v" sc-version "w" sc-insert-reference "" sc-T-keymap "" sc-submit-bug-report "?"] 4) (defvar sc-electric-mode-map nil "\ Keymap for `sc-electric-mode' electric references mode.") (byte-code " ###########" [sc-electric-mode-map make-sparse-keymap define-key "p" sc-eref-prev "n" sc-eref-next "s" sc-eref-setn "j" sc-eref-jump "x" sc-eref-abort "q" " " sc-eref-exit "\n" "g" sc-eref-goto "?" describe-mode ""] 4) (defvar sc-minibuffer-local-completion-map nil "\ Keymap for minibuffer confirmation of attribution strings.") (byte-code "\n!##" [sc-minibuffer-local-completion-map copy-keymap minibuffer-local-completion-map define-key "" sc-toggle-fn " " self-insert-command] 4) (defvar sc-minibuffer-local-map nil "\ Keymap for minibuffer confirmation of attribution strings.") (byte-code "\n!#" [sc-minibuffer-local-map copy-keymap minibuffer-local-map define-key "" sc-toggle-fn] 4) (fset 'sc-completing-read #[(prompt table &optional predicate require-match initial-contents history) " > & %" [v19 sc-emacs-features completing-read prompt table predicate require-match initial-contents history] 7 "\ Compatibility between Emacs 18 and 19 `completing-read'. In version 18, the HISTORY argument is ignored."]) (fset 'sc-read-string #[(prompt &optional initial-contents history) " > # \"" [v19 sc-emacs-features read-string prompt initial-contents history] 4 "\ Compatibility between Emacs 18 and 19 `read-string'. In version 18, the HISTORY argument is ignored."]) (fset 'sc-submatch #[(matchnum &optional string) " O {" [string matchnum] 3 "\ Returns `match-beginning' and `match-end' sub-expression for MATCHNUM. If optional STRING is provided, take sub-expression using `substring' of argument, otherwise use `buffer-substring' on current buffer. Note that `match-data' must have already been generated and no error checking is performed by this function."]) (fset 'sc-member #[(elt list) "" [elt-is-member (byte-code " @\"Aoć" [list elt throw elt-is-member nil] 4)] 2 "\ Like `memq', but uses `equal' instead of `eq'. Emacs19 has a builtin function `member' which does exactly this."]) (byte-code " >M" [v19 sc-emacs-features sc-member member] 2) (fset 'sc-ask #[(alist) "\n#\n#R  >   ;Ή \" >   > !  *  !# > !\" > ! !  !) \"####\n\"\" \"@#\"A  > !  !# >\"  =P * > ! +" [mapconcat #[(elt) "@" [elt] 1] alist ", " "? (" #[(elt) " A!" [char-to-string elt] 2] "/" ") " prompt p Lucid sc-emacs-features allocate-event event t inhibit-quit cursor-in-echo-area message "%s" v18 read-char next-command-event read-event quit-flag nil "%s%s" single-key-description deallocate-event signal quit key-press-event-p event-key key event-to-character elt char rassq button-release-event-p ding y-or-n-p discard-input "Try again. "] 7 "\ Ask a question in the minibuffer requiring a single character answer. This function is kind of an extension of `y-or-n-p' where a single letter is used to answer a question. Question is formed from ALIST which has members of the form: (WORD . LETTER). WORD is the long word form, while LETTER is the letter for selecting that answer. The selected letter is returned, or nil if the question was not answered. Note that WORD is a string and LETTER is a character. All LETTERs in the list should be unique."]) (fset 'sc-scan-info-alist #[(alist) " @@! A@   @\n@ \nA  \"   A +T A,9\n*" ["" nil rtnvalue sc-mumble alist elem infokey sc-mail-field infoval mlist ml-elem regexp thing string-match] 4 "\ Find a match in the info alist that matches a regexp in ALIST."]) (defvar sc-mail-headers-start nil "\ Start of header fields.") (defvar sc-mail-headers-end nil "\ End of header fields.") (defvar sc-mail-field-history nil "\ For minibuffer completion on mail field queries.") (defvar sc-mail-field-modification-history nil "\ For minibuffer completion on mail field modifications.") (defvar sc-mail-glom-frame '((begin (setq sc-mail-headers-start (point))) ("^x-attribution:[ ]+.*$" (sc-mail-fetch-field t) nil t) ("^\\S +:.*$" (sc-mail-fetch-field) nil t) ("^$" (list 'abort '(step . 0))) ("^[ ]+" (sc-mail-append-field)) (sc-mail-warn-if-non-rfc822-p (sc-mail-error-in-mail-field)) (end (setq sc-mail-headers-end (point)))) "\ Regi frame for glomming mail header information.") (fset 'sc-mail-fetch-field #[(&optional attribs-p) "\n\"\n\"\n\" B B \n B +̇" [string-match "^\\(\\S *\\)\\s *:\\s +\\(.*\\)$" curline sc-submatch 1 key 2 val keyval sc-mail-info attribs-p sc-attributions nil] 4 "\ Insert a key and value into `sc-mail-info' alist. If optional ATTRIBS-P is non-nil, the key/value pair is placed in `sc-attributions' too."]) (fset 'sc-mail-append-field #[nil "@ \" A \"Q)ȇ" [sc-mail-info keyval string-match "^\\s *\\(.*\\)$" curline " " sc-submatch 1 nil] 7 "\ Append a continuation line onto the last fetched mail field's info."]) (fset 'sc-mail-error-in-mail-field #[nil "G^GWê\nO #+ !͇" [curline 10 len "..." "" ellipsis "Mail header \"%s%s\" doesn't conform to RFC 822. skipping..." msg message 0 beep sit-for 2 nil] 6 "\ Issue warning that mail headers don't conform to RFC 822."]) (defvar sc-mail-last-header-nuked-p nil "\ True if the last header was nuked.") (fset 'sc-mail-nuke-line #[nil "!!|Ç" [regi-pos bol bonl ((step . -1))] 3 "\ Nuke the current mail header line."]) (fset 'sc-mail-nuke-header-line #[nil " " [t sc-mail-last-header-nuked-p sc-mail-nuke-line] 1 "\ Delete current-line and set up for possible continuation."]) (fset 'sc-mail-nuke-continuation-line #[nil " " [sc-mail-last-header-nuked-p sc-mail-nuke-line] 1 "\ Delete a continuation line if the last header line was deleted."]) (fset 'sc-mail-cleanup-blank-lines #[nil "~xy y!!!|\")‡" [sc-blank-lines-after-headers " \n" nil 1 delete-blank-lines 0 looking-at "[ ]*$" regi-pos bol bonl insert-char 10] 3 "\ Leave some blank lines after original mail headers are nuked. The number of lines left is specified by `sc-blank-lines-after-headers'."]) (fset 'sc-mail-build-nuke-frame #[nil " = = = = \"\n\n$ DC ? DC&+" [nil nonentry-func entry-func every-func sc-nuke-mail-headers all (progn (forward-line -1) (sc-mail-nuke-line)) specified (sc-mail-nuke-header-line) (setq sc-mail-last-header-nuked-p nil) keep (setq sc-mail-last-header-nuked-p nil) (sc-mail-nuke-header-line) none error "Illegal value for sc-nuke-mail-headers: %s" append regi-mapcar sc-nuke-mail-header-list t "^\\S +:.*$" (("^[ ]+" (sc-mail-nuke-continuation-line))) ((begin (setq sc-mail-last-header-zapped-p nil))) ((end (sc-mail-cleanup-blank-lines))) every] 8 "\ Build the regiframe for nuking mail headers."]) (fset 'sc-mail-process-headers #[(start end) " !\n! # !    #*" [copy-alist sc-mail-info sc-attributions attribs info nil regi-interpret sc-mail-glom-frame start end message "No mail headers found! Restoring old information." sc-mail-build-nuke-frame sc-mail-headers-start sc-mail-headers-end] 4 "\ Process original mail message's mail headers. After processing, mail headers may be nuked. Header information is stored in `sc-mail-info', and any old information is lost unless an error occurs." "r"]) (fset 'sc-mail-field #[(field) " \n\"A " [assoc field sc-mail-info sc-mumble] 3 "\ Return the mail header field value associated with FIELD. If there was no mail header with FIELD as its key, return the value of `sc-mumble'. FIELD is case insensitive."]) (fset 'sc-mail-field-query #[(arg) "\nê ! ?? \"@P =?& = \"A# = \" \" = \"A\"ABPA#) =P!B B +" [(("view" . 118) ("modify" . 109) ("add" . 97) ("delete" . 100)) alist arg 118 sc-ask action nil key sc-completing-read rassq " information key: " sc-mail-info 97 noexit sc-mail-field-history message "%s: %s" assoc 100 delq 109 keyval sc-member sc-mail-field-modification-history sc-read-string ": "] 7 "\ View the value of a mail field. With `\\[universal-argument]', prompts for action on mail field. Action can be one of: View, Modify, Add, or Delete." "P"]) (defvar sc-attribution-confirmation-history nil "\ History for confirmation of attribution strings.") (defvar sc-citation-confirmation-history nil "\ History for confirmation of attribution prefixes.") (fset 'sc-attribs-%@-addresses #[(from &optional delim) "\nP # Ĕĕ\nĪZO" [string-match "[-a-zA-Z0-9_.]+" delim from 0 1] 4 "\ Extract the author's email terminus from email address FROM. Match addresses of the style ``name%[stuff].'' when called with DELIM of \"%\" and addresses of the style ``[stuff]name@[stuff]'' when called with DELIM \"@\". If DELIM is nil or not provided, matches addresses of the style ``name''."]) (fset 'sc-attribs-!-addresses #[(from) "G#Õ  T UêZO+" [from string-match "![-a-zA-Z0-9_.]+\\([^-!a-zA-Z0-9_.]\\|$\\)" 0 mend mstart eos 1] 5 "\ Extract the author's email terminus from email address FROM. Match addresses of the style ``[stuff]![stuff]...!name[stuff].''"]) (fset 'sc-attribs-<>-addresses #[(from) "\n\"\n\"" [string-match "<\\(.*\\)>" from sc-submatch 1] 3 "\ Extract the author's email terminus from email address FROM. Match addresses of the style ``.''"]) (fset 'sc-get-address #[(from author) "G Q#ƕ OHUGSHUGSO)#\")" [from eos string-match "\\(^\\|^\"\\)" author "\\(\\s +\\|\"\\s +\\)" 0 address 60 62 1 "[-a-zA-Z0-9!@%._]+" sc-submatch ""] 5 "\ Get the full email address path from FROM. AUTHOR is the author's name (which is removed from the address)."]) (fset 'sc-attribs-emailname #[(from) " \" \" ! ! ! O" [sc-attribs-%@-addresses from "%" "@" sc-attribs-!-addresses sc-attribs-<>-addresses 0 10] 3 "\ Get the email terminus name from FROM."]) (fset 'sc-name-substring #[(string start end extend) " \\\n Z  # O*" [start extend end eos sos string string-match sc-titlecue-regexp] 6 "\ Extract the specified substring of STRING from START to END. EXTEND is the number of characters on each side to extend the substring."]) (fset 'sc-attribs-extract-namestring #[(from) " #ĕ$ #ĕ$ #ŕ$ !  GS\n \nX  H> T j\n V \nH>\nS\nj  \nTO*)" [sc-name-substring from string-match "(.*)" 0 1 "\".*\"" "\\([-.a-zA-Z0-9_]+\\s +\\)+<" sc-attribs-emailname namestring eos bos (32 9) (32 9)] 7 "\ Extract the name string from FROM. This should be the author's full name minus an optional title."]) (fset 'sc-attribs-chop-namestring #[(namestring) "\n\"\n\"\nƕO!B" [string-match "\\([ ]*\\)\\([^ ._]+\\)\\([ ]*\\)" namestring sc-submatch 2 sc-attribs-chop-namestring 3 nil] 5 "\ Convert NAMESTRING to a list of names. example: (sc-namestring-to-list \"John Xavier Doe\") => (\"John\" \"Xavier\" \"Doe\")"]) (fset 'sc-attribs-strip-initials #[(namelist) "\n#" [mapconcat #[(name) " GW O" [0 name 1] 3] namelist ""] 4 "\ Extract the author's initials from the NAMELIST."]) (fset 'sc-guess-attribution #[(&optional string) " !!{ #U #U \" #U #U+" [0 string regi-pos bol eol nil attribution start string-match sc-citation-leader-regexp -1 sc-citation-root-regexp 1 sc-submatch sc-citation-delimiter-regexp sc-citation-separator-regexp] 6 "\ Guess attribution string on current line. If attribution cannot be guessed, nil is returned. Optional STRING if supplied, is used instead of the line point is on in the current buffer."]) (fset 'sc-attribs-filter-namelist #[(namelist) "G‰\" \" ," [namelist -1 nil filtered-list keepers position elements mapcar #[(name) "T \"\nB)" [position t keep-p mapcar #[(filter) "@A\n \" U = SU =ɉ\n*" [filter pos regexp string-match name position last elements any nil keep-p] 3] sc-name-filter-alist keepers] 3] #[(position) " 8\nB" [position namelist filtered-list] 2]] 4 "\ Filter out noise in NAMELIST according to `sc-name-filter-alist'."]) (fset 'sc-attribs-chop-address #[(from) ";GW! !!A!\n@ \nA! \n@ !! #    B BBBF\" BB BBBB! \"B! \"B! \"B .\".. /B.B." [from 0 "" sc-mumble sc-attribs-extract-namestring namestring sc-attribs-filter-namelist sc-attribs-chop-namestring namelist reverse revnames firstname midnames lastname sc-attribs-strip-initials initials sc-attribs-emailname emailname 1 n nil author middlenames mapconcat #[(midname) "\n\"\n\"BB BB\nT*" [format "middlename-%d" n "sc-middlename-%d" key-mail key-attribs midname sc-attributions sc-mail-info] 5] " " append "firstname" "lastname" "emailname" "initials" sc-attributions "sc-firstname" "sc-middlenames" "sc-lastname" "sc-emailname" "sc-initials" "sc-author" "sc-from-address" sc-get-address sc-mail-field "from" "sc-reply-address" "reply-to" "sc-sender-address" "sender" sc-mail-info sc-default-author-name] 13 "\ Extract attribution information from FROM. This populates the `sc-attributions' with the list of possible attributions."]) (defvar sc-attrib-or-cite nil "\ Used to toggle between attribution input or citation input.") (fset 'sc-toggle-fn #[nil "?\"" [sc-attrib-or-cite throw sc-reconfirm t] 3 "\ Toggle between attribution selection and citation selection. Only used during confirmation." nil]) (fset 'sc-select-attribution #[nil "!\nÉ  @ ʘ ! A ;  < !\") \"A A),\"A\"A\"A\"A\"A@A!!\" !\"#$%&'(ꍬ{('!'!'.,.0.1\"201\"322.BC1\"1330BC1\"1,55\"665BB." [run-hooks sc-attribs-preselect-hook sc-confirm-always-p nil sc-preferred-attribution-list attriblist citation attribution query-p preferred "sc-consult" sc-scan-info-alist sc-attrib-selection-list attrib eval error "%s did not evaluate to a string or list!" "sc-attrib-selection-list" assoc sc-attributions sc-use-only-preference-p "sc-lastchoice" "x-attribution" "firstname" "lastname" "initials" sc-default-attribution t sc-make-citation sc-attribs-postselect-hook mapcar #[(entry) "AC" [entry] 1] query-alist sc-minibuffer-local-completion-map minibuffer-local-completion-map sc-minibuffer-local-map minibuffer-local-map initial completer-disable choice sc-attrib-or-cite sc-reconfirm (byte-code " #ȉ B& ͘" [sc-attrib-or-cite sc-read-string "Enter citation prefix: " citation sc-citation-confirmation-history sc-completing-read "Complete attribution name: " query-alist nil initial 0 sc-attribution-confirmation-history choice ""] 7) sc-guess-attribution sc-downcase-p "sc-citation" ckey "sc-attribution" akey sc-mail-info ckeyval akeyval append lkey lastchoice] 5 "\ Select an attribution from `sc-attributions'. Variables involved in selection process include: `sc-preferred-attribution-list' `sc-use-only-preference-p' `sc-confirm-always-p' `sc-default-attribution' `sc-attrib-selection-list'. Runs the hook `sc-attribs-preselect-hook' before selecting an attribution and the hook `sc-attribs-postselect-hook' after making the selection but before querying is performed. During `sc-attribs-postselect-hook' the variable `citation' is bound to the auto-selected citation string and the variable `attribution' is bound to the auto-selected attribution string."]) (fset 'sc-cite-regexp #[(&optional root-regexp) " \n R" [sc-citation-leader-regexp root-regexp sc-citation-root-regexp sc-citation-delimiter-regexp sc-citation-separator-regexp] 4 "\ Return a regexp describing a Supercited line. The regexp is the concatenation of `sc-citation-leader-regexp', `sc-citation-root-regexp', `sc-citation-delimiter-regexp', and `sc-citation-separator-regexp'. If optional ROOT-REGEXP is supplied, use it instead of `sc-citation-root-regexp'."]) (fset 'sc-make-citation #[(attribution) " \n R" [sc-citation-leader attribution sc-citation-delimiter sc-citation-separator] 4 "\ Make a non-nested citation from ATTRIBUTION."]) (fset 'sc-setup-filladapt #[nil " \" ! *" [filladapt-supercite-included-text fa-sc-elt rassq filladapt-prefix-table elt sc-cite-regexp message "Filladapt doesn't seem to know about Supercite." beep] 4 "\ Setup `filladapt-prefix-table' to handle Supercited paragraphs."]) (defvar sc-fill-begin 1 "\ Buffer position to begin filling.") (defvar sc-fill-line-prefix "" "\ Fill prefix of previous line") (fset 'sc-fill-if-different #[(&optional prefix) "!\n\n !\"!)ɇ" [prefix "" sc-fill-line-prefix regi-pos bol sc-fill-begin sc-auto-fill-region-p fill-prefix fill-region nil] 5 "\ Fill the region bounded by `sc-fill-begin' and point. Only fill if optional PREFIX is different than `sc-fill-line-prefix'. If `sc-auto-fill-region-p' is nil, do not fill region. If PREFIX is not supplied, initialize fill variables. This is useful for a regi `begin' frame-entry."]) (fset 'sc-cite-coerce-cited-line #[nil "  ! ! !ǔǕbnu`)| c !+ʇ" [sc-guess-attribution attribution sc-cite-regexp regexp sc-make-citation prefix looking-at 0 -1 sc-fill-if-different nil] 2 "\ Coerce a Supercited line to look like our style."]) (fset 'sc-cite-coerce-dumb-citer #[nil "|y " [1 0 sc-cite-coerce-cited-line] 2 "\ Coerce a non-nested citation that's been cited with a dumb nesting citer."]) (fset 'sc-guess-nesting #[(&optional string) " !!{ #U #U \" #U+" [0 string regi-pos bol eol nil nesting start string-match sc-citation-leader-regexp -1 sc-citation-delimiter-regexp sc-submatch sc-citation-separator-regexp] 6 "\ Guess the citation nesting on the current line. If nesting cannot be guessed, nil is returned. Optional STRING if supplied, is used instead of the line point is on in the current buffer."]) (fset 'sc-add-citation-level #[nil "  GT !\" Q!!̔̕|c!+" [sc-guess-nesting nesting make-string string-to-char sc-citation-delimiter citation sc-citation-leader sc-citation-separator prefix looking-at sc-cite-regexp "" 0 sc-fill-if-different] 4 "\ Add a citation level for nested citation style w/ coersion."]) (fset 'sc-cite-line #[(&optional citation) " \n \"Ac!)ɇ" [sc-fixup-whitespace-p fixup-whitespace citation assoc "sc-citation" sc-mail-info sc-default-attribution prefix sc-fill-if-different nil] 4 "\ Cite a single line of uncited text. Optional CITATION overrides any citation automatically selected."]) (fset 'sc-uncite-line #[nil " !ÔÕ|)ć" [looking-at sc-cite-regexp cited 0 nil] 3 "\ Remove citation from current line."]) (fset 'sc-recite-line #[(regexp) "\nP! \"AȔȕ| c!*ˇ" [looking-at "^" regexp assoc "sc-citation" sc-mail-info prefix cited 0 sc-default-attribution sc-fill-if-different nil] 5 "\ Remove citation matching REGEXP from current line and recite line."]) (fset 'sc-cite-region #[(start end &optional confirm-p) " \n! Ū!t   #*" [undo-boundary sc-scan-info-alist sc-cite-frame-alist sc-default-cite-frame confirm-p t sc-confirm-always-p frame run-hooks sc-pre-cite-hook sc-select-attribution regi-interpret start end] 4 "\ Cite a region delineated by START and END. If optional CONFIRM-P is non-nil, the attribution is confirmed before its use in the citation string. This function first runs `sc-pre-cite-hook'." "r\nP"]) (fset 'sc-uncite-region #[(start end) " \n! !  #)" [undo-boundary sc-scan-info-alist sc-uncite-frame-alist sc-default-uncite-frame frame run-hooks sc-pre-uncite-hook regi-interpret start end] 4 "\ Uncite a region delineated by START and END. First runs `sc-pre-uncite-hook'." "r"]) (fset 'sc-recite-region #[(start end) " ) !!  #)" [t sc-confirm-always-p sc-select-attribution undo-boundary sc-scan-info-alist sc-recite-frame-alist sc-default-recite-frame frame run-hooks sc-pre-recite-hook regi-interpret start end] 4 "\ Recite a region delineated by START and END. First runs `sc-pre-recite-hook'." "r"]) (fset 'sc-hdr #[(prefix field &optional sep return-nil-p) ";\n Q ?" [field "" prefix sep return-nil-p] 3 "\ Returns a concatenation of PREFIX and FIELD. If FIELD is not a string or is the empty string, the empty string will be returned. Optional third argument SEP is concatenated on the end if it is a string. Returns empty string, unless optional RETURN-NIL-P is non-nil."]) (fset 'sc-whofrom #[nil "!)" [nil sc-mumble sc-mail-field "from"] 2 "\ Return the value of (sc-mail-field \"from\") or nil."]) (defun sc-no-header nil "\ Does nothing. Use this instead of nil to get a blank header." nil) (fset 'sc-no-blank-line-or-header #[nil "o?ly\n! = y )" [-1 looking-at mail-header-separator major-mode mh-letter-mode mh-in-header-p nil t kill-lines-magic kill-line] 2 "\ Similar to `sc-no-header' except it removes the preceeding blank line."]) (fset 'sc-header-on-said #[nil " \n !#\nʱ*" ["" sc-whofrom whofrom sc-mumble sc-reference-tag-string sc-hdr "On " sc-mail-field "date" ", " " said:\n"] 5 "\ \"On , said:\" unless: 1. the \"from\" field cannot be found, in which case nothing is inserted; 2. the \"date\" field is missing in which case only the from part is printed."]) (fset 'sc-header-inarticle-writes #[nil "! !# ʱ*" ["" sc-mail-field "from" whofrom sc-mumble sc-reference-tag-string sc-hdr "In article " "message-id" ", " " writes:\n"] 5 "\ \"In article , writes:\" Treats \"message-id\" and \"from\" fields similar to `sc-header-on-said'."]) (fset 'sc-header-regarding-adds #[nil " \n !#\nʱ*" ["" sc-whofrom whofrom sc-mumble sc-reference-tag-string sc-hdr "Regarding " sc-mail-field "subject" "; " " adds:\n"] 5 "\ \"Regarding ; adds:\" Treats \"subject\" and \"from\" fields similar to `sc-header-on-said'."]) (fset 'sc-header-attributed-writes #[nil " \n !#!#!$!$ѱ*" ["" sc-whofrom whofrom sc-mumble sc-reference-tag-string sc-hdr "\"" sc-mail-field "sc-attribution" "\" == " "sc-author" " " "<" "sc-from-address" ">" t "sc-reply-address" " writes:\n"] 8 "\ \"\" ==
writes: Treats these fields in a similar manner to `sc-header-on-said'."]) (fset 'sc-header-author-writes #[nil " \n !\"ȱ*" ["" sc-whofrom whofrom sc-mumble sc-reference-tag-string sc-hdr sc-mail-field "sc-author" " writes:\n"] 5 "\ writes:"]) (fset 'sc-header-verbose #[nil " \n P!# !$ Q P!# P!$!$) P!# P!# P!# P!# P!# +" ["" sc-whofrom sc-reference-tag-string tag whofrom sc-mumble sc-hdr "On " sc-mail-field "date" ",\n" "sc-author" "\n" t "from the organization of " "organization" "who can be reached at: " rtag "sc-from-address" "sc-reply-address" "(whose comments are cited below with \"" "sc-citation" "\"),\n" "had this to say in article " "message-id" "in newsgroups " "newsgroups" "concerning the subject of " "subject" "(see " "references" " for more details)\n"] 12 "\ Very verbose, some say gross."]) (defconst sc-electric-bufname " *sc-erefs* " "\ Supercite electric reference mode's buffer name.") (defvar sc-eref-style 0 "\ Current electric reference style.") (fset 'sc-valid-index-p #[(index) " ! \nGW " [natnump index sc-rewrite-header-list] 2 "\ Returns INDEX if it is a valid index into `sc-rewrite-header-list'. Otherwise returns nil."]) (fset 'sc-eref-insert-selected #[(&optional nomsg) " 8ŏ)" [sc-eref-style sc-rewrite-header-list ref err (byte-code " !ed\"  Uɪ %)" [eval ref count-lines lines nomsg message "Ref header %d [%d line%s]: %s" sc-eref-style 1 "" "s"] 6) ((void-function (byte-code "\nA@ # " [message "Symbol's function definition is void: %s (Header %d)" err sc-eref-style beep] 4)))] 3 "\ Insert the selected reference header in the current buffer. Optional NOMSG, if non-nil, inhibits printing messages, unless an error occurs."]) (fset 'sc-electric-mode #[(&optional arg) " ! !!ɋ) !)" [sc-mail-info info sc-valid-index-p arg sc-preferred-header-style 0 sc-eref-style get-buffer-create sc-electric-bufname ((byte-code " !  \n !!! ," [pop-to-buffer sc-electric-bufname kill-all-local-variables info t "SC Electric Refs" sc-electric-mode major-mode mode-name buffer-read-only sc-mail-info use-local-map sc-electric-mode-map sc-eref-show sc-eref-style run-hooks sc-electric-mode-hook recursive-edit] 4)) sc-eref-insert-selected kill-buffer] 2 "\ Mode for viewing Supercite reference headers. Commands are: \\{sc-electric-mode-map} `sc-electric-mode' is not intended to be run interactively, but rather accessed through Supercite's electric reference feature. See `sc-insert-reference' for more details. Optional ARG is the initial header style to use, unless not supplied or invalid, in which case `sc-preferred-header-style' is used."]) (fset 'sc-eref-show #[(index) " G ! W\nS \"ƪ \nYƪ \"\nS  q eb ed\" SU?VZ!]Z!." ["No %ing reference headers in list." sc-rewrite-header-list last msg sc-valid-index-p index 0 sc-electric-circular-p error "preced" "follow" sc-eref-style sc-electric-bufname nil buffer-read-only erase-buffer sc-eref-insert-selected count-lines window-height winlines hdrlines enlarge-window shrink-window window-min-height] 5 "\ Show reference INDEX in `sc-rewrite-header-list'."]) (fset 'sc-eref-next #[nil " T!" [sc-eref-show sc-eref-style] 2 "\ Display next reference in other buffer." nil]) (fset 'sc-eref-prev #[nil " S!" [sc-eref-show sc-eref-style] 2 "\ Display previous reference in other buffer." nil]) (fset 'sc-eref-setn #[nil "\"" [sc-eref-style sc-preferred-header-style message "Preferred reference style set to header %d."] 3 "\ Set reference header selected as preferred." nil]) (fset 'sc-eref-goto #[(refnum) " ! ! GS$" [sc-valid-index-p refnum sc-eref-show error "Invalid reference: %d. (Range: [%d .. %d])" 0 sc-rewrite-header-list] 5 "\ Show reference style indexed by REFNUM. If REFNUM is an invalid index, don't go to that reference and return nil." "NGoto Reference: "]) (fset 'sc-eref-jump #[nil " !" [sc-eref-show sc-preferred-header-style] 2 "\ Set reference header to preferred header." nil]) (fset 'sc-eref-abort #[nil " " [nil sc-eref-style exit-recursive-edit] 1 "\ Exit from electric reference mode without inserting reference." nil]) (fset 'sc-eref-exit #[nil " " [exit-recursive-edit] 1 "\ Exit from electric reference mode and insert selected reference." nil]) (fset 'sc-insert-reference #[(arg) ": ! !  !!)" [arg sc-electric-mode sc-valid-index-p sc-preferred-header-style 0 preference sc-electric-references-p sc-eref-insert-selected t] 2 "\ Insert, at point, a reference header in the body of the reply. Numeric ARG indicates which header style from `sc-rewrite-header-list' to use when rewriting the header. No supplied ARG indicates use of `sc-preferred-header-style'. With just `\\[universal-argument]', electric reference insert mode is entered, regardless of the value of `sc-electric-references-p'. See `sc-electric-mode' for more information." "P"]) (fset 'sc-raw-mode-toggle #[nil "? ? !" [sc-fixup-whitespace-p sc-auto-fill-region-p sc-set-mode-string set-buffer-modified-p buffer-modified-p] 2 "\ Toggle, in one fell swoop, two important SC variables: `sc-fixup-whitespace-p' and `sc-auto-fill-region-p'" nil]) (fset 'sc-toggle-var #[(variable) "\nJ\n\n!?\"$ " [message "%s changed from %s to %s" variable set-variable eval-expression sc-set-mode-string] 8 "\ Boolean toggle VARIABLE's value. VARIABLE must be a bound symbol. Nil values change to t, non-nil values are changed to nil."]) (fset 'sc-set-variable #[(var) " \"!L* " [(funcall myhelp) minibuffer-help-form #[nil "\n!\n!!\nJ!!)!\n\"O!͑" ["*Help*" prin1 var boundp 20 print-length princ " (Current value: " ")" "\n\nDocumentation:\n" documentation-property variable-documentation 1 nil] 5] myhelp var eval-minibuffer format "Set %s to value: " sc-set-mode-string] 5 "\ Set the Supercite VARIABLE. This function mimics `set-variable', except that the variable to set is determined non-interactively. The value is queried for in the minibuffer exactly the same way that `set-variable' does it. You can see the current value of the variable when the minibuffer is querying you by typing `C-h'. Note that the format is changed slightly from that used by `set-variable' -- the current value is printed just after the variable's name instead of at the bottom of the help window."]) (byte-code "MMMMMMMMMMMMMMMM" [sc-toggle-symbol (macro . #[(rootname) " P!C Q!DD" [defun intern "sc-T-" rootname nil interactive sc-toggle-var quote "sc-" "-p"] 10]) sc-setvar-symbol (macro . #[(rootname) " P!C P!DD" [defun intern "sc-S-" rootname nil interactive sc-set-variable quote "sc-"] 9]) sc-T-confirm-always #[nil "!" [sc-toggle-var sc-confirm-always-p] 2 nil nil] sc-T-downcase #[nil "!" [sc-toggle-var sc-downcase-p] 2 nil nil] sc-T-electric-references #[nil "!" [sc-toggle-var sc-electric-references-p] 2 nil nil] sc-T-auto-fill-region #[nil "!" [sc-toggle-var sc-auto-fill-region-p] 2 nil nil] sc-T-mail-nuke-blank-lines #[nil "!" [sc-toggle-var sc-mail-nuke-blank-lines-p] 2 nil nil] sc-T-nested-citation #[nil "!" [sc-toggle-var sc-nested-citation-p] 2 nil nil] sc-T-electric-circular #[nil "!" [sc-toggle-var sc-electric-circular-p] 2 nil nil] sc-T-use-only-preferences #[nil "!" [sc-toggle-var sc-use-only-preferences-p] 2 nil nil] sc-T-fixup-whitespace #[nil "!" [sc-toggle-var sc-fixup-whitespace-p] 2 nil nil] sc-S-preferred-attribution-list #[nil "!" [sc-set-variable sc-preferred-attribution-list] 2 nil nil] sc-S-preferred-header-style #[nil "!" [sc-set-variable sc-preferred-header-style] 2 nil nil] sc-S-mail-nuke-mail-headers #[nil "!" [sc-set-variable sc-mail-nuke-mail-headers] 2 nil nil] sc-S-mail-header-nuke-list #[nil "!" [sc-set-variable sc-mail-header-nuke-list] 2 nil nil] sc-S-cite-region-limit #[nil "!" [sc-set-variable sc-cite-region-limit] 2 nil nil]] 2) (fset 'sc-T-describe #[nil "!" [describe-function sc-T-describe] 2 "\ Supercite provides a number of key bindings which simplify the process of setting or toggling certain variables controlling its operation. Note on function names in this list: all functions of the form `sc-S-' actually call `sc-set-variable' on the corresponding `sc-' variable. All functions of the form `sc-T-' call `sc-toggle-var' on the corresponding `sc--p' variable. \\{sc-T-keymap}" nil]) (fset 'sc-set-mode-string #[nil " \nê Ū\nƪR" [" SC" sc-auto-fill-region-p sc-fixup-whitespace-p ":" "" "f" "w" sc-mode-string] 4 "\ Update the minor mode string to show state of Supercite."]) (fset 'sc-cite-original #[nil "!\n\n \"NƉ# B    !W)\"!!!!! \"X\"b!#$#!!) #)̉̉,! " [run-hooks sc-pre-hook sc-mode-map-prefix local-set-key sc-mode-map minor-mode-alist sc-minor-mode put (sc-minor-mode sc-mode-string) t sc-set-mode-string undo-boundary nil zmacs-regions mark-active point-marker point copy-marker mark-marker mark tmp sc-mail-process-headers sc-attribs-chop-address sc-mail-field "from" "reply" "reply-to" "sender" sc-select-attribution count-lines linecnt sc-cite-region-limit sc-cite-region sc-preferred-header-style 0 sc-eref-style sc-electric-references-p sc-electric-mode sc-eref-insert-selected beep message "Region not cited. %d lines exceeds sc-cite-region-limit: %d" sc-post-hook] 5 "\ Workhorse citing function which performs the initial citation. This is callable from the various mail and news readers' reply function according to the agreed upon standard. See `\\[sc-describe]' for more details. `sc-cite-original' does not do any yanking of the original message but it does require a few things: 1) The reply buffer is the current buffer. 2) The original message has been yanked and inserted into the reply buffer. 3) Verbose mail headers from the original message have been inserted into the reply buffer directly before the text of the original message. 4) Point is at the beginning of the verbose headers. 5) Mark is at the end of the body of text to be cited. For Emacs 19's, the region need not be active (and typically isn't when this function is called. Also, the hook `sc-pre-hook' is run before, and `sc-post-hook' is run after the guts of this function."]) (fset 'sc-open-line #[(arg) "`y !!b!yW cySm+" [0 looking-at sc-cite-regexp sc-submatch "" prefix start open-line arg 1] 4 "\ Like `open-line', but insert the citation prefix at the front of the line. With numeric ARG, inserts that many new lines." "p"]) (fset 'sc-insert-citation #[(arg) "y !! :!c!)" [0 looking-at sc-cite-regexp "^[ ]*$" arg sc-mail-field "sc-citation" error "Line is already cited."] 2 "\ Insert citation string at beginning of current line if not already cited. With `\\[universal-argument]' insert citation even if line is already cited." "P"]) (fset 'sc-version #[(arg) "\n\" :t  !)" [format "Using Supercite.el %s" sc-version verstr arg "`sc-version' says: " message] 3 "\ Echo the current version of Supercite in the minibuffer. With \\[universal-argument] (universal-argument), or if run non-interactively, inserts the version string in the current buffer instead." "P"]) (fset 'sc-describe #[nil "!" [describe-function sc-describe] 2 "\ Supercite is a package which provides a flexible mechanism for citing email and news replies. Please see the associated texinfo file for more information." nil]) (fset 'sc-submit-bug-report #[nil "!! P#" [require reporter y-or-n-p "Do you want to submit a report on Supercite? " reporter-submit-bug-report sc-help-address "Supercite version " sc-version sc-attrib-selection-list sc-auto-fill-region-p sc-blank-lines-after-headers sc-citation-leader sc-citation-delimiter sc-citation-separator sc-citation-leader-regexp sc-citation-root-regexp sc-citation-nonnested-root-regexp sc-citation-delimiter-regexp sc-citation-separator-regexp sc-cite-region-limit sc-confirm-always-p sc-default-attribution sc-default-author-name sc-downcase-p sc-electric-circular-p sc-electric-references-p sc-fixup-whitespace-p sc-mail-warn-if-non-rfc822-p sc-mumble sc-name-filter-alist sc-nested-citation-p sc-nuke-mail-headers sc-nuke-mail-header-list sc-preferred-attribution-list sc-preferred-header-style sc-reference-tag-string sc-rewrite-header-list sc-titlecue-regexp sc-use-only-preference-p] 34 "\ Submit a bug report on Supercite via mail." nil]) (byte-code "!!" [provide supercite run-hooks sc-load-hook] 2)