;ELC   
;;; Compiled by amu@quiche-lorraine.mit.edu on Thu Jan  6 19:17:29 2000
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.8.3/lisp/gnus-spec.el
;;; in Emacs version 20.4.1
;;; with bytecomp version 2.56
;;; with all optimizations.

;;; This file contains multibyte non-ASCII characters
;;; and therefore cannot be loaded into Emacs 19.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "20")))
    (error "`gnus-spec.el' was compiled for Emacs 20 or later"))

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


(byte-code "\304\305!\210\306\300!\204\f \307\300	B\306\302!\204 \307\302	B\306\303!\204$ \310\303	B\311	B\312	B\313	B\314	B\315	B\316	B\317	B\320	B\321	B\322	B\323	B\324	B\325	B\326	B\327	B\330	B\331	B\332	B\333	B\334	B\335	B\332	B\336	B\337	B\307\207" [gnus-summary-mark-positions current-load-list gnus-group-mark-positions gnus-group-indentation require gnus boundp nil "" gnus-tmp-unread gnus-tmp-replied gnus-tmp-score-char gnus-tmp-indentation gnus-tmp-opening-bracket gnus-tmp-lines gnus-tmp-name gnus-tmp-closing-bracket gnus-tmp-subject-or-nil gnus-tmp-subject gnus-tmp-marked gnus-tmp-marked-mark gnus-tmp-subscribed gnus-tmp-process-marked gnus-tmp-number-of-unread gnus-tmp-group-name gnus-tmp-group gnus-tmp-article-number gnus-tmp-unread-and-unselected gnus-tmp-news-method gnus-tmp-news-server gnus-mouse-face gnus-mouse-face-prop] 2)
(defalias 'gnus-summary-line-format-spec #[nil "	\n\261\210\306`\f\307\310G\311V\203 \312\311O\202 #\261\210`$\210\313\314\261\207" [gnus-tmp-unread gnus-tmp-replied gnus-tmp-score-char gnus-tmp-indentation gnus-tmp-opening-bracket gnus-tmp-lines gnus-put-text-property format "%4d: %-20s" 20 0 " " "\n" gnus-tmp-name gnus-tmp-closing-bracket gnus-mouse-face-prop gnus-mouse-face gnus-tmp-subject-or-nil] 9])
(byte-code "\302\300!\204\n \303\300!\300	B\302\207" [gnus-summary-line-format-spec current-load-list boundp gnus-byte-code] 2)
(defalias 'gnus-summary-dummy-line-format-spec #[nil "\303c\210\304`\305c\210`	$\210\306\n\307\261\207" [gnus-mouse-face-prop gnus-mouse-face gnus-tmp-subject "*  " gnus-put-text-property ":				 :" " " "\n"] 5])
(byte-code "\302\300!\204\n \303\300!\300	B\302\207" [gnus-summary-dummy-line-format-spec current-load-list boundp gnus-byte-code] 2)
(defalias 'gnus-group-line-format-spec #[nil "	\n\306\307\f\"\261\210\310`\311\261\210`S\n$\207" [gnus-tmp-marked-mark gnus-tmp-subscribed gnus-tmp-process-marked gnus-group-indentation gnus-tmp-number-of-unread gnus-tmp-group format "%5s: " gnus-put-text-property "\n" gnus-mouse-face-prop gnus-mouse-face] 7])
(byte-code "\302\300!\204\n \303\300!\300	B\302\207" [gnus-group-line-format-spec current-load-list boundp gnus-byte-code] 2)
#@24 Alist of format specs.
(defvar gnus-format-specs (byte-code "\304B\305\306	E\307\310\nE\311\312EF\207" [emacs-version gnus-group-line-format-spec gnus-summary-dummy-line-format-spec gnus-summary-line-format-spec version group "%M%S%p%P%5y: %(%g%)%l\n" summary-dummy "*  %(:                          :%) %S\n" summary "%U%R%z%I%(%[%4L: %-20,20n%]%) %s\n"] 6) (#$ . 2886))
(byte-code "\304\300!\204 \305\300	B\304\302!\204 \305\302	B\304\303!\204  \305\303	B\305\207" [gnus-article-mode-line-format-spec current-load-list gnus-summary-mode-line-format-spec gnus-group-mode-line-format-spec boundp nil] 2)
#@45 Update the format specification near point.
(defalias 'gnus-update-format #[(var) "\306\307\310\"\210\311\312\"!\211\n\236\313\313\203 \314\n\"\306\315\316\"!\317\306!J\211\306\315\320\"!J\307\321\"?#L\210\306\315\316\"!J	\fE\nB\322\323!\210\324 \210\325 \210\326!c,\207" [var type gnus-format-specs entry value spec intern string-match "gnus-\\([-a-z]+\\)-line" match-string 1 nil delq format "%s-spec" gnus-parse-format "%s-alist" "mode" pop-to-buffer "*Gnus Format*" erase-buffer lisp-interaction-mode pp-to-string] 8 (#$ . 3505) (list (save-excursion (eval-defun nil) (re-search-forward "[ 	\n]" nil t) (when (re-search-backward "\\(gnus-[-a-z]+-line-format\\)" nil t) (match-string 1))))])
#@47 Update all (necessary) format specifications.
(defalias 'gnus-update-format-specifications #[(&optional force &rest types) "\204 	\306\n\236A\232\204 \307\307\211\211\211\211A@\211\203\310 \212\310\311\312\f\"!\307\313!\203Z J\211\203Z \211\205S ;\203O \314\202P \315!)\203Z q\210\310\311\316\f\"!J*\f\n\236A\211@\203\204 @\232\203\204 \310\311\317\f\"!A@L\210\202\304 ;\204\217 \202\241 \320\310\311\321\f\"!J\322\323\324\f!\"?#\203\263 A\240\210\240\210\202\273 \fE\nB\310\311\317\f\"!L\210)\202 ,\306\n\236?\205\327 \306	B\nB\211\207" [force emacs-version gnus-format-specs val type entry version nil intern format "gnus-%s-buffer" boundp get-buffer buffer-name "gnus-%s-line-format" "gnus-%s-line-format-spec" gnus-parse-format "gnus-%s-line-format-alist" string-match "mode$" symbol-name new-format types buffer] 8 (#$ . 4226)])
(byte-code "\306\300!\204 \307\300	B\306\302!\204 \307\302	B\306\303!\204  \307\303	B\306\304!\204, \307\304	B\306\305!\2048 \307\305	B\306\207" [gnus-mouse-face-0 current-load-list gnus-mouse-face-1 gnus-mouse-face-2 gnus-mouse-face-3 gnus-mouse-face-4 boundp highlight] 2)
(defalias 'gnus-mouse-face-function #[(form type) "\302\303\304\305\306\"B\307	\310\232\203 \311\202 \312\313\314\315	\"!JD\257\207" [form type gnus-put-text-property (point) progn append ((point)) gnus-mouse-face-prop 0 gnus-mouse-face quote intern format "gnus-mouse-face-%d"] 9])
(byte-code "\306\300!\204 \307\300	B\306\302!\204 \310\302	B\306\303!\204  \311\303	B\306\304!\204, \307\304	B\306\305!\2048 \307\305	B\306\207" [gnus-face-0 current-load-list gnus-face-1 gnus-face-2 gnus-face-3 gnus-face-4 boundp bold italic bold-italic] 2)
(defalias 'gnus-face-face-function #[(form type) "\302\303\304\305\306\"B\307\310\311\312\313\314\315	\"!JFDF\207" [form type gnus-add-text-properties (point) progn append ((point)) quote gnus-face t face intern format "gnus-face-%d"] 11])
(defalias 'gnus-balloon-face-function #[(form type) "\302\303\304\305\306\"B\307\310\311\312	\"!\257\207" [form type gnus-put-text-property (point) progn append ((point)) 'balloon-help intern format "gnus-balloon-face-%d"] 8])
#@44 Return a form that limits EL to MAX-WIDTH.
(defalias 'gnus-tilde-max-form #[(el max-width) "\303!\n9\203* \304\305\306\nD	E\307W\203  \310\n\311\312	EE\202% \310\n\307	F\nF\202P \313\314\315\nDDC\304\305\316	E\307W\203F \310\314\311\317	EE\202K \310\314\307	F\320BBBE)\207" [max-width max el abs if > length 0 substring - (length el) let val eval (length val) (length val) (val)] 9 (#$ . 6438)])
#@46 Return a form that cuts CUT-WIDTH off of EL.
(defalias 'gnus-tilde-cut-form #[(el cut-width) "\303!\n9\203* \304\305\306\nD	E\307W\203! \310\n\307\311\312	EF\202% \310\n	E\nF\202P \313\314\315\nDDC\304\305\316	E\307W\203G \310\314\307\311\317	EF\202K \310\314	E\320BBBE)\207" [cut-width cut el abs if > length 0 substring - (length el) let val eval (length val) (length val) (val)] 10 (#$ . 6844)])
#@54 Return a form that is blank when EL is IGNORE-VALUE.
(defalias 'gnus-tilde-ignore-form #[(el ignore-value) "9\203 \302\303	E\304F\207\305\306\307DDC\302\303\306	E\310BBE\207" [el ignore-value if equal "" let val eval ("" val)] 6 (#$ . 7253)])
(defalias 'gnus-parse-format #[(format spec-alist &optional insert) "\303\304\"\203\f \305	\"\207\306	\n#\207" [format spec-alist insert string-match "\\`\\(.*\\)%[0-9]?[{(]\\(.*\\)%[0-9]?[})]\\(.*\n?\\)\\'" gnus-parse-complex-format gnus-parse-simple-format] 4])
(defalias 'gnus-parse-complex-format #[(format spec-alist) "\212\305 \210c\210eb\210\306\307\310\311#\203 \312\313\310\311#\210\202\n eb\210\314c\210\306\315\310\311#\203w \316\224\2034 \317\316!\2025 \320\317\321!\322H	\323U\204N 	\324U\204N 	\325U\203o \312\326	\323U\203Z \327\202e 	\324U\203d \330\202e \331\332\n\333\260!\210\202s \312\334!\210*\202! db\210\335c\210eb\210\336p!\337\340\f\"*B\207" [format delim number form spec-alist gnus-set-work-buffer re-search-forward "\"" nil t replace-match "\\\"" "(\"" "%\\([0-9]+\\)?\\([{}()]\\)" 1 match-string "0" 2 0 40 123 2219 "\"(" "mouse" "face" "balloon" " " " \"" "\")\"" "\")" read progn gnus-complex-form-to-spec] 6])
(defalias 'gnus-complex-form-to-spec #[(form spec-alist) "\301\302\303\304\"\"\207" [form delq nil mapcar #[(sform) ";\203 \302	\303#\207\304\305\306@\"!\307AA	\"A@\"\207" [sform spec-alist gnus-parse-simple-format t intern format "gnus-%s-face-function" gnus-complex-form-to-spec] 4]] 5])
(defalias 'gnus-parse-simple-format #[(format spec-alist &optional insert) "\306\307\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211<=>?@ABCDEF\212\310 \210c\210eb\210\311\312\307\313#\203\362\307?\307\307<\307F\307\307\307`S\314\315!\203v \316\317\320!!<\321\224\203p \316\321\224T\321\225{!F\306\225b\202\314\322!\203\320u\210\323p!\211@>	A@=>\324>\203\232 =<\202T >\325=\203\251 =[<\202T >\326>\203\267 =F\202T >\327=\203\306 =[F\202T >\330>\203\323 =\202T >\331=\203\341 =[\202T >\332=\203\374 =;\203\363 =\202\370 \333\334=\"\202T >\335=\203	=\202T \336\337	\"\210\202T \307\204T \307f\211E\340=\203&\320u\210\307f?\320u\210`|\210\312c\210E\341=\203=\312c\210\2028 E\342=\203L\n\343DB\202p?\203a\344\333\345?\"!\346D\343DB\202pEG\236A\211B\204p\347BBA@<\203\200\350<!c\210F\204\215\f\204\215\203\344\343c\210B@HBA@\351U\203\247\352HDH\202\266BA@\353U\203\266\354HDH\203\301\355H\"H\f\203\314\356H\f\"HF\203\331\357HF\"HHDBD)\2028 c\210B@DBD\2028 \360 C)C\361\230\203\307\202\245\362\312C\"\204CC\202\245C\334\230\203D@C\202\245C\363\230\203,D@C\202\245C\364\230\203M\307@:\203D\365D@DC\202\245\354D@DC\202\245\362\366C\"\203[D\237\202\245\362\367C\"\203oD@C\321\307OD\202\245\362\370C\"\203\210\317\320C\"D@\317\321C\"E\202\245\362\371C\"\203\234\317\320C\"D@D\202\245\333CD\237BBCA:\203\302A\205\333@\203\273A\202\333\372AB\202\333A;\203\315A\202\333A:\203\332\373AB\202\333\361.\207" [elem-type tilde tilde-form ignore-value cut-width spec-beg 0 nil gnus-set-work-buffer re-search-forward "%" t looking-at "\\([-.0-9]+\\)\\(,[-0-9]+\\)?" string-to-number match-string 1 2 "~" read (pad pad-left) pad-right (max-right max) max-left (cut cut-left) cut-right ignore format "%s" form error "Unknown tilde type: %s" 117 37 64 115 intern "gnus-user-format-function-%c" gnus-tmp-header ("*" 115) number-to-string 99 char-to-string 100 int-to-string gnus-tilde-ignore-form gnus-tilde-cut-form gnus-tilde-max-form buffer-string "" string-match "%c" "%d" princ "\\`\\(%[cs]\\)+\\'" "\\`%[sc][^%]+\\'" "\\`\\([^%]+\\)%[sc]\\([^%]+\\)\\'" "\\`\\([^%]+\\)%[sc]\\'" insert concat pad-width value type user-defined dontinsert result elem fstring flist spec max-width spec-alist el] 18])
#@76 Eval the format variable FORMAT, using ALIST.
If PROPS, insert the result.
(defalias 'gnus-eval-format #[(format &optional alist props) "\304	\n#\n\203 \305`\306!\210`\n#\202 \306!)\207" [format alist props form gnus-parse-format gnus-add-text-properties eval] 4 (#$ . 11150)])
#@45 Byte-compile the user-defined format specs.
(defalias 'gnus-compile #[nil "\306\307!\210\310\311\211\212\312\313\314\"\210\f\203b \f\211A@\211@\315=\203+ \316\n\"\202 \nAA@\211<\203^ @\317=\204^ @\320=\203K \321A@!\204^ \301\322\311EM\210\323\301!\210\nAA\324\301!\240\210)\202 \315BB\325 \210\312\313\326\"-\207" [gnus-format-specs gnus-tmp-func entry byte-compile-warnings entries form require bytecomp (unresolved callargs redefine) nil gnus-message 7 "Compiling format specs..." version delq byte-code funcall byte-code-function-p lambda byte-compile gnus-byte-code gnus-dribble-touch "Compiling user specs...done" emacs-version] 5 (#$ . 11440) nil])
(defalias 'gnus-set-format #[(type &optional insertable) "\302\303\304\"!\305\302\303\306\"!J\302\303\307\"!J	#L\207" [type insertable intern format "gnus-%s-line-format-spec" gnus-parse-format "gnus-%s-line-format" "gnus-%s-line-format-alist"] 7])
(provide 'gnus-spec)
