Oh, I see the problem. It's a disassembler issue.
code_0706:
lsl local4
ldi 1
eq?
bnt code_0404
pushi #cursor
pushi 1
pushi 1
pushi 2
lsp param1
[i] ; lat temp2
lea @[temp3 temp2][/i]
push
callk StrCpy, 4
push
callk StrLen, 2
Change the italicized lines I surrounded in i tags above. For Studio syntax, you'll probably want @temp3[temp2] instead (and // for the comment instead of ;, or just delete that line)
That will fix the edit box not updating issue.
The other problem is basically the same, but not as easily fixable as the indexer is not a simple value. And there are actually a number of other cases of this in there. This will probably require a fix in Companion.
Probably it can be fixed with the current Companion by introducing a few more temp variables into the method. How urgent is this?