Subject: Re: bug#62027: Subject: 29.0.60; Breaking change in forward-sentence/backward-sentence

From: Manuel Giraud <[email-masked]>
Date: Tue, 07 Mar 2023 20:07:44 +0100

Eli Zaretskii <[email-masked]> writes:

[...]

> I tried, but it doesn't apply.  Did you produce the patch from the
> emacs-29 branch or from some other branch?

Sorry, I produced it on master.  Here is the one for emacs-29.  Will
this appear on master at a later time?
-- 
Manuel Giraud
>From c1cfd5e99c5227e9c75fc6b3dbb50e60e44c12d0 Mon Sep 17 00:00:00 2001
From: Manuel Giraud <[email-masked]>
Date: Tue, 7 Mar 2023 20:03:53 +0100
Subject: [PATCH] Revert 'forward-sentence-default-function' to return the
 point (bug#62027)

* lisp/textmodes/paragraphs.el
(forward-sentence-default-function): Revert to return the point
position.
(count-sentences): Adapt to this change.
---
 lisp/textmodes/paragraphs.el | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el
index 73abb155aaa..a9e28a3275b 100644
--- a/lisp/textmodes/paragraphs.el
+++ b/lisp/textmodes/paragraphs.el
@@ -477,8 +477,7 @@ forward-sentence
 	    (skip-chars-backward " \t\n")
 	  (goto-char par-end)))
       (setq arg (1- arg)))
-    (let ((npoint (constrain-to-field nil opoint t)))
-      (not (= npoint opoint)))))
+    (constrain-to-field nil opoint t)))
 
 (defun count-sentences (start end)
   "Count sentences in current buffer from START to END."
@@ -488,8 +487,13 @@ count-sentences
       (save-restriction
         (narrow-to-region start end)
         (goto-char (point-min))
-	(while (ignore-errors (forward-sentence))
-	  (setq sentences (1+ sentences)))
+        (let* ((prev (point))
+               (next (forward-sentence)))
+          (while (and (not (null next))
+                      (not (= prev next)))
+            (setq prev next
+                  next (ignore-errors (forward-sentence))
+                  sentences (1+ sentences))))
         ;; Remove last possibly empty sentence
         (when (/= (skip-chars-backward " \t\n") 0)
           (setq sentences (1- sentences)))
-- 
2.39.1