Subject: bug#2681: closed (Re: bug#22288: 25.0.50; Incorrect line and column number in byte-compilation warning)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 22 Jan 2022 18:18:02 +0000

Your bug report

#22288: 23.0.91; incorrect line shown by lisp compiler

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
22288: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22288
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#22288: 25.0.50; Incorrect line and column number in byte-compilation warning
From: Alan Mackenzie <[email-masked]>
To: Clément Pit--Claudel <[email-masked]>
Cc: [email-masked]
Date: Sat, 22 Jan 2022 18:16:58 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Everybody.

This bug has just been fixed in master by merging in branch
scratch/correct-warning-pos.

-- 
Alan Mackenzie (Nuremberg, Germany).

On Fri, Jan 01, 2016 at 10:54:24 -0500, Clément Pit--Claudel wrote:
> Hi all,

> The byte-compiler doesn't always report the right line and column numbers. For example for the following program in test.el:

> (defun test ()
>   (let (a))
>   a)

> Running M-x byte-compile-file RET test.el RET yields:

> > Compiling file /home/clement/test.el at Fri Jan  1 10:48:41 2016

> > In test:
> > test.el:2:9:Warning: reference to free variable ‘a’

> The correct warning would be

> > test.el:3:2:Warning: reference to free variable ‘a’

> Note that the following program gives the right error:

> (defun test ()
>   (let (b))
>   a)

> > test.el:3:3:Warning: reference to free variable ‘a’

> Although one might argue that it should be

> > test.el:3:2:Warning: reference to free variable ‘a’

> (that is, column 2, not 3) given that Emacs starts counting columns at 0.

> Cheers,
> Clément.

> In GNU Emacs 25.0.50.8 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8)
>  of 2015-12-29 built on clem-w50-mint
> Repository revision: a21bb238ce7bcc9c13a9cf66db77918304daa2fc
> Windowing system distributor 'The X.Org Foundation', version 11.0.11501000
> System Description:	Linux Mint 17.2 Rafaela

Subject: 23.0.91; incorrect line shown by lisp compiler
From: Kenichi Handa <[email-masked]>
To: [email-masked]
Date: Mon, 16 Mar 2009 13:16:36 +0900

When I byte compile this file:
---~/temp.el------------------------------------------------
(defun test (vec)
  (cond	((= (length vec) 0)
	 (message "LEN=0"))
	((= (length vec) 1)
	 (message "LEN=1"))
	((= (length vec 2))
	 (message "LEN=2"))))
------------------------------------------------------------
The *Compile-Log* buffer shows these warnings:

Compiling file /home/handa/temp.el at Mon Mar 16 13:12:33 2009

In test:
temp.el:4:11:Warning: `=' called with 1 arg, but requires 2
temp.el:4:14:Warning: `length' called with 2 args, but requires 1

But the bug is on 6th line, not the 4th line.

---
Kenichi Handa
[email-masked]