Binary files /tmp/kcl/bin/dpp and ../kcl/bin/dpp differ
diff -rc /tmp/kcl/bin/dpp.c ../kcl/bin/dpp.c
*** /tmp/kcl/bin/dpp.c	Thu Jun 04 03:07:16 1987
--- ../kcl/bin/dpp.c	Fri Jun 11 22:14:16 1993
***************
*** 571,577 ****
  
  LOOP:
  	reset();
! 	fprintf(out, "\n#line %d %s\n", line, filename);
  	while ((c = readc()) != '@')
  		putc(c, out);
  	if (readc() != '(')
--- 571,577 ----
  
  LOOP:
  	reset();
! 	fprintf(out, "\n#line %d \"%s\"\n", line, filename);
  	while ((c = readc()) != '@')
  		putc(c, out);
  	if (readc() != '(')
***************
*** 581,593 ****
  		get_function();
  		get_lambda_list();
  		put_fhead();
! 		fprintf(out, "\n#line %d %s\n", line, filename);
  		while ((c = readc()) != '@')
  			putc(c, out);
  		put_declaration();
  
  	BODY:
! 		fprintf(out, "\n#line %d %s\n", line, filename);
  		while ((c = readc()) != '@')
  			putc(c, out);
  		if ((c = readc()) == ')') {
--- 581,593 ----
  		get_function();
  		get_lambda_list();
  		put_fhead();
! 		fprintf(out, "\n#line %d \"%s\"\n", line, filename);
  		while ((c = readc()) != '@')
  			putc(c, out);
  		put_declaration();
  
  	BODY:
! 		fprintf(out, "\n#line %d \"%s\"\n", line, filename);
  		while ((c = readc()) != '@')
  			putc(c, out);
  		if ((c = readc()) == ')') {
Only in ../kcl/bin: dpp.exe
Only in ../kcl/bin: dpp.old
diff -rc /tmp/kcl/bin/makefile ../kcl/bin/makefile
*** /tmp/kcl/bin/makefile	Wed Nov 27 16:42:23 1985
--- ../kcl/bin/makefile	Fri Jun 11 22:14:16 1993
***************
*** 1,11 ****
  DEFS	= -DUNIX
! CFLAGS  = $(DEFS) -O
  
  
! all:	dpp
  
! dpp:	dpp.c
! 	cc $(CFLAGS) -o dpp dpp.c
  
  clean:
! 	rm -f dpp core a.out *.o
--- 1,13 ----
  DEFS	= -DUNIX
! CC	= gcc
! CFLAGS  = $(DEFS) -O -fwritable-strings
  
  
! all:	dpp.exe
  
! dpp.exe: dpp.c
! 	$(CC) $(CFLAGS) -o dpp dpp.c
! 	emxbind /emx/bin/emx.exe dpp dpp.exe
  
  clean:
! 	rm -f dpp dpp.exe core a.out *.o
Only in ../kcl/bin: makefile.old
diff -rc /tmp/kcl/c/alloc.c ../kcl/c/alloc.c
*** /tmp/kcl/c/alloc.c	Thu Jun 04 03:07:27 1987
--- ../kcl/c/alloc.c	Fri Sep 17 00:22:05 1993
***************
*** 4,17 ****
  proper "License Agreement for Kyoto Common LISP" with SIGLISP.
  */
  
  /*
  	alloc.c
  	IMPLEMENTATION-DEPENDENT
  */
  
- #include "include.h"
- 
- 
  object Vignore_maximum_pages;
  
  
--- 4,16 ----
  proper "License Agreement for Kyoto Common LISP" with SIGLISP.
  */
  
+ #include "include.h"
+ 
  /*
  	alloc.c
  	IMPLEMENTATION-DEPENDENT
  */
  
  object Vignore_maximum_pages;
  
  
***************
*** 30,36 ****
  
  #endif
  
- 
  int real_maxpage = MAXPAGE;
  int new_holepage;
  
--- 29,34 ----
***************
*** 91,96 ****
--- 89,101 ----
  		error("Can't allocate.  Good-bye!");
  #endif
  
+ #ifdef OS2
+ 	if (core_end != sbrk(0))
+ 		error("Someone allocated my memory!");
+ 	if (core_end != sbrk(PAGESIZE*(n - m)))
+ 		error("Can't allocate.  Good-bye!");
+ #endif
+ 
  #ifdef DGUX
  
  
***************
*** 482,487 ****
--- 487,496 ----
  	real_maxpage = MAXPAGE;
  #endif
  
+ #ifdef OS2
+ 	real_maxpage = MAXPAGE;
+ #endif
+ 
  #ifdef DGUX
  
  
***************
*** 513,519 ****
  #ifdef UNIX
  	heap_end = sbrk(0);
  	if (i = ((int)heap_end & (PAGESIZE - 1)))
! 		sbrk(PAGESIZE - i);
  	heap_end = core_end = sbrk(0);
  #endif
  
--- 522,528 ----
  #ifdef UNIX
  	heap_end = sbrk(0);
  	if (i = ((int)heap_end & (PAGESIZE - 1)))
! 	  sbrk(PAGESIZE - i);
  	heap_end = core_end = sbrk(0);
  #endif
  
***************
*** 840,845 ****
--- 849,857 ----
  {
  	object *p;
  
+ #ifdef OS2
+ 	if (ptr != NULL) {
+ #endif
  	for (p = &malloc_list;  !endp(*p);  p = &((*p)->c.c_cdr))
  		if ((*p)->c.c_car->st.st_self == ptr) {
  			insert_contblock((*p)->c.c_car->st.st_self,
***************
*** 849,854 ****
--- 861,869 ----
  			return;
  		}
  	FEerror("free(3) error.", 0);
+ #ifdef OS2
+       }
+ #endif
  }
  
  char *
***************
*** 859,864 ****
--- 874,883 ----
  	object x;
  	int i, j;
  
+ #ifdef OS2
+ 	if (ptr == NULL)
+ 	  return (malloc (size));
+ #endif
  	for (x = malloc_list;  !endp(x);  x = x->c.c_cdr)
  		if (x->c.c_car->st.st_self == ptr) {
  			x = x->c.c_car;
Only in ../kcl/c: alloc.old
diff -rc /tmp/kcl/c/bitop.c ../kcl/c/bitop.c
*** /tmp/kcl/c/bitop.c	Thu Jun 04 03:07:27 1987
--- ../kcl/c/bitop.c	Fri Jun 11 22:14:17 1993
***************
*** 385,387 ****
--- 385,431 ----
  }
  
  #endif
+ 
+ #ifdef OS2
+ 
+ get_mark_bit(x)
+     int *x;
+ {
+   asm ("	movl 8(%ebp), %eax");
+   asm ("	shrl $2, %eax");
+   asm ("	movl %eax, %ecx");
+   asm ("	shrl $3, %ecx");
+   asm ("	addl _mark_table, %ecx");
+   asm ("	andl $7, %eax");
+   asm ("	bt %eax, (%ecx)");
+   asm ("	setb %al");
+   asm ("	andl $1, %eax");
+ }
+ 
+ set_mark_bit(x)
+ int *x;
+ {
+   asm ("	movl 8(%ebp), %eax");
+   asm ("	shrl $2, %eax");
+   asm ("	movl %eax, %ecx");
+   asm ("	shrl $3, %ecx");
+   asm ("	addl _mark_table, %ecx");
+   asm ("	andl $7, %eax");
+   asm ("	bts %eax, (%ecx)");
+ }
+ 
+ get_set_mark_bit(x)
+ int *x;
+ {
+   asm ("	movl 8(%ebp), %eax");
+   asm ("	shrl $2, %eax");
+   asm ("	movl %eax, %ecx");
+   asm ("	shrl $3, %ecx");
+   asm ("	addl _mark_table, %ecx");
+   asm ("	andl $7, %eax");
+   asm ("	bts %eax, (%ecx)");
+   asm ("	setb %al");
+   asm ("	andl $1, %eax");
+ }
+ 
+ #endif
Only in ../kcl/c: bitop.old
Only in ../kcl/c: dosfasl.c
Only in ../kcl/c: dosfsys.c
Only in ../kcl/c: dosint.c
Only in ../kcl/c: dossave.c
Only in ../kcl/c: dossys.c
Only in ../kcl/c: dostime.c
diff -rc /tmp/kcl/c/earith.c ../kcl/c/earith.c
*** /tmp/kcl/c/earith.c	Thu Jun 04 03:07:27 1987
--- ../kcl/c/earith.c	Fri Jun 11 22:14:17 1993
***************
*** 58,63 ****
--- 58,105 ----
  
  #endif
  
+ #ifdef OS2
+ 
+ extended_mul(d, q, r, hp, lp)
+     int d, q, r;
+     int *hp, *lp;
+ {
+   asm ("	pushl %edx");
+   asm ("	movl $0, %ecx");
+   asm ("	movl 8(%ebp), %eax");
+   asm ("	mull 12(%ebp)");
+   asm ("	addl 16(%ebp), %eax");
+   asm ("	adcl %ecx, %edx");
+   asm ("	shll $1, %eax");
+   asm ("	rcll $1, %edx");
+   asm ("	shrl $1, %eax");
+   asm ("	movl 20(%ebp), %ecx");
+   asm ("	movl %edx, (%ecx)");
+   asm ("	movl 24(%ebp), %ecx");
+   asm ("	movl %eax, (%ecx)");
+   asm ("	popl %edx");
+ }
+ 
+ extended_div(d, h, l, qp, rp)
+ int d, h, l;
+ int *qp, *rp;
+ {
+   asm ("	pushl %edx");
+   asm ("	movl 12(%ebp), %edx");
+   asm ("	movl 16(%ebp), %eax");
+   asm ("	shll %eax");
+   asm ("	shrl %edx");
+   asm ("	rcrl $1, %eax");
+   asm ("	divl 8(%ebp)");
+   asm ("	movl 20(%ebp), %ecx");
+   asm ("	movl %eax, (%ecx)");
+   asm ("	movl 24(%ebp), %ecx");
+   asm ("	movl %edx, (%ecx)");
+   asm ("	popl %edx");
+ }
+ 
+ #endif
+ 
  #ifdef MC68K
  
  extended_mul(d, q, r, hp, lp)
Only in ../kcl/c: earith.old
diff -rc /tmp/kcl/c/file.d ../kcl/c/file.d
*** /tmp/kcl/c/file.d	Thu Jun 04 12:10:25 1987
--- ../kcl/c/file.d	Fri Jun 11 22:14:18 1993
***************
*** 27,32 ****
--- 27,36 ----
  #include <a.out.h>
  #endif
  
+ #ifdef OS2
+ #include <a_out.h>
+ #endif
+ 
  #ifdef ATT
  #include <filehdr.h>
  #include <syms.h>
***************
*** 306,321 ****
--- 310,337 ----
  		fname[i] = fn->st.st_self[i];
  	fname[i] = '\0';
  	if (smm == smm_input || smm == smm_probe) {
+ #ifdef OS2
+ 		fp = fopen(fname, "rb");
+ #else
  		fp = fopen(fname, "r");
+ #endif
  		if (fp == NULL) {
  			if (if_does_not_exist == Kerror)
  				cannot_open(fn);
  			else if (if_does_not_exist == Kcreate) {
+ #ifdef OS2
+ 				fp = fopen(fname, "wb");
+ #else
  				fp = fopen(fname, "w");
+ #endif
  				if (fp == NULL)
  					cannot_create(fn);
  				fclose(fp);
+ #ifdef OS2
+ 				fp = fopen(fname, "rb");
+ #else
  				fp = fopen(fname, "r");
+ #endif
  				if (fp == NULL)
  					cannot_open(fn);
  			} else if (if_does_not_exist == Cnil)
***************
*** 327,333 ****
--- 343,353 ----
  	} else if (smm == smm_output || smm == smm_io) {
  		if (if_exists == Knew_version && if_does_not_exist == Kcreate)
  			goto CREATE;
+ #ifdef OS2
+ 		fp = fopen(fname, "rb");
+ #else
  		fp = fopen(fname, "r");
+ #endif
  		if (fp != NULL) {
  			fclose(fp);
  			if (if_exists == Kerror)
***************
*** 334,342 ****
--- 354,370 ----
  				FEerror("The file ~A already exists.", 1, fn);
  			else if (if_exists == Krename) {
  				if (smm == smm_output)
+ #ifdef OS2
+ 					fp = backup_fopen(fname, "wb");
+ #else
  					fp = backup_fopen(fname, "w");
+ #endif
  				else
+ #ifdef OS2
+ 					fp = backup_fopen(fname, "wb+");
+ #else
  					fp = backup_fopen(fname, "w+");
+ #endif
  				if (fp == NULL)
  					cannot_create(fn);
  			} else if (if_exists == Krename_and_delete ||
***************
*** 343,362 ****
--- 371,410 ----
  				   if_exists == Knew_version ||
  				   if_exists == Ksupersede) {
  				if (smm == smm_output)
+ #ifdef OS2
+ 					fp = fopen(fname, "wb");
+ #else
  					fp = fopen(fname, "w");
+ #endif
  				else
+ #ifdef OS2
+ 					fp = fopen(fname, "wb+");
+ #else
  					fp = fopen(fname, "w+");
+ #endif
  				if (fp == NULL)
  					cannot_create(fn);
  			} else if (if_exists == Koverwrite) {
+ #ifdef OS2
+ 				fp = fopen(fname, "rb+");
+ #else
  				fp = fopen(fname, "r+");
+ #endif
  				if (fp == NULL)
  					cannot_open(fn);
  			} else if (if_exists == Kappend) {
  				if (smm == smm_output)
+ #ifdef OS2
+ 					fp = fopen(fname, "ab");
+ #else
  					fp = fopen(fname, "a");
+ #endif
  				else
+ #ifdef OS2
+ 					fp = fopen(fname, "ab+");
+ #else
  					fp = fopen(fname, "a+");
+ #endif
  				if (fp == NULL)
  				FEerror("Cannot append to the file ~A.",1,fn);
  			} else if (if_exists == Cnil)
***************
*** 370,378 ****
--- 418,434 ----
  			else if (if_does_not_exist == Kcreate) {
  			CREATE:
  				if (smm == smm_output)
+ #ifdef OS2
+ 					fp = fopen(fname, "wb");
+ #else
  					fp = fopen(fname, "w");
+ #endif
  				else
+ #ifdef OS2
+ 					fp = fopen(fname, "wb+");
+ #else
  					fp = fopen(fname, "w+");
+ #endif
  				if (fp == NULL)
  					cannot_create(fn);
  			} else if (if_does_not_exist == Cnil)
***************
*** 386,392 ****
--- 442,452 ----
  	x = alloc_object(t_stream);
  	x->sm.sm_mode = (short)smm;
  	x->sm.sm_fp = fp;
+ #ifdef OS2
+ 	fp->buffer = BASEFF;
+ #else
  	fp->_base = BASEFF;
+ #endif
  	x->sm.sm_object0 = Sstring_char;
  	x->sm.sm_object1 = fn;
  	x->sm.sm_int0 = x->sm.sm_int1 = 0;
***************
*** 414,421 ****
--- 474,486 ----
  		if (strm->sm.sm_fp == NULL)
  			closed_stream(strm);
  		fflush(strm->sm.sm_fp);
+ #ifdef OS2
+ 		insert_contblock((char *)(strm->sm.sm_fp->buffer), BUFSIZ);
+ 		strm->sm.sm_fp->buffer = NULL;
+ #else
  		insert_contblock((char *)(strm->sm.sm_fp->_base), BUFSIZ);
  		strm->sm.sm_fp->_base = NULL;
+ #endif
  		fclose(strm->sm.sm_fp);
  		strm->sm.sm_fp = NULL;
  		break;
***************
*** 428,435 ****
--- 493,505 ----
  	case smm_probe:
  		if (strm->sm.sm_fp == NULL)
  			closed_stream(strm);
+ #ifdef OS2
+ 		insert_contblock((char *)(strm->sm.sm_fp->buffer), BUFSIZ);
+ 		strm->sm.sm_fp->buffer = NULL;
+ #else
  		insert_contblock((char *)(strm->sm.sm_fp->_base), BUFSIZ);
  		strm->sm.sm_fp->_base = NULL;
+ #endif
  		fclose(strm->sm.sm_fp);
  		strm->sm.sm_fp = NULL;
  		break;
***************
*** 1877,1882 ****
--- 1947,1955 ----
  #ifdef BSD
  	struct exec header;
  #endif
+ #ifdef OS2
+ 	struct exec header;
+ #endif
  #ifdef ATT
  	struct filehdr fileheader;
  #endif
***************
*** 1893,1898 ****
--- 1966,1982 ----
  	vs_push(faslfile);
  
  #ifdef BSD
+ 	fp = faslfile->sm.sm_fp;
+ 	fread(&header, sizeof(header), 1, fp);
+ 	fseek(fp,
+ 	      header.a_text+header.a_data+
+ 	      header.a_syms+header.a_trsize+header.a_drsize,
+ 	      1);
+ 	fread(&i, sizeof(i), 1, fp);
+ 	fseek(fp, i - sizeof(i), 1);
+ #endif
+ 
+ #ifdef OS2
  	fp = faslfile->sm.sm_fp;
  	fread(&header, sizeof(header), 1, fp);
  	fseek(fp,
Only in ../kcl/c: file.old
diff -rc /tmp/kcl/c/format.c ../kcl/c/format.c
*** /tmp/kcl/c/format.c	Thu Jun 04 03:07:27 1987
--- ../kcl/c/format.c	Fri Jun 11 22:14:18 1993
***************
*** 19,25 ****
  object *fmt_base;
  int fmt_index;
  int fmt_end;
! int *fmt_jmp_buf;
  int fmt_indents;
  object fmt_string;
  
--- 19,25 ----
  object *fmt_base;
  int fmt_index;
  int fmt_end;
! jmp_buf fmt_jmp_buf;
  int fmt_indents;
  object fmt_string;
  
***************
*** 32,38 ****
  			object *old_fmt_base; \
  			int old_fmt_index; \
  			int old_fmt_end; \
! 			int *old_fmt_jmp_buf; \
  			int old_fmt_indents; \
  			object old_fmt_string
  #define	fmt_save	old_fmt_stream = fmt_stream; \
--- 32,38 ----
  			object *old_fmt_base; \
  			int old_fmt_index; \
  			int old_fmt_end; \
! 			jmp_buf old_fmt_jmp_buf; \
  			int old_fmt_indents; \
  			object old_fmt_string
  #define	fmt_save	old_fmt_stream = fmt_stream; \
***************
*** 42,48 ****
  			old_fmt_base = fmt_base; \
  			old_fmt_index = fmt_index; \
  			old_fmt_end = fmt_end; \
! 			old_fmt_jmp_buf = fmt_jmp_buf; \
  			old_fmt_indents = fmt_indents; \
  			old_fmt_string = fmt_string
  #define	fmt_restore	fmt_stream = old_fmt_stream; \
--- 42,48 ----
  			old_fmt_base = fmt_base; \
  			old_fmt_index = fmt_index; \
  			old_fmt_end = fmt_end; \
! 			*old_fmt_jmp_buf = *fmt_jmp_buf; \
  			old_fmt_indents = fmt_indents; \
  			old_fmt_string = fmt_string
  #define	fmt_restore	fmt_stream = old_fmt_stream; \
***************
*** 52,58 ****
  			fmt_base = old_fmt_base; \
  			fmt_index = old_fmt_index; \
  			fmt_end = old_fmt_end; \
! 			fmt_jmp_buf = old_fmt_jmp_buf; \
  			fmt_indents = old_fmt_indents; \
  			fmt_string = old_fmt_string
  #define	fmt_restore1	fmt_stream = old_fmt_stream; \
--- 52,58 ----
  			fmt_base = old_fmt_base; \
  			fmt_index = old_fmt_index; \
  			fmt_end = old_fmt_end; \
! 			*fmt_jmp_buf = *old_fmt_jmp_buf; \
  			fmt_indents = old_fmt_indents; \
  			fmt_string = old_fmt_string
  #define	fmt_restore1	fmt_stream = old_fmt_stream; \
***************
*** 59,65 ****
  			ctl_origin = old_ctl_origin; \
  			ctl_index = old_ctl_index; \
  			ctl_end = old_ctl_end; \
! 			fmt_jmp_buf = old_fmt_jmp_buf; \
  			fmt_indents = old_fmt_indents; \
  			fmt_string = old_fmt_string
  
--- 59,65 ----
  			ctl_origin = old_ctl_origin; \
  			ctl_index = old_ctl_index; \
  			ctl_end = old_ctl_end; \
! 			*fmt_jmp_buf = *old_fmt_jmp_buf; \
  			fmt_indents = old_fmt_indents; \
  			fmt_string = old_fmt_string
  
***************
*** 1556,1562 ****
  		fmt_error("control string expected");
  	if (atsign) {
  		fmt_save;
! 		fmt_jmp_buf = fmt_jmp_buf0;
  		fmt_string = s;
  		if (up_colon = setjmp(fmt_jmp_buf)) {
  			if (--up_colon)
--- 1556,1562 ----
  		fmt_error("control string expected");
  	if (atsign) {
  		fmt_save;
! 		*fmt_jmp_buf = *fmt_jmp_buf0;
  		fmt_string = s;
  		if (up_colon = setjmp(fmt_jmp_buf)) {
  			if (--up_colon)
***************
*** 1571,1577 ****
  		fmt_index = 0;
  		for (fmt_end = 0;  !endp(l);  fmt_end++, l = l->c.c_cdr)
  			vs_check_push(l->c.c_car);
! 		fmt_jmp_buf = fmt_jmp_buf0;
  		fmt_string = s;
  		if (up_colon = setjmp(fmt_jmp_buf)) {
  			if (--up_colon)
--- 1571,1577 ----
  		fmt_index = 0;
  		for (fmt_end = 0;  !endp(l);  fmt_end++, l = l->c.c_cdr)
  			vs_check_push(l->c.c_car);
! 		*fmt_jmp_buf = *fmt_jmp_buf0;
  		fmt_string = s;
  		if (up_colon = setjmp(fmt_jmp_buf)) {
  			if (--up_colon)
***************
*** 1599,1605 ****
  	if (ctl_string[--j] != ')' || ctl_string[--j] != '~')
  		fmt_error("~) expected");
  	fmt_save;
! 	fmt_jmp_buf = fmt_jmp_buf0;
  	if (up_colon = setjmp(fmt_jmp_buf))
  		;
  	else
--- 1599,1605 ----
  	if (ctl_string[--j] != ')' || ctl_string[--j] != '~')
  		fmt_error("~) expected");
  	fmt_save;
! 	*fmt_jmp_buf = *fmt_jmp_buf0;
  	if (up_colon = setjmp(fmt_jmp_buf))
  		;
  	else
***************
*** 1769,1775 ****
  		fmt_index = 0;
  		for (fmt_end = 0;  !endp(l);  fmt_end++, l = l->c.c_cdr)
  			vs_check_push(l->c.c_car);
! 		fmt_jmp_buf = fmt_jmp_buf0;
  		if (colon_close)
  			goto L1;
  		while (fmt_index < fmt_end) {
--- 1769,1775 ----
  		fmt_index = 0;
  		for (fmt_end = 0;  !endp(l);  fmt_end++, l = l->c.c_cdr)
  			vs_check_push(l->c.c_car);
! 		*fmt_jmp_buf = *fmt_jmp_buf0;
  		if (colon_close)
  			goto L1;
  		while (fmt_index < fmt_end) {
***************
*** 1789,1795 ****
  		l0 = fmt_advance();
  		fmt_save;
  		fmt_base = vs_top;
! 		fmt_jmp_buf = fmt_jmp_buf0;
  		if (colon_close)
  			goto L2;
  		while (!endp(l0)) {
--- 1789,1795 ----
  		l0 = fmt_advance();
  		fmt_save;
  		fmt_base = vs_top;
! 		*fmt_jmp_buf = *fmt_jmp_buf0;
  		if (colon_close)
  			goto L2;
  		while (!endp(l0)) {
***************
*** 1814,1820 ****
  		fmt_restore;
  	} else if (!colon && atsign) {
  		fmt_save;
! 		fmt_jmp_buf = fmt_jmp_buf0;
  		if (colon_close)
  			goto L3;
  		while (fmt_index < fmt_end) {
--- 1814,1820 ----
  		fmt_restore;
  	} else if (!colon && atsign) {
  		fmt_save;
! 		*fmt_jmp_buf = *fmt_jmp_buf0;
  		if (colon_close)
  			goto L3;
  		while (fmt_index < fmt_end) {
***************
*** 1842,1848 ****
  			fmt_index = 0;
  			for (fmt_end = 0; !endp(l); fmt_end++, l = l->c.c_cdr)
  				vs_check_push(l->c.c_car);
! 			fmt_jmp_buf = fmt_jmp_buf0;
  			if (up_colon = setjmp(fmt_jmp_buf)) {
  				vs_top = fmt_base;
  				fmt_restore;
--- 1842,1848 ----
  			fmt_index = 0;
  			for (fmt_end = 0; !endp(l); fmt_end++, l = l->c.c_cdr)
  				vs_check_push(l->c.c_car);
! 			*fmt_jmp_buf = *fmt_jmp_buf0;
  			if (up_colon = setjmp(fmt_jmp_buf)) {
  				vs_top = fmt_base;
  				fmt_restore;
***************
*** 1888,1894 ****
  		fields[n] = make_string_output_stream(64);
  		vs_push(fields[n]);
  		fmt_save;
! 		fmt_jmp_buf = fmt_jmp_buf0;
  		if (up_colon = setjmp(fmt_jmp_buf)) {
  			--n;
  			if (--up_colon)
--- 1888,1894 ----
  		fields[n] = make_string_output_stream(64);
  		vs_push(fields[n]);
  		fmt_save;
! 		*fmt_jmp_buf = *fmt_jmp_buf0;
  		if (up_colon = setjmp(fmt_jmp_buf)) {
  			--n;
  			if (--up_colon)
***************
*** 2026,2032 ****
  	fmt_base = vs_base + 2;
  	fmt_index = 0;
  	fmt_end = vs_top - vs_base - 2;
! 	fmt_jmp_buf = fmt_jmp_buf0;
  	if (symbol_value(siVindent_formatted_output) != Cnil)
  		fmt_indents = file_column(vs_base[0]);
  	else
--- 2026,2032 ----
  	fmt_base = vs_base + 2;
  	fmt_index = 0;
  	fmt_end = vs_top - vs_base - 2;
! 	*fmt_jmp_buf = *fmt_jmp_buf0;
  	if (symbol_value(siVindent_formatted_output) != Cnil)
  		fmt_indents = file_column(vs_base[0]);
  	else
Only in ../kcl/c: format.old
diff -rc /tmp/kcl/c/gbc.c ../kcl/c/gbc.c
*** /tmp/kcl/c/gbc.c	Thu Jun 04 03:07:27 1987
--- ../kcl/c/gbc.c	Mon Oct 11 20:10:20 1993
***************
*** 422,430 ****
--- 422,436 ----
  			mark_object(x->sm.sm_object1);
  			if (what_to_collect == t_contiguous &&
  			    x->sm.sm_fp != NULL &&
+ #ifdef OS2
+ 			    x->sm.sm_fp->buffer != NULL &&
+ 			    x->sm.sm_fp->buffer != BASEFF)
+ 				mark_contblock(x->sm.sm_fp->buffer, BUFSIZ);
+ #else
  			    x->sm.sm_fp->_base != NULL &&
  			    x->sm.sm_fp->_base != BASEFF)
  				mark_contblock(x->sm.sm_fp->_base, BUFSIZ);
+ #endif
  			break;
  
  		case smm_synonym:
***************
*** 966,972 ****
--- 972,980 ----
  
  		heap_end += PAGESIZE*j;
  
+ #ifndef OS2
  		core_end = heap_end;
+ #endif
  
  		for (i = 0;  i < maxpage;  i++)
  			if ((enum type)type_map[i] == t_contiguous)
Only in ../kcl/c: gbc.old
diff -rc /tmp/kcl/c/include.h ../kcl/c/include.h
*** /tmp/kcl/c/include.h	Thu Jun 04 12:10:04 1987
--- ../kcl/c/include.h	Fri Jun 11 22:14:18 1993
***************
*** 97,102 ****
--- 97,113 ----
  
  #endif
  
+ /*
+   OS/2 2.0 with EMX
+   The EMX environment is Unix-oid, so we define UNIX as well.
+ */
+ 
+ #ifdef OS2
+ #define AV
+ #define IEEEFLOAT
+ #define UNIX
+ #endif
+ 
  
  #include <stdio.h>
  #include <setjmp.h>
Only in ../kcl/c: include.old
Only in ../kcl/c: main.bak
diff -rc /tmp/kcl/c/main.c ../kcl/c/main.c
*** /tmp/kcl/c/main.c	Thu Jun 04 03:07:27 1987
--- ../kcl/c/main.c	Mon Oct 18 23:58:29 1993
***************
*** 27,32 ****
--- 27,35 ----
  char lisp_implementation_version[] = "June 1987";
  
  char system_directory[MAXPATHLEN];
+ #ifdef OS2
+ char place_kcl_self[MAXPATHLEN];
+ #endif
  object siVsystem_directory;
  #ifdef UNIX
  char *kcl_self;
***************
*** 70,75 ****
--- 73,79 ----
  char **argv;
  #endif
  {
+ 	extern char *strcat();
  	FILE *i;
  #ifdef BSD
  	struct rlimit rl;
***************
*** 80,85 ****
--- 84,93 ----
  
  #endif
  
+ #ifdef OS2
+ 	stdin->buffer = NULL;
+ 	stdout->buffer = NULL;
+ #endif
  	setbuf(stdin, stdin_buf);
  	setbuf(stdout, stdout_buf);
  
***************
*** 94,101 ****
--- 102,118 ----
  	if (argv[0][0] != '/')
  		error("can't get the program name");
  */
+ #ifndef OS2
  	kcl_self = argv[0];
+ #endif
  	if (!initflag) {
+ #ifdef OS2
+ 	  _getcwd2(system_directory, MAXPATHLEN);
+ 	  strcat(system_directory, "/");
+ 	  kcl_self = place_kcl_self;
+ 	  strcpy(kcl_self, system_directory);
+ 	  strcat(kcl_self, argv[0]);
+ #else
  		strcpy(system_directory, argv[0]);
  		if (system_directory[0] != '/')
  			strcpy(system_directory, "./");
***************
*** 107,112 ****
--- 124,130 ----
  				;
  			system_directory[j] = '\0';
  		}
+ #endif
  	}
  #endif
  #ifdef AOSVS
***************
*** 166,172 ****
--- 184,192 ----
  	if (initflag) {
  		if (saving_system) {
  			saving_system = FALSE;
+ #ifndef OS2
  			alloc_page(-(holepage + nrbpage));
+ #endif
  		}
  
  		initflag = FALSE;
***************
*** 820,825 ****
--- 840,854 ----
  		     make_cons(make_ordinary("BSD"),
  		     make_cons(make_ordinary("COMMON"),
  		     make_cons(make_ordinary("KCL"), Cnil))))))));
+ #endif
+ 
+ #ifdef OS2
+ 	make_special("*FEATURES*",
+ 		     make_cons(make_ordinary("I386"),
+ 		     make_cons(make_ordinary("IEEE-FLOATING-POINT"),
+ 		     make_cons(make_ordinary("OS2"),
+ 		     make_cons(make_ordinary("COMMON"),
+ 		     make_cons(make_ordinary("KCL"), Cnil))))));
  #endif
  
  #ifdef ISI
Only in ../kcl/c: main.old
diff -rc /tmp/kcl/c/num_co.c ../kcl/c/num_co.c
*** /tmp/kcl/c/num_co.c	Thu Jun 04 03:07:27 1987
--- ../kcl/c/num_co.c	Fri Jun 11 22:14:19 1993
***************
*** 87,97 ****
  	}
  #ifdef NS32K
  
! 
  #else
  	h = *(int *)(&d);
  	l = *((int *)(&d) + 1);
  #endif
  #ifdef VAX
  	*ep = ((h >> 7) & 0xff) - 128 - 56;
  	h = ((h >> 15) & 0x1fffe) | (((h & 0x7f) | 0x80) << 17);
--- 87,101 ----
  	}
  #ifdef NS32K
  
! #else
! #ifdef OS2
! 	l = *(int *)(&d);
! 	h = *((int *)(&d) + 1);
  #else
  	h = *(int *)(&d);
  	l = *((int *)(&d) + 1);
  #endif
+ #endif
  #ifdef VAX
  	*ep = ((h >> 7) & 0xff) - 128 - 56;
  	h = ((h >> 15) & 0x1fffe) | (((h & 0x7f) | 0x80) << 17);
***************
*** 216,224 ****
--- 220,232 ----
  #ifdef NS32K
  
  #else
+ #ifdef OS2
+ 	return(((*((int *)(&d) + 1) & 0x7ff00000) >> 20) - 1022);
+ #else
  	return(((*(int *)(&d) & 0x7ff00000) >> 20) - 1022);
  #endif
  #endif
+ #endif
  #ifdef MV
  
  #endif
***************
*** 236,242 ****
--- 244,254 ----
  
  	if (d == 0.0)
  		return(0.0);
+ #ifdef OS2
+ 	*((int *)(&d) + 1)
+ #else
  	*(int *)(&d)
+ #endif
  #ifdef VAX
  	= *(int *)(&d) & 0xffff807f | ((e + 128) << 7) & 0x7f80;
  #endif
***************
*** 247,255 ****
--- 259,271 ----
  #ifdef NS32K
  
  #else
+ #ifdef OS2
+ 	= *((int *)(&d) + 1) & 0x800fffff | ((e + 1022) << 20) & 0x7ff00000;
+ #else
  	= *(int *)(&d) & 0x800fffff | ((e + 1022) << 20) & 0x7ff00000;
  #endif
  #endif
+ #endif
  #ifdef MV
  
  #endif
***************
*** 1169,1174 ****
--- 1185,1197 ----
  
  
  #else
+ #ifdef OS2
+ 	l[0] = 0x00800000;
+ 	smallest_float = *(float *)l;
+ 	l[0] = 0;
+ 	l[1] = 0x00100000;
+ 	smallest_double = *(double *)l;
+ #else
  	l[0] = 1;
  	smallest_float = *(float *)l;
  	l[0] = 0;
***************
*** 1176,1181 ****
--- 1199,1205 ----
  	smallest_double = *(double *)l;
  #endif
  #endif
+ #endif
  
  #ifdef MV
  
***************
*** 1213,1223 ****
--- 1237,1255 ----
  
  
  #else
+ #ifdef OS2
+ 	l[0] = 0x7f7fffff;
+ 	biggest_float = *(float *)l;
+ 	l[0] = 0xffffffff;
+ 	l[1] = 0x7fefffff;
+ 	biggest_double = *(double *)l;
+ #else
  	l[0] = 0x7f7fffff;
  	biggest_float = *(float *)l;
  	l[0] = 0x7fefffff;
  	l[1] = 0xffffffff;
  	biggest_double = *(double *)l;
+ #endif
  #endif
  #endif
  
Only in ../kcl/c: num_co.old
diff -rc /tmp/kcl/c/pathname.d ../kcl/c/pathname.d
*** /tmp/kcl/c/pathname.d	Thu Jun 04 12:11:08 1987
--- ../kcl/c/pathname.d	Fri Jun 11 22:14:19 1993
***************
*** 6,17 ****
  
  /*
  	pathname.d
! 	IMPLEMENTATION-DEPENTENT
  
  	This file contains those functions that interpret namestrings.
  */
  
  #include "include.h"
  
  object Vdefault_pathname_defaults;
  
--- 6,18 ----
  
  /*
  	pathname.d
! 	IMPLEMENTATION-DEPENDENT
  
  	This file contains those functions that interpret namestrings.
  */
  
  #include "include.h"
+ #include <stdlib.h>
  
  object Vdefault_pathname_defaults;
  
***************
*** 83,89 ****
--- 84,99 ----
  	object x;
  	vs_mark;
  
+ #ifdef OS2
+ 	vsp = vs_top + 2;		/* leave room for device */
+ 	if (_fngetdrive (&s->st.st_self[start]) != 0) {
+ 	  make_one(&s->st.st_self[start], 2);
+ 	  start += 2;
+ 	} else
+ 	  vs_push(Cnil);
+ #else
  	vsp = vs_top + 1;
+ #endif
  	for (i = j = start;  i < end;  ) {
  		if (isspace(s->st.st_self[i]))
  			break;
***************
*** 93,99 ****
  #ifdef AOSVS
  
  #endif
! 			if (j == 0 && i == 0) {
  				i++;
  				vs_push(Kroot);
  				j = i;
--- 103,113 ----
  #ifdef AOSVS
  
  #endif
! #ifdef OS2
! 		  if (j == start && i == start) {
! #else
! 		       if (j == 0 && i == 0) {
! #endif
  				i++;
  				vs_push(Kroot);
  				j = i;
***************
*** 227,234 ****
--- 241,253 ----
  	}
  L:
  	x
+ #ifdef OS2
+ 	= make_pathname(Cnil, vs_top[-4],
+ 			vs_top[-3], vs_top[-2], vs_top[-1], Cnil);
+ #else
  	= make_pathname(Cnil, Cnil,
  			vs_top[-3], vs_top[-2], vs_top[-1], Cnil);
+ #endif
  	vs_reset;
  	return(x);
  
***************
*** 342,347 ****
--- 361,379 ----
  	object l, y;
  
  	i = 0;
+ #ifdef OS2
+ 	y = x->pn.pn_device;
+ 
+ 	if (y != Cnil) {
+ 		if ((type_of(y) != t_string) ||
+ 		    y->st.st_fillp != 2 ||
+  		    _fngetdrive (y->st.st_self) == 0)
+ 			FEerror("~S is an illegal device name.", 1, y);
+ 		for (j = 0;  j < y->st.st_fillp;  j++)
+ 			token->st.st_self[i++] = y->st.st_self[j];
+ 	}
+ #endif
+ 
  	l = x->pn.pn_directory;
  	if (endp(l))
  		goto L;
Only in ../kcl/c: pathname.old
diff -rc /tmp/kcl/c/print.d ../kcl/c/print.d
*** /tmp/kcl/c/print.d	Thu Jun 04 12:11:13 1987
--- ../kcl/c/print.d	Fri Jun 11 22:14:19 1993
***************
*** 307,313 ****
--- 307,317 ----
  	int i;
  
  #ifdef IEEEFLOAT
+ #ifdef OS2
+ 	if ((*((int *)&d + 1)& 0x7ff00000) == 0x7ff00000)
+ #else
  	if ((*(int *)&d & 0x7ff00000) == 0x7ff00000)
+ #endif
  		FEerror("Can't print a non-number.",
  			0);
  	else
Only in ../kcl/c: print.old
diff -rc /tmp/kcl/c/read.d ../kcl/c/read.d
*** /tmp/kcl/c/read.d	Thu Jun 04 12:11:17 1987
--- ../kcl/c/read.d	Fri Jun 11 22:14:19 1993
***************
*** 782,788 ****
--- 782,792 ----
  
  MAKE_FLOAT:
  #ifdef IEEEFLOAT
+ #ifdef OS2
+ 	if ((*((int *)&fraction + 1) & 0x7ff00000) == 0x7ff00000)
+ #else
  	if ((*(int *)&fraction & 0x7ff00000) == 0x7ff00000)
+ #endif
  		FEerror("Floating-point overflow.", 0);
  #endif
  	switch (exponent_marker) {
Only in ../kcl/c: read.old
Only in ../kcl/cmpnew: cmpbind.o
Only in ../kcl/cmpnew: cmpblock.o
Only in ../kcl/cmpnew: cmpcall.o
Only in ../kcl/cmpnew: cmpcatch.o
Only in ../kcl/cmpnew: cmpenv.o
Only in ../kcl/cmpnew: cmpeval.o
Only in ../kcl/cmpnew: cmpflet.o
Only in ../kcl/cmpnew: cmpfun.o
Only in ../kcl/cmpnew: cmpif.o
Only in ../kcl/cmpnew: cmpinline.o
Only in ../kcl/cmpnew: cmplabel.o
Only in ../kcl/cmpnew: cmplam.o
Only in ../kcl/cmpnew: cmplet.o
Only in ../kcl/cmpnew: cmploc.o
diff -rc /tmp/kcl/cmpnew/cmpmain.lsp ../kcl/cmpnew/cmpmain.lsp
*** /tmp/kcl/cmpnew/cmpmain.lsp	Wed Jun 03 15:57:11 1987
--- ../kcl/cmpnew/cmpmain.lsp	Fri Jun 11 22:14:23 1993
***************
*** 40,46 ****
                              name)
                    :type ,ext))
  
! #+unix
  (defun safe-system (string)
    (let ((result (system string)))
      (unless (zerop result)
--- 40,46 ----
                              name)
                    :type ,ext))
  
! #+(or unix os2)
  (defun safe-system (string)
    (let ((result (system string)))
      (unless (zerop result)
***************
*** 54,60 ****
  (defun compile-file1 (input-pathname
                        &key (output-file input-pathname)
                             #+aosvs (fasl-file t)
!                            #+unix (o-file t)
                             (c-file nil)
                             (h-file nil)
                             (data-file nil)
--- 54,60 ----
  (defun compile-file1 (input-pathname
                        &key (output-file input-pathname)
                             #+aosvs (fasl-file t)
!                            #+(or unix os2) (o-file t)
                             (c-file nil)
                             (h-file nil)
                             (data-file nil)
***************
*** 96,102 ****
                     (pathname-name input-pathname)))
  
           #+aosvs (fasl-pathname (get-output-pathname fasl-file "fasl"))
!          #+unix (o-pathname (get-output-pathname o-file "o"))
           (c-pathname (get-output-pathname c-file "c"))
           #+buggy-cc
           (s-pathname (merge-pathnames ".s" (pathname-name c-pathname)))
--- 96,102 ----
                     (pathname-name input-pathname)))
  
           #+aosvs (fasl-pathname (get-output-pathname fasl-file "fasl"))
!          #+(or unix os2) (o-pathname (get-output-pathname o-file "o"))
           (c-pathname (get-output-pathname c-file "c"))
           #+buggy-cc
           (s-pathname (merge-pathnames ".s" (pathname-name c-pathname)))
***************
*** 107,119 ****
  
      (init-env)
  
!     (when (probe-file #+unix "./cmpinit.lsp" #+aosvs "=cmpinit.lsp")
!       (load #+unix "./cmpinit.lsp" #+aosvs "=cmpinit.lsp"
              :verbose *compile-verbose*))
  
      (with-open-file (*compiler-output-data*
!                      #+unix data-pathname #+aosvs fasl-pathname
!                      :direction :output)
        (wt-data-begin)
  
        (with-open-file
--- 107,120 ----
  
      (init-env)
  
!     (when (probe-file #+(or unix os2) "./cmpinit.lsp" #+aosvs "=cmpinit.lsp")
!       (load #+(or unix os2) "./cmpinit.lsp" #+aosvs "=cmpinit.lsp"
              :verbose *compile-verbose*))
  
      (with-open-file (*compiler-output-data*
!                      #+(or unix os2) data-pathname #+aosvs fasl-pathname
!                      #+os2 :element-type #+os2 'unsigned-byte
! 		     :direction :output)
        (wt-data-begin)
  
        (with-open-file
***************
*** 182,188 ****
            (unless h-file (delete-file h-pathname))
            (unless fasl-file (delete-file fasl-pathname)))
  
!         #+unix
          (progn
            (when *compile-verbose* (format t "~&End of Pass 2.  "))
            (cond (o-file
--- 183,189 ----
            (unless h-file (delete-file h-pathname))
            (unless fasl-file (delete-file fasl-pathname)))
  
!         #+(or unix os2)
          (progn
            (when *compile-verbose* (format t "~&End of Pass 2.  "))
            (cond (o-file
***************
*** 214,220 ****
            (when (probe-file h-pathname) (delete-file h-pathname))
            #+aosvs
            (when (probe-file fasl-pathname) (delete-file fasl-pathname))
!           #+unix
            (when (probe-file data-pathname) (delete-file data-pathname))
            (format t "~&No FASL generated.~%")
            (setq *error-p* t))
--- 215,221 ----
            (when (probe-file h-pathname) (delete-file h-pathname))
            #+aosvs
            (when (probe-file fasl-pathname) (delete-file fasl-pathname))
!           #+(or unix os2)
            (when (probe-file data-pathname) (delete-file data-pathname))
            (format t "~&No FASL generated.~%")
            (setq *error-p* t))
***************
*** 224,230 ****
  (defun compile1 (name &optional (def nil supplied-p)
                        &aux form gazonk-name
                        #+aosvs fasl-pathname
!                       #+unix data-pathname
                        (*compiler-in-use* *compiler-in-use*)
                        (*standard-output* *standard-output*)
                        (*error-output* *error-output*)
--- 225,231 ----
  (defun compile1 (name &optional (def nil supplied-p)
                        &aux form gazonk-name
                        #+aosvs fasl-pathname
!                       #+(or unix os2) data-pathname
                        (*compiler-in-use* *compiler-in-use*)
                        (*standard-output* *standard-output*)
                        (*error-output* *error-output*)
***************
*** 263,272 ****
      (setq gazonk-name (format nil "gazonk~3,'0d" n))
      #+aosvs
      (setq fasl-pathname (make-pathname :name gazonk-name :type "fasl"))
!     #+unix
      (setq data-pathname (make-pathname :name gazonk-name :type "data"))
      (unless (probe-file #+aosvs fasl-pathname
!                         #+unix data-pathname)
        (return)))
  
    (let ((c-pathname (make-pathname :name gazonk-name :type "c"))
--- 264,273 ----
      (setq gazonk-name (format nil "gazonk~3,'0d" n))
      #+aosvs
      (setq fasl-pathname (make-pathname :name gazonk-name :type "fasl"))
!     #+(or unix os2)
      (setq data-pathname (make-pathname :name gazonk-name :type "data"))
      (unless (probe-file #+aosvs fasl-pathname
!                         #+(or unix os2) data-pathname)
        (return)))
  
    (let ((c-pathname (make-pathname :name gazonk-name :type "c"))
***************
*** 273,285 ****
          #+buggy-cc
          (s-pathname (make-pathname :name gazonk-name :type "s"))
          (h-pathname (make-pathname :name gazonk-name :type "h"))
!         #+unix (o-pathname (make-pathname :name gazonk-name :type "o"))
          #+aosvs (ob-pathname (make-pathname :name gazonk-name :type "ob")))
  
      (init-env)
  
      (with-open-file (*compiler-output-data*
!                      #+unix data-pathname #+aosvs fasl-pathname
                       :direction :output)
        (wt-data-begin)
  
--- 274,287 ----
          #+buggy-cc
          (s-pathname (make-pathname :name gazonk-name :type "s"))
          (h-pathname (make-pathname :name gazonk-name :type "h"))
!         #+(or unix os2) (o-pathname (make-pathname :name gazonk-name :type "o"))
          #+aosvs (ob-pathname (make-pathname :name gazonk-name :type "ob")))
  
      (init-env)
  
      (with-open-file (*compiler-output-data*
!                      #+(or unix os2) data-pathname #+aosvs fasl-pathname
! 		     #+os2 :element-type #+os2 'unsigned-byte
                       :direction :output)
        (wt-data-begin)
  
***************
*** 313,319 ****
                     (setq *error-p* t)
                     name)))
  
!         #+unix
          (progn
            (when *compile-verbose* (format t "~&End of Pass 2.  "))
            (compiler-cc c-pathname o-pathname #+buggy-cc s-pathname)
--- 315,321 ----
                     (setq *error-p* t)
                     name)))
  
!         #+(or unix os2)
          (progn
            (when *compile-verbose* (format t "~&End of Pass 2.  "))
            (compiler-cc c-pathname o-pathname #+buggy-cc s-pathname)
***************
*** 337,343 ****
            (when (probe-file h-pathname) (delete-file h-pathname))
            #+aosvs
            (when (probe-file fasl-pathname) (delete-file fasl-pathname))
!           #+unix
            (when (probe-file data-pathname) (delete-file data-pathname))
            (format t "~&Failed to compile ~s.~%" name)
            (setq *error-p* t)
--- 339,345 ----
            (when (probe-file h-pathname) (delete-file h-pathname))
            #+aosvs
            (when (probe-file fasl-pathname) (delete-file fasl-pathname))
!           #+(or unix os2)
            (when (probe-file data-pathname) (delete-file data-pathname))
            (format t "~&Failed to compile ~s.~%" name)
            (setq *error-p* t)
***************
*** 426,432 ****
             :block t :ioc t)
    (when (string/= (princ (last-termination-message)) "") (terpri)))
  
! #+unix
  (defun compiler-cc (c-pathname o-pathname #+buggy-cc s-pathname)
    #+e15
    (let ((C (namestring
--- 428,434 ----
             :block t :ioc t)
    (when (string/= (princ (last-termination-message)) "") (terpri)))
  
! #+(or unix os2)
  (defun compiler-cc (c-pathname o-pathname #+buggy-cc s-pathname)
    #+e15
    (let ((C (namestring
***************
*** 454,467 ****
                #+buggy-cc
                  #+vax"cc ~@[~*-O ~]-S -I. -w ~a ; as -J -W -o ~A ~A"
                  #-vax"cc ~@[~*-O ~]-S -I. -w ~a ; as -J -o ~A ~A"
!               #-buggy-cc "cc ~@[~*-O ~]-c -I. -w ~a"
              #+(or system-v e15 dgux) "cc ~@[~*-O ~]-c -I. ~a 2> /dev/null"
              (if (or (= *speed* 2) (= *speed* 3)) t nil)
              (namestring c-pathname)
              #+buggy-cc (namestring o-pathname)
              #+buggy-cc (namestring s-pathname)
              ))
!   #-buggy-cc
    (let ((cname (pathname-name c-pathname))
          (odir (pathname-directory o-pathname))
          (oname (pathname-name o-pathname)))
--- 456,472 ----
                #+buggy-cc
                  #+vax"cc ~@[~*-O ~]-S -I. -w ~a ; as -J -W -o ~A ~A"
                  #-vax"cc ~@[~*-O ~]-S -I. -w ~a ; as -J -o ~A ~A"
!               #-buggy-cc
! 	      #+os2 "gcc ~@[~*-O ~]-c -o~a -I. -fwritable-strings -w ~a"
! 	      #-os2 "cc ~@[~*-O ~]-c -I. -w ~a"
              #+(or system-v e15 dgux) "cc ~@[~*-O ~]-c -I. ~a 2> /dev/null"
              (if (or (= *speed* 2) (= *speed* 3)) t nil)
+ 	    #+os2 (namestring o-pathname)
              (namestring c-pathname)
              #+buggy-cc (namestring o-pathname)
              #+buggy-cc (namestring s-pathname)
              ))
!   #+(and (not buggy-cc) (not os2))
    (let ((cname (pathname-name c-pathname))
          (odir (pathname-directory o-pathname))
          (oname (pathname-name o-pathname)))
***************
*** 485,496 ****
      (princ (last-termination-message))
      (terpri)))
  
! #+unix
  (defun compiler-build (o-pathname data-pathname)
    #+(and system-v (not e15))
    (safe-system (format nil "echo \"\\000\\000\\000\\000\" >> ~A"
                         (namestring o-pathname)))
    (when (probe-file o-pathname)
      (safe-system (format nil #-dgux "cat ~A >> ~A"
                               #+dgux "~Abuild_o ~A ~A"
                               #+dgux (namestring si:*system-directory*)
--- 490,503 ----
      (princ (last-termination-message))
      (terpri)))
  
! #+(or unix os2)
  (defun compiler-build (o-pathname data-pathname)
    #+(and system-v (not e15))
    (safe-system (format nil "echo \"\\000\\000\\000\\000\" >> ~A"
                         (namestring o-pathname)))
    (when (probe-file o-pathname)
+     #+os2 (safe-system (format nil "cat ~A >> ~A" (namestring data-pathname)
+ 			       (namestring o-pathname)))
      (safe-system (format nil #-dgux "cat ~A >> ~A"
                               #+dgux "~Abuild_o ~A ~A"
                               #+dgux (namestring si:*system-directory*)
Only in ../kcl/cmpnew: cmpmain.old
Only in ../kcl/cmpnew: cmpmap.o
Only in ../kcl/cmpnew: cmpmulti.o
Only in ../kcl/cmpnew: cmpspecial.o
Only in ../kcl/cmpnew: cmptag.o
Only in ../kcl/cmpnew: cmptop.o
Only in ../kcl/cmpnew: cmptype.o
Only in ../kcl/cmpnew: cmputil.o
Only in ../kcl/cmpnew: cmpvar.o
Only in ../kcl/cmpnew: cmpvs.o
Only in ../kcl/cmpnew: cmpwt.o
Only in ../kcl/cmpnew: foo.cmd
diff -rc /tmp/kcl/cmpnew/makefile ../kcl/cmpnew/makefile
*** /tmp/kcl/cmpnew/makefile	Wed Nov 27 16:42:16 1985
--- ../kcl/cmpnew/makefile	Fri Jun 11 22:14:25 1993
***************
*** 1,7 ****
  .SUFFIXES: .o .c .lsp
  
  
! PORTDIR	= ../unixport
  
  
  OBJS	= cmpbind.o cmpblock.o cmpcall.o cmpcatch.o cmpenv.o cmpeval.o \
--- 1,7 ----
  .SUFFIXES: .o .c .lsp
  
  
! PORTDIR	= ../os2port
  
  
  OBJS	= cmpbind.o cmpblock.o cmpcall.o cmpcatch.o cmpenv.o cmpeval.o \
***************
*** 10,26 ****
  	cmptype.o cmputil.o cmpvar.o cmpvs.o cmpwt.o
  
  
! CFLAGS	= -c -O
  
  
  all:	$(OBJS)
  
  
- .lsp.c:
- 	$(PORTDIR)/saved_kcl $(PORTDIR)/ $* $* S0111
- 
  .c.o:
! 	cc $(CFLAGS) $*.c
  	cat $*.data >> $*.o
  
  
--- 10,24 ----
  	cmptype.o cmputil.o cmpvar.o cmpvs.o cmpwt.o
  
  
! CC	= gcc
! CFLAGS	= -c -O -fwritable-strings
  
  
  all:	$(OBJS)
  
  
  .c.o:
! 	$(CC) $(CFLAGS) $*.c
  	cat $*.data >> $*.o
  
  
Only in ../kcl/cmpnew: makefile.old
Only in ../kcl/cmpnew: makefile~
Only in ../kcl: dosport
diff -rc /tmp/kcl/h/eval.h ../kcl/h/eval.h
*** /tmp/kcl/h/eval.h	Thu Jun 04 03:08:27 1987
--- ../kcl/h/eval.h	Fri Jun 11 22:14:27 1993
***************
*** 11,17 ****
  
  /*  C control stack  */
  
! #define	CSSIZE		20000
  #define	CSGETA		4000
  
  int *cs_org;
--- 11,17 ----
  
  /*  C control stack  */
  
! #define	CSSIZE		80000
  #define	CSGETA		4000
  
  int *cs_org;
Only in ../kcl/h: eval.old
diff -rc /tmp/kcl/h/external.h ../kcl/h/external.h
*** /tmp/kcl/h/external.h	Thu Jun 04 03:08:27 1987
--- ../kcl/h/external.h	Fri Jun 11 22:14:27 1993
***************
*** 9,36 ****
  object alloc_object();
  char *alloc_contblock();
  char *alloc_relblock();
! init_alloc();
! init_alloc_function();
  
  /*  array.c  */
  enum aelttype array_elttype();
! array_allocself();
  object aref();
  object aset();
  object aref1();
  object aset1();
! adjust_displaced();
! init_array_function();
  
  /*  assignment.s  */
! setq();
! init_assignment();
  
  /*  backq.c  */
  int backq_level;
  
  /*  bds.c  */
! bds_unwind();
  
  /*  big.c  */
  struct bignum *stretch_big();
--- 9,36 ----
  object alloc_object();
  char *alloc_contblock();
  char *alloc_relblock();
! int init_alloc();
! int init_alloc_function();
  
  /*  array.c  */
  enum aelttype array_elttype();
! int array_allocself();
  object aref();
  object aset();
  object aref1();
  object aset1();
! int adjust_displaced();
! int init_array_function();
  
  /*  assignment.s  */
! int setq();
! int init_assignment();
  
  /*  backq.c  */
  int backq_level;
  
  /*  bds.c  */
! int bds_unwind();
  
  /*  big.c  */
  struct bignum *stretch_big();
***************
*** 41,55 ****
  int big_compare();
  int complement_big();
  struct bignum *big_minus();
! add_int_big();
! sub_int_big();
! mul_int_big();
  int div_int_big();
  struct bignum *big_plus();
  struct bignum *big_times();
  int big_length();
  int big_quotient_remainder();
! normalize_big();
  object normalize_big_to_object();
  double big_to_double();
  
--- 41,55 ----
  int big_compare();
  int complement_big();
  struct bignum *big_minus();
! int add_int_big();
! int sub_int_big();
! int mul_int_big();
  int div_int_big();
  struct bignum *big_plus();
  struct bignum *big_times();
  int big_length();
  int big_quotient_remainder();
! int normalize_big();
  object normalize_big_to_object();
  double big_to_double();
  
***************
*** 60,74 ****
  object ANDallow_other_keys;
  object ANDaux;
  object Kallow_other_keys;
! lambda_bind();
  object find_special();
  object let_bind();
  object letA_bind();
! init_bind();
  
  /* block.c */
  object Sblock;
! init_block();
  
  /*  cfun.c  */
  object make_cfun();
--- 60,74 ----
  object ANDallow_other_keys;
  object ANDaux;
  object Kallow_other_keys;
! int lambda_bind();
  object find_special();
  object let_bind();
  object letA_bind();
! int init_bind();
  
  /* block.c */
  object Sblock;
! int init_block();
  
  /*  cfun.c  */
  object make_cfun();
***************
*** 78,84 ****
  object make_si_function();
  object make_special_form();
  object make_macro();
! init_cfun();
  
  /*  character.d  */
  object STreturn;
--- 78,84 ----
  object make_si_function();
  object make_special_form();
  object make_macro();
! int init_cfun();
  
  /*  character.d  */
  object STreturn;
***************
*** 94,125 ****
  bool char_eq();
  bool char_equal();
  object coerce_to_character();
! init_character();
! init_character_function();
  
  /*  catch.c  */
! init_catch();
  
  /*  cmpaux.c  */
  char object_to_char();
! set_VV();
  int object_to_int();
  float object_to_float();
  double object_to_double();
  
  /*  error.c  */
! FEerror();
! FEwrong_type_argument();
! FEtoo_few_arguments();
! FEtoo_few_argumentsF();
! FEtoo_many_arguments();
! FEtoo_many_argumentsF();
! FEunexpected_keyword();
! FEinvalid_form();
! FEunbound_variable();
! FEinvalid_variable();
! FEundefined_function();
! FEinvalid_function();
  object Kerror;
  object Kwrong_type_argument;
  object Ktoo_few_arguments;
--- 94,125 ----
  bool char_eq();
  bool char_equal();
  object coerce_to_character();
! int init_character();
! int init_character_function();
  
  /*  catch.c  */
! int init_catch();
  
  /*  cmpaux.c  */
  char object_to_char();
! int set_VV();
  int object_to_int();
  float object_to_float();
  double object_to_double();
  
  /*  error.c  */
! int FEerror();
! int FEwrong_type_argument();
! int FEtoo_few_arguments();
! int FEtoo_few_argumentsF();
! int FEtoo_many_arguments();
! int FEtoo_many_argumentsF();
! int FEunexpected_keyword();
! int FEinvalid_form();
! int FEunbound_variable();
! int FEinvalid_variable();
! int FEundefined_function();
! int FEinvalid_function();
  object Kerror;
  object Kwrong_type_argument;
  object Ktoo_few_arguments;
***************
*** 139,157 ****
  /*  eval.c  */
  object Sapply;
  object Sfuncall;
! funcall();
! funcall_no_event();
! lispcall();
! lispcall_no_event();
! symlispcall();
! symlispcall_no_event();
  object simple_lispcall();
  object simple_lispcall_no_event();
  object simple_symlispcall();
  object simple_symlispcall_no_event();
! super_funcall();
! super_funcall_no_event();
! eval();
  object Vevalhook;
  object Vapplyhook;
  object ieval();
--- 139,157 ----
  /*  eval.c  */
  object Sapply;
  object Sfuncall;
! int funcall();
! int funcall_no_event();
! int lispcall();
! int lispcall_no_event();
! int symlispcall();
! int symlispcall_no_event();
  object simple_lispcall();
  object simple_lispcall_no_event();
  object simple_symlispcall();
  object simple_symlispcall_no_event();
! int super_funcall();
! int super_funcall_no_event();
! int eval();
  object Vevalhook;
  object Vapplyhook;
  object ieval();
***************
*** 158,167 ****
  object ifuncall1();
  object ifuncall2();
  object ifuncall3();
! init_eval();
  
! /*  unixfasl.c  fasload.c  */
! fasload();
  
  /*  file.d  */
  object Vstandard_input;
--- 158,167 ----
  object ifuncall1();
  object ifuncall2();
  object ifuncall3();
! int init_eval();
  
! /*  unixfasl.c  os2fasl.c  fasload.c  */
! int fasload();
  
  /*  file.d  */
  object Vstandard_input;
***************
*** 196,207 ****
  object Kset_default_pathname;
  object Vload_verbose;
  object FASL_string;
! end_of_stream();
  bool input_stream_p();
  bool output_stream_p();
  object stream_element_type();
  object open_stream();
! close_stream();
  object make_two_way_stream();
  object make_echo_stream();
  object make_string_input_stream();
--- 196,207 ----
  object Kset_default_pathname;
  object Vload_verbose;
  object FASL_string;
! int end_of_stream();
  bool input_stream_p();
  bool output_stream_p();
  object stream_element_type();
  object open_stream();
! int close_stream();
  object make_two_way_stream();
  object make_echo_stream();
  object make_string_input_stream();
***************
*** 208,218 ****
  object make_string_output_stream();
  object get_output_stream_string();
  int readc_stream();
! unreadc_stream();
! writec_stream();
! writestr_stream();
! unwritec_stream();
! flush_stream();
  bool stream_at_end();
  bool listen_stream();
  int file_position();
--- 208,218 ----
  object make_string_output_stream();
  object get_output_stream_string();
  int readc_stream();
! int unreadc_stream();
! int writec_stream();
! int writestr_stream();
! int unwritec_stream();
! int flush_stream();
  bool stream_at_end();
  bool listen_stream();
  int file_position();
***************
*** 219,232 ****
  int file_position_set();
  int file_length();
  int file_column();
! load();
! init_file();
! init_file_function();
  object read_fasl_data();
  
  #ifdef UNIX
! /*  unixfsys.c  */
! coerce_to_filename();
  FILE *backup_fopen();
  int file_exists();
  int file_len();
--- 219,232 ----
  int file_position_set();
  int file_length();
  int file_column();
! int load();
! int init_file();
! int init_file_function();
  object read_fasl_data();
  
  #ifdef UNIX
! /*  unixfsys.c  os2fsys.c  */
! int coerce_to_filename();
  FILE *backup_fopen();
  int file_exists();
  int file_len();
***************
*** 238,262 ****
  #endif
  
  /*  frame.c  */
! unwind();
  frame_ptr frs_sch();
  frame_ptr frs_sch_catch();
  
  /*  gbc.c  */
  bool GBC_enable;
! GBC();
! init_GBC();
  
  /*  let.c  */
! let_var_list();
! init_let();
  
  /*  lex.c  */
  object assoc_eq();
! lex_fun_bind();
! lex_macro_bind();
! lex_tag_bind();
! lex_block_bind();
  object lex_tag_sch();
  object lex_block_sch();
  
--- 238,262 ----
  #endif
  
  /*  frame.c  */
! int unwind();
  frame_ptr frs_sch();
  frame_ptr frs_sch_catch();
  
  /*  gbc.c  */
  bool GBC_enable;
! int GBC();
! int init_GBC();
  
  /*  let.c  */
! int let_var_list();
! int init_let();
  
  /*  lex.c  */
  object assoc_eq();
! int lex_fun_bind();
! int lex_macro_bind();
! int lex_tag_bind();
! int lex_block_bind();
  object lex_tag_sch();
  object lex_block_sch();
  
***************
*** 300,320 ****
  object nth();
  object nthcdr();
  object make_cons();
! stack_cons();
  object list();
  object listA();
  object append();
  object copy_list();
  bool member_eq();
! delete_eq();
  object nconc();
! init_list_function();
  
  /*  macros.c  */
  object Vmacroexpand_hook;
  object siSdefmacroA;
  object macro_expand();
! init_macros();
  
  /*  main.c  */
  int ARGC;
--- 300,320 ----
  object nth();
  object nthcdr();
  object make_cons();
! int stack_cons();
  object list();
  object listA();
  object append();
  object copy_list();
  bool member_eq();
! int delete_eq();
  object nconc();
! int init_list_function();
  
  /*  macros.c  */
  object Vmacroexpand_hook;
  object siSdefmacroA;
  object macro_expand();
! int init_macros();
  
  /*  main.c  */
  int ARGC;
***************
*** 332,341 ****
  char *merge_system_directory();
  
  /*  mapfun.c  */
! init_mapfun();
  
  /*  multival.c  */
! init_multival();
  
  /*  number.c  */
  int fixint();
--- 332,341 ----
  char *merge_system_directory();
  
  /*  mapfun.c  */
! int init_mapfun();
  
  /*  multival.c  */
! int init_multival();
  
  /*  number.c  */
  int fixint();
***************
*** 347,354 ****
  object make_shortfloat();
  object make_longfloat();
  object make_complex();
! init_number();
! init_number_function();
  double number_to_double();
  int b_clr_op();
  int b_set_op();
--- 347,354 ----
  object make_shortfloat();
  object make_longfloat();
  object make_complex();
! int init_number();
! int init_number_function();
  double number_to_double();
  int b_clr_op();
  int b_set_op();
***************
*** 424,438 ****
  object intern();
  object find_symbol();
  bool unintern();
! export();
! unexport();
! import();
! shadowing_import();
! shadow();
! use_package();
! unuse_package();
! init_package();
! init_package_function();
  
  /*  pathname.d  */
  object Vdefault_pathname_defaults;
--- 424,438 ----
  object intern();
  object find_symbol();
  bool unintern();
! int export();
! int unexport();
! int import();
! int shadowing_import();
! int shadow();
! int use_package();
! int unuse_package();
! int init_package();
! int init_package_function();
  
  /*  pathname.d  */
  object Vdefault_pathname_defaults;
***************
*** 459,469 ****
  object namestring();
  object coerce_to_namestring();
  
! /*  prediate.c  */
  bool eql();
  bool equal();
  bool equalp();
! init_predicate_function();
  
  /*  print.d  */
  object Kupcase;
--- 459,469 ----
  object namestring();
  object coerce_to_namestring();
  
! /*  predicate.c  */
  bool eql();
  bool equal();
  bool equalp();
! int init_predicate_function();
  
  /*  print.d  */
  object Kupcase;
***************
*** 504,521 ****
  int PRINTlength;
  bool PRINTarray;
  int (*write_ch_fun)();
! edit_double();
! write_object();
! setupPRINTdefault();
! cleanupPRINT();
! write_object_by_default();
! terpri_by_default();
  bool potential_number_p();
  object princ();
  object prin1();
  object print();
  object terpri();
! init_print_function();
  object siSpretty_print_format;
  
  /*  read.d  */
--- 504,521 ----
  int PRINTlength;
  bool PRINTarray;
  int (*write_ch_fun)();
! int edit_double();
! int write_object();
! int setupPRINTdefault();
! int cleanupPRINT();
! int write_object_by_default();
! int terpri_by_default();
  bool potential_number_p();
  object princ();
  object prin1();
  object print();
  object terpri();
! int init_print_function();
  object siSpretty_print_format;
  
  /*  read.d  */
***************
*** 542,552 ****
  object default_dispatch_macro;
  object big_register_0;
  int sharp_eq_context_max;
! setup_READtable();
! setup_READ();
! setup_standard_READ();
  object read_char();
! unread_char();
  object peek_char();
  object read_object_recursive();
  object read_object_non_recursive();
--- 542,552 ----
  object default_dispatch_macro;
  object big_register_0;
  int sharp_eq_context_max;
! int setup_READtable();
! int setup_READ();
! int setup_standard_READ();
  object read_char();
! int unread_char();
  object peek_char();
  object read_object_recursive();
  object read_object_non_recursive();
***************
*** 557,569 ****
  object copy_readtable();
  object current_readtable();
  object patch_sharp();
! init_read();
! init_read_function();
  object read_fasl_vector();
  
  /*  reference.c  */
  object symbol_function();
! init_reference();
  object Sfunction;
  
  /*  sequence.d  */
--- 557,569 ----
  object copy_readtable();
  object current_readtable();
  object patch_sharp();
! int init_read();
! int init_read_function();
  object read_fasl_vector();
  
  /*  reference.c  */
  object symbol_function();
! int init_reference();
  object Sfunction;
  
  /*  sequence.d  */
***************
*** 574,580 ****
  int length();
  object reverse();
  object nreverse();
! init_sequence_function();
  
  /*  structure.c  */
  object siSstructure_print_function;
--- 574,580 ----
  int length();
  object reverse();
  object nreverse();
! int init_sequence_function();
  
  /*  structure.c  */
  object siSstructure_print_function;
***************
*** 582,588 ****
  object structure_ref();
  object structure_set();
  object structure_to_list();
! init_structure_function();
  
  /*  string.d  */
  object alloc_simple_string();
--- 582,588 ----
  object structure_ref();
  object structure_set();
  object structure_to_list();
! int init_structure_function();
  
  /*  string.d  */
  object alloc_simple_string();
***************
*** 592,598 ****
  object copy_simple_string();
  object coerce_to_string();
  bool member_char();
! init_string_function();
  
  /*  symbol.d  */
  object string_register;
--- 592,598 ----
  object copy_simple_string();
  object coerce_to_string();
  bool member_char();
! int init_string_function();
  
  /*  symbol.d  */
  object string_register;
***************
*** 601,607 ****
  object gentemp_prefix;
  int gentemp_counter;
  object token;
! set_up_string_register();
  object make_symbol();
  object make_ordinary();
  object make_special();
--- 601,607 ----
  object gentemp_prefix;
  int gentemp_counter;
  object token;
! int set_up_string_register();
  object make_symbol();
  object make_ordinary();
  object make_special();
***************
*** 618,635 ****
  bool remf();
  object remprop();
  bool keywordp();
! init_symbol();
! init_symbol_function();
  object gensym();		/*  to be deleted  */
  
  #ifdef UNIX
! /*  unixsys.c  */
  #else
  /*  sys.c  */
  #endif
  
  #ifdef UNIX
! /*  unixtime.c  */
  object unix_time_to_universal_time();
  #else
  /*  time.c  */
--- 618,635 ----
  bool remf();
  object remprop();
  bool keywordp();
! int init_symbol();
! int init_symbol_function();
  object gensym();		/*  to be deleted  */
  
  #ifdef UNIX
! /*  unixsys.c  os2sys.c  */
  #else
  /*  sys.c  */
  #endif
  
  #ifdef UNIX
! /*  unixtime.c  os2time.c  */
  object unix_time_to_universal_time();
  #else
  /*  time.c  */
***************
*** 639,646 ****
  object Sspecial,Sdeclare;
  object siSvariable_documentation;
  object siSfunction_documentation;
! toplevel_eval();
! init_toplevel();
  
  /*  typespec.c  */
  object
--- 639,646 ----
  object Sspecial,Sdeclare;
  object siSvariable_documentation;
  object siSfunction_documentation;
! int toplevel_eval();
! int init_toplevel();
  
  /*  typespec.c  */
  object
***************
*** 678,685 ****
  object TSor_pathname_string_symbol;
  #endif
  object TSor_pathname_string_symbol_stream;
! init_typespec();
! int_typespec_function();
  
  int interrupt_flag;		/* console interupt flag */
  int interrupt_enable;		/* console interupt enable */
--- 678,685 ----
  object TSor_pathname_string_symbol;
  #endif
  object TSor_pathname_string_symbol_stream;
! int init_typespec();
! int int_typespec_function();
  
  int interrupt_flag;		/* console interupt flag */
  int interrupt_enable;		/* console interupt enable */
Only in ../kcl/h: external.old
diff -rc /tmp/kcl/h/include.h ../kcl/h/include.h
*** /tmp/kcl/h/include.h	Thu Jun 04 03:08:27 1987
--- ../kcl/h/include.h	Mon Oct 18 23:23:24 1993
***************
*** 97,102 ****
--- 97,113 ----
  
  #endif
  
+ /*
+   OS/2 2.X, with EMX
+   The EMX environment is Unix-oid, so we define UNIX as well.
+ */
+ 
+ #ifdef OS2
+ #define	AV
+ #define	IEEEFLOAT
+ #define	UNIX
+ #endif
+ 
  
  #include <stdio.h>
  #include <setjmp.h>
Only in ../kcl/h: include.old
diff -rc /tmp/kcl/h/object.h ../kcl/h/object.h
*** /tmp/kcl/h/object.h	Thu Jun 04 03:08:27 1987
--- ../kcl/h/object.h	Fri Jun 11 22:14:27 1993
***************
*** 383,388 ****
--- 383,392 ----
  #define	BASEFF		(unsigned char *)0xffffffff
  #endif
  
+ #ifdef OS2
+ #define BASEFF (char *)0xffffffff
+ #endif
+ 
  #ifdef MV
  
  
Only in ../kcl/h: object.old
Only in ../kcl/lsp: arraylib.o
Only in ../kcl/lsp: assert.o
diff -rc /tmp/kcl/lsp/autoload.lsp ../kcl/lsp/autoload.lsp
*** /tmp/kcl/lsp/autoload.lsp	Thu Jun 04 03:08:03 1987
--- ../kcl/lsp/autoload.lsp	Mon Oct 18 23:31:29 1993
***************
*** 11,37 ****
  
  (defun lisp-implementation-type () "Kyoto Common Lisp")
  
! (defun machine-type () "ECLIPSE MV10000")
! ;(defun machine-type () "DEC VAX11/780")
  
! (defun machine-version () "ECLIPSE MV-10000, microcode rev 2.000000")
! ;(defun machine-version () nil)
  
! (defun machine-instance () "RIMS-MV10000")
! ;(defun machine-instance () nil)
  
! (defun software-type () "AOS/VS")
! ;(defun software-type () "UNIX BSD")
  
! (defun software-version () "AOS/VS rev 4030000")
! ;(defun software-version () "4.2BSD")
  
! (defun short-site-name () "RIMS")
! ;(defun short-site-name () nil)
  
  (defun long-site-name ()
!   "Research Institute for Mathematical Sciences, Kyoto University")
! ;(defun long-site-name () nil)
  
  
  ;(defvar *features*)
--- 11,30 ----
  
  (defun lisp-implementation-type () "Kyoto Common Lisp")
  
! (defun machine-type () "PC AT/386")
  
! (defun machine-version () "486DX-33 PC AT")
  
! (defun machine-instance () "My 486")
  
! (defun software-type () "OS/2")
  
! (defun software-version () "OS/2 2.X")
  
! (defun short-site-name () "ORA")
  
  (defun long-site-name ()
!   "ORA Canada, Ottawa, Ontario, Canada")
  
  
  ;(defvar *features*)
***************
*** 154,160 ****
  (defautoload find-if-not "seqlib")
  (defautoload fround "numlib")
  (defautoload ftruncate "numlib")
! #+unix (defautoload get-decoded-time "mislib")
  #+aosvs (defautoload get-universal-time "mislib")
  (defautoload get-setf-method "setf")
  (defautoload get-setf-method-multiple-value "setf")
--- 147,153 ----
  (defautoload find-if-not "seqlib")
  (defautoload fround "numlib")
  (defautoload ftruncate "numlib")
! #+(or unix os2) (defautoload get-decoded-time "mislib")
  #+aosvs (defautoload get-universal-time "mislib")
  (defautoload get-setf-method "setf")
  (defautoload get-setf-method-multiple-value "setf")
***************
*** 291,301 ****
  
  ;;; Editor.
  
! #+unix
  (defun get-decoded-time ()
    (decode-universal-time (get-universal-time)))
  
! #-unix
  (defun get-universal-time ()
    (multiple-value-bind (sec min h d m y dow dstp tz)
        (get-decoded-time)
--- 284,294 ----
  
  ;;; Editor.
  
! #+(or unix os2)
  (defun get-decoded-time ()
    (decode-universal-time (get-universal-time)))
  
! #-(or unix os2)
  (defun get-universal-time ()
    (multiple-value-bind (sec min h d m y dow dstp tz)
        (get-decoded-time)
***************
*** 304,309 ****
--- 297,306 ----
  #+unix
  (defun ed (&optional filename)
    (system (format nil "vi ~A" filename)))
+ 
+ #+os2
+ (defun ed (&optional filename)
+   (system (format nil "~A ~A" (or (si:getenv "EDITOR") "emacs") filename)))
  
  #+aosvs
  (progn
Only in ../kcl/lsp: autoload.old
Only in ../kcl/lsp: defmacro.o
Only in ../kcl/lsp: defstruct.o
Only in ../kcl/lsp: describe.o
Only in ../kcl/lsp: evalmacros.o
Only in ../kcl/lsp: iolib.o
Only in ../kcl/lsp: listlib.o
diff -rc /tmp/kcl/lsp/makefile ../kcl/lsp/makefile
*** /tmp/kcl/lsp/makefile	Wed Nov 27 16:42:06 1985
--- ../kcl/lsp/makefile	Fri Jun 11 22:14:29 1993
***************
*** 1,7 ****
  .SUFFIXES: .o .c .lsp
  
  
! PORTDIR	= ../unixport
  
  
  OBJS	= arraylib.o assert.o defmacro.o defstruct.o describe.o evalmacros.o \
--- 1,7 ----
  .SUFFIXES: .o .c .lsp
  
  
! PORTDIR	= ../os2port
  
  
  OBJS	= arraylib.o assert.o defmacro.o defstruct.o describe.o evalmacros.o \
***************
*** 9,25 ****
  	seq.o seqlib.o setf.o top.o trace.o 
  
  
! CFLAGS	= -c -O
  
  
  all:	$(OBJS)
  
  
- .lsp.c:
- 	$(PORTDIR)/saved_kcl $(PORTDIR)/ $* $* S0111
  
  .c.o:
! 	cc $(CFLAGS) $*.c
  	cat $*.data >> $*.o
  
  
--- 9,24 ----
  	seq.o seqlib.o setf.o top.o trace.o 
  
  
! CC	= gcc
! CFLAGS	= -c -O -fwritable-strings
  
  
  all:	$(OBJS)
  
  
  
  .c.o:
! 	$(CC) $(CFLAGS) $*.c
  	cat $*.data >> $*.o
  
  
Only in ../kcl/lsp: makefile.old
Only in ../kcl/lsp: mislib.o
Only in ../kcl/lsp: module.o
Only in ../kcl/lsp: numlib.o
Only in ../kcl/lsp: packlib.o
Only in ../kcl/lsp: predlib.o
Only in ../kcl/lsp: seq.o
Only in ../kcl/lsp: seqlib.o
diff -rc /tmp/kcl/lsp/setdoc.lsp ../kcl/lsp/setdoc.lsp
*** /tmp/kcl/lsp/setdoc.lsp	Thu Jun 04 03:08:03 1987
--- ../kcl/lsp/setdoc.lsp	Fri Jun 11 22:15:00 1993
***************
*** 3802,3808 ****
  Args: (x)
  Returns T if X is a symbol; NIL otherwise.")
  
! #+unix
  (docfun system function "
  Args: (string)
  KCL specific: Executes a Shell command as if STRING is an input to the Shell.
--- 3802,3808 ----
  Args: (x)
  Returns T if X is a symbol; NIL otherwise.")
  
! #+(or unix os2)
  (docfun system function "
  Args: (string)
  KCL specific: Executes a Shell command as if STRING is an input to the Shell.
***************
*** 4123,4133 ****
  should check the signal and exit from KCL if necessary.  When the signal
  is caught during garbage collection, KCL terminates immediately.")
  
! #+unix
  (docfun si:chdir function "
  Args: (pathname)
! KCL/UNIX specific: Changes the current working directory to the specified
! pathname.")
  
  (docfun si:compiled-function-name function "
  Args: (compiled-function-object)
--- 4123,4133 ----
  should check the signal and exit from KCL if necessary.  When the signal
  is caught during garbage collection, KCL terminates immediately.")
  
! #+(or unix os2)
  (docfun si:chdir function "
  Args: (pathname)
! KCL specific (UNIX or OS/2): Changes the current working directory to the
! specified pathname.")
  
  (docfun si:compiled-function-name function "
  Args: (compiled-function-object)
***************
*** 4176,4186 ****
  SI:ERROR-SET traps the jump and returns the corresponding jump tag as its
  value.")
  
! #+bsd
  (docfun si:faslink function "
  Args: (file string)
! KCL/BSD specific: Loads the FASL file FILE while linking the object files and
! libraries specified by STRING.  For example,
  	(faslink \"foo.o\" \"bar.o boo.o -lpixrect\")
  loads foo.o while linking two object files (bar.o and boo.o) and the library
  pixrect.  Usually, foo.o consists of the C language interface for the
--- 4176,4186 ----
  SI:ERROR-SET traps the jump and returns the corresponding jump tag as its
  value.")
  
! #+(or bsd os2)
  (docfun si:faslink function "
  Args: (file string)
! KCL specific (BSD or OS/2): Loads the FASL file FILE while linking the object
! files and libraries specified by STRING.  For example,
  	(faslink \"foo.o\" \"bar.o boo.o -lpixrect\")
  loads foo.o while linking two object files (bar.o and boo.o) and the library
  pixrect.  Usually, foo.o consists of the C language interface for the
***************
*** 4199,4209 ****
  Args: (string-input-stream)
  KCL specific: Returns the current index of the STRING-INPUT-STREAM.")
  
! #+unix
  (docfun si:getenv function "
  Args: (string)
! KCL/UNIX specific: Returns the environment with the name STRING as a string;
! if the environment specified by STRING is not found, returns NIL.")
  
  (docfun si:get-hole-size function "
  Args: ()
--- 4199,4209 ----
  Args: (string-input-stream)
  KCL specific: Returns the current index of the STRING-INPUT-STREAM.")
  
! #+(or unix os2)
  (docfun si:getenv function "
  Args: (string)
! KCL specific (UNIX or OS/2): Returns the environment with the name STRING as a
! string; if the environment specified by STRING is not found, returns NIL.")
  
  (docfun si:get-hole-size function "
  Args: ()
Only in ../kcl/lsp: setdoc.old
Only in ../kcl/lsp: setf.o
Only in ../kcl/lsp: top.o
Only in ../kcl/lsp: trace.o
diff -rc /tmp/kcl/makefile ../kcl/makefile
*** /tmp/kcl/makefile	Thu Nov 28 14:16:09 1985
--- ../kcl/makefile	Fri Jun 11 22:15:02 1993
***************
*** 24,32 ****
  ODIR	= o
  LSPDIR	= lsp
  CMPDIR	= cmpnew
! PORTDIR	= unixport
  
! all:	/usr/include/cmpinclude.h
  	(cd $(BINDIR); make)
  	(cd $(ODIR); make)
  	(cd $(LSPDIR); make)
--- 24,32 ----
  ODIR	= o
  LSPDIR	= lsp
  CMPDIR	= cmpnew
! PORTDIR	= os2port
  
! all:	/emx/include/cmpinclude.h
  	(cd $(BINDIR); make)
  	(cd $(ODIR); make)
  	(cd $(LSPDIR); make)
***************
*** 33,51 ****
  	(cd $(CMPDIR); make)
  	(cd $(PORTDIR); make)
  
! /usr/include/cmpinclude.h:	$(HDIR)/cmpinclude.h
! 	@echo "su and make cmpinclude.h"
! 	exit 1
! 
! cmpinclude.h:
! 	cp $(HDIR)/cmpinclude.h /usr/include
! 
! 
! install:
! 	(cd $(PORTDIR); echo "#" > /usr/bin/kcl; \
! 	echo "`pwd`/saved_kcl `pwd`/" >> /usr/bin/kcl)
! 	chmod 755 /usr/bin/kcl
! 	
  
  clean:
  	(cd $(BINDIR); make clean)
--- 33,40 ----
  	(cd $(CMPDIR); make)
  	(cd $(PORTDIR); make)
  
! /emx/include/cmpinclude.h:	$(HDIR)/cmpinclude.h
! 	cp $(HDIR)/cmpinclude.h /emx/include
  
  clean:
  	(cd $(BINDIR); make clean)
Only in ../kcl: makefile.old
Only in ../kcl/o: alloc.o
Only in ../kcl/o: array.o
Only in ../kcl/o: assignment.o
Only in ../kcl/o: backq.o
Only in ../kcl/o: bds.o
Only in ../kcl/o: big.o
Only in ../kcl/o: bind.o
Only in ../kcl/o: bitop.o
Only in ../kcl/o: block.o
Only in ../kcl/o: catch.o
Only in ../kcl/o: cfun.o
Only in ../kcl/o: char_table.o
Only in ../kcl/o: character.o
Only in ../kcl/o: cmpaux.o
Only in ../kcl/o: conditional.o
Only in ../kcl/o: earith.o
Only in ../kcl/o: error.o
Only in ../kcl/o: eval.o
Only in ../kcl/o: fflush.o
Only in ../kcl/o: file.o
Only in ../kcl/o: format.o
Only in ../kcl/o: frame.o
Only in ../kcl/o: gbc.o
Only in ../kcl/o: hash.o
Only in ../kcl/o: iteration.o
Only in ../kcl/o: let.o
Only in ../kcl/o: lex.o
Only in ../kcl/o: list.o
Only in ../kcl/o: macros.o
Only in ../kcl/o: main.o
diff -rc /tmp/kcl/o/makefile ../kcl/o/makefile
*** /tmp/kcl/o/makefile	Thu Dec 18 16:26:03 1986
--- ../kcl/o/makefile	Mon Oct 18 23:47:02 1993
***************
*** 1,10 ****
! MACHINE = SUN3
  #	Select 'VAX', 'SUN', 'SUN2R3', 'SUN3', 'ISI', 'SEQ', 'IBMRT',
! #	or 'NEWS'.
  
! CHTAB	= sun_chtab.s
  #	Select 'char_table.s' or 'sun_chtab.s'.
! #	1) char_table.s : for VAX, SEQ and NEWS
  #	2) sun_chtab.s  : for SUN, SUN2R3 and SUN3
  #	3) isi_chtab.s  : for ISI
  #	4) ibmrt_chtab.s: for IBMRT
--- 1,10 ----
! MACHINE = OS2
  #	Select 'VAX', 'SUN', 'SUN2R3', 'SUN3', 'ISI', 'SEQ', 'IBMRT',
! #	'NEWS', or 'OS2'.
  
! CHTAB	= char_table.s
  #	Select 'char_table.s' or 'sun_chtab.s'.
! #	1) char_table.s : for VAX, SEQ, NEWS and OS2
  #	2) sun_chtab.s  : for SUN, SUN2R3 and SUN3
  #	3) isi_chtab.s  : for ISI
  #	4) ibmrt_chtab.s: for IBMRT
***************
*** 15,24 ****
  
  
  DEFS	= -D$(MACHINE) -DMAXPAGE=16384 -DVSSIZE=8152
! CFLAGS	= $(DEFS) -I$(HDIR)
  OFLAG	= -O
  
! DPP	= ../bin/dpp
  
  
  HFILES	= $(HDIR)/include.h \
--- 15,25 ----
  
  
  DEFS	= -D$(MACHINE) -DMAXPAGE=16384 -DVSSIZE=8152
! CFLAGS	= $(DEFS) -I$(HDIR) -fwritable-strings
  OFLAG	= -O
  
! DPP	= ../bin/dpp.exe
! CC	= gcc
  
  
  HFILES	= $(HDIR)/include.h \
***************
*** 28,38 ****
  
  OBJS	= alloc.o array.o assignment.o backq.o bds.o big.o bind.o \
  	bitop.o block.o catch.o cfun.o cmpaux.o conditional.o earith.o \
! 	error.o eval.o format.o frame.o gbc.o iteration.o let.o lex.o \
! 	macros.o main.o mapfun.o multival.o num_arith.o num_co.o \
  	num_comp.o num_log.o num_pred.o num_rand.o num_sfun.o number.o \
  	predicate.o prog.o reference.o structure.o toplevel.o typespec.o \
! 	unixfasl.o unixfsys.o unixint.o unixsave.o unixsys.o unixtime.o \
  	character.o file.o hash.o list.o package.o pathname.o print.o \
  	read.o sequence.o string.o symbol.o \
  	char_table.o
--- 29,39 ----
  
  OBJS	= alloc.o array.o assignment.o backq.o bds.o big.o bind.o \
  	bitop.o block.o catch.o cfun.o cmpaux.o conditional.o earith.o \
! 	error.o eval.o fflush.o format.o frame.o gbc.o iteration.o let.o \
! 	lex.o macros.o main.o mapfun.o multival.o num_arith.o num_co.o \
  	num_comp.o num_log.o num_pred.o num_rand.o num_sfun.o number.o \
  	predicate.o prog.o reference.o structure.o toplevel.o typespec.o \
! 	os2fasl.o os2fsys.o os2int.o os2save.o os2sys.o os2time.o \
  	character.o file.o hash.o list.o package.o pathname.o print.o \
  	read.o sequence.o string.o symbol.o \
  	char_table.o
***************
*** 41,47 ****
  all:	$(OBJS)
  
  clean:
! 	rm -f $(OBJS)
  
  
  char_table.o: $(CDIR)/$(CHTAB)
--- 42,48 ----
  all:	$(OBJS)
  
  clean:
! 	rm -f *.o
  
  
  char_table.o: $(CDIR)/$(CHTAB)
***************
*** 49,189 ****
  
  character.o:	$(CDIR)/character.d $(DPP)
  	$(DPP) $(CDIR)/character
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/character.c
  	rm $(CDIR)/character.c
  file.o:	$(CDIR)/file.d $(DPP)
  	$(DPP) $(CDIR)/file
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/file.c
  	rm $(CDIR)/file.c
  hash.o:	$(CDIR)/hash.d $(DPP)
  	$(DPP) $(CDIR)/hash
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/hash.c
  	rm $(CDIR)/hash.c
  list.o:	$(CDIR)/list.d $(DPP)
  	$(DPP) $(CDIR)/list
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/list.c
  	rm $(CDIR)/list.c
  package.o:	$(CDIR)/package.d $(DPP)
  	$(DPP) $(CDIR)/package
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/package.c
  	rm $(CDIR)/package.c
  pathname.o:	$(CDIR)/pathname.d $(DPP)
  	$(DPP) $(CDIR)/pathname
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/pathname.c
  	rm $(CDIR)/pathname.c
  print.o:	$(CDIR)/print.d $(DPP)
  	$(DPP) $(CDIR)/print
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/print.c
  	rm $(CDIR)/print.c
  read.o:	$(CDIR)/read.d $(DPP)
  	$(DPP) $(CDIR)/read
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/read.c
  	rm $(CDIR)/read.c
  sequence.o:	$(CDIR)/sequence.d $(DPP)
  	$(DPP) $(CDIR)/sequence
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/sequence.c
  	rm $(CDIR)/sequence.c
  string.o:	$(CDIR)/string.d $(DPP)
  	$(DPP) $(CDIR)/string
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/string.c
  	rm $(CDIR)/string.c
  symbol.o:	$(CDIR)/symbol.d $(DPP)
  	$(DPP) $(CDIR)/symbol
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/symbol.c
  	rm $(CDIR)/symbol.c
  
  alloc.o:	$(CDIR)/alloc.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/alloc.c
  array.o:	$(CDIR)/array.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/array.c
  assignment.o:	$(CDIR)/assignment.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/assignment.c
  backq.o:	$(CDIR)/backq.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/backq.c
  bds.o:	$(CDIR)/bds.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/bds.c
  big.o:	$(CDIR)/big.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/big.c
  bind.o:	$(CDIR)/bind.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/bind.c
  bitop.o:	$(CDIR)/bitop.c
! 	cc -c $(CFLAGS) $(CDIR)/bitop.c
  block.o:	$(CDIR)/block.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/block.c
  catch.o:	$(CDIR)/catch.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/catch.c
  cfun.o:	$(CDIR)/cfun.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/cfun.c
  cmpaux.o:	$(CDIR)/cmpaux.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/cmpaux.c
  conditional.o:	$(CDIR)/conditional.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/conditional.c
  earith.o:	$(CDIR)/earith.c
! 	cc -c $(CFLAGS) $(CDIR)/earith.c
  error.o:	$(CDIR)/error.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/error.c
  eval.o:	$(CDIR)/eval.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/eval.c
  format.o:	$(CDIR)/format.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/format.c
  frame.o:	$(CDIR)/frame.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/frame.c
  gbc.o:	$(CDIR)/gbc.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/gbc.c
  iteration.o:	$(CDIR)/iteration.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/iteration.c
  let.o:	$(CDIR)/let.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/let.c
  lex.o:	$(CDIR)/lex.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/lex.c
  macros.o:	$(CDIR)/macros.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/macros.c
  main.o:	$(CDIR)/main.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/main.c
  mapfun.o:	$(CDIR)/mapfun.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/mapfun.c
  multival.o:	$(CDIR)/multival.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/multival.c
  num_arith.o:	$(CDIR)/num_arith.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/num_arith.c
  num_co.o:	$(CDIR)/num_co.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/num_co.c
  num_comp.o:	$(CDIR)/num_comp.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/num_comp.c
  num_log.o:	$(CDIR)/num_log.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/num_log.c
  num_pred.o:	$(CDIR)/num_pred.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/num_pred.c
  num_rand.o:	$(CDIR)/num_rand.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/num_rand.c
  num_sfun.o:	$(CDIR)/num_sfun.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/num_sfun.c
  number.o:	$(CDIR)/number.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/number.c
  predicate.o:	$(CDIR)/predicate.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/predicate.c
  prog.o:	$(CDIR)/prog.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/prog.c
  reference.o:	$(CDIR)/reference.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/reference.c
  structure.o:	$(CDIR)/structure.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/structure.c
  toplevel.o:	$(CDIR)/toplevel.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/toplevel.c
  typespec.o:	$(CDIR)/typespec.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/typespec.c
! unixfasl.o:	$(CDIR)/unixfasl.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/unixfasl.c
! unixfsys.o:	$(CDIR)/unixfsys.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/unixfsys.c
! unixint.o:	$(CDIR)/unixint.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/unixint.c
! unixsave.o:	$(CDIR)/unixsave.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/unixsave.c
! unixsys.o:	$(CDIR)/unixsys.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/unixsys.c
! unixtime.o:	$(CDIR)/unixtime.c
! 	cc -c $(OFLAG) $(CFLAGS) $(CDIR)/unixtime.c
  
  
  character.o: $(HFILES)
--- 50,192 ----
  
  character.o:	$(CDIR)/character.d $(DPP)
  	$(DPP) $(CDIR)/character
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/character.c
  	rm $(CDIR)/character.c
  file.o:	$(CDIR)/file.d $(DPP)
  	$(DPP) $(CDIR)/file
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/file.c
  	rm $(CDIR)/file.c
  hash.o:	$(CDIR)/hash.d $(DPP)
  	$(DPP) $(CDIR)/hash
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/hash.c
  	rm $(CDIR)/hash.c
  list.o:	$(CDIR)/list.d $(DPP)
  	$(DPP) $(CDIR)/list
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/list.c
  	rm $(CDIR)/list.c
  package.o:	$(CDIR)/package.d $(DPP)
  	$(DPP) $(CDIR)/package
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/package.c
  	rm $(CDIR)/package.c
  pathname.o:	$(CDIR)/pathname.d $(DPP)
  	$(DPP) $(CDIR)/pathname
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/pathname.c
  	rm $(CDIR)/pathname.c
  print.o:	$(CDIR)/print.d $(DPP)
  	$(DPP) $(CDIR)/print
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/print.c
  	rm $(CDIR)/print.c
  read.o:	$(CDIR)/read.d $(DPP)
  	$(DPP) $(CDIR)/read
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/read.c
  	rm $(CDIR)/read.c
  sequence.o:	$(CDIR)/sequence.d $(DPP)
  	$(DPP) $(CDIR)/sequence
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/sequence.c
  	rm $(CDIR)/sequence.c
  string.o:	$(CDIR)/string.d $(DPP)
  	$(DPP) $(CDIR)/string
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/string.c
  	rm $(CDIR)/string.c
  symbol.o:	$(CDIR)/symbol.d $(DPP)
  	$(DPP) $(CDIR)/symbol
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/symbol.c
  	rm $(CDIR)/symbol.c
  
  alloc.o:	$(CDIR)/alloc.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/alloc.c
  array.o:	$(CDIR)/array.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/array.c
  assignment.o:	$(CDIR)/assignment.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/assignment.c
  backq.o:	$(CDIR)/backq.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/backq.c
  bds.o:	$(CDIR)/bds.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/bds.c
  big.o:	$(CDIR)/big.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/big.c
  bind.o:	$(CDIR)/bind.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/bind.c
  bitop.o:	$(CDIR)/bitop.c
! 	$(CC) -c $(CFLAGS) $(CDIR)/bitop.c
  block.o:	$(CDIR)/block.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/block.c
  catch.o:	$(CDIR)/catch.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/catch.c
  cfun.o:	$(CDIR)/cfun.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/cfun.c
  cmpaux.o:	$(CDIR)/cmpaux.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/cmpaux.c
  conditional.o:	$(CDIR)/conditional.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/conditional.c
  earith.o:	$(CDIR)/earith.c
! 	$(CC) -c $(CFLAGS) $(CDIR)/earith.c
  error.o:	$(CDIR)/error.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/error.c
  eval.o:	$(CDIR)/eval.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/eval.c
! fflush.o:	$(CDIR)/fflush.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/fflush.c
  format.o:	$(CDIR)/format.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/format.c
  frame.o:	$(CDIR)/frame.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/frame.c
  gbc.o:	$(CDIR)/gbc.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/gbc.c
  iteration.o:	$(CDIR)/iteration.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/iteration.c
  let.o:	$(CDIR)/let.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/let.c
  lex.o:	$(CDIR)/lex.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/lex.c
  macros.o:	$(CDIR)/macros.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/macros.c
  main.o:	$(CDIR)/main.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/main.c
  mapfun.o:	$(CDIR)/mapfun.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/mapfun.c
  multival.o:	$(CDIR)/multival.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/multival.c
  num_arith.o:	$(CDIR)/num_arith.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/num_arith.c
  num_co.o:	$(CDIR)/num_co.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/num_co.c
  num_comp.o:	$(CDIR)/num_comp.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/num_comp.c
  num_log.o:	$(CDIR)/num_log.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/num_log.c
  num_pred.o:	$(CDIR)/num_pred.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/num_pred.c
  num_rand.o:	$(CDIR)/num_rand.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/num_rand.c
  num_sfun.o:	$(CDIR)/num_sfun.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/num_sfun.c
  number.o:	$(CDIR)/number.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/number.c
  predicate.o:	$(CDIR)/predicate.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/predicate.c
  prog.o:	$(CDIR)/prog.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/prog.c
  reference.o:	$(CDIR)/reference.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/reference.c
  structure.o:	$(CDIR)/structure.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/structure.c
  toplevel.o:	$(CDIR)/toplevel.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/toplevel.c
  typespec.o:	$(CDIR)/typespec.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/typespec.c
! os2fasl.o:	$(CDIR)/os2fasl.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/os2fasl.c
! os2fsys.o:	$(CDIR)/os2fsys.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/os2fsys.c
! os2int.o:	$(CDIR)/os2int.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/os2int.c
! os2save.o:	$(CDIR)/os2save.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/os2save.c
! os2sys.o:	$(CDIR)/os2sys.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/os2sys.c
! os2time.o:	$(CDIR)/os2time.c
! 	$(CC) -c $(OFLAG) $(CFLAGS) $(CDIR)/os2time.c
  
  
  character.o: $(HFILES)
***************
*** 214,219 ****
--- 217,223 ----
  earith.o: $(HFILES)
  error.o: $(HFILES)
  eval.o: $(HFILES)
+ fflush.o: $(HFILES)
  format.o: $(HFILES)
  frame.o: $(HFILES)
  gbc.o: $(HFILES)
***************
*** 239,248 ****
  structure.o: $(HFILES)
  toplevel.o: $(HFILES)
  typespec.o: $(HFILES)
! unixfasl.o: $(HFILES)
! unixfsys.o: $(HFILES)
! unixint.o: $(HFILES)
! unixsave.o: $(HFILES)
! unixsys.o: $(HFILES)
! unixtime.o: $(HFILES)
  
--- 243,252 ----
  structure.o: $(HFILES)
  toplevel.o: $(HFILES)
  typespec.o: $(HFILES)
! os2fasl.o: $(HFILES)
! os2fsys.o: $(HFILES)
! os2int.o: $(HFILES)
! os2save.o: $(HFILES)
! os2sys.o: $(HFILES)
! os2time.o: $(HFILES)
  
Only in ../kcl/o: makefile.old
Only in ../kcl/o: mapfun.o
Only in ../kcl/o: multival.o
Only in ../kcl/o: num_arith.o
Only in ../kcl/o: num_co.o
Only in ../kcl/o: num_comp.o
Only in ../kcl/o: num_log.o
Only in ../kcl/o: num_pred.o
Only in ../kcl/o: num_rand.o
Only in ../kcl/o: num_sfun.o
Only in ../kcl/o: number.o
Only in ../kcl/o: os2fasl.o
Only in ../kcl/o: os2fsys.o
Only in ../kcl/o: os2int.o
Only in ../kcl/o: os2save.o
Only in ../kcl/o: os2sys.o
Only in ../kcl/o: os2time.o
Only in ../kcl/o: package.o
Only in ../kcl/o: pathname.o
Only in ../kcl/o: predicate.o
Only in ../kcl/o: print.o
Only in ../kcl/o: prog.o
Only in ../kcl/o: read.o
Only in ../kcl/o: reference.o
Only in ../kcl/o: sequence.o
Only in ../kcl/o: string.o
Only in ../kcl/o: structure.o
Only in ../kcl/o: symbol.o
Only in ../kcl/o: toplevel.o
Only in ../kcl/o: typespec.o
Only in ../kcl/os2port: dmain.o
Only in ../kcl/os2port: kcl
Only in ../kcl/os2port: kcl.cmd
Only in ../kcl/os2port: lc
Only in ../kcl/os2port: lc1
Only in ../kcl/os2port: lcs1
Only in ../kcl/os2port: make_kcl
Only in ../kcl/os2port: makefile~
Only in ../kcl/os2port: raw_kcl
Only in ../kcl/os2port: readme
Only in ../kcl/os2port: saved_kcl.exe
Only in ../kcl/os2port: sys_kcl.o
Only in ../kcl: patches.txt
Only in ../kcl: readme.dos
