Looks like this particular bug is fixed in SAS 9.4 M7 release.
The macro still has trouble with non-standard member names.
7 %xptcommn;
MAUTOCOMPLOC: The autocall macro SETDCB is compiling using the autocall source file
/Volumes/app/sas/devel/sas9.4_m7/SASFoundation/9.4/sasautos/xptcommn.sas.
MPRINT(XPTCOMMN): * just need to define this to avoid a warning message;
8 options mprint;
9 %make_memwant_fmt(abc '1234');
MPRINT(MAKE_MEMWANT_FMT): data cntlin;
MPRINT(MAKE_MEMWANT_FMT): fmtname='$memwant';
MPRINT(MAKE_MEMWANT_FMT): label='Y';
MPRINT(MAKE_MEMWANT_FMT): hlo=' ';
MPRINT(MAKE_MEMWANT_FMT): length start $32;
MPRINT(MAKE_MEMWANT_FMT): start=' ';
MAUTOCOMPLOC: The autocall macro TRIM is compiling using the autocall source file
/Volumes/app/sas/devel/sas9.4_m7/SASFoundation/9.4/sasautos/trim.sas.
MPRINT(MAKE_MEMWANT_FMT): start=upcase(left("abc "));
MPRINT(MAKE_MEMWANT_FMT): output;
NOTE: One or more missing close parentheses have been supplied for the %LENGTH function.
ERROR: The macro MAKE_MEMWANT_FMT will stop executing.
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.CNTLIN may be incomplete. When this step was stopped there were 0
observations and 4 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
But those are much less common than non standard variable names.
... View more