diff options
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 437c5da3340..be117d1184f 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -2689,11 +2689,13 @@ If FORM is a lambda or a macro, byte-compile it as a function." (byte-compile-out 'byte-unbind 1)) (defun byte-compile-track-mouse (form) - (let ((byte-compile-bound-variables byte-compile-bound-variables)) - (byte-compile-push-constant t) - (byte-compile-variable-ref 'byte-varbind 'track-mouse) - (byte-compile-body-do-effect (cdr form)) - (byte-compile-out 'byte-unbind 1))) + (byte-compile-form + (list + 'funcall + (list 'quote + (list 'lambda nil + (cons 'track-mouse + (byte-compile-top-level-body (cdr form)))))))) (defun byte-compile-condition-case (form) (let* ((var (nth 1 form)) |