;ELC   
;;; compiled by amu@mit.edu on Sat Sep 13 16:19:33 1997
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.4.67/lisp/gnus-spec.el
;;; emacs version 19.30.1.
;;; bytecomp version FSF 2.10
;;; 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.29")))
    (error "`gnus-spec.el' was compiled for Emacs 19.29 or later"))


(byte-code "ÀÁ!ˆÂÃ!„\f ÄÃBÂÆ!„ ÄÆBÂÇ!„& ÈÇBÉBÊBËBÌBÍBÎBÏBÐBÑBÒBÓBÔBÕBÖB×BØBÙBÚBÛBÜBÝBÚBÞBßBÄ‡" [require gnus boundp gnus-summary-mark-positions nil current-load-list gnus-group-mark-positions gnus-group-indentation "" 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±ˆÄ`ÆÇ	GÊVƒ 	ËÊO‚  	#\f±ˆ`$ˆÏÑ±‡" [gnus-tmp-unread gnus-tmp-replied gnus-tmp-score-char gnus-tmp-indentation gnus-put-text-property gnus-tmp-opening-bracket format "%4d: %-20s" gnus-tmp-lines gnus-tmp-name 20 0 gnus-tmp-closing-bracket gnus-mouse-face-prop gnus-mouse-face " " gnus-tmp-subject-or-nil "\n"] 9])
(byte-code "ÀÁ!„\n ÂÁ!ÁBÀ‡" [boundp gnus-summary-line-format-spec gnus-byte-code current-load-list] 2)
(defalias 'gnus-summary-dummy-line-format-spec #[nil "ÀcˆÁ`Âcˆ`\f$ˆÅÇ±‡" ["*  " gnus-put-text-property ":				 :" gnus-mouse-face-prop gnus-mouse-face " " gnus-tmp-subject "\n"] 5])
(byte-code "ÀÁ!„\n ÂÁ!ÁBÀ‡" [boundp gnus-summary-dummy-line-format-spec gnus-byte-code current-load-list] 2)
(defalias 'gnus-group-line-format-spec #[nil "	\nÄÅ\"±ˆÇ`É±ˆ`S\n$‡" [gnus-tmp-marked-mark gnus-tmp-subscribed gnus-tmp-process-marked gnus-group-indentation format "%5s: " gnus-tmp-number-of-unread gnus-put-text-property gnus-tmp-group "\n" gnus-mouse-face-prop gnus-mouse-face] 7])
(byte-code "ÀÁ!„\n ÂÁ!ÁBÀ‡" [boundp gnus-group-line-format-spec gnus-byte-code current-load-list] 2)
#@24 Alist of format specs.
(defvar gnus-format-specs (byte-code "À	BÂÃ\fEÅÆEÈÉ\nEF‡" [version emacs-version group "%M%S%p%P%5y: %(%g%)%l\n" gnus-group-line-format-spec summary-dummy "*  %(:                          :%) %S\n" gnus-summary-dummy-line-format-spec summary "%U%R%z%I%(%[%4L: %-20,20n%]%) %s\n" gnus-summary-line-format-spec] 6) (#$ . 2430))
(byte-code "ÀÁ!„ ÂÁBÀÄ!„ ÂÄBÀÅ!„  ÂÅBÂ‡" [boundp gnus-article-mode-line-format-spec nil current-load-list gnus-summary-mode-line-format-spec gnus-group-mode-line-format-spec] 2)
#@45 Update the format specification near point.
(defalias 'gnus-update-format #[(var) "ÀÁÂ\"ˆÄÅ\"!‰žÉ\nÉƒ& Ì\"ÀÍÎ\"!ÏÀ!J‰\nÀÍÐ\"!JÁÑ\"?#LˆÀÍÎ\"!J\nEBÒÓ!ˆÔ ˆÕ ˆÖ!c,‡" [intern string-match "gnus-\\([-a-z]+\\)-line" var match-string 1 type gnus-format-specs entry nil value spec delq format "%s-spec" gnus-parse-format "%s-alist" "mode" pop-to-buffer "*Gnus Format*" erase-buffer lisp-interaction-mode pp-to-string] 8 (#$ . 2977) (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) "„ 	ÂžAš„ ÄÄ‰‰‰	‰A	@‰ƒÛ ŠÊËÌ\"!ÄÎ!ƒU J‰ƒU Ï!ƒU ÐÏ!!ƒU Ï!qˆÊËÑ\"!J*žA‰@ƒ… @šƒ… ÊËÒ\"!A@Lˆ‚× ;„� ‚¯ ÓÊËÔÕ=ƒ¡ Ö‚£ \"!J×ØÙ!\"?#ƒÄ A ˆ ˆ‚Í EBÊËÒ\"!Lˆ)‚ ,Âž?…ê Â	BB‰‡" [force emacs-version version gnus-format-specs nil val type entry new-format types intern format "gnus-%s-buffer" buffer boundp get-buffer buffer-name "gnus-%s-line-format" "gnus-%s-line-format-spec" gnus-parse-format "gnus-%s-line-format-alist" article-mode summary-mode string-match "mode$" symbol-name] 8 (#$ . 3606)])
(byte-code "ÀÁ!„ ÂÁBÀÄ!„ ÂÄBÀÅ!„  ÂÅBÀÆ!„- ÂÆBÀÇ!„: ÂÇBÀ‡" [boundp gnus-mouse-face-0 highlight current-load-list gnus-mouse-face-1 gnus-mouse-face-2 gnus-mouse-face-3 gnus-mouse-face-4] 2)
(defalias 'gnus-mouse-face-function #[(form type) "ÀÁÂÃ\fÅ\"BÆÈšƒ É‚ ÊËÌÍ\"!JD¯‡" [gnus-put-text-property (point) progn append form ((point)) gnus-mouse-face-prop type 0 gnus-mouse-face quote intern format "gnus-mouse-face-%d"] 9])
(byte-code "ÀÁ!„ ÂÁBÀÄ!„ ÅÄBÀÆ!„! ÇÆBÀÈ!„. ÂÈBÀÉ!„; Â	ÉBÀ‡" [boundp gnus-face-0 bold current-load-list gnus-face-1 italic gnus-face-2 bold-italic gnus-face-3 gnus-face-4] 2)
(defalias 'gnus-face-face-function #[(form type) "ÀÁÂÃ\fÅ\"BÆÇÈÉÊ\"!JD¯‡" [gnus-put-text-property (point) progn append form ((point)) (quote face) quote intern format "gnus-face-%d" type] 9])
#@44 Return a form that limits EL to MAX-WIDTH.
(defalias 'gnus-tilde-max-form #[(el max-width) "À	!9ƒ* ÄÅÆD\nE	ÇWƒ  ÈÉÊ\nEE‚% ÈÇ\nFF‚P ËÌÍDDCÄÅÎ\nE	ÇWƒF ÈÌÉÏ\nEE‚K ÈÌÇ\nFÐBBBE)‡" [abs max-width max el if > length 0 substring - (length el) let val eval (length val) (length val) (val)] 9 (#$ . 5136)])
#@46 Return a form that cuts CUT-WIDTH off of EL.
(defalias 'gnus-tilde-cut-form #[(el cut-width) "À	!9ƒ* ÄÅÆD\nE	ÇWƒ! ÈÇÉÊ\nEF‚% È\nEF‚P ËÌÍDDCÄÅÎ\nE	ÇWƒG ÈÌÇÉÏ\nEF‚K ÈÌ\nEÐBBBE)‡" [abs cut-width cut el if > length 0 substring - (length el) let val eval (length val) (length val) (val)] 10 (#$ . 5446)])
#@54 Return a form that is blank when EL is IGNORE-VALUE.
(defalias 'gnus-tilde-ignore-form #[(el ignore-value) "9ƒ ÁÂEÄF‡ÅÆÇDDCÁÂÆEÈBBE‡" [el if equal ignore-value "" let val eval ("" val)] 6 (#$ . 5759)])
(defalias 'gnus-parse-format #[(format spec-alist &optional insert) "ÀÁ\n\"ƒ\f Ã\n\f\"‡Å\n\f#‡" [string-match "\\`\\(.*\\)%[0-9]?[{(]\\(.*\\)%[0-9]?[})]\\(.*\n?\\)\\'" format gnus-parse-complex-format spec-alist gnus-parse-simple-format insert] 4])
(defalias 'gnus-parse-complex-format #[(format spec-alist) "ŠÀ ˆ	cˆebˆÂÃÄÅ#ƒ ÆÇÄÅ#ˆ‚\n ebˆÈcˆÂÉÄÅ#ƒm Ê”ƒ4 ËÊ!‚5 ÌËÍ!ÎHÑU„L ÒUƒe ÆÓÑUƒY Ô‚Z ÕÖ×°!ˆ‚i ÆØ!ˆ*‚! dbˆÙcˆebˆÚp!ÜÝ\"*B‡" [gnus-set-work-buffer format re-search-forward "\"" nil t replace-match "\\\"" "(\"" "%\\([0-9]+\\)?\\([{}()]\\)" 1 match-string "0" 2 0 delim number 40 123 "\"(" "mouse" "face" " " " \"" "\")\"" "\")" read form progn gnus-complex-form-to-spec spec-alist] 6])
(defalias 'gnus-complex-form-to-spec #[(form spec-alist) "ÀÁÂÃ\f\"\"‡" [delq nil mapcar #[(sform) ";ƒ Á\nÃ#‡ÄÅÆ@\"!ÇAA\n\"A@\"‡" [sform gnus-parse-simple-format spec-alist t intern format "gnus-%s-face-function" gnus-complex-form-to-spec] 4] form] 5])
(defalias 'gnus-parse-simple-format #[(format spec-alist &optional insert) "ÀÁ‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰	\n\fŠÓ ˆcˆebˆÕÖÁ×#ƒûÁÁÁÁÁÁÁ`SØÙ!ƒ{ ÚÛÜ!!Ý”ƒu ÚÝ”TÝ•{!À•b‚ØÞ!ƒÜuˆßp!‰@\nA@	\nà>ƒŸ 	‚Y \ná=ƒ® 	[‚Y \nâ>ƒ¼ 	‚Y \nã=ƒË 	[‚Y \nä>ƒÙ 	‚Y \nå=ƒè 	[‚Y \næ=ƒ	;ƒú 	‚ÿ Ôç	\"‚Y \nè=ƒ	‚Y éê\"ˆ‚Y Á„Y g‰ëUƒ+ÜuˆgÜuˆ`|ˆÖcˆì=ƒCÖcˆ‚: í=ƒR\fîD‚vƒgïÔð\"!ñDîD‚v2žA‰„vóA@ƒ†ô!cˆ„”„”ƒíîcˆ@5A@öUƒ®÷5D5‚½A@øUƒ½ù5D5ƒÈú5\"5ƒÕû5\"5ƒâü5\"55B)‚: \ncˆ@B‚: ý )þ˜ƒÁ‚¼ÿÖ\"„C‚¼ç˜ƒ'@C‚¼�@ ˜ƒ7@C‚¼�A ˜ƒ\\Á\fBƒS�C @DC‚¼ù@DC‚¼ÿ�D \"ƒlŸ‚¼ÿ�E \"ƒ‚@ÝÁOD‚¼ÿ�F \"ƒ�ÛÜ\"@ÛÝ\"E‚¼ÿ�G \"ƒ³ÛÜ\"@D‚¼ÔŸBBCBƒÛ…ö\fƒÒ‚ö�B B‚ö;ƒæ‚ö:ƒõ�H B‚öþ.‡" [0 nil elem-type tilde tilde-form ignore-value cut-width spec-beg pad-width value type user-defined dontinsert result elem fstring flist spec max-width gnus-set-work-buffer format 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 "%s" form error "Unknown tilde type: %s" 117 37 64 115 intern "gnus-user-format-function-%c" gnus-tmp-header spec-alist ("*" 115) number-to-string el 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" insert princ "\\`\\(%[cs]\\)+\\'" "\\`%[sc][^%]+\\'" "\\`\\([^%]+\\)%[sc]\\([^%]+\\)\\'" "\\`\\([^%]+\\)%[sc]\\'" concat] 18])
#@76 Eval the format variable FORMAT, using ALIST.
If PROPS, insert the result.
(defalias 'gnus-eval-format #[(format &optional alist props) "À	\n#ƒ Å`Æ\f!ˆ`#‚ Æ\f!)‡" [gnus-parse-format format alist props form gnus-add-text-properties eval] 4 (#$ . 8597)])
#@45 Byte-compile the user-defined format specs.
(defalias 'gnus-compile #[nil "ƒ ÁÂ!ˆÄÅ‰	ŠÊËÌ\"ˆ	ƒg 	‰A	@‰@Í=ƒ8 Î\"‚ AA@<ƒ AA@@Ï=„ ÆÐÅAA@EMˆÑÆ!ˆAAÒÆ! ˆ‚ ÍBBÔÕ!ˆÊËÖ\"-‡" [gnus-xemacs error "Can't compile specs under XEmacs" gnus-format-specs (unresolved callargs redefine) nil gnus-tmp-func entry byte-compile-warnings entries gnus-message 7 "Compiling format specs..." version delq byte-code lambda byte-compile gnus-byte-code emacs-version gnus-dribble-enter " " "Compiling user specs...done"] 5 (#$ . 8862) nil])
(provide (quote gnus-spec))
