%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/gnus/ |
Current File : //usr/local/share/emacs/27.2/lisp/gnus/gnus-util.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\300\302!\210\300\303!\210\304\305\306\307\310\311\312\313\314\315& \210\304\316\317\320\310\311\312\313\314\321& \210\322\323\324\"\210\322\325\326\"\210\322\327\326\"\210\322\330\331\"\207" [require seq time-date text-property-search custom-declare-variable gnus-completing-read-function 'gnus-emacs-completing-read "Function use to do completing read." :version "24.1" :group gnus-meta :type (radio (function-item :doc "Use Emacs standard `completing-read' function." gnus-emacs-completing-read) (function-item :doc "Use `ido-completing-read' function." gnus-ido-completing-read) (function-item :doc "Use iswitchb based completing-read function." gnus-iswitchb-completing-read)) gnus-completion-styles (append (when (and (assq 'substring completion-styles-alist) (not (memq 'substring completion-styles))) (list 'substring)) completion-styles) "Value of `completion-styles' to use when completing." (repeat symbol) autoload gnus-get-buffer-window "gnus-win" nnheader-narrow-to-headers "nnheader" nnheader-replace-chars-in-string mail-header-remove-comments "mail-parse"] 10) #@212 Replace all matches for REGEXP with NEWTEXT in STRING. If LITERAL is non-nil, insert NEWTEXT literally. Return a new string containing the replacements. This is a compatibility function for different Emacsen. (defalias 'gnus-replace-in-string #[(string regexp newtext &optional literal) "\304 \n\305%\207" [regexp newtext string literal replace-regexp-in-string nil] 6 (#$ . 1512)]) (make-obsolete 'gnus-replace-in-string 'replace-regexp-in-string "26.1") #@72 Pop to BUFFER, evaluate FORMS, and then return to the original window. (defalias 'gnus-eval-in-buffer-window '(macro . #[(buffer &rest forms) "\305\306!\305\307!\305\310!\311\n\312BD \313\314BBDE\315\316\317 \316\320 D\321\322 DDE\323DF\fBB\320\nDEE+\207" [buf w tempvar buffer forms make-symbol "GnusStartBufferWindow" "w" "buf" let* ((selected-window)) gnus-get-buffer-window ('visible) unwind-protect progn if select-window set-buffer window-buffer pop-to-buffer] 11 (#$ . 1978)])) (byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put gnus-eval-in-buffer-window lisp-indent-function 1 edebug-form-spec (form body)] 4) (defalias 'gnus-goto-char #[(point) "\205 b\207" [point] 1]) (put 'gnus-goto-char 'byte-optimizer 'byte-compile-inline-expand) #@72 Delete by side effect the first occurrence of ELT as a member of LIST. (defalias 'gnus-delete-first #[(elt list) "@ \232\203\n A\207A\203 A@ \232\204 A\211\202 A\203+ \211AA\241\210\n)\207" [list elt total] 3 (#$ . 2750)]) (defalias 'gnus-delete-line '(macro . #[(&optional n) "\301\302\303\304\206 \305D\306BBE\207" [n delete-region (point-at-bol) progn forward-line 1 ((point))] 5])) #@275 Extract address components from a From header. Given an RFC-822 (or later) address FROM, extract name and address. Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). Much more simple solution than `mail-header-parse-address', which works much better, but is slower. (defalias 'gnus-extract-address-components #[(from) "\303\211\304\305\n\"\203 \306\n\307\224\307\225#\202% \304\310\n\"\203% \306\n\311\224\311\225#\203O \304\312\313!\314Q\n\"\203O \306\n\311\211\224#\211\203O \304\315 \"\203O \306 \307\311\225S# \204\205 \304\316\n\"\203h \306\n\311\224T\311\225S#\211\204\205 \304\317\n\"\203u \211\204\205 \304\320\n\"\203\205 \306\n\311\224T\311\225# \321\230?\205\215 \206\222 \n*D\207" [address name from nil string-match "<\\([^@ <>]+[!@][^@ <>]+\\)>" substring 1 "\\b[^@ <>]+[!@][^@ <>]+\\b" 0 "[ ]*<" regexp-quote ">" "^\".*\"$" "(.+)" "()" "(.*" ""] 4 (#$ . 3158)]) #@58 Return the value of the header FIELD of current article. (defalias 'gnus-fetch-field #[(field) "\302\303!\210\212\214\304\305 \210\306 !+\207" [inhibit-point-motion-hooks field require message t nnheader-narrow-to-headers message-fetch-field] 2 (#$ . 4069)]) #@63 Fetch FIELD from the original version of the current article. (defalias 'gnus-fetch-original-field #[(field) "rq\210\302 !)\207" [gnus-original-article-buffer field gnus-fetch-field] 2 (#$ . 4335)]) (defalias 'gnus-goto-colon #[nil "\301\302!\210\303 \304`\305\306$\206 \307\310\306#\206 `b)\207" [eol move-beginning-of-line 1 point-at-eol text-property-any gnus-position t search-forward ":"] 5]) #@475 Search current buffer for text property PROP with VALUE. Behaves like a combination of `text-property-any' and `text-property-search-forward'. Searches for the beginning of a text property `equal' to VALUE. Returns the value of point at the beginning of the matching text property span. If FORWARD-ONLY is non-nil, only search forward from point. If GOTO is non-nil, move point to the beginning of that span instead. If END is non-nil, use the end of the span instead. (defalias 'gnus-text-property-search #[(prop value &optional forward-only goto end) "` \204 eb\210\306\n\307#\211\205@ \203- \310\f!>\204' \311\312\313\fD\"\210\f\314H\202@ \310\f!>\204= \311\312\313\fD\"\210\f\315H\211\205V \203Q b\202V b\210+\207" [start forward-only prop value found end text-property-search-forward equal type-of signal wrong-type-argument prop-match 2 1 cl-struct-prop-match-tags target goto] 5 (#$ . 4746)]) (defalias 'gnus-decode-newsgroups #[(newsgroups group &optional method) "\303\304!\210\206 \305 !\306\307\310\n!\311#)\207" [method group newsgroups require gnus-group gnus-find-method-for-group mapconcat #[(group) "\302\303 \"\"\207" [group method gnus-group-name-decode gnus-group-name-charset] 5] message-tokenize-header ","] 4]) #@64 Delete all text in the current buffer with text property PROP. (defalias 'gnus-remove-text-with-property #[(prop) "e\303\304 \n\"\204 \305 \n\" \2051 \306 d\n\303$ \206! d|\210\205+ \305 \n\"\211\204 \303*\207" [end start prop nil get-text-property next-single-property-change text-property-any] 6 (#$ . 6013)]) #@64 Return a list of text property regions that has property PROP. (defalias 'gnus-find-text-property-region #[(start end prop) "\305\211\306\n\"\204 \307\n\"\n\203F \306\n\"\310\nd$\211\204* \305\211\202 \203= \311 \n\305\223\311 \f\305\223E B\307\n\"\211\204 \237*\207" [value regions start prop end nil get-text-property next-single-property-change text-property-not-all make-marker] 6 (#$ . 6340)]) #@55 Make hierarchical directory name from NEWSGROUP name. (defalias 'gnus-newsgroup-directory-form #[(newsgroup) "\302!\303\304\"\211\205 \305\306 # \205 \307\310 \203$ \305 T\"\202% \311\312#Q*\207" [newsgroup idx gnus-newsgroup-savable-name string-match ":" substring 0 "/" nnheader-replace-chars-in-string 46 47] 7 (#$ . 6765)]) (defalias 'gnus-newsgroup-savable-name #[(group) "\301\302\303#\207" [group nnheader-replace-chars-in-string 47 46] 4]) (defalias 'gnus-string> #[(s1 s2) " \231\206 \230?\207" [s1 s2] 2]) #@198 Return t if first arg string is less than second in lexicographic order. Case is significant if and only if `case-fold-search' is nil. Symbols are also allowed; their print names are used instead. (defalias 'gnus-string< #[(s1 s2) "\203 9\203 \303 !\202 \227\n9\203 \303\n!\202 \n\227\231\207 \n\231\207" [case-fold-search s1 s2 symbol-name] 3 (#$ . 7302)]) (defalias 'gnus-file-newer-than #[(file date) "\302\303 !\3048\262\"\207" [date file time-less-p file-attributes 5] 5]) #@46 Set the keys in PLIST in the current keymap. (defalias 'gnus-local-set-keys '(macro . #[(&rest plist) "\301\302\303DE\207" [plist gnus-define-keys-1 (current-local-map) quote] 4 (#$ . 7797)])) #@37 Define all keys in PLIST in KEYMAP. (defalias 'gnus-define-keys '(macro . #[(keymap &rest plist) "\302\303D\303 DE\207" [keymap plist gnus-define-keys-1 quote] 4 (#$ . 7997)])) #@78 Define all keys in PLIST in KEYMAP without overwriting previous definitions. (defalias 'gnus-define-keys-safe '(macro . #[(keymap &rest plist) "\302\303D\303 D\304BBB\207" [keymap plist gnus-define-keys-1 quote (t)] 4 (#$ . 8181)])) (byte-code "\300\301\302\303#\210\300\304\302\303#\210\300\305\302\303#\207" [put gnus-define-keys lisp-indent-function 1 gnus-define-keys-safe gnus-local-set-keys] 4) #@37 Define all keys in PLIST in KEYMAP. (defalias 'gnus-define-keymap '(macro . #[(keymap &rest plist) "\302\303 DE\207" [keymap plist gnus-define-keys-1 quote] 4 (#$ . 8589)])) (put 'gnus-define-keymap 'lisp-indent-function 1) (defalias 'gnus-define-keys-1 #[(keymap plist &optional safe) "\204 \304\305!\2109\203 J\2029 \306!\2049 <\2039 @\307L\210\310@!\210\311AA@JA@@#\210@J\307\n\205o \n\211A\242\2119\203M J\203Z \312 \"\313=\203g \311 \n\211A\242#\210\202; \n\211A\210\202; )\207" [keymap key plist safe error "Can't set keys in a null keymap" keymapp nil define-prefix-command define-key lookup-key undefined] 5]) (defalias 'gnus-y-or-n-p #[(prompt) "\301!\302\303!\210\207" [prompt y-or-n-p message ""] 3]) (defalias 'gnus-yes-or-no-p #[(prompt) "\301!\302\303!\210\207" [prompt yes-or-no-p message ""] 3]) #@52 Return the integer number of seconds passed today. (defalias 'gnus-seconds-today #[nil "\301\302\211\303#\304@A@\305_\3068\307_#)\207" [now decode-time nil integer + 60 2 3600] 5 (#$ . 9435)]) #@57 Return the integer number of seconds passed this month. (defalias 'gnus-seconds-month #[nil "\301\302\211\303#\304@A@\305_\3068\307_\310\3118S\307\312#$)\207" [now decode-time nil integer + 60 2 3600 * 3 24] 8 (#$ . 9638)]) #@56 Return the integer number of seconds passed this year. (defalias 'gnus-seconds-year #[nil "\303 \304\305\306#\307\310\"\311 @ A@\312_\313 8\314_\315\316\n!S\314\317#$+\207" [current now days current-time decode-time nil integer format-time-string "%j" + 60 2 3600 * string-to-number 24] 8 (#$ . 9873)]) #@88 Convert DATE string to Emacs time. Cache the result as a text property stored in DATE. (defalias 'gnus-date-get-time '(macro . #[(date) "\301\302DC\303BB\207" [date let d ((if (equal "" d) '(0 0) (or (get-text-property 0 'gnus-time d) (let ((time (safe-date-to-time d))) (put-text-property 0 1 'gnus-time time d) time))))] 3 (#$ . 10187)])) #@54 Return a string like DD-MMM from a big messy string. (defalias 'gnus-dd-mmm #[(messy-date) "\3031, \304\305\211\306\232\203 \307\202( \310\311\312 #\206( \313 !\314\311\315\312\n %\210\n))\"0\207\210\316\207" [messy-date d time (error) format-time-string "%d-%b" "" (0 0) get-text-property 0 gnus-time safe-date-to-time put-text-property 1 " - "] 9 (#$ . 10535)]) #@52 Return a string of TIME in YYYYMMDDTHHMMSS format. (defalias 'gnus-time-iso8601 #[(time) "\301\302\"\207" [time format-time-string "%Y%m%dT%H%M%S"] 3 (#$ . 10912)]) (put 'gnus-time-iso8601 'byte-optimizer 'byte-compile-inline-expand) #@38 Convert the DATE to YYYYMMDDTHHMMSS. (defalias 'gnus-date-iso8601 #[(date) "\3031/ \211\304\232\203 \305\202&