%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/net/ |
Current File : //usr/local/share/emacs/27.2/lisp/net/pop3.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; 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 "\300\301!\210\302\303\304\305\306\307\306\310&\210\311\312\313\314\315DD\316\317\320\321\322\306\303& \210\311\323\313\314\324DD\325\317\320\321\322\306\303& \210\311\326\313\314\327DD\330\317\320\321\331\306\303& \210\311\332\313\314\333DD\334\317\320\321\335\306\303& \210\311\336\313\314\337DD\340\321\341\306\303&\210\311\342\313\314\343DD\344\321\345\317\320\306\303& \210\311\346\313\314\347DD\350\321\331\317\351\306\303& \210\311\352\313\314\353DD\354\317\355\321\356\306\303& \210\311\357\313\314\360DD\361\317\355\321\362\306\303& \210\311\363\313\314\364DD\365\317\355\321\366\306\303& \207" [require mail-utils custom-declare-group pop3 nil "Post Office Protocol." :group mail mail-source custom-declare-variable pop3-maildrop funcall function #[0 "\300 \206 \301\302!\206 \301\303!\207" [user-login-name getenv "LOGNAME" "USER"] 2] "POP3 maildrop." :version "22.1" :type string pop3-mailhost #[0 "\300\301!\206 \302\207" [getenv "MAILHOST" "pop3"] 2] "POP3 mailhost." pop3-port #[0 "\300\207" [110] 1] "POP3 port." number pop3-password-required #[0 "\300\207" [t] 1] "Non-nil if a password is required when connecting to POP server." boolean pop3-password #[0 "\300\207" [nil] 1] "Password to use when connecting to POP server." (choice (const nil) string) pop3-authentication-scheme #[0 "\300\207" [pass] 1] "POP3 authentication scheme.\nDefaults to `pass', for the standard USER/PASS authentication. The other\nvalid value is `apop'." (choice (const :tag "Normal user/password" pass) (const :tag "APOP" apop)) pop3-stream-length #[0 "\300\207" [100] 1] "How many messages should be requested at one time.\nThe lower the number, the more latency-sensitive the fetching\nwill be. If your pop3 server doesn't support streaming at all,\nset this to 1." "24.1" pop3-leave-mail-on-server #[0 "\300\207" [nil] 1] "Non-nil if the mail is to be left on the POP server after fetching.\nMails once fetched will never be fetched again by the UIDL control.\n\nIf this is neither nil nor a number, all mails will be left on the\nserver. If this is a number, leave mails on the server for this many\ndays since you first checked new mails. If this is nil, mails will be\ndeleted on the server right after fetching.\n\nGnus users should use the `:leave' keyword in a mail source to direct\nthe behavior per server, rather than directly modifying this value.\n\nNote that POP servers maintain no state information between sessions,\nso what the client believes is there and what is actually there may\nnot match up. If they do not, then you may get duplicate mails or\nthe whole thing can fall apart and leave you with a corrupt mailbox." "24.4" (choice (const :tag "Don't leave mails" nil) (const :tag "Leave all mails" t) (number :tag "Leave mails for this many days" :value 14)) pop3-uidl-file #[0 "\300\207" [#1="~/.pop3-uidl"] 1 #1#] "File used to save UIDL." file pop3-uidl-file-backup #[0 "\300\207" [(0 9)] 1] "How to backup the UIDL file `pop3-uidl-file' when updating.\nIf it is a list of numbers, the first one binds `kept-old-versions' and\nthe other binds `kept-new-versions' to keep number of oldest and newest\nversions. Otherwise, the value binds `version-control' (which see).\n\nNote: Backup will take place whenever you check new mails on a server.\nSo, you may lose the backup files having been saved before a trouble\nif you set it so as to make too few backups whereas you have access to\nmany servers." (choice (group :tag "Keep versions" :format "\n%v" :indent 3 (number :tag "oldest") (number :tag "newest")) (sexp :format "%v" :match (lambda (widget value) (condition-case nil (not (and (numberp (car value)) (numberp (car (cdr value))))) (error t)))))] 10) #@94 Timestamp returned when initially connected to the POP server. Used for APOP authentication. (defvar pop3-timestamp nil (#$ . 4113)) (defvar pop3-read-point nil) (defvar pop3-debug nil) (byte-code "\301\302!\203 \303\304!\203 \305\306\302\"\210\202' \307\310>\203 \311\202 \312!\210\305\306\313\"\210\301\207" [system-type fboundp nnheader-accept-process-output boundp nnheader-read-timeout defalias pop3-accept-process-output (lambda (#1=#:def-tmp-var) (defvar pop3-read-timeout #1# "How long pop3 should wait between checking for the end of output.\nShorter values mean quicker response, but are more CPU intensive.")) (windows-nt cygwin) 1.0 0.01 #[257 "\301\"\207" [pop3-read-timeout accept-process-output] 4 "\n\n(fn PROCESS)"]] 3) #@91 Transfer contents of a maildrop to the specified FILE. Use streaming commands. (fn FILE) (defalias 'pop3-movemail #[257 "\306 \"\307\211\211\211\310!\210\f\203# \311!\262A@\262@\262\202J \312!\211@\313\211W\203? \211\211TB\262\210\211T\262\202) \266\237\262\211A@\266\202\203l r\314!q\210\315\316$\210\317\"\210\f\204k \315\320\307$\210)\f\203\200 \321!\322!\210\203\233 \323 \210\202\233 \322!\210\324 \325 \325\n\"A\"\211\203\232 \211\307\241\210\323 \210\210*\326\207" [pop3-mailhost pop3-port pop3-uidl-saved pop3-uidl pop3-leave-mail-on-server pop3-maildrop pop3-open-server nil pop3-logon pop3-uidl-stat pop3-stat 0 process-buffer pop3-send-streaming-command "RETR" pop3-write-to-file "DELE" pop3-uidl-dele pop3-quit pop3-uidl-save pop3-uidl-load assoc t] 10 (#$ . 4863)]) #@44 (fn PROCESS COMMAND MESSAGES TOTAL-SIZE) (defalias 'pop3-send-streaming-command #[1028 "\301 \210G\302e\303\203; \304\305\306\n\n\211A\262\f\242#\"\210\246\303U\2034 \307$\262\211\\\262T\262\202 \307Z$\207" [pop3-stream-length erase-buffer 1 0 process-send-string format "%s %d \n" pop3-wait-for-messages] 15 (#$ . 5682)]) #@45 (fn PROCESS COUNT TOTAL-SIZE START-POINT) (defalias 'pop3-wait-for-messages #[1028 "\300V\203~ \211b\210\301\302\303\304#\203 \203% \301\305\303\304#\204% \301\306\303\304#\203/ S\262`\262\202 \307!\310>\204; \311\312!\210\203w \300eb\210\301\313\303\304#\203c \314`[\301\305\303\315#\203\\ \300\224\202] `#\262\202C \316\317\320\321\245!\320\322_\245\323_!#\266\324!\210\202 \207" [0 re-search-forward "^\\+OK" nil t "^\\. ?\n" "^-ERR " process-status (open run) error "pop3 process died" "^\\+OK.*\n" + move message "pop3 retrieved %dKB (%d%%)" truncate 1000 1.0 100 pop3-accept-process-output] 12 (#$ . 6040)]) #@22 (fn FILE MESSAGES) (defalias 'pop3-write-to-file #[514 "p\302\211\211\303\304!r\211q\210\305\306\307\310\311!\312\"\313$\216p\262rq\210eb\210\314\315\302\316#\203r \317y\210`\262\314\320\302\316#\203= \321y\210`\262rq\210db\210`\322#\210\323`\"\210db\210\324`\"\210\203j \325\211A\262\n\242\"\210db\266)\202! )\326eb\210l\203\200 \327\317!\210\330ed \302\331%+\262\207" [pop3-leave-mail-on-server coding-system-for-write nil generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 re-search-forward "^\\+OK" t 1 "^\\. ?\n" -1 insert-buffer-substring pop3-clean-region pop3-munge-message-separator pop3-uidl-add-xheader binary delete-char write-region nomesg] 13 (#$ . 6680)]) #@16 (fn PROCESS) (defalias 'pop3-logon #[257 " \203\f \305\306!!\210\n\203 \204 \307\310\311\"!\f\312\267\2023 \313\"\2026 \314\"\210\315!\2026 \316\317!)\207" [pop3-password pop3-debug pop3-password-required pop3-maildrop pop3-authentication-scheme switch-to-buffer process-buffer read-passwd format "Password for %s: " #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (apop 33 pass 40)) pop3-apop pop3-user pop3-pass error "Invalid POP3 authentication scheme"] 5 (#$ . 7451)]) #@48 Return the number of messages in the maildrop. (defalias 'pop3-get-message-count #[0 "\306 \"\307\n\203 \310\311!!\210\f\203 \n\204 \312\313\314 \"!\315\267\202; \316 \"\210\202? \317 \"\210\320!\210\202? \321\322!\210\323!@\262\324!\210)\207" [pop3-mailhost pop3-port pop3-password pop3-debug pop3-password-required pop3-maildrop pop3-open-server nil switch-to-buffer process-buffer read-passwd format "Password for %s: " #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (apop 39 pass 47)) pop3-apop pop3-user pop3-pass error "Invalid POP3 authentication scheme" pop3-stat pop3-quit pop3-authentication-scheme] 6 (#$ . 7983)]) #@71 Return a list of unread message numbers and total size. (fn PROCESS) (defalias 'pop3-uidl-stat #[257 "\305\306\"\210\307\211\211\3101 \311!\210\3120\202 \313!\262\307\262\203\305 \307\211r\314!q\210\315\316\307\312#\204J \317!\320>\204? \321\322!\210\323!\210b\210\202* \324 \307\325y\210`Y\203g \326\327!\203O \330\331! B\202O \205\277 \332 \333\333\f\n\"A\"A\262 G\211\334V\203\227 \211S 8\235\204\220 \211B\262\211S\262\202{ \210\205\277 \335!\262\334\262\211\203\273 \211@\236A\\\262A\266\202\202\246 \210D)\266\203\202\364 \336\337\f#\210\340\331!\210\341!\262\211@\334\211W\203\354 \211\211TB\262\210\211T\262\202\327 \266\211\237\240\210\211\207" [pop3-read-point pop3-uidl pop3-uidl-saved pop3-maildrop pop3-mailhost pop3-send-command "UIDL" nil (error) pop3-read-response t error-message-string process-buffer re-search-forward "^\\. \n" process-status (open run) error "pop3 server closed the connection" pop3-accept-process-output point-marker -1 looking-at "[0-9]+ \\([^\n ]+\\)" match-string 1 pop3-uidl-load assoc 0 pop3-list message "%s doesn't support UIDL (%s), so we try a regressive way..." sit-for pop3-stat] 12 (#$ . 8669)]) #@138 Delete messages according to `pop3-leave-mail-on-server'. Return non-nil if it is necessary to update the local UIDL file. (fn PROCESS) (defalias 'pop3-uidl-dele #[257 "\305\306\307\"\247\205\f \310_\311 \n\"\311A\"\306\211\211\211\211\211 A\306\241\210\f\203T \203T \fGS\262\312Y\203j \f8\211\262A\235\204M B\262B\262S\262\202/ \f\203j \313\314\315\316\317\320!\321\"\322\323%\f\"\262\203q \324\262GS\262\312V\203\304 S8\211\262\f\235\203\271 8\262\203\254 \325 \326\f\"\"\203\254 \324\262B\262\202\274 B\262B\262\202\274 \324\262\327Z\262\202w \203\321 \241\210\202\372 \203\343 \330!BC\241\210\202\372 BD\211\n\235\203\363 \n\210\202\371 \331\nC\"\210\211\203-\306\262\fG\262\312V\203 S\f8\235\203B\262S\262\202\203-\332\333\306$\210\207" [pop3-leave-mail-on-server pop3-mailhost pop3-uidl-saved pop3-maildrop pop3-uidl time-convert nil list 86400 assoc 0 mapcan make-byte-code 257 "\211\300D\207" vconcat vector [] 3 "\n\n(fn ELT)" t time-less-p time-subtract 2 last append pop3-send-streaming-command "DELE"] 18 (#$ . 9874)]) #@18 Load saved UIDL. (defalias 'pop3-uidl-load #[0 "\301!\205= \302\303!r\211q\210\304\305\306\307\310!\311\"\312$\216\3131+ \314!\210eb\210\315p!0\202: \316\317\320!#\210\321\322!\210\323\262*\262\207" [pop3-uidl-file file-exists-p generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 (error) insert-file-contents read message "Error while loading %s (%s)" error-message-string sit-for 1 nil] 7 (#$ . 11008)]) #@12 Save UIDL. (defalias 'pop3-uidl-save #[0 "\306\307!r\211q\210\310\311\312\313\314!\315\"\316$\216\203\244 \317c\210\211\203\221 \211@\211A\203\212 \320\211A\262\242\321\261\210\211\211\203n \211@\211A\203g \320\211A\262\242\322\261\210\211\203` \323\324\211A\262\242\211A\262\242#c\210\202H \325\326!\210\327c\210A\266\202\2022 \210\325\330!\210`Sf\331=\203\201 \332c\210\202\212 \333 Tb\210`d|\210A\266\202\202 \210`Sf\334=\203\236 \325\335!\210\336c\210\202\247 \337c\210 \340\n\f\"#:\203\306 #A@#@\340\202\311 #\341 .\207" [pop3-uidl-saved pop3-uidl-file kept-new-versions kept-old-versions version-control delete-old-versions generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "(" "(\"" "\"\n " "\"\n " format "\"%s\" %s\n " delete-char -4 ")\n " -3 41 ")\n " point-at-bol 32 -2 ")\n" "()\n" t save-buffer buffer-file-name pop3-uidl-file-backup] 10 (#$ . 11496)]) #@38 Add X-UIDL header. (fn START MSGNO) (defalias 'pop3-uidl-add-xheader #[514 "\302\214\211b\210\303\304\305\306#\210`S}\210b\210\307\310\305\302#\203. \311y\210\305f\312>\204 \313\224`|\210\202 db\210\314S 8\315\261*\207" [case-fold-search pop3-uidl t search-forward "\n\n" nil move re-search-forward "^x-uidl:" 1 (9 32) 0 "X-UIDL: " "\n"] 7 (#$ . 12477)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \207" [custom-declare-variable pop3-stream-type funcall function #[0 "\300\207" [nil] 1] "Transport security type for POP3 connections.\nThis may be either nil (plain connection), `ssl' (use an\nSSL/TSL-secured stream) or `starttls' (use the starttls mechanism\nto turn on TLS security after opening the stream). However, if\nthis is nil, `ssl' is assumed for connections to port\n995 (pop3s)." :version "23.1" :group pop3 :type (choice (const :tag "Plain" nil) (const :tag "SSL/TLS" ssl) (const starttls))] 10) #@114 Open TCP connection to MAILHOST on PORT. Returns the process associated with the connection. (fn MAILHOST PORT) (defalias 'pop3-open-server #[514 "\305\211\306r\307\310P!q\210\311 \210e\312\313p\314\315=\204. \2042 \316\235\2032 \317\2027 \2067 \320\321\322\323\324\325\326\327\330\331\332\333\322\334\335&\262\211\205s \336A\337\"\340\341\342\"\206\\ \343\341\344\"\206d \345T#\210\346@\306\"\210\311 \210\211@+\207" [coding-system-for-write coding-system-for-read pop3-read-point pop3-stream-type pop3-timestamp binary nil get-buffer-create " trace of POP session to " erase-buffer open-network-stream "POP" :type ssl (995 "pop3s") tls network :warn-unless-encrypted t :capability-command "CAPA \n" :end-of-command "^\\(-ERR\\|+OK\\).*\n" :end-of-capability "^\\. ?\n\\|^-ERR" :success "^\\+OK.*\n" :return-list :starttls-function #[257 "\300\301\"\205 \302\207" [string-match "\\bSTLS\\b" "STLS \n"] 4 "\n\n(fn CAPABILITIES)"] plist-get :greeting substring string-match "<" 0 ">" -1 set-process-query-on-exit-flag] 26 (#$ . 13424)]) #@24 (fn PROCESS COMMAND) (defalias 'pop3-send-command #[514 "\301!q\210db\210`db\210\302\303P\"\207" [pop3-read-point process-buffer process-send-string " \n"] 6 (#$ . 14493)]) #@134 Read the response from the server. Return the response string if optional second argument is non-nil. (fn PROCESS &optional RETURN) (defalias 'pop3-read-response #[513 "\302\211r\303!q\210 b\210\304!\305>\203' \306\307\302\310#\204' \311!\210 b\210\202 `\262 b\210\312\313!\203>