diff --git a/lib/rexml/parsers/sax2parser.rb b/lib/rexml/parsers/sax2parser.rb index f12494d3..ef1c4d9a 100644 --- a/lib/rexml/parsers/sax2parser.rb +++ b/lib/rexml/parsers/sax2parser.rb @@ -226,12 +226,8 @@ def get_procs( symbol, name ) return nil if @procs.size == 0 @procs.find_all do |sym, match, block| ( - (sym.nil? or symbol == sym) and - ((name.nil? and match.nil?) or match.nil? or ( - (name == match) or - (match.kind_of? Regexp and name =~ match) - ) - ) + (sym.nil? or (symbol == sym)) and + (match.nil? or (name == match) or (match.kind_of? Regexp and match.match?(name))) ) end.collect{|x| x[-1]} end @@ -239,12 +235,8 @@ def get_listeners( symbol, name ) return nil if @listeners.size == 0 @listeners.find_all do |sym, match, block| ( - (sym.nil? or symbol == sym) and - ((name.nil? and match.nil?) or match.nil? or ( - (name == match) or - (match.kind_of? Regexp and name =~ match) - ) - ) + (sym.nil? or (symbol == sym)) and + (match.nil? or (name == match) or (match.kind_of? Regexp and match.match?(name))) ) end.collect{|x| x[-1]} end