Junio C Hamano <gitster@xxxxxxxxx> writes: > If you want to be able to use this helper to specify a default value > of an empty string (which the orignal that used $4 did), then the > previous hunk must be corrected so that it does not unconditionally > set default_value to $4. Perhaps like > > if test -n "${4+x}" > then > default_value=$4 > else > unset default_value || : > fi > > or something. And if you do not care about passing an empty string as the default value, then the earlier hunk can stay the same default_value=$4 but the eval part should become something like test -n "$default_value" && eval ... Given that you are planning to add yet another optional argument to the helper, and when you pass that variable, you'd probably need to pass "" as the "default" that is not exported, perhaps this "give up ability to pass an empty string as the default" approach may be the only thing you could do.