edit: Improve error reporting when $EDITOR is not found.

Reported by Benno Evers <benno@bmevers.de>
at <https://lists.gnu.org/archive/html/guix-devel/2015-11/msg00125.html>.

* guix/scripts/edit.scm (guix-edit): Wrap 'execl' call in 'catch'.
  Provide more meaningful error message.
This commit is contained in:
Ludovic Courtès 2015-11-05 12:04:26 +01:00
parent 67c920fa5d
commit 650f1615de
1 changed files with 9 additions and 2 deletions

View File

@ -79,5 +79,12 @@ line."
(leave (_ "source location of package '~a' is unknown~%") (leave (_ "source location of package '~a' is unknown~%")
(package-full-name package)))) (package-full-name package))))
packages) packages)
(catch 'system-error
(lambda ()
(apply execlp (%editor) (%editor) (apply execlp (%editor) (%editor)
(append-map package->location-specification packages))))) (append-map package->location-specification packages)))
(lambda args
(let ((errno (system-error-errno args)))
(leave (_ "failed to launch '~a': ~a~%")
(%editor) (strerror errno))))))))