GNU bug report logs - #47862
26.3; (elisp) `Eval During Compile'

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Sun, 18 Apr 2021 04:11:02 UTC

Severity: minor

Found in version 26.3

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 47862 in the body.
You can then email your comments to 47862 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#47862; Package emacs. (Sun, 18 Apr 2021 04:11:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Drew Adams <drew.adams <at> oracle.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 18 Apr 2021 04:11:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Subject: 26.3; (elisp) `Eval During Compile'
Date: Sun, 18 Apr 2021 04:09:51 +0000
This node says that `eval-when-compile' is a special form.

However, `C-h f' says that it's a macro, defined in byte-run.el,
and that's the case.  Please consider correcting the manual.


In GNU Emacs 26.3 (build 1, x86_64-w64-mingw32)
 of 2019-08-29
Repository revision: 96dd0196c28bc36779584e47fffcca433c9309cd
Windowing system distributor `Microsoft Corp.', version 10.0.19041
Configured using:
 `configure --without-dbus --host=x86_64-w64-mingw32
 --without-compress-install 'CFLAGS=-O2 -static -g3''





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#47862; Package emacs. (Sun, 18 Apr 2021 04:16:01 GMT) Full text and rfc822 format available.

Message #8 received at 47862 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Drew Adams <drew.adams <at> oracle.com>, "47862 <at> debbugs.gnu.org"
 <47862 <at> debbugs.gnu.org>
Subject: RE: 26.3; (elisp) `Eval During Compile'
Date: Sun, 18 Apr 2021 04:14:52 +0000
Should have mentioned that this was reported by a
user of emacs.StackExchange, here:

https://emacs.stackexchange.com/q/64469/105





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#47862; Package emacs. (Sun, 18 Apr 2021 04:25:02 GMT) Full text and rfc822 format available.

Message #11 received at 47862 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: "47862 <at> debbugs.gnu.org" <47862 <at> debbugs.gnu.org>
Subject: RE: 26.3; (elisp) `Eval During Compile'
Date: Sun, 18 Apr 2021 04:24:32 +0000
And the same is true of `eval-and-compile'.

And `with-no-warnings', which is in face a defun.

___

`define-obsolete-(function|variable|face)-alias',
and `defsubst', (other macros defined in
`byte-run.el') are handled correctly in the manual.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#47862; Package emacs. (Sun, 18 Apr 2021 08:23:02 GMT) Full text and rfc822 format available.

Message #14 received at 47862 <at> debbugs.gnu.org (full text, mbox):

From: Philipp Stephani <p.stephani2 <at> gmail.com>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 47862 <at> debbugs.gnu.org
Subject: Re: bug#47862: 26.3; (elisp) `Eval During Compile'
Date: Sun, 18 Apr 2021 10:21:44 +0200
Am So., 18. Apr. 2021 um 06:11 Uhr schrieb Drew Adams <drew.adams <at> oracle.com>:
>
> This node says that `eval-when-compile' is a special form.
>
> However, `C-h f' says that it's a macro, defined in byte-run.el,
> and that's the case.  Please consider correcting the manual.
>

Could we instead redefine "special form" to mean "any form that
doesn't evaluate its arguments like a function does, no matter whether
it's implemented in C or as an ELisp macro"? It normally doesn't
matter for users how such forms are implemented.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#47862; Package emacs. (Sun, 18 Apr 2021 15:21:02 GMT) Full text and rfc822 format available.

Message #17 received at 47862 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Philipp Stephani <p.stephani2 <at> gmail.com>
Cc: "47862 <at> debbugs.gnu.org" <47862 <at> debbugs.gnu.org>
Subject: RE: [External] : Re: bug#47862: 26.3; (elisp) `Eval During Compile'
Date: Sun, 18 Apr 2021 15:20:07 +0000
> Could we instead redefine "special form" to mean "any form that
> doesn't evaluate its arguments like a function does, no matter whether
> it's implemented in C or as an ELisp macro"? It normally doesn't
> matter for users how such forms are implemented.

No, please don't.  Both macro and special form have
established meanings in Emacs.

And neither necessarily does not evaluate its args.
It's incorrect to give the impression that that's
the case.

What's the case is that neither necessarily evals
its args - any or all of its args, and if it does
evaluate any args it doesn't necessarily eval them
in any particular order.

A macro should be referred to in the doc as a macro.
A special form isn't implemented as a macro, and it
should be referred to in the doc as a special form.

Beyond that, we should not be calling `foo' a macro
in some help (e.g. doc string) and calling it a
special form in other help (e.g. Elisp manual).



Severity set to 'minor' from 'normal' Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Mon, 19 Apr 2021 07:39:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#47862; Package emacs. (Tue, 04 May 2021 09:31:01 GMT) Full text and rfc822 format available.

Message #22 received at 47862 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 47862 <at> debbugs.gnu.org
Subject: Re: bug#47862: 26.3; (elisp) `Eval During Compile'
Date: Tue, 04 May 2021 11:30:38 +0200
Drew Adams <drew.adams <at> oracle.com> writes:

> This node says that `eval-when-compile' is a special form.

It doesn't in Emacs 28, at least -- the word "special" doesn't exist in
that node.

It doesn't say that it's a macro either, but just uses the neutral
"form", which is correct.  Closing.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug closed, send any further explanations to 47862 <at> debbugs.gnu.org and Drew Adams <drew.adams <at> oracle.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 04 May 2021 09:31:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#47862; Package emacs. (Tue, 04 May 2021 11:06:01 GMT) Full text and rfc822 format available.

Message #27 received at 47862 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 47862 <at> debbugs.gnu.org, Drew Adams <drew.adams <at> oracle.com>
Subject: Re: bug#47862: 26.3; (elisp) `Eval During Compile'
Date: Tue, 04 May 2021 13:05:21 +0200
On Tue, 04 May 2021 11:30:38 +0200 Lars Ingebrigtsen <larsi <at> gnus.org> wrote:

> Drew Adams <drew.adams <at> oracle.com> writes:
>
>> This node says that `eval-when-compile' is a special form.
>
> It doesn't in Emacs 28, at least -- the word "special" doesn't exist in
> that node.

Not in the compile.texi source file, but its definition uses @defspec,
which appears as `Special Form' in the elisp.info file.

> It doesn't say that it's a macro either, but just uses the neutral
> "form", which is correct.  Closing.

Steve Berman




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#47862; Package emacs. (Wed, 05 May 2021 08:33:02 GMT) Full text and rfc822 format available.

Message #30 received at 47862 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: 47862 <at> debbugs.gnu.org, Drew Adams <drew.adams <at> oracle.com>
Subject: Re: bug#47862: 26.3; (elisp) `Eval During Compile'
Date: Wed, 05 May 2021 10:32:00 +0200
Stephen Berman <stephen.berman <at> gmx.net> writes:

> Not in the compile.texi source file, but its definition uses @defspec,
> which appears as `Special Form' in the elisp.info file.

Ah, I missed that; thanks.  I've now changed them to use @defmac.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 02 Jun 2021 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 320 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.