;;; sieve.el --- Utilities to manage sieve scripts
-;; Copyright (C) 2001-2013 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; various
(define-key map "?" 'sieve-help)
(define-key map "h" 'sieve-help)
- (define-key map "q" 'kill-buffer)
;; activating
(define-key map "m" 'sieve-activate)
(define-key map "u" 'sieve-deactivate)
(define-key map "f" 'sieve-edit-script)
(define-key map "o" 'sieve-edit-script-other-window)
(define-key map "r" 'sieve-remove)
- (define-key map "q" 'sieve-manage-quit)
+ (define-key map "q" 'sieve-bury-buffer)
+ (define-key map "Q" 'sieve-manage-quit)
(define-key map [(down-mouse-2)] 'sieve-edit-script)
(define-key map [(down-mouse-3)] 'sieve-manage-mode-menu)
map)
;; Commands used in sieve-manage mode:
(defun sieve-manage-quit ()
- "Quit."
+ "Quit Manage Sieve and close the connection."
(interactive)
+ (sieve-manage-close sieve-manage-buffer)
+ (kill-buffer sieve-manage-buffer)
(kill-buffer (current-buffer)))
+(defun sieve-bury-buffer ()
+ "Bury the Manage Sieve buffer without closing the connection."
+ (interactive)
+ (bury-buffer))
+
(defun sieve-activate (&optional pos)
(interactive "d")
(let ((name (sieve-script-at-point)) err)
(insert sieve-template))
(sieve-mode)
(setq sieve-buffer-script-name name)
+ (goto-char (point-min))
(message
(substitute-command-keys
"Press \\[sieve-upload] to upload script to server."))))
(setq buffer-read-only nil)
(erase-buffer)
(buffer-disable-undo)
- (insert "\
-Server : " server ":" (or port "2000") "
-
-")
+ (let* ((port (or port sieve-manage-default-port))
+ (header (format "Server : %s:%s\n\n" server port)))
+ (insert header))
(set (make-local-variable 'sieve-buffer-header-end)
(point-max)))
(with-current-buffer
(or ;; open server
(set (make-local-variable 'sieve-manage-buffer)
- (sieve-manage-open server))
+ (sieve-manage-open server port))
(error "Error opening server %s" server))
(sieve-manage-authenticate)))