On Thu, May 31, 2012 at 2:14 PM, Lanny Ripple <[email protected]> wrote:
> fink sed (unexpected.  .* breaks at é):
>
>  lanny;~> echo "Rémi Leblond" | LANG=C LC_ALL=C /sw/bin/sed -ne 
> 's/.*/GIT_AUTHOR_NAME='\''&'\''/p'
>  GIT_AUTHOR_NAME='R'émi Leblond

I poked around this as much as could. It appears to be something in
how the Fink sed interprets a UTF-8 string when told the locale is C
(or at least, non-UTF-8). If you define LANG/LC_ALL as en_US.UTF-8
then it works.

My hunch is that it's in libiconv. Fink sed links to it through
libintl but Apple sed only links to libSystem. I tried compiling
libiconv a couple different ways and couldn't get a different result.

A better question would be, why does git redefine LANG/LC_ALL? I bet
it's because they wanted sed to provide a binary copy of AUTHOR and
other variables, but that seems like a very fragile thing to do when
you mix regular expressions in.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Fink-users mailing list
[email protected]
List archive:
http://news.gmane.org/gmane.os.macosx.fink.user
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-users

Reply via email to