]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix count-lines problem in non-ASCII buffers
authorLars Ingebrigtsen <larsi@gnus.org>
Tue, 9 Feb 2021 07:12:10 +0000 (08:12 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 9 Feb 2021 07:12:14 +0000 (08:12 +0100)
* src/fns.c (Fline_number_at_pos): Get the correct start position
in non-ASCII buffers (bug#22763).

src/fns.c
test/lisp/simple-tests.el

index 02743c62a5755f61268dd258c4b9a8c0d07edec8..c16f9c63998c138989d6a56681df67238affc3e3 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -5769,7 +5769,7 @@ visible part of the buffer.  If ABSOLUTE is non-nil, count the lines
 from the absolute start of the buffer.  */)
   (register Lisp_Object position, Lisp_Object absolute)
 {
-  ptrdiff_t pos, start = BEGV;
+  ptrdiff_t pos, start = BEGV_BYTE;
 
   if (MARKERP (position))
     pos = marker_position (position);
index b4007a6c3f3a9cefc134bf1bfa58b482ae27d56e..f2ddc2e3fb3aa57877bb7dfcd43f4ee09a364de5 100644 (file)
     (insert (propertize "\nbar\nbaz\nzut" 'invisible t))
     (should (= (count-lines (point-min) (point-max) t) 2))))
 
+(ert-deftest simple-text-count-lines-non-ascii ()
+  (with-temp-buffer
+    (insert "あ\nい\nう\nえ\nお\n")
+    (should (= (count-lines (point) (point)) 0))))
+
 \f
 ;;; `transpose-sexps'
 (defmacro simple-test--transpositions (&rest body)