Commit | Line | Data |
---|---|---|
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 |