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

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

[debbugs-tracker] bug#24449: closed (Emacs 25.1 RC2: Byte compiler repor


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#24449: closed (Emacs 25.1 RC2: Byte compiler reports error in wrong place.)
Date: Sat, 17 Sep 2016 13:00:02 +0000

Your message dated Sat, 17 Sep 2016 12:58:36 +0000
with message-id <address@hidden>
and subject line Re: bug#24449: Emacs 25.1 RC2: Byte compiler reports error in 
wrong place.
has caused the debbugs.gnu.org bug report #24449,
regarding Emacs 25.1 RC2: Byte compiler reports error in wrong place.
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
24449: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24449
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: Emacs 25.1 RC2: Byte compiler reports error in wrong place. Date: Fri, 16 Sep 2016 11:31:25 +0000 User-agent: Mutt/1.5.24 (2015-08-30)
Hello, Emacs.

Using Emacs 25.1 RC2, and lisp/progmodes/cc-engine.el from commit
33f856ba01d13f649cf5c848b322ecb0dbfc02fc (Fri Sep 16 10:47:55 2016
+0000), 

    $ emacs -Q -batch -f batch-byte-compile cc-engine.el

.  This outputs the following warning:

    In c-forward-decl-or-cast-1:
    cc-engine.el:8105:22:Warning: reference to free variable `eq'

.  The use of `eq' on L8105 is entirely correct.  The error is at L8636,
where the following appears:

    (and eq context nil
         (match-beginning 1))

.  Clearly parentheses around the `eq' form are missing.

The compiler should have output its warning for L8636, not L8105.

-- 
Alan Mackenzie (Nuremberg, Germany).



--- End Message ---
--- Begin Message --- Subject: Re: bug#24449: Emacs 25.1 RC2: Byte compiler reports error in wrong place. Date: Sat, 17 Sep 2016 12:58:36 +0000 User-agent: Mutt/1.5.24 (2015-08-30)
Hello, Eli.

On Sat, Sep 17, 2016 at 12:35:05PM +0300, Eli Zaretskii wrote:
> > Date: Sat, 17 Sep 2016 08:29:52 +0000
> > Cc: address@hidden
> > From: Alan Mackenzie <address@hidden>

> > 5. The change I made yesterday appears not to have made anything any
> >   worse.

> Thanks, I guess that means you should push it.

Done.  I took the liberty of amending the comment before
`byte-compile-set-symbol-position'.

> > What I would suggest should get done: we should make the column numbers
> > 0-based

> This should be a separate change, and before doing it, we should make
> sure to fix code that assumes the columns to be 1-based (e.g, what
> does "C-x `" do?).

Ah.  OK.

> > suitable places to call `byte-compile-set-symbol-position' for
> > the error messages we see should be identified, the calls inserted, and
> > another bootstrap build done to see how much this helps.

> Sounds a good idea, thanks.

Done this too, in one place, which causes the "obsolete function"
messages to get the correct position.

Messages generated by `macroexp--warn-and-return' continue to have wrong
positions.  I'm not sure it's possible to fix this, and my intellect
isn't up to working out how it works, at least not today.

The messages about unknown functions, or not known to be defined at
runtime functions continue to give EOF as their position.  This was the
use case for the parameter `allow-previous' in
`byte-compile-set-symbol-position', but it didn't work before, and it
continues not to work just as well now.  It would be possible to fix
this by not deleting elements from `read-symbol-positions-list', but
this would slow down compilation (even if only a little), and generally
seems not to be worth the trouble.

-- 
Alan Mackenzie (Nuremberg, Germany).


--- End Message ---

reply via email to

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