diff options
author | Juri Linkov <juri@jurta.org> | 2006-03-11 22:35:51 +0000 |
---|---|---|
committer | Juri Linkov <juri@jurta.org> | 2006-03-11 22:35:51 +0000 |
commit | 2d19a2a4368d4d0d55f6bcb4e0680a555c3adf14 (patch) | |
tree | b3505d6b1f65345504aa3588464be78c1040c553 /lisp/info.el | |
parent | c93b1b4b30b107b1b54c663e5de092a1641e93b9 (diff) | |
download | emacs-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.el | 11 |
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) |