diff options
author | Robin Templeton <robin@terpri.org> | 2014-08-04 23:13:20 -0400 |
---|---|---|
committer | Christine Lemmer-Webber <cwebber@dustycloud.org> | 2021-10-19 18:10:05 -0400 |
commit | e07e9a09626289bea4e718a21608fc89d412ff64 (patch) | |
tree | bce3cb98b508133e9c5d65a66b8a7c79806b3593 | |
parent | dcb55d3895fe6bdaf800f8ee2d5010515ace4540 (diff) | |
download | guile-e07e9a09626289bea4e718a21608fc89d412ff64.tar.gz |
fset macro
(Best-ability ChangeLog annotation added by Christine Lemmer-Webber.)
* module/language/elisp/boot.el (fset): Update to handle macros.
-rw-r--r-- | module/language/elisp/boot.el | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/module/language/elisp/boot.el b/module/language/elisp/boot.el index 0d1690527..4e8347f2f 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))) |