;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:38:56 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/emacs-lisp/cl-compat.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`cl-compat.el' was compiled for Emacs 19.29 or later"))

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


(byte-code "\300\301!\204\n \302\301!\210\300\207" [featurep cl require] 2)
(defalias 'defkeyword '(macro . #[(x &optional doc) "\302\303D	\205 	CBBB\207" [x doc defconst quote] 4]))
(defalias 'keyword-of #[(sym) "\301!\206 \301\302\303\304\"!!\207" [sym keywordp intern format ":%s"] 5])
(byte-code "\302\303\304\305#\210\302\306\304\305#\210\302\307\304\310#\210\302\311\304\310#\210\301B\312\301!\204$ \313\313\207" [current-load-list *mvalues-values* put Multiple-value-bind lisp-indent-function 2 Multiple-value-setq Multiple-value-call 1 Multiple-value-prog1 boundp nil] 4)
(defalias 'Values #[(&rest val-forms) "@\207" [val-forms *mvalues-values*] 1])
(defalias 'Values-list #[(val-forms) "\301\302\"\207" [val-forms apply values] 3])
(defalias 'Multiple-value-list '(macro . #[(form) "\301\302\303DD\304E\207" [form let* (*mvalues-values* nil) *mvalues-temp* (or (and (eq *mvalues-temp* (car *mvalues-values*)) *mvalues-values*) (list *mvalues-temp*))] 4]))
(defalias 'Multiple-value-call '(macro . #[(function &rest args) "\302\303\304\305	\"BE\207" [function args apply append mapcar #[(x) "\301D\207" [x Multiple-value-list] 2]] 6]))
(defalias 'Multiple-value-bind '(macro . #[(vars form &rest body) "\303\304	D\nBBB\207" [vars form body multiple-value-bind Multiple-value-list] 4]))
(defalias 'Multiple-value-setq '(macro . #[(vars form) "\302\303	DE\207" [vars form multiple-value-setq Multiple-value-list] 4]))
(defalias 'Multiple-value-prog1 '(macro . #[(form &rest body) "\302\303\304	BBE\207" [form body prog1 let ((*mvalues-values* nil))] 5]))
(defalias 'build-klist #[(arglist keys &optional allow-others) "\306\307\310\311\312\312@=\203 \206 	C*\311\313\n!\211@=\203& \206( 	C*\"\"\f\204E \314\315\316\"\"\211\203D \317\320#\210))\207" [*mvalues-values* *mvalues-temp* arglist res allow-others keys apply mapcar* append nil cons unzip-lists set-difference mapcar car error "Bad keywords: %s not in %s" bad] 7])
(defalias 'extract-from-klist #[(klist key &optional def) "	\236\211\203 \nA\202 )\207" [key klist res def] 3])
(defalias 'keyword-argument-supplied-p #[(klist key) "	\236\207" [key klist] 2])
(defalias 'elt-satisfies-test-p #[(item elt klist) "\306\236A\307\236A\310\236A	\203 	\f!\203# \f\"?\202+ \n\206( \311\f\"+\207" [klist key test test-not elt item :test-not :test :key eql] 4])
(defalias 'cl-floor #[(a &optional b) "\302\303	\"!\207" [a b Values-list floor*] 4])
(defalias 'cl-ceiling #[(a &optional b) "\302\303	\"!\207" [a b Values-list ceiling*] 4])
(defalias 'cl-round #[(a &optional b) "\302\303	\"!\207" [a b Values-list round*] 4])
(defalias 'cl-truncate #[(a &optional b) "\302\303	\"!\207" [a b Values-list truncate*] 4])
(defalias 'safe-idiv #[(a b) "\304!\304	!\245\305!\305	!_\306\n\n_	_Z#*\207" [a b q s abs signum Values] 5])
(defalias 'pair-with-newsyms #[(oldforms) "\302\303\"\304\305\306	#	\")\207" [oldforms newsyms mapcar #[(x) "\300 \207" [gensym] 1] Values mapcar* list] 5])
(defalias 'zip-lists #[(evens odds) "\302\303	#\207" [evens odds mapcan list] 4])
(defalias 'unzip-lists #[(list) "\304\211\n\203! \n@	B\n\211A@)B\n\211AA)\211\204 \305	\237\237\"*\207" [o e list x nil Values] 4])
(defalias 'reassemble-argslists #[(list) "\303\304\305\306\"\"\307\nS\211\310Y\203 \305\311\"	B\202\n 	*\207" [list res n apply min mapcar length nil 0 #[(x) "	\234\207" [x n] 2]] 5])
(defalias 'duplicate-symbols-p #[(list) "\302	\203 	@	A>\203 	@B	A\211\204 )\207" [res list nil] 3])
(defalias 'setnth #[(n list x) "	\233\n\240\207" [n list x] 2])
(defalias 'setnthcdr #[(n list x) "S	\233\n\241\207" [n list x] 2])
(defalias 'setelt #[(seq n x) ":\203 	\233\n\240\207	\nI\207" [seq n x] 3])
(provide 'cl-compat)
