mes: boot-6: Do not redefine exit as quit.

* mes/module/mes/boot-6.mes (exit): Remove redefinition.
This commit is contained in:
Jan (janneke) Nieuwenhuizen 2020-12-30 11:51:19 +01:00
parent 0a8c2e9d63
commit 8c6837c795
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
1 changed files with 33 additions and 25 deletions

View File

@ -205,13 +205,14 @@
;; triggers for code evaluated at the top-level, for example from the ;; triggers for code evaluated at the top-level, for example from the
;; REPL or when loading a file. ;; REPL or when loading a file.
(define-macro (eval-case exp env) (define-macro (eval-case . exp)
(let ((env #t)) ; XXX TODO: get current-env from eval-apply
`(begin `(begin
(define (toplevel-env? env) (define (toplevel-env? env)
(or (not (pair? env)) (not (pair? (car env))))) (or (not (pair? env)) (not (pair? (car env)))))
(define (syntax) (define (syntax)
(error "syntax error in eval-case")) (error "syntax error in eval-case"))
(let loop ((clauses (cdr ',exp))) (let loop ((clauses ',exp))
(cond (cond
((null? clauses) ((null? clauses)
#f) #f)
@ -227,7 +228,7 @@
(memq 'load-toplevel (caar clauses))) (memq 'load-toplevel (caar clauses)))
(cons 'begin (cdar clauses))) (cons 'begin (cdar clauses)))
(else (else
(loop (cdr clauses))))))) (loop (cdr clauses))))))))
@ -2005,10 +2006,14 @@
(force-output cep) (force-output cep)
(throw 'abort key))) (throw 'abort key)))
(define core:exit exit)
(define (quit . args) (define (quit . args)
(apply throw '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 () ;;(define has-shown-backtrace-hint? #f) Defined by scm_init_backtrace ()
@ -2282,7 +2287,7 @@
compiled-args) compiled-args)
(cddr args)))))) (cddr args))))))
;; (defmacro define-module args ;; (define-macro (define-module . args)
;; `(eval-case ;; `(eval-case
;; ((load-toplevel) ;; ((load-toplevel)
;; (let ((m (process-define-module ;; (let ((m (process-define-module
@ -2469,6 +2474,9 @@
;; (else ;; (else
;; (error "re-export can only be used at the top level")))) ;; (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 ;; (defmacro export-syntax names
;; `(export ,@names)) ;; `(export ,@names))