Junio C Hamano <gitster@xxxxxxxxx> writes: > Comparing these changes that involve "\$variable" ... > > dashless=$(basename -- "$0" | sed -e 's/-/ /') > usage() { > - die "usage: $dashless $USAGE" > + die "$(eval_gettext "usage: \$dashless \$USAGE")" > ... and these that appear in the same patch ... > > @@ -190,13 +193,16 @@ cd_to_toplevel () { > require_work_tree_exists () { > if test "z$(git rev-parse --is-bare-repository)" != zfalse > then > - die "fatal: $0 cannot be used without a working tree." > + program_name=$0 > + die "$(gettext "fatal: \$program_name cannot be used without a working tree.")" > ... > > tells me that the latter needs to be eval_gettext? Just for fun: $ git grep -n '[^_]gettext .*\\\$' shows three hits. Two of them are from that one. The other is at git-rebase--interactive.sh:440 Perhaps like this to fix. -- >8 -- Subject: rebase -i: fix mistaken i18n f2d17068fd ("i18n: rebase-interactive: mark comments of squash for translation", 2016-06-17) attempted to apply sh-i18n and failed to use $(eval_gettext "string with \$variable interpolation"). Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- git-rebase--interactive.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 41fd374c72..96865b2375 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -437,7 +437,8 @@ update_squash_messages () { }' <"$squash_msg".bak } >"$squash_msg" else - commit_message HEAD > "$fixup_msg" || die "$(gettext "Cannot write \$fixup_msg")" + commit_message HEAD >"$fixup_msg" || + die "$(eval_gettext "Cannot write \$fixup_msg")" count=2 { printf '%s\n' "$comment_char $(gettext "This is a combination of 2 commits.")"