diff options
author | David N. Welton <davidw@efn.org> | 1998-11-09 21:18:01 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:27 -0800 |
commit | 926b1b647ac830660933a5e63eb52d4a2552e264 (patch) | |
tree | e25db5f6e1441d67f5d9af063432018ee20a5f51 /require.scm | |
parent | b21cac3362022718634f7086964208b2eed8e897 (diff) | |
parent | fa3f23105ddcf07c5900de47f19af43d1db1b597 (diff) | |
download | slib-926b1b647ac830660933a5e63eb52d4a2552e264.tar.gz slib-926b1b647ac830660933a5e63eb52d4a2552e264.zip |
Import Debian changes 2c3-3debian/2c3-3
slib (2c3-3) frozen unstable; urgency=low
* Fixes #16235.
* Fixes #19943.
* Fixes #20265.
* Fixes #24917.
* Fixes #27389.
slib (2c3-2) frozen unstable; urgency=low
* Re-uploaded for slink freeze.
slib (2c3-1) unstable; urgency=low
* New upstream release.
Diffstat (limited to 'require.scm')
-rw-r--r-- | require.scm | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/require.scm b/require.scm index 5b02ff6..ebaf49f 100644 --- a/require.scm +++ b/require.scm @@ -17,7 +17,7 @@ ;promotional, or sales literature without prior written consent in ;each case. -(define *SLIB-VERSION* "2c0") +(define *SLIB-VERSION* "2c3") ;;; Standardize msdos -> ms-dos. (define software-type @@ -41,11 +41,13 @@ ((UNIX COHERENT) '(#\/)) ((VMS) '(#\: #\]))))) (lambda () - (let loop ((i (- (string-length *load-pathname*) 1))) - (cond ((negative? i) "") - ((memv (string-ref *load-pathname* i) *vicinity-suffix*) - (substring *load-pathname* 0 (+ i 1))) - (else (loop (- i 1)))))))) + (if *load-pathname* + (let loop ((i (- (string-length *load-pathname*) 1))) + (cond ((negative? i) "") + ((memv (string-ref *load-pathname* i) *vicinity-suffix*) + (substring *load-pathname* 0 (+ i 1))) + (else (loop (- i 1))))) + (slib:error "Not loading but called" 'program-vicinity))))) (define sub-vicinity (case (software-type) @@ -156,12 +158,13 @@ (define (require:require feature) (or (require:provided? feature) - (let ((path (require:feature->path feature))) + (let ((path (catalog:get feature))) (cond ((and (not path) (string? feature) (file-exists? feature)) (set! path feature))) (cond ((not feature) (set! *catalog* #f)) ((not path) (slib:error ";required feature not supported: " feature)) + ((symbol? path) (require:require path) (require:provide feature)) ((not (pair? path)) ;simple name (slib:load path) (and (not (eq? 'new-catalog feature)) (require:provide feature))) |