;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\313\314\315\316\317\320\311\304&\210\313\321\322\323\317\320\311\304&\210\313\324\325\326\317\320\311\304&\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 "" "Name of name script indicator." :type string sieve-buffer "*sieve*" "Name of sieve management buffer." sieve-template "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" "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 (#$ . 1262)) (make-local-variable 'sieve-buffer-script-name) #@33 Keymap for `sieve-manage-mode'. (defvar sieve-manage-mode-map (byte-code "\301 \302\303\304#\210\302\305\304#\210\302\306\307#\210\302\310\311#\210\302\312\313#\210\302\314\315#\210\302\316\315#\210\302\317\320#\210\302\321\320#\210\302\322\320#\210\302\323\320#\210\302\324\315#\210\302\325\326#\210\302\327\326#\210\302\330\331#\210\302\332\333#\210\302\334\335#\210\302\336\337#\210\302\340\326#\210\302\341\342#\210)\207" [map make-sparse-keymap define-key "?" sieve-help "h" "m" sieve-activate "u" sieve-deactivate "\377" sieve-deactivate-all "" sieve-prev-line [up] "" sieve-next-line [down] " " "n" "p" " " sieve-edit-script "f" "o" sieve-edit-script-other-window "r" sieve-remove "q" sieve-bury-buffer "Q" sieve-manage-quit [(down-mouse-2)] [(down-mouse-3)] sieve-manage-mode-menu] 4) (#$ . 1402)) #@13 Sieve Menu. (defvar sieve-manage-mode-menu nil (#$ . 2238)) (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\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\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 (lambda (#1=#:def-tmp-var) (defvar sieve-manage-mode-syntax-table #1#)) make-syntax-table "Syntax table for `sieve-manage-mode'." (lambda (#1#) (defvar sieve-manage-mode-abbrev-table #1#)) define-abbrev-table nil "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 #[nil "\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\2036 \321 =\203<\322\f\323 \"\210)\324\325\"\204V=\204V\326\325C#\210\327 !\210\330\f!\210\331p!\210\307\332 \"\210)\333\334!\207" [delay-mode-hooks major-mode mode-name sieve-manage-mode-map sieve-manage-mode-syntax-table parent 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 easy-menu-add run-mode-hooks sieve-manage-mode-hook sieve-manage-mode-abbrev-table local-abbrev-table truncate-lines sieve-manage-mode-menu] 6 (#$ . 3800) nil]) #@45 Quit Manage Sieve and close the connection. (defalias 'sieve-manage-quit #[nil "\301!\210\302!\210\302p!\207" [sieve-manage-buffer sieve-manage-close kill-buffer] 2 (#$ . 4920) nil]) #@62 Bury the Manage Sieve buffer without closing the connection. (defalias 'sieve-bury-buffer #[nil "\300 \207" [bury-buffer] 1 (#$ . 5111) nil]) (defalias 'sieve-activate #[(&optional pos) "\304 \305\211\203 \n\230\203\306\307!\210\310\311 \"\210\312 \"\313 \210\314!\203-\310\315 \"\2024\310\316 \3178#*\207" [err name 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] 6 nil "d"]) (defalias 'sieve-deactivate-all #[(&optional pos) "\303 \304\305\306!\210\307\310\n\"\311 \210\312!\203\305\313!\202#\305\314\3158\"*\207" [err name sieve-manage-buffer sieve-script-at-point nil message "Deactivating scripts..." sieve-manage-setactive "" sieve-refresh-scriptlist sieve-manage-ok-p "Deactivating scripts...done" "Deactivating scripts...failed: %s" 2] 4 nil "d"]) (defalias 'sieve-deactivate 'sieve-deactivate-all) (defalias 'sieve-remove #[(&optional pos) "\304 \305\211\203 \n\230\203\306\307!\210\310\311 \"\210\312 \"\313!\204(\306\314\"\210\315 \210\310\316 \"*\207" [err name 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"] 4 nil "d"]) (defalias 'sieve-edit-script #[(&optional pos) "\306 \211\204 \307\310!\210 \230\2047\311!\312\313 \f#\314 !\210\315\n!\203.\316\312!\210\2023\307\317\n\"\210*\202R\314\320\321!!\210 c\210\322\323!\324\325\"\203R\326\327\330\211$\331 \210eb\210\316\312!\210\332\333\334\335!\")\207" [name sieve-new-script err newbuf sieve-manage-buffer sieve-template 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]" sieve-buffer-script-name] 6 nil "d"]) #@138 Turns off sieve-region before executing BODY, then re-enables it after. Used to bracket operations which move point in the sieve-buffer. (defalias 'sieve-change-region '(macro . #[(&rest body) "\301\302\303\304\"BB\207" [body progn (sieve-highlight nil) append ((sieve-highlight t))] 5 (#$ . 7441)])) (put 'sieve-change-region 'lisp-indent-function 0) (defalias 'sieve-next-line #[(&optional arg) "\204\301\212y\210\302 )\203\303\304!\210y\210\303\305!\207\306\307!\207" [arg 1 sieve-script-at-point sieve-highlight nil t message "End of list"] 2 nil nil]) (defalias 'sieve-prev-line #[(&optional arg) "\204\301\212y\210\302 )\203\303\304!\210y\210\303\305!\207\306\307!\207" [arg -1 sieve-script-at-point sieve-highlight nil t message "Beginning of list"] 2 nil nil]) #@42 Display help for various sieve commands. (defalias 'sieve-help #[nil "\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 (#$ . 8233) nil]) (defalias 'sieve-setup-buffer #[(server port) "\306\307 \210\310 \210 \206 \n\311\312 #\211c\210*\313\305!\210d\211\207" [buffer-read-only port sieve-manage-default-port server header sieve-buffer-header-end nil erase-buffer buffer-disable-undo format "Server : %s:%s\n\n" make-local-variable] 5]) #@51 Return name of sieve script at point POS, or nil. (defalias 'sieve-script-at-point #[(&optional pos) "\301\206`\302\"\207" [pos get-char-property script-name] 3 (#$ . 8926) "d"]) #@62 Turn ON or off highlighting on the current language overlay. (defalias 'sieve-highlight #[(on) "\301\302`!@\303\203\304\202\305#\207" [on overlay-put overlays-at face highlight default] 4 (#$ . 9114)]) #@71 Format and insert LANGUAGE-LIST strings into current buffer at point. (defalias 'sieve-insert-scripts #[(scripts) "\205E`\304\211A\242 :\203\305\306 A\"c\210\202#\305\307 \"c\210\310 `\"\311\n\312\313#\210\311\n\314 :\203; A\202< #\210\315c\210+\202\207" [scripts script ext p nil format " ACTIVE %s" " %s" make-overlay overlay-put mouse-face highlight script-name "\n"] 4 (#$ . 9327)]) #@41 Open SERVER (on PORT) and authenticate. (defalias 'sieve-open-server #[(server &optional port) "r\303\302!\210\304 \"\211\206\305\306\"q\210\307 )\207" [server port sieve-manage-buffer make-local-variable sieve-manage-open error "Error opening server %s" sieve-manage-authenticate] 3 (#$ . 9742)]) (defalias 'sieve-refresh-scriptlist #[nil "rq\210\306\n\206 dd|\210db\210\307 !\211G\310\311!\f\204+\312\313#\202:\312\314\315\316 #\317P \211%c\210\212\320C!\210\320\f!\210,\321\322!\210\322\211)\207" [sieve-buffer buffer-read-only sieve-buffer-header-end sieve-manage-buffer scripts count 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 keys sieve-new-script] 7 nil nil]) (defalias 'sieve-manage #[(server &optional port) "\303\304!!\210\305 \210\306 \n\"\210\307 \n\"\203\310 \207\311\312 \"\207" [sieve-buffer server port switch-to-buffer get-buffer-create sieve-manage-mode sieve-setup-buffer sieve-open-server sieve-refresh-scriptlist message "Could not open server %s"] 3 nil "sServer: "]) (defalias 'sieve-upload #[(&optional name) "\306!\204r\307\310!)\205G\311 \312\313 !\314r\306!q\210\315\f\206( \206(\n #\316 !\204<\317\320\321 8\"\202F\317\322\323\324!\"\210\325\314!,\207" [sieve-buffer err script-name script name sieve-buffer-script-name 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 sieve-manage-buffer] 4 nil nil]) (defalias 'sieve-upload-and-bury #[(&optional name) "\301!\210\302 \207" [name sieve-upload bury-buffer] 2 nil nil]) (defalias 'sieve-upload-and-kill #[(&optional name) "\301!\210\302 \207" [name sieve-upload kill-buffer] 2 nil nil]) (provide 'sieve)