User blog comment:SquareFingers/Disappointed in PTC.../@comment-5334617-20140613020154

Gaah. is seriously messed up, as is. prints ", moves the cursor to the beginning of the next line, gets a single string input, writes the input to A$, then generates a .   prints A$ and a " " character, moves the cursor to the beginning of the next line (as   in   doesn't), gets a single string input, and puts it in B$. This, at least, works as you might expect (except for printing   and moving the cursor).   behaves the same as  . With any sense, all these variations should work, because it is possible to determine that A$ is not a variable to be written to, because it is before the   character, and in the last example it should definitely be clear that A$ is not to be written to because it is obviously an operand to   string concatenation.

Then, if something is ed on the line before you execute the , it will become part of the input value. For, it may or may not; if any of the PRINTed strings start in the leftmost column, then they all are, otherwise they're not, unless the user moves the cursor to a character that was PRINTed on and types, even if it is just a space character, unless the user only deletes without adding, and regardless, any characters PRINTed to the right of the cursor will be moved right as the user types, and if it reaches the rightmost column it will prevent further input until something is deleted, but even though it affects the input, it is still not processed as part of the input unless the user moves the cursor and adds to it as described above.

A string value passed as the first of two paramaters to  will cause the cursor to drop to the beginning of the next line, unless the string is empty, in which case the cursor does not move. Leading spaces are trimmed from  string inputs, they are not from   string inputs. It appears that when entering data for, you may add a   at the end, regardless of how many variables are after the   keyword, but you may not add two  s.   always prints a   character,   doesn't.

It is all LUDICROUS. Clearly, there was no specification for the behaviour of the system, it was just coded piecemeal and then thrown together with whatever side-effects just accepted as they are. It is sloppy, amateur work.