* lib/rdoc/ri/ri_display.rb (DefaultDisplay::page): wait until the
pager terminates. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
57cbecdb4f
commit
5dfa7cacd1
@ -1,7 +1,7 @@
|
|||||||
Wed Mar 3 18:58:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Thu Mar 4 01:17:28 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* lib/rdoc/ri/ri_display.rb (DefaultDisplay::setup_pager): ensure
|
* lib/rdoc/ri/ri_display.rb (DefaultDisplay::page): wait until the
|
||||||
pager closes and stdout is restored.
|
pager terminates.
|
||||||
|
|
||||||
Wed Mar 3 13:10:56 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
|
Wed Mar 3 13:10:56 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
@ -183,11 +183,15 @@ class DefaultDisplay
|
|||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
def page
|
def page
|
||||||
pager = setup_pager
|
return yield unless pager = setup_pager
|
||||||
begin
|
begin
|
||||||
|
save_stdout = STDOUT.clone
|
||||||
|
STDOUT.reopen(pager)
|
||||||
yield
|
yield
|
||||||
ensure
|
ensure
|
||||||
page_output(pager)
|
STDOUT.reopen(save_stdout)
|
||||||
|
save_stdout.close
|
||||||
|
pager.close
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -196,28 +200,13 @@ class DefaultDisplay
|
|||||||
def setup_pager
|
def setup_pager
|
||||||
unless @options.use_stdout
|
unless @options.use_stdout
|
||||||
for pager in [ ENV['PAGER'], "less", "more", 'pager' ].compact.uniq
|
for pager in [ ENV['PAGER'], "less", "more", 'pager' ].compact.uniq
|
||||||
begin
|
return IO.popen(pager, "w") rescue nil
|
||||||
pager = IO.popen(pager, "w")
|
|
||||||
rescue
|
|
||||||
else
|
|
||||||
@save_stdout = STDOUT.clone
|
|
||||||
STDOUT.reopen(pager)
|
|
||||||
return pager
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
@options.use_stdout = true
|
@options.use_stdout = true
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
######################################################################
|
|
||||||
|
|
||||||
def page_output(pager)
|
|
||||||
STDOUT.reopen(@save_stdout) if @save_stdout
|
|
||||||
@save_stdout = nil
|
|
||||||
pager.close if pager
|
|
||||||
end
|
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
def display_params(method)
|
def display_params(method)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user