git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/5] update_unicode.sh: simplify output capture
@ 2014-12-19 14:39 dev+git
  2014-12-19 14:39 ` [PATCH 2/5] update_unicode.sh: set UNICODE_DIR only once dev+git
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: dev+git @ 2014-12-19 14:39 UTC (permalink / raw)
  To: git; +Cc: tboegi, Beat Bolli

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] 9+ messages in thread

* [PATCH 2/5] update_unicode.sh: set UNICODE_DIR only once
  2014-12-19 14:39 [PATCH 1/5] update_unicode.sh: simplify output capture dev+git
@ 2014-12-19 14:39 ` dev+git
  2014-12-19 14:39 ` [PATCH 3/5] update_unicode.sh: shorten uniset invocation path dev+git
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: dev+git @ 2014-12-19 14:39 UTC (permalink / raw)
  To: git; +Cc: tboegi, Beat Bolli

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] 9+ messages in thread

* [PATCH 3/5] update_unicode.sh: shorten uniset invocation path
  2014-12-19 14:39 [PATCH 1/5] update_unicode.sh: simplify output capture dev+git
  2014-12-19 14:39 ` [PATCH 2/5] update_unicode.sh: set UNICODE_DIR only once dev+git
@ 2014-12-19 14:39 ` dev+git
  2014-12-19 14:39 ` [PATCH 4/5] update_unicode.sh: Make the output structure visible dev+git
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: dev+git @ 2014-12-19 14:39 UTC (permalink / raw)
  To: git; +Cc: tboegi, Beat Bolli

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] 9+ messages in thread

* [PATCH 4/5] update_unicode.sh: Make the output structure visible
  2014-12-19 14:39 [PATCH 1/5] update_unicode.sh: simplify output capture dev+git
  2014-12-19 14:39 ` [PATCH 2/5] update_unicode.sh: set UNICODE_DIR only once dev+git
  2014-12-19 14:39 ` [PATCH 3/5] update_unicode.sh: shorten uniset invocation path dev+git
@ 2014-12-19 14:39 ` dev+git
  2014-12-19 15:22   ` Jeff King
  2014-12-19 14:39 ` [PATCH 5/5] update_unicode.sh: Delete the command group dev+git
  2014-12-19 15:12 ` [PATCH 1/5] update_unicode.sh: simplify output capture Beat Bolli
  4 siblings, 1 reply; 9+ messages in thread
From: dev+git @ 2014-12-19 14:39 UTC (permalink / raw)
  To: git; +Cc: tboegi, Beat Bolli

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

By using printf 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 | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/update_unicode.sh b/update_unicode.sh
index f5cc14b..61968d9 100755
--- a/update_unicode.sh
+++ b/update_unicode.sh
@@ -28,12 +28,16 @@ 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 "};"
+		printf "\
+static const struct interval zero_width[] = {
+%s
+};
+static const struct interval double_width[] = {
+%s
+};
+" \
+		"$(uniset/uniset --32 cat:Me,Mn,Cf + U+1160..U+11FF - U+00AD |
+		grep -v plane)" \
+		"$(uniset/uniset --32 eaw:F,W)"
 	} >$UNICODEWIDTH_H
 )
-- 
2.1.3

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

* [PATCH 5/5] update_unicode.sh: Delete the command group
  2014-12-19 14:39 [PATCH 1/5] update_unicode.sh: simplify output capture dev+git
                   ` (2 preceding siblings ...)
  2014-12-19 14:39 ` [PATCH 4/5] update_unicode.sh: Make the output structure visible dev+git
@ 2014-12-19 14:39 ` dev+git
  2014-12-19 15:12 ` [PATCH 1/5] update_unicode.sh: simplify output capture Beat Bolli
  4 siblings, 0 replies; 9+ messages in thread
From: dev+git @ 2014-12-19 14:39 UTC (permalink / raw)
  To: git; +Cc: tboegi, Beat Bolli

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 | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/update_unicode.sh b/update_unicode.sh
index 61968d9..45bd12a 100755
--- a/update_unicode.sh
+++ b/update_unicode.sh
@@ -26,9 +26,9 @@ fi &&
 			./configure --enable-warnings=-Werror CFLAGS='-O0 -ggdb'
 		fi &&
 		make
-	) && {
-		UNICODE_DIR=. && export UNICODE_DIR &&
-		printf "\
+	) &&
+	UNICODE_DIR=. && export UNICODE_DIR &&
+	printf "\
 static const struct interval zero_width[] = {
 %s
 };
@@ -36,8 +36,7 @@ static const struct interval double_width[] = {
 %s
 };
 " \
-		"$(uniset/uniset --32 cat:Me,Mn,Cf + U+1160..U+11FF - U+00AD |
-		grep -v plane)" \
-		"$(uniset/uniset --32 eaw:F,W)"
-	} >$UNICODEWIDTH_H
+	"$(uniset/uniset --32 cat:Me,Mn,Cf + U+1160..U+11FF - U+00AD |
+	grep -v plane)" \
+	"$(uniset/uniset --32 eaw:F,W)" >$UNICODEWIDTH_H
 )
-- 
2.1.3

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

