:connection-type 'pipe
:stderr err-buffer))
(err-proc (get-buffer-process err-buffer)))
- (process-put err-proc 'err-buffer err-buffer)
- (set-process-sentinel err-proc #'notmuch-start-notmuch-error-sentinel)
(process-put proc 'err-buffer err-buffer)
(process-put proc 'sub-sentinel sentinel)
(process-put proc 'real-command (cons notmuch-command args))
(set-process-sentinel proc #'notmuch-start-notmuch-sentinel)
+ (set-process-sentinel err-proc #'notmuch-start-notmuch-error-sentinel)
proc))
(defun notmuch-start-notmuch-sentinel (proc event)
"Process sentinel function used by `notmuch-start-notmuch'."
(let* ((err-buffer (process-get proc 'err-buffer))
- (err (and (not (zerop (buffer-size err-buffer)))
+ (err (and (buffer-live-p err-buffer)
+ (not (zerop (buffer-size err-buffer)))
(with-current-buffer err-buffer (buffer-string))))
(sub-sentinel (process-get proc 'sub-sentinel))
(real-command (process-get proc 'real-command)))
(message "%s" (error-message-string err))))))
(defun notmuch-start-notmuch-error-sentinel (proc event)
- (let ((buffer (process-get proc 'err-buffer)))
- (kill-buffer buffer)))
+ (let ((buffer (process-buffer proc)))
+ (when (buffer-live-p buffer)
+ (kill-buffer buffer))))
(defvar-local notmuch-show-process-crypto nil)