mes: boot-6: Do not redefine exit as quit.
* mes/module/mes/boot-6.mes (exit): Remove redefinition.
This commit is contained in:
parent
1897f3a39d
commit
e816da9ec3
|
@ -205,29 +205,30 @@
|
|||
;; triggers for code evaluated at the top-level, for example from the
|
||||
;; REPL or when loading a file.
|
||||
|
||||
(define-macro (eval-case exp env)
|
||||
`(begin
|
||||
(define (toplevel-env? env)
|
||||
(or (not (pair? env)) (not (pair? (car env)))))
|
||||
(define (syntax)
|
||||
(error "syntax error in eval-case"))
|
||||
(let loop ((clauses (cdr ',exp)))
|
||||
(cond
|
||||
((null? clauses)
|
||||
#f)
|
||||
((not (list? (car clauses)))
|
||||
(syntax))
|
||||
((eq? 'else (caar clauses))
|
||||
(or (null? (cdr clauses))
|
||||
(syntax))
|
||||
(cons 'begin (cdar clauses)))
|
||||
((not (list? (caar clauses)))
|
||||
(syntax))
|
||||
((and (toplevel-env? ,env)
|
||||
(memq 'load-toplevel (caar clauses)))
|
||||
(cons 'begin (cdar clauses)))
|
||||
(else
|
||||
(loop (cdr clauses)))))))
|
||||
(define-macro (eval-case . exp)
|
||||
(let ((env #t)) ; XXX TODO: get current-env from eval-apply
|
||||
`(begin
|
||||
(define (toplevel-env? env)
|
||||
(or (not (pair? env)) (not (pair? (car env)))))
|
||||
(define (syntax)
|
||||
(error "syntax error in eval-case"))
|
||||
(let loop ((clauses ',exp))
|
||||
(cond
|
||||
((null? clauses)
|
||||
#f)
|
||||
((not (list? (car clauses)))
|
||||
(syntax))
|
||||
((eq? 'else (caar clauses))
|
||||
(or (null? (cdr clauses))
|
||||
(syntax))
|
||||
(cons 'begin (cdar clauses)))
|
||||
((not (list? (caar clauses)))
|
||||
(syntax))
|
||||
((and (toplevel-env? ,env)
|
||||
(memq 'load-toplevel (caar clauses)))
|
||||
(cons 'begin (cdar clauses)))
|
||||
(else
|
||||
(loop (cdr clauses))))))))
|
||||
|
||||
|
||||
|
||||
|
@ -2005,10 +2006,14 @@
|
|||
(force-output cep)
|
||||
(throw 'abort key)))
|
||||
|
||||
(define core:exit exit)
|
||||
(define (quit . args)
|
||||
(apply throw 'quit args))
|
||||
|
||||
(define exit quit)
|
||||
;; FIXME: how does Guile exit 0?
|
||||
;; this gives
|
||||
;; unhandled exception: error: (("option must be specified with argument:" "main"))
|
||||
;;(define exit quit)
|
||||
|
||||
;;(define has-shown-backtrace-hint? #f) Defined by scm_init_backtrace ()
|
||||
|
||||
|
@ -2282,7 +2287,7 @@
|
|||
compiled-args)
|
||||
(cddr args))))))
|
||||
|
||||
;; (defmacro define-module args
|
||||
;; (define-macro (define-module . args)
|
||||
;; `(eval-case
|
||||
;; ((load-toplevel)
|
||||
;; (let ((m (process-define-module
|
||||
|
@ -2469,6 +2474,9 @@
|
|||
;; (else
|
||||
;; (error "re-export can only be used at the top level"))))
|
||||
|
||||
(define-macro (re-export . names)
|
||||
`(module-re-export! (guile:current-module) ',names))
|
||||
|
||||
;; (defmacro export-syntax names
|
||||
;; `(export ,@names))
|
||||
|
||||
|
|
Loading…
Reference in New Issue