;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\313\314\315\316\317DD\320\321\322%\210\313\323\315\316\324DD\325\321\322%\210\313\326\315\316\327DD\330\321\322%\207" [require sieve-manage sieve-mode custom-declare-group sieve nil "Manage sieve scripts." :version "22.1" :group tools custom-declare-variable sieve-new-script funcall function #[0 "\300\207" ["<new script>"] 1 #1=""] "Name of name script indicator." :type string sieve-buffer #[0 "\300\207" ["*sieve*"] 1 #1#] "Name of sieve management buffer." sieve-template #[0 "\300\207" ["require \"fileinto\";\n\n# Example script (remove comment character '#' to make it effective!):\n#\n# if header :contains \"from\" \"coyote\" {\n#   discard;\n# } elsif header :contains [\"subject\"] [\"$$$\"] {\n#   discard;\n# } else {\n#  fileinto \"INBOX\";\n# }\n"] 1 #1#] "Template sieve script."] 8)
(defvar sieve-manage-buffer nil)
(defvar sieve-buffer-header-end nil)#@37 The real script name of the buffer.
(defvar sieve-buffer-script-name nil (#$ . 1031))
(make-local-variable 'sieve-buffer-script-name)#@33 Keymap for `sieve-manage-mode'.
(defvar sieve-manage-mode-map (define-keymap "?" 'sieve-help "h" 'sieve-help "m" 'sieve-activate "u" 'sieve-deactivate "M-DEL" 'sieve-deactivate-all "C-p" 'sieve-prev-line "<up>" 'sieve-prev-line "C-n" 'sieve-next-line "<down>" 'sieve-next-line "SPC" 'sieve-next-line "n" 'sieve-next-line "p" 'sieve-prev-line "RET" 'sieve-edit-script "f" 'sieve-edit-script "r" 'sieve-remove "q" 'sieve-bury-buffer "Q" 'sieve-manage-quit "<down-mouse-2>" 'sieve-edit-script "<down-mouse-3>" 'sieve-manage-mode-menu) (#$ . 1170))#@13 Sieve Menu.
(defvar sieve-manage-mode-menu nil (#$ . 1720))
(easy-menu-do-define 'sieve-manage-mode-menu sieve-manage-mode-map "Sieve Menu." '("Manage Sieve" ["Edit script" sieve-edit-script t] ["Activate script" sieve-activate t] ["Deactivate script" sieve-deactivate t] ["Quit and close connection" sieve-manage-quit t]))
(defvar sieve-manage-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [sieve-manage-mode-hook variable-documentation put "Hook run after entering Sieve-manage mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp sieve-manage-mode-map definition-name sieve-manage-mode] 4)
(defvar sieve-manage-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\303\311\320\321#\207" [sieve-manage-mode-abbrev-table sieve-manage-mode-map variable-documentation put purecopy "Keymap for `sieve-manage-mode'." boundp sieve-manage-mode-syntax-table definition-name sieve-manage-mode defvar-1 nil make-syntax-table "Syntax table for `sieve-manage-mode'." define-abbrev-table "Abbrev table for `sieve-manage-mode'." derived-mode-parent special-mode] 5)#@245 Mode used for sieve script management.

In addition to any hooks its parent mode `special-mode' might have
run, this mode runs the hook `sieve-manage-mode-hook', as the final or
penultimate step during initialization.

\{sieve-manage-mode-map}
(defalias 'sieve-manage-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\331p!\210\307)\332\333!\207" [delay-mode-hooks major-mode mode-name sieve-manage-mode-map sieve-manage-mode-syntax-table sieve-manage-mode-abbrev-table make-local-variable t special-mode sieve-manage-mode "Sieve-manage" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table buffer-disable-undo run-mode-hooks sieve-manage-mode-hook local-abbrev-table truncate-lines] 5 (#$ . 3219) nil])#@45 Quit Manage Sieve and close the connection.
(defalias 'sieve-manage-quit #[0 "\302!\210\303!\210\304	!\211\205 \303!\207" [sieve-manage-buffer sieve-buffer sieve-manage-close kill-buffer get-buffer] 3 (#$ . 4280) nil])#@62 Bury the Manage Sieve buffer without closing the connection.
(defalias 'sieve-bury-buffer #[0 "\300 \207" [bury-buffer] 1 (#$ . 4508) nil])#@22 

(fn &optional POS)
(defalias 'sieve-activate #[256 "\302 \303\203 \230\203 \304\305!\210\306\307\"\210\310	\"\262\311 \210\312!\203* \306\313\"\207\306\314\3158#\207" [sieve-new-script sieve-manage-buffer sieve-script-at-point nil error "No sieve script at point" message "Activating script %s..." sieve-manage-setactive sieve-refresh-scriptlist sieve-manage-ok-p "Activating script %s...done" "Activating script %s...failed: %s" 2] 8 (#$ . 4653) nil])#@22 

(fn &optional POS)
(defalias 'sieve-deactivate-all #[256 "\301\302!\210\303\304\"\305 \210\306!\203 \301\307!\207\301\310\3118\"\207" [sieve-manage-buffer message "Deactivating scripts..." sieve-manage-setactive "" sieve-refresh-scriptlist sieve-manage-ok-p "Deactivating scripts...done" "Deactivating scripts...failed: %s" 2] 6 (#$ . 5125) nil])
(defalias 'sieve-deactivate 'sieve-deactivate-all)#@22 

(fn &optional POS)
(defalias 'sieve-remove #[256 "\302 \303\203 \230\203 \304\305!\210\306\307\"\210\310	\"\262\311!\204' \304\312\"\210\313 \210\306\314\"\207" [sieve-new-script sieve-manage-buffer sieve-script-at-point nil error "No sieve script at point" message "Removing sieve script %s..." sieve-manage-deletescript sieve-manage-ok-p "Removing sieve script %s...failed: " sieve-refresh-scriptlist "Removing sieve script %s...done"] 6 (#$ . 5534) nil])#@22 

(fn &optional POS)
(defalias 'sieve-edit-script #[256 "\304 \211\204\n \305\306!\210\211\230\2046 \307!\310\311	#\262\312!\210\313!\203- \314\310!\266\202S \305\315\"\266\202S \312\316\317!!\210\nc\210\320\321!\262\322\323\"\203S \324\325\326\211$\262\327 \210\211eb\210\314\310!\210\330\331\332\333!\"\207" [sieve-new-script sieve-manage-buffer sieve-template sieve-buffer-script-name sieve-script-at-point error "No sieve script at point" generate-new-buffer nil sieve-manage-getscript switch-to-buffer sieve-manage-ok-p set-buffer-modified-p "Sieve download failed: %s" get-buffer-create "template.siv" read-string "Name for new script: " string-match "\\.sieve\\'" replace-match "" t sieve-mode message "Press %s to upload script to server." substitute-command-keys "\\[sieve-upload]"] 8 (#$ . 6010) nil])#@154 Turn off sieve-region before executing BODY, then re-enables it after.
Used to bracket operations which move point in the sieve-buffer.

(fn &rest BODY)
(defalias 'sieve-change-region '(macro . #[128 "\300\301\302\303\"BB\207" [progn (sieve-highlight nil) append ((sieve-highlight t))] 6 (#$ . 6843)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put sieve-change-region lisp-indent-function 0 put edebug-form-spec t] 5)#@22 

(fn &optional ARG)
(defalias 'sieve-next-line #[256 "\211\204 \300\262\212\211y\210\301 )\203 \302\303!\210\211y\210\302\304!\207\305\306!\207" [1 sieve-script-at-point sieve-highlight nil t message "End of list"] 3 (#$ . 7288) nil])#@22 

(fn &optional ARG)
(defalias 'sieve-prev-line #[256 "\211\204 \300\262\212\211y\210\301 )\203 \302\303!\210\211y\210\302\304!\207\305\306!\207" [-1 sieve-script-at-point sieve-highlight nil t message "Beginning of list"] 3 (#$ . 7532) nil])#@42 Display help for various sieve commands.
(defalias 'sieve-help #[0 "\301=\203\n \302\303!\207\304\305\306\307!\"\207" [last-command sieve-help describe-function sieve-mode message "%s" substitute-command-keys "`\\[sieve-edit-script]':edit `\\[sieve-activate]':activate `\\[sieve-deactivate]':deactivate `\\[sieve-remove]':remove `\\[sieve-manage-quit]':quit"] 4 (#$ . 7783) nil])#@20 

(fn SERVER PORT)
(defalias 'sieve-setup-buffer #[514 "\303\304 \210\305 \210\211\206 	\306\307#\211c\266\310\302!\210d\211\207" [buffer-read-only sieve-manage-default-port sieve-buffer-header-end nil erase-buffer buffer-disable-undo format "Server : %s:%s\n\n" make-local-variable] 7 (#$ . 8169)])#@71 Return name of sieve script at point POS, or nil.

(fn &optional POS)
(defalias 'sieve-script-at-point #[256 "\300\206 `\301\"\207" [get-char-property script-name] 4 (#$ . 8480) "d"])#@71 Turn ON or off highlighting on the current language overlay.

(fn ON)
(defalias 'sieve-highlight #[257 "\300\301`!@\302\203 \303\202 \304#\207" [overlay-put overlays-at face highlight default] 5 (#$ . 8671)])#@85 Format and insert LANGUAGE-LIST strings into current buffer at point.

(fn SCRIPTS)
(defalias 'sieve-insert-scripts #[257 "\211\205D `\300\211A\262\242\211:\203 \301\302A\"c\210\202! \301\303\"c\210\304`\"\262\305\306\307#\210\305\310:\203: A\202; #\210\311c\266\202  \207" [nil format " ACTIVE %s" "        %s" make-overlay overlay-put mouse-face highlight script-name "\n"] 8 (#$ . 8888)])#@69 Open SERVER (on PORT) and authenticate.

(fn SERVER &optional PORT)
(defalias 'sieve-open-server #[513 "r\301\300!\210\302\"\211\206 \303\304\"q\210\305 )\207" [sieve-manage-buffer make-local-variable sieve-manage-open error "Error opening server %s" sieve-manage-authenticate] 5 (#$ . 9298)])
(defalias 'sieve-refresh-scriptlist #[0 "rq\210\305\n\206 dd|\210db\210\306!\211G\307\310!\204% \311\312\f#\2022 \311\313\314\315#\316P\211\f%c\210\212\317\fC!\210\317!)\266\320\321!\210\321\211)\207" [sieve-buffer buffer-read-only sieve-buffer-header-end sieve-manage-buffer sieve-new-script nil sieve-manage-listscripts substitute-command-keys "\\[sieve-edit-script]" format "No scripts on server, press %s on %s to create a new script.\n" ngettext "%d script on server" "%d scripts on server" ", press %s on a script name to edit it, or\npress %s on %s to create a new script.\n" sieve-insert-scripts sieve-highlight t] 9 nil nil])#@30 

(fn SERVER &optional PORT)
(defalias 'sieve-manage #[513 "\301\302!!\210\303 \210\304\"\210\305\"\203 \306 \207\307\310\"\207" [sieve-buffer switch-to-buffer get-buffer-create sieve-manage-mode sieve-setup-buffer sieve-open-server sieve-refresh-scriptlist message "Could not open server %s"] 5 (#$ . 10249) "sServer: "])#@23 

(fn &optional NAME)
(defalias 'sieve-upload #[256 "\303!\204 r\304\305!)\205G \306 \307\310 !\311r\303!q\210\312\206% 	\206% \n#\262\313!\204: \314\315\3168\"\210\202A \314\317\320\321!\"\210)\322\311!\266\203\207" [sieve-buffer sieve-buffer-script-name sieve-manage-buffer get-buffer call-interactively sieve-manage buffer-string file-name-sans-extension buffer-name nil sieve-manage-putscript sieve-manage-ok-p message "Sieve upload failed: %s" 2 "Sieve upload done.  Use %s to manage scripts." substitute-command-keys "\\[sieve-manage]" set-buffer-modified-p] 8 (#$ . 10584) nil])#@23 

(fn &optional NAME)
(defalias 'sieve-upload-and-bury #[256 "\300!\210\301 \207" [sieve-upload bury-buffer] 3 (#$ . 11184) nil])#@23 

(fn &optional NAME)
(defalias 'sieve-upload-and-kill #[256 "\300!\210\301 \207" [sieve-upload kill-buffer] 3 (#$ . 11320) nil])
(provide 'sieve)
