MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.222.106.93
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/mail/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/mail/supercite.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:11:46 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/mail/supercite.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307\310\311\310\312&	\210\302\313\304\314\306\307\310\303&\210\302\315\304\316\306\307\310\303&\210\302\317\304\320\306\307\310\303&\210\302\321\304\322\306\307\310\303&\210\323\324\325\326\327\330\310\303&\210\323\331\332\333\327\334\310\303&\210\323\335\336\337\327\340\310\317&\210\323\341\342\343\327\340\310\317&\210\323\344\345\346\327\340\310\317&\210\323\347\350\351\327\352\310\317&\210\323\353\354\355\327\352\310\317&\210\323\356\357\360\327\352\310\317&\210\323\361\362\363\327\352\310\317&\210\323\364\350\365\327\352\310\317&\210\323\366\304\367\327\330\310\317&\210\323\370\371\372\327\373\310\313&\210\374\370\375\325#\210\323\376\377\201@\327\201A\310\313&\210\374\376\375\325#\210\323\201B\201C\201D\327\201E\310\313&\210\374\201B\375\325#\210\323\201F\201G\201H\327\201I\310\313&\210\374\201F\375\325#\210\323\201J\201K\201L\327\201M\310\313&\210\374\201J\375\325#\210\323\201N\201O\201P\327\201Q\310\313&\210\374\201N\375\325#\210\323\201R\325\201S\327\201T\310\317&\210\323\201U\325\201V\327\330\310\315&\210\323\201W\201X\201Y\327\340\310\315&\210\323\201Z\201[\201\\\327\340\310\315&\210\323\201]\304\201^\327\330\310\315\310\317&	\210\323\201_\325\201`\327\330\310\315&\210\323\201a\304\201b\327\201c\310\321&\210\323\201d\304\201e\327\330\310\303&\210\323\201f\304\201g\327\330\310\303&\210\323\201h\304\201i\327\201c\310\321&\210\323\201j\304\201k\327\201c\310\321&\210\323\201l\304\201m\327\201c\310\321&\210\323\201n\325\201o\327\330\310\315&\210\323\201p\201q\201r\327\340\310\315&\210\323\201s\201t\201u\327\201v\310\315&\210\323\201w\304\201x\327\330\310\303&\210\323\201y\201z\201{\327\201|\310\303&\210\323\201}\304\201~\327\201\310\303&\210\323\201\200\201\201\201\202\327\201\203\310\315&\210\323\201\204\304\201\205\327\201\206\310\315&\210\374\201\204\375\325#\210\323\201\207\304\201\210\327\201c\310\315\310\321&	\210\323\201\211\304\201\212\327\201c\310\315\310\321&	\210\323\201\213\304\201\214\327\201c\310\317\310\321&	\210\323\201\215\304\201\216\327\201c\310\317\310\321&	\210\323\201\217\304\201\220\327\201c\310\317\310\321&	\210\323\201\221\201\222\201\223\327\201\224\310\303&\210\323\201\225\201\226\201\227\327\340\310\303&\210\323\201\230\201\231\201\232\327\201\233\310\303&\210\374\201\230\375\325#\210\323\201\234\201\235\201\236\327\201\237\310\315&\210\323\201\240\304\201\241\327\330\310\315&\210\323\201\242\201\243\201\244\327\340\310\303&\207" [require regi custom-declare-group supercite nil "Supercite package." :prefix "sc-" :group mail news supercite-frames "Supercite (regi) frames." supercite-attr "Supercite attributions." supercite-cite "Supercite citings." supercite-hooks "Hooking into supercite." custom-declare-variable sc-auto-fill-region-p t "If non-nil, automatically fill each paragraph after it has been cited." :type boolean sc-blank-lines-after-headers 1 "Number of blank lines to leave after mail headers have been nuked.\nSet to nil, to use whatever blank lines happen to occur naturally." (choice (const :tag "leave" nil) integer) sc-citation-leader "    " "String comprising first part of a citation." string sc-citation-delimiter ">" "String comprising third part of a citation.\nThis string is used in both nested and non-nested citations." sc-citation-separator " " "String comprising fourth and last part of a citation." sc-citation-leader-regexp "[ 	]*" "Regexp describing citation leader for a cited line.\nThis should NOT have a leading `^' character." regexp sc-citation-root-regexp "[-._[:alnum:]]*" "Regexp describing variable root part of a citation for a cited line.\nThis should NOT have a leading `^' character.  See also\n`sc-citation-nonnested-root-regexp'." sc-citation-nonnested-root-regexp "[-._[:alnum:]]+" "Regexp describing the variable root part of a nested citation.\nThis should NOT have a leading `^' character.  This variable is\nrelated to `sc-citation-root-regexp' but whereas that variable\ndescribes both nested and non-nested citation roots, this variable\ndescribes only nested citation roots." sc-citation-delimiter-regexp "[>]+" "Regexp describing citation delimiter for a cited line.\nThis should NOT have a leading `^' character." sc-citation-separator-regexp "Regexp describing citation separator for a cited line.\nThis should NOT have a leading `^' character." sc-cite-blank-lines-p "If non-nil, put a citation on blank lines." sc-cite-frame-alist 'nil "Alist for frame selection during citing.\nEach element of this list has the following form:\n   (INFOKEY ((REGEXP . FRAME)\n             (REGEXP . FRAME)\n             (...)))\n\nWhere INFOKEY is a key for `sc-mail-field', REGEXP is a regular\nexpression to match against the INFOKEY's value.  FRAME is\na citation frame, or a symbol that represents the name of\na variable whose value is a citation frame." (repeat (list symbol (repeat (cons regexp (choice (repeat (repeat sexp)) symbol))))) put risky-local-variable sc-uncite-frame-alist 'nil "Alist for frame selection during unciting.\nSee the variable `sc-cite-frame-alist' for details." (repeat (list symbol (repeat (cons regexp (choice (repeat (repeat sexp)) symbol))))) sc-recite-frame-alist 'nil "Alist for frame selection during reciting.\nSee the variable `sc-cite-frame-alist' for details." (repeat (list symbol (repeat (cons regexp (choice (repeat (repeat sexp)) symbol))))) sc-default-cite-frame '((begin (progn (sc-fill-if-different) (setq sc-tmp-nested-regexp (sc-cite-regexp #1="") sc-tmp-nonnested-regexp (sc-cite-regexp) sc-tmp-dumb-regexp (concat "\\(" (sc-cite-regexp #1#) "\\)" (sc-cite-regexp sc-citation-nonnested-root-regexp))))) ("^[ 	]*$" (if sc-cite-blank-lines-p (if sc-nested-citation-p (sc-add-citation-level) (sc-cite-line)) (sc-fill-if-different #1#))) (sc-reference-tag-string (if (string= sc-reference-tag-string #1#) (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 #1#))) "Default REGI frame for citing a region." (repeat (repeat sexp)) sc-default-uncite-frame '(("^[ 	]*$" nil) ((sc-cite-regexp) (sc-uncite-line))) "Default REGI frame for unciting a region." (repeat (repeat sexp)) 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 #1#))) "Default REGI frame for reciting a region." (repeat (repeat sexp)) sc-cite-region-limit "This variable controls automatic citation of yanked text.\nValid values are:\n\nnon-nil   -- cite the entire region, regardless of its size\nnil       -- do not cite the region at all\n<integer> -- a number indicating the threshold for citation.  When\n	     the number of lines in the region is greater than this\n	     value, a warning message will be printed and the region\n	     will not be cited.  Lines in region are counted with\n	     `count-lines'.\n\nThe gathering of attribution information is not affected by the value\nof this variable.  The number of lines in the region is calculated\n*after* all mail headers are removed.  This variable is only consulted\nduring the initial citing via `sc-cite-original'." (choice (const :tag "do not cite" nil) (integer :tag "citation threshold") (other :tag "always cite" t)) sc-confirm-always-p "If non-nil, always confirm attribution string before citing text body." sc-default-attribution "Anon" "String used when author's attribution cannot be determined." sc-default-author-name "Anonymous" "String used when author's name cannot be determined." sc-downcase-p "Non-nil means downcase the attribution and citation strings." sc-electric-circular-p "If non-nil, treat electric references as circular." sc-electric-mode-hook "Hook for `sc-electric-mode' electric references mode." hook sc-electric-references-p "Use electric references if non-nil." sc-fixup-whitespace-p "If non-nil, delete all leading white space before citing." sc-load-hook "Hook which gets run once after Supercite loads." sc-pre-hook "Hook which gets run before each invocation of `sc-cite-original'." sc-post-hook "Hook which gets run after each invocation of `sc-cite-original'." sc-mail-warn-if-non-rfc822-p "Warn if mail headers don't conform to RFC822." sc-mumble #1# "Value returned by `sc-mail-field' if field isn't in mail headers." 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.\nThis variable contains an association list where each element is of\nthe form:  (REGEXP . POSITION).\n\nREGEXP is a regular expression which matches the name list component.\nMatch is performed using `string-match'.  POSITION is the position in\nthe name list which can match the regular expression, starting at zero\nfor the first element.  Use `last' to match the last element in the\nlist and `any' to match all elements." (repeat (cons regexp (choice (const last) (const any) (integer :tag "position")))) sc-nested-citation-p "Controls whether to use nested or non-nested citation style.\nNon-nil uses nested citations, nil uses non-nested citations." sc-nuke-mail-headers 'all "Controls mail header nuking.\nUsed in conjunction with `sc-nuke-mail-header-list'.  Valid values are:\n\n`all'       -- nuke all mail headers\n`none'      -- don't nuke any mail headers\n`specified' -- nuke headers specified in `sc-nuke-mail-header-list'\n`keep'      -- keep headers specified in `sc-nuke-mail-header-list'" (choice (const all) (const none) (const specified) (const keep)) sc-nuke-mail-header-list "List of mail header regexps to remove or keep in body of reply.\nThis list contains regular expressions describing the mail headers to\nkeep or nuke, depending on the value of `sc-nuke-mail-headers'." (repeat regexp) sc-preferred-attribution-list '("sc-lastchoice" "x-attribution" "firstname" "initials" "lastname") "Specifies what to use as the attribution string.\nSupercite creates a list of possible attributions when it scans the\nmail headers from the original message.  Each attribution choice is\nassociated with a key in an attribution alist.  Supercite tries to\npick a \"preferred\" attribution by matching the attribution alist\nkeys against the elements in `sc-preferred-attribution-list' in order.\nThe first non-empty string value found is used as the preferred\nattribution.\n\nNote that Supercite now honors the X-Attribution: mail field.  If\npresent in the original message, the value of this field should always\nbe used to select the most preferred attribution since it reflects how\nthe original author would like to be distinguished.  It should be\nconsidered bad taste to put any attribution preference key before\n\"x-attribution\" in this list, except perhaps for \"sc-lastchoice\"\n(see below).\n\nSupercite remembers the last attribution used when reciting an already\ncited paragraph.  This attribution will always be saved with the\n\"sc-lastchoice\" key, which can be used in this list.  Note that the\nlast choice is always reset after every call of `sc-cite-original'.\n\nBarring error conditions, the following preferences are always present\nin the attribution alist:\n\n\"emailname\"    -- email terminus name\n\"initials\"     -- initials of author\n\"firstname\"    -- first name of author\n\"lastname\"     -- last name of author\n\"middlename-1\" -- first middle name of author\n\"middlename-2\" -- second middle name of author\n...\n\nMiddle name indexes can be any positive integer greater than 0,\nalthough it is unlikely that many authors will supply more than one\nmiddle name, if that many.  The string of all middle names is\nassociated with the key \"middlenames\"." (repeat string) sc-attrib-selection-list "An alist for selecting preferred attribution based on mail headers.\nEach element of this list has the following form:\n\n   (INFOKEY ((REGEXP . ATTRIBUTION)\n             (REGEXP . ATTRIBUTION)\n             (...)))\n\nWhere INFOKEY is a key for `sc-mail-field', REGEXP is a regular\nexpression to match against the INFOKEY's value.  ATTRIBUTION can be a\nstring or a list.  If it's a string, then it is the attribution that is\nselected by `sc-select-attribution'.  If it is a list, it is `eval'd\nand the return value must be a string, which is used as the selected\nattribution.  Note that the variable `sc-preferred-attribution-list'\nmust contain an element of the string \"sc-consult\" for this variable\nto be consulted during attribution selection." (repeat (list string (repeat (cons regexp (choice (sexp :tag "List to eval") string))))) sc-attribs-preselect-hook "Hook to run before selecting an attribution." sc-attribs-postselect-hook "Hook to run after selecting an attribution, but before confirmation." sc-pre-cite-hook "Hook to run before citing a region of text." sc-pre-uncite-hook "Hook to run before unciting a region of text." sc-pre-recite-hook "Hook to run before reciting a region of text." sc-preferred-header-style 4 "Index into `sc-rewrite-header-list' specifying preferred header style.\nIndex zero accesses the first function in the list." integer sc-reference-tag-string ">>>>> " "String used at the beginning of built-in reference headers." 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.\nThe variable `sc-preferred-header-style' controls which function in\nthis list is chosen for automatic reference header insertions.\nElectric reference mode will cycle through this list of functions." (repeat sexp) sc-titlecue-regexp "\\s +-+\\s +" "Regular expression describing the separator between names and titles.\nSet to nil to treat entire field as a name." (choice (const :tag "entire field as name" nil) regexp) sc-use-only-preference-p "Controls what happens when the preferred attribution cannot be found.\nIf non-nil, then `sc-default-attribution' will be used.  If nil, then\nsome secondary scheme will be employed to find a suitable attribution\nstring." sc-mode-map-prefix "" "Key binding to install Supercite keymap."] 10)
#@61 Alist of mail header information gleaned from reply buffer.
(defvar sc-mail-info nil (#$ . 15087))
#@44 Alist of attributions for use when citing.
(defvar sc-attributions nil (#$ . 15192))
#@47 Temporary regexp describing nested citations.
(defvar sc-tmp-nested-regexp nil (#$ . 15283))
#@51 Temporary regexp describing non-nested citations.
(defvar sc-tmp-nonnested-regexp nil (#$ . 15382))
#@72 Temp regexp describing non-nested citation cited with a nesting citer.
(defvar sc-tmp-dumb-regexp nil (#$ . 15488))
(byte-code "\300\301!\210\300\302!\207" [make-variable-buffer-local sc-mail-info sc-attributions] 2)
#@58 Keymap for sub-keymap of setting and toggling functions.
(defvar sc-T-keymap (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\302\327\330#\210\302\331\332#\210\302\333\334#\210\302\335\336#\210\302\337\340#\210\302\341\320#\210)\207" [map 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) (#$ . 15711))
#@34 Keymap for Supercite quasi-mode.
(defvar sc-mode-map (byte-code "\302 \303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330	#\210\303\331\313#\210)\207" [map sc-T-keymap 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 "w" sc-insert-reference "" "?"] 4) (#$ . 16577))
#@57 Keymap for `sc-electric-mode' electric references mode.
(defvar sc-electric-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\314#\210\302\316\317#\210\302\320\317#\210\302\321\322#\210\302\323\324#\210\302\325\324#\210\302\326\324#\210\302\327\324#\210)\207" [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 "" [f1] [help]] 4) (#$ . 17164))
#@60 Keymap for minibuffer confirmation of attribution strings.
(defvar sc-minibuffer-local-completion-map (byte-code "\302!\303	\304\305#\210\303	\306\307#\210	)\207" [minibuffer-local-completion-map map copy-keymap define-key "" sc-toggle-fn " " self-insert-command] 4) (#$ . 17731))
#@60 Keymap for minibuffer confirmation of attribution strings.
(defvar sc-minibuffer-local-map (byte-code "\302!\303	\304\305#\210	)\207" [minibuffer-local-map map copy-keymap define-key "" sc-toggle-fn] 4) (#$ . 18021))
#@510 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.
(defalias 'sc-ask #[(alist) "\306\307\310#\311\306\312\313#\314R\211\315\316!\205\316 \n;\203\236\317\211\320\321\n\"\210\322 \323*\203M\320\324\n\325!#\210\315\326!\203E\326!\210\323\327\330\323\"\210\323\211 \203\\ \227 \331 \"\211\203v\320\324\n@#\210A\202\232\315\332!\203\202\332!\204\232\320\324\n\325!#\210\333 \210\334 \210\n	=\203\232\335	P*\202\315\326!\203\250\326!\210\n+\207" [alist prompt p event inhibit-quit cursor-in-echo-area mapconcat #[(elt) "@\207" [elt] 1] ", " "? (" #[(elt) "\301A!\207" [elt char-to-string] 2] "/" ") " fboundp allocate-event t message "%s" read-event nil "%s%s" single-key-description deallocate-event signal quit rassq button-release-event-p ding discard-input "Try again.  " quit-flag elt char] 7 (#$ . 18248)])
#@64 Find a match in the info alist that matches a regexp in ALIST.
(defalias 'sc-scan-info-alist #[(alist) "\306\307\n\203Q\n@\211@\310\f!\211\nA@)\203J@\211\f@
\fA\311

\"\203A\307\211\202FA+\202\nA,\202*\207" [rtnvalue sc-mumble alist elem infokey infoval "" nil sc-mail-field string-match x mlist ml-elem regexp thing] 4 (#$ . 19570)])
#@25 Start of header fields.
(defvar sc-mail-headers-start nil (#$ . 19950))
#@23 End of header fields.
(defvar sc-mail-headers-end nil (#$ . 20028))
#@50 For minibuffer completion on mail field queries.
(defvar sc-mail-field-history nil (#$ . 20102))
#@56 For minibuffer completion on mail field modifications.
(defvar sc-mail-field-modification-history nil (#$ . 20205))
#@50 Regi frame for glomming mail header information.
(defvar sc-mail-glom-frame '((begin (setq sc-mail-headers-start (point))) ("^From " (sc-mail-check-from) nil nil) ("^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)))) (#$ . 20327))
(put 'sc-mail-glom-frame 'risky-local-variable t)
#@105 Deal with a "From " line in the header.
Such a line should only occur at the very start of the headers.
(defalias 'sc-mail-check-from #[nil "\205
`	U?\205
\302 \207" [sc-mail-warn-if-non-rfc822-p sc-mail-headers-start sc-mail-error-in-mail-field] 2 (#$ . 20832)])
#@140 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.
(defalias 'sc-mail-fetch-field #[(&optional attribs-p) "\306\307\"\203%\310\311\"\227\310\312\"	\nB\211\fB
\203$\fB\f+\313\207" [curline key val keyval sc-mail-info attribs-p string-match "^\\(\\S *\\)\\s *:\\s +\\(.*\\)$" match-string-no-properties 1 2 nil sc-attributions] 4 (#$ . 21106)])
#@69 Append a continuation line onto the last fetched mail field's info.
(defalias 'sc-mail-append-field #[nil "@\211\203\303\304\n\"\203	\211A\305\306\307\n\"Q\241\210)\310\207" [sc-mail-info keyval curline string-match "^\\s *\\(.*\\)$" " " match-string-no-properties 1 nil] 7 (#$ . 21555)])
#@59 Issue warning that mail headers don't conform to RFC 822.
(defalias 'sc-mail-error-in-mail-field #[nil "G\304^\211GW\203\305\202\306\307\310\311	O\n#\210+\312 \210\313\314!\210\315\207" [curline len ellipsis msg 10 "..." "" "Mail header \"%s%s\" doesn't conform to RFC 822. skipping..." message 0 beep sit-for 2 nil] 6 (#$ . 21856)])
#@36 True if the last header was nuked.
(defvar sc-mail-last-header-nuked-p nil (#$ . 22207))
#@36 Nuke the current mail header line.
(defalias 'sc-mail-nuke-line #[nil "\300 \300\301!|\210\302\207" [line-beginning-position 2 ((step . -1))] 3 (#$ . 22302)])
#@59 Delete current-line and set up for possible continuation.
(defalias 'sc-mail-nuke-header-line #[nil "\301\302 \207" [sc-mail-last-header-nuked-p t sc-mail-nuke-line] 1 (#$ . 22467)])
#@65 Delete a continuation line if the last header line was deleted.
(defalias 'sc-mail-nuke-continuation-line #[nil "\205\301 \207" [sc-mail-last-header-nuked-p sc-mail-nuke-line] 1 (#$ . 22657)])
#@136 Leave some blank lines after original mail headers are nuked.
The number of lines left is specified by `sc-blank-lines-after-headers'.
(defalias 'sc-mail-cleanup-blank-lines #[nil "\203'\214~\210\301\302x\210\303y\210\304 \210\305 \210\306\307!\203!\310 \310\311!|\210\312\313\"\210)\302\207" [sc-blank-lines-after-headers " 	\n" nil 1 delete-blank-lines beginning-of-line looking-at "[ 	]*$" line-beginning-position 2 insert-char 10] 3 (#$ . 22860)])
#@46 Build the regiframe for nuking mail headers.
(defalias 'sc-mail-build-nuke-frame #[nil "\305\211\211\306=\203\307\2026\310=\203\311\312\2026\313=\203+\314\315\2026\316=\2046\317\320\"\210\321	\205A\322\f	\305\323$\205I\324DC\n?\205O\325\326\327\n\205Y\330\nDC&+\207" [nonentry-func entry-func every-func sc-nuke-mail-headers sc-nuke-mail-header-list nil 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 "Invalid value for sc-nuke-mail-headers: %s" append regi-mapcar t "^\\S +:.*$" (("^[ 	]+" (sc-mail-nuke-continuation-line))) ((begin (setq sc-mail-last-header-zapped-p nil))) ((end (sc-mail-cleanup-blank-lines))) every] 8 (#$ . 23322)])
#@197 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.
(defalias 'sc-mail-process-headers #[(start end) "\306!\306	!\307\211\310\f
\f#\210\204#\311\312!\210\n\211\202+\310\313 
#*\207" [sc-mail-info sc-attributions attribs info sc-mail-glom-frame start copy-alist nil regi-interpret message "No mail headers found! Restoring old information." sc-mail-build-nuke-frame end sc-mail-headers-start sc-mail-headers-end] 5 (#$ . 24157) "r"])
#@171 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.
(defalias 'sc-mail-field #[(field) "\303	\304#A\206\n\n\207" [field sc-mail-info sc-mumble assoc-string case-fold] 4 (#$ . 24756)])
#@149 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.
(defalias 'sc-mail-field-query #[(arg) "\306	\204\n\307\202
\310!\311\n\205\210\312\313\n\"@\314P\f\311\n\315=?\205&\316\311\317&\n\307=\203=\320\321\322\f\"A#\202\210\n\323=\203O\324\322\f\"\f\"\211\202\210\n\325=\203w\322\f\"\211A\235\204i
AB
\326\327P
A\330#\241)\202\210\n\315=\205\210\326\327P!B\fB\211+\207" [alist arg action key sc-mail-info keyval (("view" . 118) ("modify" . 109) ("add" . 97) ("delete" . 100)) 118 sc-ask nil completing-read rassq " information key: " 97 noexit sc-mail-field-history message "%s: %s" assoc 100 delq 109 read-string ": " sc-mail-field-modification-history] 8 (#$ . 25067) "P"])
#@50 History for confirmation of attribution strings.
(defvar sc-attribution-confirmation-history nil (#$ . 25876))
#@51 History for confirmation of attribution prefixes.
(defvar sc-citation-confirmation-history nil (#$ . 25993))
#@293 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''.
(defalias 'sc-attribs-%@-addresses #[(from &optional delim) "\302\303P	\304#\205	\304\224\304\225\204\304\202\305ZO\207" [delim from string-match "[-[:alnum:]_.]+" 0 1] 4 (#$ . 26109)])
#@127 Extract the author's email terminus from email address FROM.
Match addresses of the style ``[stuff]![stuff]...!name[stuff].''
(defalias 'sc-attribs-!-addresses #[(from) "G\304\305\306#\306\225\n\205!\nT	\211U\203\306\202\307ZO+\207" [from mend mstart eos string-match "![-[:alnum:]_.]+\\([^-![:alnum:]_.]\\|$\\)" 0 1] 5 (#$ . 26602)])
#@110 Extract the author's email terminus from email address FROM.
Match addresses of the style ``<name[stuff]>.''
(defalias 'sc-attribs-<>-addresses #[(from) "\301\302\"\205\303\304\"\207" [from string-match "<\\(.*\\)>" match-string 1] 3 (#$ . 26956)])
#@109 Get the full email address path from FROM.
AUTHOR is the author's name (which is removed from the address).
(defalias 'sc-get-address #[(from author) "G\304\305\306\n!\307Q\310#\2036\310\225	O\211\310H\311U\2031\211GSH\312U\2031\313GSO\2022)\202F\304\314\310#\203E\315\310\"\202F\316)\207" [from eos author address string-match "\\`\"?" regexp-quote "\"?\\s +" 0 60 62 1 "[-[:alnum:]!@%._]+" match-string ""] 5 (#$ . 27216)])
#@40 Get the email terminus name from FROM.
(defalias 'sc-attribs-emailname #[(from) "\301\302\"\206$\301\303\"\206$\304!\206$\305!\206$\301!\206$\306\307O\207" [from sc-attribs-%@-addresses "%" "@" sc-attribs-!-addresses sc-attribs-<>-addresses 0 10] 3 (#$ . 27666)])
#@135 Extract the specified substring of STRING from START to END.
EXTEND is the number of characters on each side to extend the
substring.
(defalias 'sc-name-substring #[(string start end extend) "\205	\\\n	Z
\f\306
\f#\206O*\207" [start extend end eos sos string string-match sc-titlecue-regexp] 6 (#$ . 27948)])
#@99 Extract the name string from FROM.
This should be the author's full name minus an optional title.
(defalias 'sc-attribs-extract-namestring #[(from) "\305\306\307#\203(\310\307\211\224\307$\305\311	\307#\203#\310	\307\224\307\225\312$\202$	)\206U\310\305\313\307#\307\225\312$\206U\310\305\311\307#\307\225\312$\206U\310\305\314\307#\312\225\307$\206U\315!\211\205\220\307\nGS\211X\203u\n\fH\316>\203u\fT\211\202a\fV\203\212\nH\317>\203\212S\211\202v\n\fTO*)\207" [from before-angles namestring eos bos string-match " *<.*>" 0 sc-name-substring "\".*\"" 1 "(.*)" "\\([-.[:alnum:]_]+\\s +\\)+<" sc-attribs-emailname (32 9) (32 9)] 7 (#$ . 28274)])
#@132 Convert NAMESTRING to a list of names.
example: (sc-attribs-chop-namestring "John Xavier Doe")
         => ("John" "Xavier" "Doe")
(defalias 'sc-attribs-chop-namestring #[(namestring) "\301\302\"\205\303\304\"\305\306\225\307O!B\207" [namestring string-match "\\([ 	]*\\)\\([^ 	._]+\\)\\([ 	]*\\)" match-string 2 sc-attribs-chop-namestring 3 nil] 5 (#$ . 28961)])
#@50 Extract the author's initials from the NAMELIST.
(defalias 'sc-attribs-strip-initials #[(namelist) "\301\302\303#\207" [namelist mapconcat #[(name) "\301GW\205\301\302O\207" [name 0 1] 3] ""] 4 (#$ . 29336)])
#@187 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.
(defalias 'sc-guess-attribution #[(&optional string) "\306\206\n\307 \310 {\311\211\312\n#\206\313U\205b\306\225\211\205b\n\312\f\n#\206-\314U\205b\315\306\"\306\225\211\205b\n\312
\n#\206G\313U\205b\306\225\211\205b\n\312\n#\206]\313U\205b	+\207" [string attribution start sc-citation-leader-regexp sc-citation-root-regexp sc-citation-delimiter-regexp 0 line-beginning-position line-end-position nil string-match -1 1 match-string sc-citation-separator-regexp] 6 (#$ . 29557)])
#@67 Filter out noise in NAMELIST according to `sc-name-filter-alist'.
(defalias 'sc-attribs-filter-namelist #[(namelist) "G\305\306\211\307\310\"\210\307\311\n\"\210	,\207" [namelist filtered-list keepers position elements -1 nil mapc #[(name) "T\304\305\306\n\"\210	\205B\211)\207" [position keep-p sc-name-filter-alist keepers t mapc #[(filter) "@A\306\n\"\205/	\247\203	\fU\204+	\307=\203%\f
SU\204+	\310=\205/\311\211\n*\207" [filter pos regexp name position elements string-match last any nil keep-p] 3]] 3] #[(position) "	8\nB\211\207" [position namelist filtered-list] 2]] 4 (#$ . 30257)])
#@121 Extract attribution information from FROM.
This populates the `sc-attributions' with the list of possible attributions.
(defalias 'sc-attribs-chop-address #[(from) ";\203\246\306GW\203\246\307\310!\311\312\n!!\313A!@\313\fA!&\f@'\314!(\315!)\316*\317\211+,\320\321&\322#,
\322,&\205O\322'\260+\323\324
B\325'B\326)B\327(BF-\"-\323\330
B\331,B\332'B\333)B\334(B\335+B\336\337\340\341!\n\"B\342\337\340\343!\n\"B\344\337\340\345!\n\"B\257	.\"\211..\f\207\335/B.B\211.\207" [from sc-mumble namestring namelist revnames firstname 0 "" sc-attribs-extract-namestring sc-attribs-filter-namelist sc-attribs-chop-namestring reverse sc-attribs-strip-initials sc-attribs-emailname 1 nil mapconcat #[(midname) "\306\307\"\306\310\"\211B\fB	B
BT*\207" [n key-mail key-attribs midname sc-attributions sc-mail-info format "middlename-%d" "sc-middlename-%d"] 5] " " append "firstname" "lastname" "emailname" "initials" "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" midnames lastname initials emailname n author middlenames sc-attributions sc-mail-info sc-default-author-name] 14 (#$ . 30886)])
#@61 Used to toggle between attribution input or citation input.
(defvar sc-attrib-or-cite nil (#$ . 32179))
#@93 Toggle between attribution selection and citation selection.
Only used during confirmation.
(defalias 'sc-toggle-fn #[nil "?\301\302\303\"\207" [sc-attrib-or-cite throw sc-reconfirm t] 3 (#$ . 32289) nil])
#@622 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.
(defalias 'sc-select-attribution #[nil "\306\307!\210\310\211	\n\203v\n@\211\311\230\203^\312 !\211!\204*\nA\202Z!;\2038!\310\202Z!<\203U\313!!\211;\203M\310\202Z\310\nA\202Z\314\315\316\"\210)\202r\317\"\"A\211\203o\310\202r\nA)\202\f\f\204\261#\204\261\317\320\"\"A\206\260\317\321\"\"A\206\260\317\322\"\"A\206\260\317\323\"\"A\206\260\317\324\"\"A\206\260\"@A\f\204\272$\325\326\f!\306\327!\210
\203\330\331\"\"%&'()\f*\325+\310\211,-\332\333\215\204\341-\203\372,\334!\206\366\202\326,!,..\203\227\f\227\335/\3360\317/1\"2\31701\"32\20322\241\210\202;/B1B13\203H3\f\241\210\202Q0\fB1B1,\3204\3174\"\"\2115\203h5\f\241\202r4\fB\"B\211\".\207" [sc-confirm-always-p sc-preferred-attribution-list attriblist citation attribution query-p run-hooks sc-attribs-preselect-hook nil "sc-consult" sc-scan-info-alist eval error "%s did not evaluate to a string or list!" "sc-attrib-selection-list" assoc "sc-lastchoice" "x-attribution" "firstname" "lastname" "initials" t sc-make-citation sc-attribs-postselect-hook mapcar #[(entry) "AC\207" [entry] 1] sc-reconfirm (byte-code "\203\f\305\306	\307#\202\310\311\n\312\211\313B\314&\312\207" [sc-attrib-or-cite citation query-alist initial choice read-string "Enter citation prefix: " sc-citation-confirmation-history completing-read "Complete attribution name: " nil 0 sc-attribution-confirmation-history] 7) sc-guess-attribution "sc-citation" "sc-attribution" preferred sc-attrib-selection-list attrib sc-attributions sc-use-only-preference-p sc-default-attribution 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-downcase-p ckey akey sc-mail-info ckeyval akeyval lkey lastchoice] 5 (#$ . 32504)])
#@289 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'.
(defalias 'sc-cite-regexp #[(&optional root-regexp) "	\206\n\fR\207" [sc-citation-leader-regexp root-regexp sc-citation-root-regexp sc-citation-delimiter-regexp sc-citation-separator-regexp] 4 (#$ . 35040)])
#@46 Make a non-nested citation from ATTRIBUTION.
(defalias 'sc-make-citation #[(attribution) "	\nR\207" [sc-citation-leader attribution sc-citation-delimiter sc-citation-separator] 4 (#$ . 35546)])
#@65 Setup `filladapt-prefix-table' to handle Supercited paragraphs.
(defalias 'sc-setup-filladapt #[nil "\303\304	\"\211\203\n\305 \240\202\306\307!\210\310 *\207" [fa-sc-elt filladapt-prefix-table elt filladapt-supercite-included-text rassq sc-cite-regexp message "Filladapt doesn't seem to know about Supercite." beep] 4 (#$ . 35748)])
#@35 Buffer position to begin filling.
(defvar sc-fill-begin 1 (#$ . 36095))
#@30 Fill prefix of previous line
(defvar sc-fill-line-prefix "" (#$ . 36173))
#@283 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.
(defalias 'sc-fill-if-different #[(&optional prefix) "\204\f\305\306 \202*\203*	\230\204*	\211\305\230\204$\307\n\306 \"\210\306 )\310\207" [prefix sc-fill-line-prefix sc-fill-begin sc-auto-fill-region-p fill-prefix "" line-beginning-position fill-region nil] 4 (#$ . 36254)])
#@50 Coerce a Supercited line to look like our style.
(defalias 'sc-cite-coerce-cited-line #[nil "\303 \304!\305!\203.\306	!\203.\307\224\212\307\225b\210n\203#\310u\210`)|\210\nc\210\311\n!\210+\312\207" [attribution regexp prefix sc-guess-attribution sc-cite-regexp sc-make-citation looking-at 0 -1 sc-fill-if-different nil] 2 (#$ . 36833)])
#@75 Coerce a non-nested citation that's been cited with a dumb nesting citer.
(defalias 'sc-cite-coerce-dumb-citer #[nil "\300\224\300\225|\210\301 \210\302 \207" [1 beginning-of-line sc-cite-coerce-cited-line] 2 (#$ . 37187)])
#@189 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.
(defalias 'sc-guess-nesting #[(&optional string) "\306\206\n\307 \310 {\311\211\312\n#\206\313U\205L\306\225\211\205L\n\312\f\n#\206-\313U\205L\314\306\"\306\225\211\205L\n\312
\n#\206G\313U\205L	+\207" [string nesting start sc-citation-leader-regexp sc-citation-delimiter-regexp sc-citation-separator-regexp 0 line-beginning-position line-end-position nil string-match -1 match-string] 6 (#$ . 37418)])
#@61 Add a citation level for nested citation style w/ coercion.
(defalias 'sc-add-citation-level #[nil "\306 \307GT\310	!\"\n\fQ\311\312\313!!\203\314\224\314\225|\210
c\210\315
!+\207" [nesting sc-citation-delimiter citation sc-citation-leader sc-citation-separator prefix sc-guess-nesting make-string string-to-char looking-at sc-cite-regexp "" 0 sc-fill-if-different] 4 (#$ . 38038)])
#@102 Cite a single line of uncited text.
Optional CITATION overrides any citation automatically selected.
(defalias 'sc-cite-line #[(&optional citation) "\203\305 \210	\206\306\307\n\"A\206\211c\210\310\f!\210)\311\207" [sc-fixup-whitespace-p citation sc-mail-info sc-default-attribution prefix fixup-whitespace assoc "sc-citation" sc-fill-if-different nil] 4 (#$ . 38436)])
#@36 Remove citation from current line.
(defalias 'sc-uncite-line #[nil "\301\302 !\211\203\303\224\303\225|\210)\304\207" [cited looking-at sc-cite-regexp 0 nil] 3 (#$ . 38821)])
#@68 Remove citation matching REGEXP from current line and recite line.
(defalias 'sc-recite-line #[(regexp) "\305\306P!\307\310	\"A\211\203\311\224\311\225|\210\n\206\fc\210\312\n!\210*\313\207" [regexp sc-mail-info prefix cited sc-default-attribution looking-at "^" assoc "sc-citation" 0 sc-fill-if-different nil] 5 (#$ . 39005)])
#@310 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'.

When called interactively, the optional arg INTERACTIVE is non-nil,
and that means call `sc-select-attribution' too.
(defalias 'sc-cite-region #[(start end &optional confirm-p interactive) "\306 \210\307!	\203\310\202\n\211\2039\203J\204#\f\311\312!\210
\203.\313 \210\314
#*\207" [sc-cite-frame-alist confirm-p sc-confirm-always-p frame sc-default-cite-frame interactive undo-boundary sc-scan-info-alist t run-hooks sc-pre-cite-hook sc-select-attribution regi-interpret start end] 5 (#$ . 39347) "r\nP\np"])
#@79 Uncite a region delineated by START and END.
First runs `sc-pre-uncite-hook'.
(defalias 'sc-uncite-region #[(start end) "\305 \210\306!\211\203	9\203	J	\204\n\307\310!\210\311	\f#)\207" [sc-uncite-frame-alist frame sc-default-uncite-frame start end undo-boundary sc-scan-info-alist run-hooks sc-pre-uncite-hook regi-interpret] 5 (#$ . 40076) "r"])
#@79 Recite a region delineated by START and END.
First runs `sc-pre-recite-hook'.
(defalias 'sc-recite-region #[(start end) "\306\307 \210)\310 \210\311	!\211\203\n9\203\nJ\n\204\312\313!\210\314\n\f
#)\207" [sc-confirm-always-p sc-recite-frame-alist frame sc-default-recite-frame start end t sc-select-attribution undo-boundary sc-scan-info-alist run-hooks sc-pre-recite-hook regi-interpret] 5 (#$ . 40441) "r"])
#@269 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.
(defalias 'sc-hdr #[(prefix field &optional sep return-nil-p) ";\203\304\230\204	\n\206\304Q\207?\205\304\207" [field prefix sep return-nil-p ""] 3 (#$ . 40869)])
#@52 Return the value of (sc-mail-field "from") or nil.
(defalias 'sc-whofrom #[nil "\301\302\303!)\207" [sc-mumble nil sc-mail-field "from"] 2 (#$ . 41318)])
#@63 Does nothing.  Use this instead of nil to get a blank header.
(defalias 'sc-no-header #[nil "\300\207" [nil] 1 (#$ . 41479)])
#@71 Similar to `sc-no-header' except it removes the preceding blank line.
(defalias 'sc-no-blank-line-or-header #[nil "o?\205)l\205)\301y\210`\212\302 \210\303\304!)U\204$\305=\205)\306 \205)\307y\210\310 \207" [major-mode -1 rfc822-goto-eoh line-beginning-position 2 mh-letter-mode mh-in-header-p nil kill-line] 3 (#$ . 41611)])
#@183 "On <date>, <from> 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.
(defalias 'sc-header-on-said #[nil "\303\304 \205\n\305\306\307\310!\311#\312\261*\207" [whofrom sc-mumble sc-reference-tag-string "" sc-whofrom sc-hdr "On " sc-mail-field "date" ", " " said:\n"] 5 (#$ . 41950)])
#@113 "In article <message-id>, <from> writes:"
Treats "message-id" and "from" fields similar to `sc-header-on-said'.
(defalias 'sc-header-inarticle-writes #[nil "\303\304\305!\205\n\306\307\304\310!\311#\312\261*\207" [whofrom sc-mumble sc-reference-tag-string "" sc-mail-field "from" sc-hdr "In article " "message-id" ", " " writes:\n"] 5 (#$ . 42359)])
#@104 "Regarding <subject>; <from> adds:"
Treats "subject" and "from" fields similar to `sc-header-on-said'.
(defalias 'sc-header-regarding-adds #[nil "\303\304 \205\n\305\306\307\310!\311#\312\261*\207" [whofrom sc-mumble sc-reference-tag-string "" sc-whofrom sc-hdr "Regarding " sc-mail-field "subject" "; " " adds:\n"] 5 (#$ . 42723)])
#@117 "<sc-attribution>" == <sc-author> <address> writes:
Treats these fields in a similar manner to `sc-header-on-said'.
(defalias 'sc-header-attributed-writes #[nil "\303\304 \2052\n\305\306\307\310!\311#\305\303\307\312!\313#\305\314\307\315!\316\317$\206/\305\314\307\320!\316\317$\206/\303\321\261*\207" [whofrom sc-mumble sc-reference-tag-string "" sc-whofrom sc-hdr "\"" sc-mail-field "sc-attribution" "\" == " "sc-author" " " "<" "sc-from-address" ">" t "sc-reply-address" " writes:\n"] 8 (#$ . 43070)])
#@21 <sc-author> writes:
(defalias 'sc-header-author-writes #[nil "\303\304 \205\n\305\303\306\307!\"\310\261*\207" [whofrom sc-mumble sc-reference-tag-string "" sc-whofrom sc-hdr sc-mail-field "sc-author" " writes:\n"] 5 (#$ . 43589)])
#@31 Very verbose, some say gross.
(defalias 'sc-header-verbose #[nil "\305\306 \n\205w\307	\310P\311\312!\313#\307	\311\314!\315\316$\206#	\n\315Q\307	\317P\311\320!\315#	\321P\307\f\311\322!\315\316$\206G\307\f\311\323!\315\316$\206G\305)\307	\324P\311\325!\326#\307	\327P\311\330!\315#\307	\331P\311\332!\315#\307	\333P\311\334!\315#\307	\335P\311\336!\337#\261	+\207" [sc-reference-tag-string tag whofrom sc-mumble rtag "" sc-whofrom sc-hdr "On " sc-mail-field "date" ",\n" "sc-author" "\n" t "from the organization of " "organization" "who can be reached at: " "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 (#$ . 43833)])
#@50 Supercite electric reference mode's buffer name.
(defconst sc-electric-bufname " *sc-erefs* " (#$ . 44686))
#@35 Current electric reference style.
(defvar sc-eref-style 0 (#$ . 44800))
#@92 Returns INDEX if it is a valid index into `sc-rewrite-header-list'.
Otherwise returns nil.
(defalias 'sc-valid-index-p #[(index) "\302!\205	GW\205\207" [index sc-rewrite-header-list natnump] 2 (#$ . 44878)])
#@141 Insert the selected reference header in the current buffer.
Optional NOMSG, if non-nil, inhibits printing messages, unless an
error occurs.
(defalias 'sc-eref-insert-selected #[(&optional nomsg) "	8\303\304\305\217)\207" [sc-eref-style sc-rewrite-header-list ref err (byte-code "\304!\210\305ed\"\n\206\306\307	\211\310U\203\311\202\312%)\207" [ref lines nomsg sc-eref-style eval count-lines message "Ref header %d [%d line%s]: %s" 1 "" "s"] 6) ((void-function (byte-code "\303\304\211A@)\n#\210\305 \207" [err x sc-eref-style message "Symbol's function definition is void: %s (Header %d)" beep] 5)))] 3 (#$ . 45100)])
#@396 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 STYLE is the initial
header style to use, unless not supplied or invalid, in which case
`sc-preferred-header-style' is used.
(defalias 'sc-electric-mode #[(&optional style) "\306\n!\206\306!\206\307\310
!\210\212\311 \312\216\313
!\210\314 \210	\315\316\317\320!\210\321\f!\210\322\323!\210\324 \210.\f\203F\325 \210\326
!)\207" [sc-mail-info info style sc-preferred-header-style sc-eref-style sc-electric-bufname sc-valid-index-p 0 get-buffer-create current-window-configuration ((set-window-configuration #1=#:wconfig)) pop-to-buffer kill-all-local-variables t "SC Electric Refs" sc-electric-mode use-local-map sc-eref-show run-mode-hooks sc-electric-mode-hook recursive-edit sc-eref-insert-selected kill-buffer #1# major-mode mode-name buffer-read-only sc-electric-mode-map] 4 (#$ . 45740)])
#@51 Show reference INDEX in `sc-rewrite-header-list'.
(defalias 'sc-eref-show #[(index) "\306G\307!\203\202<\310W\203'\f\203	S\202<\311\n\312\"\210\310\202<	Y\205<\f\2035\310\202<\311\n\313\"\210	Srq\210\314\315 \210eb\210\316 \210\317ed\"\320 S\211U?\205}V\203s\321Z!\202}\322]Z!.\207" [sc-rewrite-header-list last msg index sc-electric-circular-p sc-eref-style "No %ing reference headers in list." sc-valid-index-p 0 error "preced" "follow" t erase-buffer sc-eref-insert-selected count-lines window-height enlarge-window shrink-window sc-electric-bufname inhibit-read-only winlines hdrlines window-min-height] 5 (#$ . 46832)])
#@41 Display next reference in other buffer.
(defalias 'sc-eref-next #[nil "\301T!\207" [sc-eref-style sc-eref-show] 2 (#$ . 47510) nil])
#@45 Display previous reference in other buffer.
(defalias 'sc-eref-prev #[nil "\301S!\207" [sc-eref-style sc-eref-show] 2 (#$ . 47650) nil])
#@45 Set reference header selected as preferred.
(defalias 'sc-eref-setn #[nil "\302\303\"\207" [sc-eref-style sc-preferred-header-style message "Preferred reference style set to header %d."] 3 (#$ . 47794) nil])
#@115 Show reference style indexed by REFNUM.
If REFNUM is an invalid index, don't go to that reference and return
nil.
(defalias 'sc-eref-goto #[(refnum) "\302!\203\n\303!\207\304\305\306	GS$\207" [refnum sc-rewrite-header-list sc-valid-index-p sc-eref-show error "Invalid reference: %d. (Range: [%d .. %d])" 0] 5 (#$ . 48012) "NGoto Reference: "])
#@43 Set reference header to preferred header.
(defalias 'sc-eref-jump #[nil "\301!\207" [sc-preferred-header-style sc-eref-show] 2 (#$ . 48366) nil])
#@64 Exit from electric reference mode without inserting reference.
(defalias 'sc-eref-abort #[nil "\301\302 \207" [sc-eref-style nil exit-recursive-edit] 1 (#$ . 48519) nil])
#@66 Exit from electric reference mode and insert selected reference.
(defalias 'sc-eref-exit #[nil "\300 \207" [exit-recursive-edit] 1 (#$ . 48697) nil])
#@412 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.
(defalias 'sc-insert-reference #[(arg) ":\203\304 \207\305!\206\305	!\206	\206\306\203$\304\n!\202'\307\310!)\207" [arg sc-preferred-header-style preference sc-electric-references-p sc-electric-mode sc-valid-index-p 0 sc-eref-insert-selected t] 2 (#$ . 48854) "P"])
#@108 Toggle, in one fell swoop, two important SC variables:
`sc-fixup-whitespace-p' and `sc-auto-fill-region-p'
(defalias 'sc-raw-mode-toggle #[nil "?	?\302 \207" [sc-fixup-whitespace-p sc-auto-fill-region-p force-mode-line-update] 1 (#$ . 49552) nil])
#@127 Boolean toggle VARIABLE's value.
VARIABLE must be a bound symbol.  nil values change to t, non-nil
values are changed to nil.
(defalias 'sc-toggle-var #[(variable) "\301\302\211J\211J?L$\207" [variable message "%s changed from %s to %s"] 6 (#$ . 49810)])
#@508 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.
(defalias 'sc-set-variable #[(var) "\303\304\n\305\306\307\n\"!L*\207" [minibuffer-help-form myhelp var (funcall myhelp) #[nil "r\306\307!q\210p\310 \210	\311\211\312\211\312\313 \210\314\315!\210+\211\316!\210\317!\203D\320\321\322!\210\316J!\210\321\323!\210)\321\324!\210\321\325\326\"\327\311O!\210rq\210\330 \210)\311\331!\210+\207" [default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks get-buffer-create "*Help*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook prin1 boundp 20 princ "	(Current value: " ")" "\n\nDocumentation:\n" documentation-property variable-documentation 1 help-mode internal-temp-output-buffer-show inhibit-read-only #2=#:buf standard-output var print-length] 5] eval-minibuffer format "Set %s to value: "] 5 (#$ . 50074)])
(defalias 'sc-toggle-symbol '(macro . #[(rootname) "\301\302\303P!\304\305\306\307\302\310\311Q!DD\257\207" [rootname defun intern "sc-T-" nil (interactive) sc-toggle-var quote "sc-" "-p"] 10]))
(defalias 'sc-setvar-symbol '(macro . #[(rootname) "\301\302\303P!\304\305\306\307\302\310P!DD\257\207" [rootname defun intern "sc-S-" nil (interactive) sc-set-variable quote "sc-"] 9]))
(defalias 'sc-T-confirm-always #[nil "\300\301!\207" [sc-toggle-var sc-confirm-always-p] 2 nil nil])
(defalias 'sc-T-downcase #[nil "\300\301!\207" [sc-toggle-var sc-downcase-p] 2 nil nil])
(defalias 'sc-T-electric-references #[nil "\300\301!\207" [sc-toggle-var sc-electric-references-p] 2 nil nil])
(defalias 'sc-T-auto-fill-region #[nil "\300\301!\207" [sc-toggle-var sc-auto-fill-region-p] 2 nil nil])
(defalias 'sc-T-mail-nuke-blank-lines #[nil "\300\301!\207" [sc-toggle-var sc-mail-nuke-blank-lines-p] 2 nil nil])
(defalias 'sc-T-nested-citation #[nil "\300\301!\207" [sc-toggle-var sc-nested-citation-p] 2 nil nil])
(defalias 'sc-T-electric-circular #[nil "\300\301!\207" [sc-toggle-var sc-electric-circular-p] 2 nil nil])
(defalias 'sc-T-use-only-preferences #[nil "\300\301!\207" [sc-toggle-var sc-use-only-preferences-p] 2 nil nil])
(defalias 'sc-T-fixup-whitespace #[nil "\300\301!\207" [sc-toggle-var sc-fixup-whitespace-p] 2 nil nil])
(defalias 'sc-S-preferred-attribution-list #[nil "\300\301!\207" [sc-set-variable sc-preferred-attribution-list] 2 nil nil])
(defalias 'sc-S-preferred-header-style #[nil "\300\301!\207" [sc-set-variable sc-preferred-header-style] 2 nil nil])
(defalias 'sc-S-mail-nuke-mail-headers #[nil "\300\301!\207" [sc-set-variable sc-mail-nuke-mail-headers] 2 nil nil])
(defalias 'sc-S-mail-header-nuke-list #[nil "\300\301!\207" [sc-set-variable sc-mail-header-nuke-list] 2 nil nil])
(defalias 'sc-S-cite-region-limit #[nil "\300\301!\207" [sc-set-variable sc-cite-region-limit] 2 nil nil])
#@418 

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-<name>' actually call `sc-set-variable' on the corresponding
`sc-<name>' variable.  All functions of the form `sc-T-<name>' call
`sc-toggle-var' on the corresponding `sc-<name>-p' variable.

\{sc-T-keymap}
(defalias 'sc-T-describe #[nil "\300\301!\207" [describe-function sc-T-describe] 2 (#$ . 53373) nil])
#@95 Non-nil if Sc minor mode is enabled.
Use the command `sc-minor-mode' to change this variable.
(defvar sc-minor-mode nil (#$ . 53898))
(make-variable-buffer-local 'sc-minor-mode)
#@247 Toggle Sc minor mode on or off.
With a prefix argument ARG, enable Sc minor mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
\{sc-minor-mode-map}
(defalias 'sc-minor-mode #[(&optional arg) "\303 	\304=\203\n?\202\305	!\306V\307\310\n\203\311\202\312\"\210\313\314!\203@\303 \2033\303 \232\203@\315\316\n\203=\317\202>\320\"\210)\321 \210\n\207" [#1=#:last-message arg sc-minor-mode current-message toggle prefix-numeric-value 0 run-hooks sc-minor-mode-hook sc-minor-mode-on-hook sc-minor-mode-off-hook called-interactively-p any message "Sc minor mode %sabled" "en" "dis" force-mode-line-update] 3 (#$ . 54083) (list (or current-prefix-arg 'toggle))])
#@29 Keymap for `sc-minor-mode'.
(defvar sc-minor-mode-map (byte-code "	BC\303\n!\203\n\202\n<\203\304\n!\202\305\306\n\")\207" [sc-mode-map-prefix sc-mode-map m keymapp easy-mmode-define-keymap error "Invalid keymap %S"] 3) (#$ . 54857))
(byte-code "\301\302\303\304\211%\207" [sc-minor-mode-map add-minor-mode sc-minor-mode (" SC" (sc-auto-fill-region-p (":f" (sc-fixup-whitespace-p "w")) (sc-fixup-whitespace-p ":w"))) nil] 6)
#@943 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 the associated
info node `(SC)Top' 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.

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.
(defalias 'sc-cite-original #[nil "\306\307!\210\310\311!\210\312 \210\313\314\315 \316\317 !\211\nW\203$\n\f)\320\n\"\210\321\322\323!\206?\322\324!\206?\322\325!\206?\322\326!!\210\327 \210\330\n\"!\203\212!\247\203[
!X\203\200\331\n\"\210\nb\210\"\206i\332#$\203x\333#!\210\202|\334\314!\210)\202\212\335 \210\336\337
!#\210)\n\313\211\223\210\313\211\223\210,\306\340!\207" [zmacs-regions mark-active point mark tmp linecnt run-hooks sc-pre-hook sc-minor-mode 1 undo-boundary nil t point-marker copy-marker mark-marker sc-mail-process-headers sc-attribs-chop-address sc-mail-field "from" "reply" "reply-to" "sender" sc-select-attribution count-lines sc-cite-region 0 sc-electric-mode sc-eref-insert-selected beep message "Region not cited. %d lines exceeds sc-cite-region-limit: %d" sc-post-hook sc-cite-region-limit sc-preferred-header-style sc-eref-style sc-electric-references-p] 5 (#$ . 55300)])
#@123 Like `open-line', but insert the citation prefix at the front of the line.
With numeric ARG, inserts that many new lines.
(defalias 'sc-open-line #[(arg) "\212`\303 \210\304\305 !\203\306\307!\206\310\211b\210\311\n!\210\312y\210\307\nW\2051c\210\312y\210\nS\202+\207" [prefix start arg beginning-of-line looking-at sc-cite-regexp match-string 0 "" open-line 1] 4 (#$ . 57185) "p"])
#@151 Insert citation string at beginning of current line if not already cited.
With `\[universal-argument]' insert citation even if line is already
cited.
(defalias 'sc-insert-citation #[(arg) "\212\301 \210\302\303 !\203\302\304!\204:\203\305\306!c\202 \307\310!)\207" [arg beginning-of-line looking-at sc-cite-regexp "^[ 	]*$" sc-mail-field "sc-citation" error "Line is already cited"] 2 (#$ . 57586) "P"])
#@31 Read the Supercite info node.
(defalias 'sc-describe #[nil "\300\301!\207" [info "(SC)top"] 2 (#$ . 58004) nil])
(byte-code "\300\301!\210\302\303!\207" [provide supercite run-hooks sc-load-hook] 2)

MMCT - 2023