;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 nnmail gnus-start nnoo nnmh mapcar list nil "*internal-non-initialized-backend*"] 4) #@95 Mail spool directory. This is a Gnus server variable. See Info node `(gnus)Select Methods'. (defvar nnmh-directory message-directory (#$ . 734)) (nnoo-define 'nnmh-directory nil) #@144 If non-nil, nnmh will check the incoming mail file and split the mail. This is a Gnus server variable. See Info node `(gnus)Select Methods'. (defvar nnmh-get-new-mail t (#$ . 922)) (nnoo-define 'nnmh-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 nnmh-prepare-save-mail-hook nil (#$ . 1149)) (nnoo-define 'nnmh-prepare-save-mail-hook nil) #@307 If non-nil, nnmh will check all articles to make sure whether they are new or not. Go through the .nnmh-articles file and compare with the actual articles in this folder. The articles that are "new" will be marked as unread by Gnus. This is a Gnus server variable. See Info node `(gnus)Select Methods'. (defvar nnmh-be-safe nil (#$ . 1375)) (nnoo-define 'nnmh-be-safe nil) #@15 nnmh version. (defconst nnmh-version "nnmh 1.0" (#$ . 1757)) #@103 Current news group directory. This is a Gnus server variable. See Info node `(gnus)Select Methods'. (defvar nnmh-current-directory nil (#$ . 1825)) (nnoo-define 'nnmh-current-directory nil) (defvar nnmh-status-string "") (nnoo-define 'nnmh-status-string nil) (defvar nnmh-group-alist nil) (nnoo-define 'nnmh-group-alist nil) (defvar nnmh-allow-delete-final nil) (nnoo-define-basics-1 'nnmh) (defalias 'nnmh-retrieve-headers #[(articles &optional newsgroup server fetch-old) "rq\210\306 \210\307\nG\f\247\205 \fV\310 !\307\211\"#\311$%\"\210\n@;\2033\312\202\256\n\203\241\313\314&!\315\n\211A\242\211#!P\211!\203\200\316 !\204\200\317\320#\"c\210`\"\321 !\210\"b\210\322\323\307\324#\203s\325u\210\202ydb\210\323c\210\326c\210`d|\210T \2033\327\246\310U\2033\330\331\332\333\334_ \"#\210\2023 \203\252\330\331\335\"\210\336 \210\312.\207" [nntp-server-buffer file articles number nnmail-large-newsgroup large erase-buffer nil 0 nnmh-possibly-change-directory headers file-exists-p file-name-as-directory int-to-string file-directory-p format "221 %d Article retrieved.\n" nnheader-insert-head search-forward "\n\n" t -1 ".\n" 20 nnheader-message 5 "nnmh: Receiving headers... %d%%" floor 100.0 "nnmh: Receiving headers...done" nnheader-fold-continuation-lines count nnmail-pathname-coding-system file-name-coding-system beg article newsgroup server nnmh-current-directory] 7]) (nnoo-register-function 'nnmh-retrieve-headers) (defalias 'nnmh-open-server #[(server &optional defs) "\303\304 #\210\305\n!\204\3061\307\n\310\"0\202\210\202\210\305\n!\204,\311 \210\312\304\313\n#\207\314\315\n!!\204=\311 \210\312\304\316\n#\207\312\304\317\n$\210\310\207" [server defs nnmh-directory nnoo-change-server nnmh file-exists-p (error) make-directory t nnmh-close-server nnheader-report "Couldn't create directory: %s" file-directory-p file-truename "Not a directory: %s" "Opened server %s using directory %s"] 5]) (nnoo-register-function 'nnmh-open-server) (defalias 'nnmh-request-article #[(id &optional newsgroup server buffer) "\306 \"\210\n;?\205 \307\n!P\f \206  \211;\205@\310!\205@\311!?\205@\212\312!)\205@\313\314!!+\207" [newsgroup server id nnmh-current-directory nnmail-pathname-coding-system buffer nnmh-possibly-change-directory int-to-string file-exists-p file-directory-p nnmail-find-file string-to-number file-name-nondirectory nntp-server-buffer file-name-coding-system file] 4]) (nnoo-register-function 'nnmh-request-article) (defalias 'nnmh-request-group #[(group &optional server dont-check info) "\306 \210\307 \"\210\310\n\" \311 \312 !\204!\313\314\315#\202\223 !\"\2033#\2033\316!\210$\203B\313\314\317#\210\320\202\223\321 !\210\322\323\324\325 \311\326\320$\"\327\"\211\203\207\330\331%\"%\"%\f@\332\f!@BD%B%\313\314\317#\210\333\334\fG\f@\332\f!@%\202\223\313\314\335#\210\333\336\337\"!+\207" [group server nnmh-directory nnmail-pathname-coding-system dir file-name-coding-system nnheader-init-server-buffer nnmh-possibly-change-directory nnmail-group-pathname nil file-directory-p nnheader-report nnmh "Can't select group (no such directory): %s" nnmh-update-gnus-unreads "Selected group %s" t nnheader-re-read-dir sort mapcar string-to-number directory-files "\\`[0-9]+\\'" < delq assoc last nnheader-insert "211 %d %d %d %s\n" "Empty group %s" format "211 0 1 0 %s\n" pathname nnmh-current-directory nnmh-get-new-mail nnmh-be-safe dont-check nnmh-group-alist] 9]) (nnoo-register-function 'nnmh-request-group) (defalias 'nnmh-request-scan #[(&optional group server) "\302\303\304 $\207" [nnmh-directory group nnmail-get-new-mail nnmh nil] 5]) (nnoo-register-function 'nnmh-request-scan) (defalias 'nnmh-request-list #[(&optional server dir) "\306\307!\210\310\311\"\210 \312\n\206\313 !!\314\f!\210*\315 \316\207" [server nnmail-pathname-coding-system dir nnmh-directory nnmh-toplev file-name-coding-system nnheader-insert "" nnmh-possibly-change-directory nil file-truename file-name-as-directory nnmh-request-list-1 nnmail-get-active t nnmh-group-alist] 4]) (nnoo-register-function 'nnmh-request-list) (defalias 'nnmh-request-list-1 #[(dir) "\306!\307\310\311\310$\312\311\211\211\211\211 \313\314!!\211A@\262\315U? \311\211!\203\200!@\n\203?\316\f!\203c\317\f!\320\321 \"\203w\322 ! ] \203^ W\203w \202w\323\f!\203w\314\f!\314!\232\204w\324\f!\210!A\211!\2041*\306\"!\230\204\313r#q\210db\210\325\326\320\327\314\330\306\"!!!!\"\210\331\332\312\225\"\333\334$%&\335%$&#+'\"\206\302\312 \206\307\336$c\210).\310\207" [dir file subdirectoriesp num rdir min expand-file-name nnheader-directory-files t nil 0 file-attributes file-truename 2 file-regular-p file-name-nondirectory string-match "^[0-9]+$" string-to-number file-readable-p nnmh-request-list-1 format "%s %.0f %.0f y\n" regexp-quote file-name-as-directory encode-coding-string substring 47 46 subst-char-in-string 1 max files --dolist-tail-- nnmh-toplev nntp-server-buffer to from string nnmail-pathname-coding-system] 9]) (defalias 'nnmh-request-newgroups #[(date &optional server) "\301!\207" [server nnmh-request-list] 2]) (nnoo-register-function 'nnmh-request-newgroups) (defalias 'nnmh-request-expire-articles #[(articles newsgroup &optional server force) "\306 \"\210\307\n\310\211\211\311 \210\203\241\203\241\312@!P\313 !\3148\262\211\203\230\315@\"\203\222\316 #\211\203\222\317=\204l\320\321! r q\210\322\216\323@ p$\210\324\"\210+\325\314\326 $\210\3271! !0\202\216\210\325\330\331 $\210@\fB\211\210\202\230@\fBA\211\204\325\314\332\"\210\f\244-\207" [newsgroup server nnmh-current-directory mod-time rest article nnmh-possibly-change-directory t nil nnheader-init-server-buffer int-to-string file-attributes 5 nnmh-deletable-article-p nnmail-expired-article-p delete generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] nnmh-request-article nnmail-expiry-target-group nnheader-message "Deleting article %s in %s..." (file-error) 1 "Couldn't delete article %s in %s" "" dir is-old articles force nnmail-expiry-target #1# nnmail-delete-file-function] 6]) (nnoo-register-function 'nnmh-request-expire-articles) (defalias 'nnmh-close-group #[(group &optional server) "\300\207" [t] 1]) (nnoo-register-function 'nnmh-close-group) (defalias 'nnmh-request-move-article #[(article group server accept-form &optional last move-is-internal) "\306\307!\310\311\n \"\203I\312 \n\f#\203Ir q\210\313 \210\314 !\210\315!\316p!\210)\203I\317\n\f\"\210\3201D\321 !P!0\202H\210\202I\210*\207" [result buf group article server nntp-server-buffer get-buffer-create " *nnmh move*" nil nnmh-deletable-article-p nnmh-request-article erase-buffer insert-buffer-substring eval kill-buffer nnmh-possibly-change-directory (file-error) int-to-string accept-form nnmail-delete-file-function nnmh-current-directory] 4]) (nnoo-register-function 'nnmh-request-move-article) (defalias 'nnmh-request-accept-article #[(group &optional server last noinsert) "\306 \"\210\307 \210\n\203\310\311\312!\311\313!\311\314!$\210\315 \210;\2038 \203+\316!\202P\317\316!BC \"@\202P\320\316!\211\204J\321\322!\203J\323\202O\317\f \"@) \203[\n\203[\324 \210\207" [group server nnmail-cache-accepted-message-ids noinsert res last nnmh-possibly-change-directory nnmail-check-syntax nnmail-cache-insert nnmail-fetch-field "message-id" "subject" "from" nnheader-init-server-buffer nnmh-active-number nnmh-save-mail nnmail-article-group yes-or-no-p "Moved to `junk' group; delete article? " junk nnmail-cache-close] 7]) (nnoo-register-function 'nnmh-request-accept-article) (defalias 'nnmh-request-replace-article #[(article group buffer) "\304!\210r q\210\305!\210\3061(\307ed\n\310 !P\311\312\313!?\205!\314%\210\3150\202*\210\311)\207" [group buffer nnmh-current-directory article nnmh-possibly-change-directory nnmh-possibly-create-directory (error) nnmail-write-region int-to-string nil nnheader-be-verbose 5 nomesg t] 7]) (nnoo-register-function 'nnmh-request-replace-article) (defalias 'nnmh-request-create-group #[(group &optional server args) "\306 \210\307 \"\204;\310\311\312B\211D B\313!\210\314 \"\210\315\316\317\f\310\320#\"\211\203:\n\321\322 \"\240\210\n\321\323 \"\241\210*\324\207" [group nnmh-group-alist active server nnmh-current-directory articles nnheader-init-server-buffer assoc nil 1 0 nnmh-possibly-create-directory nnmh-possibly-change-directory mapcar string-to-number directory-files "\\`[0-9]+\\'" apply min max t] 7]) (nnoo-register-function 'nnmh-request-create-group) (defalias 'nnmh-request-delete-group #[(group &optional force server) "\306 \"\210\n\203?\307 \310\311#\211\203.\312\f@!\203'\313\314\315\f@$\210 \f@!\210\fA\211\204)\3161:\317 !0\202>\210\202?\210\320\321\"\"\322\310\207" [group server force nnmh-current-directory articles nnmail-delete-file-function nnmh-possibly-change-directory directory-files t "\\`[0-9]+\\'" file-writable-p nnheader-message 5 "Deleting article %s in %s..." (error) delete-directory delq assoc nil nnmh-group-alist] 6]) (nnoo-register-function 'nnmh-request-delete-group) (defalias 'nnmh-request-rename-group #[(group new-name &optional server) "\306 \"\210\307\n \"\307 \"\3101\311 \312\"\210\3120\202\"\210\313\202w\205w\314\f!\203H\315\f@AP @AP\"\210\211A\210\202*)\316\f!G\317X\203b\3201]\321\f!0\202a\210\202b\210\322\"\211\203r\n\240\210\313)\312*\207" [group server new-name nnmh-directory old-dir new-dir nnmh-possibly-change-directory nnmail-group-pathname (error) make-directory t nil nnheader-article-to-file-alist rename-file directory-files 2 (error) delete-directory assoc files nnmh-group-alist entry nnmh-current-directory] 5]) (byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnmh-request-rename-group nnoo-define-skeleton-1 nnmh] 2) (defalias 'nnmh-possibly-change-directory #[(newsgroup &optional server) "\203\306!\204\307!\210 \205,\310 \n\" \311 !\203& \211 \202+\312\313\314\n#*\207" [server newsgroup nnmh-directory nnmail-pathname-coding-system file-name-coding-system pathname nnmh-server-opened nnmh-open-server nnmail-group-pathname file-directory-p nnheader-report nnmh "Not a directory: %s" nnmh-current-directory] 4]) (defalias 'nnmh-possibly-create-directory #[(group) "\304\211\305\n \"\306 !\204 B\307\310 !!\202 \205>\311\310@!!\203/\312\313@\"\210\314\315\316@#\210A\211\204 \304*\207" [dirs dir group nnmh-directory nil nnmail-group-pathname file-directory-p file-name-directory directory-file-name make-directory error "Could not create directory %s" nnheader-message 5 "Creating mail directory %s"] 5]) #@32 Called narrowed to an article. (defalias 'nnmh-save-mail #[(group-art &optional noinsert) "\204 \306 \210\307 !\210\310\311!\210\310\312!\210eb\210\313\314!\203&\315\316!\210\317y\210\202 \320\211\203a\321 @@!\210\322 @@\f\"\323 @A!P\n\203O\n \324#\210\202Y\325ed \320\211%\210 ) A\211\204.* \207" [noinsert group-art first ga nnmh-directory file nnmail-insert-lines nnmail-insert-xref run-hooks nnmail-prepare-save-mail-hook nnmh-prepare-save-mail-hook looking-at "From " replace-match "X-From-Line: " 1 nil nnmh-possibly-create-directory nnmail-group-pathname int-to-string t nnmail-write-region nnmail-crosspost-link-function] 7 (#$ . 12649)]) #@43 Compute the next article number in GROUP. (defalias 'nnmh-active-number #[(group) "\306 \"A@\307\n\" \310\211\204H\311\312BD B\313!\204.\314!\210\315\316\317\320\310\321#\"\322\"\211\203G@\241\210)\211AT\241\210\313\307\n\"\323A!P\211!\204f\324\f!\203p\211AT\241\210\202OA,\207" [group nnmh-group-alist nnmh-directory nnmail-pathname-coding-system file file-name-coding-system assoc nnmail-group-pathname nil 1 0 file-exists-p gnus-make-directory sort mapcar string-to-number directory-files "\\`[0-9]+\\'" > int-to-string get-file-buffer dir active files] 8 (#$ . 13318)]) (defalias 'nnmh-update-gnus-unreads #[(group) "\306\307\310\311\312\313\314$\"\315\" \316P\312\211\317 !\2037\312&\3201.\321 \312\314\211$0\2022\210\2023\210&)\n\211'\203U'@ \236\204L'@\fB'A\211'\204>) \211'\203v'@@\n>\204m\322'@ \"'A\211'\204]) \312'((\211A(\242\211'\203\256\323 \324'@!P!\3258\262'A\232\204}\322' \"'@\fB\202}* \307\326\f\"\244\f\203\312\327\330)\331\332D\"\306\f\315\"\211\"\210\306 \333\" \334\335!*+\336\216r*q\210\337)\340\261\210\341c\210\342 !\210\343c)r*q\210\344\312\211+\312\345%\210. \207" [nnmh-current-directory dir files nnmh-file new articles sort mapcar string-to-number directory-files nil "\\`[0-9]+\\'" t < ".nnmh-articles" file-exists-p (error) load delq file-attributes int-to-string 5 #[(art) "\302 \303!P!\3048\262B\207" [art dir file-attributes int-to-string 5] 5] gnus-make-articles-unread gnus-group-prefixed-name nnmh "" #[(art1 art2) "@ @V\207" [art1 art2] 2] generate-new-buffer " *temp file*" #[nil "\301!\205 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] ";; Gnus article active file for " "\n\n" "(setq nnmh-newsgroup-articles '" gnus-prin1 ")\n" write-region 0 nnmh-newsgroup-articles art arts group #1# #2=#:temp-file] 9]) #@46 Say whether ARTICLE in GROUP can be deleted. (defalias 'nnmh-deletable-article-p #[(group article) "\306 !P\307\n!\205\310 \f\"A@A =?\206 )\207" [nnmh-current-directory article path group nnmh-group-alist nnmh-allow-delete-final int-to-string file-writable-p assoc] 3 (#$ . 15194)]) (provide 'nnmh)