* 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
* Re: special forms
[not found] <mailman.2150.1176756014.7795.help-gnu-emacs@gnu.org>
@ 2007-04-18 0:30 ` John Paul Wallington
0 siblings, 0 replies; 5+ messages in thread
From: John Paul Wallington @ 2007-04-18 0:30 UTC (permalink / raw)
To: help-gnu-emacs
A Soare <alinsoar@voila.fr> 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?
^ permalink raw reply [flat|nested] 5+ messages in thread
* 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: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
* Re: special forms
2007-04-18 19:40 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
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:50 special forms A Soare
-- strict thread matches above, loose matches on Subject: below --
2007-04-18 19:40 A Soare
2007-04-18 20:06 ` Karl Hegbloom
[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
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.