summaryrefslogtreecommitdiff
path: root/offlineimap.el
diff options
context:
space:
mode:
Diffstat (limited to 'offlineimap.el')
-rw-r--r--offlineimap.el14
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 ()