[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-gettext] msginit on OS X 10.8 displays sed "unterminated substi
From: |
Daiki Ueno |
Subject: |
Re: [bug-gettext] msginit on OS X 10.8 displays sed "unterminated substitute pattern" |
Date: |
Fri, 03 May 2013 19:07:39 +0900 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) |
Hi,
Ben Fox-Moore <address@hidden> writes:
> $ msginit -l en_US -o en_US.po -i hello.pot
> The new message catalog should contain your email address, so that users can
> give you feedback about the translations, and so that maintainers can contact
> you in case of unexpected technical problems.
>
> sed: 8: "{
> h
> s/address@hidden@\(.*\)$/\1 ...": unterminated substitute pattern
I can reproduce this as well. It seems the user-email script (in
/usr/local/lib/gettext/) needs a fix. There is a non-portable sed 's'
command usage like this:
s/\
//
<http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Limitations-of-Usual-Tools.html#sed>
I'm attaching a patch, but I guess there is a smarter solution for this.
Comments would be appreciated.
Regards,
--
Daiki Ueno
>From 97543ced8b32cae0e757baf134a0f2b0367722a9 Mon Sep 17 00:00:00 2001
From: Daiki Ueno <address@hidden>
Date: Fri, 3 May 2013 19:05:52 +0900
Subject: [PATCH] Don't use non-portable newline escape in sed
---
gettext-tools/src/user-email.sh.in | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/gettext-tools/src/user-email.sh.in
b/gettext-tools/src/user-email.sh.in
index 4486bbe..e8096ac 100644
--- a/gettext-tools/src/user-email.sh.in
+++ b/gettext-tools/src/user-email.sh.in
@@ -317,15 +317,9 @@ addresses="$addresses address@hidden"
# Normalize addresses: remove addresses without @, lowercase the part after @,
# and remove duplicates.
-lowercase_sed='{
-h
+lowercase_domain_sed='{
s/address@hidden@\(.*\)$/\1/
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
-x
-s/^\(address@hidden)@.*/\1@/
-G
-s/\
-//
p
}'
naddresses=""
@@ -335,7 +329,7 @@ for addr in $addresses; do
esac
case "$addr" in
address@hidden)
- addr=`echo "$addr" | sed -n -e "$lowercase_sed"`
+ addr=`echo "$addr" | sed -n -e
's/^\(address@hidden)@.*/\1/p'address@hidden "$addr" | sed -n -e
"$lowercase_domain_sed"`
case " $naddresses " in
*" $addr "*) ;;
*) naddresses="$naddresses $addr" ;;
@@ -382,7 +376,7 @@ case "$addresses" in
address@hidden) { gettext "Invalid email address: need a fully
qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;;
*) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ;
continue ;;
esac
- addr=`echo "$answer" | sed -n -e "$lowercase_sed"`
+ addr=`echo "$answer" | sed -n -e
's/^\(address@hidden)@.*/\1/p'address@hidden "$answer" | sed -n -e
"$lowercase_domain_sed"`
break
done
;;
@@ -406,7 +400,7 @@ case "$addresses" in
address@hidden) { gettext "Invalid email address: need a fully
qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;;
*) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ;
continue ;;
esac
- addr=`echo "$answer" | sed -n -e "$lowercase_sed"`
+ addr=`echo "$answer" | sed -n -e
's/^\(address@hidden)@.*/\1/p'address@hidden "$answer" | sed -n -e
"$lowercase_domain_sed"`
break
done
;;
@@ -425,7 +419,7 @@ case "$addresses" in
address@hidden) { gettext "Invalid email address: need a fully
qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;;
*) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ;
continue ;;
esac
- addr=`echo "$answer" | sed -n -e "$lowercase_sed"`
+ addr=`echo "$answer" | sed -n -e
's/^\(address@hidden)@.*/\1/p'address@hidden "$answer" | sed -n -e
"$lowercase_domain_sed"`
break
done
;;
--
1.7.10.4