403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.71
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/gnus/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp/gnus/gnus-util.elc
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310DD\311\312\313\314\315\316\317&	\210\304\320\306\307\321DD\322\312\313\314\315\316\323&	\210\324\325\326\"\210\324\327\330\"\210\324\331\330\"\210\324\332\333\"\207" [require seq time-date text-property-search custom-declare-variable gnus-completing-read-function funcall function #[0 "\300\207" [gnus-emacs-completing-read] 1 #1=""] "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 #[0 "\302\303\236\205\303	>?\205\303C	\"\207" [completion-styles-alist completion-styles append substring] 3 #1#] "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)
#@258 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.

(fn STRING REGEXP NEWTEXT &optional LITERAL)
(defalias 'gnus-replace-in-string #[1027 "\300\301%\207" [replace-regexp-in-string nil] 10 (#$ . 1227)])
(make-obsolete 'gnus-replace-in-string 'replace-regexp-in-string "26.1")
#@97 Pop to BUFFER, evaluate FORMS, and then return to the original window.

(fn BUFFER &rest FORMS)
(defalias 'gnus-eval-in-buffer-window '(macro . #[385 "\300\301!\300\302!\300\303!\304\305BD\306\307BBDE\310\311\312\311\313	D\314\315DDE\316DFBB\313DEE\207" [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] 16 (#$ . 1673)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put gnus-eval-in-buffer-window lisp-indent-function 1 put edebug-form-spec t] 5)
#@14 

(fn POINT)
(defalias 'gnus-goto-char #[257 "\211\205\211b\207" [] 2 (#$ . 2295)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put gnus-goto-char speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@87 Delete by side effect the first occurrence of ELT as a member of LIST.

(fn ELT LIST)
(defalias 'gnus-delete-first #[514 "\211@\232\203\n\211A\207\211A\203A@\232\204A\262\202A\203*\211AA\241\210\207" [] 5 (#$ . 2527)])
#@20 

(fn &optional N)
(defalias 'gnus-delete-line '(macro . #[256 "\300\301\302\303\206	\304D\305BBE\207" [delete-region (point-at-bol) progn forward-line 1 ((point))] 6 (#$ . 2768)]))
#@286 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.

(fn FROM)
(defalias 'gnus-extract-address-components #[257 "\300\211\301\302\"\203\303\224\303\225O\262\202#\301\304\"\203#\305\224\305\225O\262\211\203M\301\306\307!\310Q\"\203M\305\211\224O\211\262\203M\301\311\"\203M\303\305\225SO\262\204\204\301\312\"\203f\305\224T\305\225SO\211\262\204\204\313\314\"\203t\211\211\262\204\204\301\315\"\203\204\305\224T\305\225O\262\316\230?\205\214\206\221D\207" [nil string-match "<\\([^@ 	<>]+[!@][^@ 	<>]+\\)>" 1 "\\b[^@ 	<>]+[!@][^@ 	<>]+\\b" 0 "[ 	]*<" regexp-quote ">" "^\".*\"$" "(.+)" string-search "()" "(.*" ""] 7 (#$ . 2959)])
#@70 Return the value of the header FIELD of current article.

(fn FIELD)
(defalias 'gnus-fetch-field #[257 "\301\302!\210\212\214\303\304 \210\305!+\207" [inhibit-point-motion-hooks require message t nnheader-narrow-to-headers message-fetch-field] 3 (#$ . 3859)])
#@75 Fetch FIELD from the original version of the current article.

(fn FIELD)
(defalias 'gnus-fetch-original-field #[257 "rq\210\301!)\207" [gnus-original-article-buffer gnus-fetch-field] 3 (#$ . 4127)])
(defalias 'gnus-goto-colon #[0 "\300\301!\210\302 \303`\304\305$\206\306\307\305#\206`b\207" [move-beginning-of-line 1 point-at-eol text-property-any gnus-position t search-forward ":"] 6])
#@524 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.

(fn PROP VALUE &optional FORWARD-ONLY GOTO END)
(defalias 'gnus-text-property-search #[1282 "`\204eb\210\301\302#\211\205>\203,\303!>\204&\304\305\306D\"\210\211\307H\202>\303!>\204;\304\305\306D\"\210\211\310H\211\205M\203I\211b\207\211b\210\207" [cl-struct-prop-match-tags text-property-search-forward equal type-of signal wrong-type-argument prop-match 2 1] 11 (#$ . 4532)])
#@42 

(fn NEWSGROUPS GROUP &optional METHOD)
(defalias 'gnus-decode-newsgroups #[770 "\300\301!\210\211\206\302!\303\304\305\"\306!\307#\207" [require gnus-group gnus-find-method-for-group mapconcat make-closure #[257 "\301\302\300\"\"\207" [V0 gnus-group-name-decode gnus-group-name-charset] 6 "\n\n(fn GROUP)"] message-tokenize-header ","] 8 (#$ . 5414)])
#@75 Delete all text in the current buffer with text property PROP.

(fn PROP)
(defalias 'gnus-remove-text-with-property #[257 "e\300\301\"\204\302\"\262\2050\303d\300$\262\206!d|\210\211\205+\302\"\262\202\207" [nil get-text-property next-single-property-change text-property-any] 8 (#$ . 5782)])
#@85 Return a list of text property regions that has property PROP.

(fn START END PROP)
(defalias 'gnus-find-text-property-region #[771 "\300\211\301\"\204\302\"\262\203H\301\"\262\303d$\262\204+\300\262\202\211\203?\304 \300\223\304 \300\223EB\262\302\"\262\202\237\207" [nil get-text-property next-single-property-change text-property-not-all make-marker] 10 (#$ . 6102)])
#@71 Make hierarchical directory name from NEWSGROUP name.

(fn NEWSGROUP)
(defalias 'gnus-newsgroup-directory-form #[257 "\300!\301\302\"\211\205\303O\205\304\305\203!T\306O\202\"\307\310#Q\207" [gnus-newsgroup-savable-name string-search ":" 0 "/" nnheader-replace-chars-in-string nil 46 47] 9 (#$ . 6512)])
#@14 

(fn GROUP)
(defalias 'gnus-newsgroup-savable-name #[257 "\300\301\302#\207" [nnheader-replace-chars-in-string 47 46] 5 (#$ . 6837)])
#@14 

(fn S1 S2)
(defalias 'gnus-string> #[514 "\231\206	\230?\207" [] 4 (#$ . 6979)])
#@210 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.

(fn S1 S2)
(defalias 'gnus-string< #[514 "\203 9\203\301!\202\2279\203\301!\202\227\231\207\231\207" [case-fold-search symbol-name] 5 (#$ . 7074)])
#@18 

(fn FILE DATE)
(defalias 'gnus-file-newer-than #[514 "\300\301!\3028\262\"\207" [time-less-p file-attributes 5] 7 (#$ . 7444)])
#@64 Set the keys in PLIST in the current keymap.

(fn &rest PLIST)
(defalias 'gnus-local-set-keys '(macro . #[128 "\300\301\302DE\207" [gnus-define-keys-1 (current-local-map) quote] 5 (#$ . 7584)]))
(byte-code "\300\301\302\303#\300\207" [function-put gnus-local-set-keys lisp-indent-function 1] 4)
#@62 Define all keys in PLIST in KEYMAP.

(fn KEYMAP &rest PLIST)
(defalias 'gnus-define-keys '(macro . #[385 "\3009\203\n\202
\301D\301DE\207" [gnus-define-keys-1 quote] 6 (#$ . 7886)]))
(byte-code "\300\301\302\303#\300\207" [function-put gnus-define-keys lisp-indent-function 1] 4)
#@103 Define all keys in PLIST in KEYMAP without overwriting previous definitions.

(fn KEYMAP &rest PLIST)
(defalias 'gnus-define-keys-safe '(macro . #[385 "\300\301D\301D\302BBB\207" [gnus-define-keys-1 quote (t)] 6 (#$ . 8179)]))
(byte-code "\300\301\302\303#\300\207" [function-put gnus-define-keys-safe lisp-indent-function 1] 4)
#@62 Define all keys in PLIST in KEYMAP.

(fn KEYMAP &rest PLIST)
(defalias 'gnus-define-keymap '(macro . #[385 "\300\301DE\207" [gnus-define-keys-1 quote] 6 (#$ . 8516)]))
(byte-code "\300\301\302\303#\300\207" [function-put gnus-define-keymap lisp-indent-function 1] 4)
#@36 

(fn KEYMAP PLIST &optional SAFE)
(defalias 'gnus-define-keys-1 #[770 "\204\300\301!\2109\203\300\302!\210\202;\303!\204;<\203;@\304L\210\305@!\210\306AA@JA@@#\210@J\262\304\205s\211A\262\242\211\2629\203Q\211J\262\203^\307\"\310=\203l\306\211A\262\242#\210\202<A\262\202<\207" [error "Can't set keys in a null keymap" "First arg should be a keymap object" keymapp nil define-prefix-command define-key lookup-key undefined] 9 (#$ . 8791)])
#@15 

(fn PROMPT)
(defalias 'gnus-y-or-n-p #[257 "\300!\301\302!\210\207" [y-or-n-p message ""] 4 (#$ . 9276)])
#@15 

(fn PROMPT)
(defalias 'gnus-yes-or-no-p #[257 "\300!\301\302!\210\207" [yes-or-no-p message ""] 4 (#$ . 9391)])
#@52 Return the integer number of seconds passed today.
(defalias 'gnus-seconds-today #[0 "\300\301\211\302#\211@A@\303_\\\3048\305_\\\207" [decode-time nil integer 60 2 3600] 4 (#$ . 9512)])
#@57 Return the integer number of seconds passed this month.
(defalias 'gnus-seconds-month #[0 "\300\301\211\302#\303@A@\304_\3058\306_\3078S\306_\310_$\207" [decode-time nil integer + 60 2 3600 3 24] 7 (#$ . 9707)])
#@56 Return the integer number of seconds passed this year.
(defalias 'gnus-seconds-year #[0 "\300 \301\302\303#\304\305\"\306@A@\307_\3108\311_\312!S\311_\313_$\207" [current-time decode-time nil integer format-time-string "%j" + 60 2 3600 string-to-number 24] 9 (#$ . 9929)])
#@99 Convert DATE string to Emacs time.
Cache the result as a text property stored in DATE.

(fn DATE)
(defalias 'gnus-date-get-time '(macro . #[257 "\300\301DC\302BB\207" [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))))] 4 (#$ . 10214)]))
#@71 Return a string like DD-MMM from a big messy string.

(fn MESSY-DATE)
(defalias 'gnus-dd-mmm #[257 "\3001*\301\302\303\232\203\304\202'\305\306\307#\206'\310!\311\306\312\307%\210\211\262\"0\207\210\313\207" [(error) format-time-string "%d-%b" "" (0 0) get-text-property 0 gnus-time safe-date-to-time put-text-property 1 "  -   "] 10 (#$ . 10565)])
#@63 Return a string of TIME in YYYYMMDDTHHMMSS format.

(fn TIME)
(defalias 'gnus-time-iso8601 #[257 "\300\301\"\207" [format-time-string "%Y%m%dT%H%M%S"] 4 (#$ . 10932)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put gnus-time-iso8601 speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@49 Convert the DATE to YYYYMMDDTHHMMSS.

(fn DATE)
(defalias 'gnus-date-iso8601 #[257 "\3001-\211\301\232\203\302\202%\303\304\305#\206%\306!\307\304\310\305%\210\211\262\311\312\"\2620\207\210\301\207" [(error) "" (0 0) get-text-property 0 gnus-time safe-date-to-time put-text-property 1 format-time-string "%Y%m%dT%H%M%S"] 8 (#$ . 11250)])
#@41 Quote all "%"'s in STRING.

(fn STRING)
(defalias 'gnus-mode-string-quote #[257 "\300\301\302#\207" [string-replace "%" "%%"] 5 (#$ . 11608)])
#@69 Make a hash table of SIZE, testing on `equal'.

(fn &optional SIZE)
(defalias 'gnus-make-hashtable #[256 "\300\301\206\302\303\304$\207" [make-hash-table :size 300 :test equal] 6 (#$ . 11758)])
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\312\313DD\314\315\316\317\320\321\322&	\210\307\323\311\312\324DD\325\315\326\317\327\321\330&	\207" [function-put gnus-make-hashtable speed -1 put byte-optimizer byte-compile-inline-expand custom-declare-variable gnus-verbose funcall function #[0 "\300\207" [6] 1 #1=""] "Integer that says how verbose Gnus should be.\nThe higher the number, the more messages Gnus will flash to say what\nit's doing.  At zero, Gnus will be totally mute; at five, Gnus will\ndisplay most important messages; and at ten, Gnus will keep on\njabbering all the time." :version "24.1" :group gnus-start :type integer gnus-add-timestamp-to-message #[0 "\300\207" [nil] 1 #1#] "Non-nil means add timestamps to messages that Gnus issues.\nIf it is `log', add timestamps to only the messages that go into\nthe \"*Messages*\" buffer.  If it is neither nil nor `log', add\ntimestamps not only to log messages but also to the ones\ndisplayed in the echo area." "23.1" gnus-various (choice :format "%{%t%}:\n %[Value Menu%] %v" (const :tag "Logged messages only" log) (sexp :tag "All messages" :match (lambda (widget value) value) :value t) (const :tag "No timestamp" nil))] 11)
(defvar gnus-action-message-log nil)
#@189 Display message with timestamp.  Arguments are the same as `message'.
The `gnus-add-timestamp-to-message' variable controls how to add
timestamp to message.

(fn FORMAT-STRING &rest ARGS)
(defalias 'gnus-message-with-timestamp #[385 "\303\211\304=\203I\303\305\306#)\262	\203G	\307V\203GG\307U\204G\310 \262r\311 q\210db\210\312\313\314\"\315\261\210	[y\210e`|\210)db\210)\207\203}\204U\203c\305\316#\262G\307U\203m\205h\306\303!\210\207\310 \262\306\317\313\314\"P\"\210\207\305\306#\207" [gnus-add-timestamp-to-message message-log-max inhibit-read-only nil log apply message 0 current-time messages-buffer t format-time-string "%Y%m%dT%H%M%S.%3N> " "\n" format-message "%s"] 9 (#$ . 13212)])
#@282 If LEVEL is lower than `gnus-verbose' print ARGS using `message'.

Guideline for numbers:
1 - error messages, 3 - non-serious error messages, 5 - messages for things
that take a long time, 7 - not very important messages on stuff, 9 - messages
inside loops.

(fn LEVEL &rest ARGS)
(defalias 'gnus-message #[385 "X\203%	\203\303\304\"\202\303\305\"\n:\203$\306X\203$\211\nB\207\303\307\"\207" [gnus-verbose gnus-add-timestamp-to-message gnus-action-message-log apply gnus-message-with-timestamp message 3 format-message] 5 (#$ . 13949)])
(defalias 'gnus-final-warning #[0 ":\205\301\302\"\211\205\303\304\305\306\307#\"\207" [gnus-action-message-log delete nil message "Warning: %s" mapconcat identity "; "] 6])
#@118 Beep an error if LEVEL is equal to or less than `gnus-verbose'.
ARGS are passed to `message'.

(fn LEVEL &rest ARGS)
(defalias 'gnus-error #[385 "\301!X\203+\302\303\"\210\304 \210\305\306!\203*\307\301!Z_\211\262\310U\204*\311!\210\210\305\207" [gnus-verbose floor apply message ding nil floatp 10 0 sit-for] 7 (#$ . 14689)])
#@62 Return a list of Message-IDs in REFERENCES.

(fn REFERENCES)
(defalias 'gnus-split-references #[257 "\300\301\206\302!\303\304\305#\203!\300\224\300\225\211\262OB\262\202	\211\237\207" [0 mail-header-remove-comments "" nil string-match "<[^<]+[^< 	]"] 8 (#$ . 15033)])
#@127 Return a list of Message-IDs in REFERENCES (in In-Reply-To
format), trimmed to only contain the Message-IDs.

(fn REFERENCES)
(defalias 'gnus-extract-references #[257 "\300!\301\211\203!\211@\302\303\"\203\304\305\"B\262A\266\202\202\210\207" [gnus-split-references nil string-match "<[^<>]+>" match-string 0] 8 (#$ . 15320)])
#@111 Return the last Message-ID in REFERENCES.
If N, return the Nth ancestor instead.

(fn REFERENCES &optional N)
(defalias 'gnus-parent-id #[513 "\205VG\300U?\205V\211\203F\300\301\206\302!\303\304\305#\2032\300\224\300\225\211\262OB\262\202\211\237\266\204\233\203C\211A\262\2026\211@\207\301!\304\306\"\205T\307\310\"\262\207" [0 mail-header-remove-comments "" nil string-match "<[^<]+[^< 	]" "\\(<[^<]+>\\)[ 	]*\\'" match-string 1] 10 (#$ . 15666)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put gnus-parent-id speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@74 If BUFFER names a live buffer, return its object; else nil.

(fn BUFFER)
(defalias 'gnus-buffer-live-p #[257 "\211\205\300\301!\211\262!\205\211\207" [buffer-live-p get-buffer] 4 (#$ . 16290)])
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\301\311#\210\312\310\301\313#\207" [function-put gnus-buffer-live-p speed -1 put byte-optimizer byte-compile-inline-expand defalias gnus-buffer-exists-p nil make-obsolete "27.1"] 5)
#@43 Recenter the current buffer horizontally.
(defalias 'gnus-horizontal-recenter #[0 "i\300 \301\245W\203\302\303p\304\"\305\"\207`\306\303p\304\"!\305\205c\307 b\210m\2049`W\2039\310\210\211i]\262\311y\210\202!b\210\211\300 V\203Z\302\303p\304\"i\300 \312\245Z\301\300 Z\\^\"\210\202b\302\303p\304\"\305\"\210\211\207" [window-width 2 set-window-hscroll gnus-get-buffer-window t 0 window-end window-start nil 1 3] 9 (#$ . 16737)])
#@44 Get the next event.

(fn &optional PROMPT)
(defalias 'gnus-read-event-char #[256 "\300!\211\247\205	\211B\207" [read-event] 4 (#$ . 17186)])
#@42 Copy FILE to TO.

(fn FILE &optional TO)
(defalias 'gnus-copy-file #[513 "\211\204\n\301\302\"\262\303\"\207" [default-directory read-file-name "Copy file to: " copy-file] 5 (#$ . 17336) (byte-code "\301\302\"\301\303\"D\207" [default-directory read-file-name "Copy file: " "Copy file to: "] 4)])
(defvar gnus-work-buffer " *gnus work*")
#@42 Put point in the empty Gnus work buffer.
(defalias 'gnus-set-work-buffer #[0 "\301!\203\fq\210\302 \207\303!q\210\304 \210\305 \207" [gnus-work-buffer get-buffer erase-buffer gnus-get-buffer-create kill-all-local-variables mm-enable-multibyte] 2 (#$ . 17687)])
#@56 Find the real name of a foreign newsgroup.

(fn GROUP)
(defalias 'gnus-group-real-name '(macro . #[257 "\300\301DC\302BB\207" [let gname ((if (string-match "^[^:]+:" gname) (substring gname (match-end 0)) gname))] 4 (#$ . 17958)]))
#@140 Find the server name of a foreign newsgroup.
For example, (gnus-group-server "nnimap+yxa:INBOX.foo") would
yield "nnimap:yxa".

(fn GROUP)
(defalias 'gnus-group-server '(macro . #[257 "\300\301DC\302BB\207" [let gname ((if (string-match "^\\([^:+]+\\)\\(?:\\+\\([^:]*\\)\\)?:" gname) (format "%s:%s" (match-string 1 gname) (or (match-string 2 gname) "")) (format "%s:%s" (car gnus-select-method) (cadr gnus-select-method))))] 4 (#$ . 18198)]))
#@78 Return a composite sort condition based on the functions in FUNS.

(fn FUNS)
(defalias 'gnus-make-sort-function #[257 "\300!\203\207\211\204\f\207\211A\204\211@<\203\"\301\302\303\304\305!!E!\207\211@\207" [functionp gnus-byte-compile lambda (t1 t2) gnus-make-sort-function-1 reverse] 7 (#$ . 18649)])
#@78 Return a composite sort condition based on the functions in FUNS.

(fn FUNS)
(defalias 'gnus-make-sort-function-1 #[257 "\211@\300\301:\203)@\302=\203A@\262\301\262\300\262\202)\303!\204)\304\305\"\210A\203D\306E\307\302ED\310A!EE\207E\207" [t1 t2 not functionp error "Invalid sort spec: %s" or and gnus-make-sort-function-1] 11 (#$ . 18965)])
#@56 Turn off edit menu in `gnus-TYPE-mode-map'.

(fn TYPE)
(defalias 'gnus-turn-off-edit-menu #[257 "\300\301\302\303\"!J\304\305#\207" [define-key intern format "gnus-%s-mode-map" [menu-bar edit] undefined] 6 (#$ . 19343)])
#@331 Bind print-* variables and evaluate FORMS.
This macro is used with `prin1', `pp', etc. in order to ensure
printed Lisp objects are loadable.  Bind `print-quoted' to t, and
`print-escape-multibyte', `print-escape-newlines',
`print-escape-nonascii', `print-length', `print-level' and
`print-string-length' to nil.

(fn &rest FORMS)
(defalias 'gnus-bind-print-variables '(macro . #[128 "\300\301BB\207" [let ((print-quoted t) print-escape-multibyte print-escape-newlines print-escape-nonascii print-length print-level print-string-length)] 4 (#$ . 19572)]))
#@165 Use `prin1' on FORM in the current buffer.
Bind `print-quoted' to t, and `print-length' and `print-level' to
nil.  See also `gnus-bind-print-variables'.

(fn FORM)
(defalias 'gnus-prin1 #[257 "\306\307\211\211\211\211\211	\310p\".\207" [print-string-length print-level print-length print-escape-nonascii print-escape-newlines print-escape-multibyte t nil prin1 print-quoted] 8 (#$ . 20135)])
#@143 The same as `prin1'.
Bind `print-quoted' to t, and `print-length' and `print-level' to
nil.  See also `gnus-bind-print-variables'.

(fn FORM)
(defalias 'gnus-prin1-to-string #[257 "\306\307\211\211\211\211\211	\310!.\207" [print-string-length print-level print-length print-escape-nonascii print-escape-newlines print-escape-multibyte t nil prin1-to-string print-quoted] 8 (#$ . 20543)])
#@179 Use `pp' on FORM in the current buffer.
Bind `print-quoted' to t, and `print-length' and `print-level' to
nil.  See also `gnus-bind-print-variables'.

(fn FORM &optional STREAM)
(defalias 'gnus-pp #[513 "\306\307\211\211\211\211\211	\310\206p\".\207" [print-string-length print-level print-length print-escape-nonascii print-escape-newlines print-escape-multibyte t nil pp print-quoted] 9 (#$ . 20947)])
#@150 The same as `pp-to-string'.
Bind `print-quoted' to t, and `print-length' and `print-level' to
nil.  See also `gnus-bind-print-variables'.

(fn FORM)
(defalias 'gnus-pp-to-string #[257 "\306\307\211\211\211\211\211	\310!.\207" [print-string-length print-level print-length print-escape-nonascii print-escape-newlines print-escape-multibyte t nil pp-to-string print-quoted] 8 (#$ . 21370)])
#@75 Make DIRECTORY (and all its parents) if it doesn't exist.

(fn DIRECTORY)
(defalias 'gnus-make-directory #[257 "\302\303!\210\211\203\304!\204\305\306\"\210)\306\207" [nnmail-pathname-coding-system file-name-coding-system require nnmail file-exists-p make-directory t] 4 (#$ . 21774)])
#@57 Write the current buffer's contents to FILE.

(fn FILE)
(defalias 'gnus-write-buffer #[257 "\302\303!\210\304\305!!\210\306ed\307\310%)\207" [nnmail-pathname-coding-system file-name-coding-system require nnmail gnus-make-directory file-name-directory write-region nil quietly] 7 (#$ . 22074)])
#@38 Delete FILE if it exists.

(fn FILE)
(defalias 'gnus-delete-file #[257 "\300!\205	\301!\207" [file-exists-p delete-file] 3 (#$ . 22378)])
#@48 Remove duplicate entries from LIST.

(fn LIST)
(defalias 'gnus-delete-duplicates #[257 "\300\203@\235\204@B\262A\262\202\211\237\207" [nil] 4 (#$ . 22525)])
#@122 Delete files in DIRECTORY.  Subdirectories remain.
If there's no subdirectory, delete DIRECTORY as well.

(fn DIRECTORY)
(defalias 'gnus-delete-directory #[257 "\301!\2059\302\303#\304\211\203/\211A\262\242\262\305!@\303=\203(\303\262\202
\306!\210\202
\211?\2057\307!\266\203\207" [directory-files-no-dot-files-regexp file-directory-p directory-files t nil file-attributes delete-file delete-directory] 6 (#$ . 22703)])
#@56 Return STRING stripped of all whitespace.

(fn STRING)
(defalias 'gnus-strip-whitespace #[257 "\300\301\"\203\302\303\304\211$\262\202\207" [string-match "[
\n	 ]+" replace-match "" t] 6 (#$ . 23147)])
#@105 Like `put-text-property', but don't put this prop on any newlines in the region.

(fn BEG END PROP VAL)
(defalias 'gnus-put-text-property-excluding-newlines #[1028 "\301 \302\303\"\216\212\214b\210\304\305#\203\"\306\307\224$\210`\262\202\f\306`$+\207" [gnus-emphasize-whitespace-regexp match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] re-search-forward move put-text-property 0] 10 (#$ . 23363)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put gnus-put-text-property-excluding-newlines speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@105 Like `put-text-property', but don't put this prop on any newlines in the region.

(fn BEG END PROP VAL)
(defalias 'gnus-put-overlay-excluding-newlines #[1028 "\301 \302\303\"\216\212\214b\210\304\305#\203%\306\307\310\224\"#\210`\262\202\f\306\307`\"#+\207" [gnus-emphasize-whitespace-regexp match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] re-search-forward move overlay-put make-overlay 0] 9 (#$ . 23981)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put gnus-put-overlay-excluding-newlines speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@184 The same as `put-text-property', except where `gnus-face' is set.
If so, and PROP is `face', set the second element of its value to VAL.
Otherwise, do nothing.

(fn BEG END PROP VAL)
(defalias 'gnus-put-text-property-excluding-characters-with-faces #[1028 "W\2055\300\301\302$\303\304\"\203)\301=\2030\303\301\"A\206$\305\240\210\2020\306$\210\262\202\207" [next-single-property-change face nil get-text-property gnus-face default put-text-property] 10 (#$ . 24606)])
#@178 The same as `get-text-property', except where `gnus-face' is set.
If so, and PROP is `face', return the second element of its value.
Otherwise, return the value.

(fn POS PROP)
(defalias 'gnus-get-text-property-excluding-characters-with-faces #[514 "\300\"\300\301\"\203\302=\203\211A@\207\300\"\207" [get-text-property gnus-face face] 6 (#$ . 25102)])
#@52 Return a list of faces at POSITION.

(fn POSITION)
(defalias 'gnus-faces-at '(macro . #[257 "\300\301DC\302BB\207" [let pos ((delq nil (cons (get-text-property pos 'face) (mapcar (lambda (overlay) (overlay-get overlay 'face)) (overlays-at pos)))))] 4 (#$ . 25471)]))
#@70 If t, certain operations will be protected from interruption by C-g.
(defvar gnus-atomic-be-safe t (#$ . 25745))
#@475 Evaluate FORMS atomically, which means to protect the evaluation
from being interrupted by the user.  An error from the forms themselves
will return without finishing the operation.  Since interrupts from
the user are disabled, it is recommended that only the most minimal
operations are performed by FORMS.  If you wish to assign many
complicated values atomically, compute the results into temporary
variables and then do only the assignment atomically.

(fn &rest FORMS)
(defalias 'gnus-atomic-progn '(macro . #[128 "\300\301BB\207" [let ((inhibit-quit gnus-atomic-be-safe))] 4 (#$ . 25865)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\310!\210\311\312\313\"\207" [function-put gnus-atomic-progn lisp-indent-function 0 put edebug-form-spec t require rmail autoload rmail-update-summary "rmailsum"] 5)
#@199 Append the current article to an Rmail file named FILENAME.
In Emacs 22 this writes Babyl format; in Emacs 23 it writes mbox unless
FILENAME exists and is Babyl format.

(fn FILENAME &optional ASK)
(defalias 'gnus-output-to-rmail #[513 "\306\307!\210\306\310!\210\306\311!\210\312!\262\313\300!\203\202p\314\315!\316\317!\212\320!\204n\321!\203:\322!\262\202n\203H\323\324\325Q!\203j\326!r\211q\210\316\317!\203X\317 \210\327\n\330!\210+\331!\266\202n\332\333!\210q\210\334 \210\335!\210\211\203\202\336 \210\202\254eb\210\337\340!\203\221\341y\210\202\230\342\343 \344\261\210\327\345\346\327\347#\203\253\350 \210\351c\210\202\232)\320!\211\204\344\204\324\327=db\210\352u\210\337\353!\204\323db\210n\204\320\344c\210\344c\210)>?\354ed#\210)\210\202s\211q\210\327\313\355!\205\360\355J=\211\203\204\356 \210\357 \210~\210\204db\210n\204\344c\210\344c\210dd}\210\335!\210\211\203m\2031eb\210~\210\360\361!\210`d}\210\362\347!\210\363 \203i@\364 \203Y\365 \212\366\367\"\216\370A!\210@\371 \210+\210\202erAq\210\211@\371 \210*\372 \266\373!\210\374 \210)\266)\331!\207" [rmail-default-rmail-file rmail-default-file mm-text-coding-system coding-system-for-write require-final-newline case-fold-search require rmail mm-util nnmail expand-file-name boundp gnus-get-buffer-create " *Gnus-output*" fboundp rmail-insert-rmail-file-header get-file-buffer file-exists-p mail-file-babyl-p gnus-yes-or-no-p "\"" "\" does not exist, create it? " create-file-buffer nil gnus-write-buffer kill-buffer error "Output file does not exist" erase-buffer insert-buffer-substring gnus-convert-article-to-rmail looking-at "From " 1 "From nobody " current-time-string "\n" re-search-forward "^From " t beginning-of-line ">" -2 "\n\n" mm-append-to-file rmail-current-message rmail-swap-buffers-maybe rmail-maybe-set-message-counters search-backward "\n" rmail-count-new-messages rmail-summary-exists rmail-summary-displayed selected-window make-closure #[0 "\301\300!\207" [V0 select-window] 2] rmail-pop-to-buffer rmail-update-summary rmail-maybe-display-summary rmail-show-message save-buffer buffer-read-only nnmail-pathname-coding-system file-name-coding-system rmail-total-messages rmail-summary-buffer] 13 (#$ . 26690)])
#@88 Append the current article to a mail file named FILENAME.

(fn FILENAME &optional ASK)
(defalias 'gnus-output-to-mail #[513 "\306\307!\210\310!\262p\311\312!\212\313!\204C\314!\204C\203'\315\316\317Q!\203?\320!r\211q\210\321\322!\210+\323!\266\202C\324\325!\210\211q\210\326 \210\327!\210eb\210\330\331!\203\\\332y\210\202c\333\334 \335\261\210\321\336\337\321\340#\203v\341 \210\342c\210\202e)\313!\211\204\254\321\212db\210\343u\210\330\344!\204\232db\210n\204\227\335c\210\335c\210db\210
&\345ed#\210+\210\202\304\211q\210\321db\210m\204\273\335c\210\335c\210\327!\210)\210)\323!\207" [mm-text-coding-system coding-system-for-write require-final-newline case-fold-search buffer-read-only nnmail-pathname-coding-system require nnmail expand-file-name gnus-get-buffer-create " *Gnus-output*" get-file-buffer file-exists-p gnus-y-or-n-p "\"" "\" does not exist, create it? " create-file-buffer nil gnus-write-buffer kill-buffer error "Output file does not exist" erase-buffer insert-buffer-substring looking-at "From " 1 "From nobody " current-time-string "\n" re-search-forward "^From " t beginning-of-line ">" -2 "\n\n" mm-append-to-file file-name-coding-system] 9 (#$ . 28985)])
#@60 Convert article in current buffer to Rmail message format.
(defalias 'gnus-convert-article-to-rmail #[0 "\301eb\210\302c\210\303\304\301\305#\203\306\307\305\211#\210\202db\210\310c)\207" [buffer-read-only nil "\f\n0, unseen,,\n*** EOOH ***\n" search-forward "\n" t replace-match "\n^_" ""] 4 (#$ . 30211)])
#@126 Apply the result of the first function in FUNS to the second, and so on.
ARG is passed to the first function.

(fn FUNS ARG)
(defalias 'gnus-map-function #[514 "\203\211A\262\242!\262\202\207" [] 4 (#$ . 30533)])
#@79 Does the same as `run-hooks', but saves the current buffer.

(fn &rest FUNCS)
(defalias 'gnus-run-hooks #[128 "r\300\301\")\207" [apply run-hooks] 4 (#$ . 30761)])
#@92 Does the same as `run-hook-with-args', but saves the current buffer.

(fn HOOK &rest ARGS)
(defalias 'gnus-run-hook-with-args #[385 "r\300\301#)\207" [apply run-hook-with-args] 6 (#$ . 30932)])
#@68 Run `run-mode-hooks', saving the current buffer.

(fn &rest FUNCS)
(defalias 'gnus-run-mode-hooks #[128 "r\300\301\")\207" [apply run-mode-hooks] 4 (#$ . 31134)])
#@68 Splice EXP's value (a list of Lisp forms) into the code.

(fn EXP)
(defalias 'gnus--\,@ '(macro . #[257 "\300\301\302\"B\207" [progn eval t] 5 (#$ . 31304)]))
(put 'gnus--\,@ 'edebug-form-spec t)
#@37 Say whether Gnus is running or not.
(defalias 'gnus-alive-p #[0 "\302\300!\205\303!\205rq\210	)\304=\207" [gnus-group-buffer major-mode boundp get-buffer gnus-group-mode] 2 (#$ . 31507)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\300\306\307\303#\210\304\306\307\305#\207" [defalias gnus-remove-if seq-remove nil make-obsolete "27.1" gnus-remove-if-not seq-filter] 4)
#@82 Find if a WORD matches any regular expression in the given LIST.

(fn WORD LIST)
(defalias 'gnus-grep-in-list #[514 "\205)\211\205)\3002)\211\211\205&\211@\301\"\203\302\300\"\210A\266\202\202
\2620\207" [found string-match throw] 7 (#$ . 31900)])
#@67 Modify ALIST to be without KEY.

(fn KEY ALIST &optional ASSOC-P)
(defalias 'gnus-alist-pull '(macro . #[770 "9\204\n\300\301\"\210\211\203\302\202\303\304\305EEE\207" [error "Not a symbol: %s" assoc assq setq delq] 10 (#$ . 32167)]))
#@81 Return a regexp that matches a whole line, if RE matches a part of it.

(fn RE)
(defalias 'gnus-globalify-regexp #[257 "\300\301\"?\205	\302\300\303\"?\205\304Q\207" [string-match "^\\^" "^.*" "\\$$" ".*$"] 6 (#$ . 32423)])
#@73 Set the window start to POINT, or (point) if nil.

(fn &optional POINT)
(defalias 'gnus-set-window-start #[256 "\300p\301\"\211\205\302\206`\"\207" [gnus-get-buffer-window t set-window-start] 5 (#$ . 32659)])
#@12 

(fn B E)
(defalias 'gnus-annotation-in-region-p #[514 "U\203\300\301!>A@\302=\207\303\300\302$\207" [gnus-undeletable text-properties-at t text-property-any] 7 (#$ . 32880)])
#@72 Return non-nil if any one of ELEMENTS is non-nil.

(fn &rest ELEMENTS)
(defalias 'gnus-or #[128 "\300\301\"\207" [seq-drop-while null] 4 (#$ . 33070)])
#@66 Return non-nil if all ELEMENTS are non-nil.

(fn &rest ELEMENTS)
(defalias 'gnus-and #[128 "\300>?\207" [nil] 3 (#$ . 33229)])
#@41 

(fn FILE HASHTB &optional FULL-NAMES)
(defalias 'gnus-write-active-file #[770 "\302\303\304\"\305\306\"\216r\211q\210\307\305\310\"\"\210db\210\311\312\313\304#\205)\314\315!\210\202)rq\210\316\313\211\313\317%\210*\262)\207" [nnmail-active-file-coding-system coding-system-for-write generate-new-buffer " *temp file*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] maphash #[514 "\211\205)\301\302\300\203\202\303\304\"\203\305\225\306O\202A\206%@@$c\207" [V0 format "%S %d %d y\n" string-match "^[^:]+:" 0 nil] 7 "\n\n(fn GROUP ACTIVE)"] search-backward "\\." nil delete-char 1 write-region 0] 11 (#$ . 33363)])
#@24 

(fn FILE &rest BODY)
(defalias 'gnus-with-output-to-file '(macro . #[385 "\300\301!\300\302!\300\303!\300\304!\305\306B\307\310BBD\311B\312B\313\314\315\316\f\317BBB\320\321
\322\323DEE\324\325\326\327BBBBB\322\330\331BBBBEEFD\257\332\333\334\335BB\336\337\325\340
\330
F\326\f\341BBBBBEEC\"BB\207" [make-symbol "output-buffer" "output-buffer-size" "output-buffer-length" "output-buffer-append" let* (131072) make-string (0) (0) (nil) standard-output lambda (c) aset (c) if = setq 1+ progn write-region nil ('no-msg) 0 (t) append when > (0) let ((coding-system-for-write 'no-conversion)) substring ('no-msg)] 24 (#$ . 34049)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put gnus-with-output-to-file lisp-indent-function 1 put edebug-form-spec t] 5)
#@129 Like `add-text-properties', only applied on where PROPERTY is VALUE.

(fn PROPERTY VALUE START END PROPERTIES &optional OBJECT)
(defalias 'gnus-add-text-properties-when #[1541 "\300\203-W\203-\301		$\211\262\203-\302$\210\303		$\262\202\2057\302$\207" [nil text-property-not-all add-text-properties text-property-any] 12 (#$ . 34861)])
#@132 Like `remove-text-properties', only applied on where PROPERTY is VALUE.

(fn PROPERTY VALUE START END PROPERTIES &optional OBJECT)
(defalias 'gnus-remove-text-properties-when #[1541 "\300\203-W\203-\301		$\211\262\203-\302$\210\303		$\262\202\2038\302$\210\304\207" [nil text-property-not-all remove-text-properties text-property-any t] 12 (#$ . 35232)])
#@15 

(fn STRING)
(defalias 'gnus-string-remove-all-properties #[257 "\3001\301\302G\303$\210\2110\207\210\207" [(error) set-text-properties 0 nil] 6 (#$ . 35621)])
#@71 Like `string-equal', except it compares case-insensitively.

(fn X Y)
(defalias 'gnus-string-equal #[514 "GGU\205\230\206\227\227\230\207" [] 4 (#$ . 35792)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable gnus-use-byte-compile funcall function #[0 "\300\207" [t] 1 ""] "If non-nil, byte-compile crucial run-time code." :type boolean :version "22.1" :group gnus-various] 10)
#@69 Byte-compile FORM if `gnus-use-byte-compile' is non-nil.

(fn FORM)
(defalias 'gnus-byte-compile #[257 "\203\302\303!)\207\207" [gnus-use-byte-compile byte-compile-warnings (unresolved callargs redefine) byte-compile] 3 (#$ . 36231)])
#@325 Delete by side effect any elements of LIST whose car is `equal' to KEY.
The modified LIST is returned.  If the first member
of LIST has a car that is `equal' to KEY, there is no way to remove it
by side effect; therefore, write `(setq foo (gnus-remassoc key foo))' to be
sure of changing the value of `foo'.

(fn KEY ALIST)
(defalias 'gnus-remassoc #[514 "\211\205@@\232\203\211A\207\211\300A\"\241\210\211\207" [gnus-remassoc] 6 (#$ . 36478)])
#@24 

(fn KEY VALUE ALIST)
(defalias 'gnus-update-alist-soft #[771 "\203
B\300\"B\207\300\"\207" [gnus-remassoc] 7 (#$ . 36937)])
#@56 Create a command that will go to info NODE.

(fn NODE)
(defalias 'gnus-create-info-command #[257 "\300\301\302\303\304!\305\"\306\307\310\"\311&\207" [make-byte-code 0 "\302\300!\210p\303\302!\207" vconcat vector [gnus-info-buffer info gnus-configure-windows] 2 format "Enter the info system at node %s." nil] 9 (#$ . 37077)])
#@19 

(fn &rest ARGS)
(defalias 'gnus-not-ignore #[128 "\300\207" [t] 2 (#$ . 37415)])
#@141 The regexp of directory separator character.
If you find some problem with the directory separator character, try
"[/\\]" for some systems.
(defvar gnus-directory-sep-char-regexp "/" (#$ . 37505))
#@10 

(fn X)
(defalias 'gnus-url-unhex #[257 "\211\300V\203\211\301Y\203\302\301Z\\\207\302\303Z\\\207\211\304Z\207" [57 97 10 65 48] 4 (#$ . 37708)])
#@253 Remove %XX, embedded spaces, etc in a url.
If optional second argument ALLOW-NEWLINES is non-nil, then allow the
decoding of carriage returns and line feeds in the string, which is normally
forbidden in URL encoding.

(fn STR &optional ALLOW-NEWLINES)
(defalias 'gnus-url-unhex-string #[513 "\301\302\303\304\"\203Q\305\224\306T\234!\307_\306\310\\\234!\\\305O\203/\311!\202B\312U\204;\313U\203?\314\202B\311!Q\262\305\225\315O\262\266\202\211P\262)\207" [case-fold-search "" t string-match "%[0-9a-f][0-9a-f]" 0 gnus-url-unhex 16 2 char-to-string 10 13 " " nil] 10 (#$ . 37868)])
#@198 Transform SPEC into a function that can be called.
SPEC is a predicate specifier that contains stuff like `or', `and',
`not', lists and functions.  The functions all take one parameter.

(fn SPEC)
(defalias 'gnus-make-predicate #[257 "\300\301\302!E\207" [lambda (elem) gnus-make-predicate-1] 5 (#$ . 38488)])
#@13 

(fn SPEC)
(defalias 'gnus-make-predicate-1 #[257 "\2119\203	\211\300B\207\211<\205\"\211@\301>\203\211@\302\303A\"B\207\304\305\"\207" [(elem) (or and not) mapcar gnus-make-predicate-1 error "Invalid predicate specifier: %s"] 5 (#$ . 38805)])
#@113 Call `gnus-completing-read-function'.

(fn PROMPT COLLECTION &optional REQUIRE-MATCH INITIAL-INPUT HISTORY DEF)
(defalias 'gnus-completing-read #[1538 "\205\301\302Q\303Q&\207" [gnus-completing-read-function " (default " ")" ": "] 13 (#$ . 39063)])
#@117 Call standard `completing-read-function'.

(fn PROMPT COLLECTION &optional REQUIRE-MATCH INITIAL-INPUT HISTORY DEF)
(defalias 'gnus-emacs-completing-read #[1538 "\302\303&)\207" [gnus-completion-styles completion-styles completing-read nil] 14 (#$ . 39337)])
(autoload 'ido-completing-read "ido")
#@103 Call `ido-completing-read'.

(fn PROMPT COLLECTION &optional REQUIRE-MATCH INITIAL-INPUT HISTORY DEF)
(defalias 'gnus-ido-completing-read #[1538 "\300\301&\207" [ido-completing-read nil] 14 (#$ . 39656)])
#@118 `iswitchb' based completing-read function.

(fn PROMPT COLLECTION &optional REQUIRE-MATCH INITIAL-INPUT HISTORY DEF)
(defalias 'gnus-iswitchb-completing-read #[1538 "\302\303!\210\304\305$\306\216	\204\307\310\311\"\210\312#*\207" [iswitchb-make-buflist-hook iswitchb-mode require iswitchb make-closure #[0 "\304\301\205\301C\302J\300#\305\211\203*\211@\306\"\203\202!\211B\262A\266\202\202
\210\211\237\266\202\211\207" [V0 V1 V2 iswitchb-temp-buflist append nil memql] 7] #[0 "\206\301\302\303\"\207" [iswitchb-mode remove-hook minibuffer-setup-hook iswitchb-minibuffer-setup] 3] add-hook minibuffer-setup-hook iswitchb-minibuffer-setup iswitchb-read-buffer] 11 (#$ . 39881)])
#@79 Allow continuing onto the next line even if an error occurs.

(fn &rest BODY)
(defalias 'gnus-parse-without-error '(macro . #[128 "\300\301\302\303\304\305\306\"B\307BBBE\207" [while (not (eobp)) condition-case nil progn append ((goto-char (point-max))) ((error (gnus-error 4 "Invalid data on line %d" (count-lines (point-min) (point))) (forward-line 1)))] 9 (#$ . 40596)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put gnus-parse-without-error lisp-indent-function 0 put edebug-form-spec t] 5)
#@104 Cache the contents of FILE in VARIABLE.  The contents come from FUNCTION.

(fn FILE VARIABLE FUNCTION)
(defalias 'gnus-cache-file-contents #[771 "\300!\3018\262\302\211J\211\262\203\"\211@\232\203\"\211A@\232\2042!\262EL\210\207\3038\207" [file-attributes 5 nil 2] 10 (#$ . 41121)])
#@133 Ask user a multiple choice question.
CHOICE is a list of the choice char and help message at IDX.

(fn PROMPT CHOICE &optional IDX)
(defalias 'gnus-multiple-choice #[770 "\300\211\301 \302\303\"\216\212\204\304\304\305\306\307	\310#\311P#\210\312 \262\236\204\n\300\262\313\314!\262\315!\210\316 \210\317 \210\320 \210\321\261\210\322\211\206I\323\324\300\211\211\211\203m@8G\262V\204e\262	A\262\202N\325\\\262	\326 S	\245\262\326 S\245\262\203\277W\204\227\324\262\327\322!\210\330c\210\331Z\262\332\333!\334Q\262\335@@\n@8#c\210A\262T\262\202\202\266	\202\n*\210\336!\203\320\337!\210\207" [nil current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] message "%s (%s): " mapconcat #[257 "\300@!\207" [char-to-string] 3 "\n\n(fn S)"] ", " ", ?" read-char gnus-get-buffer-create "*Gnus Help*" pop-to-buffer fundamental-mode buffer-disable-undo erase-buffer ":\n\n" -1 1 0 4 window-width delete-char "\n" 3 "%c: %-" int-to-string "s" format buffer-live-p kill-buffer] 20 (#$ . 41433)])
#@97 Given a frame or window, return the associated display name.
Return nil otherwise.

(fn OBJECT)
(defalias 'gnus-frame-or-window-display-name #[257 "\300!\204\301!\205(\302!\211\262\205(\303\304\"\211;\205&\305\306\"\205&\211\262\207" [framep windowp window-frame frame-parameter display string-match "\\`[^:]*:[0-9]+\\(\\.[0-9]+\\)?\\'"] 5 (#$ . 42533)])
#@41 Update the tool bar.

(fn &rest IGNORE)
(defalias 'gnus-tool-bar-update #[128 "\301\300!\2055\2055\302\303\304!\203\304\202/\303\305!\203\305\202/\303\306!\203.\307 C\262\306\202/\310\311\"\266\202\207" [tool-bar-mode boundp nil fboundp tool-bar-update force-window-update redraw-frame selected-frame ignore apply] 6 (#$ . 42907)])
#@400 Apply FUNCTION to each element of the sequences, and make a list of the results.
If there are several sequences, FUNCTION is called with that many arguments,
and mapping stops as soon as the shortest sequence runs out.  With just one
sequence, this is like `mapcar'.  With several, it is like the Common Lisp
`mapcar' function extended to arbitrary sequence types.

(fn FUNCTION SEQ1 &rest SEQS2_N)
(defalias 'gnus-mapcar '(macro . #[642 "\211\203qB\300C\301\302\303\"\"\304\305!\304\306!\307\310C\311DC\244\210DC\244\210\211\203B\211A\262\242	\211A\262\242DC\244\210\202)A\266\202\312\313B\314\315\316\301\317
\"BB\320BBE\321\322D\323\324\f\"BBBF\322DF\207\301E\207" [0 mapcar make-closure #[257 "\301\302\303\300\211\242T\240!P!\207" [V0 make-symbol "head" int-to-string] 6 "\n\n(fn SEQ)"] make-symbol "result" "result-tail" let* nil (cons nil nil) while and setcdr cons funcall #[257 "\300D\207" [car] 3 "\n\n(fn H)"] (nil) setq cdr mapcan #[257 "\211\300DD\207" [cdr] 4 "\n\n(fn H)"]] 20 (#$ . 43260)]))
#@28 Stringified Emacs version.
(defalias 'gnus-emacs-version #[0 "<\203	\202\n\304\305>\203	\202!\306>\203 \307\n!\202!\310\311>\204)\310\207\312\313\"\203@\314\203=\315\316Q\202>\317Q\207\207" [gnus-user-agent system-configuration system-type emacs-version (gnus emacs type) config type symbol-name nil emacs string-match "^[.0-9]*\\.[0-9]+$" "Emacs/" " (" ")" ""] 7 (#$ . 44310)])
#@130 Rename OLD-PATH as NEW-PATH.
If TRIM, recursively delete empty directories from OLD-PATH.

(fn OLD-PATH NEW-PATH &optional TRIM)
(defalias 'gnus-rename-file #[770 "\300!\205I\301!\301!\302\303!\210\304\305#\210\205G\306!\262\211@\307\235\2030\211A\262\202\"\211G\310U\205G\311!\210\312\313\314P!!\262\202\266\203\207" [file-exists-p file-name-directory nil gnus-make-directory rename-file t directory-files ("." "..") 0 delete-directory file-name-as-directory file-truename ".."] 10 (#$ . 44717)])
#@66 Wrapper for `set-file-modes'.

(fn FILENAME MODE &optional FLAG)
(defalias 'gnus-set-file-modes #[770 "\3001\301#0\207\210\302\207" [(error) set-file-modes nil] 7 (#$ . 45243)])
#@131 Rescale IMAGE to SIZE if possible.
SIZE is in format (WIDTH . HEIGHT).  Return a new image.
Sizes are in pixels.

(fn IMAGE SIZE)
(defalias 'gnus-rescale-image #[514 "\300 \203:\211@A\301\302\"AV\203 \303\304A\305\"\306\302\307%\262\301\302\"@V\2038\303\304A\305\"\306\302\310%\262\266\207" [display-images-p image-size t create-image plist-get :data nil :max-height :max-width] 10 (#$ . 45433)])
#@118 Return all regular files below DIR.
The first found will be returned if a file has hard or symbolic links.

(fn DIR)
(defalias 'gnus-recursive-directory-files #[257 "\300C\300C\300C\300C\211\301\302%\240\210\211\242!\266\242\207" [nil make-closure #[257 "\304\305\"\211\205R\211@\301\306\307!!\240\210\301\242\302\242\235\204K\310!\311\235\204K\312!\203K\302\301\242\302\242B\240\210\313!\203@\300\300\242B\240\210\202K\314!\203K\303\242!\210A\266\202\202\207" [V0 V1 V2 V3 directory-files t file-attributes file-truename file-name-nondirectory ("." "..") file-readable-p file-regular-p file-directory-p] 7 "\n\n(fn DIRECTORY)"]] 12 (#$ . 45854)])
#@83 Return non-nil if any of the members of ELEMENTS are in LIST.

(fn ELEMENTS LIST)
(defalias 'gnus-list-memq-of-list #[514 "\300\211\203\211@\206\211>\262A\266\202\202\210\207" [nil] 7 (#$ . 46537)])
#@152 To each element of LIST apply PREDICATE.
Return nil if LIST is no list or is empty or some test returns nil;
otherwise, return t.

(fn LIST PREDICATE)
(defalias 'gnus-test-list #[514 "\205<\205\300\"\301>?\262\207" [mapcar nil] 5 (#$ . 46754)])
(make-obsolete 'gnus-test-list nil "28.1")
#@153 Return t if LIST1 is a subset of LIST2.
Similar to `subsetp' but use member for element test so that this works for
lists of strings.

(fn LIST1 LIST2)
(defalias 'gnus-subsetp #[514 "<\205\211<\205\203@\235\205\300A\"\207\301\207" [gnus-subsetp t] 5 (#$ . 47059)])
#@74 Return member-based set difference of LIST1 and LIST2.

(fn LIST1 LIST2)
(defalias 'gnus-setdiff #[514 "\205#<\205#\211<\205#@\235\203\300A\"\207@\300A\"B\207" [gnus-setdiff] 6 (#$ . 47344)])
#@13 

(fn TYPE)
(defalias 'gnus-image-type-available-p #[257 "\300 \205\301!\207" [display-images-p image-type-available-p] 3 (#$ . 47556)])
#@47 

(fn FILE &optional TYPE DATA-P &rest PROPS)
(defalias 'gnus-create-image #[897 "\300\301\"\211\203\302\303\304!#\262\302\305\306!#\262\3071+\310\311%0\207\210\312\207" [plist-get :face plist-put :foreground face-foreground :background face-background (error) apply create-image nil] 11 (#$ . 47702)])
#@40 

(fn GLYPH &optional STRING CATEGORY)
(defalias 'gnus-put-image #[769 "`\300\206\301\"\210\302`\303$\210\204\302`S`\304\305$\210\207" [insert-image " " put-text-property gnus-image-category gnus-image-text-deletable t] 9 (#$ . 48029)])
#@90 Remove the image matching IMAGE and CATEGORY found first.

(fn IMAGE &optional CATEGORY)
(defalias 'gnus-remove-image #[513 "e\300\211\211?\205c\301\302\"\211\262\204&\303\302\"\211\262\205c\301\302\"\211\262\205c\303\302\"\206.d\262\232\203T\301\304\"\232\203T\305\302\300$\210\301\306\"\203|\210\202\211dU\204\211\262\300\262\202\207" [nil get-text-property display next-single-property-change gnus-image-category put-text-property gnus-image-text-deletable] 10 (#$ . 48282)])
#@44 Delete all overlays in the current buffer.
(defalias 'gnus-kill-all-overlays #[0 "\301 \302\303\302@A\244\"\211\205\304\211A\262\242!\210\202\f)\207" [buffer-read-only overlay-lists nil delq delete-overlay] 5 (#$ . 48801)])
(provide 'gnus-util)

Youez - 2016 - github.com/yon3zu
LinuXploit