Author: stepan Date: 2009-11-20 20:04:41 +0100 (Fri, 20 Nov 2009) New Revision: 623
Modified: trunk/openbios-devel/kernel/bootstrap.c trunk/openbios-devel/kernel/dict.c Log: Another nice patch from Mark Cave-Ayland:
This patch corrects a couple of (minor) bugs in the Forth source debugger; firstly the number of wordlists is held in #order, rather than #vocs which is the total number of wordlists which can be held simultaneously.
Secondly, the initial interruptforth setting in kernel/bootstrap.c is actually wrong, but since this is reset by enterforth() it is not needed anyway. Hence this line can simply be removed.
Modified: trunk/openbios-devel/kernel/bootstrap.c =================================================================== --- trunk/openbios-devel/kernel/bootstrap.c 2009-11-20 19:03:46 UTC (rev 622) +++ trunk/openbios-devel/kernel/bootstrap.c 2009-11-20 19:04:41 UTC (rev 623) @@ -909,7 +909,6 @@ if (verbose) printk("Jumping to dictionary...");
- interruptforth = 1; enterforth((xt_t)PC); }
Modified: trunk/openbios-devel/kernel/dict.c =================================================================== --- trunk/openbios-devel/kernel/dict.c 2009-11-20 19:03:46 UTC (rev 622) +++ trunk/openbios-devel/kernel/dict.c 2009-11-20 19:04:41 UTC (rev 623) @@ -173,7 +173,7 @@
if (read_ucell(cell2pointer(usesvocab))) { /* Vocabularies are in use, so search each one in turn */ - ucell numvocabs = findword("#vocs") + sizeof(cell); + ucell numvocabs = findword("#order") + sizeof(cell);
for (i = 0; i < read_ucell(cell2pointer(numvocabs)); i++) { ucell vocabs = findword("vocabularies") + 2 * sizeof(cell); @@ -228,7 +228,7 @@
if (read_ucell(cell2pointer(usesvocab))) { /* Vocabularies are in use, so search each one in turn */ - ucell numvocabs = findword("#vocs") + sizeof(cell); + ucell numvocabs = findword("#order") + sizeof(cell);
for (i = 0; i < read_ucell(cell2pointer(numvocabs)); i++) { ucell vocabs = findword("vocabularies") + 2 * sizeof(cell);