;ELC ;;; compiled by gsstark@lola-granola.MIT.EDU on Tue Jul 23 13:36:40 1996 ;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.2.37/lisp/nnsoup.el ;;; emacs version 19.30.1. ;;; 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 "`nnsoup.el' was compiled for Emacs 19.29 or later")) (byte-code "!!!!!\"ɉF\nB\nɇ" [require nnheader nnmail gnus-soup gnus-msg nnoo nnsoup mapcar #[(p) "C" [p] 1] nil nnoo-definition-alist] 4) #@25 *SOUP packet directory. (defvar nnsoup-directory "~/SOUP/" (#$ . -671)) (nnoo-define (quote nnsoup-directory) nil) #@43 *Where nnsoup will store temporary files. (defvar nnsoup-tmp-directory "/tmp/" (#$ . -792)) (nnoo-define (quote nnsoup-tmp-directory) nil) #@53 *Directory where outgoing packets will be composed. (defvar nnsoup-replies-directory (concat nnsoup-directory "replies/") (#$ . -937)) (nnoo-define (quote nnsoup-replies-directory) nil) #@34 *Format of the replies packages. (defvar nnsoup-replies-format-type 110 (#$ . -1129)) (nnoo-define (quote nnsoup-replies-format-type) nil) #@38 *Index type of the replies packages. (defvar nnsoup-replies-index-type 110 (#$ . -1274)) (nnoo-define (quote nnsoup-replies-index-type) nil) #@14 Active file. (defvar nnsoup-active-file (concat nnsoup-directory "active") (#$ . 1421)) (nnoo-define (quote nnsoup-active-file) nil) #@205 Format string command for packing a SOUP packet. The SOUP files will be inserted where the %s is in the string. This string MUST contain both %s and %d. The file number will be inserted where %d appears. (defvar nnsoup-packer "tar cf - %s | gzip > $HOME/Soupin%d.tgz" (#$ . 1561)) (nnoo-define (quote nnsoup-packer) nil) #@107 *Format string command for unpacking a SOUP packet. The SOUP packet file name will be inserted at the %s. (defvar nnsoup-unpacker "gunzip -c %s | tar xvf -" (#$ . -1889)) (nnoo-define (quote nnsoup-unpacker) nil) #@47 *Where nnsoup will look for incoming packets. (defvar nnsoup-packet-directory "~/" (#$ . -2108)) (nnoo-define (quote nnsoup-packet-directory) nil) #@73 *Regular expression matching SOUP packets in `nnsoup-packet-directory'. (defvar nnsoup-packet-regexp "Soupout" (#$ . -2261)) (nnoo-define (quote nnsoup-packet-regexp) nil) #@17 nnsoup version. (defconst nnsoup-version "nnsoup 0.0" (#$ . 2439)) (byte-code "! B\"! B\"!, B\"!> B\"!P\n B\"!b B\"!t\f B\"!" [boundp nnsoup-status-string "" current-load-list nnoo-define nil nnsoup-group-alist nnsoup-current-prefix 0 nnsoup-replies-list nnsoup-buffers nnsoup-current-group nnsoup-group-alist-touched nnoo-define-basics-1 nnsoup] 3) (defalias 'nnsoup-retrieve-headers #[(sequence &optional group server fetch-old) " !\nq \"AAɉ\n \f @;/ЂXS@@A@WSA>/@\fB\f @A@HHU@A@H!! @@@AX@ B A\f \f@B/\f\f \f\fdb`\f@A@@\f@8H!!b!!ȉ#Ty+\fA\fX\fT\f@@\fA\f@\f@A#\nKdb@\"c\n!dbcA\" ." [nnsoup-possibly-change-group group nntp-server-buffer erase-buffer assoc nnsoup-current-group nnsoup-group-alist sequence t nil msg-buf this-area-seq useful-areas use-nov articles areas headers 2 1 110 file-exists-p nnsoup-file 0 nnsoup-index-buffer index-buffer number b insert-buffer-substring looking-at "[0-9]+" replace-match int-to-string nov nnsoup-narrow-to-article head format "221 %d Article retrieved.\n" ".\n" nnheader-fold-continuation-lines] 7]) (nnoo-register-function (quote nnsoup-retrieve-headers)) (defalias 'nnsoup-open-server #[(server &optional defs) "\n # !ȏ ! # !!1 # \n $ч" [nnoo-change-server nnsoup server defs file-exists-p nnsoup-directory nil (make-directory nnsoup-directory t) ((error)) nnsoup-close-server nnheader-report "Couldn't create directory: %s" file-directory-p file-truename "Not a directory: %s" nnsoup-read-active-file "Opened server %s using directory %s" t] 5]) (nnoo-register-function (quote nnsoup-open-server)) (defalias 'nnsoup-request-close #[nil "  ' A@A \f! \f! ) \n !·" [nnsoup-write-active-file nnsoup-write-replies gnus-soup-save-areas nil buffer nnsoup-buffers buffer-name kill-buffer nnsoup-group-alist nnsoup-group-alist-touched nnsoup-current-group nnsoup-replies-list nnoo-close-server nnoo t] 3]) (nnoo-register-function (quote nnsoup-request-close)) (defalias 'nnsoup-request-article #[(id &optional newsgroup server buffer) " !\f\f q ;?&!& !*" [nnsoup-possibly-change-group newsgroup nil buf buffer nntp-server-buffer erase-buffer id nnsoup-narrow-to-article insert-buffer-substring t] 2]) (nnoo-register-function (quote nnsoup-request-article)) (defalias 'nnsoup-request-group #[(group &optional server dont-check) " !\n\nÇ \"A@ #2A@ZT]@A %)" [nnsoup-possibly-change-group group dont-check t assoc nnsoup-group-alist active nnheader-report nnsoup "No such group: %s" nnheader-insert "211 %d %d %d %s\n" 0] 7]) (nnoo-register-function (quote nnsoup-request-group)) (defalias 'nnsoup-request-type #[(group &optional article) " !\n\nÇ\n \"A@HHU ɂ,U+˂,)" [nnsoup-possibly-change-group group article unknown nnsoup-article-to-area nnsoup-current-group 2 kind 109 mail 110 news] 4]) (nnoo-register-function (quote nnsoup-request-type)) (defalias 'nnsoup-close-group #[(group &optional server) " . A@@\f\n\"\nA\nA!\nA!*ȇ" [nnsoup-buffers nil elem buffers group delq buffer-name kill-buffer t] 3]) (nnoo-register-function (quote nnsoup-close-group)) (defalias 'nnsoup-request-list #[(&optional server) "q \n \npA@? @ȱ A@A!c A@@!c,ˇ" [nntp-server-buffer erase-buffer nnsoup-group-alist nnsoup-read-active-file nil entry standard-output alist " " princ " y\n" t] 3]) (nnoo-register-function (quote nnsoup-request-list)) (defalias 'nnsoup-request-scan #[(group &optional server) " " [nnsoup-unpack-packets] 1]) (nnoo-register-function (quote nnsoup-request-scan)) (defalias 'nnsoup-request-newgroups #[(date &optional server) " " [nnsoup-request-list] 1]) (nnoo-register-function (quote nnsoup-request-newgroups)) (defalias 'nnsoup-request-list-newsgroups #[(&optional server) "" [nil] 1]) (nnoo-register-function (quote nnsoup-request-list-newsgroups)) (defalias 'nnsoup-request-post #[(&optional server) "!‡" [nnsoup-store-reply "news" t] 2]) (nnoo-register-function (quote nnsoup-request-post)) (defalias 'nnsoup-request-mail #[(&optional server) "!‡" [nnsoup-store-reply "mail" t] 2]) (nnoo-register-function (quote nnsoup-request-mail)) (defalias 'nnsoup-request-expire-articles #[(articles group &optional server force) " ! \"A@\fAA \n A@@! A@H  !!8\nX \"!8\n \" \n#׏\fA\fAA\" \"\n\fA\fAA\"\fAA \fAA@@@ AT!." [nnsoup-possibly-change-group group assoc nnsoup-group-alist total-infolist active infolist nil info range-list mod-time prefix gnus-uncompress-range 0 5 file-attributes nnsoup-file t gnus-sublist-p articles nnmail-expired-article-p force (byte-code "\f! $\f!!\f!!\f\" $\f\"!1\f\"!ȇ" [nnheader-message 5 "Deleting %s in group %s..." nnsoup-file prefix group file-exists-p delete-file t] 6) ((error)) delq gnus-sorted-complement nnsoup-write-active-file] 6]) (nnoo-register-function (quote nnsoup-request-expire-articles)) (defalias 'nnsoup-possibly-change-group #[(group &optional force) "‡" [group nnsoup-current-group t] 2]) (defalias 'nnsoup-read-active-file #[nil " !lŏ k @A@@:k  \n\nA\n@ Ag@@@APAC@@A B AB)-\f " [nil nnsoup-group-alist file-exists-p nnsoup-active-file (byte-code " ‰$" [load nnsoup-active-file t] 5) ((error)) max min e entry alist t nnsoup-group-alist-touched] 6]) (defalias 'nnsoup-write-active-file #[(&optional force) "] \f\n]\f!! . !!. !\"ΎpDE!cE!c) \\qed %," [nnsoup-group-alist force nnsoup-group-alist-touched nil nnsoup-active-file nnheader-set-temp-buffer generate-new-buffer-name " *nnheader temp*" nnheader-temp-cur-buffer nnheader-temp-file file-directory-p file-name-directory make-directory t ((byte-code " !\n !" [buffer-name nnheader-temp-cur-buffer kill-buffer] 2)) standard-output prin1 setq quote "\n" nnsoup-current-prefix write-region nomesg] 8]) #@30 Return the next free prefix. (defalias 'nnsoup-next-prefix #[nil " !!! \"! T T )" [nil prefix file-exists-p nnsoup-file int-to-string nnsoup-current-prefix t] 4 (#$ . 8839)]) (defalias 'nnsoup-read-areas #[nil "q\nP!ĉ \n  A @ \"\nHQ!I !\"\nHQ! \"\"I! H\"\nH B BDEB\nA@AT \\BDC\nA@ \\.!\nP!)" [nntp-server-buffer gnus-soup-parse-areas nnsoup-tmp-directory "AREAS" nil file cur-prefix lnum area number entry areas nnsoup-next-prefix message "Incorporating file %s..." file-exists-p 0 ".IDX" rename-file nnsoup-file ".MSG" t nnsoup-number-of-articles assoc 1 nnsoup-group-alist nnsoup-write-active-file delete-file] 7]) (defalias 'nnsoup-number-of-articles #[(area) "H HOHHU%H!qed\"OH!qebHH!\n  #L\nT\n;\n*)" [area 4 2 1 110 nnsoup-index-buffer 0 count-lines nnsoup-message-buffer nnsoup-header num regexp re-search-forward nil t] 4]) (defalias 'nnsoup-index-buffer #[(prefix &optional message) " ‚\nP\fQ!?\n\fP!?!qp! pBB\n\fP!p)*" [prefix message ".MSG" ".IDX" file " *nnsoup " "*" buffer-name get-buffer file-exists-p nnsoup-directory get-buffer-create buffer-disable-undo nnsoup-current-group nnsoup-buffers insert-file-contents] 3]) (defalias 'nnsoup-file #[(prefix &optional message) " \n Ă\fQ!" [expand-file-name nnsoup-directory prefix message ".MSG" ".IDX"] 4]) (defalias 'nnsoup-message-buffer #[(prefix) " \"" [nnsoup-index-buffer prefix msg] 3]) #@50 Unpack all packets in `nnsoup-packet-directory'. (defalias 'nnsoup-unpack-packets #[nil " #A@< \"! \f #. \" ! ! *" [directory-files nnsoup-packet-directory t nnsoup-packet-regexp nil packet packets message format "nnsoup: unpacking %s..." gnus-soup-unpack-packet nnsoup-tmp-directory nnsoup-unpacker "Couldn't unpack %s" delete-file nnsoup-read-areas "Unpacking...done"] 4 (#$ . 10447)]) (defalias 'nnsoup-narrow-to-article #[(article &optional area head) "\n \"A@H \"\n A@HHU !! !q~eb\n@@Zyp!\ny!p! q~A@HH bUUy` )q~\n d}q~ebA@HH!\n@@Z$Ĕ#Ĕd})ebe#`Sd})-" [area nnsoup-article-to-area article nnsoup-current-group 0 prefix nnsoup-index-buffer msg msg-buf nil beg end 2 1 99 file-exists-p nnsoup-file read looking-at "[0-9]+" format 110 109 -1 nnsoup-header header re-search-forward t head search-forward "\n\n"] 7]) (defalias 'nnsoup-header #[(format) "U‡U PULJ\"" [format 110 "^#! *rnews +[0-9]+ *$" 109 "^" message-unix-mail-delimiter 77 "^\n" error "Unknown format: %c"] 3]) #@43 Make an outbound package of SOUP replies. (defalias 'nnsoup-pack-replies #[nil " \f \"" [gnus-soup-save-areas nnsoup-write-active-file nnsoup-write-replies gnus-soup-pack nnsoup-replies-directory nnsoup-packer] 3 (#$ . 11654) nil]) #@25 Write the REPLIES file. (defalias 'nnsoup-write-replies #[nil "\f\n\"É" [nnsoup-replies-list gnus-soup-write-replies nnsoup-replies-directory nil] 3 (#$ . 11902)]) #@54 Return the area that ARTICLE in GROUP is located in. (defalias 'nnsoup-article-to-area #[(article group) " \n\"AA @@A\fW A ! @)" [assoc group nnsoup-group-alist areas article] 4 (#$ . 12081)]) (byte-code "!\n\n D\fB" [boundp nnsoup-old-functions message-send-mail-function message-send-news-function current-load-list] 2) #@57 Use the SOUP methods for posting news and mailing mail. (defalias 'nnsoup-set-variables #[nil "‰" [nnsoup-request-post message-send-news-function nnsoup-request-mail message-send-mail-function] 2 (#$ . 12435) nil]) #@67 Revert posting and mailing methods to the standard Emacs methods. (defalias 'nnsoup-revert-variables #[nil "@A@" [nnsoup-old-functions message-send-mail-function message-send-news-function] 2 (#$ . 12661) nil]) (defalias 'nnsoup-store-reply #[(kind) "!! !p \n \f Ď К1!6!) q ! \")dbhUZc uКu!r!u \feb !Q!!!  Tb'! *!,-%/00!0qeb#/T/)/\"*  !. " [require mail-utils generate-new-buffer " message temp" nil message-news-p mail-fetch-field "resent-to" mailbuf delimline resend-to-addresses news case-fold-search tembuf message-narrow-to-headers kind "mail" message-generate-headers message-required-mail-headers message-required-news-headers erase-buffer insert-buffer-substring message-remove-header message-ignored-mail-headers t 10 "cc" "to" message-insert-courtesy-copy re-search-forward "^" regexp-quote mail-header-separator "\n" replace-match backward-char 1 point-marker eval message-mailer-swallows-blank-line newline gnus-soup-store nnsoup-replies-directory nnsoup-kind-to-prefix nnsoup-replies-format-type nnsoup-replies-index-type 0 num msg-buf bufferp "^#! *rnews" message "Stored %d messages" nnsoup-write-replies kill-buffer] 7]) (defalias 'nnsoup-kind-to-prefix #[(kind) "\n\nP! \f@H \fA\f+\f@HJ\n! \f Θ@ςA$#B@H)" [nnsoup-replies-list gnus-soup-parse-replies nnsoup-replies-directory "REPLIES" replies kind 1 0 vector gnus-soup-unique-prefix format "%c%c%c" nnsoup-replies-format-type nnsoup-replies-index-type "news" 110 109] 10]) #@35 (Re-)create the SOUP active file. (defalias 'nnsoup-make-active #[nil "\n#\"Ɖ \n \f !qp!  @\"  @!eb#K P! ed\"\n @\" @ݔݕO  \f\" \nB\nB  \n%DE\fB\fA@AT\n\\B  \n%DCA@\n\\ A *!\f\"!." [sort directory-files nnsoup-directory t "IDX$" #[(f1 f2) "\n\"\n\"!\"\"!W" [string-match "/\\([0-9]+\\)\\." f1 string-to-int match-string 1 f2] 5] nil min elem ident lines group active files get-buffer-create " *nnsoup work*" buffer-disable-undo message "Doing %s..." erase-buffer insert-file-contents re-search-forward "^[^ ]* [^ ]* [^ ]* [^ ]* [^ ]* [^ ]* [^ ]* [^ ]* *\\(Xref: \\)? *[^ ]* \\([^ ]+\\):[0-9]" "unknown" match-string 2 count-lines string-match "/\\([0-9]+\\)\\." 1 assoc vector "ncm" "" nnsoup-group-alist nnsoup-write-active-file] 10 (#$ . 14305) nil]) #@63 Delete any *.MSG and *.IDX files that aren't known by nnsoup. (defalias 'nnsoup-delete-unreferenced-message-files #[nil "\f\"\" # \f  A @ C \" ωO  \fB\f\f\"\f\f#-" [apply nconc mapcar #[(ga) "\nAA\"" [mapcar #[(area) "A@H" [area 0] 2] ga] 3] nnsoup-group-alist known "\\.MSG$\\|\\.IDX$" regexp directory-files nnsoup-directory nil files non-files file string-match 0 sort string< map-y-or-n-p "Delete file %s? " #[(file) " \nP!" [delete-file nnsoup-directory file] 3]] 5 (#$ . 15205) nil]) (provide (quote nnsoup))