diff --git a/scheme/ikarus.boot.4.prebuilt b/scheme/ikarus.boot.4.prebuilt index c035dbb..b5f2fe8 100644 Binary files a/scheme/ikarus.boot.4.prebuilt and b/scheme/ikarus.boot.4.prebuilt differ diff --git a/scheme/ikarus.boot.8.prebuilt b/scheme/ikarus.boot.8.prebuilt index 53ee6bf..ca74071 100644 Binary files a/scheme/ikarus.boot.8.prebuilt and b/scheme/ikarus.boot.8.prebuilt differ diff --git a/scheme/ikarus.command-line.ss b/scheme/ikarus.command-line.ss index 4ffb631..7a64ad6 100644 --- a/scheme/ikarus.command-line.ss +++ b/scheme/ikarus.command-line.ss @@ -22,10 +22,16 @@ (define (command-line) (command-line-arguments)) (define command-line-arguments - (make-parameter ($arg-list) + (make-parameter + (map (lambda (x) + (cond + [(string? x) x] + [(bytevector? x) (utf8->string x)] + [else (die 'command-line "invalid" x)])) + ($arg-list)) (lambda (x) (if (and (list? x) (andmap string? x)) x (die 'command-list - "invalid command-line-arguments ~s\n" x)))))) + "invalid command-line-arguments" x)))))) diff --git a/scheme/last-revision b/scheme/last-revision index 6ad20cc..f137a56 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1581 +1582 diff --git a/scheme/makefile.ss b/scheme/makefile.ss index ec8054a..40b4b8d 100755 --- a/scheme/makefile.ss +++ b/scheme/makefile.ss @@ -74,7 +74,6 @@ "ikarus.numerics.ss" "ikarus.conditions.ss" "ikarus.guardians.ss" - "ikarus.command-line.ss" "ikarus.codecs.ss" "ikarus.bytevectors.ss" "ikarus.posix.ss" @@ -104,6 +103,7 @@ "ikarus.sort.ss" "ikarus.promises.ss" "ikarus.enumerations.ss" + "ikarus.command-line.ss" "ikarus.not-yet-implemented.ss" "ikarus.main.ss" )) diff --git a/src/ikarus-main.c b/src/ikarus-main.c index 5d207a3..3864f81 100644 --- a/src/ikarus-main.c +++ b/src/ikarus-main.c @@ -70,17 +70,12 @@ int ikarus_main(int argc, char** argv, char* boot_file){ while(i > 0){ char* s = argv[i]; int n = strlen(s); - ikptr str = ik_unsafe_alloc(pcb, align(n*string_char_size+disp_string_data+1)) - + string_tag; - ref(str, off_string_length) = fix(n); - { - int i; - for(i=0; i