At 11:33 AM 3/25/2002 +0100, Rafael Garcia-Suarez wrote: >On 2002.03.25 07:16 Craig A. Berry wrote: >> The culprit turns out to be the following section of code from >> yyparse in perly.c: >> >> #if YYDEBUG >[...] > >Apparently there's some incompatibility between VMS and YYDEBUG.
What evidence is there of that? perl -Dp does produce a bunch of interesting-looking output: $ perl -"Dp" -e "print 'hello';" yydebug: after reduction, shifting from state 0 to state 2 yydebug: state 2, reducing by rule 7 (lineseq :) yydebug: after reduction, shifting from state 2 to state 3 . . . Assuming that output is designed to be processed by yacc, I think there is a yacc port for VMS, and even if there weren't, the output might still be useful. >I propose the following patch : (perly.c to be regenerated) The necessity of regeneration reminded me of the existence of vms/vms_yfix.pl, and it turns out this is where the SETERRNO stuff is pasted on. I appears to assume that parsing is only done once at startup time so it is safe to set errno to zero. It really ought to save and restore errno; I'll try to work up a patch that does that. Thanks for the replies.
