diff options
| -rw-r--r-- | debian/changelog | 10 | ||||
| -rw-r--r-- | debian/control | 2 | ||||
| -rw-r--r-- | guile.init | 22 | 
3 files changed, 31 insertions, 3 deletions
| diff --git a/debian/changelog b/debian/changelog index e08dd62..10d362e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +slib (3a2-5) unstable; urgency=low + +  * guile.init (slib:load): Use the version that used to be in guile, +    which searches paths (not relevant to the present bug) and makes sure +    that loaded files land in the slib module (the cause of the present +    bug). +  * debian/control (slib): No longer conflict with gnucash of any version. + + -- Thomas Bushnell, BSG <tb@debian.org>  Mon, 16 Jan 2006 11:20:16 -0800 +  slib (3a2-4) unstable; urgency=high    * Unfortunately, slib-3a2 has an undiagnosed interoperability problem diff --git a/debian/control b/debian/control index 1ba8ee3..ad8e191 100644 --- a/debian/control +++ b/debian/control @@ -9,7 +9,7 @@ Package: slib  Section: devel  Priority: optional  Architecture: all -Conflicts: libguile9 (<= 1:1.4-26), guile-1.6-libs (<= 1.6.7-1.1), gnucash (<= 1.8.12-3) +Conflicts: libguile9 (<= 1:1.4-26), guile-1.6-libs (<= 1.6.7-1.1)  Description: Portable Scheme library   SLIB is a portable scheme library meant to provide compatibility and   utility functions for all standard scheme implementations.  SLIB @@ -370,8 +370,26 @@  ;;;   (let ((load-file (guile:wrap-case-insensitive load)))  ;;;     (lambda (<pathname>)  ;;;       (load-file (string-append <pathname> (scheme-file-suffix)))))) -(define (slib:load <pathname>) -  (load (string-append <pathname> (scheme-file-suffix)))) +;; Two changes from the normal slib thing here: +;;  1. Load from the path +;;  2. Importantly: guarantee that loaded files land in the slib module. +(define (slib:load name) +  (save-module-excursion +   (lambda () +     (set-current-module slib-module) +     (let ((errinfo (catch 'system-error +			   (lambda () +			     (load-from-path name) +			     #f) +			   (lambda args args)))) +       (if (and errinfo +		(catch 'system-error +		       (lambda () +			 (load-from-path +			  (string-append name ".scm")) +			 #f) +		       (lambda args args))) +	   (apply throw errinfo))))))  (define slib:load-source slib:load) | 
