in reply to Re^3: 'use' inside or outside of package declaration?
in thread 'use' inside or outside of package declaration?

Just a note: Darwin HSF+ uses NFD (with some deviations), not NFC. I've been bitten by it, you cannot even do
touch á cat á
in the shell.

Replies are listed 'Best First'.
Re^5: 'use' inside or outside of package declaration?
by tchrist (Pilgrim) on May 12, 2011 at 12:16 UTC
    Yes, sorry, I wrote NFC but described NFD. I’ll fix it. However, your example of something that doesn’t work, does. Watch:
    % uniquote -v t echo foo > \N{LATIN SMALL LETTER A WITH ACUTE} cat \N{LATIN SMALL LETTER A WITH ACUTE} % sh /tmp/t foo % ls a? | uniquote -v a\N{COMBINING ACUTE ACCENT}
    It has to work that way, because the same NFC conversion takes place for all filenames passed to open. But I do know what you mean. It depends on the syscall. Apparently stat doesn’t do that, since there you have to do it yourself:
    % perl -le 'print -e "\xE1" ? "Yes" : "No"' No % perl -MUnicode::Normalize -le 'print -e NFC("\xE1") ? "Yes" : "No"' Yes


    I see my stalker is back. Yawn!

      OK, I don't have any HFS handy. Maybe it was touch and ls, which would be in accord with what you show about stat.