diff options
Diffstat (limited to 'lisp/net')
-rw-r--r-- | lisp/net/sieve.el | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lisp/net/sieve.el b/lisp/net/sieve.el index 1f80ccc1e05..ef7bb5c025c 100644 --- a/lisp/net/sieve.el +++ b/lisp/net/sieve.el @@ -345,11 +345,14 @@ Used to bracket operations which move point in the sieve-buffer." ;;;###autoload (defun sieve-upload (&optional name) (interactive) - (when (or (get-buffer sieve-buffer) (call-interactively 'sieve-manage)) - (let ((script (buffer-string)) err) + (when (or (get-buffer sieve-buffer) + (save-current-buffer (call-interactively 'sieve-manage))) + (let ((script (buffer-string)) + (script-name (file-name-sans-extension (buffer-name))) + err) (with-current-buffer (get-buffer sieve-buffer) (setq err (sieve-manage-putscript - (or name sieve-buffer-script-name (buffer-name)) + (or name sieve-buffer-script-name script-name) script sieve-manage-buffer)) (if (sieve-manage-ok-p err) (message (substitute-command-keys |