;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 "\302\303!\210\302\304!\210\302\305!\210\302\306!\210\307\236\203#\307\236A\310\311\312\"\240\210\202.\307\310\311\312\"\312\211FB\307 \236\204:\307\313D B\312\207" [nnoo-definition-alist nnoo-state-alist require nnheader rmail nnmail nnoo nnbabyl mapcar list nil "*internal-non-initialized-backend*"] 4) #@133 The name of the rmail box file in the users home directory. This is a Gnus server variable. See Info node `(gnus)Select Methods'. (defvar nnbabyl-mbox-file (expand-file-name "~/RMAIL") (#$ . 733)) (nnoo-define 'nnbabyl-mbox-file nil) #@120 The name of the active file for the rmail box. This is a Gnus server variable. See Info node `(gnus)Select Methods'. (defvar nnbabyl-active-file (expand-file-name "~/.rmail-active") (#$ . 976)) (nnoo-define 'nnbabyl-active-file nil) #@147 If non-nil, nnbabyl will check the incoming mail file and split the mail. This is a Gnus server variable. See Info node `(gnus)Select Methods'. (defvar nnbabyl-get-new-mail t (#$ . 1218)) (nnoo-define 'nnbabyl-get-new-mail nil) #@120 Hook run narrowed to an article before saving. This is a Gnus server variable. See Info node `(gnus)Select Methods'. (defvar nnbabyl-prepare-save-mail-hook nil (#$ . 1455)) (nnoo-define 'nnbabyl-prepare-save-mail-hook nil) (defvar nnbabyl-mail-delimiter "") #@18 nnbabyl version. (defconst nnbabyl-version "nnbabyl 1.0" (#$ . 1722)) (defvar nnbabyl-mbox-buffer nil) (nnoo-define 'nnbabyl-mbox-buffer nil) (defvar nnbabyl-current-group nil) (nnoo-define 'nnbabyl-current-group nil) (defvar nnbabyl-status-string "") (nnoo-define 'nnbabyl-status-string nil) (defvar nnbabyl-group-alist nil) (nnoo-define 'nnbabyl-group-alist nil) (defvar nnbabyl-active-timestamp nil) (nnoo-define 'nnbabyl-active-timestamp nil) (defvar nnbabyl-previous-buffer-mode nil) (byte-code "\300\301\302\"\210\303\304!\207" [nnoo-define nnbabyl-previous-buffer-mode nil nnoo-define-basics-1 nnbabyl] 3) (defalias 'nnbabyl-retrieve-headers #[(articles &optional group server fetch-old) "rq\210\306 \210 G\307\310\nP\311\211\211\211\"#$%\312&'\"\210 \211A\242\211\"\203\265\313\"!(q\210\311\210\314 \311\315#\204J\316 \311\315#\203\212\317#\311\315#\204Veb\210\320\321!\204c\322y\307U\204V`\314\323\311\315#\210`Sq\210\324c\210\325\"p\"\210\326c\210\327(\f #\210db\210\330c\210)\247\203#%)V\203#$T\211$\331\246\307U\203#\332\333\334\335$\336_%\"#\210\202#)\247\203\310%)V\203\310\332\333\337\"\210q\210\340 \210.\341\207" [nntp-server-buffer articles nnbabyl-mail-delimiter stop start art-string erase-buffer 0 "^" nil nnbabyl-possibly-change-newsgroup nnbabyl-article-string search-forward t search-backward re-search-backward looking-at ".+:" 1 "\n\n" "221 " princ " Article retrieved.\n" insert-buffer-substring ".\n" 20 nnheader-message 5 "nnbabyl: Receiving headers... %d%%" floor 100.0 "nnbabyl: Receiving headers...done" nnheader-fold-continuation-lines headers article delim count number group server nnbabyl-mbox-buffer nnmail-large-newsgroup] 7]) (nnoo-register-function 'nnbabyl-retrieve-headers) (defalias 'nnbabyl-open-server #[(server &optional defs) "\303\304 #\210\305 \210\306\n!\204\307 \210\310\304\311\n#\207\312\n!\203'\307 \210\310\304\313\n#\207\310\304\314\n$\210\315\207" [server defs nnbabyl-mbox-file nnoo-change-server nnbabyl nnbabyl-create-mbox file-exists-p nnbabyl-close-server nnheader-report "No such file: %s" file-directory-p "Not a regular file: %s" "Opened server %s using mbox %s" t] 5]) (nnoo-register-function 'nnbabyl-open-server) (defalias 'nnbabyl-close-server #[(&optional server _defs) "\303 \203\203r q\210@@@A}\210A \210)\304\305\n\"\210\306\307\207" [nnbabyl-previous-buffer-mode nnbabyl-mbox-buffer server nnbabyl-server-opened nnoo-close-server nnbabyl nil t] 3]) (nnoo-register-function 'nnbabyl-close-server) (defalias 'nnbabyl-server-opened #[(&optional server) "\305\306 !\n\203\307\310\n#\202\232*\205\"\311 !\205\"\311\f!\207" [server backend nnoo-parent-backend nnbabyl-mbox-buffer nntp-server-buffer nnbabyl nnoo-current-server format "%s+%s" buffer-live-p] 5]) (nnoo-register-function 'nnbabyl-server-opened) (defalias 'nnbabyl-request-article #[(article &optional newsgroup server buffer) "\306 \"\210r\nq\210eb\210\307\310 !\311\312#\205\245\311\211\211\313\314P\311\312#\204.eb\210\311\210\315\316!\204;\317y\320U\204.`\321\314P\311\312#\203O\322 \210\202Rdb\210`\206[\211q\210\323 \210\324\n #\210eb\210\315\325!\307\326\311\312#\203\226\f\203\207e\317y\210`|\210\202\226\322 \210`\307\327\311\312#\206\224`|\210 \247\203\242 B\202\244\330 ,)\207" [newsgroup server nnbabyl-mbox-buffer article summary-line stop nnbabyl-possibly-change-newsgroup search-forward nnbabyl-article-string nil t re-search-backward "^" looking-at ".+:" 1 0 re-search-forward beginning-of-line erase-buffer insert-buffer-substring "Summary-line:" "\n*** EOOH ***" "\n\n" nnbabyl-article-group-number start nnbabyl-mail-delimiter buffer nntp-server-buffer nnbabyl-current-group] 6]) (nnoo-register-function 'nnbabyl-request-article) (defalias 'nnbabyl-request-group #[(group &optional server dont-check info) "\305 \"A@\212\n\203\306 \"\204\307\310\311#\202?\f\203+\307\310\312#\210\313\314!\202?\307\310\312#\210\313\315\nA\n@ZT\n@\nA%*\207" [group nnbabyl-group-alist active server dont-check assoc nnbabyl-possibly-change-newsgroup nnheader-report nnbabyl "No such group: %s" "Selected group %s" nnheader-insert "" "211 %d %d %d %s\n"] 6]) (nnoo-register-function 'nnbabyl-request-group) (defalias 'nnbabyl-request-scan #[(&optional group server) "\303 \"\210\304 \210\305\306\307\310\n!\311%\207" [group server nnbabyl-mbox-file nnbabyl-possibly-change-newsgroup nnbabyl-read-mbox nnmail-get-new-mail nnbabyl #[nil "rq\210\301 )\207" [nnbabyl-mbox-buffer save-buffer] 1] file-name-directory #[nil "\212peb\210\304\305\306\307#\203\310\311!\210\202 q\210db\210\312\313\306\307#\210\314\225b\210\315!\210*\316\n \"\207" [in-buf nnbabyl-mbox-buffer nnbabyl-group-alist nnbabyl-active-file search-forward "\n\n" nil t delete-char -1 search-backward "\n" 0 insert-buffer-substring nnmail-save-active] 4]] 6]) (nnoo-register-function 'nnbabyl-request-scan) (defalias 'nnbabyl-close-group #[(group &optional server) "\300\207" [t] 1]) (nnoo-register-function 'nnbabyl-close-group) (defalias 'nnbabyl-request-create-group #[(group &optional server args) "\303\304!\210\305 \"\204\306\307BD B\310 \n\"\210\311\207" [group nnbabyl-group-alist nnbabyl-active-file nnmail-activate nnbabyl assoc 1 0 nnmail-save-active t] 3]) (nnoo-register-function 'nnbabyl-request-create-group) (defalias 'nnbabyl-request-list #[(&optional server) "\212\302!\210\303 )\304\207" [nnbabyl-active-file nnbabyl-group-alist nnmail-find-file nnmail-get-active t] 2]) (nnoo-register-function 'nnbabyl-request-list) (defalias 'nnbabyl-request-newgroups #[(date &optional server) "\301!\207" [server nnbabyl-request-list] 2]) (nnoo-register-function 'nnbabyl-request-newgroups) (defalias 'nnbabyl-request-list-newsgroups #[(&optional server) "\300\301\302\"\207" [nnheader-report nnbabyl "nnbabyl: LIST NEWSGROUPS is not implemented."] 3]) (nnoo-register-function 'nnbabyl-request-list-newsgroups) (defalias 'nnbabyl-request-expire-articles #[(articles newsgroup &optional server force) "\306 \"\210\307\310\311\312!\210r\fq\210\313ed\310#\210 \203\201\n\203\201eb\210\314\315 @!\310\307#\203z\316`\310\210`{#\211\203u\317=\204g\320\321!rq\210\322\216\323 @ p$\210\310\324\"\210,\306 \"\210\325\326\327 @$\210\330 \210\202z @ B A\211\204\331 \210\332 \"A@!eb\210\314\315!@!\310\307#\204\263!@!AX\203\263!\211@T\240\210eb\210\202\220)\333 \"\"\210 \244+\207" [newsgroup server is-old rest nnbabyl-mbox-buffer articles nnbabyl-possibly-change-newsgroup t nil nnmail-activate nnbabyl set-text-properties search-forward nnbabyl-article-string nnmail-expired-article-p delete generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] nnbabyl-request-article nnmail-expiry-target-group nnheader-message 5 "Deleting article %d in %s..." nnbabyl-delete-mail save-buffer assoc nnmail-save-active force nnmail-expiry-target #1# nnml-current-directory nnbabyl-group-alist active nnbabyl-active-file] 6]) (nnoo-register-function 'nnbabyl-request-expire-articles) (defalias 'nnbabyl-request-move-article #[(article group server accept-form &optional last move-is-internal) "\306\307!\310\311\n \f#\203er q\210\312 !\210eb\210\313\314\212\315\316\310\317#\210`)\317#\2034\320 \321y\210`|\210\202\322!\323p!\210)\203e\212\324 \f\"\210q\210eb\210\315\325\n!\310\317#\203\\\326 \210\203d\327 \210)*\207" [result buf article group server nntp-server-buffer get-buffer-create " *nnbabyl move*" nil nnbabyl-request-article insert-buffer-substring re-search-forward "^X-Gnus-Newsgroup:" search-forward "\n\n" t point-at-bol 1 eval kill-buffer nnbabyl-possibly-change-newsgroup nnbabyl-article-string nnbabyl-delete-mail save-buffer accept-form nnbabyl-mbox-buffer last] 6]) (nnoo-register-function 'nnbabyl-request-move-article) (defalias 'nnbabyl-request-accept-article #[(group &optional server last) "\306 \"\210\307 \210p\310\211\311\312!\205\241\212eb\210\313\314\310\315#\210\316y\210\212\317\320\n\315#\2034`\321y\210`|\210\202\") \203F\322\323\324!\323\325!\323\326!$\210;\203T\327!BC\202W\330\327!\211\204g\331\332!\203g\333\202l\334 !@#q\210db\210\335\336!\210\337\225b\210\340\f!\210$\203\237 \203\225\322\323\324!\323\325!\323\326!$\210\341 \210\342%&\"\210 )+\207" [group server beg result buf nnmail-cache-accepted-message-ids nnbabyl-possibly-change-newsgroup nnmail-check-syntax nil nnmail-activate nnbabyl search-forward "\n\n" t -1 re-search-backward "^X-Gnus-Newsgroup: " 1 nnmail-cache-insert nnmail-fetch-field "message-id" "subject" "from" nnbabyl-active-number nnmail-article-group yes-or-no-p "Moved to `junk' group; delete article? " junk nnbabyl-save-mail search-backward "\n" 0 insert-buffer-substring save-buffer nnmail-save-active nnbabyl-mbox-buffer last nnbabyl-group-alist nnbabyl-active-file] 7]) (nnoo-register-function 'nnbabyl-request-accept-article) (defalias 'nnbabyl-request-replace-article #[(article group buffer) "\304!\210r q\210eb\210\305\306\n!\307\310#\205\"\311\310\211\"\210\312 !\210\313 \210\310)\207" [group nnbabyl-mbox-buffer article buffer nnbabyl-possibly-change-newsgroup search-forward nnbabyl-article-string nil t nnbabyl-delete-mail insert-buffer-substring save-buffer] 4]) (nnoo-register-function 'nnbabyl-request-replace-article) (defalias 'nnbabyl-request-delete-group #[(group &optional force server) "\306 \"\210\n\2031r q\210eb\210\307\f\310Q\311\312\311\313#\203)\313\314 \210\202 \2030\315 \210+\316\317\"\"\311\320\"\210\313\207" [group server force nnbabyl-mbox-buffer nnbabyl-current-group found nnbabyl-possibly-change-newsgroup "\nX-Gnus-Newsgroup: " ":" nil search-forward t nnbabyl-delete-mail save-buffer delq assoc nnmail-save-active ident nnbabyl-group-alist nnbabyl-active-file] 4]) (nnoo-register-function 'nnbabyl-request-delete-group) (defalias 'nnbabyl-request-rename-group #[(group new-name &optional server) "\306 \"\210r\nq\210eb\210\307 \310Q\307\f\310Q\311\312\311\313#\203/\314\313\211#\210\313\202 \2036\315 \210,\316\"\211\203G\f\240\210\311\317\"\210)\313\207" [group server nnbabyl-mbox-buffer nnbabyl-current-group new-name found nnbabyl-possibly-change-newsgroup "\nX-Gnus-Newsgroup: " ":" nil search-forward t replace-match save-buffer assoc nnmail-save-active new-ident ident nnbabyl-group-alist entry nnbabyl-active-file] 5]) (nnoo-register-function 'nnbabyl-request-rename-group) (defalias 'nnbabyl-delete-mail #[(&optional force leave-delim) "\204\f\303 \304y\210`|\210\212\214~\210\212\305\306 P\307\310#\204!eb\210\307\210\n\203,\304y\210`\202.\311\224)\304y\210\312\306 P\307\310#\203A\311\224\206Bd}\210eb\210\204T\312\313\307\310#?\205Wed|*\207" [force nnbabyl-mail-delimiter leave-delim point-at-bol 1 re-search-backward "^" nil t 0 re-search-forward "^X-Gnus-Newsgroup: "] 5]) (defalias 'nnbabyl-possibly-change-newsgroup #[(newsgroup &optional server) "\203\305!\204\306!\210\307 !\204\212\310 \210)\n\204!\311\312!\210 \2035\313 \n\"\2030 \211\207\314\312\315\"\207\316\207" [server nnbabyl-mbox-buffer nnbabyl-group-alist newsgroup nnbabyl-current-group nnbabyl-server-opened nnbabyl-open-server buffer-live-p nnbabyl-read-mbox nnmail-activate nnbabyl assoc nnheader-report "No such group in file" t] 3]) (defalias 'nnbabyl-article-string #[(article) "\247\203\302 \303\304!\305\260\207\306P\207" [article nnbabyl-current-group "\nX-Gnus-Newsgroup: " ":" int-to-string " " "\nMessage-ID: "] 5]) (defalias 'nnbabyl-article-group-number #[nil "\212eb\210\300\301\302\303#\205\304\224\304\225{\305\306\224\306\225{!B)\207" [re-search-forward "^X-Gnus-Newsgroup: +\\([^:]+\\):\\([0-9]+\\) " nil t 1 string-to-number 2] 4]) #@68 Insert how many lines and chars there are in the body of the mail. (defalias 'nnbabyl-insert-lines #[nil "\302\211\212eb\210\303\304\302\305#\205L\306\307!\203\303\304\302\305#\210d`Z\310`d\"S\311]eb\210\303\304\302\305#\210\312u\210\212\313\314\302\305#\203D`\315y\210`|\210)\316\317 \"c\210+\207" [chars lines nil search-forward "\n\n" t looking-at "\\*\\*\\* EOOH \\*\\*\\*" count-lines 0 -1 re-search-backward "^Lines: " 1 format "Lines: %d\n"] 4 (#$ . 13517)]) (defalias 'nnbabyl-save-mail #[(group-art) "\301 \210\302!\210\303!\210\304\305!\210\207" [group-art nnbabyl-insert-lines nnmail-insert-xref nnbabyl-insert-newsgroup-line run-hooks nnbabyl-prepare-save-mail-hook] 2]) (defalias 'nnbabyl-insert-newsgroup-line #[(group-art) "\212eb\210\301\302!\203\303\304\305\211#\210\306y\210\202eb\210\301\307!\204*\212\310c\210db\210\311c\210)\312\313\314\305#\203M\315u\210\203M\316\317@@@A\320 $c\210A\211\2049)\305\207" [group-art looking-at "From " replace-match "Mail-from: From " t 1 "\f" "\f\n0, unseen,,\n*** EOOH ***\n" "\n" search-forward "\n\n" nil -1 format "X-Gnus-Newsgroup: %s:%d %s\n" current-time-string] 6]) (defalias 'nnbabyl-active-number #[(group) "\303 \"A@\211\203\n\211AT\241\210\202\304\211B\211D B\nA)\207" [group nnbabyl-group-alist active assoc 1] 4]) (defalias 'nnbabyl-create-mbox #[nil "\303!?\205r\304!\211q\210\305c\210\306ed\307\310%)\207" [nnbabyl-mbox-file nnbabyl-mbox-buffer buffer-file-name file-exists-p create-file-buffer "BABYL OPTIONS:\n\n" nnmail-write-region t nomesg] 6]) (defalias 'nnbabyl-read-mbox #[nil "\306\307!\210\310 \210\311!\205rq\210\312 \313 !U)?\205\336\212\314\nP \315\211\211#$%\316 \315\317#\211q\210edB&B'\320 \210~\210\315(\321 \210$\203\202db\210\322\323\324$@@\"\315\317#\203y\325\326\224\326\225{!\211$@A@AV\203y$@A@\f\241\210$A\211$\204Meb\210\327\330!\203\221`#\202\234\331%\315\317#\210\332\225#\331%\315\317#\203\316\332\225\333\334#\317#\204\305 b\210\212\214#b }\210\335\336\337!!\210d* \211#b\210\202\234\340p!\203\327\341 \210\342 )\".\207" [nnbabyl-mbox-buffer nnbabyl-mbox-file nnbabyl-mail-delimiter nnbabyl-group-alist number end nnmail-activate nnbabyl nnbabyl-create-mbox buffer-live-p buffer-size nnheader-file-size "^" nil nnheader-find-file-noselect t buffer-disable-undo fundamental-mode re-search-backward format "^X-Gnus-Newsgroup: %s:\\([0-9]+\\) " string-to-number 1 looking-at "\f" re-search-forward 0 search-backward "\nX-Gnus-Newsgroup: " nnbabyl-save-mail nnmail-article-group nnbabyl-active-number buffer-modified-p save-buffer nnmail-save-active start alist delim major-mode nnbabyl-previous-buffer-mode buffer-read-only nnbabyl-active-file] 6]) (defalias 'nnbabyl-remove-incoming-delims #[nil "eb\210\300\301\302\303#\205\304\305\303\211#\210\202\207" [search-forward "" nil t replace-match "?"] 4]) #@79 Go through the nnbabyl mbox and make sure that no article numbers are reused. (defalias 'nnbabyl-check-mbox #[nil "\306\307\310\206 \311\312\313$)\314\212\315 !\204\316 \210 q\210eb\210\317\320\314\321#\203S\322\323\324!\211\n\"\203J\325 \324y\210`|\210\326\327\330 #\210\331\332\333!!\210\202 \334 \321\n#\210\202 \335p!\203\\\336 \210\337\f \"\210\326\340\341\"+\207" [size id idents nnbabyl-mbox-buffer nnbabyl-group-alist nnbabyl-active-file 1000 make-hash-table :size 300 :test equal nil buffer-live-p nnbabyl-read-mbox re-search-forward "^X-Gnus-Newsgroup: \\([^ ]+\\) " t gethash match-string 1 point-at-bol nnheader-message 7 "Moving %s..." nnbabyl-save-mail nnmail-article-group nnbabyl-active-number puthash buffer-modified-p save-buffer nnmail-save-active 5 ""] 5 (#$ . 16415) nil]) (provide 'nnbabyl)