From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Pascal Quesseveur Newsgroups: gmane.emacs.bugs Subject: bug#56513: 28.1; Vcard in a mime part with a utf-8 charset is displayed incorrectly Date: Tue, 12 Jul 2022 08:33:46 +0200 Message-ID: <82o7xudelx.fsf@abaksystemes.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31977"; mail-complaints-to="usenet@ciao.gmane.io" To: 56513@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jul 12 08:51:06 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oB9jd-00082A-Jp for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 12 Jul 2022 08:51:05 +0200 Original-Received: from localhost ([::1]:49320 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oB9jc-0006kg-Eo for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 12 Jul 2022 02:51:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54014) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oB9U8-0005M3-Bt for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2022 02:35:06 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:47585) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oB9U7-0001pv-0l for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2022 02:35:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oB9U6-0003R5-PQ for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2022 02:35:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Pascal Quesseveur Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Jul 2022 06:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 56513 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.165760765113142 (code B ref -1); Tue, 12 Jul 2022 06:35:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 12 Jul 2022 06:34:11 +0000 Original-Received: from localhost ([127.0.0.1]:41482 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oB9TG-0003Pt-LZ for submit@debbugs.gnu.org; Tue, 12 Jul 2022 02:34:11 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:60118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oB9T8-0003PZ-0D for submit@debbugs.gnu.org; Tue, 12 Jul 2022 02:34:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53820) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oB9T2-0004Cm-GN for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2022 02:33:58 -0400 Original-Received: from smtp3-g21.free.fr ([2a01:e0c:1:1599::12]:11214) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oB9Sz-0001iK-Se for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2022 02:33:56 -0400 Original-Received: from dagon (unknown [88.127.239.170]) (Authenticated sender: pascal.quesseveur@free.fr) by smtp3-g21.free.fr (Postfix) with ESMTPSA id 8398313FA37 for ; Tue, 12 Jul 2022 08:33:47 +0200 (CEST) Received-SPF: none client-ip=2a01:e0c:1:1599::12; envelope-from=quesseveur@abaksystemes.fr; helo=smtp3-g21.free.fr X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:236742 Archived-At: I have put vcard.el by Noah Friedmann in the load path. I launch gnus and open a mail with an attached vcard: ,---- | ... | MIME-Version: 1.0 | In-Reply-To: | Content-Type: multipart/mixed; | ... | Content-Type: text/x-vcard; charset=3Dutf-8; | name=3D"dupont.vcf" | Content-Transfer-Encoding: 7bit | Content-Disposition: attachment; | filename=3D"dupont.vcf" |=20 | begin:vcard | fn:Jean | n:Dupont;Jean | org;quoted-printable:Syst=3DC3=3DA8mes DUPONT | adr;quoted-printable:BP X;;La Cit=3DC3=3DA9;Province;00000;France | email;internet:dupont@systemes.fr | title:Directeur | tel;work:+33 (0)000000000 | tel;fax:+33 (0)111111111 | tel;cell:+33 (0)222222222 | url:http://www.dupont.fr | version:2.1 | end:vcard `---- Accented characters are not displayed correctly, due to charset utf-8: +--------------------------------------------------------------------------= ---+ | Jean-Dupont Work: +33 (0)0000000= 00 | | Directeur Cell: +33 (0)2222222= 22 | | Syst=C3=A8mes DUPONT Fax: +33 (0)111= 111111 | | La Cit=C3=A9, Province 00000 France = | +--------------------------------------------------------------------------= ---+ I have defined the following function, similar to mm-inline-text-vcard but considering the charset: (defun qsr-inline-text-vcard (handle) (let ((inhibit-read-only t) (charset (or (mail-content-type-get (mm-handle-type handle) 'charse= t) mail-parse-charset)) text) (setq text (if (fboundp 'vcard-pretty-print) (vcard-pretty-print (mm-get-part handle)) (vcard-format-string (vcard-parse-string (mm-get-part handle) 'vcard-standard-filter)))) (mm-insert-inline handle (concat "\n-- \n" (if (and charset text) (mm-decode-string (string-make-unibyte text) charset) text))))) When I use this function in mm-inline-media-tests display is OK. In GNU Emacs 28.1 (build 2, x86_64-w64-mingw32) of 2022-04-21 built on AVALON Windowing system distributor 'Microsoft Corp.', version 10.0.19044 System Description: Microsoft Windows 10 Pro (v10.0.2009.19044.1766) Configured using: 'configure --with-modules --without-dbus --with-native-compilation --without-compress-install CFLAGS=3D-O2' Configured features: ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS XPM ZLIB (NATIVE_COMP present but libgccjit not available) Important settings: value of $LANG: FRA locale-coding-system: cp1252 Major mode: Group Minor modes in effect: gnus-topic-mode: t gnus-undo-mode: t display-time-mode: t shell-dirtrack-mode: t icomplete-mode: t auto-image-file-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: c:/Users/Public/emacs-site/lisp/utils/wdired hides c:/Program Files/Emacs/e= macs-28.1/share/emacs/28.1/lisp/wdired c:/Users/Public/emacs-site/lisp/utils/ls-lisp hides c:/Program Files/Emacs/= emacs-28.1/share/emacs/28.1/lisp/ls-lisp c:/Users/Public/emacs-site/lisp/utils/iimage hides c:/Program Files/Emacs/e= macs-28.1/share/emacs/28.1/lisp/iimage c:/Users/Public/emacs-site/lisp/utils/calculator hides c:/Program Files/Ema= cs/emacs-28.1/share/emacs/28.1/lisp/calculator c:/Users/Public/emacs-site/lisp/utils/table hides c:/Program Files/Emacs/em= acs-28.1/share/emacs/28.1/lisp/textmodes/table c:/Users/Public/emacs-site/lisp/remember/remember hides c:/Program Files/Em= acs/emacs-28.1/share/emacs/28.1/lisp/textmodes/remember c:/Users/Public/emacs-site/lisp/utils/rlogin hides c:/Program Files/Emacs/e= macs-28.1/share/emacs/28.1/lisp/net/rlogin c:/Users/Public/emacs-site/lisp/dictionary-1.8.7/dictionary hides c:/Progra= m Files/Emacs/emacs-28.1/share/emacs/28.1/lisp/net/dictionary Features: (shadow mailalias warnings emacsbug emms-info-libtag emms-player-vlc emms-player-mpv emms-player-mplayer emms-playlist-limit emms-volume emms-volume-mixerctl emms-volume-pulse emms-volume-amixer emms-i18n emms-stream-info emms-mode-line-icon emms-playlist-sort emms-last-played emms-playing-time emms-player-simple emms-streams emms-show-all emms-tag-editor emms-mark emms-mode-line emms-info-ogginfo emms-info-mp3info emms-info later-do emms-playlist-mode emms-source-playlist emms-source-file locate music-list music-album emms-setup emms emms-compat mule-util sort vcard gnus-cite smiley shr-color color mm-archive mail-extr gnus-async gnus-bcklg qp gnus-ml gnus-topic nndraft nnmh gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig nnml utf-7 gnutls nnfolder cl-extra help-mode gnus-cache gnus-sum network-stream nsm nntp gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win time highlight-current-line color-theme smtpmail tumblesocks tumblesocks-view tumblesocks-compose markdown-mode noutline outline htmlize tumblesocks-user tumblesocks-api oauth sasl sasl-anonymous sasl-login sasl-plain hex-util hmac-sha1 shr kinsoku svg dom browse-url plantuml-mode xml dash thingatpt html2help footnote rx muse-odf muse-xml muse-help muse-bbcode muse-blosxom muse-wiki muse-texinfo texnfo-upd texinfo texinfo-loaddefs muse-latex muse-html muse-docbook muse-xml-common cus-edit pp cus-load muse-publish muse-project muse-protocols info muse-regexps muse muse-nested-tags muse-mode u-vm-color org-import-icalendar icalendar diary-lib diary-loaddefs bbdb-sc supercite regi bbdb-migrate bbdb-snarf bbdb-message sendmail message rmc puny dired-explore dired-sort-menu acid dired-arc file-op dired-x dired dired-loaddefs rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 gmm-utils mailheader bbdb-rmail rmailsum bbdb-gnus bbdb-mua gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr wid-edit bbdb-com pcase crm mailabbrev find-func bbdb bbdb-site timezone tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete parse-time iso8601 time-date format-spec which idb gud easy-mmode compile text-property-search comint ansi-color ring qproj-opascal jsee javadoc-lookup ido jserial jswat qproj-java jdok tempo url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse auth-source eieio eieio-core eieio-loaddefs password-cache json subr-x map seq byte-opt bytecomp byte-compile cconv url-vars mailcap xml-parse doxymacs qproj-cpp qproj server dos-indent generic generic-x cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs lunar solar cal-dst cal-tex cal-iso cal-menu calendar cal-loaddefs epa-file epa derived epg rfc6068 epg-config ps-mule ipp cl-seq cl-macs cl gv printing ps-print ps-print-loaddefs ps-def lpr icomplete advice image-file image-converter edmacro kmacro cl-loaddefs cl-lib iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 641780 93369) (symbols 48 33480 2) (strings 32 167813 5043) (string-bytes 1 5455599) (vectors 16 48996) (vector-slots 8 854372 65672) (floats 8 1198 274) (intervals 56 1542 73) (buffers 992 30)) --=20 Pascal Quesseveur