diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-04-29 15:41:48 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-04-29 15:41:48 +0200 |
commit | 2c11e7be745a790320a42a357635997310d731d0 (patch) | |
tree | 226aafaccf6f77758ab6e0e174ff8f08318a1772 /guix/ui.scm | |
parent | e12210dc92098d8581cea3007d57dbb6be16bb41 (diff) | |
parent | 041d62f7cc244d7f6c0bd6d60cdf08e72d400313 (diff) |
Merge remote-tracking branch 'origin/master' into wip-ungrafting
Diffstat (limited to 'guix/ui.scm')
-rw-r--r-- | guix/ui.scm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index 7fbd4c63a2..334dce2c68 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -376,12 +376,14 @@ ARGS is the list of arguments received by the 'throw' handler." (('system-error . rest) (let ((err (system-error-errno args))) (report-error (G_ "failed to load '~a': ~a~%") file (strerror err)))) - (('read-error "scm_i_lreadparen" message _ ...) + (('read-error _ message args ...) ;; Guile's missing-paren messages are obscure so we make them more ;; intelligible here. - (if (string-suffix? "end of file" message) - (let ((location (string-drop-right message - (string-length "end of file")))) + (if (or (string-suffix? "end of file" message) ;Guile < 3.0.6 + (and (string-contains message "unexpected end of input") + (member '(#\)) args))) + (let ((location (string-take message + (+ 2 (string-contains message ": "))))) (format (current-error-port) (G_ "~amissing closing parenthesis~%") location)) (apply throw args))) |