The following gets perldoc working again on VMS. There is more discusion of why this works here:
<http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/2002-04/msg00106.html> The test suite looks the same before and after this patch. --- vms/vms.c;-0 Tue Apr 9 14:26:06 2002 +++ vms/vms.c Fri Apr 19 17:32:36 2002 @@ -2200,7 +2200,7 @@ safe_popen(pTHX_ char *cmd, char *in_mode, int *psts) { static int handler_set_up = FALSE; - unsigned long int sts, flags=1; /* nowait - gnu c doesn't allow &1 */ + unsigned long int sts, flags = CLI$M_NOWAIT; unsigned int table = LIB$K_CLI_GLOBAL_SYM; int j, wait = 0; char *p, mode[10], symbol[MAX_DCL_SYMBOL+1], *vmspipe; @@ -2471,7 +2471,11 @@ info->next=open_pipes; /* prepend to list */ open_pipes=info; _ckvmssts(sys$setast(1)); - _ckvmssts(lib$spawn(&vmspipedsc, &nl_desc, &nl_desc, &flags, + /* Omit arg 2 (input file) so the child will get the parent's SYS$INPUT + * and SYS$COMMAND. vmspipe.com will redefine SYS$INPUT, but we'll still + * have SYS$COMMAND if we need it. + */ + _ckvmssts(lib$spawn(&vmspipedsc, 0, &nl_desc, &flags, 0, &info->pid, &info->completion, 0, popen_completion_ast,info,0,0,0)); [end of patch] -- ________________________________________ Craig A. Berry mailto:[EMAIL PROTECTED] "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser
