Hello community,

here is the log from the commit of package octave-forge-io for openSUSE:Factory 
checked in at 2015-06-23 12:00:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-io (Old)
 and      /work/SRC/openSUSE:Factory/.octave-forge-io.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "octave-forge-io"

Changes:
--------
--- /work/SRC/openSUSE:Factory/octave-forge-io/octave-forge-io.changes  
2015-06-16 15:12:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.octave-forge-io.new/octave-forge-io.changes     
2015-06-23 12:00:59.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Jun 22 19:46:25 UTC 2015 - [email protected]
+
+- Update to version 2.2.8
+  * Bug fixes
+
+-------------------------------------------------------------------

Old:
----
  io-2.2.7.tar.gz

New:
----
  io-2.2.8.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ octave-forge-io.spec ++++++
--- /var/tmp/diff_new_pack.AOrB6t/_old  2015-06-23 12:00:59.000000000 +0200
+++ /var/tmp/diff_new_pack.AOrB6t/_new  2015-06-23 12:00:59.000000000 +0200
@@ -18,7 +18,7 @@
 
 %define octpkg  io
 Name:           octave-forge-%{octpkg}
-Version:        2.2.7
+Version:        2.2.8
 Release:        0
 Summary:        Input/Output in external formats from Octave
 License:        GPL-3.0+ and BSD-2-Clause

++++++ io-2.2.7.tar.gz -> io-2.2.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/io/DESCRIPTION new/io/DESCRIPTION
--- old/io/DESCRIPTION  2015-03-07 15:07:51.000000000 +0100
+++ new/io/DESCRIPTION  2015-06-19 14:38:19.000000000 +0200
@@ -1,13 +1,13 @@
 Name: io
-Version: 2.2.7
-Date: 2015-03-07
+Version: 2.2.8
+Date: 2015-06-21
 Author: various authors
 Maintainer: Philip Nienhuis <[email protected]>
 Title: Input/Output
 Description: Input/Output in external formats.
 Categories: IO
 Problems: Default initial Java memory probably too small, increase with 
java.opts (see documentation). No OXS write support. UNO support experimental.
-Depends: octave (>= 3.8.0)
+Depends: octave (>= 3.8.0), Octave (< 4.2.0)
 Suggested: windows (>= 1.2.1)
 Autoload: no
 License: GPLv3+, simplified BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/io/NEWS new/io/NEWS
--- old/io/NEWS 2015-03-07 22:20:16.000000000 +0100
+++ new/io/NEWS 2015-06-19 14:41:03.000000000 +0200
@@ -1,6 +1,23 @@
 Summary of important user-visible changes for releases of the io package
 
 ===============================================================================
