The bug report in <https://sourceforge.net/p/oorexx/bugs/1716/> includes a patch that fixes this.
---rony On 05.08.2020 15:16, Rony G. Flatscher wrote: > > Having received error reports from users of BSF4ooRexx like > > 2 *-* /**/@ > Error 13 running > rexx_invoked_via_[fxml_01.fxml]_at_2020_08_05T12_33_24_17Z.rex line 2: > Invalid character in program. > Error 13.1: Incorrect character in program "@" ('40'X). > > and looking up the execution paths in those cases, it turns out that the > ooRexx .routine class > gets used to create the executable in those cases with a string array > representing the compiled > and encoded Rexx program. > > So the "new" method of the .routine class gets the compiled and encoded > source supplied as an > array of strings, e.g.: > > #!/usr/bin/env rexx > /**/@REXX@ > LyoqL0BSRVhYAAAAAAAAAGcrKgAgAAAAVOwAAAAAAABwEgAAVPq7VhgAAAACAAAAAAAAAAAA > AAAAAAAAgB68ViAAAAACAAAAKAAAAAAAAABwAAAAOAAAAAAAAADkSrxWOAAAAAIAAAAFAACA > ... cut ... > > Supplying the compiled and encoded data as a single string to the .routine > class does not work as > this issues the error "13.1, Invalid character in program" caused by the > presence of a LF ('0A'x) > character, here a rexxtry example: > > infile=.stream~new("nutshell_01.rex-compiled")~~open("read") > ........................................... rexxtry.rex on WindowsNT > pgm=infile~charin(infile~chars) > ........................................... rexxtry.rex on WindowsNT > infile~close > ........................................... rexxtry.rex on WindowsNT > r1=.routine~new("aha",pgm) > Oooops ! ... try again. Invalid character in program. > Incorrect character in program " > " ('0A'X). > rc = 13.1 ................................. rexxtry.rex on WindowsNT > > As a compiled and encoded form of a Rexx program always has the string > "/**/@REXX@" as the value > for its second line it would be possible to determine that the String array > comes from a compiled > and encoded Rexx program. Rather than creating an error in this case, the > routine object could get > created successfully from the String array representing a compiled and > encoded Rexx program. > > Are there any objections to try to enhance the "new" method of the .routine > (and the .method) > class such that the string array can represent a compiled and encoded Rexx > program? > > ---rony >
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel