1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-03 11:33:37 +00:00

* lisp/progmodes/which-func.el (which-function): Understand Semantic's use

of overlays in imenu--index-alist.
This commit is contained in:
Feng Li 2013-01-10 10:36:01 -05:00 committed by Stefan Monnier
parent 327a6ccaa0
commit e6ed8f0846
3 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2013-01-10 Feng Li <fengli@gmail.com> (tiny change)
* progmodes/which-func.el (which-function): Understand Semantic's use
of overlays in imenu--index-alist.
2013-01-10 Wolfgang Jenkner <wjenkner@inode.at>
* man.el: Handle different "man -k" behaviors (bug#13160). Use utf-8.

View File

@ -447,6 +447,8 @@ Don't move point."
Simple elements in the alist look like (INDEX-NAME . POSITION).
POSITION is the buffer position of the item; to go to the item
is simply to move point to that position.
POSITION is passed to `imenu-default-goto-function', so it can be a non-number
if that variable has been changed (e.g. Semantic uses overlays for POSITIONs).
Special elements look like (INDEX-NAME POSITION FUNCTION ARGUMENTS...).
To \"go to\" a special element means applying FUNCTION

View File

@ -319,7 +319,9 @@ If no function name is found, return nil."
namestack (cons (car pair) namestack)
alist (cdr pair)))
((number-or-marker-p (setq mark (cdr pair)))
((or (number-or-marker-p (setq mark (cdr pair)))
(and (overlayp mark)
(setq mark (overlay-start mark))))
(when (and (>= (setq offset (- (point) mark)) 0)
(< offset minoffset)) ; Find the closest item.
(setq minoffset offset