1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

fix ice-9/slib

* module/ice-9/slib.scm: Change to just load up slib.init directly.  The
  recently submitted patch to slib-discuss and guile-user should make
  this work correctly.
This commit is contained in:
Andy Wingo 2013-01-10 17:30:38 +01:00
parent 921cd222b9
commit b194b59fa1

View file

@ -1,6 +1,6 @@
;;;; slib.scm --- definitions needed to get SLIB to work with Guile ;;;; slib.scm --- definitions needed to get SLIB to work with Guile
;;;; ;;;;
;;;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. ;;;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 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
@ -16,27 +16,18 @@
;;;; License along with this library; if not, write to the Free Software ;;;; License along with this library; if not, write to the Free Software
;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
;;;; ;;;;
(define-module (ice-9 slib)
:export (slib:load slib:load-source defmacro:load
implementation-vicinity library-vicinity home-vicinity
scheme-implementation-type scheme-implementation-version
output-port-width output-port-height array-indexes
make-random-state
-1+ <? <=? =? >? >=?
require slib:error slib:exit slib:warn slib:eval
defmacro:eval logical:logand logical:logior logical:logxor
logical:lognot logical:ash logical:logcount logical:integer-length
logical:bit-extract logical:integer-expt logical:ipow-by-squaring
slib:eval-load slib:tab slib:form-feed difftime offset-time
software-type)
:no-backtrace)
;;; Look for slib.init in the $datadir, in /usr/share, and finally in
;; Initialize SLIB. ;;; the load path. It's not usually in the load path on common distros,
(load-from-path "slib/guile.init") ;;; but it could be if the user put it there. The init file takes care
;;; of defining the module.
;; SLIB redefines a few core symbols based on their default definition. (let ((try-load (lambda (dir)
;; Thus, we only replace them at this point so that their previous definition (let ((init (string-append dir "/slib/guile.init")))
;; is visible when `guile.init' is loaded. (and (file-exists? init)
(module-replace! (current-module) (begin
'(delete-file open-file provide provided? system)) (load init)
#t))))))
(or (try-load (assq-ref %guile-build-info 'datadir))
(try-load "/usr/share")
(load-from-path "slib/guile.init")))