(imenu--generic-function):

Ensure we keep moving backward even if BEG isn't further back.
This commit is contained in:
Richard M. Stallman 2004-11-20 23:31:55 +00:00
parent 36baf3b70e
commit 58b00d475b
2 changed files with 31 additions and 3 deletions

View file

@ -1,5 +1,25 @@
2004-11-20 Richard M. Stallman <rms@gnu.org>
* imenu.el (imenu--generic-function):
Ensure we keep moving backward even if BEG isn't further back.
* replace.el (query-replace-read-to, query-replace-read-from):
Specify t for KEEP-ALL in read-from-minibuffer.
* progmodes/python.el (python-switch-to-python):
If Python isn't running, start it.
Don't alter debug-ignored-errors.
* progmodes/cperl-mode.el (cperl-indent-region):
Don't mind imenu-scanning-message.
* bindings.el (global-map): Bind C-e to move-end-of-line.
* simple.el (line-move-finish): New arg FORWARD.
Ignore invisible newlines, not intangible ones.
Conditions for acceptable stopping positions depend on FORWARD.
(line-move): Pass FORWARD arg to line-move-finish.
* buff-menu.el (list-buffers-noselect): Eliminate space at the start
of HEADER. Compensate for this change in the code to add display
properties. Don't make the first line intangible.

View file

@ -808,14 +808,18 @@ depending on PATTERNS."
(index (nth 2 pat))
(function (nth 3 pat))
(rest (nthcdr 4 pat))
start
cs)
;; Go backwards for convenience of adding items in order.
(goto-char (point-max))
(while (re-search-backward regexp nil t)
(setq start (point))
(goto-char (match-end index))
(setq beg (match-beginning index))
(if (setq cs (save-match-data (comment-beginning)))
(goto-char cs) ; skip this one, it's in a comment
(setq cs (and comment-start-skip
(save-match-data (comment-beginning))))
(if cs
(goto-char (min cs beg)) ; skip this one, it's in a comment
(goto-char beg)
(imenu-progress-message prev-pos nil t)
;; Add this sort of submenu only when we've found an
@ -837,7 +841,11 @@ depending on PATTERNS."
;; Insert the item unless it is already present.
(unless (member item (cdr menu))
(setcdr menu
(cons item (cdr menu)))))))))
(cons item (cdr menu)))))
;; Move to the start of the entire match,
;; to ensure we keep moving backwards
;; as long as the match is nonempty.
(goto-char start)))))
(set-syntax-table old-table)))
(imenu-progress-message prev-pos 100 t)
;; Sort each submenu by position.