[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Dec 20 08:01:40 2001 
Subject:Have I hit a bug already? 
From:Pete Goodeve 
Volume-ID:1011220.12 


Well, everything was going swimmingly until I tried playing with
repeaters and things.  I set up a simple procedure, read it in and
executed it, and got the following:

: define echo();
        vars s, temp;
        ' '-> s;
        ''->str;
        repeat forever
     cucharin()->temp;
        if temp = termin then return; endif;
        temp->s(1);
        str<>s->str;
        s=>
        endrepeat;
enddefine;
: : : : : : : : : : : : echo();
: test this
** t
** e
** s
** t
**
** t
** h
** i
** s
**

: ;;; ctrl-D typed
:
:
: str=>
** eest this

   ^ Eh?  the first character is always replaced by the second!

If I don't start with a null string, things seem to behave, and if I
create a null string and then append to it with keyboard commands things
also seem to work, but I can't find any way to avoid the doubling with
the above procedure.  Am I wrong somewhere or is the system?

[Sorry about the layout, but I wasn't being fussy.  And I originally
had lvars, but switched to vars with no effect.]

Also I feel there must be a simpler way of appending characters to
a string, but I can't find one...

Cheers,
					-- Pete --

: