octave-maintainers
[Top][All Lists]
Advanced

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

Re: general package, inputParser, 4.0.0 release


From: Carnë Draug
Subject: Re: general package, inputParser, 4.0.0 release
Date: Fri, 22 May 2015 18:50:28 +0100

On 22 May 2015 at 18:14, Philip Nienhuis <address@hidden> wrote:
> Carnë Draug wrote
>> Hi
>>
>> the general package currently implements the inputParser class.  The
>> upcoming
>> Octave release 4.0.0 also implements this class.  These implementations
>> are
>> very similar but different enough that any of its use will require changes
>> to continue working.  Loading the general package will shadow the class
>> but
>> Octave will not warn about it (seems like it only warns about shadowing
>> functions).
>>
>> Currently, the best way to distinguish between the two is by checking the
>> path to the function like so:
>>
>>     if (strfind (which ("inputParser"), ["@inputParser" filesep
>> "inputParser.m"]))
>>       ...
>>     else
>>       ...
>>     endfif
>>
>> but we can't really expect users, in special new users that are not aware
>> of
>> this history, to figure it out.
>>
>> In addition, a few weeks ago [1] I expressed my wish of marking the
>> general
>> package as an unmaintained package.  I didn't feel there was much of
>> opposition to that (but can also be because the email was a fairly long
>> rant
>> that few read).
>>
>> This said, I see two possible resolutions:
>>
>>   1. make a new release of the general package without @inputParser and
>>   dependent on (octave >= 4.0.0).
>>
>>   2. make a new release of the general package, exactly the same as the
>>   last release, and dependent on (octave < 4.0.0).
>>
>> Any of the two would prevent @inputParser and classdef's inputParser to
>> co-exist.  I prefer the second option for the following reasons:
>>
>>   * users that wrote code for the old version had his code dependent
>>     on general.  If it is used on the Octave 4.0.0 it will fail to load
>>     the general package forcing them to become aware of this difference.
>>
>>   * users of old versions of Octave can still use the "latest" version
>>     of the package without having to dig on the old releases.
>>
>>   * since we are "deprecating" the general package, we should make it
>> easier
>>     for the people that will stay on the old versions of Octave, the ones
>>     released when it was "supported".
>
> Wasn't there a discussion about the OF general package a while ago in which
> I suggested to make a release /wo inputParser?  here in the maintainers ML
> or in the bug tracker (can't find it now). IIRC that discussion was related
> to the linear-algebra package.

Yes, that is one of the alternatives.  When I found this problem the first
time I started by removing @inputParser from the package.  There is even one
in the release packages forum.  But because of the points above (and
considering the other thread where I suggest dropping the general package),
I think we would be better off reinstating the @inputParser and releasing it
with depends (octave < 4.0.0).

Carnë



reply via email to

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