guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 22/36: fset macro


From: Christopher Allan Webber
Subject: [Guile-commits] 22/36: fset macro
Date: Tue, 19 Oct 2021 18:11:28 -0400 (EDT)

cwebber pushed a commit to branch wip-elisp-rebased
in repository guile.

commit e07e9a09626289bea4e718a21608fc89d412ff64
Author: Robin Templeton <robin@terpri.org>
AuthorDate: Mon Aug 4 23:13:20 2014 -0400

    fset macro
    
    (Best-ability ChangeLog annotation added by Christine Lemmer-Webber.)
    
    * module/language/elisp/boot.el (fset): Update to handle macros.
---
 module/language/elisp/boot.el | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/module/language/elisp/boot.el b/module/language/elisp/boot.el
index 0d16905..4e8347f 100644
--- a/module/language/elisp/boot.el
+++ b/module/language/elisp/boot.el
@@ -295,6 +295,18 @@
                 (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)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]