Craig A. Berry wrote:
At 10:39 PM -0500 12/5/05, John E. Malmberg wrote:

The canonpath() routine still has a bug where it does not ignore
characters preceded by a '^' when it is searching for directory
fragments to remove. In particular, '^.' is a period character in a
directory specification, not a '^' character followed by a delimiter.

Peter Prymmer suggested a change some time ago that I don't think we
ever followed up on.  It may not be canonpath but something canonpath
relies on that needs changing, or it might be both.  See:

http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/2003-09/msg00053.html

The above patch does not address the canonpath() issue.

But I missed doing the change to Configure.com, as I did not trip over that.

Most of the fixes for the common cases of '^' handling and "/perl.5.8.7/" handling are now in blead and activated by the DECC$EFS_CHARSET logical name or C feature, which is what the CRTL also needs to handle them.

I have an 'experimental' Mutant Perl 5.8.7 that fixes the most common cases of extended character set processing because HP has customers that require this functionality now.

For the library and external modules, the patch files for everything except vms.c and vmsish.h have already been posted to the vmsperl mailing list, and can be viewed in the archives, if someone wants to move faster than I am able to on this.

Case preserved mode and case sensitive mode are also available in the blead version of VMS.C.

To make case preserved mode work, some perl modules need to be changed. The 5.8.7 diffs are a roadmap.

To make the case sensitive mode work, the case preserved mode work needs to be done, and then the build and install procedures for Perl on VMS need to be fixed to create files and directories in the correct case, and possibly a fixup procedure written.

Right now, I am real close to finishing a change to vms.c that will remove the 256 character limit on file specifications on 64 bit platforms. I just need some time to verify that it does not break anything in either it's dormant or VAX mode, or it's active mode.

Once I remove that limit from vms.c, I will look to see if other core routines are also making that assumption about VMS file specifications.

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to