Subject: Emacs 25.1 RC2: Byte compiler reports error in wrong place.
From: Alan Mackenzie <[email-masked]>
To: [email-masked]
Date: Fri, 16 Sep 2016 11:31:25 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

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