"Basil L. Contovounesios" writes: > "Basil L. Contovounesios" writes: > >> diff --git a/lisp/button.el b/lisp/button.el >> index 9112e518b0..ae2488bac6 100644 >> --- a/lisp/button.el >> +++ b/lisp/button.el >> @@ -470,13 +470,22 @@ push-button >> (button-activate button use-mouse-action) >> t)))) >> >> +(defun button--help-echo (button) >> + "Evaluate BUTTON's `help-echo' property and return its value." >> + (let ((help (button-get button 'help-echo))) >> + (if (functionp help) >> + (let ((obj (if (overlayp button) button (current-buffer)))) >> + (funcall help (selected-window) obj (button-start button))) >> + (eval help lexical-binding)))) > > Note that I intend to enable lexical-binding in button.el in a future > patch, in which case this call to eval will not need changing. Er, I was confused when I wrote this - whether button.el uses lexical-binding is irrelevant to the lexical evaluation of forms. The following is an updated patch which tests form evaluation under both dynamic and lexical scoping. I still intend to push it soon, if there are no objections.