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

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!
This commit is contained in:
Robin Templeton 2014-07-18 17:42:59 -04:00 committed by Christine Lemmer-Webber
parent 08380a632b
commit 8a4905f2cb
No known key found for this signature in database
GPG key ID: 4BC025925FF8F4D3
3 changed files with 7 additions and 44 deletions

View file

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