git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/5] update_unicode.sh: simplify output capture
@ 2014-12-19 16:21 dev+git
  0 siblings, 0 replies; 8+ messages in thread
From: dev+git @ 2014-12-19 16:21 UTC (permalink / raw)
  To: git

From: Beat Bolli <dev+git@drbeat.li>

Instead of capturing the output of each echo and uniset invocation, wrap
the whole section in a group command and redirect its output all at
once.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
---
 update_unicode.sh | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/update_unicode.sh b/update_unicode.sh
index 000b937..c1c876c 100755
--- a/update_unicode.sh
+++ b/update_unicode.sh
@@ -26,12 +26,13 @@ fi &&
 			./configure --enable-warnings=-Werror CFLAGS='-O0 -ggdb'
 		fi &&
 		make
-	) &&
-	echo "static const struct interval zero_width[] = {" >$UNICODEWIDTH_H &&
-	UNICODE_DIR=. ./uniset/uniset --32 cat:Me,Mn,Cf + U+1160..U+11FF - U+00AD |
-	grep -v plane >>$UNICODEWIDTH_H &&
-	echo "};" >>$UNICODEWIDTH_H &&
-	echo "static const struct interval double_width[] = {" >>$UNICODEWIDTH_H &&
-	UNICODE_DIR=. ./uniset/uniset --32 eaw:F,W >>$UNICODEWIDTH_H &&
-	echo "};" >>$UNICODEWIDTH_H
+	) && {
+		echo "static const struct interval zero_width[] = {" &&
+		UNICODE_DIR=. ./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 &&
+		echo "};"
+	} >$UNICODEWIDTH_H
 )
-- 
2.1.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 1/5] update_unicode.sh: simplify output capture
@ 2014-12-19 16:24 dev+git
  2014-12-19 16:24 ` [PATCH v2 2/5] update_unicode.sh: set UNICODE_DIR only once dev+git
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: dev+git @ 2014-12-19 16:24 UTC (permalink / raw)
  To: git

From: Beat Bolli <dev+git@drbeat.li>

Instead of capturing the output of each echo and uniset invocation, wrap
the whole section in a group command and redirect its output all at
once.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
---
 update_unicode.sh | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/update_unicode.sh b/update_unicode.sh
index 000b937..c1c876c 100755
--- a/update_unicode.sh
+++ b/update_unicode.sh
@@ -26,12 +26,13 @@ fi &&
 			./configure --enable-warnings=-Werror CFLAGS='-O0 -ggdb'
 		fi &&
 		make
-	) &&
-	echo "static const struct interval zero_width[] = {" >$UNICODEWIDTH_H &&
-	UNICODE_DIR=. ./uniset/uniset --32 cat:Me,Mn,Cf + U+1160..U+11FF - U+00AD |
-	grep -v plane >>$UNICODEWIDTH_H &&
-	echo "};" >>$UNICODEWIDTH_H &&
-	echo "static const struct interval double_width[] = {" >>$UNICODEWIDTH_H &&
-	UNICODE_DIR=. ./uniset/uniset --32 eaw:F,W >>$UNICODEWIDTH_H &&
-	echo "};" >>$UNICODEWIDTH_H
+	) && {
+		echo "static const struct interval zero_width[] = {" &&
+		UNICODE_DIR=. ./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 &&
+		echo "};"
+	} >$UNICODEWIDTH_H
 )
-- 
2.1.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 2/5] update_unicode.sh: set UNICODE_DIR only once
  2014-12-19 16:24 [PATCH v2 1/5] update_unicode.sh: simplify output capture dev+git
@ 2014-12-19 16:24 ` dev+git
  2014-12-22 18:02   ` Junio C Hamano
  2014-12-19 16:24 ` [PATCH v2 3/5] update_unicode.sh: shorten uniset invocation path dev+git
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: dev+git @ 2014-12-19 16:24 UTC (permalink / raw)
  To: git

From: Beat Bolli <dev+git@drbeat.li>

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.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
---
 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
 )
