GNU bug report logs -
#21013
Evaluation expression from C assumes that lambda is present
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Fri, 24 Jun 2016 09:53:51 +0200
with message-id <87inwzhvjk.fsf <at> pobox.com>
and subject line Re: bug#21013: Evaluation expression from C assumes that lambda is present
has caused the debbugs.gnu.org bug report #21013,
regarding Evaluation expression from C assumes that lambda is present
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
21013: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21013
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
When using the profiler in a pure module ,profile does not work
The reason is that in
scmsigs.c,
At an evaluation occurs from C e.g.
static SCM
close_1 (SCM proc, SCM arg)
{
return scm_primitive_eval_x (scm_list_3 (scm_sym_lambda, SCM_EOL,
scm_list_2 (proc, arg)));
}
This means that languages in guile that want's profiling needs to export
lambda from (guile). Maybe this is a feature but there are two things that
can improve,
1. We can export @@ or @ as the only symbol from guile and fix all
evaluatoins like the above to issue a (@ (guile) lambda) in stead of lambda
etc. Maybe we should use a more uncommon symbol for @ and @@ to be used in
situations like that for which should always be reexported for langages
that want to support guile features.
lambda is a very common symbol and I would expect profiling to fail under
elisp no so this issues seams to be urgent. I will for know export lambda.
Regards
Stefan
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
On Wed 08 Jul 2015 20:48, Stefan Israelsson Tampe <stefan.itampe <at> gmail.com> writes:
> When using the profiler in a pure module ,profile does not work
>
> The reason is that in
> scmsigs.c,
>
> At an evaluation occurs from C e.g.
>
> static SCM
> close_1 (SCM proc, SCM arg)
> {
> return scm_primitive_eval_x (scm_list_3 (scm_sym_lambda, SCM_EOL,
> scm_list_2 (proc, arg)));
> }
Amusing! I tried to work around this use of `eval' but I can't because
there's too much C sclerosis. Instead I switched to use scm_eval and
specified a module; should fix the issue.
Andy
This bug report was last modified 9 years and 30 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.