diff options
author | Robin Templeton <robin@terpri.org> | 2014-07-18 17:42:59 -0400 |
---|---|---|
committer | Christine Lemmer-Webber <cwebber@dustycloud.org> | 2021-10-19 18:10:04 -0400 |
commit | 8a4905f2cb329ac958eb1a7fcecd5b03a7cc0bbd (patch) | |
tree | f38459a003c98fa35bef25bb89056cbf8b2ee229 /module/language/elisp/runtime.scm | |
parent | 08380a632b294a43774b98508805c0ee90fd0cf3 (diff) | |
download | guile-8a4905f2cb329ac958eb1a7fcecd5b03a7cc0bbd.tar.gz |
restore special operator handling
(Best-ability ChangeLog annotation added by Christine Lemmer-Webber.)
* module/language/elisp/boot.el
(progn, eval-when-compile, if, defconst, defvar, setq, let, flet)
(labels, let*, function, defmacro, quote): Removed.
* module/language/elisp/compile-tree-il.scm (special-operators): Removed.
(compound-pair): Use find-operator to check if a 'special-operator
rather than checking the now removed special-operators table.
* module/language/elisp/runtime.scm (defspecial): Update to use
set-symbol-function!
Diffstat (limited to 'module/language/elisp/runtime.scm')
-rw-r--r-- | module/language/elisp/runtime.scm | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/module/language/elisp/runtime.scm b/module/language/elisp/runtime.scm index dbe399e70..e4bd0ffb2 100644 --- a/module/language/elisp/runtime.scm +++ b/module/language/elisp/runtime.scm @@ -274,5 +274,7 @@ (syntax-case x () ((_ name args body ...) (with-syntax ((scheme-name (make-id #'name 'compile- #'name))) - #'(define scheme-name - (cons 'special-operator (lambda args body ...)))))))) + #'(begin + (define scheme-name + (cons 'special-operator (lambda args body ...))) + (set-symbol-function! 'name scheme-name))))))) |