From 4eaa3dc4bf437227e52d366dc019c743091eeb92 Mon Sep 17 00:00:00 2001 From: Tim Vaughan Date: Mon, 10 Oct 2016 14:37:16 +1300 Subject: [PATCH] Avoided return stack use in INCLUDED. --- src/forth.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/forth.jl b/src/forth.jl index 3526960..d6a3ff9 100644 --- a/src/forth.jl +++ b/src/forth.jl @@ -1237,14 +1237,14 @@ QUIT_CFA = defWord("QUIT", INCLUDED_CFA = defWord("INCLUDED", [LIT_CFA, 0, STATE_CFA, STORE_CFA, # Set mode to interpret - SOURCE_ID_CFA, FETCH_CFA, TOR_CFA, # Store current source on return stack FAM_RO_CFA, OPEN_FILE_CFA, DROP_CFA, # Open the file + SOURCE_ID_CFA, FETCH_CFA, SWAP_CFA, # Store current source on stack DUP_CFA, SOURCE_ID_CFA, STORE_CFA, # Mark this as the current source DUP_CFA, QUERY_FILE_CFA, # Read line from file INTERPRET_CFA, # Interpret line ZBRANCH_CFA, -4, # Loop if not EOF CLOSE_FILE_CFA, DROP_CFA, # Close file - FROMR_CFA, SOURCE_ID_CFA, STORE_CFA, # Restore input source + SOURCE_ID_CFA, STORE_CFA, # Restore input source EXIT_CFA]) INCLUDE_CFA = defWord("INCLUDE", [LIT_CFA, 32, WORD_CFA, -- 2.20.1