changeset 28458:ef8cf8dda0ba stable

warn if legacy inline, genvarname or vectorize functions are used * @inline/inline.m, genvarname.m, vectorize.m: Issue legacy function warning.
author John W. Eaton <jwe@octave.org>
date Thu, 11 Jun 2020 22:35:28 -0400
parents 53d8e7ca99c5
children 0d56bfb63b90
files scripts/legacy/@inline/inline.m scripts/legacy/genvarname.m scripts/legacy/vectorize.m
diffstat 3 files changed, 21 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/legacy/@inline/inline.m	Thu Jun 11 16:34:34 2020 -0400
+++ b/scripts/legacy/@inline/inline.m	Thu Jun 11 22:35:28 2020 -0400
@@ -57,6 +57,13 @@
 
 function obj = inline (expr, varargin)
 
+  persistent warned = false;
+  if (! warned)
+    warned = true;
+    warning ("Octave:legacy-function",
+             "inline is obsolete; use anonymous functions instead\n");
+  endif
+
   if (nargin == 0)
     print_usage ();
   endif
--- a/scripts/legacy/genvarname.m	Thu Jun 11 16:34:34 2020 -0400
+++ b/scripts/legacy/genvarname.m	Thu Jun 11 22:35:28 2020 -0400
@@ -107,6 +107,13 @@
 
 function varname = genvarname (str, exclusions = {})
 
+  persistent warned = false;
+  if (! warned)
+    warned = true;
+    warning ("Octave:legacy-function",
+             "genvarname is obsolete; use matlab.lang.makeValidName or matlab.lang.makeUniqueStrings instead\n");
+  endif
+
   if (nargin < 1 || nargin > 2)
     print_usage ();
   endif
--- a/scripts/legacy/vectorize.m	Thu Jun 11 16:34:34 2020 -0400
+++ b/scripts/legacy/vectorize.m	Thu Jun 11 22:35:28 2020 -0400
@@ -41,6 +41,13 @@
 
 function retval = vectorize (fun)
 
+  persistent warned = false;
+  if (! warned)
+    warned = true;
+    warning ("Octave:legacy-function",
+             "vectorize is unreliable; its use is strongly discouraged\n");
+  endif
+
   if (nargin != 1)
     print_usage ();
   endif