fset macro
authorRobin Templeton <robin@terpri.org>
Tue, 5 Aug 2014 03:13:20 +0000 (23:13 -0400)
committerRobin Templeton <robin@terpri.org>
Tue, 21 Apr 2015 23:36:30 +0000 (19:36 -0400)
module/language/elisp/boot.el

index 0d16905..4e8347f 100644 (file)
                 (function (lambda (&rest args)
                             (apply (autoload-do-load definition symbol nil) args)))
                 definition)))
+            ((and (symbolp definition)
+                  (let ((fn (symbol-function definition)))
+                    (and (consp fn)
+                         (or (eq (car fn) 'macro)
+                             (and (eq (car fn) 'autoload)
+                                  (or (eq (nth 4 fn) 'macro)
+                                      (eq (nth 4 fn) t)))))))
+             (cons 'macro
+                   (funcall
+                    (@ (language elisp falias) make-falias)
+                    (function (lambda (&rest args) `(,definition ,@args)))
+                    definition)))
             (t
              (funcall (@ (language elisp falias) make-falias)
                       (function (lambda (&rest args) (apply definition args)))