;ELC   
;;; compiled by amu@mit.edu on Sat Sep 13 16:20:36 1997
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.4.67/lisp/nnoo.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 "`nnoo.el' was compiled for Emacs 19.29 or later"))


(byte-code "ÀÁ!ˆÂÃ!„\f ÄÃBÂÆ!„ ÄÆBÄ‡" [require nnheader boundp nnoo-definition-alist nil current-load-list nnoo-state-alist] 2)
#@63 The same as `defvar', only takes list of variables to MAP to.
(defalias 'defvoo '(macro . #[(var init &optional doc &rest map) "À	ƒ Â\f	F‚ Â\fEÅÆDÆDEE‡" [prog1 doc defvar var init nnoo-define quote map] 6 (#$ . 622)]))
(byte-code "ÀÁÂÃ#ˆÀÁÄÅ#‡" [put defvoo lisp-indent-function 2 edebug-form-spec (var init &optional doc &rest map)] 4)
#@42 The same as `defun', only register FUNC.
(defalias 'deffoo '(macro . #[(func args &rest forms) "ÀÁ\n\fBBBÅÆ\nDDE‡" [prog1 defun func args forms nnoo-register-function quote] 5 (#$ . 971)]))
(byte-code "ÀÁÂÃ#ˆÀÁÄÅ#‡" [put deffoo lisp-indent-function 2 edebug-form-spec (&define name lambda-list def-body)] 4)
(defalias 'nnoo-register-function #[(func) "ÀÁÂ!\f\"›‰„ ÆÇ\"ˆ@B )‡" [3 assoc nnoo-backend func nnoo-definition-alist funcs error "%s belongs to a backend that hasn't been declared"] 5])
(defalias 'nnoo-declare '(macro . #[(backend &rest parents) "ÀÁÂÃ\fDÅÆÃDEÈBBBÉBBÁÂÃ\fDÊBBËBBE‡" [eval-and-compile push list quote backend mapcar (lambda (p) (list p)) parents (nil nil) (nnoo-definition-alist) ("*internal-non-initialized-backend*") (nnoo-state-alist)] 8]))
(put (quote nnoo-declare) (quote lisp-indent-function) 1)
(defalias 'nnoo-parents #[(backend) "À	\n\"A@‡" [assoc backend nnoo-definition-alist] 3])
(defalias 'nnoo-variables #[(backend) "ÀÁ\n\"8‡" [2 assoc backend nnoo-definition-alist] 4])
(defalias 'nnoo-functions #[(backend) "ÀÁ\n\"8‡" [3 assoc backend nnoo-definition-alist] 4])
(defalias 'nnoo-import '(macro . #[(backend &rest imports) "ÀÁ\nDÁDE‡" [nnoo-import-1 quote backend imports] 4]))
(put (quote nnoo-import) (quote lisp-indent-function) 1)
(defalias 'nnoo-import-1 #[(backend imports) "@9ƒ ‰A@‚ ÁÂ‰‰‰A@‰…[ A†* Ç@!\fƒ ÈÉ\nË\f@!\"‰!„S ÌÍÎÏ\nDÏ\f@DÐBBBF!ˆ\f‰Aˆ‚+ ,‡" [imports nnoo-parent-function nil function functions imp call-function nnoo-functions fboundp nnoo-symbol backend nnoo-rest-symbol eval deffoo (&rest args) quote (args)] 8])
(defalias 'nnoo-parent-function #[(backend function args) "À	!Ã\nÄ!\nÆ!žA#ˆÇ	\")‡" [nnoo-backend function pbackend nnoo-change-server nnoo-current-server backend nnoo-parents apply args] 6])
#@40 Execute FUNCTION on behalf of BACKEND.
(defalias 'nnoo-execute #[(backend function &rest args) "À	!Ã\nÄ!\nÆ!žA#ˆÇ	\")‡" [nnoo-backend function pbackend nnoo-change-server nnoo-current-server backend nnoo-parents apply args] 6 (#$ . 2780)])
(defalias 'nnoo-map-functions '(macro . #[(backend &rest maps) "ÀÁ\nDÁDE‡" [nnoo-map-functions-1 quote backend maps] 4]))
(put (quote nnoo-map-functions) (quote lisp-indent-function) 1)
(defalias 'nnoo-map-functions-1 #[(backend maps) "À‰‰\f‰A@‰…\\ ÅÀ	AGWƒ= 	A8§ƒ/ Æ	ÇBB\nB‚6 	A8\nB	T‰‚ ÈÉÊÌ@!\"ÍÎÏDÏ@DÐ\nŸBFF!ˆ‚ +‡" [nil i margs m maps 0 nth (args) eval deffoo nnoo-symbol backend nnoo-rest-symbol (&rest args) nnoo-parent-function quote list] 10])
(defalias 'nnoo-backend #[(symbol) "ÀÁÂ!\"ˆÄÂ!Å‰•SO!‡" [string-match "^[^-]+-" symbol-name symbol intern 0] 4])
(defalias 'nnoo-rest-symbol #[(symbol) "ÀÁÂ!\"ˆÄÂ!Å•ÆO!‡" [string-match "^[^-]+-" symbol-name symbol intern 0 nil] 4])
(defalias 'nnoo-symbol #[(backend symbol) "ÀÁÂ\f#!‡" [intern format "%s-%s" backend symbol] 5])
(defalias 'nnoo-define #[(var map) "À	!‰ž‰A@\f„ ÆÇ	\"ˆ\fAAÈ	É\f8žÉ\f8\" ˆ\fAA	‰JBÉ\f8B ˆ\n…L À\n@!ž\n‰A\n@	DC¤ˆ‚1 +‡" [nnoo-backend var backend nnoo-definition-alist def parents error "%s belongs to a backend that hasn't been declared" delq 2 map] 6])
(defalias 'nnoo-change-server #[(backend server defs) "	žA‰@Ä!Æ!È	È\n\n„& ÈD‰	B\nAš„¼ Ì\"ˆÍ\nAA\"A†@ Æ!		ƒ[ 	@@	@ALˆ	‰A	ˆ‚B \n ˆÍ\nAA\"A„¢ ‰A@‰\nƒ¢ \n@ž„– \n@Ï\n@!…’ \n@JBC¤ˆ\n@\nA@Lˆ‚k ƒ¼ Ð@@ÑÒ@A\"#ˆ‰Aˆ‚¢ .Ó‡" [backend nnoo-state-alist bstate current nnoo-parents parents nnoo-variables bvariables nil state def server nnoo-push-server assoc defs boundp nnoo-change-server mapcar #[(def) "@A@JD‡" [def] 2] t] 7])
(defalias 'nnoo-push-server #[(backend current) "	žÂ!‰AÅÆ\fAA\"\fAA\"¡ˆÈšƒ? Â!É\n‰A@‰\nƒ> \n‰@J¡ˆ‚' *É\fƒ[ @@@@JB\fB\f‰Aˆ‚B \f\fBC¤+‡" [backend nnoo-state-alist nnoo-variables defs bstate delq assoc current "*internal-non-initialized-backend*" nil def defaults state] 6])
(defalias 'nnoo-current-server-p #[(backend server) "À	!\nš‡" [nnoo-current-server backend server] 2])
(put (quote nnoo-current-server-p) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'nnoo-current-server #[(backend) "	žA@‡" [backend nnoo-state-alist] 2])
(defalias 'nnoo-close-server #[(backend &optional server) "„ Á\n!ƒB \nžAÅ\fA\"\fƒA \fÇ ˆ\fÈ\fA\"¡ˆAƒA ‰A@@ÇLˆ‚. *É‡" [server nnoo-current-server backend nnoo-state-alist bstate assoc defs nil delq t] 4])
(defalias 'nnoo-close #[(backend) "À	\nž\n\"Ã‡" [delq backend nnoo-state-alist t] 3])
(defalias 'nnoo-status-message #[(backend server) "À	!‡" [nnheader-get-report backend] 2])
(defalias 'nnoo-server-opened #[(backend server) "	Â!	*š… … Ä!‡" [backend server nnoo-current-server nntp-server-buffer buffer-name] 2])
#@62 Define `close-server', `server-opened' and `status-message'.
(defalias 'nnoo-define-basics '(macro . #[(backend) "ÀÁÂDDD‡" [eval-and-compile nnoo-define-basics-1 quote backend] 4 (#$ . 5697)]))
(defalias 'nnoo-define-basics-1 #[(backend) "À	ƒ\" ÂÃÄ	@\"ÆÄÇ	‰A@\"ÈDÉBBF!ˆ‚ )ÂÃÄÊ\"ËÌÈDÍBBF!‡" [(close-server server-opened status-message) functions eval deffoo nnoo-symbol backend (&optional server) nnoo quote (server) open-server (server &optional defs) nnoo-change-server (server defs)] 8])
#@103 Define all required backend functions for BACKEND.
All functions will return nil and report an error.
(defalias 'nnoo-define-skeleton '(macro . #[(backend) "ÀÁÂDDD‡" [eval-and-compile nnoo-define-skeleton-1 quote backend] 4 (#$ . 6202)]))
(defalias 'nnoo-define-skeleton-1 #[(backend) "ÀÁ‰\f‰A@‰…2 ÅÆ\"‰!„ ÈÉ\nÊËÌDÍÎ#EF!ˆ‚ +‡" [(retrieve-headers request-close request-article request-group close-group request-list request-post request-list-newsgroups) nil fun function functions fboundp nnoo-symbol backend eval deffoo (&rest args) nnheader-report quote format "%s-%s not implemented"] 10])
(provide (quote nnoo))
