From ff9cb66fee88a090869a2fb452ad49d858fe3b0c Mon Sep 17 00:00:00 2001 From: "Thomas Bushnell, BSG" Date: Mon, 16 Jan 2006 11:20:16 -0800 Subject: Import Debian changes 3a2-5 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. --- debian/changelog | 10 ++++++++++ debian/control | 2 +- 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 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 diff --git a/guile.init b/guile.init index c1a74f8..9fd36d9 100644 --- a/guile.init +++ b/guile.init @@ -370,8 +370,26 @@ ;;; (let ((load-file (guile:wrap-case-insensitive load))) ;;; (lambda () ;;; (load-file (string-append (scheme-file-suffix)))))) -(define (slib:load ) - (load (string-append (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) -- cgit v1.2.3