thundergnat has asked for the wisdom of the Perl Monks concerning the following question:

A script I have written that makes heavy use of Unicode character and block name properties relies on the auto-generated and scripts in the Perl/lib/unicore/ directory. Unfortunately, as of Perl 5.8.5, the script is no longer generated for no apparent reason that I can find. The mktables script in Perl 5.8.5, 5.8.6 and 5.8.7 all build the script, but they never actually write it. (The line is commented out.)

Compare 5.8.4 mktables to 5.8.5 mktables. Notice the file->Write line is commented out in 5.8.5.

5.8.4 $Blocks->Write(""); 5.8.5 # $Blocks->Write("");

I can find no reference in the change log about why this is. There is nothing about being depricated. There IS some commentary in Blocks about Unicode Blocks and the newer, superior, Unicode Scripts, but there is no indication that is no longer available. Interestingly enough, mktables has the file->Write line for commented out too, so I couldn't use that either. In fact,

# $Bidi->Write(""); # $Number->Write(""); # $General->Write(""); # $Lbrk->Write(""); # $ArabLink->Write(""); # $ArabLinkGroup->Write(""); # $Short->Write(""); # $Scripts->Write(""); # $Blocks->Write("");

are ALL commented out for no given reason.

Am I missing something? Is there a notice somewhere about not having any of those available anymore? Uncommenting the commented out lines and re-running mktables generates everything without detectable error. While that is fine for me locally, it becomes problematic for scripts that I am planning to distribute.

For a demo script showing WHY I really want to have access to and see my scratchpad. (You may need to uncomment the Blocks line in mktables and run it before this will work, and you will probably need at least one font installed that has good Unicode coverage.)

2005-12-07 Retitled by holli, as per Monastery guidelines from Some unicore scripts no longer auto-generated?
Original title: 'Some unicore scripts no longer auto-generated?'

2005-12-07 Retitled by holli, as per Monastery guidelines
Original title: 'Some unicode scripts no longer auto-generated?'

Replies are listed 'Best First'.
Re: Some unicore scripts no longer auto-generated?
by robin (Chaplain) on Dec 07, 2005 at 10:18 UTC
    This change was made by japhy: see here and here. I guess you should ask him why he changed it.

    The easiest way to find out when and by whom (and frequently why) something was changed is to use the Blamelog feature of the Perl repository browser. Just click on the line number of the line you're interested in.

      Thanks. Sent a msg to japhy. I wasn't aware of the Blamelog. That certainly would have made trying to track down when and why it got changed much easier had I know about it earlier.

Re: Some unicore scripts no longer auto-generated?
by japhy (Canon) on Dec 07, 2005 at 15:55 UTC
    I've messaged thundergnat; some of the perl files that aren't generated anymore might actually be worth being generated. But the functionality thundergnat is seeking, I think, should be provided natively by Perl. You can get the character name of a character, and vice versa. I think you should also be able to get the block a character (or character name) belongs to, and vice versa.

    To that end, I'm probably going to start another patch Real Soon Now to a) reinstate the creation of those Perl files, and b) create something in charnames (or elsewhere) that tells you about the block a character belongs to.

    Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
    How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart