1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-05 03:30:24 +02:00

fset macro

(Best-ability ChangeLog annotation added by Christine Lemmer-Webber.)

* module/language/elisp/boot.el (fset): Update to handle macros.
This commit is contained in:
Robin Templeton 2014-08-04 23:13:20 -04:00 committed by Christine Lemmer-Webber
parent dcb55d3895
commit e07e9a0962
No known key found for this signature in database
GPG key ID: 4BC025925FF8F4D3

View file

@ -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)))