# File raggle, line 448
  def unescape_html
    # if we're uing iconv, disable unicode munging unless the override
    # use_iconv_munge is set
    munge_uni = !($HAVE_LIB['iconv'] && $config['use_iconv']) || 
                 $config['use_iconv_munge']
    munge_str = $config['unicode_munge_str']

    str = self.dup
    str.gsub!(/&(.*?);/n) {
      m = $1.dup.downcase
      if HTML_ENTITY_LUT.key?(m)
        HTML_ENTITY_LUT[m]
      else
        case m
        when 'amp':   '&'
        when 'nbsp'   ' '
        when /^quot$/ni:  '"'
        when /^lt$/ni:    '<'
        when /^gt$/ni:    '>'
        when /^copy/:     '(c)'
        when /^trade/:    '(tm)'
        when /^#8212$/n:  ","
        when /^#8217$/n:  "'"
        when /^#8218$/n:  ","
        when /^#(\d+)$/n
          r = $1.to_i # Integer() interprets leading zeros as octal
          if !r.between?(0, 255) && munge_uni
            UNICODE_LUT[r] ? UNICODE_LUT[r] : munge_str
          else
            r.chr
          end
        when /^#x([0-9a-f]+)$/ni
          r = $1.hex
          if !r.between?(0, 255) && munge_uni
            UNICODE_LUT[r] ? UNICODE_LUT[r] : munge_str
          else
            r.chr
          end
        end
      end
    }
    str
  end