* Re: special forms
@ 2007-04-18 19:40 A Soare
2007-04-18 20:06 ` Karl Hegbloom
0 siblings, 1 reply; 5+ messages in thread
From: A Soare @ 2007-04-18 19:40 UTC (permalink / raw)
To: Emacs Help [help-gnu-emacs]
I do not find in Feval where the `special forms' are treated. Can somebody help me please?
A Soare <alinsoar@...> writes:
> I do not find in Feval where the `special forms' are treated. Can somebody help me please?
It looks like from line 2272 or so in the current sources of eval.c:
if (XSUBR (fun)->max_args == UNEVALLED)
{
backtrace.evalargs = 0;
val = (*XSUBR (fun)->function) (args_left);
goto done;
}
>Does that help?
Thanks.
I do not knot yet... What is the difference between SUBRP and XSUBR ?
Alin Soare.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: special forms
2007-04-18 19:40 special forms A Soare
@ 2007-04-18 20:06 ` Karl Hegbloom
0 siblings, 0 replies; 5+ messages in thread
From: Karl Hegbloom @ 2007-04-18 20:06 UTC (permalink / raw)
To: alinsoar; +Cc: Emacs Help [help-gnu-emacs]
On Wed, 2007-04-18 at 21:40 +0200, A Soare wrote:
> I do not knot yet... What is the difference between SUBRP and XSUBR ?
The naming convention is that the macro or function ending in 'p' is a
predicate. It's asking the yes or no question "is this lisp object a
'subr'?" It looks in the Lisp object's type field, and checks to see if
it's type is 'subr'. The macros that start with 'X' are accessors, the
mnemonic being that "X" sounds like "access". It is accessing and
returning the location of the C routine that implements the Lisp subr.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: special forms
@ 2007-04-18 19:50 A Soare
0 siblings, 0 replies; 5+ messages in thread
From: A Soare @ 2007-04-18 19:50 UTC (permalink / raw)
To: Emacs Help [help-gnu-emacs]
I do not find in Feval where the `special forms' are treated. Can somebody help me please?
A Soare <alinsoar@...> writes:
> I do not find in Feval where the `special forms' are treated. Can somebody help me please?
It looks like from line 2272 or so in the current sources of eval.c:
if (XSUBR (fun)->max_args == UNEVALLED)
{
backtrace.evalargs = 0;
val = (*XSUBR (fun)->function) (args_left);
goto done;
}
>Does that help?
I looked closely. We got it.
"UNEVALLED" indicate that the evaluation of a function must mut evaluate its arguments.
Thanks a lot.
Alin Soare.
^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <mailman.2150.1176756014.7795.help-gnu-emacs@gnu.org>]
* special forms
@ 2007-04-16 20:35 A Soare
0 siblings, 0 replies; 5+ messages in thread
From: A Soare @ 2007-04-16 20:35 UTC (permalink / raw)
To: Emacs Help [help-gnu-emacs]
I do not find in Feval where the `special forms' are treated. Can somebody help me please?
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-04-18 20:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-18 19:40 special forms A Soare
2007-04-18 20:06 ` Karl Hegbloom
-- strict thread matches above, loose matches on Subject: below --
2007-04-18 19:50 A Soare
[not found] <mailman.2150.1176756014.7795.help-gnu-emacs@gnu.org>
2007-04-18 0:30 ` John Paul Wallington
2007-04-16 20:35 A Soare
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).