* lib/rdoc/ri/ri_display.rb (DefaultDisplay::setup_pager): ensure

pager closes and stdout is restored.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2004-03-03 09:58:25 +00:00
parent 54a0407425
commit 57cbecdb4f
2 changed files with 13 additions and 9 deletions

View File

@ -1,3 +1,8 @@
Wed Mar 3 18:58:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/rdoc/ri/ri_display.rb (DefaultDisplay::setup_pager): ensure
pager closes and stdout is restored.
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>
* eval.c (method_hash): new method. [ruby-talk:93968] * eval.c (method_hash): new method. [ruby-talk:93968]

View File

@ -183,12 +183,11 @@ class DefaultDisplay
###################################################################### ######################################################################
def page def page
setup_pager pager = setup_pager
begin begin
yield yield
page_output
ensure ensure
STDOUT.reopen(@save_stdout) if @save_stdout page_output(pager)
end end
end end
@ -203,20 +202,20 @@ class DefaultDisplay
else else
@save_stdout = STDOUT.clone @save_stdout = STDOUT.clone
STDOUT.reopen(pager) STDOUT.reopen(pager)
return return pager
end end
end end
@options.use_stdout = true @options.use_stdout = true
nil
end end
end end
###################################################################### ######################################################################
def page_output def page_output(pager)
unless @options.use_stdout STDOUT.reopen(@save_stdout) if @save_stdout
STDOUT.reopen(@save_stdout) @save_stdout = nil
@save_stdout = nil pager.close if pager
end
end end
###################################################################### ######################################################################