>>>>> "Dirk" == Dirk Herrmann <[EMAIL PROTECTED]> writes:
Dirk> On 5 Jun 2000, Mikael Djurfeldt wrote:
>> Dirk Herrmann <[EMAIL PROTECTED]> writes:
>>
>> > However, there is no macro SCM_SET_SUBRF yet, and I don't
>> know whether I > should provide it in procs.h, or rather in
>> procs.c?
>>
>> Add it in procs.h. Nobody is likely to use it, but it is
>> probably good in general to have accessors for basic types like
>> this in the header files. But the main argument is: That is
>> where one would expect to find it. :)
Dirk> It's OK for now, since the great-interface-review will
Dirk> probably deal with such questions :-)
Dirk> The fix is in cvs, so hopefully it compiles cleanly now,
Dirk> except for the warnings.
Yes, it does, thank you!
For the warnings, I have something more serious before that:
the executable crashes when attempting to read boot9.scm with message:
Erreur de segmentation(coredump)
(this is a French workstation...)
Here a stack trace from Sun WorkShop debugger:
scm_boot_guile(argc = 1, argv = 0xeffff664, main_func = 0x11b18 =
&`guile`guile.c`inner_main(void *closure, int
argc, char **argv), closure = (nil))
scm_boot_guile_1(base = 0xeffff594, closure = 0xeffff584)
scm_internal_lazy_catch(tag = 9076, body = 0xef5fae20 =
&`libguile.so.8`init.c`invoke_main_func(void *body_data),
body_data = 0xeffff584, handler = 0xef655d20 = &scm_handle_by_message(void
*handler_data, SCM tag, SCM args),
handler_data = (nil))
invoke_main_func(body_data = 0xeffff584)
scm_load_startup_files()
scm_primitive_load_path(filename = 224208)
scm_primitive_load(filename = 224216)
scm_internal_dynamic_wind(before = 0xef601048 =
&`libguile.so.8`load.c`swap_port(void *data), inner = 0xef6010e0 =
&`libguile.so.8`load.c`load(void *data), after = 0xef601048 =
&`libguile.so.8`load.c`swap_port(void *data), inner_data
= 0x36be8, guard_data = 0xeffff2a8)
load(data = 0x36be8)
scm_eval_x(obj = 224288)
scm_eval_3(obj = 224288, copyp = 0, env = 10612)
scm_ceval(x = 224288, env = 10612)
scm_lookupcar(vloc = 224288, genv = 10612, check = 1)
scm_error(key = 0, subr = (nil), message = 0xef693334 "Unbound variable: ~S", args
= 224608, rest = 8564)
scm_ithrow(key = 0, args = 224624, noreturn = 1)
scm_handle_by_message(handler_data = (nil), tag = 0, args = 224624)
handler_message(handler_data = (nil), tag = 0, args = 224624)
scm_make_stack(obj = 9076, args = 10612)
read_frames(dframe = (nil), offset = 0, n = 0, iframes = 0x9fdd0)
get_applybody()
scm_sym2vcell(sym = 0, thunk = 8564, definep = 8564)
It seems that reading the first line of boot9.scm works ok in
load(), but then evaluating the form raises an error (scm_error is
called) due to an unbound identifier, because the environment of the
the scm_eval is eventually NULL.
It is the subsequent handling of this error which causes the crash.
So the questions are:
1) Why are the identifiers not found in the environments ?
2) Why is such an error causing a core dump ?
--
B. Urban