diff options
Diffstat (limited to 'slof')
-rw-r--r-- | slof/fs/boot.fs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/slof/fs/boot.fs b/slof/fs/boot.fs index 1fd7439..5d41a0e 100644 --- a/slof/fs/boot.fs +++ b/slof/fs/boot.fs @@ -221,11 +221,19 @@ defer go ( -- ) ELSE drop THEN - set-boot-args s" parse-load " $bootdev $cat strdup evaluate + set-boot-args + save-source -1 to source-id + $bootdev dup #ib ! span ! to ib + 0 >in ! + ['] parse-load catch restore-source throw ; : load-next ( -- success ) \ Continue after go failed - load-list 2@ ?dup IF s" parse-load " 2swap $cat strdup evaluate + load-list 2@ ?dup IF + save-source -1 to source-id + dup #ib ! span ! to ib + 0 >in ! + ['] parse-load catch restore-source throw ELSE drop false THEN ; |