This is notcomp.h in view mode; [Download] [Up]
#define CHAR_CODE_LIMIT 256 #define READ_TABLE_SIZE CHAR_CODE_LIMIT #define ARRAY_RANK_LIMIT 63 void enter_mark_origin() ; EXTER int *cs_org; EXTER int GBC_enable; #define CHAR_SIZE 8 EXTER object sSAnotify_gbcA; /* symbols which are not needed in compiled lisp code */ EXTER int interrupt_flag,initflag,interrupt_enable; void install_default_signals(); void sigint(),sigalrm(); void segmentation_catcher(); EXTER int gc_enabled, saving_system; EXTER object lisp_package,user_package; EXTER char *core_end; EXTER int catch_fatal; EXTER int real_maxpage; char *getenv(); EXTER char *this_lisp; #ifndef IN_MAIN EXTER char stdin_buf[], stdout_buf[]; #endif EXTER object user_package; #define MAXPATHLEN 512 #define TRUE 1 #define FALSE 0 #define GET_OPT_ARG(min,max) \ va_list ap; \ object opt_arg[max - min]; object *__p= opt_arg ;\ int _i=min, _nargs = VFUN_NARGS ; \ va_start(ap); \ if (_nargs < min || (_nargs > max)) FEerror("wrong number of args"); \ while(_i++ <= max) { if (_i > _nargs) *__p++ = Cnil; \ else *__p++ = va_arg(ap,object);} \ va_end(ap) #undef endp #define endp(obje) ((enum type)((endp_temp = (obje))->d.t) == t_cons ? \ FALSE : endp_temp == Cnil ? TRUE : \ endp1(endp_temp)) #ifndef NO_DEFUN #define DEFUN(string,ret,fname,pack,min,max, flags, ret0a0,a12,a34,a56,doc) ret fname /* eg. A function taking from 2 to 8 args returning object the first args is object, the next 6 int, and last defaults to object. note the return type must also be put in the signature. DEFUN("AREF",object,fSaref,SI,2,8,NONE,oo,ii,ii,ii) */ /* for defining old style */ #define DEFUNO(string,ret,fname,pack,min,max, flags, ret0a0,a12,a34,a56,old,doc) \ ret fname (); \ old() \ { Iinvoke_c_function_from_value_stack(fname,F_ARGD(min,max,flags,ARGTYPES(ret0a0,a12,a34,a56))); \ return;} \ ret fname /* these will come later */ #define DEFUNL DEFUN /* these are needed to be linked in to be called by incrementally loaded code */ #define DEFCOMP(type,fun) type fun #define DEFVAR(name,cname,pack,val,doc) object cname #define DEFCONST(name,cname,pack,val,doc) object cname #define DEF_ORDINARY(name,cname,pack,doc) object cname #define DO_INIT(x) #endif /* NO_DEFUN */ object type_name(); object fSincorret_type(); #define TYPE_OF(x) type_of(x) /* For a faster way of checking if t0 is in several types, is t0 a member of types t1 t2 t3 TS_MEMBER(t0,TS(t1)|TS(t2)|TS(t3)...) */ #define TS(s) (1<<s) #define TS_MEMBER(t1,ts) ((TS(t1)) & (ts)) #define ASSURE_TYPE(val,t) if(type_of(val)!=t) val= Icheck_one_type(val,t) object IisArray(); void Wrong_type_error(); /* array to which X is has its body displaced */ #define DISPLACED_TO(x) Mcar(x->a.a_displaced) /* List of arrays whose bodies are displaced to X */ #define DISPLACED_FROM(x) Mcdr(x->a.a_displaced) #define FIX_CHECK(x) (Mfix(Iis_fixnum(x))) #define INITIAL_TOKEN_LENGTH 512 /* externals not needed by cmp */ /* print.d */ EXTER bool PRINTpackage; EXTER bool PRINTstructure; /* from format.c */ EXTER object fmt_stream; EXTER int ctl_origin; EXTER int ctl_index; EXTER int ctl_end; EXTER object *fmt_base; EXTER int fmt_index; EXTER int fmt_end; typedef jmp_buf *jmp_bufp; EXTER jmp_buf *fmt_jmp_buf; EXTER int fmt_indents; EXTER object fmt_string; EXTER object endp_temp; /* eval */ EXTER int eval1 ; /* list.d */ EXTER bool in_list_flag; EXTER object test_function; EXTER object item_compared; bool (*tf)(); EXTER object key_function; object (*kf)(); object (*car_or_cdr)(); /* string.d */ EXTER bool left_trim; EXTER bool right_trim; int (*casefun)(); #define Q_SIZE 128 #define IS_SIZE 256 struct printStruct { short p_queue[Q_SIZE]; short p_indent_stack[IS_SIZE]; int p_qh; int p_qt; int p_qc; int p_isp; int p_iisp;}; EXTER struct printStruct *printStructBufp; #define SETUP_PRINT_DEFAULT(x) \ struct printStruct printStructBuf; \ struct printStruct * old_printStructBufp = printStructBufp; \ printStructBufp = &printStructBuf; \ setupPRINTdefault(x) #define CLEANUP_PRINT_DEFAULT \ cleanupPRINT(); \ printStructBufp = old_printStructBufp /* on most machines this will test in one instruction if the pointer is on the C stack or the 0 pointer */ #ifndef NULL_OR_ON_C_STACK #define NULL_OR_ON_C_STACK(x) ((int)x <= 0) #endif /* more readable name */ #define siScomma sSY EXTER object sSY; #define inheap(pp) ((char *)(pp) < heap_end)
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.