summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-18 11:38:24 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-18 11:38:24 +0000
commit0ba513daebe33652b33177bf516ace6d2836440e (patch)
treee560c25be342b57a30aadcb98cc13d09c6c35c24
parent0207b458347e6cbd9decc7c550f478038cc4f9dd (diff)
downloadruby-0ba513daebe33652b33177bf516ace6d2836440e.tar.gz
ruby-0ba513daebe33652b33177bf516ace6d2836440e.tar.xz
ruby-0ba513daebe33652b33177bf516ace6d2836440e.zip
* lib/optparse.rb (OptionParser::ParseError#set_backtrace): omits
OptionParser internal backtraces unless debug flag is set. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--lib/optparse.rb7
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e0d62565..0cfd89488 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Sep 18 20:37:59 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/optparse.rb (OptionParser::ParseError#set_backtrace): omits
+ OptionParser internal backtraces unless debug flag is set.
+
Thu Sep 18 20:02:48 2008 Yusuke Endoh <mame@tsg.ne.jp>
* lib/uri/common.rb (unescape): skip '%' to make String#hex work
diff --git a/lib/optparse.rb b/lib/optparse.rb
index 86681235a..aef3c0d48 100644
--- a/lib/optparse.rb
+++ b/lib/optparse.rb
@@ -1605,6 +1605,13 @@ class OptionParser
argv
end
+ def set_backtrace(array)
+ unless $DEBUG
+ array.delete_if(&%r"\A#{Regexp.quote(__FILE__)}:"o.method(:=~))
+ end
+ super(array)
+ end
+
def set_option(opt, eq)
if eq
@args[0] = opt