summaryrefslogtreecommitdiff
path: root/MANIFEST
diff options
context:
space:
mode:
authorJan Dubois <jand@activestate.com>2011-03-16 17:45:29 -0700
committerJan Dubois <jand@activestate.com>2011-03-16 17:59:44 -0700
commit270ca148cf26bc57d0c23f0208157e1323cd660b (patch)
tree1be645414766ca1743dd24a55874436a60a55d0c /MANIFEST
parent6241f69ed4d47a277df162e594581e52c94f541e (diff)
downloadperl-270ca148cf26bc57d0c23f0208157e1323cd660b.tar.gz
Read Perl code on Windows in text mode by default.
We used to read Perl code in binary mode to make life easier for ByteLoder to include binary data in a source file. To maintain the illusion of text mode for the DATA handle the filehandle was transformed from binary mode to text mode when the parser reached the __END__ or __DATA__ tokens. This however never worked correctly, as the positions returned by tell(DATA) were still based on reading part of the stream in binary mode. And even worse, flushing all filehandles before calling system(), backticks, or fork() would actually reposition the DATA filehandle incorrectly, so future reads from it returned the wrong data. http://rt.perl.org/rt3/Ticket/Display.html?id=28106 contains several bug reports that are all related to this problem. The new t/io/data.t file contains the failing code samples from those bugs. This patch changes the default build option for Windows to text mode. ByteLoader will have to deal with this internally, e.g. by rewinding DATA and switching to binary mode itself.
Diffstat (limited to 'MANIFEST')
-rw-r--r--MANIFEST1
1 files changed, 1 insertions, 0 deletions
diff --git a/MANIFEST b/MANIFEST
index 2e62c32647..f8d1184fbf 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -4682,6 +4682,7 @@ t/io/argv.t See if ARGV stuff works
t/io/binmode.t See if binmode() works
t/io/crlf.t See if :crlf works
t/io/crlf_through.t See if pipe passes data intact with :crlf
+t/io/data.t See if DATA works
t/io/defout.t See if PL_defoutgv works
t/io/dup.t See if >& works right
t/io/eintr.t See if code called during EINTR is safe