summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2008-04-16 23:49:41 +0200
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2008-04-16 23:49:41 +0200
commitb371854ac64eab8601b4a013e7ab5dd0c5db9ef5 (patch)
tree288c0993c8c240cb5a193e629095d47062662767
parent5558808a3f0b63a7c8fadcadcee6f09aecea2e62 (diff)
gettext: support anonymous modules (and thus plugins) with newer gettext
While older ruby-gettext raised when trying to bind for anonymous modules (such as the ones that wrap rbot plugins), newer versions just provide an empty array. This makes the previous fix (which used rescue) ineffective. Solve by rescuing with [] (so that older gettext behaves like the new one) and then adding Object if the list is indeed empty.
-rw-r--r--lib/rbot/load-gettext.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/rbot/load-gettext.rb b/lib/rbot/load-gettext.rb
index 5738f197..4d39b7e4 100644
--- a/lib/rbot/load-gettext.rb
+++ b/lib/rbot/load-gettext.rb
@@ -34,7 +34,8 @@ begin
alias :orig_bound_targets :bound_targets
end
def bound_targets(*a) # :nodoc:
- orig_bound_targets(*a) rescue orig_bound_targets(Object)
+ bt = orig_bound_targets(*a) rescue []
+ bt.empty? ? orig_bound_targets(Object) : bt
end
require 'stringio'