# File raggle, line 296
  def unescape_html
    munge_uni = !($HAVE_LIB['iconv'] && $config['use_iconv']) || $config['use_iconv_munge']

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