Annotation of 43BSDTahoe/ucb/lisp/lisplib/fcninfo.l, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.