diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-01-17 17:11:34 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-01-17 17:11:34 +0100 |
commit | abbb98714b455f36373c17f00c82db9d1c41d5db (patch) | |
tree | e01717e3611c81d02335f97b82901db37cc0d893 | |
parent | b2504b1205aa77bcc4c1d0b2c4b402c07982cd7a (diff) | |
download | gnu-guix-abbb98714b455f36373c17f00c82db9d1c41d5db.tar gnu-guix-abbb98714b455f36373c17f00c82db9d1c41d5db.tar.gz |
ui: Ignore 'raise-exception' frames when reporting exceptions.
* guix/ui.scm (last-frame-with-source): Check whether FRAME corresponds
to 'raise-exception' and skip it if it does.
-rw-r--r-- | guix/ui.scm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index 01aeee49eb..4857a88827 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -175,7 +175,11 @@ information, or #f if it could not be found." (previous frame)) (if (not frame) previous - (if (frame-source frame) + + ;; On Guile 3, the latest frame with source may be that of + ;; 'raise-exception' in boot-9.scm. Skip it. + (if (and (frame-source frame) + (not (eq? 'raise-exception (frame-procedure-name frame)))) frame (loop (frame-previous frame) frame))))) |