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-track.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%\210\310\320\312\313\321DD\322\316\323%\210\310\324\312\313\325DD\326\316\327%\210\310\330\312\313\331DD\332\316\333%\210\310\334\312\313\335DD\336\316\337%\210\310\340\312\313\341DD\342\316\333%\210\310\343\312\313\344DD\345\316\346%\210\310\347\312\313\350DD\351\316\346%\210\310\352\312\313\353DD\354\316\355%\210\310\356\312\313\357DD\360\316\361%\210\310\362\312\313\363DD\364\316\365%\210\310\366\312\313\367DD\370\316\333%\210\310\371\312\313\372DD\373\316\374%\210\310\375\312\313\376DD\377\316\201@%\210\310\201A\312\313\201BDD\201C\316\201D%\210\310\201E\312\313\201FDD\201G\316\201H\201I\201J&\207" [require erc erc-match custom-declare-group erc-track nil "Track active buffers and show activity in the mode line." :group custom-declare-variable erc-track-enable-keybindings funcall function #[0 "\300\207" [ask] 1 #1=""] "Whether to enable the ERC track keybindings, namely:\n`C-c C-SPC' and `C-c C-@', which both do the same thing.\n\nThe default is to check to see whether these keys are used\nalready: if not, then enable the ERC track minor mode, which\nprovides these keys.  Otherwise, do not touch the keys.\n\nThis can alternatively be set to either t or nil, which indicate\nrespectively always to enable ERC track minor mode or never to\nenable ERC track minor mode.\n\nThe reason for using this default value is to both (1) adhere to\nthe Emacs development guidelines which say not to touch keys of\nthe form C-c C-<something> and also (2) to meet the expectations\nof long-time ERC users, many of whom rely on these keybindings." :type (choice (const :tag "Ask, if used already" ask) (const :tag "Enable" t) (const :tag "Disable" nil)) erc-track-visibility #[0 "\300\207" [t] 1 #1#] "Where do we look for buffers to determine their visibility?\nThe value of this variable determines, when a buffer is considered\nvisible or invisible.  New messages in invisible buffers are tracked,\nwhile switching to visible buffers when they are tracked removes them\nfrom the list.  See also `erc-track-when-inactive'.\n\nPossible values are:\n\nt                - all frames\nvisible          - all visible frames\nnil              - only the selected frame\nselected-visible - only the selected frame if it is visible\n\nActivity means that there was no user input in the last 10 seconds." (choice (const :tag "All frames" t) (const :tag "All visible frames" visible) (const :tag "Only the selected frame" nil) (const :tag "Only the selected frame if it is visible" selected-visible)) erc-track-exclude #[0 "\300\207" [nil] 1 #1#] "A list targets (channel names or query targets) which should not be tracked." (repeat string) erc-track-remove-disconnected-buffers #[0 "\300\207" [nil] 1 #1#] "If true, remove buffers associated with a server that is\ndisconnected from `erc-modified-channels-alist'." boolean erc-track-exclude-types #[0 "\300\207" [("NICK" "333" "353")] 1 #1#] "List of message types to be ignored.\nThis list could look like (\"JOIN\" \"PART\").\n\nBy default, exclude changes of nicknames (NICK), display of who\nset the channel topic (333), and listing of users on the current\nchannel (353)." erc-message-type erc-track-exclude-server-buffer #[0 "\300\207" [nil] 1 #1#] "If true, don't perform tracking on the server buffer.\nThis is useful for excluding all the things like MOTDs from the\nserver and other miscellaneous functions." erc-track-shorten-start #[0 "\300\207" [1] 1 #1#] "Minimum number of characters for a channel name in the mode-line." number erc-track-shorten-cutoff #[0 "\300\207" [4] 1 #1#] "All channel names longer than this value will be shortened." erc-track-shorten-aggressively #[0 "\300\207" [nil] 1 #1#] "If non-nil, channel names will be shortened more aggressively.\nUsually, names are not shortened if this will save only one character.\nExample: If there are two channels, #linux-de and #linux-fr, then\nnormally these will not be shortened.  When shortening aggressively,\nhowever, these will be shortened to #linux-d and #linux-f.\n\nIf this variable is set to `max', then channel names will be shortened\nto the max.  Usually, shortened channel names will remain unique for a\ngiven set of existing channels.  When shortening to the max, the shortened\nchannel names will be unique for the set of active channels only.\nExample: If there are two active channels #emacs and #vi, and two inactive\nchannels #electronica and #folk, then usually the active channels are\nshortened to #em and #v.  When shortening to the max, however, #emacs is\nnot compared to #electronica -- only to #vi, therefore it can be shortened\neven more and the result is #e and #v.\n\nThis setting is used by `erc-track-shorten-names'." (choice (const :tag "No" nil) (const :tag "Yes" t) (const :tag "Max" max)) erc-track-shorten-function #[0 "\300\207" [erc-track-shorten-names] 1 #1#] "This function will be used to reduce the channel names before display.\nIt takes one argument, CHANNEL-NAMES which is a list of strings.\nIt should return a list of strings of the same number of elements.\nIf nil instead of a function, shortening is disabled." (choice (const :tag "Disabled") function) erc-track-list-changed-hook #[0 "\300\207" [nil] 1 #1#] "Hook run when the contents of `erc-modified-channels-alist' changes.\n\nThis is useful for people that don't use the default mode-line\nnotification but instead use a separate mechanism to provide\nnotification of channel activity." hook erc-track-use-faces #[0 "\300\207" [t] 1 #1#] "Use faces in the mode-line.\nThe faces used are the same as used for text in the buffers.\n(e.g. `erc-pal-face' is used if a pal sent a message to that channel.)" erc-track-faces-priority-list #[0 "\300\207" [(erc-error-face (erc-nick-default-face erc-current-nick-face) erc-current-nick-face erc-keyword-face (erc-nick-default-face erc-pal-face) erc-pal-face erc-nick-msg-face erc-direct-msg-face (erc-button erc-default-face) (erc-nick-default-face erc-dangerous-host-face) erc-dangerous-host-face erc-nick-default-face (erc-nick-default-face erc-default-face) erc-default-face erc-action-face (erc-nick-default-face erc-fool-face) erc-fool-face erc-notice-face erc-input-face erc-prompt-face)] 1 #1#] "A list of faces used to highlight active buffer names in the mode line.\nIf a message contains one of the faces in this list, the buffer name will\nbe highlighted using that face.  The first matching face is used." (repeat (choice face (repeat :tag "Combination" face))) erc-track-priority-faces-only #[0 "\300\207" [nil] 1 #1#] "Only track text highlighted with a priority face.\nIf you would like to ignore changes in certain channels where there\nare no faces corresponding to your `erc-track-faces-priority-list', set\nthis variable.  You can set a list of channel name strings, so those\nwill be ignored while all other channels will be tracked as normal.\nOther options are `all', to apply this to all channels or nil, to disable\nthis feature.\n\nNote: If you have a lot of faces listed in `erc-track-faces-priority-list',\nsetting this variable might not be very useful." (choice (const nil) (repeat string) (const all)) erc-track-faces-normal-list #[0 "\300\207" [((erc-button erc-default-face) (erc-nick-default-face erc-dangerous-host-face) erc-dangerous-host-face erc-nick-default-face (erc-nick-default-face erc-default-face) erc-default-face erc-action-face)] 1 #1#] "A list of faces considered to be part of normal conversations.\nThis list is used to highlight active buffer names in the mode line.\n\nIf a message contains one of the faces in this list, and the\nprevious mode line face for this buffer is also in this list, then\nthe buffer name will be highlighted using the face from the\nmessage.  This gives a rough indication that active conversations\nare occurring in these channels.\n\nThe effect may be disabled by setting this variable to nil." (repeat (choice face (repeat :tag "Combination" face))) erc-track-position-in-mode-line #[0 "\300\207" [before-modes] 1 #1#] "Where to show modified channel information in the mode-line.\n\nChoices are:\n`before-modes' - add to the beginning of `mode-line-modes',\n`after-modes'  - add to the end of `mode-line-modes',\nt              - add to the end of `global-mode-string',\nnil            - don't add to mode line." (choice (const :tag "Just before mode information" before-modes) (const :tag "Just after mode information" after-modes) (const :tag "After all other information" t) (const :tag "Don't display in mode line" nil)) :set #[514 "L\210\301\300!\205\205\302 \210\303!\207" [erc-track-mode boundp erc-track-remove-from-mode-line erc-track-add-to-mode-line] 4 "\n\n(fn SYM VAL)"]] 8)
#@79 Generate a new `erc-modified-channels-object' based on STRINGS.

