Hello, Gnus that comes with GNU Emacs 27.2 fails to display an iCalendar event if it sets no "charset" parameter. Strictly speaking, this does not seem to be a Gnus' fault as section 3.1.4 of RFC5545 requires a "charset" Content-Type parameter in MIME transports. On the other hand, there may be a buggy application that generates iCalendar streams in a non-UTF-8 charset or does not specify the "charset" parameter. The attached patch would let Gnus tolerate these two types of bugs. I hit the latter case where the "charset" property was missing, or more precisely wrongly labelled "encoding": ====================================================================== Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil) gnus-icalendar-event-from-handle((# ("text/calendar" (method . "REQUEST") (encoding . "utf-8") (filename . "event.ics")) nil nil nil nil nil nil) ("Jae-hyeon Park" "email@address\\.com")) gnus-icalendar-mm-inline((# ("text/calendar" (method . "REQUEST") (encoding . "utf-8") (filename . "event.ics")) nil nil nil nil nil nil)) mm-display-inline((# ("text/calendar" (method . "REQUEST") (encoding . "utf-8") (filename . "event.ics")) nil nil nil nil nil nil)) mm-display-part((# ("text/calendar" (method . "REQUEST") (encoding . "utf-8") (filename . "event.ics")) nil nil nil nil nil nil) t) gnus-mime-display-single((# ("text/calendar" (method . "REQUEST") (encoding . "utf-8") (filename . "event.ics")) nil nil nil nil nil nil)) gnus-mime-display-part((# ("text/calendar" (method . "REQUEST") (encoding . "utf-8") (filename . "event.ics")) nil nil nil nil nil nil)) mapcar(gnus-mime-display-part ((# ("text/plain" (charset . "utf-8")) 8bit (lambda nil (let ((inhibit-read-only t)) (delete-region # #))) ("inline") nil nil nil) (# ("text/calendar" (method . "REQUEST") (encoding . "utf-8") (filename . "event.ics")) nil nil nil nil nil nil))) gnus-mime-display-mixed(((# ("text/plain" (charset . "utf-8")) 8bit (lambda nil (let ((inhibit-read-only t)) (delete-region # #))) ("inline") nil nil nil) (# ("text/calendar" (method . "REQUEST") (encoding . "utf-8") (filename . "event.ics")) nil nil nil nil nil nil))) gnus-mime-display-part((#("multipart/mixed" 0 15 (start nil from "seminar@organizer.org" buffer # boundary "===============5843370041342135681==")) (# ("text/plain" (charset . "utf-8")) 8bit (lambda nil (let ((inhibit-read-only t)) (delete-region # #))) ("inline") nil nil nil) (# ("text/calendar" (method . "REQUEST") (encoding . "utf-8") (filename . "event.ics")) nil nil nil nil nil nil))) gnus-display-mime() gnus-article-prepare-display() gnus-article-prepare(1787 nil) gnus-summary-display-article(1787) gnus-summary-next-page(nil) funcall-interactively(gnus-summary-next-page nil) call-interactively(gnus-summary-next-page nil nil) command-execute(gnus-summary-next-page) ====================================================================== Best regards, Jae-hyeon