Fix stack effects of load-source, load-docs so that stack isn't filled up with crap in stage2

db4
Slava Pestov 2008-09-13 21:23:25 -05:00
parent 2305117c21
commit 7887515d00
1 changed files with 7 additions and 7 deletions

View File

@ -54,19 +54,19 @@ SYMBOL: load-help?
: load-source ( vocab -- vocab )
f over set-vocab-source-loaded?
[ vocab-source-path [ parse-file ] [ [ ] ] if* ] keep
t over set-vocab-source-loaded?
[ [ % ] [ call ] if-bootstrapping ] dip ;
t swap set-vocab-source-loaded?
[ % ] [ call ] if-bootstrapping ;
: load-docs ( vocab -- vocab )
load-help? get [
f over set-vocab-docs-loaded?
[ vocab-docs-path [ ?run-file ] when* ] keep
t over set-vocab-docs-loaded?
] when ;
t swap set-vocab-docs-loaded?
] [ drop ] if ;
: reload ( name -- )
[
dup vocab [ load-source load-docs drop ] [ no-vocab ] ?if
dup vocab [ [ load-source ] [ load-docs ] bi ] [ no-vocab ] ?if
] with-compiler-errors ;
: require ( vocab -- )
@ -90,8 +90,8 @@ GENERIC: (load-vocab) ( name -- )
M: vocab (load-vocab)
[
dup vocab-source-loaded? [ load-source ] unless
dup vocab-docs-loaded? [ load-docs ] unless
dup vocab-source-loaded? [ dup load-source ] unless
dup vocab-docs-loaded? [ dup load-docs ] unless
drop
] [ [ swap add-to-blacklist ] keep rethrow ] recover ;