INPUT with comma vs. semi
I'm not sure what this is supposed to ask, but ...
According to the GW-BASIC documentation, a semicolon between the INPUT prompt and the variable suppresses the question-mark prompt.
I do not believe this was the case on the Apple or PET/C64,
It was on the Apple and all other MS-BASIC versions, but not on the PET.
Examples:
10 INPUT A
20 INPUT "NUMBER"; A
10 INPUT ""; A
will display on an Apple II ("_
"being the cursor)
?_
NUMBER_
_
while the PET does always give the question mark and a space
? _
NUMBER? _
? _
In addition maybe relevant here that the ECMA-55 (1978) standard "For minimal BASIC" (adopted by ANSI as ANSI X3.60-1978) makes the whole prompt implementation defined and optional, while recommending:
It is recommended that the input-prompt consists of a question-
mark followed by a single space.
So Commodore's implementation is close to standard .. albeit I'm not sure if by purpose.
[Also, if you're about to write any new BASIC, make sure it is able to handle ECMA-55 programs as means for general compatibility. The National Bureau of Standards' Minimal BASIC Test Suite might be of help]
Later ECMA-116 defines that
If an input-prompt specifier is present in the input-statement, then
the implementation-defined input-promt shall not be output;
Though, it also requests a quite different syntax using keywords and a colon to seperate between modifiers and variable list:
INPUT PROMT "Name? ": A$
While using a keyword does allow for a prompt to be supplied in a string variable, the colon may tick off many. ECMA-116 is eventually a great language definition, but came way to late for any influence.
Input in (early) MS BASIC has another nice side effect when using the notation without assigning a prompt. A statement like
INPUT ;A
which should produce a syntax error right away when executed, will still first prompt for a value, only to break after it has been entered.