Mercurial > hg > octave-nkf
diff src/defun-dld.h @ 5796:20f4bd627a74
[project @ 2006-05-09 02:04:54 by jwe]
author | jwe |
---|---|
date | Tue, 09 May 2006 02:04:55 +0000 |
parents | 4c8a2e4e0717 |
children | 93c65f2a5668 |
line wrap: on
line diff
--- a/src/defun-dld.h +++ b/src/defun-dld.h @@ -43,7 +43,15 @@ #if defined (MAKE_BUILTINS) #define DEFUN_DLD(name, args_name, nargout_name, doc) \ - DEFUN_DLD_INTERNAL (name, args_name, nargout_name, 0, doc) + DEFUN_DLD_INTERNAL (name, args_name, nargout_name, false, doc) + +// This one can be used when `name' cannot be used directly (if it is +// already defined as a macro). In that case, name is already a +// quoted string, and the internal name of the function must be passed +// too (the convention is to use a prefix of "F", so "foo" becomes "Ffoo"). + +#define DEFUNX_DLD(name, fname, fsname, args_name, nargout_name, doc) \ + DEFUNX_DLD_INTERNAL (name, fname, args_name, nargout_name, false, doc) #else @@ -52,6 +60,11 @@ DEFINE_FUN_INSTALLER_FUN (name, doc) \ DECLARE_FUN (name, args_name, nargout_name) +#define DEFUNX_DLD(name, fname, fsname, args_name, nargout_name, doc) \ + DECLARE_FUNX (fname, args_name, nargout_name); \ + DEFINE_FUNX_INSTALLER_FUN (name, fname, fsname, doc) \ + DECLARE_FUNX (fname, args_name, nargout_name) + #endif #endif