HighLine freezes when using wrap_at and page_at

L

LAMBEAU Bernard

[Note: parts of this message were removed to make it a legal post.]

Hi all,

I'm experimenting a small problem when trying to use HighLine with
wrap_at/page_at options... The script below leads to a deadlock under MacOS
with all ruby installations I have (rvm)

<pre>
require 'rubygems'
require 'highline'
h = HighLine.new
h.wrap_at = 10
h.say "a"*100
</pre>

Something I don't understand ??

thanks,
B
 
J

James Edward Gray II

I'm experimenting a small problem when trying to use HighLine with
wrap_at/page_at options... The script below leads to a deadlock under = MacOS
with all ruby installations I have (rvm)
=20
<pre>
require 'rubygems'
require 'highline'
h =3D HighLine.new
h.wrap_at =3D 10
h.say "a"*100
</pre>
=20
Something I don't understand ??

Nope, it looks like you found a bug. I believe I have it fixed on =
Github now:

http://github.com/JEG2/highline

Can you confirm that code works for you?

Thanks.

James Edward Gray II=
 
L

LAMBEAU Bernard

[Note: parts of this message were removed to make it a legal post.]

Works perfectly now :)

P.S. Don't know it's a bug, but with page_at set to :auto, two lines are
hidden on each page (probably due to the "\n-- press enter/return to
continue or q to stop -- q" message). Don't know if it's clear, ... you can
try the following:

<pre>
require 'rubygems'
require 'highline'
h = HighLine.new
h.page_at = :auto
h.say((1..1000).collect{|i| i.to_s}.join("\n"))
</pre>

On a terminal 80x24, the first page starts shows 3 to 24, the second page 27
to 48, and so on.

Anyway, using "h.page_at = h.output_rows-2" works fine...

Thanks a lot,
B
 
J

James Edward Gray II

P.S. Don't know it's a bug, but with page_at set to :auto, two lines = are
hidden on each page (probably due to the "\n-- press enter/return to
continue or q to stop -- q" message). Don't know if it's clear, ... = you can try the following:
=20
<pre>
require 'rubygems'
require 'highline'
h =3D HighLine.new
h.page_at =3D :auto
h.say((1..1000).collect{|i| i.to_s}.join("\n"))
</pre>
=20
On a terminal 80x24, the first page starts shows 3 to 24, the second = page 27
to 48, and so on.

Looks like a bug to me, yep.
Anyway, using "h.page_at =3D h.output_rows-2" works fine...

I applied your fix:

http://github.com/JEG2/highline

Thanks again!

James Edward Gray II=
 
L

LAMBEAU Bernard

[Note: parts of this message were removed to make it a legal post.]

Works fine !

Thanks again
B
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,434
Messages
2,571,690
Members
48,796
Latest member
Greg L.

Latest Threads

Top