summaryrefslogtreecommitdiff
path: root/lisp/info.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2006-03-11 22:35:51 +0000
committerJuri Linkov <juri@jurta.org>2006-03-11 22:35:51 +0000
commit2d19a2a4368d4d0d55f6bcb4e0680a555c3adf14 (patch)
treeb3505d6b1f65345504aa3588464be78c1040c553 /lisp/info.el
parentc93b1b4b30b107b1b54c663e5de092a1641e93b9 (diff)
downloademacs-2d19a2a4368d4d0d55f6bcb4e0680a555c3adf14.tar.gz
(Info-dir-remove-duplicates): Move point to the
beginning of the current line after deleting the entries from redundant heading. Use marker for `limit' and compare it with point before calling `re-search-forward'.
Diffstat (limited to 'lisp/info.el')
-rw-r--r--lisp/info.el11
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/info.el b/lisp/info.el
index 43ee5cabcbc..a4cae949977 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -1196,7 +1196,9 @@ a case-insensitive match is tried."
(point)
(if (re-search-forward "^[^* \n\t]" nil t)
(match-beginning 0)
- (or limit (point-max)))) entries))))
+ (or limit (point-max))))
+ entries)
+ (forward-line 0))))
;; Insert the entries just found.
(while (= (line-beginning-position 0) (1- (point)))
(backward-char))
@@ -1207,10 +1209,11 @@ a case-insensitive match is tried."
;; Now remove duplicate entries under the same heading.
(let ((seen nil)
- (limit (point)))
+ (limit (point-marker)))
(goto-char start)
- (while (re-search-forward "^* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)"
- limit 'move)
+ (while (and (> limit (point))
+ (re-search-forward "^* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)"
+ limit 'move))
;; Fold case straight away; `member-ignore-case' here wasteful.
(let ((x (downcase (match-string 1))))
(if (member x seen)