    # File lib/rmail/address.rb, line 223
        def format
          display_name = if @display_name.nil?
                           nil
                         elsif @display_name =~ /^[-\/\w=!#\$%&'*+?^`{|}~ ]+$/
                           @display_name
                         else
                           '"' + @display_name.gsub(/["\\]/, '\\\\\&') + '"'
                         end
          local = if (@local !~ /^[-\w=!#\$%&'*+?^`{|}~\.\/]+$/ ||
                      @local =~ /^\./ ||
                      @local =~ /\.$/ ||
                      @local =~ /\.\./)
                    '"' + @local.gsub(/["\\]/, '\\\\\&') + '"'
                  else
                    @local
                  end
          domain = if (!@domain.nil? and
                       (@domain !~ /^[-\w=!#\$%&'*+?^`{|}~\.\/]+$/ ||
                        @domain =~ /^\./ ||
                        @domain =~ /\.$/ ||
                        @domain =~ /\.\./))
                   then
                     '[' + if @domain =~ /^\[(.*)\]$/
                             $1
                           else
                             @domain
                           end.gsub(/[\[\]\\]/, '\\\\\&') + ']'
                   else
                     @domain
                   end
          address = if domain.nil?
                      local
                    elsif !display_name.nil? or domain[-1] == ?]
                      '<' + local + '@' + domain + '>'
                    else
                      local + '@' + domain
                    end
          comments = nil
          comments = unless @comments.nil?
                       @comments.collect { |c|
              '(' + c.gsub(/[()\\]/, '\\\\\&') + ')'
            }.join(' ')
                     end
          [display_name, address, comments].compact.join(' ')
        end