From 59db4f03f527dab76b48166d5de1e20325167bd7 Mon Sep 17 00:00:00 2001
From: Martin Nilsson <nilsson@opera.com>
Date: Tue, 11 Jun 2013 11:36:48 +0200
Subject: [PATCH] files -> _Stdio with minimal changes.

---
 lib/7.8/modules/files.pmod                    |  7 +++++++
 lib/master.pike.in                            |  2 +-
 lib/modules/Stdio.pmod/module.pmod            | 20 +++++++++----------
 lib/modules/Stdio.pmod/testsuite.in           |  5 +++++
 src/modules/{files => _Stdio}/.gitignore      |  0
 src/modules/{files => _Stdio}/Makefile.in     |  0
 src/modules/{files => _Stdio}/acconfig.h      |  0
 .../async_tls_close_test.pike                 |  0
 src/modules/{files => _Stdio}/configure.in    |  0
 .../{files => _Stdio}/connecttest.pike        |  0
 src/modules/{files => _Stdio}/datagram.c      |  0
 src/modules/{files => _Stdio}/efuns.c         |  0
 src/modules/{files => _Stdio}/file.c          |  0
 src/modules/{files => _Stdio}/file.h          |  0
 .../{files => _Stdio}/file_functions.h        |  0
 src/modules/{files => _Stdio}/kqueuetest.pike |  0
 src/modules/{files => _Stdio}/sendfile.c      |  0
 .../{files => _Stdio}/sendfiletest.pike       |  0
 src/modules/{files => _Stdio}/socket.c        |  0
 src/modules/{files => _Stdio}/socktest.pike   |  0
 src/modules/{files => _Stdio}/stat.c          |  0
 src/modules/{files => _Stdio}/termios.c       |  0
 src/modules/{files => _Stdio}/termios_flags.h |  0
 src/modules/{files => _Stdio}/testsuite.in    |  0
 src/modules/{files => _Stdio}/udp.c           |  0
 25 files changed, 23 insertions(+), 11 deletions(-)
 create mode 100644 lib/7.8/modules/files.pmod
 rename src/modules/{files => _Stdio}/.gitignore (100%)
 rename src/modules/{files => _Stdio}/Makefile.in (100%)
 rename src/modules/{files => _Stdio}/acconfig.h (100%)
 rename src/modules/{files => _Stdio}/async_tls_close_test.pike (100%)
 rename src/modules/{files => _Stdio}/configure.in (100%)
 rename src/modules/{files => _Stdio}/connecttest.pike (100%)
 rename src/modules/{files => _Stdio}/datagram.c (100%)
 rename src/modules/{files => _Stdio}/efuns.c (100%)
 rename src/modules/{files => _Stdio}/file.c (100%)
 rename src/modules/{files => _Stdio}/file.h (100%)
 rename src/modules/{files => _Stdio}/file_functions.h (100%)
 rename src/modules/{files => _Stdio}/kqueuetest.pike (100%)
 rename src/modules/{files => _Stdio}/sendfile.c (100%)
 rename src/modules/{files => _Stdio}/sendfiletest.pike (100%)
 rename src/modules/{files => _Stdio}/socket.c (100%)
 rename src/modules/{files => _Stdio}/socktest.pike (100%)
 rename src/modules/{files => _Stdio}/stat.c (100%)
 rename src/modules/{files => _Stdio}/termios.c (100%)
 rename src/modules/{files => _Stdio}/termios_flags.h (100%)
 rename src/modules/{files => _Stdio}/testsuite.in (100%)
 rename src/modules/{files => _Stdio}/udp.c (100%)

diff --git a/lib/7.8/modules/files.pmod b/lib/7.8/modules/files.pmod
new file mode 100644
index 0000000000..17dab065ea
--- /dev/null
+++ b/lib/7.8/modules/files.pmod
@@ -0,0 +1,7 @@
+#pike 7.9
+
+//! Pike 7.8 compatibility.
+//!
+//! In 7.8 and earlier "_Stdio" was named "files".
+
+inherit _Stdio;
diff --git a/lib/master.pike.in b/lib/master.pike.in
index 9c81897086..d326d29e28 100644
--- a/lib/master.pike.in
+++ b/lib/master.pike.in
@@ -95,7 +95,7 @@ int is_pike_master = 0;
 
 // Have to access some stuff without going through the resolver.
 private object(_static_modules.Builtin) Builtin = _static_modules.Builtin();
