unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#47862: 26.3; (elisp) `Eval During Compile'
@ 2021-04-18  4:09 Drew Adams
  2021-04-18  4:14 ` Drew Adams
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Drew Adams @ 2021-04-18  4:09 UTC (permalink / raw)
  To: 47862

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''






^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#47862: 26.3; (elisp) `Eval During Compile'
  2021-04-18  4:09 bug#47862: 26.3; (elisp) `Eval During Compile' Drew Adams
@ 2021-04-18  4:14 ` Drew Adams
  2021-04-18  4:24   ` Drew Adams
  2021-04-18  8:21 ` Philipp Stephani
  2021-05-04  9:30 ` Lars Ingebrigtsen
  2 siblings, 1 reply; 8+ messages in thread
From: Drew Adams @ 2021-04-18  4:14 UTC (permalink / raw)
  To: Drew Adams, 47862@debbugs.gnu.org

Should have mentioned that this was reported by a
user of emacs.StackExchange, here:

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






^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#47862: 26.3; (elisp) `Eval During Compile'
  2021-04-18  4:14 ` Drew Adams
@ 2021-04-18  4:24   ` Drew Adams
  0 siblings, 0 replies; 8+ messages in thread
From: Drew Adams @ 2021-04-18  4:24 UTC (permalink / raw)
  To: 47862@debbugs.gnu.org

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.






^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#47862: 26.3; (elisp) `Eval During Compile'
  2021-04-18  4:09 bug#47862: 26.3; (elisp) `Eval During Compile' Drew Adams
  2021-04-18  4:14 ` Drew Adams
@ 2021-04-18  8:21 ` Philipp Stephani
  2021-04-18 15:20   ` bug#47862: [External] : " Drew Adams
  2021-05-04  9:30 ` Lars Ingebrigtsen
  2 siblings, 1 reply; 8+ messages in thread
From: Philipp Stephani @ 2021-04-18  8:21 UTC (permalink / raw)
  To: Drew Adams; +Cc: 47862

Am So., 18. Apr. 2021 um 06:11 Uhr schrieb Drew Adams <drew.adams@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.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#47862: [External] : Re: bug#47862: 26.3; (elisp) `Eval During Compile'
  2021-04-18  8:21 ` Philipp Stephani
@ 2021-04-18 15:20   ` Drew Adams
  0 siblings, 0 replies; 8+ messages in thread
From: Drew Adams @ 2021-04-18 15:20 UTC (permalink / raw)
  To: Philipp Stephani; +Cc: 47862@debbugs.gnu.org

> 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).



^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#47862: 26.3; (elisp) `Eval During Compile'
  2021-04-18  4:09 bug#47862: 26.3; (elisp) `Eval During Compile' Drew Adams
  2021-04-18  4:14 ` Drew Adams
  2021-04-18  8:21 ` Philipp Stephani
@ 2021-05-04  9:30 ` Lars Ingebrigtsen
  2021-05-04 11:05   ` Stephen Berman
  2 siblings, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2021-05-04  9:30 UTC (permalink / raw)
  To: Drew Adams; +Cc: 47862

Drew Adams <drew.adams@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





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#47862: 26.3; (elisp) `Eval During Compile'
  2021-05-04  9:30 ` Lars Ingebrigtsen
@ 2021-05-04 11:05   ` Stephen Berman
  2021-05-05  8:32     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 8+ messages in thread
From: Stephen Berman @ 2021-05-04 11:05 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 47862

On Tue, 04 May 2021 11:30:38 +0200 Lars Ingebrigtsen <larsi@gnus.org> wrote:

> Drew Adams <drew.adams@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





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#47862: 26.3; (elisp) `Eval During Compile'
  2021-05-04 11:05   ` Stephen Berman
@ 2021-05-05  8:32     ` Lars Ingebrigtsen
  0 siblings, 0 replies; 8+ messages in thread
From: Lars Ingebrigtsen @ 2021-05-05  8:32 UTC (permalink / raw)
  To: Stephen Berman; +Cc: 47862

Stephen Berman <stephen.berman@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





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-05-05  8:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-18  4:09 bug#47862: 26.3; (elisp) `Eval During Compile' Drew Adams
2021-04-18  4:14 ` Drew Adams
2021-04-18  4:24   ` Drew Adams
2021-04-18  8:21 ` Philipp Stephani
2021-04-18 15:20   ` bug#47862: [External] : " Drew Adams
2021-05-04  9:30 ` Lars Ingebrigtsen
2021-05-04 11:05   ` Stephen Berman
2021-05-05  8:32     ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).