summaryrefslogtreecommitdiff
path: root/lisp/textmodes
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-08-07 09:57:32 +0000
committerGerd Moellmann <gerd@gnu.org>2001-08-07 09:57:32 +0000
commitea2c64784db6194140a1738bf4051a59f770ccbe (patch)
tree22e0d1c54e8730b7a3d22ae392d3596d384364b8 /lisp/textmodes
parent6c233cc08319a7a6d7bea4f0e3bc31077a25b394 (diff)
downloademacs-ea2c64784db6194140a1738bf4051a59f770ccbe.tar.gz
(forward-sentence): Avoid building
a regexp from sentence-end. From Kenichi Handa <handa@etl.go.jp>.
Diffstat (limited to 'lisp/textmodes')
-rw-r--r--lisp/textmodes/paragraphs.el10
1 files changed, 6 insertions, 4 deletions
diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el
index 172c2cdf35c..792b3b0cd09 100644
--- a/lisp/textmodes/paragraphs.el
+++ b/lisp/textmodes/paragraphs.el
@@ -369,10 +369,12 @@ sentences. Also, every paragraph boundary terminates sentences as well."
(or arg (setq arg 1))
(let ((opoint (point)))
(while (< arg 0)
- (let ((par-beg (save-excursion (start-of-paragraph-text) (point))))
- (if (re-search-backward (concat "\\(" sentence-end "\\)[^ \t\n]")
- par-beg t)
- (goto-char (1- (match-end 0)))
+ (let ((pos (point))
+ (par-beg (save-excursion (start-of-paragraph-text) (point))))
+ (if (and (re-search-backward sentence-end par-beg t)
+ (or (< (match-end 0) pos)
+ (re-search-backward sentence-end par-beg t)))
+ (goto-char (match-end 0))
(goto-char par-beg)))
(setq arg (1+ arg)))
(while (> arg 0)