mirror of
https://github.com/ruby/ruby.git
synced 2025-09-20 11:03:58 +02:00
merge revision(s) 34202:
* lib/rexml/parsers/baseparser.rb: rexml BaseParser uses instance_eval unnecessarily on listener add. patch from Charles Nutter. [Bug #5696] [ruby-core:41437] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e87360009c
commit
68fff3881d
3 changed files with 18 additions and 16 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
Tue Jan 03 23:57:37 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
|
||||||
|
|
||||||
|
* lib/rexml/parsers/baseparser.rb: rexml BaseParser uses
|
||||||
|
instance_eval unnecessarily on listener add.
|
||||||
|
patch from Charles Nutter. [Bug #5696] [ruby-core:41437]
|
||||||
|
|
||||||
Tue Jan 03 19:13:05 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
|
Tue Jan 03 19:13:05 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
|
||||||
|
|
||||||
* test/rexml/test_sax.rb: add require 'rexml/document'.
|
* test/rexml/test_sax.rb: add require 'rexml/document'.
|
||||||
|
|
|
@ -114,22 +114,10 @@ module REXML
|
||||||
|
|
||||||
def initialize( source )
|
def initialize( source )
|
||||||
self.stream = source
|
self.stream = source
|
||||||
|
@listeners = []
|
||||||
end
|
end
|
||||||
|
|
||||||
def add_listener( listener )
|
def add_listener( listener )
|
||||||
if !defined?(@listeners) or !@listeners
|
|
||||||
@listeners = []
|
|
||||||
instance_eval <<-EOL
|
|
||||||
alias :_old_pull :pull
|
|
||||||
def pull
|
|
||||||
event = _old_pull
|
|
||||||
@listeners.each do |listener|
|
|
||||||
listener.receive event
|
|
||||||
end
|
|
||||||
event
|
|
||||||
end
|
|
||||||
EOL
|
|
||||||
end
|
|
||||||
@listeners << listener
|
@listeners << listener
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -192,6 +180,14 @@ module REXML
|
||||||
|
|
||||||
# Returns the next event. This is a +PullEvent+ object.
|
# Returns the next event. This is a +PullEvent+ object.
|
||||||
def pull
|
def pull
|
||||||
|
_pull_inner.tap do |event|
|
||||||
|
@listeners.each do |listener|
|
||||||
|
listener.receive event
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def _pull_inner
|
||||||
if @closed
|
if @closed
|
||||||
x, @closed = @closed, nil
|
x, @closed = @closed, nil
|
||||||
return [ :end_element, x ]
|
return [ :end_element, x ]
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#define RUBY_VERSION "1.9.3"
|
#define RUBY_VERSION "1.9.3"
|
||||||
#define RUBY_PATCHLEVEL 19
|
#define RUBY_PATCHLEVEL 20
|
||||||
|
|
||||||
#define RUBY_RELEASE_DATE "2012-01-04"
|
#define RUBY_RELEASE_DATE "2012-01-07"
|
||||||
#define RUBY_RELEASE_YEAR 2012
|
#define RUBY_RELEASE_YEAR 2012
|
||||||
#define RUBY_RELEASE_MONTH 1
|
#define RUBY_RELEASE_MONTH 1
|
||||||
#define RUBY_RELEASE_DAY 4
|
#define RUBY_RELEASE_DAY 7
|
||||||
|
|
||||||
#include "ruby/version.h"
|
#include "ruby/version.h"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue