mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-03 11:33:37 +00:00
(Info-dir-remove-duplicates): Narrow buffer when
removing duplicate entries under same heading. Don't skip char matching anything but a space or tab at bol. (Bug#864)
This commit is contained in:
parent
c7dfa6a3f1
commit
3bfd723a38
@ -1,3 +1,9 @@
|
||||
2008-09-04 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
* info.el (Info-dir-remove-duplicates): Narrow buffer when
|
||||
removing duplicate entries under same heading. Don't skip char
|
||||
matching anything but a space or tab at bol. (Bug#864)
|
||||
|
||||
2008-09-03 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
* progmodes/cc-defs.el (c-version): Increment to 5.31.6
|
||||
|
31
lisp/info.el
31
lisp/info.el
@ -1213,19 +1213,20 @@ a case-insensitive match is tried."
|
||||
(delete-region (1- (point)) (point))))
|
||||
|
||||
;; Now remove duplicate entries under the same heading.
|
||||
(let ((seen nil)
|
||||
(limit (point-marker)))
|
||||
(goto-char start)
|
||||
(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)
|
||||
(delete-region (match-beginning 0)
|
||||
(progn (re-search-forward "^[^ \t]" nil t)
|
||||
(match-beginning 0)))
|
||||
(push x seen))))))))))
|
||||
(let (seen)
|
||||
(save-restriction
|
||||
(narrow-to-region start (point))
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward "^* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)" nil 'move)
|
||||
;; Fold case straight away; `member-ignore-case' here wasteful.
|
||||
(let ((x (downcase (match-string 1))))
|
||||
(if (member x seen)
|
||||
(delete-region
|
||||
(match-beginning 0)
|
||||
(if (re-search-forward "^[^ \t]" nil 'move)
|
||||
(goto-char (match-beginning 0))
|
||||
(point-max)))
|
||||
(push x seen)))))))))))
|
||||
|
||||
;; Note that on entry to this function the current-buffer must be the
|
||||
;; *info* buffer; not the info tags buffer.
|
||||
@ -3836,10 +3837,10 @@ the variable `Info-file-list-for-emacs'."
|
||||
((string-equal (downcase tag) "prev") Info-prev-link-keymap)
|
||||
((string-equal (downcase tag) "next") Info-next-link-keymap)
|
||||
((string-equal (downcase tag) "up" ) Info-up-link-keymap))))))
|
||||
|
||||
|
||||
(when (> Info-breadcrumbs-depth 0)
|
||||
(Info-insert-breadcrumbs))
|
||||
|
||||
|
||||
;; Treat header line.
|
||||
(when Info-use-header-line
|
||||
(goto-char (point-min))
|
||||
|
Loading…
Reference in New Issue
Block a user