~ruther/guix-local

650f1615de325f332dbf3d993acc8a16648d795e — Ludovic Courtès 10 years ago 67c920f
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.
1 files changed, 9 insertions(+), 2 deletions(-)

M guix/scripts/edit.scm
M guix/scripts/edit.scm => guix/scripts/edit.scm +9 -2
@@ 79,5 79,12 @@ line."
                    (leave (_ "source location of package '~a' is unknown~%")
                           (package-full-name package))))
                packages)
      (apply execlp (%editor) (%editor)
             (append-map package->location-specification packages)))))

      (catch 'system-error
        (lambda ()
          (apply execlp (%editor) (%editor)
                 (append-map package->location-specification packages)))
        (lambda args
          (let ((errno (system-error-errno args)))
            (leave (_ "failed to launch '~a': ~a~%")
                   (%editor) (strerror errno))))))))