[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 17:59:39 -0400 (EDT) |
cwebber pushed a commit to branch wip-elisp-rebased
in repository guile.
commit 160e8be2d07d29e4fbe2789f361f1263ab8f9c5c
Author: Robin Templeton <robin@terpri.org>
AuthorDate: Mon Aug 4 23:13:20 2014 -0400
fset macro
(Best-ability ChangeLog annotation added by Christopher Allan 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)))
- [Guile-commits] 03/36: check symbols constants uninterned, (continued)
- [Guile-commits] 03/36: check symbols constants uninterned, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 04/36: multiple obarrays, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 05/36: guile-private-ref, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 06/36: allow arbitrary constants in cps, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 08/36: elisp updates, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 10/36: symbol default value procedures, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 12/36: constant-interning fix, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 13/36: define-module for elisp special modules, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 14/36: restore special operator handling, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 18/36: defconst, defvar: proclaim special at compile-time, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 22/36: fset macro,
Christopher Allan Webber <=
- [Guile-commits] 23/36: eval-when, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 26/36: top level fixes, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 09/36: read nil/t as #nil/#t, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 11/36: defvar affects default value, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 27/36: execute top level require forms, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 16/36: compile-elisp fn, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 20/36: defsubst, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 24/36: degenerate let forms, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 17/36: elisp @@ macro, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 15/36: fix symbol-function, Christopher Allan Webber, 2021/10/19