emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why is FUNC in cl-callf not allowed to be an expression?


From: Michael Heerdegen
Subject: Re: Why is FUNC in cl-callf not allowed to be an expression?
Date: Thu, 16 May 2019 23:46:23 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

> > Something like this would help (i.e. gv-synthetic-place would
> > work as expected):
> [...]
> > but I have no clue if it's correct or a good idea.
>
> It's not correct in general, no.  But it pointed me to the origin of the
> problem.  I installed a fix.

I had a hard time to understand why that works until I found that
(setf p ...) with symbol p symbol-macro bound is first expanded into
setq (treating p as a simple symbol) and that it treated by your fix
(and gets transformed into a setf again).  Ok, why not.

> Related to your patch, we should change `macroexpand` to call
> `macroexpand-1` and then make `cl-symbol-macrolet` advise
> `macroexpand-1` so it doesn't need the `while` loop.

Sounds reasonable, but I don't volunteer to do it.

What do think now about `gv-place-let'?  Does that look acceptable?

Thanks,

Michael.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]