Comment 4 for bug 308348

Revision history for this message
Derick Eddington (derick-eddington) wrote : Re: [Bug 308348] [NEW] Strange problem with "aliasing" libraries

I don't think it has to do with your aliased libraries, because the same
problem happens when the (xitomatl srfi ---) are used directly:

[d@eep:~/bug-p]-> echo $IKARUS_LIBRARY_PATH
/home/d/bug-p
[d@eep:~/bug-p]-> ikarus
Ikarus Scheme version 0.0.3+ (revision 1719, build 2008-12-15)
Copyright (c) 2006-2008 Abdulaziz Ghuloum

> (import (spells define-values) (xitomatl srfi char-set) (xitomatl srfi strings))
Unhandled exception
 Condition components:
   1. &who: let-string-start+end
   2. &message: "unbound identifier"
   3. &undefined
   4. &trace: #<syntax let-string-start+end>
>

It is strange because both let-string-start+end and check-substring-spec
are from (xitomatl srfi strings), but if I comment-out one of the other
imports, it works:

[d@eep:~/bug-p]-> ikarus
Ikarus Scheme version 0.0.3+ (revision 1719, build 2008-12-15)
Copyright (c) 2006-2008 Abdulaziz Ghuloum

> (import #;(spells define-values) (xitomatl srfi char-set) (xitomatl srfi strings))
> (string-join '("a" "b" "c") ":")
"a:b:c"
>
[d@eep:~/bug-p]-> ikarus
Ikarus Scheme version 0.0.3+ (revision 1719, build 2008-12-15)
Copyright (c) 2006-2008 Abdulaziz Ghuloum

> (import (spells define-values) #;(xitomatl srfi char-set) (xitomatl srfi strings))
> (string-join '("a" "b" "c") ":")
"a:b:c"
>
[d@eep:~/bug-p]->

Seems it has something to do with the datum comment in the export clause
of xitomatl/srfi/strings.sls, because deleting it makes the problem go
away:

[d@eep:~/bug-p]-> ikarus
Ikarus Scheme version 0.0.3+ (revision 1719, build 2008-12-15)
Copyright (c) 2006-2008 Abdulaziz Ghuloum

> (import (spells define-values) (xitomatl srfi char-set) (xitomatl srfi strings))
Unhandled exception
 Condition components:
   1. &who: let-string-start+end
   2. &message: "unbound identifier"
   3. &undefined
   4. &trace: #<syntax let-string-start+end>
>
[d@eep:~/bug-p]-> cp xitomatl/srfi/strings.sls xitomatl/srfi/strings.sls--prev
[... edited file ...]
[d@eep:~/bug-p]-> diff -u xitomatl/srfi/strings.sls--prev xitomatl/srfi/strings.sls
--- xitomatl/srfi/strings.sls--prev 2008-12-15 19:52:46.000000000 -0800
+++ xitomatl/srfi/strings.sls 2008-12-15 19:52:57.000000000 -0800
@@ -64,13 +64,6 @@
     ; R5RS re-exports:
     string? make-string string-length string-ref string-set!
     string string-append list->string
- ; Low-level routines:
- #;(make-kmp-restart-vector string-kmp-partial-search kmp-step
- string-parse-start+end
- string-parse-final-start+end
- let-string-start+end
- check-substring-spec
- substring-spec-ok?)
     )
   (import
     (except (rnrs) error string-copy string-for-each string->list
[d@eep:~/bug-p]-> ikarus
Ikarus Scheme version 0.0.3+ (revision 1719, build 2008-12-15)
Copyright (c) 2006-2008 Abdulaziz Ghuloum

> (import (spells define-values) (xitomatl srfi char-set) (xitomatl srfi strings))
> (string-join '("a" "b" "c") ":")
"a:b:c"
> (string->char-set "abc")
#[:char-set ...]
> (define-values (x y) (values 1 2))
> (list x y)
(1 2)
>