primitive-load:fubar

This commit is contained in:
Jan (janneke) Nieuwenhuizen 2020-12-30 18:40:19 +01:00
parent df5ceb79d9
commit 65b90873da
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
9 changed files with 26 additions and 13 deletions

View File

@ -30,3 +30,5 @@
(define-macro (cond-expand . clauses)
(cons 'begin (cond-expand-expander clauses)))
;; end boot-00.scm
(primitive-load 0)

View File

@ -66,3 +66,5 @@
(if (null? (cdr rest)) (car rest)
(append2 (car rest) (apply append (cdr rest))))))
;; end boot-01.scm
(primitive-load 0)

View File

@ -101,3 +101,5 @@
#t)
;; end boot-02.scm
(primitive-load 0)

View File

@ -166,3 +166,5 @@
(mes-use-module (mes let))
(mes-use-module (mes scm))
;; end boot-03.scm
(primitive-load 0)

View File

@ -45,6 +45,7 @@
(if (null? (cdr lst)) (car lst)
(string-append (car lst) infix (string-join (cdr lst) infix))))
(core:display "string-join\n")
(if (string=? (string-join '("foo" "bar") "/") "foo/bar")
(exit 0))
(exit 1)

View File

@ -864,8 +864,15 @@ begin_expand:
push_cc (R1->car->cdr->car, R1, R0, cell_vm_begin_expand_primitive_load);
goto eval;
begin_expand_primitive_load:
if ((R1->type == TNUMBER) && R1->value == 0)
if ((R1->type == TNUMBER) && R1->value == 33)
0;
else if ((R1->type == TNUMBER) && R1->value == 0)
{
0; /* orig */
R1 = read_input_file_env (R0);
goto begin_expand_while;
continue; /* FIXME: M2-PLanet */
}
else if (R1->type == TSTRING)
input = set_current_input_port (open_input_file (R1));
else if (R1->type == TPORT)
@ -877,10 +884,15 @@ begin_expand:
assert_msg (0, "begin-expand-boom 0");
}
push_cc (input, R2, R0, cell_vm_primitive_load_return);
if ((R1->type == TNUMBER) && R1->value == 0)
push_cc (input, R2, R0, cell_vm_return);
else
push_cc (input, R2, R0, cell_vm_primitive_load_return);
x = read_input_file_env (R0);
if (g_debug > 5)
hash_table_printer (R0);
if ((R1->type == TNUMBER) && R1->value == 0)
gc_pop_frame ();
input = R1;
R1 = x;
set_current_input_port (input);

View File

@ -1,7 +1,7 @@
#! /bin/sh
# -*-scheme-*-
if [ "$MES" != guile ]; then
MES_BOOT=boot-03.scm exec ${MES-mes} < $0
MES_BOOT=boot-02.scm exec ${MES-bin/mes} < $0
fi
exec ${MES-mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests boot)' -s "$0" "$@"
!#

View File

@ -1,7 +1,7 @@
#! /bin/sh
# -*-scheme-*-
if [ "$MES" != guile ]; then
MES_BOOT=boot-02.scm exec ${MES-mes} < $0
MES_BOOT=boot-02.scm exec ${MES-bin/mes} < $0
fi
exec ${MES-mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests boot)' -s "$0" "$@"
!#

View File

@ -38,15 +38,7 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
;; bootstrap test
(primitive-load "module/mes/test.scm")
(primitive-load "mes/module/srfi/srfi-9-struct.mes")
(primitive-load "mes/module/srfi/srfi-9/gnu-struct.mes")
(define-macro (mes-use-module . rest) #t)
;; (primitive-load "mes/module/srfi/srfi-9-vector.mes")
;; (primitive-load "mes/module/srfi/srfi-9/gnu-vector.mes")
(mes-use-module (srfi srfi-9))
(mes-use-module (srfi srfi-9 gnu))
(mes-use-module (mes test)))
(primitive-load "mes/module/srfi/srfi-9/gnu-struct.mes"))
(else))
(pass-if "first dummy" #t)