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:
> (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) >
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)) start+end start+end>
Unhandled exception
Condition components:
1. &who: let-string-
2. &message: "unbound identifier"
3. &undefined
4. &trace: #<syntax let-string-
>
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 srfi/strings. sls, because deleting it makes the problem go
of xitomatl/
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)) start+end start+end> srfi/strings. sls xitomatl/ srfi/strings. sls--prev srfi/strings. sls--prev xitomatl/ srfi/strings. sls srfi/strings. sls--prev 2008-12-15 19:52:46.000000000 -0800 srfi/strings. sls 2008-12-15 19:52:57.000000000 -0800 kmp-restart- vector string- kmp-partial- search kmp-step parse-start+ end parse-final- start+end start+end -spec
Unhandled exception
Condition components:
1. &who: let-string-
2. &message: "unbound identifier"
3. &undefined
4. &trace: #<syntax let-string-
>
[d@eep:~/bug-p]-> cp xitomatl/
[... edited file ...]
[d@eep:~/bug-p]-> diff -u xitomatl/
--- xitomatl/
+++ xitomatl/
@@ -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-
- string-
- string-
- let-string-
- check-substring
- 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)
>