Craig A. Berry wrote:
At 6:57 AM -0400 9/22/05, John E. Malmberg wrote:
Two other features are also needed:
vmsish::vms_pipe_mbx_line_size($value)
Currently this is controlled by an undocumented logical name.
It is documented. See
http://perldoc.perl.org/perlvms.html#Pipes
That's not in and of itself a reason we can't have another control
mechanism as well, though this seems like a low priority to me.
Ok, I got confused because on another thread where I mentioned that
feature, someone said it was not documented and suggested that it be
added to the documentation.
Actually I am more interested in removing the need to adjust it if I
can. The underlying CRTL/VMS version may have an effect on how
successful that I am. So I will drop this for now.
vmsish::unlink_all_versions($value)
If the value is only on or off, then that should be
use vmsish 'unlink_all_versions';
and
use vmsish 'nounlink_all_versions';
It is, I will see about implementing that change. The default should be
the config setting when not running Perl under the GNV Bash shell.
When running Perl under the GNV Bash shell, the default should be
to use vmsish 'unlink_all_versions' regardless of the config setting, as
the config setting defaults to it being off.
Then the config setting can be recommended to be left at the default.
I do not think it handles the rename() case correctly now anyway.
This needs to be a run time instead of a build time setting. Also
>>the rename method needs to honor it.
>>Another "exit" mode is needed that encodes the UNIX like status into
a >>VMS status code in the way that the GNV Bash shell and other C
program >>would expect it to be.
>>
>Well, it could alternately be
>
> use vmsish 'posix_exit';
>
>or
>
> use vmsish 'noposix_exit';
>
> and this would have to be wired to the existing C<use vmsish 'exit';>
> so that setting one clears the other and vice versa.
Ok, I will see if I can figure that out. Default for under the Bash
shell if I can figure out how to detect it will be for 'posix_exit'.
Peter Prymmer wrote:
: By the way, one often requested feature is to get a VMS exit 0
: (that is $STATUS = 0 and $SEVERITY = 0), which the C exit and/or
: return statements do not support, but an XS module that does:
I will try to clearly document why that is always a very bad idea to do,
and maybe it will discourage people from asking for it.
Status codes returned from VMS programs should always be ones that match
a code generated by the VMS Message utility, not made up numbers from an
application.
For C programs the _POSIX_EXIT macro provides a way to encode the
numbers 0 through 255 into a VMS status that the CRTL routines that
return child status codes will decode back to the original number.
Blead-Perl now knows how to decode those numbers correctly and will
set the UNIX return status appropriately. Adding this vmsish setting
will make Perl work as a well behaved child to Perl and other C
applications.
-John
[EMAIL PROTECTED]
Personal Opinion Only