-- 
2.1.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 3/5] update_unicode.sh: shorten uniset invocation path
  2014-12-19 16:24 [PATCH v2 1/5] update_unicode.sh: simplify output capture dev+git
  2014-12-19 16:24 ` [PATCH v2 2/5] update_unicode.sh: set UNICODE_DIR only once dev+git
@ 2014-12-19 16:24 ` dev+git
  2014-12-19 16:24 ` [PATCH v2 4/5] update_unicode.sh: Make the output structure visible dev+git
  2014-12-19 16:24 ` [PATCH v2 5/5] update_unicode.sh: Delete the command group dev+git
  3 siblings, 0 replies; 8+ messages in thread
From: dev+git @ 2014-12-19 16:24 UTC (permalink / raw)
  To: git

From: Beat Bolli <dev+git@drbeat.li>

"uniset/uniset" is a relative path; there's no need to prefix it with "./".

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
---
 update_unicode.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/update_unicode.sh b/update_unicode.sh
index bed8916..f5cc14b 100755
--- a/update_unicode.sh
+++ b/update_unicode.sh
@@ -29,11 +29,11 @@ fi &&
 	) && {
 		UNICODE_DIR=. && export UNICODE_DIR &&
 		echo "static const struct interval zero_width[] = {" &&
-		./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[] = {" &&
-		./uniset/uniset --32 eaw:F,W &&
+		uniset/uniset --32 eaw:F,W &&
 		echo "};"
 	} >$UNICODEWIDTH_H
 )
-- 
2.1.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 4/5] update_unicode.sh: Make the output structure visible
  2014-12-19 16:24 [PATCH v2 1/5] update_unicode.sh: simplify output capture dev+git
  2014-12-19 16:24 ` [PATCH v2 2/5] update_unicode.sh: set UNICODE_DIR only once dev+git
  2014-12-19 16:24 ` [PATCH v2 3/5] update_unicode.sh: shorten uniset invocation path dev+git
@ 2014-12-19 16:24 ` dev+git
  2014-12-19 16:24 ` [PATCH v2 5/5] update_unicode.sh: Delete the command group dev+git
  3 siblings, 0 replies; 8+ messages in thread
From: dev+git @ 2014-12-19 16:24 UTC (permalink / raw)
  To: git

From: Beat Bolli <dev+git@drbeat.li>

By using a here document instead of the echo/uniset sequence, the final
structure of the generated file becomes obvious.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
---
 update_unicode.sh | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/update_unicode.sh b/update_unicode.sh
index f5cc14b..d7343b9 100755
--- a/update_unicode.sh
+++ b/update_unicode.sh
@@ -28,12 +28,14 @@ fi &&
 		make
 	) && {
 		UNICODE_DIR=. && export UNICODE_DIR &&
-		echo "static const struct interval zero_width[] = {" &&
-		uniset/uniset --32 cat:Me,Mn,Cf + U+1160..U+11FF - U+00AD |
-		grep -v plane &&
-		echo "};" &&
-		echo "static const struct interval double_width[] = {" &&
-		uniset/uniset --32 eaw:F,W &&
-		echo "};"
+		cat <<-EOF
+		static const struct interval zero_width[] = {
+			$(uniset/uniset --32 cat:Me,Mn,Cf \
+			  + U+1160..U+11FF - U+00AD | grep -v plane)
+		};
+		static const struct interval double_width[] = {
+			$(uniset/uniset --32 eaw:F,W)
+		};
+		EOF
 	} >$UNICODEWIDTH_H
 )
-- 
2.1.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 5/5] update_unicode.sh: Delete the command group
  2014-12-19 16:24 [PATCH v2 1/5] update_unicode.sh: simplify output capture dev+git
                   ` (2 preceding siblings ...)
  2014-12-19 16:24 ` [PATCH v2 4/5] update_unicode.sh: Make the output structure visible dev+git