+io-2.2.8   Release Date: 2015-06-21 Release Manager: Philip Nienhuis
+===============================================================================
+
+*** Bug fixes:
+    - xlsread: properly fall back to dlmread when reading .csv files (don't
+      bother with COM (Excel) or UNO (LibreOffice) interfaces)
+    - private/__COM_spsh_open__.m: use entire given pathname to convert to 
+      full path, not just filename proper (bug #44642)
+    - Same for private/__UNO_spsh_open__.m
+    - xlsread.m/xls2oct.m using OCT interface: fix wrong worksheet reference
+      (bug #45303)
+
+*** This will be (one of) the last io package release(s) before the spreadsheet
+    I/O is moved into core Octave, so this version will only install in
+    Octave < 4.2.x (override using the -nodeps option with pkg.m)
+      
+===============================================================================
 io-2.2.7   Release Date: 2015-03-07 Release Manager: Philip Nienhuis
 ===============================================================================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/io/inst/private/__COM_spsh_open__.m 
new/io/inst/private/__COM_spsh_open__.m
--- old/io/inst/private/__COM_spsh_open__.m     2014-11-14 16:05:46.000000000 
+0100
+++ new/io/inst/private/__COM_spsh_open__.m     2015-03-29 15:01:10.000000000 
+0200
@@ -1,4 +1,4 @@
-## Copyright (C) 2012,2013,2014 Philip Nienhuis
+## Copyright (C) 2012-2015 Philip Nienhuis
 ## 
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -19,18 +19,21 @@
 ## Author: Philip Nienhuis <[email protected]>
 ## Created: 2012-10-07
 ## Updates (possibly from xlsopen):
-## 2010-11-01 Added <COM>.Application.DisplayAlerts=0 in COM section to avoid 
Excel pop-ups
+## 2010-11-01 Added <COM>.Application.DisplayAlerts=0 in COM section to avoid
+##            Excel pop-ups
 ## 2012-10-24 Style fixes
 ## 2012-12-01 Copyright string updates
 ## 2014-05-20 Catch changed behavior of canonicalize_file_name in 3.9.0+
 ##            replace by make_absolute_filename
+## 2015-03-29 Use make_absolute_filename on entire give path, not filename
+##            proper (bug #44642)
 
 function [ xls, xlssupport, lastintf ] = __COM_spsh_open__ (xls, xwrite, 
filename, xlssupport)
 
     app = actxserver ("Excel.Application");
     try      ## Because Excel itself can still crash on file formats etc.
       app.Application.DisplayAlerts = 0;
-      filename = make_absolute_filename (strsplit (filename, filesep){end});
+      filename = make_absolute_filename (filename);
       if (xwrite < 2)
         ## Open workbook
         wb = app.Workbooks.Open (filename);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/io/inst/private/__OCT_xlsx2oct__.m 
new/io/inst/private/__OCT_xlsx2oct__.m
--- old/io/inst/private/__OCT_xlsx2oct__.m      2015-03-07 14:27:50.000000000 
+0100
+++ new/io/inst/private/__OCT_xlsx2oct__.m      2015-06-19 13:48:36.000000000 
+0200
@@ -76,7 +76,7 @@
       if (isempty (id))
         error ("xls2oct: cannot find sheet '%s' in file %s", wsh, 
xls.filename);
       else
-        wsh = xls.sheets.sheetid(id);
+        wsh = id;
       endif
     # endif
   elseif (wsh > numel (xls.sheets.sh_names))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/io/inst/private/__UNO_spsh_open__.m 
new/io/inst/private/__UNO_spsh_open__.m
--- old/io/inst/private/__UNO_spsh_open__.m     2015-03-07 17:37:29.000000000 
+0100
+++ new/io/inst/private/__UNO_spsh_open__.m     2015-03-29 15:15:56.000000000 
+0200
@@ -46,13 +46,13 @@
       ##       drive(-letters) so until it is (ever) fixed we'll fall back on
       ##       canonicalize_file_name() there.
       if (ispc)
-        fname = canonicalize_file_name (strsplit (filename, filesep){end});
+        fname = canonicalize_file_name (filename);
         if (isempty (fname))
           ## File doesn't exist yet? try make_absolute_filename()
-          fname = make_absolute_filename (strsplit (filename, filesep){end});
+          fname = make_absolute_filename (filename);
         endif
       else
-        fname = make_absolute_filename (strsplit (filename, filesep){end});
+        fname = make_absolute_filename (filename);
       endif
       ## On Windows, change backslash file separator into forward slash
       if (strcmp (filesep, "\\"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/io/inst/xlsopen.m new/io/inst/xlsopen.m
--- old/io/inst/xlsopen.m       2015-03-06 23:23:57.000000000 +0100
+++ new/io/inst/xlsopen.m       2015-04-24 22:29:05.000000000 +0200
@@ -147,6 +147,8 @@
 ##     ''     Clarify message about missing I/O support with file extension
 ## 2015-03-06 Clarify some error messages, replace usage() with error
 ##     ''     Be silent when creating new file
+## 2015-04-24 Depending on supported interfaces, use .xls or .xlsx (OOXML)
+##            if no suffix was specified
 
 function [ xls ] = xlsopen (filename, xwrite=0, reqinterface=[])
 
@@ -265,9 +267,10 @@
   if (xwrite)
     fmode = 'r+b';
     if (! has_suffix)
-      ## Add .xls suffix to filename (all Excel versions can write this)
+      ## Provisionally add .xls suffix to filename (most used format)
       filename = [filename ".xls"];
       ext = ".xls";
+      ftype = 1
     endif
   else
     fmode = 'rb';
@@ -307,6 +310,15 @@
   ## Check for the various Excel interfaces. No problem if they've already
   ## been checked, getxlsinterfaces (far below) just returns immediately then.
   xlsinterfaces = getxlsinterfaces (xlsinterfaces);
+
+  ## If no external interface was detected and no suffix was given, use .xlsx
+  if (! has_suffix && ! (xlsinterfaces.COM + xlsinterfaces.POI + ...
+                         xlsinterfaces.JXL + xlsinterfaces.OXS + ...
+                         xlsinterfaces.UNO))
+    ## Just add 'x' - .xls was already added higher up
+    filename = [filename "x"];
+    ftype = 2;
+  endif
   
   ## Initialize file ptr struct
   xls = struct ("xtype",    'NONE', 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/io/inst/xlsread.m new/io/inst/xlsread.m
--- old/io/inst/xlsread.m       2015-03-06 22:26:18.000000000 +0100
+++ new/io/inst/xlsread.m       2015-03-13 22:55:54.000000000 +0100
@@ -163,6 +163,8 @@
 ## 2014-04-15 More updates to texinfo header
 ## 2014-04-26 Fixed error messages (no traceback)
 ## 2015-03-06 Texinfo header update
+## 2015-03-13 Overhaul & fix csvread logic. Move unwind_protect block so that
+##            it's logic cannot be interrupted by a return stmt
 
 function [ numarr, txtarr, rawarr, lims ] = xlsread (fn, wsh, datrange, 
reqintf=[])
 
@@ -195,43 +197,50 @@
                printf ("(BASIC (BIFF5) support request translated to JXL)\n");
        endif
 
-       ## Checks done. Get raw data into cell array "rawarr". xlsopen finds out
-       ## what interface to use. If none found, just return as xlsopen will 
complain enough
-
-       unwind_protect  # Needed to catch COM errors & able to close stray 
Excel invocations
-    ## Get pointer array to Excel file
-    xls_ok = 0;
-    xls = xlsopen (fn, 0, reqintf);
-    if (! isempty (xls))
-      xls_ok = 1;
+       ## Checks done. First check for .csv as that doesn't need xlsopen etc;
+  ## a convenience for lazy Matlab users (see bugs #40993 & #44511):
+  [~, ~, ext] = fileparts (fn);
+  if strcmpi (ext, ".csv")
+    if (isempty (datrange))
+      numarr = dlmread (fn, ",");
     else
-      ## Convenience for scripts from lazy Matlab users (see bug #40993):
-      [~, ~, ext] = fileparts (fn);
-      if strcmpi (fn, ".csv")
-        numarr = csvread (fn, 1, datrange);
-      endif
-      return
+      numarr = dlmread (fn, ",", datrange);
     endif
+    txtarr = rawarr = lims = [];
+    return
 
-    ## Get data from Excel file & return handle
-    [rawarr, xls, rstatus] = xls2oct (xls, wsh, datrange);
+  else
+    ## Get raw data into cell array "rawarr". xlsopen finds out what interface
+    ## to use. If none found, just return as xlsopen will complain enough.
+    unwind_protect     ## Needed to catch COM errors & able to close stray 
Excel
+                    ## invocations
+      ## Get pointer array to spreadsheet file
+      xls_ok = 0;
+      xls = xlsopen (fn, 0, reqintf);
+      if (! isempty (xls))
+        xls_ok = 1;
+      endif
 
-    ## Save some results before xls is wiped
-    rawlimits = xls.limits;
-    xtype = xls.xtype;
+      ## Get data from spreadsheet file & return handle
+      [rawarr, xls, rstatus] = xls2oct (xls, wsh, datrange);
 
-    if (rstatus)
-      [numarr, txtarr, lims] = parsecell (rawarr, rawlimits);
-    else
-      rawarr = {}; numarr = []; txtarr = {};
-    endif
+      ## Save some results before xls is wiped
+      rawlimits = xls.limits;
+      xtype = xls.xtype;
+
+      if (rstatus)
+        [numarr, txtarr, lims] = parsecell (rawarr, rawlimits);
+      else
+        rawarr = {}; numarr = []; txtarr = {};
+      endif
 
-       unwind_protect_cleanup  
-    ## Close Excel file
-    if (xls_ok)
-      xls = xlsclose (xls);
-    endif
+    unwind_protect_cleanup     
+      ## Close Excel file
+      if (xls_ok)
+        xls = xlsclose (xls);
+      endif
 
-       end_unwind_protect
+    end_unwind_protect
+  endif
 
 endfunction


Reply via email to