;ELC ;;; compiled by larsi@ifi.uio.no on Fri Jun 28 20:33:55 1996 ;;; from file /gd/gnu/emacs/19.0/lisp/nnbabyl.el ;;; emacs version 19.31.4. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`nnbabyl.el' was compiled for Emacs 19.29 or later")) (byte-code "!!!!\"ȉF B ȇ" [require nnheader rmail nnmail nnoo nnbabyl mapcar #[(p) "C" [p] 1] nil nnoo-definition-alist] 4) #@61 The name of the rmail box file in the users home directory. (defvar nnbabyl-mbox-file (expand-file-name "~/RMAIL") (#$ . 609)) (nnoo-define (quote nnbabyl-mbox-file) nil) #@48 The name of the active file for the rmail box. (defvar nnbabyl-active-file (expand-file-name "~/.rmail-active") (#$ . 786)) (nnoo-define (quote nnbabyl-active-file) nil) #@75 If non-nil, nnbabyl will check the incoming mail file and split the mail. (defvar nnbabyl-get-new-mail t (#$ . 962)) (nnoo-define (quote nnbabyl-get-new-mail) nil) #@48 Hook run narrowed to an article before saving. (defvar nnbabyl-prepare-save-mail-hook nil (#$ . 1132)) (byte-code "\"! B‡" [nnoo-define nnbabyl-prepare-save-mail-hook nil boundp nnbabyl-mail-delimiter "" current-load-list] 3) #@18 nnbabyl version. (defconst nnbabyl-version "nnbabyl 1.0" (#$ . 1381)) (byte-code "! B\"! B\"!+ B\"!= B\"!O B\"!a\n B\"\"!" [boundp nnbabyl-mbox-buffer nil current-load-list nnoo-define nnbabyl-current-group nnbabyl-status-string "" nnbabyl-group-alist nnbabyl-active-timestamp nnbabyl-previous-buffer-mode autoload gnus-set-text-properties "gnus-ems" nnoo-define-basics-1 nnbabyl] 3) (defalias 'nnbabyl-retrieve-headers #[(articles &optional group server fetch-old) "q \nG PƉ \n \f \"\nA@\n\n! qy #P # #!dyUW`#`Sqc\np\"c#dbc &  V&\fT\fU&\f_ #&   V\"q ." [nntp-server-buffer erase-buffer articles 0 "^" nnbabyl-mail-delimiter nil stop start art-string article delim count number nnbabyl-possibly-change-newsgroup group server nnbabyl-article-string nnbabyl-mbox-buffer search-forward t search-backward re-search-backward looking-at ".+:" 1 "\n\n" "221 " princ " Article retrieved.\n" insert-buffer-substring ".\n" nnmail-large-newsgroup 20 nnheader-message 5 "nnbabyl: Receiving headers... %d%%" 100 "nnbabyl: Receiving headers...done" nnheader-fold-continuation-lines headers] 7]) (nnoo-register-function (quote nnbabyl-retrieve-headers)) (defalias 'nnbabyl-open-server #[(server &optional defs) "\n # ! # !$ #\n $̇" [nnoo-change-server nnbabyl server defs file-exists-p nnbabyl-mbox-file 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 (quote nnbabyl-open-server)) (defalias 'nnbabyl-close-server #[(&optional server) "  \nq @@ @A} A ) \"LJ" [nnbabyl-server-opened nnbabyl-previous-buffer-mode nnbabyl-mbox-buffer nnoo-close-server nnbabyl server nil t] 3]) (nnoo-register-function (quote nnbabyl-close-server)) (defalias 'nnbabyl-server-opened #[(&optional server) "\n\"  !  !" [nnoo-current-server-p nnbabyl server nnbabyl-mbox-buffer buffer-name nntp-server-buffer] 3]) (nnoo-register-function (quote nnbabyl-server-opened)) (defalias 'nnbabyl-request-article #[(article &optional newsgroup server buffer) " \n\" qeb!#lj \n P#!6yU)` P#IyLdb`\nVq  \n#eb! # ey`|y`#`|B ,)" [nnbabyl-possibly-change-newsgroup newsgroup server nnbabyl-mbox-buffer search-forward nnbabyl-article-string article nil t summary-line stop start re-search-backward "^" nnbabyl-mail-delimiter looking-at ".+:" 1 0 re-search-forward -1 buffer nntp-server-buffer erase-buffer insert-buffer-substring "Summary-line:" "\n*** EOOH ***" "\n\n" nnbabyl-current-group nnbabyl-article-group-number] 6]) (nnoo-register-function (quote nnbabyl-request-article)) (defalias 'nnbabyl-request-group #[(group &optional server dont-check) " \n\"A@  \" #@ , #!@ # A @ZT @ A %*" [assoc group nnbabyl-group-alist active nnbabyl-possibly-change-newsgroup server nnheader-report nnbabyl "No such group: %s" dont-check "Selected group %s" nnheader-insert "" "211 %d %d %d %s\n"] 6]) (nnoo-register-function (quote nnbabyl-request-group)) (defalias 'nnbabyl-request-scan #[(&optional group server) " \f %" [nnbabyl-read-mbox nnmail-get-new-mail nnbabyl #[nil "q )" [nnbabyl-mbox-buffer save-buffer] 1] nnbabyl-mbox-file group #[nil "peb#!qdb#ʕb!* \"" [in-buf search-forward "\n\n" nil t delete-char -1 nnbabyl-mbox-buffer search-backward "\n" 0 insert-buffer-substring nnmail-save-active nnbabyl-group-alist nnbabyl-active-file] 4]] 6]) (nnoo-register-function (quote nnbabyl-request-scan)) (defalias 'nnbabyl-close-group #[(group &optional server) "" [t] 1]) (nnoo-register-function (quote nnbabyl-close-group)) (defalias 'nnbabyl-request-create-group #[(group &optional server) "! \f\" BD\fB\f\"ɇ" [nnmail-activate nnbabyl assoc group nnbabyl-group-alist 1 0 nnmail-save-active nnbabyl-active-file t] 3]) (nnoo-register-function (quote nnbabyl-request-create-group)) (defalias 'nnbabyl-request-list #[(&optional server) " ! )" [nnmail-find-file nnbabyl-active-file nnmail-get-active nnbabyl-group-alist] 2]) (nnoo-register-function (quote nnbabyl-request-list)) (defalias 'nnbabyl-request-newgroups #[(date &optional server) " !" [nnbabyl-request-list server] 2]) (nnoo-register-function (quote nnbabyl-request-newgroups)) (defalias 'nnbabyl-request-list-newsgroups #[(&optional server) "\"" [nnheader-report nnbabyl "nnbabyl: LIST NEWSGROUPS is not implemented."] 3]) (nnoo-register-function (quote nnbabyl-request-list-newsgroups)) (defalias 'nnbabyl-request-expire-articles #[(articles newsgroup &optional server force) " \n\"! qed# a\faeb @!#X ``{#P @ $ X @B A  \"A@eb@!#@AX@Tebp)\" +" [nnbabyl-possibly-change-newsgroup newsgroup server t is-old nil rest nnmail-activate nnbabyl nnbabyl-mbox-buffer gnus-set-text-properties articles search-forward nnbabyl-article-string nnmail-expired-article-p force nnheader-message 5 "Deleting article %d in %s..." nnbabyl-delete-mail save-buffer assoc nnbabyl-group-alist active nnmail-save-active nnbabyl-active-file] 6]) (nnoo-register-function (quote nnbabyl-request-expire-articles)) (defalias 'nnbabyl-request-move-article #[(article group server accept-form &optional last) " \n\"! \n#lq !eb͊#`)#=y`y`|!p!)lqeb !#c k )*" [nnbabyl-possibly-change-newsgroup group server get-buffer-create " *nnbabyl move*" nil result buf nnbabyl-request-article article insert-buffer-substring nntp-server-buffer re-search-forward "^X-Gnus-Newsgroup:" search-forward "\n\n" t 0 1 eval accept-form kill-buffer nnbabyl-mbox-buffer nnbabyl-article-string nnbabyl-delete-mail last save-buffer] 6]) (nnoo-register-function (quote nnbabyl-request-move-article)) (defalias 'nnbabyl-request-accept-article #[(group &optional server last) " \n\" pĉ!seb#y #6`y`|$) ;C DCE @)qdb!וb!p \")+" [nnbabyl-possibly-change-newsgroup group server nnmail-check-syntax nil beg result buf nnmail-activate nnbabyl search-forward "\n\n" t -1 re-search-backward "^X-Gnus-Newsgroup: " 1 "" nnmail-split-methods nnbabyl-save-mail nnbabyl-mbox-buffer search-backward "\n" 0 insert-buffer-substring last save-buffer nnmail-save-active nnbabyl-group-alist nnbabyl-active-file] 4]) (nnoo-register-function (quote nnbabyl-request-accept-article)) (defalias 'nnbabyl-request-replace-article #[(article group buffer) " !\nqeb !##lj\"\n! )" [nnbabyl-possibly-change-newsgroup group nnbabyl-mbox-buffer search-forward nnbabyl-article-string article nil t nnbabyl-delete-mail insert-buffer-substring buffer save-buffer] 4]) (nnoo-register-function (quote nnbabyl-request-replace-article)) (defalias 'nnbabyl-request-delete-group #[(group &optional force server) " \n\" 5\fqebQ \n\n#,  4 + \"\"\"̇" [nnbabyl-possibly-change-newsgroup group server force nnbabyl-mbox-buffer "\nX-Gnus-Newsgroup: " nnbabyl-current-group ":" nil found ident search-forward t nnbabyl-delete-mail save-buffer delq assoc nnbabyl-group-alist nnmail-save-active nnbabyl-active-file] 4]) (nnoo-register-function (quote nnbabyl-request-delete-group)) (defalias 'nnbabyl-request-rename-group #[(group new-name &optional server) " \n\" qeb QQ \n  #2\n͉#  : , \"L\")͇" [nnbabyl-possibly-change-newsgroup group server nnbabyl-mbox-buffer "\nX-Gnus-Newsgroup: " nnbabyl-current-group ":" new-name nil found new-ident ident search-forward t replace-match save-buffer assoc nnbabyl-group-alist entry nnmail-save-active nnbabyl-active-file] 5]) (nnoo-register-function (quote nnbabyl-request-rename-group)) (defalias 'nnbabyl-delete-mail #[(&optional force leave-delim) "y`y`|~ P#'y`))y P#LoGGy`IMd}eb_#?bed|*" [force 0 1 re-search-backward "^" nnbabyl-mail-delimiter nil t leave-delim re-search-forward -2 "^X-Gnus-Newsgroup: "] 5]) (defalias 'nnbabyl-possibly-change-newsgroup #[(newsgroup &optional server) "!!  ! )&! ? \":  \"·" [server nnbabyl-server-opened nnbabyl-open-server nnbabyl-mbox-buffer buffer-name nnbabyl-read-mbox nnbabyl-group-alist nnmail-activate nnbabyl newsgroup assoc nnbabyl-current-group nnheader-report "No such group in file" t] 3]) (defalias 'nnbabyl-article-string #[(article) "\n!ŰP" [article "\nX-Gnus-Newsgroup: " nnbabyl-current-group ":" int-to-string " " "\nMessage-ID: "] 5]) (defalias 'nnbabyl-article-group-number #[nil "eb#Ĕĕ{Ɣƕ{!B)" [re-search-forward "^X-Gnus-Newsgroup: +\\([^:]+\\):\\([0-9]+\\) " nil t 1 string-to-int 2] 4]) #@68 Insert how many lines and chars there are in the body of the mail. (defalias 'nnbabyl-insert-lines #[nil "eb#M!#d`Z`d\"Z]eb#u#E`y`|)\n\"c +" [nil chars lines search-forward "\n\n" t looking-at "\\*\\*\\* EOOH \\*\\*\\*" count-lines 1 0 -1 re-search-backward "^Lines: " format "Lines: %d\n"] 4 (#$ . 10511)]) (defalias 'nnbabyl-save-mail #[nil "! \n!\n!!\n)" [nnmail-article-group nnbabyl-active-number 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) "eb!ĉ#yeb!*cdbc)#Ru R @@ @A $c A :)ć" [looking-at "From " replace-match "Mail-from: From " t 1 "\f" "\f\n0, unseen,,\n*** EOOH ***\n" "\n" search-forward "\n\n" nil -1 group-art format "X-Gnus-Newsgroup: %s:%d %s\n" current-time-string] 6]) (defalias 'nnbabyl-active-number #[(group) " \n\"A@ AT ĉBD\nB A)" [assoc group nnbabyl-group-alist active 1] 4]) (defalias 'nnbabyl-read-mbox #[nil "! !! !q ced %) 6 !6 q !U)?Pщ #qedBBp!~ db@@\"#{!@A@AV@A@TApeb###bb} d*bp! +\"." [nnmail-activate nnbabyl file-exists-p nnbabyl-mbox-file create-file-buffer nnbabyl-mbox-buffer buffer-file-name "BABYL OPTIONS:\n\n" write-region t nomesg buffer-name buffer-size nnheader-file-size "^" nnbabyl-mail-delimiter nnbabyl-group-alist nil number end start alist delim nnheader-find-file-noselect raw major-mode nnbabyl-previous-buffer-mode buffer-disable-undo buffer-read-only fundamental-mode re-search-backward format "^X-Gnus-Newsgroup: %s:\\([0-9]+\\) " string-to-number 1 re-search-forward 0 search-backward "\nX-Gnus-Newsgroup: " nnbabyl-save-mail buffer-modified-p save-buffer nnmail-save-active nnbabyl-active-file] 7]) (defalias 'nnbabyl-remove-incoming-delims #[nil "eb#É#" [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 "\"! qeb#O! \"Gy`y`|\f# \f \"p!X \"!+" [make-vector 1000 0 nil id idents nnbabyl-mbox-buffer buffer-name nnbabyl-read-mbox re-search-forward "^X-Gnus-Newsgroup: \\([^ ]+\\) " t intern-soft match-string 1 nnheader-message 7 "Moving %s..." nnbabyl-save-mail intern buffer-modified-p save-buffer nnmail-save-active nnbabyl-group-alist nnbabyl-active-file message ""] 4 (#$ . 12640) nil]) (provide (quote nnbabyl))