diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-02-23 17:01:24 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-02-24 23:44:10 +0100 |
commit | e2572aa95007558b008f04decff095f46d20e087 (patch) | |
tree | ad7517ccc409da38e35a91ab427044c9d808908c | |
parent | b288d0e74950c0471c19e62de6a4094a4b02c828 (diff) | |
download | guix-e2572aa95007558b008f04decff095f46d20e087.tar guix-e2572aa95007558b008f04decff095f46d20e087.tar.gz |
substitute: Do not unwind stack traces upon uncaught exceptions.
This is similar to commit a168c3e4f8d580f70e1c26bcdfc5b8378b2fa42d.
* guix/scripts/substitute.scm (with-networking): Use
'with-throw-handler' instead of 'catch'.
-rwxr-xr-x | guix/scripts/substitute.scm | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index a3a0349530..832c82e4fa 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2020 Christopher Baines <mail@cbaines.net> @@ -510,7 +510,9 @@ was found." ;; lookup errors are typically the first one, and because other errors are ;; a subset of `system-error', which is harder to filter. ((_ exp ...) - (catch #t + ;; Use a pre-unwind handler so that re-throwing preserves useful + ;; backtraces. 'with-throw-handler' works for Guile 2.2 and 3.0. + (with-throw-handler #t (lambda () exp ...) (match-lambda* (('getaddrinfo-error error) |