# File lib/maruku/input/html_helper.rb, line 55
                def eat_this(line)
                        @rest = line  + @rest
                        things_read = 0
                        until @rest.empty?
                                case self.state
                                        when :inside_comment
                                                if @m = CommentEnd.match(@rest)
                                                        @already += @m.pre_match + @m.to_s
                                                        @rest = @m.post_match
                                                        self.state = :inside_element
                                                else 
                                                        @already += @rest 
                                                        @rest = ""
                                                        self.state = :inside_comment
                                                end
                                        when :inside_element 
                                                if @m = CommentStart.match(@rest)
                                                        things_read += 1
                                                        @already += @m.pre_match + @m.to_s
                                                        @rest = @m.post_match
                                                        self.state = :inside_comment
                                                elsif @m = Tag.match(@rest) then
                                                        my_debug "#{@state}: Tag: #{@m.to_s.inspect}"
                                                        things_read += 1
                                                        handle_tag
                                                        self.state = :inside_element
                                                elsif @m = PartialTag.match(@rest) then
                                                        my_debug "#{@state}: PartialTag: #{@m.to_s.inspect}"
                                                        @already += @m.pre_match 
                                                        @rest = @m.post_match
                                                        @partial_tag = @m.to_s
                                                        self.state = :inside_tag
                                                elsif @m = EverythingElse.match(@rest)
                                                        my_debug "#{@state}: Everything: #{@m.to_s.inspect}"
                                                        @already += @m.pre_match + @m.to_s
                                                        @rest = @m.post_match
                                                        self.state = :inside_element
                                                else
                                                        error "Malformed HTML: not complete: #{@rest.inspect}"
                                                end
                                        when :inside_tag
                                                if @m = /^[^>]*>/.match(@rest) then
                                                        my_debug "#{@state}: inside_tag: matched #{@m.to_s.inspect}"
                                                        @partial_tag += @m.to_s
                                                        my_debug "#{@state}: inside_tag: matched TOTAL: #{@partial_tag.to_s.inspect}"
                                                        @rest = @partial_tag + @m.post_match
                                                        @partial_tag = nil
                                                        self.state = :inside_element
                                                else
                                                        @partial_tag += @rest
                                                        @rest = ""
                                                        self.state = :inside_tag
                                                end
                                        else
                                                raise "Bug bug: state = #{self.state.inspect}"
                                end # not inside comment
                                
#                               puts inspect
#                               puts "Read: #{@tag_stack.inspect}"
                                break if is_finished? and things_read>0     
                        end
                end