diff scripts/io/importdata.m @ 19335:9f83ea3fa48c

maint: Periodic merge of gui-release to default.
author Rik <rik@octave.org>
date Mon, 03 Nov 2014 22:40:45 -0800
parents 6ca096827123 8d7e760bfa68
children 0e1f5a750d00
line wrap: on
line diff
--- a/scripts/io/importdata.m	Sun Nov 02 22:07:11 2014 -0800
+++ b/scripts/io/importdata.m	Mon Nov 03 22:40:45 2014 -0800
@@ -175,7 +175,7 @@
     ## If no delimiter determined yet, make a guess.
     if (isempty (delimiter))
       ## This pattern can be fooled, but mostly does the job just fine.
-      delim = regexp (row, '[-+\d.eE*ij ]+([^-+\d.ij])[-+\d.ij]',
+      delim = regexpi (row, '[-+\d.e*ij ]+([^-+\de.ij])[-+\de*.ij ]',
                       'tokens', 'once');
       #delim = regexp (row, '[+-\d.eE\*ij ]+([^+-\d.ij])[+-\d.ij]',
       #                     'tokens', 'once');
@@ -520,6 +520,18 @@
 %! assert (h, 0);
 
 %!test
+%! ## Distinguish double from complex when no delimiter is supplied (bug #43393)
+%! fn  = tmpnam ();
+%! fid = fopen (fn, "w");
+%! fputs (fid, "2.0000e+02   4.0000e-04");
+%! fclose (fid);
+%! [a, d, h] = importdata (fn);
+%! unlink (fn);
+%! assert (a, [2e2, 4e-4]);
+%! assert (d, " ");
+%! assert (h, 0);
+
+%!test
 %! ## Only text / no numeric data; \n as EOL
 %! fn  = tempname ();
 %! fid = fopen (fn, "w");