octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [forge: IO] Is this correct?


From: Philip Nienhuis
Subject: Re: [forge: IO] Is this correct?
Date: Wed, 18 Dec 2013 19:10:30 +0100
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0 SeaMonkey/2.22.1

Juan Pablo Carbajal wrote:
On Wed, Dec 18, 2013 at 9:04 AM, Philip Nienhuis
<address@hidden> wrote:
Carnë Draug-4 wrote
On 17 December 2013 23:51, Juan Pablo Carbajal &lt;

ajuanpi+dev@

&gt; wrote:
using GNU Octave 3.8.0-rc1
I get

pkg -forge install io
error: the following dependencies were unsatisfied:
    io needs octave <= 3.7.1

is this correct?

Yes. See https://savannah.gnu.org/bugs/?40840 and
https://savannah.gnu.org/patch/?8099

Yep.

I've got io-1.3.4 almost finished.
io-1.3.4+ is to be io-2.0.0 as soon as Octave 3.8.0 is released.
<snip>
>
Ok, thanks!
I did not find those bugs though...funny.

That's a Good Thing (because bugs should ideally be solved before users hit them.)

Just as an example, here's how io-1.2.5 behaves in Octave-3.6.4 and in 3.9.0+:

====================================================
GNU Octave, version 3.6.4
:
<snip>
:
octave:1> intf = 'poi'
intf = poi
octave:2> more off
octave:3> io_xls_testscript

Testing .xls interface poi ...

 1. Initialize arrays.

 2. Insert first empty sheet.
Checking requested interface(s):
POI (& OOXML)*; (* = default interface)
Creating file io-test.xls

 3. Add data to test sheet.

 4. Add another sheet with just one number in A1.

 5. Explore sheet info.

 6. Read data back.
:
<etc, all goes well in Octave-3.6.4>
:

======================================================
GNU Octave, version 3.9.0+
:
<snip>
:
>> intf = 'poi'
intf = poi
>> io_xls_testscript

Testing .xls interface poi ...

 1. Initialize arrays.

 2. Insert first empty sheet.
Checking requested interface(s):
warning: java_invoke is obsolete and will be removed from a future version of Octave,
please use javaMethod instead
POI (& OOXML)*; (* = default interface)
Creating file io-test.xls
warning: java_get is obsolete and will be removed from a future version of Octave; use structure-like indexing instead

 3. Add data to test sheet.

 4. Add another sheet with just one number in A1.

 5. Explore sheet info.
error: scalar cannot be indexed with .
error: called from:
error: X:\Octave\octave-3.9.0+_20131203\share\octave\packages\io-1.2.5\private\__POI_getusedrange__.m at line 41, column 12 error: X:\Octave\octave-3.9.0+_20131203\share\octave\packages\io-1.2.5\private\getusedrange.m at line 90, column 26 error: X:\Octave\octave-3.9.0+_20131203\share\octave\packages\io-1.2.5\private\__POI_spsh_info__.m at line 34, column 18 error: X:\Octave\octave-3.9.0+_20131203\share\octave\packages\io-1.2.5\xlsfinfo.m at line 111, column 15 error: X:\Octave\octave-3.9.0+_20131203\share\octave\packages\io-1.2.5\io_xls_testscript.m at line 59, column 9
>>
======================================================

The offending line (offending for Octave-3.9.0+) is:

      scol = (irow.getFirstCellNum).intValue ();

which would work OK in 3.9.0+ if the intValue() method is dropped (as Octave now "autoboxes" the getFirstCellNum method results into int32).
Changing the evaluation order by playing with the parentheses doesn't help.

There are many similar instances around the place in io-1.2.5, some deeply buried in loops.

Anyway I've more or less finished io-1.3.4. I'll try to upload it to patch #8099 later this week (first I need to survive all the upcoming X-Mas parties at work...)

Philip



reply via email to

[Prev in Thread] Current Thread [Next in Thread]