bug-gettext
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]