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:
parent
64b5fd2e43
commit
39d2efbfae
1 changed files with 5 additions and 2 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue