diff --git a/src/interpret.c b/src/interpret.c index ef4286a52d65e65e2e9a7b6597f0aae5e6f06141..578d02731399a5181b75739aeb63561aae62da5b 100644 --- a/src/interpret.c +++ b/src/interpret.c @@ -4,7 +4,7 @@ ||| See the files COPYING and DISCLAIMER for more information. \*/ #include "global.h" -RCSID("$Id: interpret.c,v 1.19 1997/01/16 05:00:44 hubbe Exp $"); +RCSID("$Id: interpret.c,v 1.20 1997/01/17 21:06:40 hubbe Exp $"); #include "interpret.h" #include "object.h" #include "program.h" @@ -1021,9 +1021,17 @@ static void eval_instruction(unsigned char *pc) goto do_index; CASE(F_ARROW); + copy_shared_string(sp->u.string,fp->context.prog->strings[GET_ARG()]); + sp->type=T_STRING; + sp->subtype=1; + sp++; + print_return_value(); + goto do_index; + CASE(F_STRING_INDEX); copy_shared_string(sp->u.string,fp->context.prog->strings[GET_ARG()]); sp->type=T_STRING; + sp->subtype=0; sp++; print_return_value(); /* Fall through */