Subject: bug#39689: 26.3; browse-url-mail not supporting RFC6068 (UTF-8-Based Percent-Encoding)

From: Robert Pluim <[email-masked]>
Date: Thu, 27 Feb 2020 11:51:35 +0100

>>>>> On Thu, 20 Feb 2020 14:48:54 +0100, Vegard Vesterheim via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <[email-masked]> said:

    Vegard> Emacs does not seem to correctly handle UTF-8-Based Percent-Encoding as
    Vegard> illustrated in Chapter 6.2 from RFC6068.

    Vegard> The command 
    Vegard>    emacs -Q -l browse-url -eval '(browse-url-mail "mailto:[email-masked]?subject=caf%C3%A9&body=caf%C3%A9")'

    Vegard> should result in a message buffer with the string "café" insterted into the
    Vegard> body part of the message. Instead the string "cafÃ©" is inserted.

Yes, the assumption in rfc2368-unhexify-string is that percent
escaping is being done of ASCII characters.

epg--decode-percent-escape-as-utf-8 in epg.el does the
right thing, it could be renamed and moved. I think rfc2047 decoding
needs doing on the result as well. Lars, should I just stick these in
rfc2368.el but named something like rfc6068-unhexify-string and
rfc6068-decode-2047-string or something?

Robert