From: Richard M. Stallman Date: Sat, 20 Nov 2004 23:31:55 +0000 (+0000) Subject: (imenu--generic-function): X-Git-Tag: ttn-vms-21-2-B4~3805 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=58b00d475bebd1402eb44f4de4a3a0a972bd647e;p=emacs.git (imenu--generic-function): Ensure we keep moving backward even if BEG isn't further back. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7d239a9269e..d00baddbf56 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,25 @@ 2004-11-20 Richard M. Stallman + * 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. diff --git a/lisp/imenu.el b/lisp/imenu.el index 16116025fb8..d20dc4bccb8 100644 --- a/lisp/imenu.el +++ b/lisp/imenu.el @@ -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.