I'm not sure, but I thought the "jump to a function within a buffer" was called fume-mode. If so, searching for an analog for fume-mode might help you zero in on what you are looking for.
Here is an excerpt from the XEmacs
manual that mentions fume-mode:
"41. Jump to a Function Within a Buffer.
Suppose you have a file with a lot of functions in it. Well, this
package makes it easy to jump to any of those functions. The names of
the functions in the current buffer are automatically put into a
menubar menu, you select one of the function-names and the point is
moved to that very function. The mark is pushed on the mark-ring, so
you can easily go back to where you were. Alternatively, you can use
enter the name of the desired function via the minibuffer which offers
completing read input. In addition, the name of the function before
point is optionally displayed in the modeline.
The following modes are supported:
Ada, Assembly, BibTex, C++, C, Dired, Ehdm, ELisp, FORTRAN, Ksh,
Latex, Lelisp, Makefile, Maple, Modula2, Modula3, Outline,
Objective-C, Pascal, Perl, Postscript, Prolog, PVS, Python, SGML,
Scheme, Tcl, Verilog, Manual, Ruby, JavaScript
To install this package, add the following to your initialization file:
(add-hook 'find-file-hooks 'fume-setup-buffer)
(add-hook 'Manual-mode-hook 'turn-on-fume-mode)"
which-function-mode
. – Alchemy