-private constant Files = _static_modules.files;
+private constant Files = _static_modules._Stdio;
 
 #define Stat Files.Stat
 #define capitalize(X) (upper_case((X)[..0])+(X)[1..])
diff --git a/lib/modules/Stdio.pmod/module.pmod b/lib/modules/Stdio.pmod/module.pmod
index 03fb950f64..005f476a95 100644
--- a/lib/modules/Stdio.pmod/module.pmod
+++ b/lib/modules/Stdio.pmod/module.pmod
@@ -1,6 +1,6 @@
 #pike __REAL_VERSION__
 
-inherit files;
+inherit _Stdio;
 
 #ifdef SENDFILE_DEBUG
 #define SF_WERR(X) werror("Stdio.sendfile(): %s\n", X)
@@ -259,7 +259,7 @@ class File
     return 0;
   }
 
-#if constant(files.__HAVE_OPENPT__)
+#if constant(_Stdio.__HAVE_OPENPT__)
   //! @decl int openpt(string mode)
   //!
   //! Open the master end of a pseudo-terminal pair.  The parameter
@@ -399,7 +399,7 @@ class File
     return 0;
   }
 
-#if constant(files.__HAVE_CONNECT_UNIX__)
+#if constant(_Stdio.__HAVE_CONNECT_UNIX__)
   int connect_unix(string path)
   //! Open a UNIX domain socket connection to the specified destination.
   //! 
@@ -620,7 +620,7 @@ class File
     }
   }
 
-#if constant(files.__HAVE_OPENAT__)
+#if constant(_Stdio.__HAVE_OPENAT__)
   //! @decl File openat(string filename, string mode)
   //! @decl File openat(string filename, string mode, int mask)
   //!
@@ -650,7 +650,7 @@ class File
   }
 #endif
 
