mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
maint: Require Guile 3.0.
* configure.ac: Require Guile 3.0. * doc/guix.texi (Requirements): Adjust accordingly. * gnu/packages/package-management.scm (guile2.2-guix): Remove. * guix/lint.scm (exception-with-kind-and-args?): Remove 'cond-expand'. * guix/scripts/deploy.scm (deploy-machine*): Likewise. * guix/store.scm (call-with-store): Likewise. * guix/swh.scm (http-get*, http-post*): Likewise. * guix/ui.scm (without-compiler-optimizations, guard*) (call-with-error-handling): Likewise.
This commit is contained in:
parent
49b15701ad
commit
82d8ab01f5
8 changed files with 32 additions and 109 deletions
46
guix/ui.scm
46
guix/ui.scm
|
@ -196,17 +196,11 @@ information, or #f if it could not be found."
|
|||
(stack-ref stack 1) ;skip the 'throw' frame
|
||||
last))))
|
||||
|
||||
(cond-expand
|
||||
(guile-3
|
||||
(define-syntax-rule (without-compiler-optimizations exp)
|
||||
;; Compile with the baseline compiler (-O1), which is much less expensive
|
||||
;; than -O2.
|
||||
(parameterize (((@ (system base compile) default-optimization-level) 1))
|
||||
exp)))
|
||||
(else
|
||||
(define-syntax-rule (without-compiler-optimizations exp)
|
||||
;; No easy way to turn off optimizations on Guile 2.2.
|
||||
exp)))
|
||||
(define-syntax-rule (without-compiler-optimizations exp)
|
||||
;; Compile with the baseline compiler (-O1), which is much less expensive
|
||||
;; than -O2.
|
||||
(parameterize (((@ (system base compile) default-optimization-level) 1))
|
||||
exp))
|
||||
|
||||
(define* (load* file user-module
|
||||
#:key (on-error 'nothing-special))
|
||||
|
@ -674,22 +668,17 @@ or variants of @code{~a} in the same profile.")
|
|||
or remove one of them from the profile.")
|
||||
name1 name2)))))
|
||||
|
||||
(cond-expand
|
||||
(guile-3
|
||||
;; On Guile 3.0, in 'call-with-error-handling' we need to re-raise. To
|
||||
;; preserve useful backtraces in case of unhandled errors, we want that to
|
||||
;; happen before the stack has been unwound, hence 'guard*'.
|
||||
(define-syntax-rule (guard* (var clauses ...) exp ...)
|
||||
"This variant of SRFI-34 'guard' does not unwind the stack before
|
||||
;; On Guile 3.0, in 'call-with-error-handling' we need to re-raise. To
|
||||
;; preserve useful backtraces in case of unhandled errors, we want that to
|
||||
;; happen before the stack has been unwound, hence 'guard*'.
|
||||
(define-syntax-rule (guard* (var clauses ...) exp ...)
|
||||
"This variant of SRFI-34 'guard' does not unwind the stack before
|
||||
evaluating the tests and bodies of CLAUSES."
|
||||
(with-exception-handler
|
||||
(lambda (var)
|
||||
(cond clauses ... (else (raise var))))
|
||||
(lambda () exp ...)
|
||||
#:unwind? #f)))
|
||||
(else
|
||||
(define-syntax-rule (guard* (var clauses ...) exp ...)
|
||||
(guard (var clauses ...) exp ...))))
|
||||
(with-exception-handler
|
||||
(lambda (var)
|
||||
(cond clauses ... (else (raise var))))
|
||||
(lambda () exp ...)
|
||||
#:unwind? #f))
|
||||
|
||||
(define (call-with-error-handling thunk)
|
||||
"Call THUNK within a user-friendly error handler."
|
||||
|
@ -822,10 +811,7 @@ directories:~{ ~a~}~%")
|
|||
;; Furthermore, use of 'guard*' ensures that the stack has not
|
||||
;; been unwound when we re-raise, since that would otherwise show
|
||||
;; useless backtraces.
|
||||
((cond-expand
|
||||
(guile-3
|
||||
((exception-predicate &exception-with-kind-and-args) c))
|
||||
(else #f))
|
||||
(((exception-predicate &exception-with-kind-and-args) c)
|
||||
(raise c))
|
||||
|
||||
((message-condition? c)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue