diff options
author | Richard M. Stallman <rms@gnu.org> | 1994-03-05 23:27:51 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1994-03-05 23:27:51 +0000 |
commit | b3bbaa663d44593afd9fc96d128e1b48613b8eb4 (patch) | |
tree | 6d29a0c62e71e4dfa9adad41198e892b211dc261 /lisp/emacs-lisp/bytecomp.el | |
parent | 846d69ac6356a3e1c9fecc465191f646def32377 (diff) | |
download | emacs-b3bbaa663d44593afd9fc96d128e1b48613b8eb4.tar.gz emacs-b3bbaa663d44593afd9fc96d128e1b48613b8eb4.tar.bz2 emacs-b3bbaa663d44593afd9fc96d128e1b48613b8eb4.zip |
(byte-compile-track-mouse): Handle >1 body form.
Generate code that binds track-mouse.
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 146fb204b02..437c5da3340 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -2689,13 +2689,11 @@ 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) - (byte-compile-form - (list - 'funcall - (list 'quote - (list 'lambda nil - (list 'track-mouse - (byte-compile-top-level (nth 1 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))) (defun byte-compile-condition-case (form) (let* ((var (nth 1 form)) |