1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 04:10:18 +02:00

guild: Gracefully handle failures to install the locale.

* meta/guild.in (main): Catch `system-error' when calling `setlocale',
  and gracefully handle any error.
This commit is contained in:
Ludovic Courtès 2013-02-01 18:19:27 +01:00
parent 8364ae3fac
commit e2c6bf3866

View file

@ -8,7 +8,7 @@ exec ${GUILE:-@bindir@/@guile_program_name@} $GUILE_FLAGS -e '(@@ (guild) main)'
;;;; guild --- running scripts bundled with Guile ;;;; guild --- running scripts bundled with Guile
;;;; Andy Wingo <wingo@pobox.com> --- April 2009 ;;;; Andy Wingo <wingo@pobox.com> --- April 2009
;;;; ;;;;
;;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. ;;;; Copyright (C) 2009, 2010, 2011, 2013 Free Software Foundation, Inc.
;;;; ;;;;
;;;; This library is free software; you can redistribute it and/or ;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public ;;;; modify it under the terms of the GNU Lesser General Public
@ -51,7 +51,13 @@ exec ${GUILE:-@bindir@/@guile_program_name@} $GUILE_FLAGS -e '(@@ (guild) main)'
(define (main args) (define (main args)
(if (defined? 'setlocale) (if (defined? 'setlocale)
(setlocale LC_ALL "")) (catch 'system-error
(lambda ()
(setlocale LC_ALL ""))
(lambda args
(format (current-error-port)
"warning: failed to install locale: ~a~%"
(strerror (system-error-errno args))))))
(let* ((options (getopt-long args *option-grammar* (let* ((options (getopt-long args *option-grammar*
#:stop-at-first-non-option #t)) #:stop-at-first-non-option #t))