[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#10258: compilation-error-regexp-alist just assumes columns not chara
From: |
jidanni |
Subject: |
bug#10258: compilation-error-regexp-alist just assumes columns not characters |
Date: |
Sat, 10 Dec 2011 04:18:12 +0800 |
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"?
- bug#10258: compilation-error-regexp-alist just assumes columns not characters,
jidanni <=