summaryrefslogtreecommitdiff
path: root/lisp/textmodes/paragraphs.el
diff options
context:
space:
mode:
authorManuel Giraud <manuel@ledu-giraud.fr>2023-03-07 20:03:53 +0100
committerEli Zaretskii <eliz@gnu.org>2023-03-07 21:31:15 +0200
commited3bab3cc728f19f8691024a3b77e178cf1945e6 (patch)
tree7f44511146bb44d5f2801d6c96028c2e839deedf /lisp/textmodes/paragraphs.el
parentbfe62b104133d321df8c266c86a78d612a9a9534 (diff)
downloademacs-ed3bab3cc728f19f8691024a3b77e178cf1945e6.tar.gz
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.
Diffstat (limited to 'lisp/textmodes/paragraphs.el')
-rw-r--r--lisp/textmodes/paragraphs.el12
1 files 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 @@ 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)))