summaryrefslogtreecommitdiffstats
path: root/development/kforth/ForthVM.diff
diff options
context:
space:
mode:
Diffstat (limited to 'development/kforth/ForthVM.diff')
-rw-r--r--development/kforth/ForthVM.diff78
1 files changed, 0 insertions, 78 deletions
diff --git a/development/kforth/ForthVM.diff b/development/kforth/ForthVM.diff
deleted file mode 100644
index 494b515fc4..0000000000
--- a/development/kforth/ForthVM.diff
+++ /dev/null
@@ -1,78 +0,0 @@
-Index: ForthVM.cpp
-===================================================================
---- ForthVM.cpp (revision 7)
-+++ ForthVM.cpp (working copy)
-@@ -155,6 +155,14 @@
- // PUSH_IVAL and PUSH_ADDR
- // 2011-02-06 km fixed problem with FS. not restoring original precision.
- // 2011-03-05 km removed commented out code which was replaced by macros.
-+// 2011-03-10 km added global string dir_env_var to allow default directory
-+// environment variable to be specified externally, in the
-+// Makefile.
-+// 2011-11-01 km revised CPP_allot to ensure all created words which have
-+// ALLOTed memory also have appropriate execution code;
-+// This change also allows removal of common code from
-+// CPP_variable and CPP_fvariable.
-+const char* dir_env_var=DIR_ENV_VAR;
-
- #include <string.h>
- #include <stdlib.h>
-@@ -1550,6 +1558,13 @@
- {
- id->Pfa = new byte[n];
- if (id->Pfa) memset (id->Pfa, 0, n);
-+
-+ // Provide execution code to the word to return its Pfa
-+ byte *bp = new byte[6];
-+ id->Cfa = bp;
-+ bp[0] = OP_ADDR;
-+ *((int*) &bp[1]) = (int) id->Pfa;
-+ bp[5] = OP_RET;
- }
- else
- return E_V_REALLOT;
-@@ -1642,14 +1657,7 @@
- DEC_DSP
- STD_IVAL
- int e = CPP_allot();
-- if (e) return e;
-- WordIndex id = pCompilationWL->end() - 1;
-- byte *bp = new byte[6];
-- id->Cfa = bp;
-- bp[0] = OP_ADDR;
-- *((int*) &bp[1]) = (int) id->Pfa;
-- bp[5] = OP_RET;
-- return 0;
-+ return e;
- }
- //-----------------------------------------------------------------
-
-@@ -1662,14 +1670,7 @@
- DEC_DSP
- STD_IVAL
- int e = CPP_allot();
-- if (e) return e;
-- WordIndex id = pCompilationWL->end() - 1;
-- byte *bp = new byte[6];
-- id->Cfa = bp;
-- bp[0] = OP_ADDR;
-- *((int*) &bp[1]) = (int) id->Pfa;
-- bp[5] = OP_RET;
-- return 0;
-+ return e;
- }
- //------------------------------------------------------------------
-
-@@ -2464,10 +2465,10 @@
- ifstream f(filename);
- if (!f)
- {
-- if (getenv("KFORTH_DIR"))
-+ if (getenv(dir_env_var))
- {
- char temp[256];
-- strcpy(temp, getenv("KFORTH_DIR"));
-+ strcpy(temp, getenv(dir_env_var));
- strcat(temp, "/");
- strcat(temp, filename);
- strcpy(filename, temp);