diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 2000-03-05 20:02:17 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 2000-03-05 20:02:17 +0000 |
commit | 1c1fc3ea10284b28de560550fae130e9d453e5c1 (patch) | |
tree | 7da6495780973d7c827b272d80eb332f1d347fc5 | |
parent | 5963b987d451051651e0ba84aeab7c2129af761e (diff) | |
download | perl-1c1fc3ea10284b28de560550fae130e9d453e5c1.tar.gz |
prototype changes for eventually supporting C<binmode(F, ":raw")>
and C<open F, "-|", 'cat', '-v'>
p4raw-id: //depot/perl@5554
-rw-r--r-- | opcode.h | 4 | ||||
-rwxr-xr-x | opcode.pl | 4 | ||||
-rw-r--r-- | pod/perlfunc.pod | 4 | ||||
-rw-r--r-- | pp.c | 2 | ||||
-rwxr-xr-x | t/comp/proto.t | 2 | ||||
-rw-r--r-- | toke.c | 2 |
6 files changed, 10 insertions, 8 deletions
@@ -1643,12 +1643,12 @@ EXT U32 PL_opargs[] = { 0x00001a44, /* dump */ 0x00001a44, /* goto */ 0x00013644, /* exit */ - 0x0132c81c, /* open */ + 0x0052c81c, /* open */ 0x0001d614, /* close */ 0x000cc814, /* pipe_op */ 0x0000d61c, /* fileno */ 0x0001361c, /* umask */ - 0x0000d604, /* binmode */ + 0x0012c804, /* binmode */ 0x0042e855, /* tie */ 0x0000f614, /* untie */ 0x0000f604, /* tied */ @@ -605,13 +605,13 @@ exit exit ck_fun ds% S? # I/O. -open open ck_fun ist@ F S? S? +open open ck_fun ist@ F S? L close close ck_fun is% F? pipe_op pipe ck_fun is@ F F fileno fileno ck_fun ist% F umask umask ck_fun ist% S? -binmode binmode ck_fun s% F +binmode binmode ck_fun s@ F S? tie tie ck_fun idms@ R S L untie untie ck_fun is% R diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 758b573374..650a00a842 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -439,6 +439,8 @@ does. Returns true if it succeeded, false otherwise. NAME should be a packed address of the appropriate type for the socket. See the examples in L<perlipc/"Sockets: Client/Server Communication">. +=item binmode FILEHANDLE, DISCIPLINE + =item binmode FILEHANDLE Arranges for FILEHANDLE to be read or written in "binary" mode on @@ -2538,7 +2540,7 @@ to be converted into a file mode, for example. (Although perl will automatically convert strings into numbers as needed, this automatic conversion assumes base 10.) -=item open FILEHANDLE,MODE,EXPR +=item open FILEHANDLE,MODE,LIST =item open FILEHANDLE,EXPR @@ -426,7 +426,7 @@ PP(pp_prototype) seen_question = 1; str[n++] = ';'; } - else if (seen_question) + else if (n && str[0] == ';' && seen_question) goto set; /* XXXX system, exec */ if ((oa & (OA_OPTIONAL - 1)) >= OA_AVREF && (oa & (OA_OPTIONAL - 1)) <= OA_HVREF) { diff --git a/t/comp/proto.t b/t/comp/proto.t index 6381facbea..ee17088be2 100755 --- a/t/comp/proto.t +++ b/t/comp/proto.t @@ -384,7 +384,7 @@ print "ok ", $i++, "\n"; print "not " if defined prototype('CORE::system'); print "ok ", $i++, "\n"; -print "# CORE::open => ($p)\nnot " if ($p = prototype('CORE::open')) ne '*;$;$'; +print "# CORE::open => ($p)\nnot " if ($p = prototype('CORE::open')) ne '*;$@'; print "ok ", $i++, "\n"; print "# CORE:Foo => ($p), \$@ => `$@'\nnot " @@ -3984,7 +3984,7 @@ Perl_yylex(pTHX) LOP(OP_BIND,XTERM); case KEY_binmode: - UNI(OP_BINMODE); + LOP(OP_BINMODE,XTERM); case KEY_bless: LOP(OP_BLESS,XTERM); |