Make `line-number-at-pos' work more like in earlier Emacs versions

* src/fns.c (Fline_number_at_pos): Allow calling with position
outside the region if called with ABSOLUTE non-nil (bug#55847).
This isn't announced in the doc string, but makes function
compatible with the version in earlier Emacs versions.
This commit is contained in:
Lars Ingebrigtsen 2022-06-09 14:42:31 +02:00
parent 64b5fd2e43
commit 39d2efbfae

View file

@ -5869,9 +5869,12 @@ from the absolute start of the buffer, disregarding the narrowing. */)
if (!NILP (absolute))
start = BEG_BYTE;
/* Check that POSITION is in the accessible range of the buffer. */
if (pos < BEGV || pos > ZV)
/* Check that POSITION is in the accessible range of the buffer, or,
if we're reporting absolute positions, in the buffer. */
if (NILP (absolute) && (pos < BEGV || pos > ZV))
args_out_of_range_3 (make_int (pos), make_int (BEGV), make_int (ZV));
else if (!NILP (absolute) && (pos < 1 || pos > Z))
args_out_of_range_3 (make_int (pos), make_int (1), make_int (Z));
return make_int (count_lines (start, CHAR_TO_BYTE (pos)) + 1);
}