On OpenSuSE 12.2
(Linux 3.4.11-2.16-desktop #1 SMP PREEMPT Wed Sep 26 17:05:00 UTC 2012 (259fc87) x86_64 x86_64 x86_64 GNU/Linux),
Open Object Rexx Version 4.1.2, Build date: Aug 31 2012, Addressing Mode: 64:
When parsing the components of a delimited string, trace intermediates does not show all of the variable assignments. Here is an example:
| 197 - oldString = .array~new
| >E> .ARRAY => "The Array class"
| >M> "NEW" => "an Array"
| >>> "an Array"
| >=> OLDSTRING <= "an Array"
| :
| 204 - arguments = arg(1)
| >L> "1"
| >A> "1"
| >F> ARG => "/from/to/ somefile.txt"
| >A> "/from/to/ somefile.txt"
| :
| 222 - parse var arguments d +1 oldString[p] (d) arguments
| >V> ARGUMENTS => "/from/to/ somefile.txt"
| >L> "1"
| >=> D <= "/"
| >V> D => "/"
| >V> OLDSTRING => "an Array"
| >V> P => "1"
| >=> ARGUMENTS <= "to/ somefile.txt"
Trace Intermediates does not show the assignment to oldString[p]. It should look something like
| 222 - parse var arguments d +1 oldString[p] (d) arguments
| >V> ARGUMENTS => "/from/to/ somefile.txt"
| >L> "1"
| >=> D <= "/"
| >V> D => "/"
| >V> OLDSTRING => "an Array"
| >V> P => "1"
| >=> [1] <= "from" -- this was missing
| >=> ARGUMENTS <= "to/ somefile.txt"
Anonymous
With the latest 5.0 trunk this seems to works as expected.