At 1:40 PM -0400 10/22/05, John E. Malmberg wrote:
>TODO list (not in the order that I may get to them, and if someone gets to 
>them first, I certainly do not mind :-).
>
>* VMS::Filespec::case_tolerant now reflects the true state of
>  case tolerance expected by the person running Perl.
>  Unfortunately several files and directories in Perl are being
>  created in the wrong case, and it is possible that many perl

Shouldn't case tolerant mean we don't care what case they're created
in?  And isn't it unzip, tar, etc. rather than Perl that determines
what case the filenames are created with?

>
>* The VMS HP/Compaq/DEC C compiler can produce shortened (crc mangled)
>  symbol names for public symbols longer than 31 characters.  Of course
>  the dynamic loader in Perl on VMS can not handle them.

The xsubpp processor that converts .XS into .c when building a Perl
extension needs to know what the symbol names will be from within
Perl.  That's why it has its own symbol shortening algorithm that has
been working just fine for years for extension building.  There are
of course still potential issues when dealing with external
libraries, and getting support for the C++ compiler working may also
involve looking at this because of its own name mangling features.

>
>* Bash shell support.  This needs lots of work.  Pipes need to be fixed.

In principle, just replacing my_popen() and my_pclose() in vms/vms.c
with another implementation would be all that's needed.  Also,
Perl_my_waitpid() would need some work.  I think the choice of a pipe
implementation should be a configure-time option, though, as folks on
older versions of VMS will  probably be best served by what we've got
now, and in fact there's no proof as yet that currently available
alternatives are better.

>  Environment variable handling needs to be changed.  The bash shell
>  can only see environment variable set in the C library environment
>  table where Perl usually will not put them. 

If the logical name PERL_ENV_TABLES is defined to CRTL_ENV at
start-up time, then Perl's %ENV will map to the CRTL environ array
and will not use logical names.  If you have a way to determine at
start-up that you're running under bash, you could hard-wire this or
at least change the default in that environment.  See the following
docs on how this works:

http://perldoc.perl.org/perlvms.html#Perl-variables


>* The perl5db_pids feature does not work on VMS unless Perl is being run
>  under the bash shell.

The basic issue, IIRC, is that the debugger does not expect an %ENV
element to persist after program exit the way supervisor mode logical names do.


-- 
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Reply via email to