* Re: [PATCH 1/5] update_unicode.sh: simplify output capture
  2014-12-19 14:39 [PATCH 1/5] update_unicode.sh: simplify output capture dev+git
                   ` (3 preceding siblings ...)
  2014-12-19 14:39 ` [PATCH 5/5] update_unicode.sh: Delete the command group dev+git
@ 2014-12-19 15:12 ` Beat Bolli
  4 siblings, 0 replies; 9+ messages in thread
From: Beat Bolli @ 2014-12-19 15:12 UTC (permalink / raw)
  To: git; +Cc: tboegi

[-- Attachment #1: Type: text/plain, Size: 449 bytes --]

On 19.12.14 15:39, dev+git@drbeat.li wrote:

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

Sorry, it looks like git send-email borked these messages. This line
should be part of the mail headers.

Regards,
Beat Bolli

-- 
https://drbeat.li
pgp: 0x506A903A; 49D5 794A EA77 F907 764F  D89E 304B 93CF 506A 903A
gsm: 4.7.7.6.0.7.7.9.7.1.4.e164.arpa
icbm: 47.0452 N, 7.2715 E

"It takes love over gold, and mind over matter" -- Dire Straits


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

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

* Re: [PATCH 4/5] update_unicode.sh: Make the output structure visible
  2014-12-19 14:39 ` [PATCH 4/5] update_unicode.sh: Make the output structure visible dev+git
@ 2014-12-19 15:22   ` Jeff King
  2014-12-19 15:43     ` Beat Bolli
  0 siblings, 1 reply; 9+ messages in thread
From: Jeff King @ 2014-12-19 15:22 UTC (permalink / raw)
  To: dev+git; +Cc: git, tboegi

On Fri, Dec 19, 2014 at 03:39:30PM +0100, dev+git@drbeat.li wrote:

> By using printf instead of the echo/uniset sequence, the final structure
> of the generated file becomes obvious.

This whole series looks pretty sane to me, and the result is easier to
read.

I did wonder if a here-doc would be even easier than a PDF, like:

  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

The nice thing is that <<- will strip leading tabs, which means you can
indent properly to match the surrounding code. I don't know if you find
the in-line $() more readable or not, though.

I think either way it is an improvement over the current state.

-Peff

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

* Re: [PATCH 4/5] update_unicode.sh: Make the output structure visible
  2014-12-19 15:22   ` Jeff King
@ 2014-12-19 15:43     ` Beat Bolli
  2014-12-19 15:48       ` Jeff King
  0 siblings, 1 reply; 9+ messages in thread
From: Beat Bolli @ 2014-12-19 15:43 UTC (permalink / raw)
  To: Jeff King, dev+git; +Cc: git, tboegi

[-- Attachment #1: Type: text/plain, Size: 1178 bytes --]

On 19.12.14 16:22, Jeff King wrote:
> On Fri, Dec 19, 2014 at 03:39:30PM +0100, dev+git@drbeat.li wrote:
> 
>> By using printf instead of the echo/uniset sequence, the final structure
>> of the generated file becomes obvious.
> 
> This whole series looks pretty sane to me, and the result is easier to
> read.
> 
> I did wonder if a here-doc would be even easier than a PDF, like:
> 
>   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
> 
> The nice thing is that <<- will strip leading tabs, which means you can
> indent properly to match the surrounding code. I don't know if you find
> the in-line $() more readable or not, though.

I think the code looks much nicer with a here doc.

Checking in t/, it looks that there's no consensus about whether to
indent the content relative to the cat statement or not. What do you
suggest?

> I think either way it is an improvement over the current state.

Thanks!

Beat



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

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

* Re: [PATCH 4/5] update_unicode.sh: Make the output structure visible
  2014-12-19 15:43     ` Beat Bolli
@ 2014-12-19 15:48       ` Jeff King
  0 siblings, 0 replies; 9+ messages in thread
From: Jeff King @ 2014-12-19 15:48 UTC (permalink / raw)
  To: Beat Bolli; +Cc: dev+git, git, tboegi

On Fri, Dec 19, 2014 at 04:43:51PM +0100, Beat Bolli wrote:

> I think the code looks much nicer with a here doc.
> 
> Checking in t/, it looks that there's no consensus about whether to
> indent the content relative to the cat statement or not. What do you
> suggest?

I think we typically do it at the same level as the `cat`. Checking "git
grep -A1 '<<-'" does show a mix, but skimming over it I think what I
suggested is more common.

-Peff

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

end of thread, other threads:[~2014-12-19 15:48 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-19 14:39 [PATCH 1/5] update_unicode.sh: simplify output capture dev+git
2014-12-19 14:39 ` [PATCH 2/5] update_unicode.sh: set UNICODE_DIR only once dev+git
2014-12-19 14:39 ` [PATCH 3/5] update_unicode.sh: shorten uniset invocation path dev+git
2014-12-19 14:39 ` [PATCH 4/5] update_unicode.sh: Make the output structure visible dev+git
2014-12-19 15:22   ` Jeff King
2014-12-19 15:43     ` Beat Bolli
2014-12-19 15:48       ` Jeff King
2014-12-19 14:39 ` [PATCH 5/5] update_unicode.sh: Delete the command group dev+git
2014-12-19 15:12 ` [PATCH 1/5] update_unicode.sh: simplify output capture Beat Bolli

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).