BSD 4_2 development
[unix-history] / usr / lib / lisp / fcninfo.l
CommitLineData
807afebb
C
1(setq rcs-fcninfo-
2 "$Header")
3
4;;
5;; fcninfo.l -[Sat Jan 29 18:21:45 1983 by jkf]-
6;;
7;; This is normally not loaded into a lisp system but is loaded into
8;; the compiler.
9;; number of arguments information for C coded functions
10;; not included: evalframe evalhook wait exece
11;; stopped in sysat.c after *invmod
12;
13;; the information is stored in such as way as to minimize the
14;; amount of space required to store the informaion.
15
16
17(eval-when (compile eval)
18 (setq cdescrip " defined in C-coded kernel"))
19
20(defmacro decl-fcn-info (tag fcns)
21 `(let ((fcninfo ',tag))
22 ,@(mapcar '(lambda (fcn) `(putprop ',fcn fcninfo 'fcn-info)) fcns)))
23(defmacro zero (&rest args)
24 `(decl-fcn-info ((0 . 0) ,cdescrip) ,args))
25(defmacro zero-to-one (&rest args)
26 `(decl-fcn-info ((0 . 1) ,cdescrip) ,args))
27(defmacro zero-to-two (&rest args)
28 `(decl-fcn-info ((0 . 2) ,cdescrip) ,args))
29(defmacro zero-to-inf (&rest args)
30 `(decl-fcn-info (nil ,cdescrip) ,args))
31(defmacro one (&rest args)
32 `(decl-fcn-info ((1 . 1) ,cdescrip) ,args))
33(defmacro one-to-two (&rest args)
34 `(decl-fcn-info ((1 . 2) ,cdescrip) ,args))
35(defmacro one-to-three (&rest args)
36 `(decl-fcn-info ((1 . 3) ,cdescrip) ,args))
37(defmacro one-to-inf (&rest args)
38 `(decl-fcn-info ((1 . nil) ,cdescrip) ,args))
39(defmacro two (&rest args)
40 `(decl-fcn-info ((2 . 2) ,cdescrip) ,args))
41(defmacro two-to-inf (&rest args)
42 `(decl-fcn-info ((1 . nil) ,cdescrip) ,args))
43(defmacro three (&rest args)
44 `(decl-fcn-info ((3 . 3) ,cdescrip) ,args))
45(defmacro three-to-five (&rest args)
46 `(decl-fcn-info ((3 . 5) ,cdescrip) ,args))
47(defmacro three-to-inf (&rest args)
48 `(decl-fcn-info ((3 . nil) ,cdescrip) ,args))
49(defmacro four (&rest args)
50 `(decl-fcn-info ((4 . 4) ,cdescrip) ,args))
51(defmacro five (&rest args)
52 `(decl-fcn-info ((5 . 5) ,cdescrip) ,args))
53
54
55(zero baktrace fork oblist ptime reset resetio zapline)
56(zero-to-one arg close drain dumplisp exit
57 gensym monitor nwritn random return terpr time-string tyipeek)
58(zero-to-two err ratom read readc tyi)
59(zero-to-inf + - * / and concat cond
60 difference greaterp lessp list or plus product prog quotient setq
61 sum times unconcat)
62(one 1+ 1- absval add1
63 aexplode aexplodec aexploden argv
64 arrayp ascii asin acos atom bcdp
65 bignum-to-list boundp car cdr chdir cos
66 dtpr exp fact fake fix float frexp function get_pname getaccess getaux
67 getd getdata getdelta
68 getentry getenv getdisc getlength go haulong infile log
69 implode intern maknam maknum makunbound minus minusp
70 not ncons null numberp onep plist pntlen portp ptr
71 quote readlist remob *rset sin sizeof stringp sub1 sqrt symbolp
72 truename type valuep zerop)
73(one-to-two errset flatc outfile patom print status tyo untyi)
74(one-to-three fasl load process)
75(one-to-inf funcall progv)
76(two allocate alphalessp
77 arrayref assq atan bignum-leftshift *catch cons
78 Divide eq equal freturn
79 get haipart *invmod lsh
80 mfunction mod *mod nthelem putaux putd
81 putdata putdelta putdisc putlength
82 remprop replace rot rplaca rplacd segment set setarg setplist scons
83 signal sstatus sticky-bignum-leftshift *throw
84 vref vrefi-byte vrefi-word vrefi-long)
85
86(two-to-inf apply def mapc mapcan mapcar mapcon maplist prog2)
87(three putprop)
88(three-to-five cfasl)
89(three-to-inf boole)
90(four Emuldiv)
91(five marray)
92