diff -up lisp/button.el.\~1\~ lisp/button.el --- lisp/button.el.~1~ 2011-01-31 12:33:51.000000000 +0900 +++ lisp/button.el 2011-02-21 17:17:40.408941730 +0900 @@ -463,6 +463,8 @@ Returns the button found." (if (null button) (error (if wrap "No buttons!" "No more buttons")) (let ((msg (and display-message (button-get button 'help-echo)))) + (when (functionp msg) + (setq msg (funcall msg button))) (when msg (message "%s" msg))) button)))