diff options
Diffstat (limited to 'offlineimap.el')
-rw-r--r-- | offlineimap.el | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/offlineimap.el b/offlineimap.el index d449e6f..a143aba 100644 --- a/offlineimap.el +++ b/offlineimap.el @@ -176,12 +176,14 @@ OfflineIMAP status should be displayed in the mode line." (defun offlineimap () "Start OfflineIMAP." (interactive) - (let ((process (start-process-shell-command - "offlineimap" - (offlineimap-make-buffer) - offlineimap-command))) - (set-process-filter process 'offlineimap-process-filter) - (set-process-sentinel process 'offlineimap-process-sentinel)) + (let* ((buffer (offlineimap-make-buffer))) + (unless (get-buffer-process buffer) + (let ((process (start-process-shell-command + "offlineimap" + buffer + offlineimap-command))) + (set-process-filter process 'offlineimap-process-filter) + (set-process-sentinel process 'offlineimap-process-sentinel)))) (add-to-list 'global-mode-string '(:eval (offlineimap-mode-line)))) (defun offlineimap-quit () |