]> git.eshelyaron.com Git - emacs.git/commitdiff
(byte-compile-track-mouse): Handle >1 body form.
authorRichard M. Stallman <rms@gnu.org>
Sat, 5 Mar 1994 23:27:51 +0000 (23:27 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 5 Mar 1994 23:27:51 +0000 (23:27 +0000)
Generate code that binds track-mouse.

lisp/emacs-lisp/bytecomp.el

index 146fb204b02f810d2aa63a9ffd5da24fd221f94e..437c5da3340670a473577b7c5ba2a4b10c21fe97 100644 (file)
@@ -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))