From: Lars Ingebrigtsen Date: Thu, 9 Jun 2022 12:42:31 +0000 (+0200) Subject: Make `line-number-at-pos' work more like in earlier Emacs versions X-Git-Tag: emacs-29.0.90~1910^2~127 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=39d2efbfae1dc081258a764f3c47f5f492f38fec;p=emacs.git 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. --- diff --git a/src/fns.c b/src/fns.c index 2c206c62b22..fceab9ba0ca 100644 --- a/src/fns.c +++ b/src/fns.c @@ -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); }