Unfortunately, I haven't been able to get this reproduced with anything simpler. I can reliably reproduce this using Blake's APL Editor found here: https://github.com/blakemcbride/APLEditor
I don't believe it to be an error in the functions themselves. I can )LOAD the original workspace and "fix up" problematic functions that I know have thrown the syntax error in the past by simply opening and immediately closing the funcion (no other changes) with the ∇ editor. Things work fine after that. II )SAVE the workspace, and then )LOAD the saved copy, and the error re-appears. I've validated the variables in the offending statement each time the error appears. All appears normal - there's no syntax error apparent in the expression, so I have no idea why the interpreter is throwing an error. If the function/workspace had problems, to me it seems as a result of the )save,)load,)copy mechanisms. Only the ∇ editor gets me around the issue - ⎕FX ⎕CR 'function-name' does not. Any ideas on how I can help track this down? - Paul > On Feb 8, 2025, at 11:34 AM, Dr. Jürgen Sauermann <mail@jürgen-sauermann.de> > wrote: > > Hi Paul, > > that very much looks like an error in the Editor workspace, doesn't it? > Can you reproduce the fault in plain APL? > > Best Regards, > Jürgen > > > On 2/6/25 19:14, Paul Rockwell wrote: >> I've been seeing syntax errors being thrown on functions copied from another >> workspace. I've imported Blake McBride's APL editor from his GitHub site >> (linked to by the GNU APL Community pages). It seems to be reasonably up to >> date. >> >> Once I have the workspace created containing the editor application, I )SAVE >> it. I then create a new workspace and )COPY the functions in the editor >> workspace into my current workspace. Then I attempt to use it to edit a >> function (an alternative to the ∇ editor). >> >> What I see is that the copied editor function will fail with a syntax error >> on branch statements within the function: >> >> )copy Editor >> SAVED 2025-01-19 15:03:52 (GMT-5) >> E∆Edit 'asd' >> >> At all prompts you can type 'end' to exit or backup to the previous question. >> You can often type 'help' to get help. >> >> Enter the line numbers you wish to change, or [a,b,r]? 2 >> SYNTAX ERROR >> E∆Piv[18] →(0=⍴t)/0 >> ^^ >> >> However, if you look at the variables involved, there should be nothing that >> should cause this syntax error >> >> t >> 2 >> ⍴t >> 1 >> 0=⍴t >> 0 >> 0/0 >> >> ⍴0/0 >> 0 >> >> The strange thing about this is that if I open the offending function in the >> ∇ editor and save it (making no changes), the error goes away... at least >> for that function: >> >> )si >> ∇E∆Piv >> [51] ∇ >> E∆Edit 'asd' >> >> At all prompts you can type 'end' to exit or backup to the previous question. >> You can often type 'help' to get help. >> >> Enter your edit command? edit >> Enter the line numbers you wish to change, or [a,b,r]? 2 >> 24 >> >> Enter your edit command? end >> SYNTAX ERROR >> E∆Edit[31] →(2↑bv←qq E∆Pim 'Enter your edit command')/31 34 >> ^^ >> >> >> As you can see, another function is exhibiting the same error. Like the >> E∆Piv function, opening the E∆Edit function seems to "fix"the issue. >> What doesn't seem fix the issue is using ⎕CR and ⎕FX as an alternative to >> the ∇ editor. >> >> )reset >> ⎕FX ⎕CR 'E∆Edit' >> E∆Edit >> E∆Edit 'asd' >> >> At all prompts you can type 'end' to exit or backup to the previous question. >> You can often type 'help' to get help. >> >> Enter your edit command? edit >> Enter the line numbers you wish to change, or [a,b,r]? 2 >> 24 >> >> Enter your edit command? end >> SYNTAX ERROR >> E∆Edit[31] →(2↑bv←qq E∆Pim 'Enter your edit command')/31 34 >> ^^ >> >> As you can see, that didn't fix the problem. Now open E∆Edit with the ∇ >> editor and see what happens: >> >> )reset >> ∇E∆Edit >> [41] ∇ >> E∆Edit 'asd' >> >> At all prompts you can type 'end' to exit or backup to the previous question. >> You can often type 'help' to get help. >> >> Enter your edit command? edit >> Enter the line numbers you wish to change, or [a,b,r]? 2 >> 24 >> >> Enter your edit command? end >> >> >> As I said, this is very strange behavior. I can work around it, but quite >> honestly it's a pain because I have no idea when the issue is going to crop >> up again. >> >> - Paul Rockwell >> >