changeset 15554:3c5553180dd1

Merge in Torsten's changes
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Tue, 23 Oct 2012 10:01:34 -0400
parents bbbb89cc338f (current diff) e21b21c2a20d (diff)
children 427020b2ceaf
files
diffstat 2 files changed, 35 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/help/unimplemented.m
+++ b/scripts/help/unimplemented.m
@@ -37,6 +37,10 @@
     "linear-algebra package at ",...
     "@url{http://octave.sourceforge.net/linear-algebra/}."];
 
+  case "funm"
+    txt = ["funm is not currently part of core Octave.  See the ",...
+    "linear-algebra package at @url{http://octave.sf.net/linear-algebra/}."];
+
   case "linprog"
     txt = ["Octave does not currently provide linprog.  ",...
     "Linear programming problems may be solved using @code{glpk}.  ",...
@@ -48,6 +52,23 @@
     "Matlab-compatible ODE functions are provided by the odepkg package.  ",...
     "See @url{http://octave.sourceforge.net/odepkg/}."];
 
+  case {"javaArray", "javaMethod", "javaMethodEDT", "javaObject", "javaObjectEDT", "javaaddpath", "javaclasspath", "javarmpath"}
+    txt = ["Java objects and methods can be used with the java package. ",...
+    "See @url{http://octave.sf.net/java/}."];
+
+  case {"errordlg", "helpdlg", "inputdlg", "listdlg", "questdlg", "warndlg"}
+    txt = ["Several dialog functions are provided in the java package. ",...
+    "See @url{http://octave.sf.net/java/}."];
+
+  case {"xlsread", "xlsfinfo", "xlswrite", "wk1read", "wk1finfo", "wk1write"}
+    txt = ["Functions for spreadsheet style I/O (.xls .xlsx .sxc .ods .dbf .wk1 etc.) " , ...
+    "are provided in the io package. ",...
+    "See @url{http://octave.sf.net/io/}."];
+
+  case {"avifile", "aviinfo", "aviread"}
+    txt = ["Basic video file support is provided in the video package. ",...
+    "See @url{http://octave.sf.net/video/}."];
+
   otherwise
     if (ismember (fcn, missing_functions ()))
       txt = sprintf ("the '%s' function is not yet implemented in Octave", fcn);
@@ -88,9 +109,6 @@
   "aufinfo",
   "auread",
   "auwrite",
-  "avifile",
-  "aviinfo",
-  "aviread",
   "bar3",
   "bar3h",
   "bench",
@@ -163,7 +181,6 @@
   "echodemo",
   "ellipj",
   "ellipke",
-  "errordlg",
   "evalc",
   "exifread",
   "expint",
@@ -198,7 +215,6 @@
   "hdftool",
   "helpbrowser",
   "helpdesk",
-  "helpdlg",
   "helpwin",
   "hgexport",
   "hgload",
@@ -214,7 +230,6 @@
   "import",
   "inmem",
   "inputParser",
-  "inputdlg",
   "inspect",
   "instrfind",
   "instrfindall",
@@ -224,15 +239,7 @@
   "isjava",
   "isocaps",
   "isstudent",
-  "javaArray",
-  "javaMethod",
-  "javaMethodEDT",
-  "javaObject",
-  "javaObjectEDT",
-  "javaaddpath",
   "javachk",
-  "javaclasspath",
-  "javarmpath",
   "ldl",
   "libfunctions",
   "libfunctionsview",
@@ -245,7 +252,6 @@
   "linkaxes",
   "linkdata",
   "linsolve",
-  "listdlg",
   "listfonts",
   "loadlibrary",
   "lscov",
@@ -314,7 +320,6 @@
   "publish",
   "qmr",
   "quad2d",
-  "questdlg",
   "rbbox",
   "reducepatch",
   "reducevolume",
@@ -385,7 +390,6 @@
   "visdiff",
   "volumebounds",
   "waitfor",
-  "warndlg",
   "waterfall",
   "wavfinfo",
   "wavplay",
@@ -396,9 +400,6 @@
   "wk1read",
   "wk1write",
   "workspace",
-  "xlsfinfo",
-  "xlsread",
-  "xlswrite",
   "xmlread",
   "xmlwrite",
   "xslt",
--- a/scripts/io/importdata.m
+++ b/scripts/io/importdata.m
@@ -50,6 +50,8 @@
 ##
 ## @item @sc{Matlab} file
 ##
+## @item Spreadsheet files (depending on external software)
+##
 ## @item Wav file
 ##
 ## @end itemize
@@ -135,13 +137,17 @@
       delimiter  = NaN;
       header_rows = 0;
       output = load (fname);
-    case ".wk1"
-      error (sprintf ("importdata: not implemented for file format %s", 
-                      fileExt));
-    case {".xls", ".xlsx"}
-      ## FIXME: implement Excel import.
-      error (sprintf ("importdata: not implemented for file format %s", 
-                      fileExt));
+    case {".wk1", ".xls", ".xlsx", ".dbf", ".pxl"}
+      ## If there's no Excel file support simply fall back to unimplemented.m
+      output = xlsread (fname);
+    case {".ods", ".sxc", ".fods", ".uos", ".xml"}
+      ## unimplemented.m only knows ML functions; odsread isn't one but is in OF
+      try
+        output = odsread (fname);
+      catch
+        ## Fall back to unimplemented.m.
+        output = xlsread (fname);
+      end_try_catch
     case {".wav", ".wave"}
       delimiter  = NaN;
       header_rows = 0;
@@ -266,7 +272,7 @@
   for i=(header_rows+1):length(file_content_rows)
     ## Only use the row if it contains anything other than white-space
     ## characters.
-    if (length (regexp (file_content_rows{i}, "\S","match")) > 0)
+    if (length (regexp (file_content_rows{i}, "\\S","match")) > 0)
       row_data = regexp (file_content_rows{i}, delimiter_pattern, "split");
 
       for j=1:length(row_data)