changeset 28424:f5c9bb5955e7

maint: merge stable to default.
author Rik <rik@octave.org>
date Tue, 09 Jun 2020 14:11:13 -0700
parents 02a5da73a157 (current diff) da4017484f19 (diff)
children b743a63e2dab
files
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/miscellaneous/parseparams.m	Tue Jun 09 13:45:20 2020 -0700
+++ b/scripts/miscellaneous/parseparams.m	Tue Jun 09 14:11:13 2020 -0700
@@ -85,7 +85,7 @@
     if (! size_equal (names, defaults))
       error ("parseparams: needs odd number of arguments");
     endif
-    [names, sidx] = sort (names);
+    [names, sidx] = sort (toupper (names));
 
     varargout = defaults;
     if (i)
@@ -95,7 +95,7 @@
       if (! size_equal (pnames, values) || ! all (strs(i:2:end)))
         error_as_caller ("options must be given as name-value pairs");
       endif
-      idx = lookup (toupper (names), toupper (pnames), "m");
+      idx = lookup (names, toupper (pnames), "m");
       if (! all (idx))
         error_as_caller ("unrecognized option: %s", pnames{find (idx == 0, 1)});
       else
@@ -129,6 +129,11 @@
 %! [reg, prop1] = parseparams ({"linewidth", 5}, "linewidth", 10);
 %! assert (isempty (reg));
 %! assert (prop1, 5);
+%!test <*58533>
+%! [foo, bar1, bar2] = parseparams({ 0, "model", 1, "N", 2},"model", 4, "N", 5, "d", 6);
+%! assert (foo, {0});
+%! assert (bar1, 1);
+%! assert (bar2, 2);
 
 %!error <needs odd number of arguments> parseparams ({1}, "linewidth")
 %!error <must be given as name-value pairs> parseparams ({1, "color"}, "linewidth", 5)