;ELC ;;; compiled by larsi@ifi.uio.no on Fri Jun 28 20:34:08 1996 ;;; from file /gd/gnu/emacs/19.0/lisp/nnfolder.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 "`nnfolder.el' was compiled for Emacs 19.29 or later")) (byte-code "!!!!\"ȉF B ȇ" [require nnheader message nnmail nnoo nnfolder mapcar #[(p) "C" [p] 1] nil nnoo-definition-alist] 4) #@37 The name of the nnfolder directory. (defvar nnfolder-directory (expand-file-name message-directory) (#$ . 614)) (nnoo-define (quote nnfolder-directory) nil) #@30 The name of the active file. (defvar nnfolder-active-file (nnheader-concat nnfolder-directory "active") (#$ . 777)) (nnoo-define (quote nnfolder-active-file) nil) #@254 If non-nil, causes nnfolder to do some extra work in order to determine the true active ranges of an mbox file. Note that the active file is still saved, but it's values are not used. This costs some extra time when scanning an mbox when opening it. (defvar nnfolder-ignore-active-file nil (#$ . 947)) (nnoo-define (quote nnfolder-ignore-active-file) nil) #@322 If non-nil, causes nnfolder to not trust the user with respect to inserting unaccounted for mail in the middle of an mbox file. This can greatly slow down scans, which now must scan the entire file for unmarked messages. When nil, scans occur forward from the last marked message, a huge time saver for large mailboxes. (defvar nnfolder-distrust-mbox nil (#$ . 1313)) (nnoo-define (quote nnfolder-distrust-mbox) nil) #@35 Mail newsgroups description file. (defvar nnfolder-newsgroups-file (byte-code " !P" [file-name-as-directory nnfolder-directory "newsgroups"] 2) (#$ . 1737)) (nnoo-define (quote nnfolder-newsgroups-file) nil) #@76 If non-nil, nnfolder will check the incoming mail file and split the mail. (defvar nnfolder-get-new-mail t (#$ . 1954)) (nnoo-define (quote nnfolder-get-new-mail) nil) #@48 Hook run narrowed to an article before saving. (defvar nnfolder-prepare-save-mail-hook nil (#$ . 2128)) (nnoo-define (quote nnfolder-prepare-save-mail-hook) nil) #@50 Hook run before saving the nnfolder mbox buffer. (defvar nnfolder-save-buffer-hook nil (#$ . 2296)) (nnoo-define (quote nnfolder-save-buffer-hook) nil) #@29 If non-nil, inhibit expiry. (defvar nnfolder-inhibit-expiry nil (#$ . 2454)) (nnoo-define (quote nnfolder-inhibit-expiry) nil) #@19 nnfolder version. (defconst nnfolder-version "nnfolder 1.0" (#$ . 2587)) #@68 String used to demarcate what the article number for a message is. (defconst nnfolder-article-marker "X-Gnus-Article-Number: " (#$ . 2666)) (byte-code "! B\"! B\"!+ B\"!= B\"!O B\"!a\n B\"!" [boundp nnfolder-current-group nil current-load-list nnoo-define nnfolder-current-buffer nnfolder-status-string "" nnfolder-group-alist nnfolder-buffer-alist nnfolder-scantime-alist nnoo-define-basics-1 nnfolder] 3) (defalias 'nnfolder-retrieve-headers #[(articles &optional group server fetch-old) "q Pĉ  \f\"  qeb@;5ς@! q#[# #e`#`Sq\"c  #dbcA:q ." [nntp-server-buffer erase-buffer "^" message-unix-mail-delimiter nil stop start art-string article delim-string nnfolder-possibly-change-group group server nnfolder-current-buffer articles headers nnfolder-article-string search-forward t search-backward re-search-backward "\n\n" format "221 %d Article retrieved.\n" insert-buffer-substring ".\n" nnheader-fold-continuation-lines] 6]) (nnoo-register-function (quote nnfolder-retrieve-headers)) (defalias 'nnfolder-open-server #[(server &optional defs) "\n # !ȏ ! # !!1 #\n $Ї" [nnoo-change-server nnfolder server defs file-exists-p nnfolder-directory nil (make-directory nnfolder-directory t) ((error)) nnfolder-close-server nnheader-report "Couldn't create directory: %s" file-directory-p file-truename "Not a directory: %s" "Opened server %s using directory %s" t] 5]) (nnoo-register-function (quote nnfolder-open-server)) (defalias 'nnfolder-request-close #[nil " @@# A)!É" [nnfolder-buffer-alist alist nnfolder-close-group nil t nnoo-close-server nnfolder nnfolder-group-alist] 5]) (nnoo-register-function (quote nnfolder-request-close)) (defalias 'nnfolder-request-article #[(article &optional group server buffer) " \n\" qeb!#lj \n P#`\ny P#<y?db` Iq \n #eb!o!cy\\}BebP!``{!B+)" [nnfolder-possibly-change-group group server nnfolder-current-buffer search-forward nnfolder-article-string article nil t stop start re-search-backward "^" message-unix-mail-delimiter 1 re-search-forward -1 buffer nntp-server-buffer erase-buffer insert-buffer-substring looking-at "From " delete-char 5 "X-From-Line: " nnfolder-current-group "\n" nnfolder-article-marker string-to-int] 5]) (nnoo-register-function (quote nnfolder-request-article)) (defalias 'nnfolder-request-group #[(group &optional server dont-check) "! \f\" #k \" ) #˂k \f\"\f@\fA@ \fE #jR #j # A @ZT @ A %+)" [nnmail-activate nnfolder assoc group nnfolder-group-alist nnheader-report "No such group: %s" nnfolder-possibly-change-group server dont-check "Selected group %s" t active range nnfolder-current-group "Empty group: %s" nnheader-insert "211 %d %d %d %s\n"] 7]) (nnoo-register-function (quote nnfolder-request-group)) (defalias 'nnfolder-request-scan #[(&optional group server) " \n# $" [nnfolder-possibly-change-group group server t nnmail-get-new-mail nnfolder #[nil " . @A@! @\"& @A@q p! A*" [nnfolder-buffer-alist bufs buffer-name delq nnfolder-save-buffer kill-buffer nil] 4] nnfolder-directory] 5]) (nnoo-register-function (quote nnfolder-request-scan)) (defalias 'nnfolder-close-group #[(group &optional server force) " \n\" K \n\", D\nB\f\n\"\fA@\f@) K !K q p! \n\"\n\")ˇ" [assoc group nnfolder-buffer-alist nnfolder-current-group inf nnfolder-current-buffer delq buffer-name nnfolder-save-buffer kill-buffer nil t] 5]) (nnoo-register-function (quote nnfolder-close-group)) (defalias 'nnfolder-request-create-group #[(group &optional server) "\n\"! & \"& BDB \"̇" [nnfolder-possibly-change-group nil server nnmail-activate nnfolder group assoc nnfolder-group-alist 1 0 nnmail-save-active nnfolder-active-file t] 3]) (nnoo-register-function (quote nnfolder-request-create-group)) (defalias 'nnfolder-request-list #[(&optional server) "\n\"\f! )" [nnfolder-possibly-change-group nil server nnmail-find-file nnfolder-active-file nnmail-get-active nnfolder-group-alist] 3]) (nnoo-register-function (quote nnfolder-request-list)) (defalias 'nnfolder-request-newgroups #[(date &optional server) "\n\"\n!" [nnfolder-possibly-change-group nil server nnfolder-request-list] 3]) (nnoo-register-function (quote nnfolder-request-newgroups)) (defalias 'nnfolder-request-list-newsgroups #[(&optional server) "\n\"\f!)" [nnfolder-possibly-change-group nil server nnmail-find-file nnfolder-newsgroups-file] 3]) (nnoo-register-function (quote nnfolder-request-list-newsgroups)) (defalias 'nnfolder-request-expire-articles #[(articles newsgroup &optional server force) " \n\"! q\n]\f]eb\n@!#T ``{$L\n@ $ T\n@B\nA\n \"A@PAeb##{!^z,\"\"\n+" [nnfolder-possibly-change-group newsgroup server t is-old nil rest nnmail-activate nnfolder nnfolder-current-buffer articles search-forward nnfolder-article-string nnmail-expired-article-p force nnfolder-inhibit-expiry nnheader-message 5 "Deleting article %d..." nnfolder-delete-mail nnfolder-save-buffer assoc nnfolder-group-alist active "\n" nnfolder-article-marker marker "[0-9]+" number activemin re-search-forward string-to-number 0 nnmail-save-active nnfolder-active-file] 6]) (nnoo-register-function (quote nnfolder-request-expire-articles)) (defalias 'nnfolder-request-move-article #[(article group server accept-form &optional last) " \n\"! \n#qp!  !ebP#`)#Jy`y`|*!!) \n\"qeb !#v ~ )*" [nnfolder-possibly-change-group group server get-buffer-create " *nnfolder move*" nil result buf nnfolder-request-article article buffer-disable-undo erase-buffer insert-buffer-substring nntp-server-buffer re-search-forward "^" nnfolder-article-marker search-forward "\n\n" t 0 1 eval accept-form kill-buffer nnfolder-current-buffer nnfolder-article-string nnfolder-delete-mail last nnfolder-save-buffer] 6]) (nnoo-register-function (quote nnfolder-request-move-article)) (defalias 'nnfolder-request-accept-article #[(group &optional server last) " \n\" ; !peb!#! kqeb#yP#N`y`|9 ;U !@)kqj )\" {\" *" [nnfolder-possibly-change-group group server nnmail-check-syntax nil result buf looking-at "X-From-Line: " replace-match "From " nnfolder-request-list search-forward "\n\n" t -1 re-search-backward "^" nnfolder-article-marker 1 nnfolder-save-mail nnfolder-current-buffer last nnfolder-save-buffer nnmail-save-active nnfolder-group-alist nnfolder-active-file nnheader-report nnfolder "Couldn't store article"] 4]) (nnoo-register-function (quote nnfolder-request-accept-article)) (defalias 'nnfolder-request-replace-article #[(article group buffer) " !\nqeb !##lj\"\n! )" [nnfolder-possibly-change-group group nnfolder-current-buffer search-forward nnfolder-article-string article nil t nnfolder-delete-mail insert-buffer-substring buffer nnfolder-save-buffer] 4]) (nnoo-register-function (quote nnfolder-request-replace-article)) (defalias 'nnfolder-request-delete-group #[(group &optional force server) " \n#\fǏ \n\"\n\"\n \f\n\"Ç" [nnfolder-close-group group server t force nil (byte-code "\n!!" [delete-file nnfolder-group-pathname group] 3) ((error)) delq assoc nnfolder-group-alist nnfolder-current-group nnfolder-current-buffer nnmail-save-active nnfolder-active-file] 4]) (nnoo-register-function (quote nnfolder-request-delete-group)) (defalias 'nnfolder-request-rename-group #[(group new-name &optional server) " \n\" q !9ȏ9 \n\" ' \f \n\"p!))" [nnfolder-possibly-change-group group server nnfolder-current-buffer file-writable-p buffer-file-name nil (byte-code " !\"ć" [rename-file buffer-file-name nnfolder-group-pathname new-name t] 4) ((error)) assoc nnfolder-group-alist entry new-name nnfolder-current-group nnmail-save-active nnfolder-active-file kill-buffer t] 4]) (nnoo-register-function (quote nnfolder-request-rename-group)) (defalias 'nnfolder-article-string #[(article) " \n!RP" [article "\n" nnfolder-article-marker int-to-string " " "\nMessage-ID: "] 4]) #@38 Delete the message that point is in. (defalias 'nnfolder-delete-mail #[(&optional force leave-delim) "\nP# y`ǔ)y\nP#9o4 4y`:ǔ:d|)" [re-search-backward "^" message-unix-mail-delimiter nil t leave-delim 1 0 re-search-forward -2] 5 (#$ . 11244)]) (defalias 'nnfolder-possibly-change-group #[(group &optional server scanning) "!! \f ?!,!\"! \"Q !!Q BDB\"̉ g\fg\f!  \"yA@\f\f!\f!\f!\f\f!\f!\f!\" !!!!!!!\"Љ%\"\"\fq \fDB)* " [server nnfolder-server-opened nnfolder-open-server group nnfolder-current-buffer nnfolder-current-group file-exists-p nnfolder-directory make-directory directory-file-name t nnfolder-possibly-activate-groups nil assoc nnfolder-group-alist nnfolder-group-pathname 1 0 nnmail-save-active nnfolder-active-file file inf buffer-name nnfolder-buffer-alist bufferp verify-visited-file-modtime kill-buffer delq file-directory-p file-truename file-name-directory write-region nomesg nnfolder-read-folder scanning] 7]) #@32 Called narrowed to an article. (defalias 'nnfolder-save-mail #[(&optional group) " DC\f\n!P\n eb!2 ϱeby#Gyc5 \n !!! @ Aeb#yP#`Ty`|p @! !\" @! @! @!edp%&'\"qdblcc%'&#%q+Y\n-" [group "" nnmail-split-methods nnmail-article-group nnfolder-active-number group-art-list "^" message-unix-mail-delimiter delim nil save-list group-art looking-at "From nobody " current-time-string "\n" 1 re-search-forward t 0 "> " nnmail-insert-lines nnmail-insert-xref run-hooks nnmail-prepare-save-mail-hook nnfolder-prepare-save-mail-hook search-forward "\n\n" -1 search-backward nnfolder-article-marker 2 nnfolder-possibly-change-group nnfolder-insert-newsgroup-line nnfolder-current-buffer nnfolder-close-group nnfolder-request-create-group obuf end beg insert-buffer-substring] 4 (#$ . 12397)]) (defalias 'nnfolder-insert-newsgroup-line #[(group-art) "eb#uPA #c)" [search-forward "\n\n" nil t -1 format nnfolder-article-marker "%d %s\n" group-art current-time-string] 4]) (defalias 'nnfolder-possibly-activate-groups #[(&optional group) " !!)" [group nnfolder-possibly-change-group nnmail-activate nnfolder] 2]) (defalias 'nnfolder-active-number #[(group) "1\n\"A@ AT#ĉBD\nB A)\n\"!)" [group assoc nnfolder-group-alist active 1 nnmail-save-active nnfolder-active-file nnfolder-possibly-activate-groups] 5]) (defalias 'nnfolder-read-folder #[(file &optional scanning) " \n\"A@ !8 //@@=/AA@=?! #qp!PP \"A@\\B \n\"ى\"ˉ !\"Aeb#W!# #!!**]*^)^]A]eb+Wdb!#eb\"#eb \"#הd˓dUn!b\"!6y)\"#FהGd˓b!#} !B!~4\" C D\nBp. *" [assoc nnfolder-current-group nnfolder-scantime-alist 5 file-attributes file (nil nil nil nil nil) modtime scantime scanning nnfolder-possibly-activate-groups nil nnheader-find-file-noselect raw nnfolder-current-buffer buffer-disable-undo "^" message-unix-mail-delimiter "\n" nnfolder-article-marker "[0-9]+" nnfolder-group-alist 1 0 lsh -1 newscantime end start maxid minid active number marker delim nnfolder-ignore-active-file 2 search-forward t re-search-forward string-to-number match-string newnum nnfolder-distrust-mbox re-search-backward point-marker marker-position looking-at nnmail-insert-lines nnfolder-insert-newsgroup-line nnfolder-active-number nnmail-save-active nnfolder-active-file visited-file-modtime] 11]) #@76 Look for mbox folders in the nnfolder directory and make them into groups. (defalias 'nnfolder-generate-active-file #[nil "! !A@B !; !; # BDB ! !! *" [nnmail-activate nnfolder directory-files nnfolder-directory nil file files backup-file-name-p nnheader-mail-file-mbox-p nnheader-message 5 "Adding group %s..." 1 0 nnfolder-group-alist nnfolder-possibly-change-group nnfolder-close-group message ""] 4 (#$ . 15091) nil]) #@26 Make pathname for GROUP. (defalias 'nnfolder-group-pathname #[(group) "\n!!\f P! P\" #P)" [file-name-as-directory expand-file-name nnfolder-directory dir nnmail-use-long-file-names file-exists-p group nnheader-replace-chars-in-string 46 47] 5 (#$ . 15561)]) #@18 Save the buffer. (defalias 'nnfolder-save-buffer #[nil " ! " [buffer-modified-p run-hooks nnfolder-save-buffer-hook save-buffer] 2 (#$ . 15847)]) (provide (quote nnfolder))