;;; jump.el -- jump to source of what ever is at point ;; $Revision: 713 $ ;; $Date: 2005-11-19 17:14:14 +0000 (Sat, 19 Nov 2005) $ ;; This file is not part of Emacs ;; Author: Phillip Lord ;; Maintainer: Phillip Lord ;; Maintainer (XEmacs): Martin Kuehl (martin.kuehl@gmail.com) ;; Website: http://www.russet.org.uk ;; COPYRIGHT NOTICE ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Code: (require 'thingatpt) (defun jump() (interactive) (let* ((sexp (symbol-at-point)) (fun (fboundp sexp)) (var (boundp sexp))) (cond ((and fun var) (progn (message "There is also a variable \"%s\"" sexp) (find-function sexp))) (fun (find-function sexp)) ((and var sexp) (find-variable sexp)) ((not sexp) (message "Nothing at point")) (t (message "There is no function or variable called \"%s\"" sexp))))) (define-key emacs-lisp-mode-map "\C-c\C-j" 'jump)