Try find variable at point, if fail find function in 'emacs-lisp-mode'.
--- a/.emacs-my Tue Mar 22 22:50:26 2011 +0200
+++ b/.emacs-my Wed Mar 23 20:19:28 2011 +0200
@@ -1321,8 +1321,14 @@
(setq list-command-history-max 256)
(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
+
+(defun my-elisp-find-tag ()
+ (interactive)
+ (unless (find-variable-at-point)
+ (find-function-at-point)
+ ))
;; Goto elisp definition.
-(define-key emacs-lisp-mode-map (kbd "M-.") 'find-function-at-point)
+(define-key emacs-lisp-mode-map (kbd "M-.") 'my-elisp-find-tag)
;; http://www.emacswiki.org/emacs/PrettyLambda
(font-lock-add-keywords