Function: sieve-edit-script

sieve-edit-script is an interactive and byte-compiled function defined in sieve.el.gz.

Signature

(sieve-edit-script &optional POS)

Documentation

Edit script at point.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/net/sieve.el.gz
(defun sieve-edit-script (&optional _pos)
  "Edit script at point."
  (interactive)
  (let ((name (sieve-script-at-point)))
    (unless name
      (error "No sieve script at point"))
    (if (not (string-equal name sieve-new-script))
	(let ((newbuf (generate-new-buffer name))
	      err)
	  (setq err (sieve-manage-getscript name newbuf sieve-manage-buffer))
	  (switch-to-buffer newbuf)
	  (if (sieve-manage-ok-p err)
	      (set-buffer-modified-p nil)
	    (error "Sieve download failed: %s" err)))
      (switch-to-buffer (get-buffer-create "template.siv"))
      (insert sieve-template)
      (setq name (read-string "Name for new script: "))
      (when (string-match "\\.sieve\\'" name)
        ;; The server will append .sieve to the script name.
        (setq name (replace-match "" t t name))))
    (sieve-mode)
    (setq sieve-buffer-script-name name)
    (goto-char (point-min))
    (set-buffer-modified-p nil)
    (message "Press %s to upload script to server."
             (substitute-command-keys "\\[sieve-upload]"))))