cvsuser 05/03/28 21:19:06
Modified: dynclasses tclparser.pmc
languages/tcl/lib tclword.imc
languages/tcl/lib/commands lrange.imc
Log:
Get us back to 100% passing on tests for Tcl after the migration to a C-based
tcl parser.
Revision Changes Path
1.5 +4 -4 parrot/dynclasses/tclparser.pmc
Index: tclparser.pmc
===================================================================
RCS file: /cvs/public/parrot/dynclasses/tclparser.pmc,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- tclparser.pmc 27 Mar 2005 10:03:12 -0000 1.4
+++ tclparser.pmc 29 Mar 2005 05:19:05 -0000 1.5
@@ -1,7 +1,7 @@
/* TclParser.pmc
* Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
* CVS Info
- * $Id: tclparser.pmc,v 1.4 2005/03/27 10:03:12 bernhard Exp $
+ * $Id: tclparser.pmc,v 1.5 2005/03/29 05:19:05 coke Exp $
* Overview:
* A container for methods related to tcl parsing.
* Data Structure and Algorithms:
@@ -393,9 +393,9 @@
P1 = pmc_new(INTERP, String);
Parrot_PMC_set_string(INTERP, P1, S0);
P2 = pmc_new(INTERP, Integer);
- VTABLE_set_integer_native(INTERP,P2,0);
+ VTABLE_set_integer_native(INTERP,P2,1);
P3 = pmc_new(INTERP, Integer);
- VTABLE_set_integer_native(INTERP,P3,1);
+ VTABLE_set_integer_native(INTERP,P3,0);
P0 = Parrot_TclParser_parse(INTERP, SELF, P1, P2, P3);
P4 = VTABLE_find_method(INTERP, word, ConcatWords);
@@ -506,7 +506,7 @@
S1 = string_substr(INTERP, buffer, start_word, I1, NULL, NULL);
start_word = temppos + 1;
P1 = VTABLE_find_method(INTERP, word, ConcatVariable);
- Parrot_call_method(INTERP, P1, word, ConcatVariable, "SS", S0, S1);
+ Parrot_call_method(INTERP, P1, word, ConcatVariable, "vSS", S0, S1);
goto middle_word;
gotword:
1.12 +1 -0 parrot/languages/tcl/lib/tclword.imc
Index: tclword.imc
===================================================================
RCS file: /cvs/public/parrot/languages/tcl/lib/tclword.imc,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- tclword.imc 26 Mar 2005 16:03:09 -0000 1.11
+++ tclword.imc 29 Mar 2005 05:19:05 -0000 1.12
@@ -202,6 +202,7 @@
chunk = new ResizablePMCArray
chunk[0] = 1
chunk[1] = var
+
# I2 == # string params.
if I2 == 1 goto no_index
chunk[2] = idx
1.3 +4 -1 parrot/languages/tcl/lib/commands/lrange.imc
Index: lrange.imc
===================================================================
RCS file: /cvs/public/parrot/languages/tcl/lib/commands/lrange.imc,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- lrange.imc 28 Nov 2004 04:49:45 -0000 1.2
+++ lrange.imc 29 Mar 2005 05:19:06 -0000 1.3
@@ -20,7 +20,10 @@
# XXX - BUG - list_index is currently geared to linsert, which treats
# end differently. need to have an option to pass in, or another
- ($I0,$P0,$I2) = _list_index(the_list,first)
+ .local pmc list_index
+ list_index = find_global "_Tcl", "_list_index"
+
+ ($I0,$P0,$I2) = list_index(the_list,first)
first = $P0
if $I0 != TCL_OK goto error