You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@karaf.apache.org by Guillaume Nodet <gn...@gmail.com> on 2011/05/18 17:03:11 UTC

Re: svn commit: r1124287 - /karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java

We need to make sure this is backported in jline2 as at some point we
should revert back to the official version when it will be released.
The sources are on github/jline/jline2

On Wednesday, May 18, 2011,  <ga...@apache.org> wrote:
> Author: gawor
> Date: Wed May 18 14:42:24 2011
> New Revision: 1124287
>
> URL: http://svn.apache.org/viewvc?rev=1124287&view=rev
> Log:
> KARAF-496: Karaf prompt displayed twice on Windows with unsupported terminal
>
> Modified:
>     karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java
>
> Modified: karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java
> URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java?rev=1124287&r1=1124286&r2=1124287&view=diff
> ==============================================================================
> --- karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java (original)
> +++ karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java Wed May 18 14:42:24 2011
> @@ -99,6 +99,8 @@ public class ConsoleReader
>      private String previousSearchTerm = "";
>
>      private int searchIndex = -1;
> +
> +    private boolean skipLF = false;
>
>      public ConsoleReader(final InputStream in, final Writer out, final InputStream bindings, final Terminal term) throws
>          IOException
> @@ -1371,17 +1373,32 @@ public class ConsoleReader
>      private String readLine(final InputStream in) throws IOException {
>          StringBuilder buff = new StringBuilder();
>
> +        if (skipLF) {
> +            skipLF = false;
> +
> +            int i = streamBuffer.isEmpty() ? in.read() : streamBuffer.remove(0);
> +
> +            if (i == -1 || i == '\r') {
> +                return buff.toString();
> +            } else if (i == '\n') {
> +                // ignore
> +            } else {
> +                buff.append((char) i);
> +            }
> +        }
> +
>          while (true) {
>              int i = streamBuffer.isEmpty() ? in.read() : streamBuffer.remove(0);
>
> -            if (i == -1 || i == '\n' || i == '\r') {
> +            if (i == -1 || i == '\n') {
>                  return buff.toString();
> +            } else if (i == '\r') {
> +                skipLF = true;
> +                return buff.toString();
> +            } else {
> +                buff.append((char) i);
>              }
> -
> -            buff.append((char) i);
>          }
> -
> -        // return new BufferedReader (new InputStreamReader (in)).readLine ();
>      }
>
>      //
>
>
>

-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Connect at CamelOne May 24-26
The Open Source Integration Conference
http://camelone.com/

Re: svn commit: r1124287 - /karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java

Posted by Jarek Gawor <jg...@gmail.com>.
Yep. I agree.

Jarek

On Wed, May 18, 2011 at 11:03 AM, Guillaume Nodet <gn...@gmail.com> wrote:
> We need to make sure this is backported in jline2 as at some point we
> should revert back to the official version when it will be released.
> The sources are on github/jline/jline2
>
> On Wednesday, May 18, 2011,  <ga...@apache.org> wrote:
>> Author: gawor
>> Date: Wed May 18 14:42:24 2011
>> New Revision: 1124287
>>
>> URL: http://svn.apache.org/viewvc?rev=1124287&view=rev
>> Log:
>> KARAF-496: Karaf prompt displayed twice on Windows with unsupported terminal
>>
>> Modified:
>>     karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java
>>
>> Modified: karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java
>> URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java?rev=1124287&r1=1124286&r2=1124287&view=diff
>> ==============================================================================
>> --- karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java (original)
>> +++ karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java Wed May 18 14:42:24 2011
>> @@ -99,6 +99,8 @@ public class ConsoleReader
>>      private String previousSearchTerm = "";
>>
>>      private int searchIndex = -1;
>> +
>> +    private boolean skipLF = false;
>>
>>      public ConsoleReader(final InputStream in, final Writer out, final InputStream bindings, final Terminal term) throws
>>          IOException
>> @@ -1371,17 +1373,32 @@ public class ConsoleReader
>>      private String readLine(final InputStream in) throws IOException {
>>          StringBuilder buff = new StringBuilder();
>>
>> +        if (skipLF) {
>> +            skipLF = false;
>> +
>> +            int i = streamBuffer.isEmpty() ? in.read() : streamBuffer.remove(0);
>> +
>> +            if (i == -1 || i == '\r') {
>> +                return buff.toString();
>> +            } else if (i == '\n') {
>> +                // ignore
>> +            } else {
>> +                buff.append((char) i);
>> +            }
>> +        }
>> +
>>          while (true) {
>>              int i = streamBuffer.isEmpty() ? in.read() : streamBuffer.remove(0);
>>
>> -            if (i == -1 || i == '\n' || i == '\r') {
>> +            if (i == -1 || i == '\n') {
>>                  return buff.toString();
>> +            } else if (i == '\r') {
>> +                skipLF = true;
>> +                return buff.toString();
>> +            } else {
>> +                buff.append((char) i);
>>              }
>> -
>> -            buff.append((char) i);
>>          }
>> -
>> -        // return new BufferedReader (new InputStreamReader (in)).readLine ();
>>      }
>>
>>      //
>>
>>
>>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
>
> Connect at CamelOne May 24-26
> The Open Source Integration Conference
> http://camelone.com/
>