Subject: bug#49624: closed (Re: bug#49624: compilation message end-column function off-by-one bug)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 23 Jul 2021 13:26:02 +0000

Your bug report

#49624: compilation message end-column function off-by-one bug

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].

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

Subject: Re: bug#49624: compilation message end-column function off-by-one bug
From: Mattias Engdegård <[email-masked]>
To: Juri Linkov <[email-masked]>
Cc: [email-masked], Eli Zaretskii <[email-masked]>, Stefan Monnier <[email-masked]>
Date: Fri, 23 Jul 2021 15:24:55 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

19 juli 2021 kl. 23.43 skrev Juri Linkov <[email-masked]>:

>> Not even 9dc3a46a444a46e00ed3287a3174d73ed9511dac where the funcall for col and end-col originated?
>> In any case, no worry -- I'll deal with it.
> 
> My apologies.  This commit is so old that I even don't recognize it.
> I need to study this code again since I don't remember this part
> of compile.el.

Thank you, but it's not that important. Let's not overthink it -- I'm treating it as the bug it is and have pushed the obvious fix to master.

Subject: compilation message end-column function off-by-one bug
From: Mattias Engdegård <[email-masked]>
To: [email-masked]
Cc: Stefan Monnier <[email-masked]>, Juri Linkov <[email-masked]>
Date: Sun, 18 Jul 2021 21:00:41 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Compilation message patterns (in compilation-regexp-alist and -alist) can indicate starting and ending line and column numbers, either by supplying regexp match numbers or functions that return the respective line/column numbers when called. In other words, the integer N can be understood as a shorthand for the function

(lambda () (and (match-beginning N) (string-to-number (match-string N))))

except that isn't true for the ending column where there is a difference of 1; an END-COL function returning 13 means that the error's last column is 12.

There does not seem to be a good justification for this nor is it documented so it's probably just a bug; proposed patch attached below. Does it warrant a mention in etc/NEWS?