Subject: Re: [PATCH v2 2/5] update_unicode.sh: set UNICODE_DIR only once

From: Junio C Hamano <[email-masked]>
Date: Mon, 22 Dec 2014 10:02:16 -0800

[email-masked] writes:

> From: Beat Bolli <[email-masked]>
>
> The value is the same on both uniset invocations, so "Don't Repeat
> Yourself" applies.
>
> Since we're in a subshell already, there's no need to unset UNICODE_DIR
> at the end.

Strictly speaking, you are not introducing your own subshell to
prevent the environment from leaking (i.e. you used "{...}" not
"(...)" in the previous step).  The reason you can do this is
because the generation of UNICODEWIDTH_H file is the last thing in
the subshell.

I'll reword it to "Since this is done as the last command, ..."

Thanks.

>
> Signed-off-by: Beat Bolli <[email-masked]>
> ---
>  update_unicode.sh | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/update_unicode.sh b/update_unicode.sh
> index c1c876c..bed8916 100755
> --- a/update_unicode.sh
> +++ b/update_unicode.sh
> @@ -27,12 +27,13 @@ fi &&
>  		fi &&
>  		make
>  	) && {
> +		UNICODE_DIR=. && export UNICODE_DIR &&
>  		echo "static const struct interval zero_width[] = {" &&
> -		UNICODE_DIR=. ./uniset/uniset --32 cat:Me,Mn,Cf + U+1160..U+11FF - U+00AD |
> +		./uniset/uniset --32 cat:Me,Mn,Cf + U+1160..U+11FF - U+00AD |
>  		grep -v plane &&
>  		echo "};" &&
>  		echo "static const struct interval double_width[] = {" &&
> -		UNICODE_DIR=. ./uniset/uniset --32 eaw:F,W &&
> +		./uniset/uniset --32 eaw:F,W &&
>  		echo "};"
>  	} >$UNICODEWIDTH_H
>  )