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