diff options
author | Masatake YAMATO <jet@gyve.org> | 2004-08-19 07:52:01 +0000 |
---|---|---|
committer | Masatake YAMATO <jet@gyve.org> | 2004-08-19 07:52:01 +0000 |
commit | 2b8d823f69bd0dd9f912b9a7535f41bf318f9c37 (patch) | |
tree | 95618857584443a9cbad8d4c0d2dfe7bc6083c16 /lisp/emacs-lisp | |
parent | a503f8b70c578522a64fdb4e9cbe07362e91f3fa (diff) | |
download | emacs-2b8d823f69bd0dd9f912b9a7535f41bf318f9c37.tar.gz emacs-2b8d823f69bd0dd9f912b9a7535f41bf318f9c37.tar.bz2 emacs-2b8d823f69bd0dd9f912b9a7535f41bf318f9c37.zip |
(elp-results-symname-map): New keymap.
(elp-results-jump-to-definition-by-mouse)
(elp-results-jump-to-definition, elp-output-insert-symname): New Functions.
(elp-output-result): Use elp-output-insert-symname.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/elp.el | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/elp.el b/lisp/emacs-lisp/elp.el index 44400dcaa2c..f8d41f200d2 100644 --- a/lisp/emacs-lisp/elp.el +++ b/lisp/emacs-lisp/elp.el @@ -513,7 +513,7 @@ original definition, use \\[elp-restore-function] or \\[elp-restore-all]." (numberp elp-report-limit) (< cc elp-report-limit)) nil - (insert symname) + (elp-output-insert-symname symname) (insert-char 32 (+ elp-field-len (- (length symname)) 2)) ;; print stuff out, formatting it nicely (insert callcnt) @@ -525,6 +525,32 @@ original definition, use \\[elp-restore-function] or \\[elp-restore-all]." (insert atstr)) (insert "\n")))) +(defvar elp-results-symname-map + (let ((map (make-sparse-keymap))) + (define-key map [mouse-2] 'elp-results-jump-to-definition-by-mouse) + (define-key map "\C-m" 'elp-results-jump-to-definition) + map) + "Keymap used on the function name column." ) + +(defun elp-results-jump-to-definition-by-mouse (event) + "Jump to the definition of the function under the place specified by EVENT." + (interactive "e") + (posn-set-point (event-end event)) + (elp-results-jump-to-definition)) + +(defun elp-results-jump-to-definition () + "Jump to the definition of the function under the point." + (interactive) + (find-function (get-text-property (point) 'elp-symname))) + +(defun elp-output-insert-symname (symname) + ;; Insert SYMNAME with text properties. + (insert (propertize symname + 'elp-symname (intern symname) + 'keymap elp-results-symname-map + 'mouse-face 'highlight + 'help-echo (substitute-command-keys "\\{elp-results-symname-map}")))) + ;;;###autoload (defun elp-results () "Display current profiling results. |