403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.15
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/erc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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



(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\301%\210\310\311\312\313\314DD\315\316\317\320\321\322\323\307\304&\207" [require erc pcomplete custom-declare-group erc-dcc nil "DCC stands for Direct Client Communication, where you and your\nfriend's client programs connect directly to each other,\nbypassing IRC servers and their occasional \"lag\" or \"split\"\nproblems.  Like /MSG, the DCC chat is completely private.\n\nUsing DCC get and send, you can transfer files directly from and to other\nIRC users." :group custom-declare-variable erc-dcc-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-Dcc mode is enabled.\nSee the `erc-dcc-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `erc-dcc-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean] 12)
#@240 Toggle ERC dcc mode.
With a prefix argument ARG, enable dcc if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
Provide Direct Client-to-Client support for ERC.

(fn &optional ARG)
(defalias 'erc-dcc-mode #[256 "\302 \303\301\304=\203\305\301!?\202!\247\203 \306W\203 \307\202!\310\"\210\311\300!\2038\312\301\"\305\301!\2038\301B	\203B\313 \210\202E\314 \210\315\316\305\301!\203Q\317\202R\320\"\210\321\322!\203z\323\301!\210\302 \203j\211\302 \232\203z\324\325\305\301!\203v\326\202w\327\330#\210\210\331 \210\305\301!\207" [global-minor-modes erc-dcc-mode current-message set-default toggle default-value 1 nil t boundp delq erc-dcc-enable erc-dcc-disable run-hooks erc-dcc-mode-hook erc-dcc-mode-on-hook erc-dcc-mode-off-hook called-interactively-p any customize-mark-as-set message "Erc-Dcc mode %sabled%s" "en" "dis" "" force-mode-line-update] 6 (#$ . 1045) (byte-code "\203\n\301!\202\302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-dcc-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\207" [erc-dcc-mode-map erc-dcc-mode-hook variable-documentation put "Hook run after entering or leaving `erc-dcc-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode erc-dcc-mode boundp] 6)
#@22 Enable ERC dcc mode.
(defalias 'erc-dcc-enable #[0 "\301\302\303\"\210\304\305\306\307\"\207" [erc-dcc-mode add-to-list erc-modules dcc t add-hook erc-server-401-functions erc-dcc-no-such-nick] 3 (#$ . 2579) nil])
#@23 Disable ERC dcc mode.
(defalias 'erc-dcc-disable #[0 "\302\303\"\304\305\306\307\"\207" [erc-modules erc-dcc-mode delq dcc nil remove-hook erc-server-401-functions erc-dcc-no-such-nick] 3 (#$ . 2800) nil])
(byte-code "\300\301\302\303#\210\300\304\302\303#\210\300\305\302\303#\210\306\307\310\311\312DD\313\314\315%\207" [put erc-dcc-mode definition-name dcc erc-dcc-enable erc-dcc-disable custom-declare-variable erc-dcc-verbose funcall function #[0 "\300\207" [nil] 1 ""] "If non-nil, be verbose about DCC activity reporting." :type boolean] 6)
#@87 List of valid DCC connection types.
All values of the list must be uppercase strings.
(defconst erc-dcc-connection-types '("CHAT" "GET" "SEND") (#$ . 3357))
#@1174 List of DCC connections.
Looks like:
  ((:nick "nick!user@host" :type GET :peer proc
    :parent proc :size size :file file)
   (:nick "nick!user@host" :type CHAT :peer proc :parent proc)
   (:nick "nick" :type SEND :peer server-proc :parent parent-proc :file
   file :sent <marker> :confirmed <marker>))

 :nick - a user or userhost for the peer.  Combine with :parent to reach them

 :type - the type of DCC connection - SEND for outgoing files, GET for
         incoming, and CHAT for both directions.  To tell which end started
         the DCC chat, look at :peer

 :peer - the other end of the DCC connection.  In the case of outgoing DCCs,
         this represents a server process until a connection is established

 :parent - the server process where the dcc connection was established.
           Note that this can be nil or an invalid process since a DCC
           connection is in general independent from a particular server
           connection after it was established.

 :file - for outgoing sends, the full path to the file.  For incoming sends,
         the suggested filename or vetted filename

 :size - size of the file, may be nil on incoming DCCs
(defvar erc-dcc-list nil (#$ . 3522))
#@102 Add a new entry of type TYPE to `erc-dcc-list' and return it.

(fn TYPE NICK PEER PARENT &rest ARGS)
(defalias 'erc-dcc-list-add #[1156 "\301\302\303\304\305	\257\"B\211@\207" [erc-dcc-list append :nick :type :peer :parent] 14 (#$ . 4740)])
(defvar erc-dcc-connect-function 'erc-dcc-open-network-stream)
#@40 

(fn PROCNAME BUFFER ADDR PORT ENTRY)
(defalias 'erc-dcc-open-network-stream #[1285 "\300$\207" [open-network-stream] 10 (#$ . 5060)])
(erc-define-catalog 'english '((dcc-chat-discarded . "DCC: previous chat request from %n (%u@%h) discarded") (dcc-chat-ended . "DCC: chat with %n ended %t: %e") (dcc-chat-no-request . "DCC: chat request from %n not found") (dcc-chat-offered . "DCC: chat offered by %n (%u@%h:%p)") (dcc-chat-offer . "DCC: offering chat to %n") (dcc-chat-accept . "DCC: accepting chat from %n") (dcc-chat-privmsg . "=%n= %m") (dcc-closed . "DCC: Closed %T from %n") (dcc-command-undefined . "DCC: %c undefined subcommand. GET, CHAT and LIST are defined.") (dcc-ctcp-errmsg . "DCC: `%s' is not a DCC subcommand known to this client") (dcc-ctcp-unknown . "DCC: unknown dcc command `%q' from %n (%u@%h)") (dcc-get-bytes-received . "DCC: %f: %b bytes received") (dcc-get-complete . "DCC: file %f transfer complete (%s bytes in %t seconds)") (dcc-get-cmd-aborted . "DCC: Aborted getting %f from %n") (dcc-get-file-too-long . "DCC: %f: File longer than sender claimed; aborting transfer") (dcc-get-notfound . "DCC: %n hasn't offered %f for DCC transfer") (dcc-list-head . "DCC: From      Type  Active  Size            Filename") (dcc-list-line . "DCC: --------  ----  ------  --------------  --------") (dcc-list-item . "DCC: %-8n  %-4t  %-6a  %-14s  %f") (dcc-list-end . "DCC: End of list.") (dcc-malformed . "DCC: error: %n (%u@%h) sent malformed request: %q") (dcc-privileged-port . "DCC: possibly bogus request: %p is a privileged port.") (dcc-request-bogus . "DCC: bogus dcc `%r' from %n (%u@%h)") (dcc-send-finished . "DCC: SEND of %f to %n finished (size %s)") (dcc-send-offered . "DCC: file %f offered by %n (%u@%h) (size %s)") (dcc-send-offer . "DCC: offering %f to %n")))
#@425 Return first matching entry in `erc-dcc-list' satisfying constraints in ARGS.
ARGS is a plist.  Return nil on no match.

The property :nick is treated specially, if it contains a `!' character,
it is treated as a nick!user@host string, and compared with the :nick property
value of the individual elements using string-equal.  Otherwise it is
compared with `erc-nick-equal-p' which is IRC case-insensitive.

(fn &rest ARGS)
(defalias 'erc-dcc-member #[128 "\302\211\203\217\204\217@\303\203z\211\203z@A@AA\262\304\"\205,\305\"\262\306=\203R	\307Y\203A\310\311\"\202E\312\311\"\203R\203R\230\204u\306=\203l\203l\211\203l\313\314!\314!\"\204u=\204u\302\262\266\202\211\203\206\262\266\202A\262\266\202\207" [erc-dcc-list emacs-major-version nil t plist-member plist-get :nick 28 string-search "!" string-match erc-nick-equal-p erc-extract-nick] 13 (#$ . 6865)])
#@94 Convert integer into a packed string in network byte order, which is big-endian.

(fn VALUE)
(defalias 'erc-pack-int #[257 "\211\300W\203\n\301\302!\210\211\300U\203\300\202!\303\211\304!\304\305!\245!\306\245!\211\307V\203+\301\310!\210\210\311\307\300\"\312\211\300Y\203P\300V\203P\313\246I\210\313\245\262\211S\262\2021\207" [0 error "ERC-DCC (erc-pack-int): packet size is negative" ceiling log 2 8.0 4 "ERC-DCC (erc-pack-int): packet too large" make-string 3 256] 7 (#$ . 7791)])
#@51 Unpack a packed string into an integer.

(fn STR)
(defalias 'erc-unpack-int #[257 "\211G\300V\203H\300=\203\211T\262\202\211\300V\203)\301O\262Z\262\210\300\211\211W\203H\302ZSH\303_\"\\\262\211T\262\202,\207" [0 nil ash 8] 9 (#$ . 8299)])
(defconst erc-dcc-ipv4-regexp (byte-code "\300\301\302\303\304\305\"\306#\307Q\207" ["^" mapconcat identity make-list 4 "\\([0-9]\\{1,3\\}\\)" "\\." "$"] 6))
#@130 Convert IP address to its decimal representation.
Argument IP is the address as a string.  The result is also a string.

(fn IP)
(defalias 'erc-ip-to-decimal #[257 "\301\"\204\302\303!\207\304\305\306\307\"\"\310@\311_A@\312_\3138\314_\3158$\316\317!\2031\320\321#\207\322\323\"\207" [erc-dcc-ipv4-regexp string-match error "Not an IP address" mapcar #[257 "\300!\211\301Y\203\211\302W\203\207\303\304\"\207" [string-to-number 0 256 error "%d out of range"] 5 "\n\n(fn STR)"] split-string "\\." + 16777216.0 65536.0 2 256.0 3 called-interactively-p interactive message "%s is %.0f" format "%.0f"] 8 (#$ . 8733) "sIP Address: "])
#@95 Convert a decimal representation DEC to an IP address.
The result is also a string.

(fn DEC)
(defalias 'erc-decimal-to-ip #[257 "\211;\203\f\300\301P!\262\302\303\245!\303_Z\302\304\245!\304_Z\302\305\245!\305_Z\302!\306\307%\207" [string-to-number ".0" floor 16777216.0 65536.0 256.0 format "%s.%s.%s.%s"] 14 (#$ . 9387)])
(byte-code "\301\302\303\304\305DD\306\307\310\311\312\313\314F\315\312\316\317\257E%\210\301\320\303\304\321DD\322\307\310\311\312\323\314F\315\312\316\317\257E%\210\301\324\303\304\325DD\326\307\327%\207" [erc-dcc-ipv4-regexp custom-declare-variable erc-dcc-listen-host funcall function #[0 "\300\207" [nil] 1 #1=""] "IP address to listen on when offering files.\nShould be set to a string or nil.  If nil, automatic detection of\nthe host interface to use will be attempted." :type choice const :tag "Auto-detect" nil string "IP-address" :valid-regexp erc-dcc-public-host #[0 "\300\207" [nil] 1 #1#] "IP address to use for outgoing DCC offers.\nShould be set to a string or nil.  If nil, use the value of\n`erc-dcc-listen-host'." "Same as erc-dcc-listen-host" erc-dcc-send-request #[0 "\300\207" [ask] 1 #1#] "How to treat incoming DCC Send requests.\n`ask' - Report the Send request, and wait for the user to manually accept it\n        You might want to set `erc-dcc-auto-masks' for this.\n`auto' - Automatically accept the request and begin downloading the file\n`ignore' - Ignore incoming DCC Send requests completely." (choice (const ask) (const auto) (const ignore))] 12)
#@71 Return the local IP address used for an open process PROC.

(fn PROC)
(defalias 'erc-dcc-get-host #[257 "\300\301\302\"\303\"\207" [format-network-address process-contact :local t] 5 (#$ . 10923)])
#@149 Determine the IP address we are using.
If variable `erc-dcc-host' is non-nil, use it.  Otherwise call
`erc-dcc-get-host' on the erc-server-process.
(defalias 'erc-dcc-host #[0 "\206
\302	!\206
\303\304!\207" [erc-dcc-listen-host erc-server-process erc-dcc-get-host error "Unable to determine local address"] 2 (#$ . 11129)])
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\207" [custom-declare-variable erc-dcc-port-range funcall function #[0 "\300\207" [nil] 1 #1=""] "If nil, any available user port is used for outgoing DCC connections.\nIf set to a cons, it specifies a range of ports to use in the form (min . max)" :type (choice (const :tag "Any port" nil) (cons :tag "Port range" (integer :tag "Lower port") (integer :tag "Upper port"))) erc-dcc-auto-masks #[0 "\300\207" [nil] 1 #1#] "List of regexps matching user identifiers whose DCC send offers should be\naccepted automatically.  A user identifier has the form \"nick!login@host\".\nFor instance, to accept all incoming DCC send offers automatically, add the\nstring \".*!.*@.*\" to this list." (repeat regexp)] 6)
#@132 Start listening on a port for an incoming DCC connection.
Returns the newly created subprocess, or nil.

(fn NAME FILTER SENTINEL)
(defalias 'erc-dcc-server #[771 "\203	@\206\n\301\205A\302\211\204\201\3031V\304\305\306\302\307\310 \311\n\312\302\313\314\315\316\317\301&\262\320!\205Q\321\322!\203G\322\323\211#\210\321\324!\205Q\324\302\"0\210\202\211A@\325\230\203g\3268\227\327\230\204n\330@A\"\210T\262W?\205|\331\332!\266\202\207" [erc-dcc-port-range t nil (file-error) make-network-process :name :buffer :host erc-dcc-host :service :noquery :filter :sentinel :log erc-dcc-server-accept :server processp fboundp set-process-coding-system binary set-process-filter-multibyte "Cannot bind server socket" 2 "address already in use" signal error "No available ports in erc-dcc-port-range"] 25 (#$ . 12256)])
#@129 Log an accepted DCC offer, then terminate the listening process and set up
the accepted connection.

(fn SERVER CLIENT MESSAGE)
(defalias 'erc-dcc-server-accept #[771 "\203
\301\302\303$!\210\304\305\"\2050\306!\2050\306!\2050\307\310\"\311\310#\262\312!\262\207" [erc-log-p erc-log-aux format "(erc-dcc-server-accept): server %s client %s message %s" string-match "^accept from " processp erc-dcc-member :peer plist-put delete-process] 9 (#$ . 13113)])
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable erc-dcc-get-default-directory funcall function #[0 "\300\207" [nil] 1 ""] "Default directory for incoming DCC file transfers.\nIf this is nil, then the current value of `default-directory' is used." :type (choice (const nil :tag "Default directory") directory)] 6)
#@253 Parser for /dcc command.
This figures out the dcc subcommand and calls the appropriate routine to
handle it.  The function dispatched should be named "erc-dcc-do-FOO-command",
where FOO is one of CLOSE, GET, SEND, LIST, CHAT, etc.

(fn CMD &rest ARGS)
(defalias 'erc-cmd-DCC #[385 "\205)\301\302\226\303Q!\211\203\304#\202'\305\306\307\310\311\312&\210\313\314!\210\315\262\207" [erc-server-process intern-soft "erc-dcc-do-" "-command" apply erc-display-message nil notice active dcc-command-undefined 99 apropos "erc-dcc-do-.*-command" t] 10 (#$ . 13934)])
(autoload 'pcomplete-erc-all-nicks "erc-pcomplete")
#@42 Provide completion for the /DCC command.
(defalias 'pcomplete/erc-mode/DCC #[0 "\300\301\302\211\211$\210\300\303\302\211\211$\210\300\304\302\211\211$\207" [pcomplete--here #[0 "\300\301\302\303!\205	\304\"\207" [append ("chat" "close" "get" "list") fboundp make-network-process ("send")] 4] nil #[0 "\301\302\303!\227!\211\304\267\202&\305\306\307\310\"\"\207\311\305\312\"!\207\305\313\307\314\"\"\207\315 \207\316\207" [erc-dcc-list intern pcomplete-arg 1 #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (chat 12 close 20 get 27 send 35)) mapcar #[257 "\300\301\"\207" [plist-get :nick] 4 "\n\n(fn ELT)"] cl-remove-if-not #[257 "\300\301\"\302=\207" [plist-get :type CHAT] 4 "\n\n(fn ELT)"] delete-dups #[257 "\300\301\302\"!\207" [symbol-name plist-get :type] 5 "\n\n(fn ELT)"] erc-dcc-nick #[257 "\300\301\"\302=\207" [plist-get :type GET] 4 "\n\n(fn ELT)"] pcomplete-erc-all-nicks nil] 6] #[0 "\301\302\303!\227!\211\304\267\202\305\306\307\310\"\"\207\305\311\307\312\"\"\207\313 \207\314\207" [erc-dcc-list intern pcomplete-arg 2 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (get 12 close 20 send 28)) mapcar #[257 "\300\301\"\207" [plist-get :file] 4 "\n\n(fn ELT)"] cl-remove-if-not #[257 "\300\301\"\302=\205\303\304\300\305\"!\306\307!\"\207" [plist-get :type GET erc-nick-equal-p erc-extract-nick :nick pcomplete-arg 1] 6 "\n\n(fn ELT)"] erc-dcc-nick #[257 "\300\301\"\302\303\304!\226!=\207" [plist-get :type intern pcomplete-arg 1] 5 "\n\n(fn ELT)"] pcomplete-entries nil] 6]] 5 (#$ . 14563)])
#@28 

(fn PROC &optional NICK)
(defalias 'erc-dcc-do-CHAT-command #[513 "\211\205B\301\302\303\304\305&\211\203/\306\307\310\"!\204/\311\"\210\312\313\314\315\316\317&\210\320\202@\321\"\210\312\313\314\315\322\317&\210\320\262\207" [erc-server-process erc-dcc-member :nick :type CHAT :parent processp plist-get :peer erc-dcc-chat-accept erc-display-message nil notice active dcc-chat-accept 110 t erc-dcc-chat dcc-chat-offer] 10 (#$ . 16175)])
#@130 Close a connection.  Usage: /dcc close type nick.
At least one of TYPE and NICK must be provided.

(fn PROC &optional TYPE NICK)
(defalias 'erc-dcc-do-CLOSE-command #[769 "\203\211\204\226\235\204\262\303\262\211\203#\304\305	\306Q\"\204&\303\262\203:\226\235\203:\307\226!\262\202=\303\262\211\204E\205\256\310\211\203\254\203]\203]\311\312\313$\262\202z\203j\311\313\"\262\202z\203w\311\312\"\262\202z\303\262\211\203F\314\315\316\"!\203\216\317\315\316\"!\210\320\n\"\321\303\322\323\324\325\315\312\"\326\327\315\n\313\"!&\210\202F\210\310\207" [erc-dcc-connection-types erc-valid-nick-regexp erc-dcc-list nil string-match "\\`" "\\'" intern t erc-dcc-member :type :nick processp plist-get :peer delete-process delq erc-display-message notice active dcc-closed 84 110 erc-extract-nick] 16 (#$ . 16643)])
#@233 Do a DCC GET command.  NICK is the person who is sending the file.
FILE is the filename.  If FILE is split into multiple arguments,
re-join the arguments, separated by a space.
PROC is the server process.

(fn PROC NICK &rest FILE)
(defalias 'erc-dcc-do-GET-command #[642 "\211\205	\302\303\304#\262\305\306\307\310$\206\311\312\"\206\313\203d\314\315\316\317!\"\206-	\320\317!\2066	\"#\321!\203]\322\323\324\"!\203N\325#\207\326\327\330\331\332\n\333	&\207\325#\207\326\327\334\335\336\332	\333&\207" [erc-dcc-get-default-directory default-directory mapconcat identity " " erc-dcc-member :nick :type GET plist-get :file "unknown" read-file-name format-prompt "Local filename" file-name-nondirectory expand-file-name file-exists-p yes-or-no-p format "File %s exists.  Overwrite? " erc-dcc-get-file erc-display-message nil (notice error) dcc-get-cmd-aborted 110 102 (notice error) active dcc-get-notfound] 15 (#$ . 17517)])
(defvar erc-dcc-byte-count nil nil)
(make-variable-buffer-local 'erc-dcc-byte-count)
#@131 This is the handler for the /dcc list command.
It lists the current state of `erc-dcc-list' in an easy to read manner.

(fn PROC)
(defalias 'erc-dcc-do-LIST-command #[257 "\302\211\303\302\304\305\306$\210\303\302\304\305\307$\210\203\322@\262A\262\310\311\"\203+\312\311\"\206,\313\262\2046\313\202H\247\203A\314!\202H\313\230\205H\315\262\303\302\304\305\316\317\320!\321\312	\322\"\323\324\312\f\325\"!\203o\326\312\f\325\"!\202p\327\330
\312\322\"\331=\205\271\310\332\"\205\271\333\334\312\332\"!!\205\271\310\311\"\205\271r\334\312\332\"!q\210\335 \336\\	\\)\337\340\341\342_\312\311\"\"\"\262P\343\310\332\"\203\313\312\332\"\206\314\313&\210\202\303\302\304\305\344$\210\345\207" [erc-dcc-list erc-dcc-byte-count nil erc-display-message notice active dcc-list-head dcc-list-line plist-member :size plist-get "" number-to-string "unknown" dcc-list-item 110 erc-dcc-nick 116 :type 97 processp :peer process-status "no" 115 GET :file buffer-live-p get-buffer buffer-size 0.0 format " (%d%%)" floor 100.0 102 dcc-list-end t] 25 (#$ . 18571)])
#@170 Offer FILE to NICK by sending a ctcp dcc send message.
If FILE is split into multiple arguments, re-join the arguments,
separated by a space.

(fn PROC NICK &rest FILE)
(defalias 'erc-dcc-do-SEND-command #[642 "\211\205	\300\301\302#\262\303!\203&\304\305\306\307\310\311\312&\210\313\"\210\314\207\304\305\315\316$\210\314\207" [mapconcat identity " " file-exists-p erc-display-message nil notice active dcc-send-offer 110 102 erc-dcc-send-file t (notice error) "File not found"] 12 (#$ . 19682)])
#@37 Hook variable for CTCP DCC queries.
(defvar erc-ctcp-query-DCC-hook '(erc-ctcp-query-DCC) (#$ . 20200))
(defvar erc-dcc-query-handler-alist '(("SEND" . erc-dcc-handle-ctcp-send) ("CHAT" . erc-dcc-handle-ctcp-chat)))
#@195 The function called when a CTCP DCC request is detected by the client.
It examines the DCC subcommand, and calls the appropriate routine for
that subcommand.

(fn PROC NICK LOGIN HOST TO QUERY)
(defalias 'erc-ctcp-query-DCC #[1542 "\301\302\"A@\303\"A\211\203\211				&\207\304\305\306\n\307\310\311\312\313&\f\207" [erc-dcc-query-handler-alist split-string " " assoc erc-display-message nil (notice error) dcc-ctcp-unknown 113 110 117 104] 21 (#$ . 20423)])
(defconst erc-dcc-ctcp-query-send-regexp "^DCC SEND \\(?:\"\\(\\(?:\\\\\"\\|[^\"\\]\\)+\\)\"\\|\\([^ ]+\\)\\) \\([0-9]+\\) \\([0-9]+\\) *\\([0-9]*\\)")
#@17 

(fn FILENAME)
(defalias 'erc-dcc-unquote-filename #[257 "\301Y\203\302\303\304\302\305\306##\207\307\310\304\307\311\306\312\211%\312\211%\207" [emacs-major-version 28 string-replace "\\\\" "\\" "\\\"" "\"" replace-regexp-in-string "\\\\\\\\" "\\\\\"" t] 10 (#$ . 21061)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-dcc-unquote-filename compiler-macro erc-dcc-unquote-filename--inliner] 4)
#@30 

(fn INLINE--FORM FILENAME)
(defalias 'erc-dcc-unquote-filename--inliner #[514 "\3002%\301\302\303\304E\305\306\307\305\310\311FF\312\313\307\312\314\311	\315\211\257\315\211\257F0\207" [inline--just-use if >= emacs-major-version 28 string-replace "\\\\" "\\" "\\\"" "\"" replace-regexp-in-string "\\\\\\\\" "\\\\\"" t] 14 (#$ . 21480)])
#@186 This is called if a CTCP DCC SEND subcommand is sent to the client.
It extracts the information about the dcc request and adds it to
`erc-dcc-list'.

(fn PROC QUERY NICK LOGIN HOST TO)
(defalias 'erc-dcc-handle-ctcp-send #[1542 "\304=?\205\357\305!\204!\306\307\310\311\312\313\314\315\f\316
&\f\207\317	\"\203\333\320\321\"\206X\n\322Y\203G\323\324\325\323\326\327\320\330\f\"##\202X\331\332\325\331\333\327\320\330\f\"\334\211%\334\211%\335\320\336\"!\320\337\"\320\340	\"\306\307\310\f\341\342	\314\315\316\343\344\230\203\207\345\202\211&\210\346!\347W\203\240\306\307\310\f\350\351&\210\352\353\354\355$\307
\356\357	\360
\361\346
!&\f\210\362=\205\332\363\354\364\n\n\n$!\205\332\365@\f#\207\306\307\310\366\314	\315\n\316\367&\f\207" [erc-dcc-send-request erc-dcc-ctcp-query-send-regexp emacs-major-version erc-dcc-list ignore erc-current-nick-p erc-display-message nil notice dcc-request-bogus 114 "SEND" 110 117 104 string-match match-string 2 28 string-replace "\\\\" "\\" "\\\"" "\"" 1 replace-regexp-in-string "\\\\\\\\" "\\\\\"" t erc-decimal-to-ip 3 4 5 dcc-send-offered 102 115 "" "unknown" string-to-number 1025 dcc-privileged-port 112 erc-dcc-list-add GET format "%s!%s@%s" :ip :port :file :size auto erc-dcc-auto-mask-p "\"%s!%s@%s\"" erc-dcc-get-file dcc-malformed 113] 26 (#$ . 21832)])
#@231 Match SPEC against `erc-dcc-auto-masks'.
SPEC is a full spec of a user in the form "nick!login@host", which
is matched against all the regexps in `erc-dcc-auto-masks'.  Return
the matching regexp, or nil if none found.

(fn SPEC)
(defalias 'erc-dcc-auto-mask-p #[257 "\211\203\301@\"\204\211A\262\202\211\205\211@\207" [erc-dcc-auto-masks string-match] 5 (#$ . 23221)])
(defconst erc-dcc-ctcp-query-chat-regexp "^DCC CHAT +chat +\\([0-9]+\\) +\\([0-9]+\\)")
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable erc-dcc-chat-request funcall function #[0 "\300\207" [ask] 1 ""] "How to treat incoming DCC Chat requests.\n`ask' - Report the Chat request, and wait for the user to manually accept it\n`auto' - Automatically accept the request and open a new chat window\n`ignore' - Ignore incoming DCC chat requests completely." :type (choice (const ask) (const auto) (const ignore))] 6)
#@38 

(fn PROC QUERY NICK LOGIN HOST TO)
(defalias 'erc-dcc-handle-ctcp-chat #[1542 "\302=?\205\306\303!\204!\304\305\306\307\310\311\312\313\f\314
&\f\207\315	\"\203\262\316\317\320\"!\317\321\"\322\323\324\325$\304\305\326\327\312\f\313
\314\330
&\f\210\331!\332W\203e\304\305\326\333\330&\210\211\203\211\334\211\335#\336#\262\304\305\326\337\312\f\313
\314&\n\210\202\240\340\325\341\342\n\n\n$\305\f\336\335	&\210\343=\205\261\344\322\323	\324\325$\n\"\207\304\305\345\346\312	\313\n\314\347&\f\207" [erc-dcc-chat-request erc-dcc-ctcp-query-chat-regexp ignore erc-current-nick-p erc-display-message nil (notice error) dcc-request-bogus 114 "CHAT" 110 117 104 string-match erc-decimal-to-ip match-string 1 2 erc-dcc-member :nick :type CHAT notice dcc-chat-offered 112 string-to-number 1025 dcc-privileged-port plist-put :port :ip dcc-chat-discarded erc-dcc-list-add format "%s!%s@%s" auto erc-dcc-chat-accept (notice error) dcc-malformed 113] 22 (#$ . 24148)])
#@57 Holds the `erc-dcc-list' entry for this DCC connection.
(defvar erc-dcc-entry-data nil (#$ . 25180))
(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311%\210\302\312\304\305\313DD\314\310\315%\207" [make-variable-buffer-local erc-dcc-entry-data custom-declare-variable erc-dcc-block-size funcall function #[0 "\300\207" [1024] 1 #1=""] "Block size to use for DCC SEND sessions." :type integer erc-dcc-pump-bytes #[0 "\300\207" [nil] 1 #1#] "If an integer, keep sending until that number of bytes are unconfirmed." (choice (const nil) integer)] 6)
#@13 

(fn PROC)
(defalias 'erc-dcc-get-parent #[257 "\300\301\302\"\303\"\207" [plist-get erc-dcc-member :peer :parent] 5 (#$ . 25741)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-dcc-get-parent compiler-macro erc-dcc-get-parent--inliner] 4)
#@26 

(fn INLINE--FORM PROC)
(defalias 'erc-dcc-get-parent--inliner #[514 "\3002\f\301\302\303E\304E0\207" [inline--just-use plist-get erc-dcc-member :peer :parent] 6 (#$ . 26000)])
#@121 Send one block of data.
PROC is the process-object of the DCC connection.  Returns the number of
bytes sent.

(fn PROC)
(defalias 'erc-dcc-send-block #[257 "\302\303\"\304\305\"\304\305\"r\306!q\210\203.\307\310\311\304\302\303	\"\312\"\313\314eZeZ#$\210\211	\\d^\315\"W\203H\310\223\210\316\"\210\211G\266\202)\207" [erc-dcc-verbose erc-dcc-block-size erc-dcc-member :peer plist-get :sent process-buffer erc-display-message nil notice :parent format "DCC: Confirmed %d, sent %d, sending block now" buffer-substring-no-properties process-send-string] 13 (#$ . 26187)])
#@20 

(fn PROC STRING)
(defalias 'erc-dcc-send-filter #[514 "\304!\305\306\"\307\310\"\307\311\"\307\312\"r\313!q\210\211e\\\314\223\210\211U\203Y\211dU\203Y\315\314\316\317\320\307\n\321\"\322\323\324\feZ!&\n\210\325	\"\326\314!\210\327!\210\330p!\202\232\211X\203wZ\n\206gW\205\232\331!\332V\205\232\202_\211V\205\232\315\314\316\333\334\335!\335	!#$\210\326\314!\210\327!\210\330p!)\207" [buffer-file-name erc-dcc-list erc-dcc-pump-bytes erc-dcc-block-size erc-unpack-int erc-dcc-member :peer plist-get :parent :sent :confirmed process-buffer nil erc-display-message notice dcc-send-finished 110 :nick 102 115 number-to-string delete set-buffer-modified-p delete-process kill-buffer erc-dcc-send-block 0 format "DCC: Client confirmed too much (%s vs %s)!" marker-position] 20 (#$ . 26783)])
#@13 

(fn PROC)
(defalias 'erc-dcc-display-send #[257 "\300\301\302\303\304\305\"\306\"\307\310\311\312\313\"!\"$\207" [erc-display-message nil notice plist-get erc-dcc-member :peer :parent format "DCC: SEND connect from %s" format-network-address process-contact :remote] 11 (#$ . 27619)])
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable erc-dcc-send-connect-hook funcall function #[0 "\300\207" [(erc-dcc-display-send erc-dcc-send-block)] 1 ""] "Hook run when remote end of a DCC SEND offer connected to your listening port." :type hook] 6)
#@80 Extract the nickname portion of the :nick property value in PLIST.

(fn PLIST)
(defalias 'erc-dcc-nick #[257 "\300\301\302\"!\207" [erc-extract-nick plist-get :nick] 5 (#$ . 28198)])
#@19 

(fn PROC EVENT)
(defalias 'erc-dcc-send-sentinel #[514 "\301\302\"\303\304\"\205&\211\205&\305\306\307\"!r\211q\210\310\"\210)\210\311\312\"\207" [erc-dcc-entry-data erc-dcc-member :peer string-match "^open from " marker-buffer plist-get :sent set-process-buffer run-hook-with-args erc-dcc-send-connect-hook] 7 (#$ . 28388)])
#@13 

(fn FILE)
(defalias 'erc-dcc-find-file #[257 "r\301\302!!q\210\303!\210\211p)\207" [buffer-file-name generate-new-buffer file-name-nondirectory insert-file-contents-literally] 4 (#$ . 28732)])
#@13 

(fn FILE)
(defalias 'erc-dcc-file-to-name #[257 "\300\301\302\"r\211q\210\303\304\"\216\305!c\210\306ed\307\310\302%\210\311 *\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] file-name-nondirectory subst-char-in-region 32 95 buffer-string] 8 (#$ . 28936)])
#@120 Open socket for incoming connections and send a CTCP send request to the
other client.

(fn NICK FILE &optional PPROC)
(defalias 'erc-dcc-send-file #[770 "\211\204\302!\203\262\202\303\304!\210\305\306!\203e\307!\310!rq\210\311 )\312\313\314\315#\316!\317\320		\321\f\322\323\f\324\325!&\f\210\326\327\330\331\f!\332	\206Z@!A@&\"\207\303\333!\207" [erc-server-process erc-dcc-public-host processp error "Can not find parent process" featurep make-network-process erc-dcc-find-file buffer-size point-min-marker erc-dcc-server "dcc-send" erc-dcc-send-filter erc-dcc-send-sentinel process-contact erc-dcc-list-add SEND :file :size :sent :confirmed copy-marker process-send-string format "PRIVMSG %s :DCC SEND %s %s %d %d\n" erc-dcc-file-to-name erc-ip-to-decimal "`make-network-process' not supported by your Emacs"] 22 (#$ . 29274) "sNick: \nfFile: "])
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable erc-dcc-receive-cache funcall function #[0 "\300\207" [524288] 1 ""] "Number of bytes to let the receive buffer grow before flushing it." :type integer] 6)
(defvar erc-dcc-file-name nil nil)
(make-variable-buffer-local 'erc-dcc-file-name)
#@200 Set up a transfer from the remote client to the local over a TCP connection.
This involves setting up a process filter and a process sentinel,
and making the connection.

(fn ENTRY FILE PARENT-PROC)
(defalias 'erc-dcc-get-file #[771 "\306\307!!\310rq\210\311 \210\312p!\210\313\310!\210\314\315\316\317\"\320\320``\n\310\321%\210*$\322%&\323\324\325\"\326\324\n\327\"!	%\262\330\"\210\331\332\211#\210\333\332\315\"\210\334\335\"\210\336\337\"\210\340\341\342 #\262\340\343#\211\262)\207" [mode-line-process buffer-read-only erc-dcc-file-name inhibit-file-name-handlers inhibit-file-name-operation erc-server-process generate-new-buffer file-name-nondirectory nil fundamental-mode buffer-disable-undo set-buffer-multibyte (":%s") t append (jka-compr-handler image-file-handler) write-region nomessage 0 "dcc-get" plist-get :ip string-to-number :port set-process-buffer set-process-coding-system binary set-buffer-file-coding-system set-process-filter erc-dcc-get-filter set-process-sentinel erc-dcc-get-sentinel plist-put :start-time erc-current-time :peer erc-dcc-entry-data erc-dcc-byte-count erc-dcc-connect-function] 13 (#$ . 30487)])
#@106 Append the contents of BUFFER to FILE.
The contents of the BUFFER will then be erased.

(fn BUFFER FILE)
(defalias 'erc-dcc-append-contents #[514 "rq\210\306\307\310\311\"\312\312ed\f\307\313%\210\314 
\\\315 -\207" [inhibit-file-name-handlers inhibit-file-name-operation inhibit-read-only coding-system-for-write erc-dcc-file-name erc-dcc-byte-count binary t append (jka-compr-handler image-file-handler) write-region nomessage buffer-size erase-buffer] 8 (#$ . 31664)])
#@363 This is the process filter for transfers from other clients to this one.
It reads incoming bytes from the network and stores them in the DCC
buffer, and sends back the replies after each block of data per the DCC
protocol spec.  Well not really.  We write back a reply after each read,
rather than every 1024 byte block, but nobody seems to care.

(fn PROC STR)
(defalias 'erc-dcc-get-filter #[514 "r\306!q\210\307\310db\210\203\311!\203\312\313!\210c\210d	V\203)\314p\n\"\210\315 \262\2036\211\\\262\f\203L\316\310\317
\320\321\322\323 !\324\325	!&\210\326\327\"\330V\203s\211\326\327\"V\203s\316\310\331\332\333\321\322\323 !&\210\334!\202y\335\336!\")\266\202)\207" [inhibit-read-only erc-dcc-receive-cache erc-dcc-file-name erc-dcc-byte-count erc-dcc-verbose erc-server-process process-buffer t nil multibyte-string-p cl--assertion-failed (not (multibyte-string-p str)) erc-dcc-append-contents buffer-size erc-display-message notice dcc-get-bytes-received 102 file-name-nondirectory buffer-name 98 number-to-string plist-get :size 0 (notice error) active dcc-get-file-too-long delete-process process-send-string erc-pack-int erc-dcc-entry-data] 14 (#$ . 32150)])
#@160 This is the process sentinel for CTCP DCC SEND connections.
It shuts down the connection and notifies the user that the
transfer is complete.

(fn PROC EVENT)
(defalias 'erc-dcc-get-sentinel #[514 "r\305!q\210\306!\210\307	\"edU\204\310p\n\"\210\311\312\313\314\315\n\316\317\f!\320\321\322\323\324\325\"\312\"\"&\n\210)\326\305!!\210\306!\207" [erc-dcc-entry-data erc-dcc-list erc-dcc-file-name erc-server-process erc-dcc-byte-count process-buffer delete-process delete erc-dcc-append-contents erc-display-message nil notice dcc-get-complete 102 115 number-to-string 116 format "%.0f" erc-time-diff plist-get :start-time kill-buffer] 18 (#$ . 33354)])
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\210\300\314\302\303\315DD\316\306\313%\210\300\317\302\303\320DD\316\306\313%\207" [custom-declare-variable erc-dcc-chat-buffer-name-format funcall function #[0 "\300\207" ["DCC-CHAT-%s"] 1 #1=""] "Format to use for DCC Chat buffer names." :type string erc-dcc-chat-mode-hook #[0 "\300\207" [nil] 1 #1#] "Hook calls when `erc-dcc-chat-mode' finished setting up the buffer." hook erc-dcc-chat-connect-hook #[0 "\300\207" [nil] 1 #1#] #1# erc-dcc-chat-exit-hook #[0 "\300\207" [nil] 1 #1#]] 6)
#@106 Set or get the DCC chat request flag.
Possible values are: ask, auto, ignore.

(fn LINE &optional FORCE)
(defalias 'erc-cmd-CREQ #[513 "\301\302\"\205/\303\304\"\211;\203\"\305\306\307\310\311\312\313!\211\"$\210\202,\305\306\307\310\311\314\"$\210\315\262\207" [erc-dcc-chat-request string-match "^\\s-*\\(auto\\|ask\\|ignore\\)?$" match-string 1 erc-display-message nil notice active format "Set DCC Chat requests to %S" intern "DCC Chat requests are set to %S" t] 11 (#$ . 34603)])
#@106 Set or get the DCC send request flag.
Possible values are: ask, auto, ignore.

(fn LINE &optional FORCE)
(defalias 'erc-cmd-SREQ #[513 "\301\302\"\205/\303\304\"\211;\203\"\305\306\307\310\311\312\313!\211\"$\210\202,\305\306\307\310\311\314\"$\210\315\262\207" [erc-dcc-send-request string-match "^\\s-*\\(auto\\|ask\\|ignore\\)?$" match-string 1 erc-display-message nil notice active format "Set DCC Send requests to %S" intern "DCC Send requests are set to %S" t] 11 (#$ . 35105)])
(defalias 'pcomplete/erc-mode/CREQ #[0 "\300\301\302\211\211$\207" [pcomplete--here #[0 "\300\207" [("auto" "ask" "ignore")] 1] nil] 5])
(byte-code "\300\301\302\"\210\303\304\305\306#\210\307\211\203-\211@\304N\203&\305N\204&\310\305\304N#\210A\266\202\202\f\210\311\304\305\312#\207" [defalias pcomplete/erc-mode/SREQ pcomplete/erc-mode/CREQ defvaralias erc-dcc-chat-filter-hook erc-dcc-chat-filter-functions nil (saved-value saved-variable-comment) put make-obsolete-variable "24.3"] 7)
#@158 Abnormal hook run after parsing (and maybe inserting) a DCC message.
Each function is called with two arguments: the ERC process and
the unprocessed output.
(defvar erc-dcc-chat-filter-functions '(erc-dcc-chat-parse-output) (#$ . 36106))
#@28 Keymap for `erc-dcc-mode'.
(defvar erc-dcc-chat-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\207" [make-sparse-keymap define-key "
" erc-send-current-line "	" completion-at-point] 5) (#$ . 36350))
(defvar erc-dcc-chat-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [erc-dcc-chat-mode-hook variable-documentation put "Hook run after entering DCC-Chat mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp erc-dcc-chat-mode-map definition-name erc-dcc-chat-mode] 4)
(defvar erc-dcc-chat-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\317#\207" [erc-dcc-chat-mode-abbrev-table erc-dcc-chat-mode-map variable-documentation put purecopy "Keymap for `erc-dcc-chat-mode'." boundp erc-dcc-chat-mode-syntax-table definition-name erc-dcc-chat-mode (lambda (#1=#:def-tmp-var) (defvar erc-dcc-chat-mode-syntax-table #1#)) make-syntax-table "Syntax table for `erc-dcc-chat-mode'." (lambda (#1#) (defvar erc-dcc-chat-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `erc-dcc-chat-mode'." derived-mode-parent] 5)
#@176 Major mode for wasting time via DCC chat.

This mode runs the hook `erc-dcc-chat-mode-hook', as the final or
penultimate step during initialization.

\{erc-dcc-chat-mode-map}
(defalias 'erc-dcc-chat-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
\315\316\317\320\321\322\323\307$\210)\324\325!\207" [delay-mode-hooks major-mode mode-name erc-dcc-chat-mode-map erc-dcc-chat-mode-syntax-table erc-dcc-chat-mode-abbrev-table make-local-variable t kill-all-local-variables erc-dcc-chat-mode "DCC-Chat" use-local-map set-syntax-table (":%s") erc-dcc-chat-send-input-line (dcc) add-hook completion-at-point-functions erc-complete-word-at-point nil run-mode-hooks erc-dcc-chat-mode-hook local-abbrev-table mode-line-process erc-send-input-line-function erc-default-recipients] 5 (#$ . 37786) nil])
#@141 Send LINE to the remote end.
Argument RECIPIENT should always be the symbol dcc, and force
is ignored.

(fn RECIPIENT LINE &optional FORCE)
(defalias 'erc-dcc-chat-send-input-line #[770 "\300=\203
\301\302p!\"\207\303\304p\"\207" [dcc process-send-string get-buffer-process error "erc-dcc-chat-send-input-line in %s"] 6 (#$ . 38614)])
#@113 Open a socket for incoming connections, and send a chat request to the
other client.

(fn NICK &optional PPROC)
(defalias 'erc-dcc-chat #[513 "\211\204\301!\203\262\202\302\303!\210\304\305\306\307#\310!\311\312$\210\313\314\315\316@!A@$\"\207" [erc-server-process processp error "Can not find parent process" erc-dcc-server "dcc-chat-out" erc-dcc-chat-filter erc-dcc-chat-sentinel process-contact erc-dcc-list-add OCHAT process-send-string format "PRIVMSG %s :DCC CHAT chat %s %d\n" erc-ip-to-decimal] 11 (#$ . 38959) "sNick: "])
(byte-code "\300\301!\210\300\302!\207" [make-variable-buffer-local erc-dcc-from erc-dcc-unprocessed-output] 2)
#@60 Setup a DCC chat buffer, returning the buffer.

(fn ENTRY)
(defalias 'erc-dcc-chat-setup #[257 "\306\307\310\"!\311\312\"!\307\313\"\307\314\"\315!\210\316 \210\211\317\320 \321 \322d\"\210\323\"\210\324\325\326\327\330$\210\331\332\"\210\207" [erc-dcc-chat-buffer-name-format erc-server-process erc-dcc-from erc-dcc-entry-data erc-dcc-unprocessed-output erc-insert-marker erc-extract-nick plist-get :nick generate-new-buffer format :peer :parent erc-setup-buffer erc-dcc-chat-mode "" point-max-marker make-marker erc-display-prompt set-process-buffer add-hook kill-buffer-hook erc-dcc-chat-buffer-killed nil t run-hook-with-args erc-dcc-chat-connect-hook erc-input-marker] 10 (#$ . 39631)])
#@82 Accept an incoming DCC connection and open a DCC window.

(fn ENTRY PARENT-PROC)
(defalias 'erc-dcc-chat-accept #[514 "\301\302\301\303\304\"\305\303\306\"!%\262\307\310#\262\307\311#\262\312\313\"\210\314\315\"\210\316!\207" [erc-dcc-connect-function nil "dcc-chat" plist-get :ip string-to-number :port plist-put :peer :parent set-process-filter erc-dcc-chat-filter set-process-sentinel erc-dcc-chat-sentinel erc-dcc-chat-setup] 11 (#$ . 40349)])
#@17 

(fn PROC STR)
(defalias 'erc-dcc-chat-filter #[514 "p\301\302\"\216\303!q\210P\304\305#)\207" [erc-dcc-unprocessed-output make-closure #[0 "\300q\207" [V0] 1] process-buffer run-hook-with-args erc-dcc-chat-filter-functions] 7 (#$ . 40820)])
#@17 

(fn PROC STR)
(defalias 'erc-dcc-chat-parse-output #[514 "\302 \303\304\"\216\305\306\307\310#\2031\305\224O\262\305\225\262\311\306\211\312\313\314\315\316#\317&\210\202	\306O\211\266\202)\207" [erc-dcc-from erc-dcc-unprocessed-output match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 0 nil string-match "\n" erc-display-message dcc-chat-privmsg 110 propertize font-lock-face erc-nick-default-face 109] 15 (#$ . 41076)])
(defalias 'erc-dcc-chat-buffer-killed #[0 "\300\301!\207" [erc-dcc-chat-close "killed buffer"] 2])
#@105 Close a DCC chat, removing any associated processes and tidying up
`erc-dcc-list'

(fn &optional EVENT)
(defalias 'erc-dcc-chat-close #[256 "\304\305\"\206	\306\2052\307	\"\310\311\"\210\312!\210\313\314\315\n\316\317\320\321 \322\n&\n\210\323\305\314#\211\207" [erc-dcc-entry-data erc-dcc-list erc-server-process erc-dcc-from plist-get :peer "" delq run-hook-with-args erc-dcc-chat-exit-hook delete-process erc-display-message nil notice dcc-chat-ended 110 116 current-time-string 101 plist-put] 14 (#$ . 41656)])
#@19 

(fn PROC EVENT)
(defalias 'erc-dcc-chat-sentinel #[514 "p\300\301\"\302\303\"\216\304\305\"\203\306!\202\307!)\207" [erc-dcc-member :peer make-closure #[0 "\300q\207" [V0] 1] string-match "^open from" erc-dcc-chat-setup erc-dcc-chat-close] 7 (#$ . 42190)])
#@79 Detect and handle no-such-nick replies from the IRC server.

(fn PROC PARSED)
(defalias 'erc-dcc-no-such-nick #[514 "\302\303\304!>\204\305\306\307D\"\210\310HA@\311$\312\313\"\314!\203+\315!\316=\203/\203>\317	\"\314!\203>\320!\210\321\207" [cl-struct-erc-response-tags erc-dcc-list erc-dcc-member :nick type-of signal wrong-type-argument erc-response 4 :parent plist-get :peer processp process-status open delq delete-process nil] 8 (#$ . 42464)])
(provide 'erc-dcc)

Youez - 2016 - github.com/yon3zu
LinuXploit