[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/07: ui: 'load*' correctly reports 'read-error' in all cases.
From: |
guix-commits |
Subject: |
01/07: ui: 'load*' correctly reports 'read-error' in all cases. |
Date: |
Sun, 7 Nov 2021 17:12:59 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit 4d59596a1c5f6b20870e619cbf67068ac7dd64ff
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sun Nov 7 15:56:19 2021 +0100
ui: 'load*' correctly reports 'read-error' in all cases.
Previously, 'read-error' exceptions other than "missing closing paren"
would not be reported; instead, we'd directly call (exit 1) without
printing anything.
Fixes <https://issues.guix.gnu.org/51463>.
Reported by Alice BRENON <alice.brenon@ens-lyon.fr>.
* guix/ui.scm (report-load-error): Report the error without re-throwing
upon 'read-error'.
* tests/guix-build.sh: Add test.
---
guix/ui.scm | 3 ++-
tests/guix-build.sh | 12 +++++++++++-
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/guix/ui.scm b/guix/ui.scm
index b01bb3d..bd99910 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -377,7 +377,8 @@ ARGS is the list of arguments received by the 'throw'
handler."
(+ 2 (string-contains message ": ")))))
(format (current-error-port) (G_ "~amissing closing parenthesis~%")
location))
- (apply throw args)))
+ (report-error (G_ "read error while loading '~a': ~a~%")
+ file (apply format #f message args))))
(('syntax-error proc message properties form subform . rest)
(let ((loc (source-properties->location properties)))
(report-error loc (G_ "~s: ~a~%")
diff --git a/tests/guix-build.sh b/tests/guix-build.sh
index e20702c..46c8afc 100644
--- a/tests/guix-build.sh
+++ b/tests/guix-build.sh
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès
<ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic
Courtès <ludo@gnu.org>
# Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
# Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
#
@@ -77,6 +77,16 @@ module_dir="t-guix-build-$$"
mkdir "$module_dir"
trap "rm -rf $module_dir" EXIT
+# Check error reporting for '-f'.
+cat > "$module_dir/foo.scm" <<EOF
+(use-modules (guix))
+) ;extra closing paren
+EOF
+! guix build -f "$module_dir/foo.scm" 2> "$module_dir/stderr"
+grep "read error" "$module_dir/stderr"
+rm "$module_dir/stderr" "$module_dir/foo.scm"
+
+# Check 'GUIX_PACKAGE_PATH' & co.
cat > "$module_dir/foo.scm"<<EOF
(define-module (foo)
#:use-module (guix tests)
- branch master updated (dab2ac2 -> bd41e59), guix-commits, 2021/11/07
- 01/07: ui: 'load*' correctly reports 'read-error' in all cases.,
guix-commits <=
- 04/07: doc: Improve documentation of the Bash home service, guix-commits, 2021/11/07
- 07/07: gnu: ardour: Update to 6.9., guix-commits, 2021/11/07
- 05/07: import: egg: Allow imports of a specific version., guix-commits, 2021/11/07
- 03/07: home: services: bash: Add ‘aliases’ field., guix-commits, 2021/11/07
- 02/07: file-systems: Validate the 'flags' field., guix-commits, 2021/11/07
- 06/07: shell: Actually clean up the profile cache., guix-commits, 2021/11/07