GNU bug report logs -
#10258
compilation-error-regexp-alist just assumes columns not characters
Previous Next
Reported by: jidanni <at> jidanni.org
Date: Fri, 9 Dec 2011 21:56:02 UTC
Severity: normal
Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Gentlemen, why does *compilation* say
basex -b y=3 TaiwanAMFMSW.xq
Stopped at line 57, column 29 in /home/jidanni/millerliu/xquery/TaiwanAMFMSW.xq:
[XPST0003] Expecting "return", found "r".
But the cursor upon next-error ends up at
case "TaiwanAMFMSW_by_band" retrun let $K:= "AM/FM/SW" return ()
^ ^
A, not B if those blanks at front were a TAB.
Well that is because on
(describe-variable (quote compilation-error-regexp-alist))
there is nary a mention of what to do when the compiler making the
message is counting characters (TAB=1) and emacs is thinking it is
counting columns (TAB=8, etc.).
All we see is
COLUMN can also be of the form (COLUMN . END-COLUMN) meaning a range of
columns starting on LINE and ending on END-LINE, if that matched.
There is no way to communicate to emacs that this certain compiler does
not know how many columns a TAB equals in emacs, and is just reporting a
character count from the last newline.
So one is forced to untabify ones source files!
So it seems that compilation-error-regexp-alist needs an extra parameter
to tell if we are just counting characters or actually counting columns.
P.S., guess what happens when there are wide characters involved,
case "補補補TaiwanAMFMSW_by_band" retrun let $K:= "AM/FM/SW" return ()
you guessed it!
How can I tell emacs in
(add-to-list 'compilation-error-regexp-alist-alist
'(basex "^Stopped at line \\([0-9]+\\), column \\([0-9]+\\) in \\(.*?\\):$" 3 1 2))
(add-to-list 'compilation-error-regexp-alist 'basex)
that "column" means "char"?
This bug report was last modified 13 years and 212 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.