diff src/defun-int.h @ 5796:20f4bd627a74

[project @ 2006-05-09 02:04:54 by jwe]
author jwe
date Tue, 09 May 2006 02:04:55 +0000
parents 1138ced03f14
children 080c08b192d8
line wrap: on
line diff
--- a/src/defun-int.h	Mon May 08 21:03:46 2006 +0000
+++ b/src/defun-int.h	Tue May 09 02:04:55 2006 +0000
@@ -75,12 +75,21 @@
   DEFINE_FUN_INSTALLER_FUN3(name, doc, cxx_abi)
 
 #define DEFINE_FUN_INSTALLER_FUN3(name, doc, cxx_abi) \
+  DEFINE_FUNX_INSTALLER_FUN3(#name, F ## name, FS ## name, doc, cxx_abi)
+
+#define DEFINE_FUNX_INSTALLER_FUN(name, fname, fsname, doc) \
+  DEFINE_FUNX_INSTALLER_FUN2(name, fname, fsname, doc, CXX_ABI)
+
+#define DEFINE_FUNX_INSTALLER_FUN2(name, fname, fsname, doc, cxx_abi) \
+  DEFINE_FUNX_INSTALLER_FUN3(name, fname, fsname, doc, cxx_abi)
+
+#define DEFINE_FUNX_INSTALLER_FUN3(name, fname, fsname, doc, cxx_abi) \
   extern "C" \
   bool \
-  FS ## name ## _ ## cxx_abi (const octave_shlib& shl) \
+  fsname ## _ ## cxx_abi (const octave_shlib& shl) \
   { \
-    check_version (OCTAVE_API_VERSION, #name); \
-    install_dld_function (F ## name, #name, shl, doc); \
+    check_version (OCTAVE_API_VERSION, name); \
+    install_dld_function (fname, name, shl, doc); \
     return error_state ? false : true; \
   }
 
@@ -119,6 +128,12 @@
     XDEFUN_DLD_INTERNAL (name, args_name, nargout_name, is_text_fcn, doc) \
   END_INSTALL_BUILTIN
 
+#define DEFUNX_DLD_INTERNAL(name, fname, args_name, nargout_name, \
+			    is_text_fcn, doc) \
+  BEGIN_INSTALL_BUILTIN \
+    XDEFUNX_DLD_INTERNAL (name, fname, args_name, nargout_name, is_text_fcn, doc) \
+  END_INSTALL_BUILTIN
+
 // Generate code for making another name for an existing function.
 
 #define DEFALIAS_INTERNAL(alias, name) \