elpa/enh-ruby-mode/ruby/erm_buffer.rb
def parse
      @count          = 1
      @mode           = nil
      @brace_stack    = []
      @heredoc        = nil
      @first_token    = true
      @last_add       = nil
      @res            = []
      @ident          = false
      @ident_stack    = []
      @block          = false
      @statment_start = true
      @indent_stack   = []
      @list_count     = 0
      @cond_stack     = []

      catch :parse_complete do
        super

        realadd :rem, '', @src_size-@count if heredoc
      end

      res = @res.map.with_index { |v, i|
        "(%d %s)" % [i, v.join(" ")] if v
      }

      "((%s %s %s %s)%s)" % [@src_size,
                             @point_min,
                             @point_max,
                             @indent_stack.join(' '),
                             res.join]
    end
# Bugs in Ripper:
# empty here doc fails to fire on_heredoc_end
Bugs in Ripper:
empty here doc fails to fire on_heredoc_end
Bugs in Ripper : empty here doc fails to fire on_heredoc_end
def parse
      @count          = 1
      @mode           = nil
      @brace_stack    = []
      @heredoc        = nil
      @first_token    = true
      @last_add       = nil
      @res            = []
      @ident          = false
      @ident_stack    = []
      @block          = false
      @statment_start = true
      @indent_stack   = []
      @list_count     = 0
      @cond_stack     = []
      catch :parse_complete do
        super
        realadd :rem, '', @src_size-@count if heredoc
      end
      res = @res.map.with_index { |v, i|
        "(%d %s)" % [i, v.join(" ")] if v
      }
      "((%s %s %s %s)%s)" % [@src_size,
                             @point_min,
                             @point_max,
                             @indent_stack.join(' '),
                             res.join]
    end
def parse @count = 1 @mode = nil @brace_stack = [ ] @heredoc = nil @first_token = true @last_add = nil @res = [ ] @ident = false @ident_stack = [ ] @block = false @statment_start = true @indent_stack = [ ] @list_count = 0 @cond_stack = [ ] catch :parse_complete do super realadd :rem , '' , @src_size - @count if heredoc end res = @res . map . with_index { | v , i | "(%d %s)" % [ i , v . join ( " " ) ] if v } "((%s %s %s %s)%s)" % [ @src_size , @point_min , @point_max , @indent_stack . join ( ' ' ) , res . join ] end
Bugs in Ripper:
empty here doc fails to fire on_heredoc_end
Bugs in Ripper : empty here doc fails to fire on_heredoc_end