;;; sieve.el --- Utilities to manage sieve scripts
-;; Copyright (C) 2001-2013 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
(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)
- (beginning-of-buffer)
+ (goto-char (point-min))
(message
(substitute-command-keys
"Press \\[sieve-upload] to upload script to server."))))
(interactive "d")
(get-char-property (or pos (point)) 'script-name))
-(eval-and-compile
- (defalias 'sieve-make-overlay (if (featurep 'xemacs)
- 'make-extent
- 'make-overlay))
- (defalias 'sieve-overlay-put (if (featurep 'xemacs)
- 'set-extent-property
- 'overlay-put))
- (defalias 'sieve-overlays-at (if (featurep 'xemacs)
- 'extents-at
- 'overlays-at)))
-
(defun sieve-highlight (on)
"Turn ON or off highlighting on the current language overlay."
- (sieve-overlay-put (car (sieve-overlays-at (point)))
- 'face (if on 'highlight 'default)))
+ (overlay-put (car (overlays-at (point))) 'face (if on 'highlight 'default)))
(defun sieve-insert-scripts (scripts)
"Format and insert LANGUAGE-LIST strings into current buffer at point."
(if (consp script)
(insert (format " ACTIVE %s" (cdr script)))
(insert (format " %s" script)))
- (setq ext (sieve-make-overlay p (point)))
- (sieve-overlay-put ext 'mouse-face 'highlight)
- (sieve-overlay-put ext 'script-name (if (consp script)
- (cdr script)
- script))
+ (setq ext (make-overlay p (point)))
+ (overlay-put ext 'mouse-face 'highlight)
+ (overlay-put ext 'script-name (if (consp script)
+ (cdr script)
+ script))
(insert "\n"))))
(defun sieve-open-server (server &optional port)