|
From: | Paul Eggert |
Subject: | Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps. |
Date: | Sun, 25 Nov 2018 12:12:56 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 |
Alan Mackenzie wrote:
How do other Lisp compilers work? They must have ways of keeping track of line and column numbers.
I'm pretty sure they don't redefine the meaning of 'eq'....
The problem is that when compilation is in progress, (eq 'foo '#<symbol foo at 666>) has got to return t.
Why not change the byte-compiler to use 'eq-ignoring-symbol-pos' (or whatever you want to call it) instead of 'eq'? The byte compiler could do this for every occurrence of 'eq' in every user macro, as well as in its own code. This should let ordinary Lisp code run at full speed; only compilation would be slowed down.
[Prev in Thread] | Current Thread | [Next in Thread] |