mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 01:30:27 +02:00
all of guile compiles now, expanded with syncase
* libguile/eval.c (scm_m_eval_when): Whoops, eval-when has an implicit begin. Fix. * module/oop/goops.scm: Syncase doesn't like definitions in expression context, and grudgingly I have decided to go along with that. But that doesn't mean we can't keep the old semantics, via accessing the module system directly. So do so. I took the opportunity to rewrite some macros with syntax-rules and syntax-case -- the former is nicer than the latter, of course. * module/oop/goops/save.scm: Don't define within an expression. * module/oop/goops/simple.scm (define-class): Use define-syntax. * module/oop/goops/stklos.scm (define-class): Use define-syntax.
This commit is contained in:
parent
2ce560b944
commit
b3501b8043
5 changed files with 138 additions and 129 deletions
|
@ -23,6 +23,9 @@
|
|||
:export (define-class)
|
||||
:no-backtrace)
|
||||
|
||||
(define define-class define-class-with-accessors-keywords)
|
||||
(define-syntax define-class
|
||||
(syntax-rules ()
|
||||
((_ arg ...)
|
||||
(define-class-with-accessors-keywords arg ...))))
|
||||
|
||||
(module-use! %module-public-interface (resolve-interface '(oop goops)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue