mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +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:
parent
921cd222b9
commit
b194b59fa1
1 changed files with 14 additions and 23 deletions
|
@ -1,6 +1,6 @@
|
|||
;;;; 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
|
||||
;;;; 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
|
||||
;;;; 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)
|
||||
|
||||
|
||||
;; Initialize SLIB.
|
||||
(load-from-path "slib/guile.init")
|
||||
;;; Look for slib.init in the $datadir, in /usr/share, and finally in
|
||||
;;; the load path. It's not usually in the load path on common distros,
|
||||
;;; 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.
|
||||
;; Thus, we only replace them at this point so that their previous definition
|
||||
;; is visible when `guile.init' is loaded.
|
||||
(module-replace! (current-module)
|
||||
'(delete-file open-file provide provided? system))
|
||||
(let ((try-load (lambda (dir)
|
||||
(let ((init (string-append dir "/slib/guile.init")))
|
||||
(and (file-exists? init)
|
||||
(begin
|
||||
(load init)
|
||||
#t))))))
|
||||
(or (try-load (assq-ref %guile-build-info 'datadir))
|
||||
(try-load "/usr/share")
|
||||
(load-from-path "slib/guile.init")))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue