From 3daf98c0772e77a50ac48d4ce72ab35dc5ca5785 Mon Sep 17 00:00:00 2001
From: Martin Nilsson <nilsson@opera.com>
Date: Mon, 17 Feb 2014 17:28:41 +0100
Subject: [PATCH] #if efun is documented as deprecated. Don't use it.

---
 lib/7.0/modules/Simulate.pmod       |  2 +-
 lib/7.2/modules/LR.pmod/lr.pike     |  4 ++--
 lib/modules/Stdio.pmod/module.pmod  |  2 +-
 lib/modules/Tools.pmod/Install.pmod |  2 +-
 src/modules/HTTPLoop/test.pike      |  2 +-
 src/modules/HTTPLoop/wwwserver.pike |  2 +-
 src/modules/_Stdio/socktest.pike    |  2 +-
 src/preprocessor.h                  |  2 +-
 src/testsuite.in                    | 12 +++++++++++-
 9 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/lib/7.0/modules/Simulate.pmod b/lib/7.0/modules/Simulate.pmod
index 8dffae0910..b24d6ab899 100644
--- a/lib/7.0/modules/Simulate.pmod
+++ b/lib/7.0/modules/Simulate.pmod
@@ -123,6 +123,6 @@ function l_sizeof = sizeof;
 function listp = multisetp;
 function mklist = mkmultiset;
 function aggregate_list = aggregate_multiset;
-#if efun(gethostname)
+#if constant(gethostname)
 function query_host_name=gethostname;
 #endif
diff --git a/lib/7.2/modules/LR.pmod/lr.pike b/lib/7.2/modules/LR.pmod/lr.pike
index 20b0d90637..9fe5d0a843 100755
--- a/lib/7.2/modules/LR.pmod/lr.pike
+++ b/lib/7.2/modules/LR.pmod/lr.pike
@@ -186,7 +186,7 @@ int main(int argc, array(string) argv)
 
   werror("Grammar:\n\n" + (string) g);
 
-#if efun(_memory_usage)
+#if constant(_memory_usage)
   werror(sprintf("Memory usage:\n%O\n", _memory_usage()));
 #endif
 
@@ -198,7 +198,7 @@ int main(int argc, array(string) argv)
 
   werror("Compilation finished!\n");
 
-#if efun(_memory_usage)
+#if constant(_memory_usage)
   werror(sprintf("Memory usage:\n%O\n", _memory_usage()));
 #endif
 
diff --git a/lib/modules/Stdio.pmod/module.pmod b/lib/modules/Stdio.pmod/module.pmod
index 2644f6eda8..8b0a62ced1 100644
--- a/lib/modules/Stdio.pmod/module.pmod
+++ b/lib/modules/Stdio.pmod/module.pmod
@@ -2589,7 +2589,7 @@ string simplify_path(string path)
 //!
 void perror(string s)
 {
-#if efun(strerror)
+#if constant(strerror)
   stderr->write(s+": "+strerror(predef::errno())+"\n");
 #else
   stderr->write(s+": errno: "+predef::errno()+"\n");
diff --git a/lib/modules/Tools.pmod/Install.pmod b/lib/modules/Tools.pmod/Install.pmod
index 21270a1a88..32db9c4cf7 100644
--- a/lib/modules/Tools.pmod/Install.pmod
+++ b/lib/modules/Tools.pmod/Install.pmod
@@ -27,7 +27,7 @@ array(string) features()
   a += ({ "dynamic_modules" });
 #endif
 
-#if efun(thread_create)
+#if constant(thread_create)
   a += ({ "threads" });
 #endif
 
diff --git a/src/modules/HTTPLoop/test.pike b/src/modules/HTTPLoop/test.pike
index 28584148a2..7dd6ed77f0 100644
--- a/src/modules/HTTPLoop/test.pike
+++ b/src/modules/HTTPLoop/test.pike
@@ -84,7 +84,7 @@ int main(int argc, array argv)
 		  }
 		}, t);
 
-#if efun(thread_set_concurrency)
+#if constant(thread_set_concurrency)
   thread_set_concurrency(10);
 #endif
   port = files.port();
diff --git a/src/modules/HTTPLoop/wwwserver.pike b/src/modules/HTTPLoop/wwwserver.pike
index 944ad1bef0..3c7ae707fc 100644
--- a/src/modules/HTTPLoop/wwwserver.pike
+++ b/src/modules/HTTPLoop/wwwserver.pike
@@ -151,7 +151,7 @@ object l;
 
 int main(int argc, array (string) argv)
 {
-#if efun(thread_set_concurrency)
+#if constant(thread_set_concurrency)
   thread_set_concurrency(100);
 #endif
   port = Stdio.Port();
diff --git a/src/modules/_Stdio/socktest.pike b/src/modules/_Stdio/socktest.pike
index de901a2213..8af4bfeb5f 100755
--- a/src/modules/_Stdio/socktest.pike
+++ b/src/modules/_Stdio/socktest.pike
@@ -6,7 +6,7 @@
 
 // FIXME: Ought to test all the available backends.
 
-#if !efun(strerror)
+#if !constant(strerror)
 #define strerror(X) ("ERRNO = "+(string)(X))
 #endif
 
diff --git a/src/preprocessor.h b/src/preprocessor.h
index 72f70a92ad..1aa195a42e 100644
--- a/src/preprocessor.h
+++ b/src/preprocessor.h
@@ -532,7 +532,7 @@ static ptrdiff_t calcC(struct cpp *this, WCHAR *data, ptrdiff_t len,
 
       SKIPWHITE();
 
-      if ( (func_name==efun_str || func_name==constant_str) &&
+      if ( (func_name==constant_str || func_name==efun_str) &&
            data[pos] == '(')
       {
 	int start, end;
diff --git a/src/testsuite.in b/src/testsuite.in
index e7a65e8d28..d368294301 100644
--- a/src/testsuite.in
+++ b/src/testsuite.in
@@ -5,6 +5,8 @@ test_compile_any([[#pike 7.2]])
 test_compile_any([[#pike 7.4]])
 test_compile_any([[#pike 7.0]])
 test_compile_any([[#pike 0.6]])
+test_compile_any([[#pike 7.6]])
+test_compile_any([[#pike 7.8]])
 
 cond([[all_constants()->_verify_internals]],
 [[
@@ -10271,6 +10273,14 @@ do_test_foop(programp,8)
 // add_constant
 test_do(add_constant("foobar",lambda() { return 1; }))
 test_any([[
+#if constant(foobar)
+return 1;
+#else
+return 0;
+#endif
+]],1)
+test_any([[
+#pike 7.8
 #if efun(foobar)
 return 1;
 #else
@@ -10280,7 +10290,7 @@ return 0;
 test_eq(foobar(),1)
 test_do(add_constant("foobar"))
 test_any([[
-#if efun(foobar)
+#if constant(foobar)
 return 1;
 #else
 return 0;
-- 
GitLab