bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#4845: 23.1.50; Uninterned symbols in .elc files


From: Michael Heerdegen
Subject: bug#4845: 23.1.50; Uninterned symbols in .elc files
Date: Tue, 19 Jan 2016 20:15:25 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

John Wiegley <jwiegley@gmail.com> writes:

>   3. We then try to print and call the uninterned symbol directly. So what we
>      are calling, and what defun defined, are not the same symbol.

But theoretically, the byte compiler could do it correctly.

This is how the compiled code looks like currently:

(defalias '#1=#:bar #[0 "[bytes...]" [message "function %s called" #1#] 3])
(#:bar)

If the second line would be

(#1#)

(as the compiler already correctly prints in the function body)

the thing would work AFAIU.  I guess it doesn't because it is a
different expression printed separately.

> I recommend closure of this bug as expected behavior,

I think it's quite unexpected, unless you know about how byte
compilation to files works, and even then...

> unless there are further concerns.

I think this is quite a limitation worth to be fixed, if it is possible
with little effort.

If not, we should at least make the compiler raise an error when it
generates function calls like

    (#:bar)

something like that is not very useful, in no situation.


Michael.





reply via email to

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