*! version 2.30.0 17jul2018 program ms_parse_varlist, rclass gettoken depvar 0 : 0, bind fvexpand `depvar' loc depvar `r(varlist)' loc n : word count `depvar' _assert (`n'==1), msg("more than one depvar specified: `depvar'") _assert (!strpos("`depvar'", "o.")), msg("the values of depvar are omitted: `depvar'") * Extract format of depvar so we can format FEs the same way fvrevar `depvar', list loc fe_format : format `r(varlist)' // The format of the FEs that will be saved * Extract base variables (in case we want to run preserve+keep) fvrevar `depvar' `0', list loc basevars `r(varlist)' return loc depvar `depvar' return loc fe_format `fe_format' return loc indepvars `0' return loc basevars `basevars' end