[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22763: 25.1.50; Feature Request -- A faster method to obtain line nu
From: |
Eli Zaretskii |
Subject: |
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@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.