Subject: bug#21013: closed (Re: bug#21013: Evaluation expression from C assumes that lambda is present)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 24 Jun 2016 07:55:02 +0000

Your bug report

#21013: Evaluation expression from C assumes that lambda is present

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
21013: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21013
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#21013: Evaluation expression from C assumes that lambda is present
From: Andy Wingo <[email-masked]>
To: Stefan Israelsson Tampe <[email-masked]>
Cc: [email-masked]
Date: Fri, 24 Jun 2016 09:53:51 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On Wed 08 Jul 2015 20:48, Stefan Israelsson Tampe <[email-masked]> 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

Subject: Evaluation expression from C assumes that lambda is present
From: Stefan Israelsson Tampe <[email-masked]>
To: [email-masked]
Date: Wed, 8 Jul 2015 20:48:38 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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