submit the following:
%let name=%quote(aaa'ggg);
%put &name;
and then issue %put &name; again, the screen displays
aaa'ggg);%put &name;';
which is not strange since ' is not paired, then submit the following:
%let name=%quote(aaa'ggg');
%put &name;
the screen displays error/warning:
%let name=%quote(aaa'ggg');
NOTE: A missing equals sign has been inserted after the variable name NAME.
%put &name;
ERROR: Open code statement recursion detected.
If then issue %put &name; to check what's in the macro name, the screen displays
=aaa'ggg';;
Question:
(1) The above execution result is very odd to me. Why would the initial error last for ever?
(2) Why would the macro name be assigned that way at the end?
(3) Why would the system complain "recursion detected"?
... View more