GNU bug report logs - #22763
25.1.50; Feature Request -- A faster method to obtain line number at position.

Previous Next

Package: emacs;

Reported by: Keith David Bershatsky <esq <at> lawlist.com>

Date: Mon, 22 Feb 2016 02:44:01 UTC

Severity: wishlist

Tags: fixed

Found in version 25.1.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #106 received at 22763 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Ben Levy <blevy <at> protonmail.com>
Cc: 22763 <at> debbugs.gnu.org
Subject: Re: bug#22763: 25.1.50;
 Feature Request -- A faster method to obtain line number at position.
Date: Thu, 20 May 2021 09:45:57 +0300
> Date: Wed, 19 May 2021 23:55:27 +0000
> From:  Ben Levy via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> For this section in the line-number-at-pos code:
> 
> /* Check that POSITION is n the visible range of the buffer. */
> if (pos < BEGV || pos > ZV)
>   args_out_of_range (make_int (start), make_int (ZV));
> 
> Shouldn't the lower bound condition be pos < start instead of pos < BEGV?

No, because 'start' is the _byte_ position, whereas 'pos' is the
character position.  So if 'start's value is BEGV_BYTE, the test above
already made sure 'pos' is correct, because it makes the equivalent
text of the character position.  And if 'start' is BEG_BYTE, then
'pos' cannot possibly be less than the beginning of the buffer,
because 'pos >= BEGV_BYTE' is a more strict condition.




This bug report was last modified 3 years and 364 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.