C
ChUIMonster
Guest
To answer the titular question... No. You can have either named or positional arguments but named arguments are not secretly positional. It has been several decades since I did much with named arguments to include files but I do recall that being very careful about quoting strings properly at each level of a multi-level chain of includes was always very tricky. And thinking about what is needed (or not needed) for quoting at each level gets messy too. I tested your example back to 10.2B and it behaves the same so your issue does not seem to be a newly broken sort of thing. I think it is more of a misunderstanding regarding how an undefined argument value, the first reference to {©}, gets handled or possibly just how the tokens are parsed. You might find this subtle (note the extra spaces around "=") variation interesting to consider: /* test.p */ {test-1.i &buffer = buffer} quit. ==== /* test-1.i */ {test-2.i © = {©} &buffer = {&buffer}} ==== /* test-2.i */ message "Buffer" "{&buffer}" "Copy" "{©}" view-as alert-box. If it is legacy code then there are probably lots of existing examples of the particular thing that you are trying to do. And if there are not then it seems like this would be an excellent opportunity to introduce a better way of doing things.
Continue reading...
Continue reading...