diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-03-03 09:58:25 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-03-03 09:58:25 +0000 |
commit | c87618706e7569995fe0bea93cf3f7793f3e2bb1 (patch) | |
tree | b1fe4696c44ee8b56849088e40a68ac33edbae60 /lib/rdoc/ri/ri_display.rb | |
parent | 22d105a4e26b01fcff0ce35a667c8e395cc09805 (diff) | |
download | ruby-c87618706e7569995fe0bea93cf3f7793f3e2bb1.tar.gz ruby-c87618706e7569995fe0bea93cf3f7793f3e2bb1.tar.xz ruby-c87618706e7569995fe0bea93cf3f7793f3e2bb1.zip |
* lib/rdoc/ri/ri_display.rb (DefaultDisplay::setup_pager): ensure
pager closes and stdout is restored.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rdoc/ri/ri_display.rb')
-rw-r--r-- | lib/rdoc/ri/ri_display.rb | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/rdoc/ri/ri_display.rb b/lib/rdoc/ri/ri_display.rb index 500632ae0..d07f59553 100644 --- a/lib/rdoc/ri/ri_display.rb +++ b/lib/rdoc/ri/ri_display.rb @@ -183,12 +183,11 @@ class DefaultDisplay ###################################################################### def page - setup_pager + pager = setup_pager begin yield - page_output ensure - STDOUT.reopen(@save_stdout) if @save_stdout + page_output(pager) end end @@ -203,20 +202,20 @@ class DefaultDisplay else @save_stdout = STDOUT.clone STDOUT.reopen(pager) - return + return pager end end @options.use_stdout = true + nil end end ###################################################################### - def page_output - unless @options.use_stdout - STDOUT.reopen(@save_stdout) - @save_stdout = nil - end + def page_output(pager) + STDOUT.reopen(@save_stdout) if @save_stdout + @save_stdout = nil + pager.close if pager end ###################################################################### |