diff -ru emacs-27.2.orig/lisp/gnus/gnus-icalendar.el emacs-27.2/lisp/gnus/gnus-icalendar.el --- emacs-27.2.orig/lisp/gnus/gnus-icalendar.el 2021-01-29 02:52:38.000000000 +0900 +++ emacs-27.2/lisp/gnus/gnus-icalendar.el 2022-01-29 16:37:17.738632355 +0900 @@ -753,11 +753,12 @@ (defmacro gnus-icalendar-with-decoded-handle (handle &rest body) "Execute BODY in buffer containing the decoded contents of HANDLE." (let ((charset (make-symbol "charset"))) - `(let ((,charset (cdr (assoc 'charset (mm-handle-type ,handle))))) + `(let ((,charset (downcase + (or (cdr (assoc 'charset (mm-handle-type ,handle))) + "utf-8")))) (with-temp-buffer (mm-insert-part ,handle) - (when (string= (downcase ,charset) "utf-8") - (decode-coding-region (point-min) (point-max) 'utf-8)) + (decode-coding-region (point-min) (point-max) (intern ,charset)) ,@body))))