From: Tomi Ollila Date: Thu, 8 Nov 2012 12:08:00 +0000 (+0200) Subject: notmuch-show.el: handle the case where icalendar-import-buffer returns nil X-Git-Tag: 0.15_rc1~162 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=0a21fb98b2a7b80958e19711d904eb91e2234250;hp=60b5bff53d16a6e78bd989179076f7450d63c2e3 notmuch-show.el: handle the case where icalendar-import-buffer returns nil icalendar-import-buffer can fail by an error signal (which have been witnessed) but according to its docstring it can also return nil when failing (it returns t when succeeding). Now that the error is caught by the caller of notmuch-show-inset-part-* functions in case icalendar-import-buffer returns nil an explicit error is signaled and unwind-protect takes care of deleting the temporary file (just in case, it is usually not written to the fs yet). --- diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index ac7e644f..24db4c70 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -754,12 +754,15 @@ message at DEPTH in the current thread." (replace-match "\n" nil nil)) (let ((file (make-temp-file "notmuch-ical")) result) - (icalendar-import-buffer file t) - (set-buffer (get-file-buffer file)) - (setq result (buffer-substring (point-min) (point-max))) - (set-buffer-modified-p nil) - (kill-buffer (current-buffer)) - (delete-file file) + (unwind-protect + (progn + (unless (icalendar-import-buffer file t) + (error "Icalendar import error. See *icalendar-errors* for more information")) + (set-buffer (get-file-buffer file)) + (setq result (buffer-substring (point-min) (point-max))) + (set-buffer-modified-p nil) + (kill-buffer (current-buffer))) + (delete-file file)) result))) t)