(fn STRINGS)
(defalias 'erc-modified-channels-object #[257 "\211\203\"\301=\203\302\202\303\304\305\237\306#\307=\203\310\202 \311Q\207\312\207" [erc-track-position-in-mode-line after-modes "[" " [" mapconcat identity "," before-modes "] " "]" ""] 6 (#$ . 8855)])
#@73 Internal object used for displaying modified channels in the mode line.
(defvar erc-modified-channels-object (erc-modified-channels-object nil) (#$ . 9201))
(put 'erc-modified-channels-object 'risky-local-variable t)
#@849 An ALIST used for tracking channel modification activity.
Each element is a list of the form (BUFFER COUNT . FACE) where
BUFFER is a buffer object of the channel the entry corresponds
to, COUNT is a number indicating how often activity was noticed,
and FACE is a face (or a list of faces, combined as usual) to use
when displaying the buffer's name in the mode line.

Entries in this list are only added/updated for buffers that were
not visible when activity occurred in them, and are removed for
each buffer as soon as it becomes visible again (or if the server
is disconnected, provided `erc-track-remove-disconnected-buffers'
is true).

For how the face is chosen for a buffer, see
`erc-track-select-mode-line-face' and
`erc-track-priority-faces-only'.  For how buffers are then
displayed in the mode line, see `erc-modified-channels-display'.
(defvar erc-modified-channels-alist nil (#$ . 9425))
(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\307%\210\300\317\302\303\320DD\321\306\322%\207" [custom-declare-variable erc-track-showcount funcall function #[0 "\300\207" [nil] 1 #1=""] "If non-nil, count of unseen messages will be shown for each channel." :type boolean erc-track-showcount-string #[0 "\300\207" [":"] 1 #1#] "The string to display between buffer name and the count in the mode line.\nThe default is a colon, resulting in \"#emacs:9\"." string erc-track-switch-from-erc #[0 "\300\207" [t] 1 #1#] "If non-nil, `erc-track-switch-buffer' will return to the last non-erc buffer\nwhen there are no more active channels." erc-track-switch-direction #[0 "\300\207" [oldest] 1 #1#] "Direction `erc-track-switch-buffer' should switch.\n\n  importance  -  find buffer with the most important message\n  oldest      -  find oldest active buffer\n  newest      -  find newest active buffer\n  leastactive -  find buffer with least unseen messages\n  mostactive  -  find buffer with most unseen messages.\n\nIf set to `importance', the importance is determined by position\nin `erc-track-faces-priority-list', where first is most\nimportant." (choice (const importance) (const oldest) (const newest) (const leastactive) (const mostactive))] 6)
#@58 Remove `erc-track-modified-channels' from the mode-line.
(defalias 'erc-track-remove-from-mode-line #[0 "\302\303\"	:\205\304\305	\"\211\207" [mode-line-modes global-mode-string remove (t erc-modified-channels-object) delq erc-modified-channels-object] 3 (#$ . 11656)])
#@139 Add `erc-track-modified-channels' to POSITION in the mode-line.
See `erc-track-position-in-mode-line' for possible values.

(fn POSITION)
(defalias 'erc-track-add-to-mode-line #[257 "\211\301\267\202\302\303\304\"\207\302\303\305\306#\207\204\307\302\300\310\306#\207\311\207" [global-mode-string #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (before-modes 6 after-modes 11 t 17)) add-to-list mode-line-modes (t erc-modified-channels-object) (t erc-modified-channels-object) t ("") erc-modified-channels-object nil] 5 (#$ . 11938)])
#@425 Call `erc-unique-channel-names' with the correct parameters.
This function is a good value for `erc-track-shorten-function'.
The list of all channels is returned by `erc-all-buffer-names'.
CHANNEL-NAMES is the list of active channel names.
Only channel names longer than `erc-track-shorten-cutoff' are
actually shortened, and they are only shortened to a minimum
of `erc-track-shorten-start' characters.

(fn CHANNEL-NAMES)
(defalias 'erc-track-shorten-names #[257 "\301\302 \303$\207" [erc-track-shorten-start erc-unique-channel-names erc-all-buffer-names #[257 "\211GV\207" [erc-track-shorten-cutoff] 3 "\n\n(fn S)"]] 6 (#$ . 12523)])
#@151 Return all channel or query buffer names.
Note that we cannot use `erc-channel-list' with a nil argument,
because that does not return query buffers.
(defalias 'erc-all-buffer-names #[0 "\212\301\302 \211\203&\211@\211q\210\303=\204\304=\203\305 B\262A\266\202\202\210\211\262)\207" [major-mode nil buffer-list erc-mode erc-dcc-chat-mode buffer-name] 5 (#$ . 13170)])
#@312 Return a list of unique channel names.
ALL is the list of all channel and query buffer names.
ACTIVE is the list of active buffer names.
PREDICATE is a predicate that should return non-nil if a name needs
  no shortening.
START is the minimum length of the name used.

(fn ALL ACTIVE &optional PREDICATE START)
(defalias 'erc-unique-channel-names #[1026 "\301=\203\f\302#\207\303\302#\304\"\305\211\203Y\211@\305\211\203J\211\204J@\262A\262\306GG^O\230\203\235\204\262\202\211B\262\266A\266\202\202\210\211\237\207" [erc-track-shorten-aggressively max erc-unique-substrings sort #[514 "GGV\207" [] 4 "\n\n(fn A B)"] nil 0] 16 (#$ . 13558)])
#@88 Return a list of unique substrings of STRINGS.

(fn STRINGS &optional PREDICATE START)
(defalias 'erc-unique-substrings #[769 "\211C\211\242\247\203\211\242\300W\203\211\301\240\210\302\303\304$\"\207" [0 2 mapcar make-closure #[257 "\304\305\300!\"G\302\242G^\306\211\307\301!\203\301!\204\207\211\204CV\203.\310\262\202<\311O\262\312\"?\262T\262\202GSU\203Q\204Q\207\207" [V0 V1 V2 erc-track-shorten-aggressively delete copy-sequence nil functionp t 0 erc-unique-substring-1] 9 "\n\n(fn STR)"]] 10 (#$ . 14248)])
#@88 Return non-nil when any string in OTHERS starts with CANDIDATE.

(fn CANDIDATE OTHERS)
(defalias 'erc-unique-substring-1 #[514 "\300\211G\203*\204*@\262A\262GY\203\301O\230\203\262\202\207" [nil 0] 9 (#$ . 14813)])
#@36 Keymap for rcirc track minor mode.
(defvar erc-track-minor-mode-map (make-sparse-keymap) (#$ . 15057))
(byte-code "\301\302\303#\210\301\304\303#\210\305\306\307\310\311DD\312\313\314\315\316\317\320&	\207" [erc-track-minor-mode-map define-key "" erc-track-switch-buffer [3 67108896] custom-declare-variable erc-track-minor-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-Track minor mode is enabled.\nSee the `erc-track-minor-mode' command\nfor a description of this minor mode." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean] 10)
#@885 Toggle mode line display of ERC activity (ERC Track minor mode).

This is a minor mode.  If called interactively, toggle the `Erc-Track
minor mode' mode.  If the prefix argument is positive, enable the
mode, and if it is zero or negative, disable the mode.

If called from Lisp, toggle the mode if ARG is `toggle'.  Enable the
mode if ARG is nil, omitted, or is a positive number.  Disable the
mode if ARG is a negative number.

To check whether the minor mode is enabled in the current buffer,
evaluate `(default-value \='erc-track-minor-mode)'.

The mode's hook is called both when the mode is enabled and when it is
disabled.

ERC Track minor mode is a global minor mode.  It exists for the
sole purpose of providing the C-c C-SPC and C-c C-@ keybindings.
Make sure that you have enabled the track module, otherwise the
keybindings will not do anything useful.

(fn &optional ARG)
(defalias 'erc-track-minor-mode #[256 "\301 \302\303\304=\203\305\303!?\202!\247\203 \306W\203 \307\202!\310\"\210\311\300!\2038\312\303\"\305\303!\2038\303B\313\314\305\303!\203D\315\202E\316\"\210\317\320!\203m\321\303!\210\301 \203]\211\301 \232\203m\322\323\305\303!\203i\324\202j\325\326#\210\210\327 \210\305\303!\207" [global-minor-modes current-message set-default erc-track-minor-mode toggle default-value 1 nil t boundp delq run-hooks erc-track-minor-mode-hook erc-track-minor-mode-on-hook erc-track-minor-mode-off-hook called-interactively-p any customize-mark-as-set message "Erc-Track minor mode %sabled%s" "en" "dis" "" force-mode-line-update] 6 (#$ . 15650) (byte-code "\203\n\301!\202\302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-track-minor-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-track-minor-mode-map erc-track-minor-mode-hook variable-documentation put "Hook run after entering or leaving `erc-track-minor-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-track-minor-mode boundp] 6)
#@100 Enable `erc-track-minor-mode', depending on `erc-track-enable-keybindings'.

(fn &optional BUFFER)
(defalias 'erc-track-minor-mode-maybe #[256 "?\205\\\303!\203r\211q\210	)\304=\204\305 \205\\\n\306\267\202[\307\310!\203+\311\2022\307\312!\2052\313\211\203S\314\315\316Q!\203K\317\320!\210\321\322!\210\300\323!\207\317\324!\210\321\322!\207\300\323!\207\300\323!\207\325\207" [erc-track-minor-mode major-mode erc-track-enable-keybindings buffer-live-p erc-mode erc-buffer-list #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ask 33 t 87)) key-binding [3 67108896] "C-SPC" "" "C-@" y-or-n-p "The C-c " " binding is in use; override it for tracking? " message "Will change it; set `erc-track-enable-keybindings' to disable this message" sleep-for 3 1 "Not changing it; set `erc-track-enable-keybindings' to disable this message" nil] 6 (#$ . 17857)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable erc-track-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-Track mode is enabled.\nSee the `erc-track-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-track-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group erc-track] 12)
#@247 Toggle ERC track mode.
With a prefix argument ARG, enable track if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
This mode tracks ERC channel buffers with activity.

(fn &optional ARG)
(defalias 'erc-track-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-track-mode current-message set-default toggle default-value 1 nil t boundp delq erc-track-enable erc-track-disable run-hooks erc-track-mode-hook erc-track-mode-on-hook erc-track-mode-off-hook called-interactively-p any customize-mark-as-set message "Erc-Track mode %sabled%s" "en" "dis" "" force-mode-line-update] 6 (#$ . 19301) (byte-code "\203\n\301!\202\302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-track-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-track-mode-map erc-track-mode-hook variable-documentation put "Hook run after entering or leaving `erc-track-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-track-mode boundp] 6)
#@24 Enable ERC track mode.
(defalias 'erc-track-enable #[0 "\303\304\305\"\210\306\307\301!\205@	\203#\310\311\312\"\210\310\313\312\"\210\310\314\312\"\210\2029\315\n!\210\316 \210\310\311\317\"\210\310\320\321\"\210\310\322\323\"\210\310\324\325\"\210\325 \207" [erc-track-mode erc-track-when-inactive erc-track-position-in-mode-line add-to-list erc-modules track t boundp add-hook window-configuration-change-hook erc-user-is-active erc-send-completed-hook erc-server-001-functions erc-track-add-to-mode-line erc-update-mode-line erc-window-configuration-change erc-insert-post-hook erc-track-modified-channels erc-disconnected-hook erc-modified-channels-update erc-connect-pre-hook erc-track-minor-mode-maybe] 3 (#$ . 20869) nil])
#@25 Disable ERC track mode.
(defalias 'erc-track-disable #[0 "\304\305\"\306\307\302!\205F\310 \210\n\203+\311\312\313\"\210\311\314\313\"\210\311\315\313\"\210\311\316\313\"\210\202:\311\312\317\"\210\311\320\321\"\210\311\322\323\"\210\311\324\325\"\210\205F\303\326!\207" [erc-modules erc-track-mode erc-track-when-inactive erc-track-minor-mode delq track nil boundp erc-track-remove-from-mode-line remove-hook window-configuration-change-hook erc-user-is-active erc-send-completed-hook erc-server-001-functions erc-timer-hook erc-window-configuration-change erc-disconnected-hook erc-modified-channels-update erc-insert-post-hook erc-track-modified-channels erc-connect-pre-hook erc-track-minor-mode-maybe -1] 3 (#$ . 21610) 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\316\317&\207" [put erc-track-mode definition-name track erc-track-enable erc-track-disable custom-declare-variable erc-track-when-inactive funcall function #[0 "\300\207" [nil] 1 ""] "Enable channel tracking even for visible buffers, if you are inactive." :type boolean :set #[514 "\203\301 \210L\210\302 \207L\207" [erc-track-mode erc-track-disable erc-track-enable] 4 "\n\n(fn SYM VAL)"]] 8)
#@36 Last time the user sent something.
(defvar erc-buffer-activity nil (#$ . 22867))
#@132 How many seconds of inactivity by the user
to consider when `erc-track-visibility' is set to
only consider active buffers visible.
(defvar erc-buffer-activity-timeout 10 (#$ . 22955))
#@47 Set `erc-buffer-activity'.

(fn &rest IGNORE)
(defalias 'erc-user-is-active #[128 "\205	\302 \303 \207" [erc-server-connected erc-buffer-activity erc-current-time erc-track-modified-channels] 2 (#$ . 23145)])
#@27 

(fn BUFFER FRAME-PARAM)
(defalias 'erc-track-get-buffer-window #[514 "\211\300=\203\301\302 !\303=\205\304\305\"\207\304\"\207" [selected-visible frame-visible-p selected-frame t get-buffer-window nil] 5 (#$ . 23363)])
#@57 Return non-nil when the buffer is visible.

(fn BUFFER)
(defalias 'erc-buffer-visible #[257 "\203	\205\304\n\"\205\305\306	\307\"\"?\207\304\n\"\207" [erc-track-when-inactive erc-buffer-activity erc-track-visibility erc-buffer-activity-timeout erc-track-get-buffer-window time-less-p erc-time-diff nil] 6 (#$ . 23597)])
(defalias 'erc-window-configuration-change #[0 "\300\301 !?\205\n\302 \207" [minibuffer-window-active-p minibuffer-window erc-modified-channels-update] 2])
#@208 Variable to prevent running `erc-modified-channels-update' multiple times.
Without it, you cannot debug `erc-modified-channels-display',
because the debugger also causes changes to the
window-configuration.
(defvar erc-modified-channels-update-inside nil (#$ . 24091))
#@229 Update `erc-modified-channels-alist' according to buffer visibility.
It calls `erc-modified-channels-display' at the end.  This should
usually be called via `window-configuration-change-hook'.
ARGS are ignored.

(fn &rest ARGS)
(defalias 'erc-modified-channels-update #[128 "?\205\302\303C\304\305\306\"	\"\210\211\242\205\307 )\266\202\207" [erc-modified-channels-update-inside erc-modified-channels-alist t nil mapc make-closure #[257 "\211@\303!\203\"\304!\203\"\305!\204\"	\205)r\211q\210\n)?\205)\300\306\240\210\307!\207" [V0 erc-track-remove-disconnected-buffers erc-server-connected bufferp buffer-live-p erc-buffer-visible t erc-modified-channels-remove-buffer] 4 "\n\n(fn ELT)"] erc-modified-channels-display] 7 (#$ . 24367) nil])
#@68 The face to use when mouse is over channel names in the mode line.
(defvar erc-track-mouse-face 'mode-line-highlight (#$ . 25131))
#@453 Return a button that switches to BUFFER when clicked.
STRING is the string in the button.  It is possibly suffixed with
the number of unread messages, according to variables
`erc-track-showcount' and `erc-track-showcount-string'.

If `erc-track-use-faces' is true and FACES are provided, format
STRING with them. When the mouse hovers above the button, STRING
is displayed according to `erc-track-mouse-face'.

(fn STRING BUFFER &optional FACES COUNT)
(defalias 'erc-make-mode-line-buffer-name #[1026 "\304 \203	\305!Q\202\306!\307\310\311\312\"\313\314	\"#\210\307\310\311\315\"\313\316	\"#\210\317\320G\321%\210\317\320G\322\323%\210\317\320G\324\n%\210\203Y\203Y\317\320G\325%\210\207" [erc-track-showcount erc-track-showcount-string erc-track-mouse-face erc-track-use-faces make-sparse-keymap int-to-string copy-sequence define-key vector mode-line mouse-2 make-closure #[257 "\301 r\302\303\"\216\304\305!\211@\262!\210\306\300!*\207" [V0 internal--before-save-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2] select-window event-start switch-to-buffer] 5 "\n\n(fn E)" "e"] mouse-3 #[257 "\301 r\302\303\"\216\304\305!\211@\262!\210\306\300!*\207" [V0 internal--before-save-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2] select-window event-start switch-to-buffer-other-window] 5 "\n\n(fn E)" "e"] put-text-property 0 local-map help-echo "mouse-2: switch to buffer, mouse-3: switch to buffer in other window" mouse-face face] 12 (#$ . 25269)])
#@136 Set `erc-modified-channels-object' according to `erc-modified-channels-alist'.
Use `erc-make-mode-line-buffer-name' to create buttons.
(defalias 'erc-modified-channels-display #[0 "\305=\204\f\306=\203\307 \210\202\310=\203\311 \210\312\313!\210	\205\207\n\205u\314\315\"\314\316\"\314\317\"\314\320\"\321\f!\203D\f!\202E\211\322\203s@\203`\323@@@@$B\262A\262A\262A\262A\262\202F\266\205\302!\324\"?\205\205\211\325\326!\266\203\207" [erc-track-switch-direction erc-track-position-in-mode-line erc-modified-channels-object erc-modified-channels-alist erc-track-shorten-function mostactive leastactive erc-track-sort-by-activest importance erc-track-sort-by-importance run-hooks erc-track-list-changed-hook mapcar car cadr cddr #[257 "\300!\206\301\207" [buffer-name ""] 3 "\n\n(fn BUF)"] functionp nil erc-make-mode-line-buffer-name equal-including-properties force-mode-line-update t] 12 (#$ . 26850)])
#@64 Remove BUFFER from `erc-modified-channels-alist'.

(fn BUFFER)
(defalias 'erc-modified-channels-remove-buffer #[257 "\301\236\"\302\303!\205\304 \207" [erc-modified-channels-alist delete called-interactively-p interactive erc-modified-channels-display] 4 (#$ . 27810) "bBuffer: "])
#@54 Return the face to use in the mode line.

(fn FACES)
(defalias 'erc-track-find-face #[257 "\300@A\"\207" [erc-track-select-mode-line-face] 4 (#$ . 28104)])
(make-obsolete 'erc-track-find-face 'erc-track-select-mode-line-face "28.1")
#@1093 Return the face to use in the mode line.

CUR-FACE is the face currently used in the mode line (for the
current buffer).  NEW-FACES is the list of new faces that have
just been seen (in the current buffer).

Initially, the selected face is the one with highest priority in
`erc-track-faces-priority-list' (i.e., the one closest to the
front of the list) among CUR-FACE and NEW-FACES.  If nothing
matches (including if `erc-track-faces-priority-list' is not
set), the default mode-line faces will be used (NIL is returned).

If the selected face is still CUR-FACE (highest priority), and
the highest priority face in NEW-FACES alone is different (which
necessarily means it has lower priority than CUR-FACE), and both
are in `erc-track-faces-normal-list', then the latter is selected
instead.  This has the effect of allowing the current mode line
face, if a member of `erc-track-faces-normal-list', to be
replaced with another with lower priority face from NEW-FACES, if
that face with highest priority in NEW-FACES is also a member of
`erc-track-faces-normal-list'.

(fn CUR-FACE NEW-FACES)
(defalias 'erc-track-select-mode-line-face #[514 "\3022&\211\205#\211@\211\232\204\211\235\203\303\302\"\210A\266\202\202\2620\211\205`\211\232\203_\211	\235\203_\3022V\211\205S\211@\211\235\203L\303\302\"\210A\266\202\202;\2620\211	\235\203]\207\207\211\207" [erc-track-faces-priority-list erc-track-faces-normal-list face throw] 8 (#$ . 28347)])
#@209 Hook function for `erc-insert-post-hook'.
Check if the current buffer should be added to the mode line as a
hidden, modified channel.  Assumes it will only be called when
the current buffer is in `erc-mode'.
(defalias 'erc-track-modified-channels #[0 "\306 \206\307p!\310p!\204\215\211\235\204\215	\203\311 \204\215\312\313 \206$e\n\"\204\215\314\315 !\316=\2049\235\205Z\3172Y\211\211\205V\211@\211\f\235\203O\320\317\321\"\210A\266\202\202>\2620??\205\214p
\236\204rp\322\323\324\"BB
B\202\212\211\203\212p
\236\211AA\323\"\211A@TB\241\266\325 \207\310p!\204\235\211\205\251\211\235\205\251p
\236\205\251\326p!\210\325 \207" [erc-track-exclude erc-track-exclude-server-buffer erc-track-exclude-types erc-track-priority-faces-only erc-track-faces-priority-list erc-modified-channels-alist erc-default-target buffer-name erc-buffer-visible erc-server-buffer-p erc-message-type-member erc-find-parsed-property erc-faces-in buffer-string all found throw t 1 erc-track-select-mode-line-face nil erc-modified-channels-display erc-modified-channels-remove-buffer] 8 (#$ . 29823)])
#@51 Return a list of all faces used in STR.

(fn STR)
(defalias 'erc-faces-in #[257 "\300G\301\300\302#\211\205\211C\262\303\304\302$\211\262\203?U\204?\301\302#\211\262\203\211\235\204\211B\262\202\207" [0 get-text-property face nil next-single-property-change] 10 (#$ . 30942)])
#@70 Name of the last buffer before activating `erc-track-switch-buffer'.
(defvar erc-track-last-non-erc-buffer nil (#$ . 31254))
#@102 Sort erc-modified-channels-alist by activity.
That means the number of unseen messages in a channel.
(defalias 'erc-track-sort-by-activest #[0 "\301\302\"\211\207" [erc-modified-channels-alist sort #[514 "A@A@V\207" [] 4 "\n\n(fn A B)"]] 3 (#$ . 31386)])
#@234 Return priority (a number) of FACE in `erc-track-faces-priority-list'.
Lower number means higher priority.

If face is not in `erc-track-faces-priority-list', it will have a
higher number than any other face in that list.

(fn FACE)
(defalias 'erc-track-face-priority #[257 "\301\3022(\211\205%\211@\211\232\203\303\302\304\"\210\202T\262A\266\202\202\2620\210\207" [erc-track-faces-priority-list 0 done throw t] 7 (#$ . 31652)])
#@123 Sort `erc-modified-channels-alist' by importance.
That means the position of the face in `erc-track-faces-priority-list'.
(defalias 'erc-track-sort-by-importance #[0 "\301\302\"\211\207" [erc-modified-channels-alist sort #[514 "\300AA!\300AA!W\207" [erc-track-face-priority] 5 "\n\n(fn A B)"]] 3 (#$ . 32103)])
#@188 Return the buffer name of ARG in `erc-modified-channels-alist'.
Negative arguments index in the opposite direction.  This direction
is relative to `erc-track-switch-direction'.

(fn ARG)
(defalias 'erc-track-get-active-buffer #[257 "\302\303W\203)\304\267\202\"\305\202#\306\202#\307\202#\310\202#\306\202#\302\262[\262\311>\2036	GZ\2028S\262\211	GY\203I	GS\262\202R\211\303W\203R\303\262\211	8@\207" [erc-track-switch-direction erc-modified-channels-alist nil 0 #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (oldest 14 newest 18 mostactive 22 leastactive 26 importance 30)) newest oldest leastactive mostactive (leastactive oldest)] 5 (#$ . 32425)])
#@16 

(fn FUN ARG)
(defalias 'erc-track--switch-buffer #[514 "\204\305\306!\207	\203\n\307=\204p\310!!\207\205+\f\205+\311!\205+!\207" [erc-track-mode erc-modified-channels-alist major-mode erc-track-last-non-erc-buffer erc-track-switch-from-erc message "Enable the ERC track module if you want to use the tracking minor mode" erc-mode erc-track-get-active-buffer buffer-live-p] 5 (#$ . 33145)])
#@240 Switch to the next active ERC buffer.
If there are no active ERC buffers, switch back to the last
non-ERC buffer visited.  The order of buffers is defined by
`erc-track-switch-direction', and a negative argument will
reverse it.

(fn ARG)
(defalias 'erc-track-switch-buffer #[257 "\300\301\"\207" [erc-track--switch-buffer switch-to-buffer] 4 (#$ . 33561) "p"])
#@258 Switch to the next active ERC buffer in another window.
If there are no active ERC buffers, switch back to the last
non-ERC buffer visited.  The order of buffers is defined by
`erc-track-switch-direction', and a negative argument will
reverse it.

(fn ARG)
(defalias 'erc-track-switch-buffer-other-window #[257 "\300\301\"\207" [erc-track--switch-buffer switch-to-buffer-other-window] 4 (#$ . 33931) "p"])
(provide 'erc-track)

Youez - 2016 - github.com/yon3zu
LinuXploit