Hello,
*Compile-Log* shows a wrong line number for the error in certain cases.
To reproduce, create a file "foo.el" with the content:
foo
(byte-compile-file "foo.el") will result in
foo.el:1:2:Warning: reference to free variable `foo'
which is correct.
Now change the file content to:
foo
(byte-compile-file "foo.el") will result in
foo.el:0:1:Warning: reference to free variable `foo'
which is not.
A patch is attached.
regards
Nikolaj Schumacher
--- lisp/emacs-lisp/bytecomp.el 2007-03-11 15:29:29.000000000 +0100
+++ lisp/emacs-lisp/bytecomp.el 2007-03-11 15:29:40.000000000 +0100
@@ -967,21 +967,24 @@
(format "%s:" (file-relative-name byte-compile-current-file dir)))
((bufferp byte-compile-current-file)
(format "Buffer %s:"
(buffer-name byte-compile-current-file)))
(t "")))
(pos (if (and byte-compile-current-file
(integerp byte-compile-read-position))
(with-current-buffer byte-compile-current-buffer
- (format "%d:%d:" (count-lines (point-min)
- byte-compile-last-position)
- (save-excursion
- (goto-char byte-compile-last-position)
- (1+ (current-column)))))
+ (save-excursion
+ (format "%d:%d:"
+ (progn
+ (goto-char byte-compile-last-position)
+ (1+ (count-lines (point-min) (point-at-bol))))
+ (progn
+ (goto-char byte-compile-last-position)
+ (1+ (current-column))))))
""))
(form (if (eq byte-compile-current-form :end) "end of data"
(or byte-compile-current-form "toplevel form"))))
(when (or (and byte-compile-current-file
(not (equal byte-compile-current-file
byte-compile-last-logged-file)))
(and byte-compile-current-form
(not (eq byte-compile-current-form
_______________________________________________
emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug