[Ecls-list] Return values sometimes missing on REPL
Erik Winkels
aerique at xs4all.nl
Tue Jun 1 12:23:31 UTC 2010
I'm starting a REPL by doing this in C++:
cl_object obj = ecl_read_from_cstring("si:top-level");
cl_funcall(1, obj);
Now when calling functions that have been created with ecl_def_c_function
I almost never get the return value back at the REPL, but they are set
when I call the same function with setf or defparameter. Like so:
ECL (Embeddable Common-Lisp) 10.4.1
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 in: #<process SI:TOP-LEVEL 09f32fc0>.
OGRE[1]> (get-actual-height *viewport*)
OGRE[2]> (defparameter height (get-actual-height *viewport*))
HEIGHT
OGRE[3]> height
480
OGRE[4]> (camera-get-position *camera*)
#(100.0 100.0 100.0)
As you can see, the last form did return a value. That one returns a
cl_object created with cl_vector(...). All the others are generally
created with ecl_make_... function or are just plain Ct or Cnil. Could
that be the issue?
It would make REPL life a little easier if all of them returned values
at the REPL. Any ideas?
More information about the ecl-devel
mailing list