--- Begin Message ---
Subject: |
incorrect line numbers from byte-compile-file |
Date: |
Tue, 31 May 2011 15:33:21 +0100 |
With emacs -q, load the following into a file, test.el
----------------------------------------------------------------------
(defun fix-page-breaks ()
"Fix page breaks in SAS 6 print files."
(interactive)
(save-excursion
(goto-char (point-min))
(if (looking-at "\f") (delete-char 1))
(replace-regexp "^\\(.+\\)\f" "\\1\n\f\n")
(goto-char (point-min))
(replace-regexp "^\f\\(.+\\)" "\f\n\\1")
(goto-char (point-min))))
----------------------------------------------------------------------
then M-x byte-compile-file generates:
Compiling file /Users/stephen/txt/t/test.el at Tue May 31 15:28:08 2011
In fix-page-breaks:
test.el:6:28:Warning: `replace-regexp' used from Lisp code
That command is designed for interactive use only
test.el:7:6:Warning: `replace-regexp' used from Lisp code
That command is designed for interactive use only
The first error has the wrong line, although it has caught the two
problematic cases.
This is with emacs 23.3.1, but same behaviour seen on Emacs 24.0.50
Stephen
(emacs-version)
"GNU Emacs 23.3.1 (x86_64-apple-darwin10.6.0, NS apple-appkit-1038.35)
of 2011-03-10 on teva.local"
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#22288: 25.0.50; Incorrect line and column number in byte-compilation warning |
Date: |
Sat, 22 Jan 2022 18:16:58 +0000 |
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
--- End Message ---