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.

Reply via email to