--- a/mercurial/mail.py Thu Aug 09 20:08:30 2018 -0700
+++ b/mercurial/mail.py Thu Aug 09 18:27:36 2018 -0400
@@ -152,8 +152,9 @@
def _sendmail(ui, sender, recipients, msg):
'''send mail using sendmail.'''
program = ui.config('email', 'method')
- cmdline = '%s -f %s %s' % (program, stringutil.email(sender),
- ' '.join(map(stringutil.email, recipients)))
+ stremail = lambda x: stringutil.email(encoding.strtolocal(x))
+ cmdline = '%s -f %s %s' % (program, stremail(sender),
+ ' '.join(map(stremail, recipients)))
ui.note(_('sending mail: %s\n') % cmdline)
fp = procutil.popen(cmdline, 'wb')
fp.write(util.tonativeeol(msg))
@@ -169,7 +170,8 @@
# Should be time.asctime(), but Windows prints 2-characters day
# of month instead of one. Make them print the same thing.
date = time.strftime(r'%a %b %d %H:%M:%S %Y', time.localtime())
- fp.write('From %s %s\n' % (sender, date))
+ fp.write('From %s %s\n' % (encoding.strtolocal(sender),
+ encoding.strtolocal(date)))
fp.write(msg)
fp.write('\n\n')
fp.close()