-#if constant(files.__HAVE_SEND_FD__)
+#if constant(_Stdio.__HAVE_SEND_FD__)
   //!
   int(0..1) send_fd(File|Fd file)
   {
@@ -1968,7 +1968,7 @@ class FILE
 
   //! @endignore
 
-#if constant(files.__HAVE_OPENAT__)
+#if constant(_Stdio.__HAVE_OPENAT__)
   //! @decl FILE openat(string filename, string mode)
   //! @decl FILE openat(string filename, string mode, int mask)
   //!
@@ -3397,12 +3397,12 @@ object sendfile(array(string) headers,
 		function(int, mixed ...:void)|void cb,
 		mixed ... args)
 {
-#if !defined(DISABLE_FILES_SENDFILE) && constant(files.sendfile)
+#if !defined(DISABLE_FILES_SENDFILE) && constant(_Stdio.sendfile)
   // Try using files.sendfile().
   
   mixed err = catch {
-    return files.sendfile(headers, from, offset, len,
-			  trailers, to, cb, @args);
+    return _Stdio.sendfile(headers, from, offset, len,
+                           trailers, to, cb, @args);
   };
 
 #ifdef SENDFILE_DEBUG
@@ -3418,7 +3418,7 @@ object sendfile(array(string) headers,
 //! UDP (User Datagram Protocol) handling.
 class UDP
 {
-  inherit files.UDP;
+  inherit _Stdio.UDP;
 
   private array extra=0;
   private function(mapping,mixed...:void) callback=0;
diff --git a/lib/modules/Stdio.pmod/testsuite.in b/lib/modules/Stdio.pmod/testsuite.in
index 53848ab431..1764bd5ca9 100644
--- a/lib/modules/Stdio.pmod/testsuite.in
+++ b/lib/modules/Stdio.pmod/testsuite.in
@@ -165,6 +165,11 @@ lambda()
 
 test_true(rm("testsuite.tmp"))
 
+test_any([[
+#pike 7.8
+  return !!files.Fd;
+]], 1)
+
 
 // Stdio.FakeFile
 
diff --git a/src/modules/files/.gitignore b/src/modules/_Stdio/.gitignore
similarity index 100%
rename from src/modules/files/.gitignore
rename to src/modules/_Stdio/.gitignore
diff --git a/src/modules/files/Makefile.in b/src/modules/_Stdio/Makefile.in
similarity index 100%
rename from src/modules/files/Makefile.in
rename to src/modules/_Stdio/Makefile.in
diff --git a/src/modules/files/acconfig.h b/src/modules/_Stdio/acconfig.h
similarity index 100%
rename from src/modules/files/acconfig.h
rename to src/modules/_Stdio/acconfig.h
diff --git a/src/modules/files/async_tls_close_test.pike b/src/modules/_Stdio/async_tls_close_test.pike
similarity index 100%
rename from src/modules/files/async_tls_close_test.pike
rename to src/modules/_Stdio/async_tls_close_test.pike
diff --git a/src/modules/files/configure.in b/src/modules/_Stdio/configure.in
similarity index 100%
rename from src/modules/files/configure.in
rename to src/modules/_Stdio/configure.in
diff --git a/src/modules/files/connecttest.pike b/src/modules/_Stdio/connecttest.pike
similarity index 100%
rename from src/modules/files/connecttest.pike
rename to src/modules/_Stdio/connecttest.pike
diff --git a/src/modules/files/datagram.c b/src/modules/_Stdio/datagram.c
similarity index 100%
rename from src/modules/files/datagram.c
rename to src/modules/_Stdio/datagram.c
diff --git a/src/modules/files/efuns.c b/src/modules/_Stdio/efuns.c
similarity index 100%
rename from src/modules/files/efuns.c
rename to src/modules/_Stdio/efuns.c
diff --git a/src/modules/files/file.c b/src/modules/_Stdio/file.c
similarity index 100%
rename from src/modules/files/file.c
rename to src/modules/_Stdio/file.c
diff --git a/src/modules/files/file.h b/src/modules/_Stdio/file.h
similarity index 100%
rename from src/modules/files/file.h
rename to src/modules/_Stdio/file.h
diff --git a/src/modules/files/file_functions.h b/src/modules/_Stdio/file_functions.h
similarity index 100%
rename from src/modules/files/file_functions.h
rename to src/modules/_Stdio/file_functions.h
diff --git a/src/modules/files/kqueuetest.pike b/src/modules/_Stdio/kqueuetest.pike
similarity index 100%
rename from src/modules/files/kqueuetest.pike
rename to src/modules/_Stdio/kqueuetest.pike
diff --git a/src/modules/files/sendfile.c b/src/modules/_Stdio/sendfile.c
similarity index 100%
rename from src/modules/files/sendfile.c
rename to src/modules/_Stdio/sendfile.c
diff --git a/src/modules/files/sendfiletest.pike b/src/modules/_Stdio/sendfiletest.pike
similarity index 100%
rename from src/modules/files/sendfiletest.pike
rename to src/modules/_Stdio/sendfiletest.pike
diff --git a/src/modules/files/socket.c b/src/modules/_Stdio/socket.c
similarity index 100%
rename from src/modules/files/socket.c
rename to src/modules/_Stdio/socket.c
diff --git a/src/modules/files/socktest.pike b/src/modules/_Stdio/socktest.pike
similarity index 100%
rename from src/modules/files/socktest.pike
rename to src/modules/_Stdio/socktest.pike
diff --git a/src/modules/files/stat.c b/src/modules/_Stdio/stat.c
similarity index 100%
rename from src/modules/files/stat.c
rename to src/modules/_Stdio/stat.c
diff --git a/src/modules/files/termios.c b/src/modules/_Stdio/termios.c
similarity index 100%
rename from src/modules/files/termios.c
rename to src/modules/_Stdio/termios.c
diff --git a/src/modules/files/termios_flags.h b/src/modules/_Stdio/termios_flags.h
similarity index 100%
rename from src/modules/files/termios_flags.h
rename to src/modules/_Stdio/termios_flags.h
diff --git a/src/modules/files/testsuite.in b/src/modules/_Stdio/testsuite.in
similarity index 100%
rename from src/modules/files/testsuite.in
rename to src/modules/_Stdio/testsuite.in
diff --git a/src/modules/files/udp.c b/src/modules/_Stdio/udp.c
similarity index 100%
rename from src/modules/files/udp.c
rename to src/modules/_Stdio/udp.c
-- 
GitLab