summaryrefslogtreecommitdiff
path: root/module/language/elisp/runtime.scm
diff options
context:
space:
mode:
authorRobin Templeton <robin@terpri.org>2014-07-18 17:42:59 -0400
committerChristine Lemmer-Webber <cwebber@dustycloud.org>2021-10-19 18:10:04 -0400
commit8a4905f2cb329ac958eb1a7fcecd5b03a7cc0bbd (patch)
treef38459a003c98fa35bef25bb89056cbf8b2ee229 /module/language/elisp/runtime.scm
parent08380a632b294a43774b98508805c0ee90fd0cf3 (diff)
downloadguile-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.scm6
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)))))))