[Ecls-list] compile problem binding special variables in a lambda list
Chris Baker
electro at 1939worldsfair.com
Fri Nov 15 10:58:05 UTC 2002
Hi everyone,
I just started looking at ecl, so please bear with me :)
I have in test.lsp:
(defun test (&optional (*standard-input* *standard-input*))
nil)
In ecl:
$ ecl
ECL (Embeddable Common-Lisp) 0.7b
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help. Top level.
> (compile-file "/tmp/test.lsp")
;;;
;;; This system does not support loading dynamically linked libraries.
;;; Therefore, COMPILE-FILE without :SYSTEM-P T is unsupported.
;;;
;;; Compiling /tmp/test.lsp.
;;; Compiling (DEFUN TEST ...).
;;; End of Pass 1.
;;; Emitting code for TEST.
;;; Calling the C compiler...
"gcc -g -O2 -Dcygwin -O -I/usr/local/lib/ecl//h -w -c /tmp/test.c -o /tmp/test.o"/tmp/test.c: In function `L1':
/tmp/test.c:12: parse error before `;'
(SYSTEM "gcc -g -O2 -Dcygwin -O -I/usr/local/lib/ecl//h -w -c /tmp/test.c -o /tmp/test.o") returned non-zero value 1
Broken at COMPILE-FILE.
>>
Here are the contents of test.c:
#include <ecl-cmp.h>
#include "/tmp/test.h"
/* function definition for TEST */
static cl_object L1(int narg, ...)
{ VT3 VLEX3 CLSR3
cl_object value0;
bds_check;
{int i=0;
cl_va_list args; cl_va_start(args,narg,narg,0);
if (i==narg) goto L1;
bds_bind(((cl_object)(cl_symbols+49)),cl_va_arg(args););/* *STANDARD-INPUT**/
i++;
goto L2;
L1:;
bds_push(((cl_object)(cl_symbols+49))); /* *STANDARD-INPUT**/
L2:;
value0=Cnil; NValues=1;
bds_unwind1;
bds_unwind1;
return value0;
}
}
This is under cygwin, but I've reproduced it in linux as well.
Thanks for any and all help,
Chris Baker
--
10:45:57 up 24 days, 12:28, 2 users, load average: 0.33, 0.34, 0.20
More information about the ecl-devel
mailing list