* bug#40290: 26.3; Fix displaying inline ical attachments with no charset
@ 2020-03-28 18:17 Christophe Troestler
2020-08-21 11:33 ` Lars Ingebrigtsen
0 siblings, 1 reply; 2+ messages in thread
From: Christophe Troestler @ 2020-03-28 18:17 UTC (permalink / raw)
To: 40290
[-- Attachment #1.1: Type: text/plain, Size: 277 bytes --]
When an inline ical attachment contains no charset (this is the case when one attaches an .ics file with message mode), `gnus-article-prepare-display' fails. The problem is in `gnus-icalendar-with-decoded-handle' which tries to downcase nil.
The attached patch fixes this.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-Fix-displaying-inline-ical-attachments-with-no-chars.patch --]
[-- Type: text/x-diff, Size: 988 bytes --]
From b78239641d965c066c8e90ca64c515ae37829031 Mon Sep 17 00:00:00 2001
From: Christophe Troestler <Christophe.Troestler@umons.ac.be>
Date: Sat, 28 Mar 2020 19:03:42 +0100
Subject: [PATCH] Fix displaying inline ical attachments with no charset
Content-Type: text/plain; charset="utf-8"
---
lisp/gnus/gnus-icalendar.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lisp/gnus/gnus-icalendar.el b/lisp/gnus/gnus-icalendar.el
index 305e17fd8f..5a410d16c8 100644
--- a/lisp/gnus/gnus-icalendar.el
+++ b/lisp/gnus/gnus-icalendar.el
@@ -756,7 +756,7 @@ gnus-icalendar-with-decoded-handle
`(let ((,charset (cdr (assoc 'charset (mm-handle-type ,handle)))))
(with-temp-buffer
(mm-insert-part ,handle)
- (when (string= (downcase ,charset) "utf-8")
+ (when (and ,charset (string= (downcase ,charset) "utf-8"))
(decode-coding-region (point-min) (point-max) 'utf-8))
,@body))))
--
2.25.1
[-- Attachment #1.3: Type: text/plain, Size: 11033 bytes --]
In GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.11)
of 2019-09-22, modified by Debian built on x86-csail-01
Windowing system distributor 'The X.Org Foundation', version 11.0.12007000
System Description: Debian GNU/Linux bullseye/sid
Recent messages:
gnus-icalendar-event-from-handle
→ nil
Saving file /home/trch/software/emacs/lisp/gnus/gnus-icalendar.el...
Wrote /home/trch/software/emacs/lisp/gnus/gnus-icalendar.el
Running git commit --amend
Diffing changes to be committed (C-g to abort diffing)
When done with a buffer, type C-c C-c
Type C-c C-c to finish, C-c C-k to cancel, and M-p and M-n to recover older messages
Git finished
Making completion list... [3 times]
Configured using:
'configure --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --enable-libsystemd --with-pop=yes
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp
--with-sound=alsa --without-gconf --with-mailutils --build
x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
--libexecdir=/usr/lib --localstatedir=/var/lib
--infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
--with-pop=yes
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp
--with-sound=alsa --without-gconf --with-mailutils --with-x=yes
--with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
-fdebug-prefix-map=/build/emacs-n8pPyG/emacs-26.3+1=. -fstack-protector-strong
-Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
-D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS LIBSYSTEMD LCMS2
Important settings:
value of $LC_MESSAGES: en_US.UTF-8
value of $LC_NUMERIC: en_US.UTF-8
value of $LC_TIME: en_GB.UTF-8
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: mu4e:view
Minor modes in effect:
visual-fill-column-mode: t
TeX-PDF-mode: t
global-magit-file-mode: t
diff-auto-refine-mode: t
magit-auto-revert-mode: t
global-git-commit-mode: t
async-bytecomp-package-mode: t
shell-dirtrack-mode: t
desktop-save-mode: t
show-paren-mode: t
global-edit-server-edit-mode: t
tooltip-mode: t
global-eldoc-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
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
column-number-mode: t
line-number-mode: t
visual-line-mode: t
transient-mark-mode: t
Load-path shadows:
~/software/OCaml/dune/editor-integration/emacs/dune-flymake hides /home/trch/.opam/4.08.1/share/emacs/site-lisp/dune-flymake
~/software/OCaml/dune/editor-integration/emacs/dune hides /home/trch/.opam/4.08.1/share/emacs/site-lisp/dune
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/deb-view hides /usr/share/emacs/site-lisp/elpa/debian-el-37/deb-view
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/debian-bug hides /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-bug
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/apt-utils hides /usr/share/emacs/site-lisp/elpa/debian-el-37/apt-utils
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/preseed hides /usr/share/emacs/site-lisp/elpa/debian-el-37/preseed
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/apt-sources hides /usr/share/emacs/site-lisp/elpa/debian-el-37/apt-sources
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/debian-autoloads hides /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/debian-el hides /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/debian-el-autoloads hides /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el-autoloads
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/gnus-BTS hides /usr/share/emacs/site-lisp/elpa/debian-el-37/gnus-BTS
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/debian-el-pkg hides /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el-pkg
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/deb-view hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/deb-view
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/apt-utils hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/apt-utils
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/preseed hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/preseed
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/debian-bug hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-bug
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/apt-sources hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/apt-sources
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/debian-autoloads hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-autoloads
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/debian-el hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/debian-el-autoloads hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el-autoloads
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/gnus-BTS hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/gnus-BTS
/home/trch/.emacs.d/elpa/debian-el-20181020.1513/debian-el-pkg hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el-pkg
/home/trch/.emacs.d/elpa/let-alist-1.0.6/let-alist hides /usr/share/emacs/26.3/lisp/emacs-lisp/let-alist
Features:
(shadow face-remap emacsbug whitespace magit-extras bug-reference
deuglify gnus-async gnus-cus gnus-demon gnus-diary nndiary gnus-draft
gnus-agent nnvirtual nntp gnus-cache nndraft nnmh gnus-dup gnus-fun
gnus-html url-queue url-cache mm-url gnus-kill gnus-logic gnus-mh
mh-comp mh-scan mh-gnus mh-e mh-compat mh-buffers mh-loaddefs
gnus-registry registry eieio-base gnus-salt gnus-score score-mode
gnus-srvr gnus-topic gnus-uu yenc gnus-vm gnus-msg eieio-opt help-fns
radix-tree misearch multi-isearch cl-print debug cus-start cus-load
visual-fill-column sort gnus-cite smiley shr-color color shr svg dom
mm-archive mail-extr qp latexenc org-rmail org-mhe org-irc org-info
org-gnus nnir org-docview org-bibtex org-bbdb org-w3m merlin-ac
auto-complete popup tuareg speedbar sb-image ezimage dframe caml-help
find-file reftex-auc preview prv-emacs tex-buf reftex-dcr reftex
reftex-loaddefs reftex-vars flyspell ispell latex latex-flymake
tex-ispell tex-style tex-mode vc-git flycheck json map elec-pair
font-latex tex dbus bibtex dune-flymake flymake-proc flymake compile
warnings dune skeleton smie merlin-cap merlin caml-types caml-emacs
magit-bookmark magit-submodule magit-obsolete magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
which-func imenu magit-diff smerge-mode diff-mode magit-core
magit-autorevert magit-margin magit-transient magit-process magit-mode
transient git-commit magit-git magit-section magit-utils crm log-edit
pcvs-util add-log with-editor cl-extra async-bytecomp async pcase shell
subr-x dash erc-goodies erc erc-backend erc-compat twittering-mode url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util xml org-mu4e org-agenda mu4e-icalendar
gnus-icalendar org-capture gnus-art mm-uu mml2015 mm-view mml-smime
smime dig mailcap gnus-sum gnus-group gnus-undo gnus-start gnus-cloud
nnimap nnmail mail-source tls gnutls utf7 netrc nnoo parse-time
gnus-spec gnus-int gnus-range gnus-win gnus nnheader wid-edit
mu4e-contrib esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg
esh-groups eshell esh-module esh-mode esh-util bookmark pp mu4e desktop
frameset mu4e-org mu4e-main mu4e-view thingatpt browse-url mu4e-headers
mu4e-compose mu4e-context mu4e-draft mu4e-actions ido rfc2368 smtpmail
sendmail mu4e-mark mu4e-message flow-fill mu4e-proc mu4e-utils doc-view
jka-compr image-mode mu4e-lists hl-line mu4e-vars message rmc puny dired
dired-loaddefs rfc822 mml mml-sec gnus-util rmail rmail-loaddefs
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev mail-utils gmm-utils mailheader mu4e-meta
adoc-mode tempo markup-faces org-element avl-tree generator org
org-macro org-footnote org-pcomplete pcomplete org-list org-faces
org-entities noutline outline easy-mmode org-version ob-emacs-lisp ob
ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint comint
ansi-color ring ob-core ob-eval org-compat org-macs org-loaddefs
format-spec find-func epa-file epa derived epg cl quail help-mode
mm-util mail-prsvr autorevert filenotify edmacro kmacro paren icalendar
diary-lib diary-loaddefs cal-menu calendar cal-loaddefs edit-server
advice server finder-inf tex-site debian-el gh-common marshal
eieio-compat rx info package easymenu epg-config url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv
cl-loaddefs cl-lib time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame 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 charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)
Memory information:
((conses 16 719593 126093)
(symbols 48 66071 1)
(miscs 40 859 1407)
(strings 32 237768 24461)
(string-bytes 1 7204630)
(vectors 16 80898)
(vector-slots 8 2262372 260816)
(floats 8 714 932)
(intervals 56 7733 753)
(buffers 992 112))
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 3293 bytes --]
^ permalink raw reply related [flat|nested] 2+ messages in thread
* bug#40290: 26.3; Fix displaying inline ical attachments with no charset
2020-03-28 18:17 bug#40290: 26.3; Fix displaying inline ical attachments with no charset Christophe Troestler
@ 2020-08-21 11:33 ` Lars Ingebrigtsen
0 siblings, 0 replies; 2+ messages in thread
From: Lars Ingebrigtsen @ 2020-08-21 11:33 UTC (permalink / raw)
To: Christophe Troestler; +Cc: 40290
Christophe Troestler <Christophe.Troestler@umons.ac.be> writes:
> When an inline ical attachment contains no charset (this is the case
> when one attaches an .ics file with message mode),
> `gnus-article-prepare-display' fails. The problem is in
> `gnus-icalendar-with-decoded-handle' which tries to downcase nil.
>
> The attached patch fixes this.
Thanks; I've applied it to Emacs 28.
This is the third small patch from you in Emacs, so you're reaching the
limit for the number of changed lines we can apply without getting an
FSF copyright assignment. Would you be willing to sign such papers?
Then the next patch you send won't have to wait for the paperwork to be
done.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-08-21 11:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-28 18:17 bug#40290: 26.3; Fix displaying inline ical attachments with no charset Christophe Troestler
2020-08-21 11:33 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).