From: Manuel Giraud Date: Tue, 7 Mar 2023 19:03:53 +0000 (+0100) Subject: Revert 'forward-sentence-default-function' to return point (bug#62027) X-Git-Tag: emacs-29.0.90~226 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ed3bab3cc72;p=emacs.git Revert 'forward-sentence-default-function' to return point (bug#62027) * lisp/textmodes/paragraphs.el (forward-sentence-default-function): Revert to return the position of point. (count-sentences): Adapt to this change. --- 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 @@ sentences. Also, every paragraph boundary terminates sentences as well." (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 @@ sentences. Also, every paragraph boundary terminates sentences as well." (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)))