Skip to content

Commit

Permalink
mu4e-view: fallback to raw view for unreadable messages
Browse files Browse the repository at this point in the history
So users can at least see _something_...
  • Loading branch information
djcb committed Aug 22, 2024
1 parent c28bfe0 commit 1930d4b
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions mu4e/mu4e-view.el
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ Then, display the results."
((mu4e-current-buffer-type-p 'view)
(when (mu4e--view-detached-p (current-buffer))
(mu4e-error
"Cannot navigate in a detached view buffer."))
"Cannot navigate in a detached view buffer"))
(mu4e-get-headers-buffer))
;; fallback; but what would trigger this?
(t (mu4e-get-headers-buffer))))
Expand Down Expand Up @@ -235,9 +235,10 @@ If this succeeds, return the new docid. Otherwise, return nil."
;;; Interactive functions
(defun mu4e-view-action (&optional msg)
"Ask user for some action to apply on MSG, then do it.
If MSG is nil apply action to message returned
bymessage-at-point. The actions are specified in
`mu4e-view-actions'."
If MSG is nil apply action to message returned by
`mu4e-message-at-point'.
The actions are specified in `mu4e-view-actions'."
(interactive)
(let* ((msg (or msg (mu4e-message-at-point)))
(actionfunc (mu4e-read-option "Action: " mu4e-view-actions)))
Expand Down Expand Up @@ -327,7 +328,7 @@ Add this function to `mu4e-view-mode-hook' to enable this feature."
"Detach the view buffer from its headers buffer."
(interactive)
(unless mu4e-linked-headers-buffer
(mu4e-error "This view buffer is already detached."))
(mu4e-error "This view buffer is already detached"))
(mu4e-message "Detached view buffer from %s"
(progn mu4e-linked-headers-buffer
(with-current-buffer mu4e-linked-headers-buffer
Expand All @@ -339,7 +340,7 @@ Add this function to `mu4e-view-mode-hook' to enable this feature."
(rename-buffer (make-temp-name (buffer-name)) t))))

(defun mu4e-view-attach (headers-buffer)
"Attaches a view buffer to a headers buffer."
"Attaches a view buffer to HEADERS-BUFFER."
(interactive
(list (get-buffer (read-buffer
"Select a headers buffer to attach to: " nil t
Expand Down Expand Up @@ -422,7 +423,6 @@ list."
(mu4e--view-in-headers-context
(mu4e-mark-execute-all)))


;;; URL handling

(defvar mu4e--view-link-map nil
Expand Down Expand Up @@ -640,7 +640,8 @@ As a side-effect, a message that is being viewed loses its
;; problems later (#2260, #2508), so let's remove those
(article-remove-cr)
(setq-local mu4e--view-message msg)
(mu4e--view-render-buffer msg))
(ignore-errors
(mu4e--view-render-buffer msg)))
(mu4e-loading-mode 0)))
(unless (mu4e--view-detached-p gnus-article-buffer)
(with-current-buffer mu4e-linked-headers-buffer
Expand Down Expand Up @@ -741,8 +742,9 @@ determine which browser function to use."
(set-buffer-modified-p nil)
(add-hook 'kill-buffer-hook #'mu4e--view-kill-mime-handles))
(epg-error
(mu4e-warn "EPG error: %s; fall back to raw view"
(error-message-string err))))))
(mu4e-message "EPG error: %s; fall back to raw view"
(error-message-string err))
(error)))))

(defun mu4e-view-refresh ()
"Refresh the message view."
Expand Down

0 comments on commit 1930d4b

Please sign in to comment.