@ 2014-12-19 16:24 ` dev+git
  3 siblings, 0 replies; 8+ messages in thread
From: dev+git @ 2014-12-19 16:24 UTC (permalink / raw)
  To: git

From: Beat Bolli <dev+git@drbeat.li>

Now that the whole file is generated by one single command, the command
group is no longer needed.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
---
 update_unicode.sh | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/update_unicode.sh b/update_unicode.sh
index d7343b9..27af77c 100755
--- a/update_unicode.sh
+++ b/update_unicode.sh
@@ -26,16 +26,15 @@ fi &&
 			./configure --enable-warnings=-Werror CFLAGS='-O0 -ggdb'
 		fi &&
 		make
-	) && {
-		UNICODE_DIR=. && export UNICODE_DIR &&
-		cat <<-EOF
-		static const struct interval zero_width[] = {
-			$(uniset/uniset --32 cat:Me,Mn,Cf \
-			  + U+1160..U+11FF - U+00AD | grep -v plane)
-		};
-		static const struct interval double_width[] = {
-			$(uniset/uniset --32 eaw:F,W)
-		};
-		EOF
-	} >$UNICODEWIDTH_H
+	) &&
+	UNICODE_DIR=. && export UNICODE_DIR &&
+	cat >$UNICODEWIDTH_H <<-EOF
+	static const struct interval zero_width[] = {
+		$(uniset/uniset --32 cat:Me,Mn,Cf + U+1160..U+11FF - U+00AD |
+		  grep -v plane)
+	};
+	static const struct interval double_width[] = {
+		$(uniset/uniset --32 eaw:F,W)
+	};
+	EOF
 )
-- 
2.1.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 2/5] update_unicode.sh: set UNICODE_DIR only once
  2014-12-19 16:24 ` [PATCH v2 2/5] update_unicode.sh: set UNICODE_DIR only once dev+git
@ 2014-12-22 18:02   ` Junio C Hamano
  2014-12-23  0:32     ` Beat Bolli
  0 siblings, 1 reply; 8+ messages in thread
From: Junio C Hamano @ 2014-12-22 18:02 UTC (permalink / raw)
  To: dev+git; +Cc: git

dev+git@drbeat.li writes:

> From: Beat Bolli <dev+git@drbeat.li>
>
> 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 <dev+git@drbeat.li>
> ---
>  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
>  )

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 2/5] update_unicode.sh: set UNICODE_DIR only once
  2014-12-22 18:02   ` Junio C Hamano
@ 2014-12-23  0:32     ` Beat Bolli
  0 siblings, 0 replies; 8+ messages in thread
From: Beat Bolli @ 2014-12-23  0:32 UTC (permalink / raw)
  To: Junio C Hamano, dev+git; +Cc: git

On 22.12.14 19:02, Junio C Hamano wrote:
> dev+git@drbeat.li writes:
> 
>> From: Beat Bolli <dev+git@drbeat.li>
>>
>> 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 don't introduce a new one, but we're still in the outer subshell that
starts on line 12 "( cd unicode &&".

> 
> I'll reword it to "Since this is done as the last command, ..."
> 
> Thanks.
> 
>>
>> Signed-off-by: Beat Bolli <dev+git@drbeat.li>
>> ---
>>  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
>>  )

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-12-23  0:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-19 16:24 [PATCH v2 1/5] update_unicode.sh: simplify output capture dev+git
2014-12-19 16:24 ` [PATCH v2 2/5] update_unicode.sh: set UNICODE_DIR only once dev+git
2014-12-22 18:02   ` Junio C Hamano
2014-12-23  0:32     ` Beat Bolli
2014-12-19 16:24 ` [PATCH v2 3/5] update_unicode.sh: shorten uniset invocation path dev+git
2014-12-19 16:24 ` [PATCH v2 4/5] update_unicode.sh: Make the output structure visible dev+git
2014-12-19 16:24 ` [PATCH v2 5/5] update_unicode.sh: Delete the command group dev+git
  -- strict thread matches above, loose matches on Subject: below --
2014-12-19 16:21 [PATCH v2 1/5] update_unicode.sh: simplify output capture dev+git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).