diff --git a/build/build.py b/build/build.py index 95c4910..6fe7296 100644 --- a/build/build.py +++ b/build/build.py @@ -146,10 +146,10 @@ def zipdir(path, zip): shutil.copy(os.path.join(source_path, "reghdfe_old_estat.ado"), os.path.join(server_path, "reghdfe_old_estat.ado")) shutil.copy(os.path.join(source_path, "reghdfe_old_footnote.ado"), os.path.join(server_path, "reghdfe_old_footnote.ado")) -print("Building zip file") -zipf = zipfile.ZipFile('../misc/reghdfe.zip', 'w', zipfile.ZIP_DEFLATED) -zipdir('../package/', zipf) -zipf.close() +# print("Building zip file") +# zipf = zipfile.ZipFile('../misc/reghdfe.zip', 'w', zipfile.ZIP_DEFLATED) +# zipdir('../package/', zipf) +# zipf.close() # Update version file now that the deed is done with open(os.path.join(source_path, "version.txt"), 'wb') as fh: diff --git a/misc/reghdfe.zip b/misc/reghdfe.zip deleted file mode 100644 index 4f6eac4..0000000 Binary files a/misc/reghdfe.zip and /dev/null differ diff --git a/package/estfe.ado b/package/estfe.ado index e9a5eb2..5c5cbc0 100644 --- a/package/estfe.ado +++ b/package/estfe.ado @@ -62,7 +62,7 @@ program define Add, rclass local indicate_fe `"`indicate_fe' "`fixed_fe'=`fe'""' } - return local indicate_fe = `"`indicate_fe'"' + return local indicate_fe `"`indicate_fe'"' end capture program drop AddOne @@ -101,7 +101,7 @@ program define AddOne, eclass erepost b=`b' V=`V', rename // Minor problem: removes "hidden" attribute estimates store `model', nocopy - c_local absvars = "`absvars'" + c_local absvars "`absvars'" end capture program drop FixAbsvars diff --git a/package/hdfe.ado b/package/hdfe.ado index b6e9031..cd10869 100644 --- a/package/hdfe.ado +++ b/package/hdfe.ado @@ -1,4 +1,4 @@ -*! reghdfe 3.2.2 26jul2015 +*! reghdfe 3.2.3 29jul2015 *! Sergio Correia (sergio.correia@duke.edu) @@ -2025,8 +2025,8 @@ program define hdfe, eclass mata: map_ereturn_dof(HDFE_S) local N_hdfe = e(N_hdfe) ereturn local cmd = "hdfe" - ereturn local extended_absvars = "`extended_absvars'" - ereturn local absvars = "`original_absvars'" + ereturn local extended_absvars "`extended_absvars'" + ereturn local absvars "`original_absvars'" * Cleanup } // cap noi @@ -2110,7 +2110,7 @@ end // ------------------------------------------------------------- program define Version, eclass - local version "3.2.2 26jul2015" + local version "3.2.3 29jul2015" ereturn clear di as text "`version'" ereturn local version "`version'" @@ -2249,9 +2249,9 @@ if (!`usecache') { mata: HDFE_S = map_init() // Reads results from r() local will_save_fe = `r(will_save_fe)' // Returned from map_init() - local original_absvars = "`r(original_absvars)'" - local extended_absvars = "`r(extended_absvars)'" - local equation_d = "`r(equation_d)'" + local original_absvars "`r(original_absvars)'" + local extended_absvars "`r(extended_absvars)'" + local equation_d "`r(equation_d)'" } else { local will_save_fe 0 diff --git a/package/hdfe.pkg b/package/hdfe.pkg index ec403f1..6173203 100644 --- a/package/hdfe.pkg +++ b/package/hdfe.pkg @@ -26,7 +26,7 @@ d KW: within d d Requires: Stata version 11.2 d -d Distribution-Date: 20150726 +d Distribution-Date: 20150729 d f hdfe.ado diff --git a/package/reghdfe.ado b/package/reghdfe.ado index 8f072b7..b62b1d7 100644 --- a/package/reghdfe.ado +++ b/package/reghdfe.ado @@ -1,4 +1,4 @@ -*! reghdfe 3.2.2 26jul2015 +*! reghdfe 3.2.3 29jul2015 *! Sergio Correia (sergio.correia@duke.edu) @@ -2045,7 +2045,7 @@ end // ------------------------------------------------------------- program define Version, eclass - local version "3.2.2 26jul2015" + local version "3.2.3 29jul2015" ereturn clear di as text "`version'" ereturn local version "`version'" @@ -2207,8 +2207,15 @@ if (`timeit') Tic, n(55) * STAGES LOOPS foreach stage of local stages { Assert inlist("`stage'", "none", "iv", "first", "ols", "reduced", "acid") -local lhs_endogvars = cond("`stage'"=="first", "`backup_endogvars'", "") -local i_endogvar = cond("`stage'"=="first", "0", "") +if ("`stage'"=="first") { + local lhs_endogvars "`backup_endogvars'" + local i_endogvar 0 +} +else { + local lhs_endogvars "" + local i_endogvar +} + foreach lhs_endogvar of local lhs_endogvars { if ("`stage'"!="none") { @@ -2473,9 +2480,9 @@ if (!`usecache') { mata: HDFE_S = map_init() // Reads results from r() local will_save_fe = `r(will_save_fe)' // Returned from map_init() - local original_absvars = "`r(original_absvars)'" - local extended_absvars = "`r(extended_absvars)'" - local equation_d = "`r(equation_d)'" + local original_absvars "`r(original_absvars)'" + local extended_absvars "`r(extended_absvars)'" + local equation_d "`r(equation_d)'" } else { local will_save_fe 0 @@ -3387,7 +3394,7 @@ program define Wrapper_regress, eclass local predict = e(predict) local cmd = e(cmd) - local cmdline = e(cmdline) + local cmdline "`e(cmdline)'" local title = e(title) * Fix V @@ -3411,7 +3418,7 @@ program define Wrapper_regress, eclass ereturn local marginsok = "`marginsok'" ereturn local predict = "`predict'" ereturn local cmd = "`cmd'" - ereturn local cmdline = "`cmdline'" + ereturn local cmdline `"`cmdline'"' ereturn local title = "`title'" ereturn local clustvar = "`clustervars'" ereturn scalar rmse = `rmse' @@ -3435,7 +3442,7 @@ program define RemoveCollinear, rclass syntax, depvar(varname numeric) [indepvars(varlist numeric) weightexp(string)] qui _rmcoll `indepvars' `weightexp', forcedrop - local okvars = r(varlist) + local okvars "`r(varlist)'" if ("`okvars'"==".") local okvars local df_m : list sizeof okvars @@ -3509,7 +3516,7 @@ program define Wrapper_avar, eclass local predict = e(predict) local cmd = e(cmd) - local cmdline = e(cmdline) + local cmdline `"`e(cmdline)'"' local title = e(title) * Compute the bread of the sandwich inv(X'X/N) @@ -3566,7 +3573,7 @@ program define Wrapper_avar, eclass ereturn local marginsok = "`marginsok'" ereturn local predict = "`predict'" ereturn local cmd = "`cmd'" - ereturn local cmdline = "`cmdline'" + ereturn local cmdline `"`cmdline'"' ereturn local title = "`title'" ereturn local clustvar = "`clustervars'" @@ -3632,7 +3639,7 @@ syntax , depvar(varname) [indepvars(varlist)] /// local predict = e(predict) local cmd = e(cmd) - local cmdline = e(cmdline) + local cmdline "`e(cmdline)'" local title = e(title) * Compute the bread of the sandwich D := inv(X'X/N) @@ -3715,7 +3722,7 @@ syntax , depvar(varname) [indepvars(varlist)] /// ereturn local marginsok = "`marginsok'" ereturn local predict = "`predict'" ereturn local cmd = "`cmd'" - ereturn local cmdline = "`cmdline'" + ereturn local cmdline `"`cmdline'"' ereturn local title = "`title'" ereturn scalar rmse = `rmse' ereturn scalar rss = `rss' @@ -4046,9 +4053,9 @@ program define Post, eclass ereturn local predict = "reghdfe_p" ereturn local estat_cmd = "reghdfe_estat" ereturn local footnote = "reghdfe_footnote" - ereturn `hidden' local equation_d = "`equation_d'" // The equation used to construct -d- (used to predict) - ereturn local absvars = "`original_absvars'" - ereturn `hidden' local extended_absvars = "`extended_absvars'" + ereturn `hidden' local equation_d "`equation_d'" // The equation used to construct -d- (used to predict) + ereturn local absvars "`original_absvars'" + ereturn `hidden' local extended_absvars "`extended_absvars'" ereturn `hidden' local diopts = "`diopts'" @@ -4175,7 +4182,7 @@ program define Post, eclass * List of stored estimates if ("`e(savestages)'"=="1" & "`e(model)'"=="iv") { local stages = "`e(stages)'" - local endogvars = e(endogvars) + local endogvars "`e(endogvars)'" foreach stage of local stages { if ("`stage'"=="first") { local i 0 @@ -4346,7 +4353,7 @@ end if (`c(version)'>=12) local hidden hidden if ("`stored'"!="" & "`e(stored_estimates)'"!="" & "`e(stage)'"=="iv") { - local est_list = e(stored_estimates) + local est_list "`e(stored_estimates)'" tempname hold estimates store `hold' foreach est of local est_list { @@ -4724,8 +4731,15 @@ program define InnerUseCache, eclass * STAGES LOOPS foreach stage of local stages { Assert inlist("`stage'", "none", "iv", "first", "ols", "reduced", "acid") -local lhs_endogvars = cond("`stage'"=="first", "`backup_endogvars'", "") -local i_endogvar = cond("`stage'"=="first", "0", "") +if ("`stage'"=="first") { + local lhs_endogvars "`backup_endogvars'" + local i_endogvar 0 +} +else { + local lhs_endogvars "" + local i_endogvar +} + foreach lhs_endogvar of local lhs_endogvars { if ("`stage'"!="none") { diff --git a/package/reghdfe.pkg b/package/reghdfe.pkg index c7a6fe4..2028203 100644 --- a/package/reghdfe.pkg +++ b/package/reghdfe.pkg @@ -18,7 +18,7 @@ d KW: GMM d d Requires: Stata version 11.2 d -d Distribution-Date: 20150726 +d Distribution-Date: 20150729 d f reghdfe.ado diff --git a/package/reghdfe_p.ado b/package/reghdfe_p.ado index 05ef3c1..371f4de 100644 --- a/package/reghdfe_p.ado +++ b/package/reghdfe_p.ado @@ -27,7 +27,7 @@ program define reghdfe_p } if ("`option'"=="scores") local option residuals - local fixed_effects = e(absvars) + local fixed_effects "`e(absvars)'" * Intercept stdp call if ("`option'"=="stdp") { diff --git a/source/estfe.ado b/source/estfe.ado index e9a5eb2..5c5cbc0 100644 --- a/source/estfe.ado +++ b/source/estfe.ado @@ -62,7 +62,7 @@ program define Add, rclass local indicate_fe `"`indicate_fe' "`fixed_fe'=`fe'""' } - return local indicate_fe = `"`indicate_fe'"' + return local indicate_fe `"`indicate_fe'"' end capture program drop AddOne @@ -101,7 +101,7 @@ program define AddOne, eclass erepost b=`b' V=`V', rename // Minor problem: removes "hidden" attribute estimates store `model', nocopy - c_local absvars = "`absvars'" + c_local absvars "`absvars'" end capture program drop FixAbsvars diff --git a/source/hdfe.ado b/source/hdfe.ado index b6adaca..ba28658 100644 --- a/source/hdfe.ado +++ b/source/hdfe.ado @@ -130,8 +130,8 @@ program define hdfe, eclass mata: map_ereturn_dof(HDFE_S) local N_hdfe = e(N_hdfe) ereturn local cmd = "hdfe" - ereturn local extended_absvars = "`extended_absvars'" - ereturn local absvars = "`original_absvars'" + ereturn local extended_absvars "`extended_absvars'" + ereturn local absvars "`original_absvars'" * Cleanup } // cap noi diff --git a/source/hdfe.pkg b/source/hdfe.pkg index ec403f1..6173203 100644 --- a/source/hdfe.pkg +++ b/source/hdfe.pkg @@ -26,7 +26,7 @@ d KW: within d d Requires: Stata version 11.2 d -d Distribution-Date: 20150726 +d Distribution-Date: 20150729 d f hdfe.ado diff --git a/source/internal/Inner.ado b/source/internal/Inner.ado index bbc83c7..d55ea06 100644 --- a/source/internal/Inner.ado +++ b/source/internal/Inner.ado @@ -128,8 +128,15 @@ if (`timeit') Tic, n(55) * STAGES LOOPS foreach stage of local stages { Assert inlist("`stage'", "none", "iv", "first", "ols", "reduced", "acid") -local lhs_endogvars = cond("`stage'"=="first", "`backup_endogvars'", "") -local i_endogvar = cond("`stage'"=="first", "0", "") +if ("`stage'"=="first") { + local lhs_endogvars "`backup_endogvars'" + local i_endogvar 0 +} +else { + local lhs_endogvars "" + local i_endogvar +} + foreach lhs_endogvar of local lhs_endogvars { if ("`stage'"!="none") { diff --git a/source/internal/InnerUseCache.ado b/source/internal/InnerUseCache.ado index 6a04847..576d8e6 100644 --- a/source/internal/InnerUseCache.ado +++ b/source/internal/InnerUseCache.ado @@ -77,8 +77,15 @@ program define InnerUseCache, eclass * STAGES LOOPS foreach stage of local stages { Assert inlist("`stage'", "none", "iv", "first", "ols", "reduced", "acid") -local lhs_endogvars = cond("`stage'"=="first", "`backup_endogvars'", "") -local i_endogvar = cond("`stage'"=="first", "0", "") +if ("`stage'"=="first") { + local lhs_endogvars "`backup_endogvars'" + local i_endogvar 0 +} +else { + local lhs_endogvars "" + local i_endogvar +} + foreach lhs_endogvar of local lhs_endogvars { if ("`stage'"!="none") { diff --git a/source/internal/Parse.ado b/source/internal/Parse.ado index 3eb99b5..f214e74 100644 --- a/source/internal/Parse.ado +++ b/source/internal/Parse.ado @@ -104,9 +104,9 @@ if (!`usecache') { mata: HDFE_S = map_init() // Reads results from r() local will_save_fe = `r(will_save_fe)' // Returned from map_init() - local original_absvars = "`r(original_absvars)'" - local extended_absvars = "`r(extended_absvars)'" - local equation_d = "`r(equation_d)'" + local original_absvars "`r(original_absvars)'" + local extended_absvars "`r(extended_absvars)'" + local equation_d "`r(equation_d)'" } else { local will_save_fe 0 diff --git a/source/internal/Post.ado b/source/internal/Post.ado index 3d0f2c6..0f8f6fa 100644 --- a/source/internal/Post.ado +++ b/source/internal/Post.ado @@ -42,9 +42,9 @@ program define Post, eclass ereturn local predict = "reghdfe_p" ereturn local estat_cmd = "reghdfe_estat" ereturn local footnote = "reghdfe_footnote" - ereturn `hidden' local equation_d = "`equation_d'" // The equation used to construct -d- (used to predict) - ereturn local absvars = "`original_absvars'" - ereturn `hidden' local extended_absvars = "`extended_absvars'" + ereturn `hidden' local equation_d "`equation_d'" // The equation used to construct -d- (used to predict) + ereturn local absvars "`original_absvars'" + ereturn `hidden' local extended_absvars "`extended_absvars'" ereturn `hidden' local diopts = "`diopts'" @@ -171,7 +171,7 @@ program define Post, eclass * List of stored estimates if ("`e(savestages)'"=="1" & "`e(model)'"=="iv") { local stages = "`e(stages)'" - local endogvars = e(endogvars) + local endogvars "`e(endogvars)'" foreach stage of local stages { if ("`stage'"=="first") { local i 0 diff --git a/source/internal/RemoveCollinear.ado b/source/internal/RemoveCollinear.ado index 612fcfb..93917f7 100644 --- a/source/internal/RemoveCollinear.ado +++ b/source/internal/RemoveCollinear.ado @@ -8,7 +8,7 @@ program define RemoveCollinear, rclass syntax, depvar(varname numeric) [indepvars(varlist numeric) weightexp(string)] qui _rmcoll `indepvars' `weightexp', forcedrop - local okvars = r(varlist) + local okvars "`r(varlist)'" if ("`okvars'"==".") local okvars local df_m : list sizeof okvars diff --git a/source/internal/Replay.ado b/source/internal/Replay.ado index 6c7f4a7..af8b883 100644 --- a/source/internal/Replay.ado +++ b/source/internal/Replay.ado @@ -10,7 +10,7 @@ cap pr drop Replay if (`c(version)'>=12) local hidden hidden if ("`stored'"!="" & "`e(stored_estimates)'"!="" & "`e(stage)'"=="iv") { - local est_list = e(stored_estimates) + local est_list "`e(stored_estimates)'" tempname hold estimates store `hold' foreach est of local est_list { diff --git a/source/internal/Wrapper_avar.ado b/source/internal/Wrapper_avar.ado index cc9de37..5963915 100644 --- a/source/internal/Wrapper_avar.ado +++ b/source/internal/Wrapper_avar.ado @@ -55,7 +55,7 @@ program define Wrapper_avar, eclass local predict = e(predict) local cmd = e(cmd) - local cmdline = e(cmdline) + local cmdline `"`e(cmdline)'"' local title = e(title) * Compute the bread of the sandwich inv(X'X/N) @@ -112,7 +112,7 @@ program define Wrapper_avar, eclass ereturn local marginsok = "`marginsok'" ereturn local predict = "`predict'" ereturn local cmd = "`cmd'" - ereturn local cmdline = "`cmdline'" + ereturn local cmdline `"`cmdline'"' ereturn local title = "`title'" ereturn local clustvar = "`clustervars'" diff --git a/source/internal/Wrapper_mwc.ado b/source/internal/Wrapper_mwc.ado index ef0feab..b98c5ed 100644 --- a/source/internal/Wrapper_mwc.ado +++ b/source/internal/Wrapper_mwc.ado @@ -41,7 +41,7 @@ syntax , depvar(varname) [indepvars(varlist)] /// local predict = e(predict) local cmd = e(cmd) - local cmdline = e(cmdline) + local cmdline "`e(cmdline)'" local title = e(title) * Compute the bread of the sandwich D := inv(X'X/N) @@ -124,7 +124,7 @@ syntax , depvar(varname) [indepvars(varlist)] /// ereturn local marginsok = "`marginsok'" ereturn local predict = "`predict'" ereturn local cmd = "`cmd'" - ereturn local cmdline = "`cmdline'" + ereturn local cmdline `"`cmdline'"' ereturn local title = "`title'" ereturn scalar rmse = `rmse' ereturn scalar rss = `rss' diff --git a/source/internal/Wrapper_regress.ado b/source/internal/Wrapper_regress.ado index e50255b..3761b51 100644 --- a/source/internal/Wrapper_regress.ado +++ b/source/internal/Wrapper_regress.ado @@ -48,7 +48,7 @@ program define Wrapper_regress, eclass local predict = e(predict) local cmd = e(cmd) - local cmdline = e(cmdline) + local cmdline "`e(cmdline)'" local title = e(title) * Fix V @@ -72,7 +72,7 @@ program define Wrapper_regress, eclass ereturn local marginsok = "`marginsok'" ereturn local predict = "`predict'" ereturn local cmd = "`cmd'" - ereturn local cmdline = "`cmdline'" + ereturn local cmdline `"`cmdline'"' ereturn local title = "`title'" ereturn local clustvar = "`clustervars'" ereturn scalar rmse = `rmse' diff --git a/source/reghdfe.pkg b/source/reghdfe.pkg index c7a6fe4..2028203 100644 --- a/source/reghdfe.pkg +++ b/source/reghdfe.pkg @@ -18,7 +18,7 @@ d KW: GMM d d Requires: Stata version 11.2 d -d Distribution-Date: 20150726 +d Distribution-Date: 20150729 d f reghdfe.ado diff --git a/source/reghdfe_p.ado b/source/reghdfe_p.ado index 05ef3c1..371f4de 100644 --- a/source/reghdfe_p.ado +++ b/source/reghdfe_p.ado @@ -27,7 +27,7 @@ program define reghdfe_p } if ("`option'"=="scores") local option residuals - local fixed_effects = e(absvars) + local fixed_effects "`e(absvars)'" * Intercept stdp call if ("`option'"=="stdp") { diff --git a/source/version.txt b/source/version.txt index 8a2ef1d..8cb2fd0 100644 --- a/source/version.txt +++ b/source/version.txt @@ -1 +1 @@ -3.2.2 26jul2015 \ No newline at end of file +3.2.3 29jul2015 \ No newline at end of file diff --git a/test/test-absvars.do b/test/test-absvars.do index a557642..79537b4 100644 --- a/test/test-absvars.do +++ b/test/test-absvars.do @@ -4,8 +4,6 @@ sysuse auto, clear set more off -cls - local absvar1 turn local G_1 1