I've been digging in a bit further. A few issues:

* The 1.0/1.1 feature for a long line is to output it, rather than cut
it up as the change below. So this is a feature change, but I agree
with you on this being how it should work.

* You can still cause infinite loops if you request something silly,
ie: the width is less than the flag, longflag and prefix. Previously
it used width + arg indent + prefix due to the fixed CLI-151 bug. I
think this should be an IllegalArgumentException.

Hen

On Wed, Feb 18, 2009 at 10:54 PM, Gary Gregory
<ggreg...@seagullsoftware.com> wrote:
> Good news all around.
> Thanks Hen,
> Gary
>
> -----Original Message-----
> From: Henri Yandell [mailto:flame...@gmail.com]
> Sent: Wednesday, February 18, 2009 9:08 PM
> To: Commons Developers List
> Subject: Re: [VOTE] CLI 1.2 release (RC2)
>
> So committed. I thought it would be harder to implement it that way
> but turned out to be easier.
>
> On Wed, Feb 18, 2009 at 9:55 AM, Gary Gregory
> <ggreg...@seagullsoftware.com> wrote:
>> Hi Hen:
>>
>> In my mind, the width is like a newspaper column, or a page in a book, it 
>> always wraps, no matter what. The issue is how is a word broken up. My vote 
>> is to chop and wrap, so that no matter what, you get all of the text in the 
>> given width.
>>
>> Gary
>>
>> -----Original Message-----
>> From: Henri Yandell [mailto:flame...@gmail.com]
>> Sent: Tuesday, February 17, 2009 9:45 PM
>> To: Commons Developers List
>> Subject: Re: [VOTE] CLI 1.2 release (RC2)
>>
>> This is fixed. Now we need to decide what should happen when text is
>> too large, do we simply output it or do we break it up.
>>
>> ie) in your test case Gary, the codehaus url is longer than the space
>> you provide to print it. Do you expect it to be cut up or to overrun?
>>
>> Currently I let it overrun as that code was simpler.
>>
>> Hen
>>
>> On Tue, Feb 10, 2009 at 6:55 PM, Henri Yandell <flame...@gmail.com> wrote:
>>> I had a stab last night, but didn't figure out how the code should
>>> look to fix it.
>>>
>>> Lack of pronoun = "Equally buried :) My 2 jobs at work are behaving
>>> like 3 right now. "
>>>
>>> I'll keep looking, but not turning away anyone else from looking
>>> either as it's not immediately obvious.
>>>
>>> Hen
>>>
>>> On Tue, Feb 10, 2009 at 1:48 PM, Gary Gregory
>>> <ggreg...@seagullsoftware.com> wrote:
>>>> Hey Hen:
>>>>
>>>> "So need to figure out how to fix that."
>>>>
>>>> Can you look into this issue? I'm buried at work here. I'm not sure if you 
>>>> wanted me to do this due to the missing pronoun ;)
>>>>
>>>> Thanks,
>>>> Gary
>>>>
>>>> -----Original Message-----
>>>> From: Henri Yandell [mailto:flame...@gmail.com]
>>>> Sent: Monday, February 09, 2009 10:58 PM
>>>> To: Commons Developers List
>>>> Subject: Re: [VOTE] CLI 1.2 release (RC2)
>>>>
>>>> If I rollback the change from CLI-162, and comment out the
>>>> testInfiniteLoop; your new test also infinite loops. So CLI-162 is a
>>>> sign that something has broken in that class since 1.1, rather than it
>>>> being an existing issue in 1.1.
>>>>
>>>> Rolling back each commit on HelpFormatter, the issue appears to have
>>>> come in with:
>>>>
>>>> ----
>>>> r654428 | bayard | 2008-05-07 23:40:58 -0700 (Wed, 07 May 2008) | 1 line
>>>>
>>>> Applying J. Lewis Muir's patch from CLI-151 fixing HelpFormatter so it
>>>> wraps properly on multiple lines
>>>> ----
>>>>
>>>> Said patch was:
>>>>
>>>> Index: src/java/org/apache/commons/cli/HelpFormatter.java
>>>> ===================================================================
>>>> --- src/java/org/apache/commons/cli/HelpFormatter.java  (revision 654427)
>>>> +++ src/java/org/apache/commons/cli/HelpFormatter.java  (revision 654428)
>>>> @@ -809,7 +809,7 @@
>>>>         while (true)
>>>>         {
>>>>             text = padding + text.substring(pos).trim();
>>>> -            pos = findWrapPos(text, width, nextLineTabStop);
>>>> +            pos = findWrapPos(text, width, 0);
>>>>
>>>>             if (pos == -1)
>>>>             {
>>>>
>>>> So need to figure out how to fix that.
>>>>
>>>> Hen
>>>>
>>>> On Mon, Feb 9, 2009 at 10:37 PM, Henri Yandell <flame...@gmail.com> wrote:
>>>>> Thanks for the update.
>>>>>
>>>>> It's invoked when I run mvn package:
>>>>>
>>>>> Running org.apache.commons.cli.bug.BugCLI162Test
>>>>> Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.013
>>>>> sec <<< FAILURE!
>>>>>
>>>>> Hen
>>>>>
>>>>> On Mon, Feb 9, 2009 at 8:46 PM, Gary Gregory
>>>>> <ggreg...@seagullsoftware.com> wrote:
>>>>>> Hen:
>>>>>>
>>>>>> Ok, I've updated the class BugCLI162Test in SVN with a failing test. 
>>>>>> Note that BugCLI162Test is not invoked during a Maven build. Is this an 
>>>>>> omission? How about an AllTests class for the "bug" package?
>>>>>>
>>>>>> Thanks,
>>>>>> Gary
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Gary Gregory [mailto:ggreg...@seagullsoftware.com]
>>>>>> Sent: Monday, February 09, 2009 7:58 PM
>>>>>> To: Commons Developers List
>>>>>> Subject: RE: [VOTE] CLI 1.2 release (RC2)
>>>>>>
>>>>>> I'll extract a unit test from our code and post a new ticket.
>>>>>>
>>>>>> Gary
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Henri Yandell [mailto:flame...@gmail.com]
>>>>>> Sent: Monday, February 09, 2009 7:10 PM
>>>>>> To: Commons Developers List
>>>>>> Subject: Re: [VOTE] CLI 1.2 release (RC2)
>>>>>>
>>>>>> I think it's a showstopper - that was a fix due to infinite looping
>>>>>> causing an OOM. Sounds like you have a test case that isn't covered by
>>>>>> the current tests.
>>>>>>
>>>>>> Hen
>>>>>>
>>>>>> On Mon, Feb 9, 2009 at 1:33 PM, Gary Gregory
>>>>>> <ggreg...@seagullsoftware.com> wrote:
>>>>>>> Hello Hen:
>>>>>>>
>>>>>>> I've encountered a backwards compatibility issue in our application 
>>>>>>> unit test suite related to [CLI-162].
>>>>>>>
>>>>>>> With version 1.1, I can print call 
>>>>>>> HelpFormatter#printHelp(String,Options) without any problems without 
>>>>>>> our options. When I replace 1.1 with 1.2 I get:
>>>>>>>
>>>>>>> Exception in thread "main" java.lang.RuntimeException: Text too long 
>>>>>>> for line - throwing exception to avoid infinite loop [CLI-162]:
>>>>>>>
>>>>>>> Since the only thing that I changed is the CLI version, I assume that 
>>>>>>> this means that the HelpFormatter format changed between 1.1 and 1.2. 
>>>>>>> Is that so?
>>>>>>>
>>>>>>> I worked around this by calling the HelpFormatter API with a width 
>>>>>>> large enough to avoid the RE. Sadly this makes CLI 1.2 not 100% binary 
>>>>>>> compatible with 1.1.
>>>>>>>
>>>>>>> Before I go any further and extract my code into a JIRA ticket, is this 
>>>>>>> a showstopper? If not, there's plenty of work I need to do before I 
>>>>>>> spin my wheels on extracting the code.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Gary
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Henri Yandell [mailto:flame...@gmail.com]
>>>>>>> Sent: Sunday, February 08, 2009 1:01 PM
>>>>>>> To: Commons Developers List
>>>>>>> Subject: [VOTE] CLI 1.2 release (RC2)
>>>>>>>
>>>>>>> Apologies for the revote. I've added a note to the release page to
>>>>>>> check the NOTICE file's copyright year.
>>>>>>>
>>>>>>> There should be no difference between the two other than the RC1->RC2
>>>>>>> in the pom and the updated year in the NOTICE file.
>>>>>>>
>>>>>>>
>>>>>>> Tag:
>>>>>>>
>>>>>>> https://svn.apache.org/repos/asf/commons/proper/cli/tags/cli-1.2-RC2
>>>>>>>
>>>>>>> Site remains unchanged:
>>>>>>>
>>>>>>> http://people.apache.org/~bayard/cli-1.2-rc1
>>>>>>>
>>>>>>> Binaries:
>>>>>>>
>>>>>>> http://people.apache.org/builds/commons/cli/1.2/RC1/staged/commons-cli/commons-cli/1.2/
>>>>>>>
>>>>>>> [ ] +1 release it
>>>>>>> [ ] +0 go ahead I don't care
>>>>>>> [ ] -1 no, do not release it because
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>
>>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to