Annotation of 42BSD/ucb/lisp/lisplib/fcninfo.l, revision 1.1.1.1

1.1       root        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: 

unix.superglobalmegacorp.com

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