]> git.eshelyaron.com Git - emacs.git/commitdiff
fix function top_level_run generation
authorAndrea Corallo <akrl@sdf.org>
Mon, 4 Nov 2019 21:13:20 +0000 (22:13 +0100)
committerAndrea Corallo <akrl@sdf.org>
Wed, 1 Jan 2020 10:38:01 +0000 (11:38 +0100)
lisp/emacs-lisp/comp.el

index 381d72e3dc388c81126ecb7dc84f9e3592a6aa66..b5e9dfb3841664bd408f6e10f994b068e2f160c3 100644 (file)
@@ -1047,14 +1047,10 @@ the annotation emission."
                           (make-comp-mvar :constant doc)))))
 
 (cl-defmethod comp-emit-for-top-level ((form byte-to-native-top-level))
-  (let* ((form (byte-to-native-top-level-form form))
-         (func-name (car form))
-         (args (cdr form)))
-    (if (eq 'unevalled (cdr (subr-arity (symbol-function func-name))))
-        (comp-emit (comp-call func-name (make-comp-mvar :constant args)))
-      (comp-emit (apply #'comp-call func-name
-                        (mapcar (lambda (x) (make-comp-mvar :constant x))
-                                args))))))
+  (let ((form (byte-to-native-top-level-form form)))
+    (comp-emit (comp-call 'eval
+                          (make-comp-mvar :constant form)
+                          (make-comp-mvar :constant t)))))
 
 (defun comp-limplify-top-level ()
   "Create a limple function doing the business for top level forms.