? Fallagassrini

Fallagassrini Bypass Shell

echo"
Fallagassrini
";
Current Path : /usr/share/emacs/24.3/lisp/

Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
Upload File :
Current File : //usr/share/emacs/24.3/lisp/proced.elc

;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:06:27 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/proced.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307\306\310\311\312&	\210\313\314\315\316\306\303\317\320&\210\313\321\322\323\306\303\324\325\317\326&	\210\313\327\330\331\306\303\317\332&\210\313\333\334\335\306\303\317\336&\210\313\337\304\340\306\303\317\341&\210\313\342\343\344\306\303\317\345&\210\313\346\347\350\306\303\317\351&\210\352\346!\210\313\353\354\355\306\303\317\356&\210\313\357\360\361\306\303\317\362&\210\352\357!\210\313\363\364\365\306\303\317\366&\210\352\363!\210\313\367\370\371\306\303\317\372&\210\352\367!\210\313\373\374\375\306\303\317\376&\210\313\377\201@\201A\306\303\317\201B&\210\313\201C\304\201D\306\303\317\201E&\210\352\201C!\210\313\201F\304\201G\306\303\317\201E&\210\352\201F!\210\313\201H\304\201I\317\201J\201K\201L\306\303&	\210\313\201M\304\201N\317\201J\201K\201O\306\303&	\207" [require time-date custom-declare-group proced nil "Proced mode." :group processes unix :prefix "proced-" custom-declare-variable proced-signal-function 'signal-process "Name of signal function.\nIt can be an elisp function (usually `signal-process') or a string specifying\nthe external command (usually \"kill\")." :type (choice (function :tag "function") (string :tag "command")) proced-renice-command "renice" "Name of renice command." :version "24.3" (string :tag "command") proced-signal-list '(("HUP" . "   (1.  Hangup)") ("INT" . "   (2.  Terminal interrupt)") ("QUIT" . "  (3.  Terminal quit)") ("ABRT" . "  (6.  Process abort)") ("KILL" . "  (9.  Kill - cannot be caught or ignored)") ("ALRM" . "  (14. Alarm Clock)") ("TERM" . "  (15. Termination)") ("CONT" . "  (Continue executing)") ("STOP" . "  (Stop executing / pause - cannot be caught or ignored)") ("TSTP" . "  (Terminal stop / pause)")) "List of signals, used for minibuffer completion." (repeat (cons (string :tag "signal name") (string :tag "description"))) proced-grammar-alist '((euid "EUID" "%d" right proced-< nil (euid pid) (nil t nil)) (user "User" nil left proced-string-lessp nil (user pid) (nil t nil)) (egid "EGID" "%d" right proced-< nil (egid euid pid) (nil t nil)) (group "Group" nil left proced-string-lessp nil (group user pid) (nil t nil)) (comm "Command" nil left proced-string-lessp nil (comm pid) (nil t nil)) (state "Stat" nil left proced-string-lessp nil (state pid) (nil t nil)) (ppid "PPID" "%d" right proced-< nil (ppid pid) ((lambda (ppid) (proced-filter-parents proced-process-alist ppid)) "refine to process parents")) (pgrp "PGrp" "%d" right proced-< nil (pgrp euid pid) (nil t nil)) (sess "Sess" "%d" right proced-< nil (sess pid) (nil t nil)) (ttname "TTY" proced-format-ttname left proced-string-lessp nil (ttname pid) (nil t nil)) (tpgid "TPGID" "%d" right proced-< nil (tpgid pid) (nil t nil)) (minflt "MinFlt" "%d" right proced-< nil (minflt pid) (nil t t)) (majflt "MajFlt" "%d" right proced-< nil (majflt pid) (nil t t)) (cminflt "CMinFlt" "%d" right proced-< nil (cminflt pid) (nil t t)) (cmajflt "CMajFlt" "%d" right proced-< nil (cmajflt pid) (nil t t)) (utime "UTime" proced-format-time right proced-time-lessp t (utime pid) (nil t t)) (stime "STime" proced-format-time right proced-time-lessp t (stime pid) (nil t t)) (time "Time" proced-format-time right proced-time-lessp t (time pid) (nil t t)) (cutime "CUTime" proced-format-time right proced-time-lessp t (cutime pid) (nil t t)) (cstime "CSTime" proced-format-time right proced-time-lessp t (cstime pid) (nil t t)) (ctime "CTime" proced-format-time right proced-time-lessp t (ctime pid) (nil t t)) (pri "Pr" "%d" right proced-< t (pri pid) (nil t t)) (nice "Ni" "%3d" 3 proced-< t (nice pid) (t t nil)) (thcount "THCount" "%d" right proced-< t (thcount pid) (nil t t)) (start "Start" proced-format-start 6 proced-time-lessp nil (start pid) (t t nil)) (vsize "VSize" "%d" right proced-< t (vsize pid) (nil t t)) (rss "RSS" "%d" right proced-< t (rss pid) (nil t t)) (etime "ETime" proced-format-time right proced-time-lessp t (etime pid) (nil t t)) (pcpu "%CPU" "%.1f" right proced-< t (pcpu pid) (nil t t)) (pmem "%Mem" "%.1f" right proced-< t (pmem pid) (nil t t)) (args "Args" proced-format-args left proced-string-lessp nil (args pid) (nil t nil)) (pid "PID" "%d" right proced-< nil (pid) ((lambda (ppid) (proced-filter-children proced-process-alist ppid)) "refine to process children")) (tree "Tree" proced-format-tree left nil nil nil nil)) "Alist of rules for handling Proced attributes.\n\nEach element has the form\n\n  (KEY NAME FORMAT JUSTIFY PREDICATE REVERSE SORT-SCHEME REFINER).\n\nSymbol KEY is the car of a process attribute.\n\nString NAME appears in the header line.\n\nFORMAT specifies the format for displaying the attribute values.  It can\nbe a string passed to `format'.  It can be a function called with one\nargument, the value of the attribute.  The value nil means take as is.\n\nIf JUSTIFY is an integer, its modulus gives the width of the attribute\nvalues formatted with FORMAT.  If JUSTIFY is positive, NAME appears\nright-justified, otherwise it appears left-justified.  If JUSTIFY is 'left\nor 'right, the field width is calculated from all field values in the listing.\nIf JUSTIFY is 'left, the field values are formatted left-justified and\nright-justified otherwise.\n\nPREDICATE is the predicate for sorting and filtering the process listing\nbased on attribute KEY.  PREDICATE takes two arguments P1 and P2,\nthe corresponding attribute values of two processes.  PREDICATE should\nreturn 'equal if P1 has same rank like P2.  Any other non-nil value says\nthat P1 is \"less than\" P2, or nil if not.\nIf PREDICATE is nil the attribute cannot be sorted.\n\nPREDICATE defines an ascending sort order.  REVERSE is non-nil if the sort\norder is descending.\n\nSORT-SCHEME is a list (KEY1 KEY2 ...) defining a hierarchy of rules\nfor sorting the process listing.  KEY1, KEY2, ... are KEYs appearing as cars\nof `proced-grammar-alist'.  First the PREDICATE of KEY1 is evaluated.\nIf it yields non-equal, it defines the sort order for the corresponding\nprocesses.  If it evaluates to 'equal the PREDICATE of KEY2 is evaluated, etc.\n\nREFINER can be a list of flags (LESS-B EQUAL-B LARGER-B) used by the command\n`proced-refine' (see there) to refine the listing based on attribute KEY.\nThis command compares the value of attribute KEY of every process with\nthe value of attribute KEY of the process at the position of point\nusing PREDICATE.\nIf PREDICATE yields non-nil, the process is accepted if LESS-B is non-nil.\nIf PREDICATE yields 'equal, the process is accepted if EQUAL-B is non-nil.\nIf PREDICATE yields nil, the process is accepted if LARGER-B is non-nil.\n\nREFINER can also be a list (FUNCTION HELP-ECHO).\nFUNCTION is called with one argument, the PID of the process at the position\nof point.  The function must return a list of PIDs that is used for the refined\nlisting.  HELP-ECHO is a string that is shown when mouse is over this field.\n\nIf REFINER is nil no refinement is done." (repeat (list :tag "Attribute" (symbol :tag "Key") (string :tag "Header") (choice :tag "Format" (const :tag "None" nil) (string :tag "Format String") (function :tag "Formatting Function")) (choice :tag "Justification" (const :tag "left" left) (const :tag "right" right) (integer :tag "width")) (choice :tag "Predicate" (const :tag "None" nil) (function :tag "Function")) (boolean :tag "Descending Sort Order") (repeat :tag "Sort Scheme" (symbol :tag "Key")) (choice :tag "Refiner" (const :tag "None" nil) (list (function :tag "Refinement Function") (string :tag "Help echo")) (list :tag "Refine Flags" (boolean :tag "Less") (boolean :tag "Equal") (boolean :tag "Larger"))))) proced-custom-attributes "List of functions defining custom attributes.\nThis variable extends the functionality of `proced-process-attributes'.\nEach function is called with one argument, the list of attributes\nof a system process.  It returns a cons cell of the form (KEY . VALUE)\nlike `process-attributes'.  This cons cell is appended to the list\nreturned by `proced-process-attributes'.\nIf the function returns nil, the value is ignored." (repeat (function :tag "Attribute")) proced-format-alist '((short user pid tree pcpu pmem start time (args comm)) (medium user pid tree pcpu pmem vsize rss ttname state start time (args comm)) (long user euid group pid tree pri nice pcpu pmem vsize rss ttname state start time (args comm)) (verbose user euid group egid pid ppid tree pgrp sess pri nice pcpu pmem state thcount vsize rss ttname tpgid minflt majflt cminflt cmajflt start time utime stime ctime cutime cstime etime (args comm))) "Alist of formats of listing.\nThe car of each element is a symbol, the name of the format.\nThe cdr is a list of attribute keys appearing in `proced-grammar-alist'.\nAn element of this list may also be a list of attribute keys that specifies\nalternatives.  If the first attribute is absent for a process, use the second\none, etc." (alist :key-type (symbol :tag "Format Name") :value-type (repeat :tag "Keys" (choice (symbol :tag #1="") (repeat :tag "Alternative Keys" (symbol :tag #1#))))) proced-format 'short "Current format of Proced listing.\nIt can be the car of an element of `proced-format-alist'.\nIt can also be a list of keys appearing in `proced-grammar-alist'." (choice (symbol :tag "Format Name") (repeat :tag "Keys" (symbol :tag #1#))) make-variable-buffer-local proced-filter-alist `((user (user \, (concat "\\`" (regexp-quote (user-real-login-name)) "\\'"))) (user-running (user \, (concat "\\`" (regexp-quote (user-real-login-name)) "\\'")) (state . "\\`[Rr]\\'")) (all) (all-running (state . "\\`[Rr]\\'")) (emacs (fun-all lambda (list) (proced-filter-children list ,(emacs-pid))))) "Alist of process filters.\nThe car of each element is a symbol, the name of the filter.\nThe cdr is a list of elementary filters that are applied to every process.\nA process is displayed if it passes all elementary filters of a selected\nfilter.\n\nAn elementary filter can be one of the following:\n(KEY . REGEXP)   If value of attribute KEY matches REGEXP,\n                 accept this process.\n(KEY . FUN)      Apply function FUN to attribute KEY.  Accept this process,\n                 if FUN returns non-nil.\n(function . FUN) For each process, apply function FUN to list of attributes\n                 of each.  Accept the process if FUN returns non-nil.\n(fun-all . FUN)  Apply function FUN to entire process list.\n                 FUN must return the filtered list." (repeat (cons :tag "Filter" (symbol :tag "Filter Name") (repeat :tag "Filters" (choice (cons :tag "Key . Regexp" (symbol :tag "Key") regexp) (cons :tag "Key . Function" (symbol :tag "Key") function) (cons :tag "Function" (const :tag "Key: function" function) function) (cons :tag "Fun-all" (const :tag "Key: fun-all" fun-all) function))))) proced-filter 'user "Current filter of proced listing.\nIt can be the car of an element of `proced-filter-alist'.\nIt can also be a list of elementary filters as in the cdrs of the elements\nof `proced-filter-alist'." (choice (symbol :tag "Filter Name") (repeat :tag "Filters" (choice (cons :tag "Key . Regexp" (symbol :tag "Key") regexp) (cons :tag "Key . Function" (symbol :tag "Key") function) (cons :tag "Function" (const :tag "Key: function" function) function) (cons :tag "Fun-all" (const :tag "Key: fun-all" fun-all) function)))) proced-sort 'pcpu "Current sort scheme for proced listing.\nIt must be the KEY of an element of `proced-grammar-alist'.\nIt can also be a list of KEYs as in the SORT-SCHEMEs of the elements\nof `proced-grammar-alist'." (choice (symbol :tag "Sort Scheme") (repeat :tag "Key List" (symbol :tag "Key"))) proced-descend t "Non-nil if proced listing is sorted in descending order." (boolean :tag "Descending Sort Order") proced-goal-attribute 'args "If non-nil, key of the attribute that defines the `goal-column'." (choice (const :tag "none" nil) (symbol :tag "key")) proced-auto-update-interval 5 "Time interval in seconds for auto updating Proced buffers." integer proced-auto-update-flag "Non-nil for auto update of a Proced buffer.\nCan be changed interactively via `proced-toggle-auto-update'." boolean proced-tree-flag "Non-nil for display of Proced buffer as process tree." proced-post-display-hook "Normal hook run after displaying or updating a Proced buffer.\nMay be used to adapt the window size via `fit-window-to-buffer'." hook :options (fit-window-to-buffer) proced-after-send-signal-hook "Normal hook run after sending a signal to processes by `proced-send-signal'.\nMay be used to revert the process listing." (proced-revert)] 10)
#@55 Non-nil means Proced is known to work on this system.
(defvar proced-available (byte-code "\300 ??\207" [list-system-processes] 1) (#$ . 13137))
#@147 Alist of processes displayed by Proced.
The car of each element is the PID, and the cdr is a list of
cons pairs, see `proced-process-attributes'.
(defvar proced-process-alist nil (#$ . 13289))
(make-variable-buffer-local 'proced-process-alist)
#@91 Sort scheme for listing (internal format).
It is a list of lists (KEY PREDICATE REVERSE).
(defvar proced-sort-internal nil (#$ . 13539))
#@40 In Proced, the current mark character.
(defvar proced-marker-char 42 (#$ . 13682))
(byte-code "\300\301\302\303\304\305\304\306&\210\307\310\311\312\304\301%\210\307\313\314\315\304\301%\210\307\316\317\320\304\301%\207" [custom-declare-group proced-faces nil "Faces used by Proced." :group proced faces custom-declare-face proced-mark ((t (:inherit font-lock-constant-face))) "Face used for Proced marks." proced-marked ((t (:inherit error))) "Face used for marked processes." proced-sort-header ((t (:inherit font-lock-keyword-face))) "Face used for header of attribute used for sorting."] 8)
#@81 Regexp matching a marked line.
Important: the match ends just after the marker.
(defvar proced-re-mark "^[^ \n]" (#$ . 14284))
#@39 Headers in Proced buffer as a string.
(defvar proced-header-line nil (#$ . 14417))
(make-variable-buffer-local 'proced-header-line)
#@38 Temporary alist (internal variable).
(defvar proced-temp-alist nil (#$ . 14555))
#@42 Proced process tree (internal variable).
(defvar proced-process-tree nil (#$ . 14642))
#@53 Internal variable for depth of Proced process tree.
(defvar proced-tree-depth nil (#$ . 14735))
#@58 Stores if Proced auto update timer is already installed.
(defvar proced-auto-update-timer nil (#$ . 14837))
#@28 Name of Proced Log buffer.
(defvar proced-log-buffer "*Proced log*" (#$ . 14951))
#@25 Help string for Proced.
(defconst proced-help-string "(n)ext, (p)revious, (m)ark, (u)nmark, (k)ill, (q)uit (type ? for more help)" (#$ . 15039))
#@57 Help string shown when mouse is over a sortable header.
(defconst proced-header-help-echo "mouse-1, mouse-2: sort by attribute %s%s (%s)" (#$ . 15190))
#@57 Help string shown when mouse is over a refinable field.
(defconst proced-field-help-echo "mouse-2, RET: refine by attribute %s %s" (#$ . 15348))
(defvar proced-font-lock-keywords (byte-code "\302B\303\304	!\305Q\306BD\207" [proced-re-mark proced-marker-char 'proced-mark "^[" char-to-string "]" (".+" (proced-move-to-goal-column) nil (0 'proced-marked))] 4))
#@29 Keymap for Proced commands.
(defvar proced-mode-map (byte-code "\301 \302\303\304#\210\302\305\304#\210\302\306\307#\210\302\310\304#\210\302\311\307#\210\302\312\307#\210\302\313\304#\210\302\314\307#\210\302\315\316#\210\302\317\316#\210\320\316\321\317#\210\302\322\323#\210\302\312\324#\210\302\325\326#\210\302\327\330#\210\302\331\332#\210\302\333\334#\210\302\335\336#\210\302\337\340#\210\302\341\342#\210\302\343\342#\210\302\344\345#\210\302\346\347#\210\302\350\351#\210\302\352\353#\210\302\354\355#\210\302\356\357#\210\302\360\361#\210\302\362\363#\210\302\364\363#\210\302\365\366#\210\302\367\370#\210\302\371\372#\210\302\373\374#\210\302\375\374#\210\302\376\377#\210\302\201@\201A#\210\302\201B\201C#\210\302\201D\201E#\210\302\201F\201E#\210)\207" [km make-sparse-keymap define-key " " next-line "n" "p" previous-line "" "" "" [down] [up] "d" proced-mark "m" put :advertised-binding "u" proced-unmark proced-unmark-backward "M" proced-mark-all "U" proced-unmark-all "t" proced-toggle-marks "C" proced-mark-children "P" proced-mark-parents "f" proced-filter-interactive [mouse-2] proced-refine "
" "sc" proced-sort-pcpu "sm" proced-sort-pmem "sp" proced-sort-pid "ss" proced-sort-start "sS" proced-sort-interactive "st" proced-sort-time "su" proced-sort-user [header-line mouse-1] proced-sort-header [header-line mouse-2] "T" proced-toggle-tree "F" proced-format-interactive "o" proced-omit-processes "x" proced-send-signal "k" "r" proced-renice "h" describe-mode "?" proced-help [remap undo] proced-undo [remap advertised-undo]] 4) (#$ . 15714))
#@13 Proced Menu
(defvar proced-menu nil (#$ . 17338))
(byte-code "\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323	\"BBB\324\325\320\326\322\327\n\"BBB\330BBBBBBBBBBBB$\207" [proced-mode-map proced-filter-alist proced-format-alist easy-menu-do-define proced-menu "Proced Menu" "Proced" ["Mark" proced-mark :help "Mark Current Process"] ["Unmark" proced-unmark :help "Unmark Current Process"] ["Mark All" proced-mark-all :help "Mark All Processes"] ["Unmark All" proced-unmark-all :help "Unmark All Process"] ["Toggle Marks" proced-toggle-marks :help "Marked Processes Become Unmarked, and Vice Versa"] ["Mark Children" proced-mark-children :help "Mark Current Process and its Children"] ["Mark Parents" proced-mark-parents :help "Mark Current Process and its Parents"] "--" "Filters" :help "Select Filter for Process Listing" mapcar #[(el) "@\302\303	!\304\305	DD\306\307\310\311\312\305	DE&)\207" [el filter vector symbol-name proced-filter-interactive quote :style radio :selected eq proced-filter] 10] ("Sorting" :help "Select Sort Scheme" ["Sort..." proced-sort-interactive :help "Sort Process List"] "--" ["Sort by %CPU" proced-sort-pcpu] ["Sort by %MEM" proced-sort-pmem] ["Sort by PID" proced-sort-pid] ["Sort by START" proced-sort-start] ["Sort by TIME" proced-sort-time] ["Sort by USER" proced-sort-user]) "Formats" "Select Format for Process Listing" #[(el) "@\302\303	!\304\305	DD\306\307\310\311\312\305	DE&)\207" [el format vector symbol-name proced-format-interactive quote :style radio :selected eq proced-format] 10] (["Tree Display" proced-toggle-tree :style toggle :selected (eval proced-tree-flag) :help "Display Proced Buffer as Process Tree"] "--" ["Omit Marked Processes" proced-omit-processes :help "Omit Marked Processes in Process Listing."] "--" ["Revert" revert-buffer :help "Revert Process Listing"] ["Auto Update" proced-toggle-auto-update :style toggle :selected (eval proced-auto-update-flag) :help "Auto Update of Proced Buffer"] "--" ["Send signal" proced-send-signal :help "Send Signal to Marked Processes"] ["Renice" proced-renice :help "Renice Marked Processes"])] 21)
#@46 Return regexp matching `proced-marker-char'.
(defalias 'proced-marker-regexp #[nil "\301\302\303!!P\207" [proced-marker-char "^" regexp-quote char-to-string] 4 (#$ . 19472)])
#@67 Display success message for ACTION performed for COUNT processes.
(defalias 'proced-success-message #[(action count) "\302\303	\211\304U\203\305\202\306$\207" [action count message "%s %s process%s" 1 "" "es"] 6 (#$ . 19654)])
#@62 Move to `goal-column' if non-nil.  Return position of point.
(defalias 'proced-move-to-goal-column #[nil "\301 \210m\204\203u\210\202\302u\210`\207" [goal-column beginning-of-line 2] 1 (#$ . 19892)])
#@39 Return header line for Proced buffer.
(defalias 'proced-header-line #[nil "\301\302\303\304#\305 GX\205\306\307\310\305 \311O#D\207" [proced-header-line propertize " " display (space :align-to 0) window-hscroll replace-regexp-in-string "\\(%\\)" "\\1\\1" nil] 7 (#$ . 20106)])
#@86 Return pid of system process at point.
Return nil if point is not on a process line.
(defalias 'proced-pid-at-point #[nil "\212\300 \210\301\302!\205\303\304\225\305\")\207" [beginning-of-line looking-at "^. ." get-text-property 0 proced-pid] 3 (#$ . 20393)])
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [proced-mode-hook variable-documentation put purecopy "Hook run when entering Proced mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp proced-mode-map definition-name proced-mode] 5)
(defvar proced-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [proced-mode-map variable-documentation put purecopy "Keymap for `proced-mode'." boundp proced-mode-syntax-table definition-name proced-mode] 5)
(defvar proced-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [proced-mode-syntax-table variable-documentation put purecopy "Syntax table for `proced-mode'." proced-mode-abbrev-table definition-name proced-mode] 5)
(defvar proced-mode-abbrev-table (progn (define-abbrev-table 'proced-mode-abbrev-table nil) proced-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [proced-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `proced-mode'." proced-mode derived-mode-parent special-mode] 5)
#@1677 Mode for displaying system processes and sending signals to them.
Type \[proced] to start a Proced session.  In a Proced buffer
type \<proced-mode-map>\[proced-mark] to mark a process for later commands.
Type \[proced-send-signal] to send signals to marked processes.

The initial content of a listing is defined by the variable `proced-filter'
and the variable `proced-format'.
The variable `proced-filter' specifies which system processes are displayed.
The variable `proced-format' specifies which attributes are displayed for
each process.  Type \[proced-filter-interactive] and \[proced-format-interactive]
to change the values of `proced-filter' and `proced-format'.
The current value of the variable `proced-filter' is indicated in the
mode line.

The sort order of Proced listings is defined by the variable `proced-sort'.
Type \[proced-sort-interactive] or click on a header in the header line
to change the sort scheme.  The current sort scheme is indicated in the
mode line, using "+" or "-" for ascending or descending sort order.

Type \[proced-toggle-tree] to toggle whether the listing is
displayed as process tree.

An existing Proced listing can be refined by typing \[proced-refine].
Refining an existing listing does not update the variable `proced-filter'.

The attribute-specific rules for formatting, filtering, sorting, and refining
are defined in `proced-grammar-alist'.

After displaying or updating a Proced buffer, Proced runs the normal hook
`proced-post-display-hook'.

\{proced-mode-map}

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `proced-mode-hook', as the final step
during initialization.
(defalias 'proced-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324)\325\"\204V)*=\204V\326)\325*C#\210\327!\210\330\f!\210)*\331\332!\210\333\332!\210\307\211+,\334-\335\336\337\340\307$\210\306\341!\210\342!\306\343!\210\344#&\204\232.\203\232\345\307.\346#&)\347\350!\207" [delay-mode-hooks major-mode mode-name proced-mode-map proced-mode-syntax-table parent make-local-variable t special-mode proced-mode "Proced" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table abbrev-mode 0 auto-fill-mode (:eval (proced-header-line)) add-hook post-command-hook force-mode-line-update nil revert-buffer-function proced-revert font-lock-defaults (proced-font-lock-keywords t nil nil beginning-of-line) run-at-time proced-auto-update-timer run-mode-hooks proced-mode-hook proced-mode-abbrev-table local-abbrev-table buffer-read-only truncate-lines header-line-format proced-auto-update-interval] 6 (#$ . 21949) nil])
#@298 Generate a listing of UNIX system processes.
\<proced-mode-map>
If invoked with optional ARG, do not select the window displaying
the process information.

This function runs the normal hook `proced-post-display-hook'.

See `proced-mode' for a description of features available in
Proced buffers.
(defalias 'proced #[(&optional arg) "\204\304\305!\210\306\307!\310\211q\210\311\312 !\211\203!\313 \210\314\315!\210\2034\316\n!\210r\nq\210\314\315!)\202A\317\n!\210\314\315!\210\320\321\322!!*\207" [proced-available new buffer arg error "Proced is not available on this system" get-buffer-create "*Proced*" nil zerop buffer-size proced-mode proced-update t display-buffer pop-to-buffer message substitute-command-keys "Type \\<proced-mode-map>\\[quit-window] to quit, \\[proced-help] for help"] 4 (#$ . 24846) "P"])
#@49 Auto-update Proced buffers using `run-at-time'.
(defalias 'proced-auto-update-timer #[nil "\304 \305\211\205(	@rq\210\n\306=\203\203\307\310\211\"\210)	A\211\204	\305*\207" [buf --dolist-tail-- major-mode proced-auto-update-flag buffer-list nil proced-mode proced-update t] 4 (#$ . 25678)])
#@280 Change whether this Proced buffer is updated automatically.
With prefix ARG, update this buffer automatically if ARG is positive,
otherwise do not update.  Sets the variable `proced-auto-update-flag'.
The time interval for updates is specified via `proced-auto-update-interval'.
(defalias 'proced-toggle-auto-update #[(arg) "\302=\203	?\202\203\303!\304V\202	?\305\306	\203$\307\202%\310\"\207" [arg proced-auto-update-flag toggle prefix-numeric-value 0 message "Proced auto update %s" "enabled" "disabled"] 3 (#$ . 25988) (list (or current-prefix-arg 'toggle))])
#@45 Mark the current (or next COUNT) processes.
(defalias 'proced-mark #[(&optional count) "\301\302\"\207" [count proced-do-mark t] 3 (#$ . 26572) "p"])
#@47 Unmark the current (or next COUNT) processes.
(defalias 'proced-unmark #[(&optional count) "\301\302\"\207" [count proced-do-mark nil] 3 (#$ . 26729) "p"])
#@52 Unmark the previous (or COUNT previous) processes.
(defalias 'proced-unmark-backward #[(&optional count) "\301\302\206\303[\"\207" [count proced-do-mark nil 1] 3 (#$ . 26892) "p"])
#@56 Mark the current (or next COUNT) processes using MARK.
(defalias 'proced-do-mark #[(mark &optional count) "\204\304\305W\306\305X\203\202\307 S\310!^T\311 \210\312S\211!\2047m\2047\313\n\"\210\202\"\314 *\207" [count buffer-read-only backward mark 1 0 nil line-number-at-pos abs beginning-of-line zerop proced-insert-mark proced-move-to-goal-column] 3 (#$ . 27082)])
#@65 Toggle marks: marked processes become unmarked, and vice versa.
(defalias 'proced-toggle-marks #[nil "\302 \303\212eb\210m?\205.\304	!\203\305\303!\210\202	\304\306!\203(\305\307!\210\202	\310y\210\202	+\207" [buffer-read-only mark-re proced-marker-regexp nil looking-at proced-insert-mark " " t 1] 2 (#$ . 27476) nil])
#@183 If MARK is non-nil, insert `proced-marker-char'.
If BACKWARD is non-nil, move one line backwards before inserting the mark.
Otherwise move one line forward after inserting the mark.
(defalias 'proced-insert-mark #[(mark &optional backward) "\203\303y\210	\203\n\202\304c\210\305\306!\210?\205\307y\207" [backward mark proced-marker-char -1 32 delete-char 1 nil] 2 (#$ . 27812)])
#@102 Mark all processes.
If `transient-mark-mode' is turned on and the region is active,
mark the region.
(defalias 'proced-mark-all #[nil "\300\301!\207" [proced-do-mark-all t] 2 (#$ . 28208) nil])
#@106 Unmark all processes.
If `transient-mark-mode' is turned on and the region is active,
unmark the region.
(defalias 'proced-unmark-all #[nil "\300\301!\207" [proced-do-mark-all nil] 2 (#$ . 28409) nil])
#@113 Mark all processes using MARK.
If `transient-mark-mode' is turned on and the region is active,
mark the region.
(defalias 'proced-do-mark-all #[(mark) "\306	\203\n\n\202\307\310 \311\211\212\312 \203:\212\313 b\210\314\315!\204'\311y\210`)\316 b\210\314\315!\204?\317 \210\202?eb\210d`\fW\203[\314!\204UT\nc\210\320\321!\210\311y\210\202?\322	\203d\323\202e\324\".\207" [count mark proced-marker-char marker-re end buffer-read-only 0 32 proced-marker-regexp nil use-region-p region-end looking-at "^" region-beginning beginning-of-line delete-char 1 proced-success-message "Marked" "Unmarked"] 4 (#$ . 28618)])
#@98 Mark child processes of process PPID.
Also mark process PPID unless prefix OMIT-PPID is non-nil.
(defalias 'proced-mark-children #[(ppid &optional omit-ppid) "\303\304	\n#!\207" [proced-process-alist ppid omit-ppid proced-mark-process-alist proced-filter-children] 5 (#$ . 29259) (list (proced-pid-at-point) current-prefix-arg)])
#@91 Mark parent processes of process CPID.
Also mark CPID unless prefix OMIT-CPID is non-nil.
(defalias 'proced-mark-parents #[(cpid &optional omit-cpid) "\303\304	\n#!\207" [proced-process-alist cpid omit-cpid proced-mark-process-alist proced-filter-parents] 5 (#$ . 29596) (list (proced-pid-at-point) current-prefix-arg)])
#@79 Mark processes in PROCESS-ALIST.
If QUIET is non-nil suppress status message.
(defalias 'proced-mark-process-alist #[(process-alist &optional quiet) "\305	\203(\306\212eb\210m\204'\307 	\236\203!c\210\310\311!\210T\306y\210\202\f*\f?\2051\312\313\")\207" [count process-alist buffer-read-only proced-marker-char quiet 0 nil proced-pid-at-point delete-char 1 proced-success-message "Marked"] 3 (#$ . 29924)])
#@303 Omit marked processes.
With prefix ARG, omit that many lines starting with the current line.
(A negative argument omits backward.)
If `transient-mark-mode' is turned on and the region is active,
omit the processes in region.
If QUIET is non-nil suppress status message.
Returns count of omitted lines.
(defalias 'proced-omit-processes #[(&optional arg quiet) "\306 \307\310\311 \203,\312\313 \314 \"\212\313 b\210	W\203(\315 \210	T\211\202*\202\203\f\204M\212eb\210m\204I\316\n\310\317#\203I\315 \210	T\2024)\202\203\307\fW\203fm\204\203	\fW\203\203\315 \210	T\202S\f\307W\203\203o\204\203	\f[W\203\203\320y\210\315 \210	T\202l\321	!\204\214\322 \210
\204\225\323\324	\"\210	+\207" [buffer-read-only count mark-re lines arg quiet proced-marker-regexp 0 nil use-region-p count-lines region-beginning region-end proced-omit-process re-search-forward t -1 zerop proced-move-to-goal-column proced-success-message "Omitted"] 5 (#$ . 30350) "P"])
#@83 Omit process from listing point is on.
Update `proced-process-alist' accordingly.
(defalias 'proced-omit-process #[nil "\301\302 \"\303 \212\304y\210`)|\207" [proced-process-alist assq-delete-all proced-pid-at-point line-beginning-position nil] 3 (#$ . 31326)])
#@71 Apply FILTER-LIST to PROCESS-ALIST.
Return the filtered process list.
(defalias 'proced-filter #[(process-alist filter-list) "9\203\n	\236A\306\211\203\245@\306\n@\307=\203&\nA
!\202\233\n@\310=\203S
\306
\211\203O@
\n@
A!\203H
\fBA\211\2046*\202\233\nA;\203e\311\312\313\nA\314BBE\202g\nA\306
\306
\211\203\232@
\n@
A\236A\211\203\223!\203\223
\fBA\211\204u,\f)A\211\204*
\207" [filter-list proced-filter-alist filter --dolist-tail-- new-alist process-alist nil fun-all function lambda (val) string-match (val) process value fun] 6 (#$ . 31596)])
#@167 Filter Proced buffer using SCHEME.
When called interactively, an empty string means nil, i.e., no filtering.
Set variable `proced-filter' to SCHEME.  Revert listing.
(defalias 'proced-filter-interactive #[(scheme) "	=?\205\f	\302\303!\207" [proced-filter scheme proced-update t] 2 (#$ . 32209) (let ((scheme (completing-read "Filter: " proced-filter-alist nil t))) (list (if (string= "" scheme) nil (intern scheme))))])
#@110 For PROCESS-ALIST return list of parent processes of PID.
This list includes PID unless OMIT-PID is non-nil.
(defalias 'proced-filter-parents #[(process-alist pid &optional omit-pid) "?\205		\n\236C	\n\236\306\303\fA\236A\211\2031	U\2041\n\236\211\2031\f
B\202
+\207" [omit-pid pid process-alist ppid process parent-list nil] 3 (#$ . 32639)])
#@112 For PROCESS-ALIST return list of child processes of PPID.
This list includes PPID unless OMIT-PPID is non-nil.
(defalias 'proced-filter-children #[(process-alist ppid &optional omit-ppid) "\306!\307\310!\307\211\203 
@\211\236	B
A\211\204*\n\203-\311	\"\202.	*\207" [process-alist new-alist proced-temp-alist ppid pid --dolist-tail-- proced-children-alist nil proced-children-pids assq-delete-all omit-ppid] 4 (#$ . 33006)])
#@285 Return children alist for PROCESS-ALIST.
The children alist has elements (PPID PID1 PID2 ...).
PPID is a parent PID.  PID1, PID2, ... are the child processes of PPID.
The children alist inherits the sorting order of PROCESS-ALIST.
The list of children does not include grandchildren.
(defalias 'proced-children-alist #[(process-alist) "\306\307\"\310\310\211\203W\f@\301A\236A\211\203P	@U\204P	\236\203P\n\310\n\n\211A\n@\211\203O	
@=\203.\310\n
@
AB\241\210\202.*\fA\211\204*\306\311\n\"\211*\207" [process-alist ppid process-tree process --dolist-tail-- elt mapcar #[(a) "@C\207" [a] 1] nil #[(a) "@A\237B\207" [a] 2] temp-alist] 4 (#$ . 33455)])
#@56 Return list of children PIDs of PPID (including PPID).
(defalias 'proced-children-pids #[(ppid) "	\236A\211\203\303\304\305\306\n\"\"B\202C)\207" [ppid proced-temp-alist cpids apply append mapcar proced-children-pids] 7 (#$ . 34142)])
#@268 Return process tree for PROCESS-ALIST.
It is an alist of alists where the car of each alist is a parent process
and the cdr is a list of child processes according to the ppid attribute
of these processes.
The process tree inherits the sorting order of PROCESS-ALIST.
(defalias 'proced-process-tree #[(process-alist) "\304!\305\211\211A@\211\203\306\n!	B\202	\237+\207" [process-alist proced-process-tree pid-alist proced-temp-alist proced-children-alist nil proced-process-tree-internal] 3 (#$ . 34392)])
#@44 Helper function for `proced-process-tree'.
(defalias 'proced-process-tree-internal #[(pid-alist) "A\306\211@\211\2038	\f\236\211\203$\307	\f\"\310\n!\240\210\202/	
\236\240\210\307	
\"\211A@\210\202+\207" [pid-alist cpid cpid-alist cpid-list proced-temp-alist proced-process-tree nil assq-delete-all proced-process-tree-internal] 3 (#$ . 34915)])
#@692 Toggle the display of the process listing as process tree.
With prefix ARG, display as process tree if ARG is positive, otherwise
do not display as process tree.  Sets the variable `proced-tree-flag'.

The process tree is generated from the selected processes in the
Proced buffer (that is, the processes in `proced-process-alist').
All processes that do not have a parent process in this list
according to their ppid attribute become the root of a process tree.
Each parent process is followed by its child processes.
The process tree inherits the chosen sorting order of the process listing,
that is, child processes of the same parent process are sorted using
the selected sorting order.
(defalias 'proced-toggle-tree #[(arg) "\302=\203	?\202\203\303!\304V\202	?\305 \210\306\307	\203'\310\202(\311\"\207" [arg proced-tree-flag toggle prefix-numeric-value 0 proced-update message "Proced process tree display %s" "enabled" "disabled"] 3 (#$ . 35288) (list (or current-prefix-arg 'toggle))])
#@472 Rearrange PROCESS-ALIST as process tree.
If `proced-tree-flag' is non-nil, rearrange PROCESS-ALIST such that
every processes is followed by its child processes.  Each process
gets a tree attribute that specifies the depth of the process in the tree.
A root process is a process with no parent within PROCESS-ALIST according
to its value of the ppid attribute.  It has depth 0.

If `proced-tree-flag' is nil, remove the tree attribute.
Return the rearranged process list.
(defalias 'proced-tree #[(process-alist) "\203(\303	!\306	\307\211\211A@\211\203$\310\n!\210\202\237-\207		\203?	\311\312	@\"\240\210	\211A@\210\202*)	\207" [proced-tree-flag process-alist pt proced-process-tree proced-temp-alist proced-tree-depth 0 nil proced-tree-insert assq-delete-all tree process-tree] 5 (#$ . 36303)])
#@36 Helper function for `proced-tree'.
(defalias 'proced-tree-insert #[(process-tree) "@	\236\305\n@C\306BC\nA#\fBA\205!T\307\310A\"))\207" [process-tree proced-temp-alist pprocess proced-tree-depth proced-process-tree append tree mapc proced-tree-insert] 4 (#$ . 37126)])
#@1557 Refine Proced listing by comparing with the attribute value at point.
Optional EVENT is the location of the Proced field.

Refinement is controlled by the REFINER defined for each attribute ATTR
in `proced-grammar-alist'.

If REFINER is a list of flags and point is on a process's value of ATTR,
this command compares the value of ATTR of every process with the value
of ATTR of the process at the position of point.

The predicate for the comparison of two ATTR values is defined
in `proced-grammar-alist'.  For each return value of the predicate
a refine flag is defined in `proced-grammar-alist'.  One can select
processes for which the value of ATTR is "less than", "equal",
and / or "larger" than ATTR of the process point is on.  A process
is included in the new listing if the refine flag for the corresponding
return value of the predicate is non-nil.
The help-echo string for `proced-refine' uses "+" or "-" to indicate
the current values of these refine flags.

If REFINER is a cons pair (FUNCTION . HELP-ECHO), FUNCTION is called
with one argument, the PID of the process at the position of point.
The function must return a list of PIDs that is used for the refined
listing.  HELP-ECHO is a string that is shown when mouse is over this field.

This command refines an already existing process listing generated initially
based on the value of the variable `proced-filter'.  It does not change
this variable.  It does not revert the listing.  If you frequently need
a certain refinement, consider defining a new filter in `proced-filter-alist'.
(defalias 'proced-refine #[(&optional event) "\203\n\306\307!!\210\310`\311\"\310`\312\"\211\203\254	\203\254\n\236\313\f8\211\205\250\314
@!\2038
@	!\202\246
:\203\246\315\f8\n	\236A\236A\316\211\316\211\203\240@\nA\236A\"\211\204y\317
8\202\215\320=\203\206
A@\202\215\203\227
@\203\227BA\211\204]*,\321 *\202\257\322\323!*\207" [event pid key proced-grammar-alist grammar refiner posn-set-point event-end get-text-property proced-key proced-pid 7 functionp 4 nil 2 equal proced-update message "No refiner defined here." proced-process-alist new-alist val ref predicate process --dolist-tail--] 5 (#$ . 37412) (list last-input-event)])
#@109 Return t if NUM1 less than NUM2.
Return `equal' if NUM1 equals NUM2.  Return nil if NUM1 greater than NUM2.
(defalias 'proced-< #[(num1 num2) "	U\203\302\207	W\207" [num1 num2 equal] 2 (#$ . 39684)])
#@138 Return t if string S1 is less than S2 in lexicographic order.
Return `equal' if S1 and S2 have identical contents.
Return nil otherwise.
(defalias 'proced-string-lessp #[(s1 s2) "	\230\203\302\207	\231\207" [s1 s2 equal] 2 (#$ . 39895)])
#@110 Return t if time value T1 is less than time value T2.
Return `equal' if T1 equals T2.  Return nil otherwise.
(defalias 'proced-time-lessp #[(t1 t2) "\211\211A@\306\211\306\211\f	:\203H	\211A@	\203>	@	A\2036	\211
A@)\307\f\202Q\310\311\f\202Q\310\211\312\f\202Q	\310\211\310\f\211\211A@\306\211\306\211:\203\255\211A@\203\241@A\203\230\211
A@)\307\202\272\310\311\202\272\310\211\312\202\272\310\211\310\nW\206\nW\203\314\306\202W\206W\203\336\306\202\fW\206\fW\203\360\306\202
W\206
W\203\306\202\313.\f\207" [t1 #1=#:time high1 low1 micro1 pico1 nil 3 0 2 1 equal type1 x t2 #2=#:time high2 low2 micro2 pico2 type2] 3 (#$ . 40144)])
#@52 Return the logical exclusive or of args B1 and B2.
(defalias 'proced-xor #[(b1 b2) "\204	\205\205
	?\207" [b1 b2] 1 (#$ . 40917)])
(put 'proced-xor 'byte-optimizer 'byte-compile-inline-expand)
#@44 Predicate for sorting processes P1 and P2.
(defalias 'proced-sort-p #[(p1 p2) "A\204?@\211@\nA\236A	@\fA\236A\205=
\205=	A@
\"\306	8\n\211\2044\n\205<\205;\n?*+\207\307\211\211\211\f
\310\311\215-\207" [proced-sort-internal sorter p1 k1 p2 k2 2 nil done (byte-code "\211A@\211\203P	@\nA\236A	@\fA\236A\205&
\205&	A@
\"\211\306=\204\307\310\311	8\f\211
\204B\f\205J
\205I\f?*\"\210\202\312=\207" [sort-list sorter p1 k1 p2 k2 equal throw done 2 t predicate b2 b1] 6) b2 b1 predicate sort-list] 6 (#$ . 41123)])
#@193 Sort PROCESS-ALIST using scheme SORTER.
SORTER is a scheme like `proced-sort'.
DESCEND is non-nil if the first element of SORTER is sorted
in descending order.
Return the sorted process list.
(defalias 'proced-sort #[(process-alist sorter descend) "\306\307<\203\202&9\203\310	\2368\206&9\203\"C\202&\311\312\"\"\211\203@\n\211\211@@)\n@A@\fE\240\210\313
\314\"\207
\207" [sorter proced-grammar-alist proced-sort-internal x descend process-alist mapcar #[(arg) "	\236\303\n8\204\304\305\n@\"\210\303\n8\306\n8E)\207" [arg proced-grammar-alist grammar 4 error "Attribute %s not sortable" 5] 4] 6 error "Sorter undefined %s" sort proced-sort-p] 6 (#$ . 41694)])
#@624 Sort Proced buffer using SCHEME.
When called interactively, an empty string means nil, i.e., no sorting.

Prefix ARG controls sort order:
- If prefix ARG is positive (negative), sort in ascending (descending) order.
- If ARG is nil or 'no-arg and SCHEME is equal to the previous sorting scheme,
  reverse the sorting order.
- If ARG is nil or 'no-arg and SCHEME differs from the previous sorting scheme,
  adopt the sorting order defined for SCHEME in `proced-grammar-alist'.

Set variable `proced-sort' to SCHEME.  The current sort scheme is displayed
in the mode line, using "+" or "-" for ascending or descending order.
(defalias 'proced-sort-interactive #[(scheme &optional arg) "\305=\203	\n\232\203?\202O\305=\203)\306\n:\203\"\n@\202#\n\f\2368\202O\2035\307!\310W\202O	\n\232\203@?\202O\306\n:\203K\n@\202L\n\f\2368\n\311 \207" [arg proced-sort scheme proced-descend proced-grammar-alist no-arg 5 prefix-numeric-value 0 proced-update] 3 (#$ . 42384) (let* (choices (scheme (completing-read "Sort attribute: " (let ((--dolist-tail-- proced-grammar-alist) grammar) (while --dolist-tail-- (setq grammar (car --dolist-tail--)) (if (nth 4 grammar) (setq choices (cons (list (car grammar)) choices))) (setq --dolist-tail-- (cdr --dolist-tail--))) (setq grammar nil) choices) nil t))) (list (if (string= "" scheme) nil (intern scheme)) (or current-prefix-arg 'no-arg)))])
#@114 Sort Proced buffer by percentage CPU time (%CPU).
Prefix ARG controls sort order, see `proced-sort-interactive'.
(defalias 'proced-sort-pcpu #[(&optional arg) "\301\302\"\207" [arg proced-sort-interactive pcpu] 3 (#$ . 43786) (list (or current-prefix-arg 'no-arg))])
#@118 Sort Proced buffer by percentage memory usage (%MEM).
Prefix ARG controls sort order, see `proced-sort-interactive'.
(defalias 'proced-sort-pmem #[(&optional arg) "\301\302\"\207" [arg proced-sort-interactive pmem] 3 (#$ . 44061) (list (or current-prefix-arg 'no-arg))])
#@91 Sort Proced buffer by PID.
Prefix ARG controls sort order, see `proced-sort-interactive'.
(defalias 'proced-sort-pid #[(&optional arg) "\301\302\"\207" [arg proced-sort-interactive pid] 3 (#$ . 44339) (list (or current-prefix-arg 'no-arg))])
#@120 Sort Proced buffer by time the command started (START).
Prefix ARG controls sort order, see `proced-sort-interactive'.
(defalias 'proced-sort-start #[(&optional arg) "\301\302\"\207" [arg proced-sort-interactive start] 3 (#$ . 44589) (list (or current-prefix-arg 'no-arg))])
#@103 Sort Proced buffer by CPU time (TIME).
Prefix ARG controls sort order, see `proced-sort-interactive'.
(defalias 'proced-sort-time #[(&optional arg) "\301\302\"\207" [arg proced-sort-interactive time] 3 (#$ . 44872) (list (or current-prefix-arg 'no-arg))])
#@92 Sort Proced buffer by USER.
Prefix ARG controls sort order, see `proced-sort-interactive'.
(defalias 'proced-sort-user #[(&optional arg) "\301\302\"\207" [arg proced-sort-interactive user] 3 (#$ . 45135) (list (or current-prefix-arg 'no-arg))])
#@274 Sort Proced listing based on an attribute.
EVENT is a mouse event with starting position in the header line.
It is converted to the corresponding attribute key.
This command updates the variable `proced-sort'.
Prefix ARG controls sort order, see `proced-sort-interactive'.
(defalias 'proced-sort-header #[(event &optional arg) "\306!\307\211\310 r\311\216\312\211@)!\210\313!@S\314 \\\315\nX\205C\nGW\205C\316\n\317#\211\203@\320	\"\202C\321\322!.\207" [event key col start save-selected-window--state position event-start nil internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) select-window posn-actual-col-row window-hscroll 0 get-text-property proced-key proced-sort-interactive message "No sorter defined here." proced-header-line arg] 5 (#$ . 45388) (list last-input-event (or last-prefix-arg 'no-arg))])
#@28 Format time interval TIME.
(defalias 'proced-format-time #[(time) "\306!\307	\310\"\311	\310\"\307	\312\"\311	\312\"\307	\313\"\311	\313\"\314\nW\2032\315\316\n\f
%\202F\314W\203A\315\317\f
$\202F\315\320\f
#.\207" [time ftime days hours minutes seconds float-time truncate 86400 mod 3600 60 0 format "%d-%02d:%02d:%02d" "%02d:%02d:%02d" "%02d:%02d"] 6 (#$ . 46281)])
#@67 Format time START.
The return string is always 6 characters wide.
(defalias 'proced-format-start #[(start) "\303!\303 \304\n8\304	8W\203\305\306\"\2027\307\n8\307	8U\2033\310\n8\310	8U\2033\305\311\"\2027\305\312\"*\207" [start d-current d-start decode-time 5 format-time-string "  %Y" 3 4 " %H:%M" "%b %e"] 3 (#$ . 46671)])
#@49 Format attribute TTNAME, omitting path "/dev/".
(defalias 'proced-format-ttname #[(ttname) "\301\302\"\203
\303\225\202\303\304O\207" [ttname string-match "\\`/dev/" 0 nil] 4 (#$ . 47014)])
#@24 Format attribute TREE.
(defalias 'proced-format-tree #[(tree) "\301\302\"\303!P\207" [tree make-string 32 number-to-string] 3 (#$ . 47215)])
#@77 Format attribute ARGS.
Replace newline characters by "^J" (two characters).
(defalias 'proced-format-args #[(args) "\301\302\303#\207" [args replace-regexp-in-string "\n" "^J"] 4 (#$ . 47364)])
#@37 Display PROCESS-ALIST using FORMAT.
(defalias 'proced-format #[(process-alist format) "9\203\n	\236A\306\307 C!@\310\211
\203%\311\f\236\203%\312\313B\fB\3107\2118\203n8@\21179\203H7\f\236\203e7B\202e7\211A7@\211\203e\n\f\236\203H\nB\310\2117\202J8A\2118\204/*\237+\3149G\315\"c\210\316\317::\203\211:@\202\213:\310\211;<=>?\211A@@\236\211;\203\370;@A\320;8;\203\300\321\322\300\320;8\323BBE\202\317\320;8\204\313\324\202\317\320;8B\203\332?\202\333\325?\326;8\205A==\203\361C\202\365\327;8D\330A\331\332\333\300ED\203	\334\202\n\335;A@D\203\336\202\337$\257)F\340;8G\341G@!\203>\330A\331\332\333\300\342GA@\"\257\202YG:\205Y\330A\331\332\333\300\343;A@\344\345G\325##\257H\310IA==\203m\346\347F\"Feb\210\350;8\247\203\3409\310J\2118\203\3038@J\310\210AJA\236A\211I\203\245\351\352BI!H#\202\262\300\353\354\350;8!\355Q>\"?\261\210\310y\2108A\2118\204\203*\300\353\354\350;8!\355Q\351\352;A@F#\"<B<\202\363\204<\350;8\356=\203<9\310J\2118\203*8@J\310\210AJA\236A\211I\203\351\352BI!H#\202>c\210\310y\2108A\2118\204\370*\351\352;A@F#<B<\202\363;A@G\310\211IKL9\310J\2118\203\2348@JAJA\236A\211I\203\204\351\352BI!H#ILIG]LIKBK\202\223>KBKL>G]L8A\2118\204T*\353\350;8\356=\203\253\334\202\254\325\354L!\355RM\300M\351\352;A@F#\"<B<K\237\310I\2118\203\3618@I\310\210\300MI\"?\261\210\310y\2108A\2118\204\322..\202\227eb\2109\310J\2118\203!8@J\357`\360 \361J@$\210\310y\2108A\2118\204*\344\324<\237?#N\362\363N\"\203<N\313\211\224ONeb\210\364\365\310\366#\205P\313\224\313\225|\210\202?-\207" [format proced-format-alist fmi new-format standard-attributes proced-tree-flag proced-process-attributes emacs-pid nil ppid tree 0 make-string 10 " " "?" 2 lambda (arg) (arg) identity "" 4 5 proced-key mouse-face highlight help-echo "-" "+" "descending" "ascending" 7 functionp "mouse-2, RET: %s" "mouse-2, RET: refine by attribute %s %s" mapconcat #[(s) "\203\301\207\302\207" [s "+" "-"] 1] append (face proced-sort-header) 3 apply propertize "%" number-to-string "s" left put-text-property line-end-position proced-pid string-match "[ 	]+$" re-search-forward "[ 	
]+$" t fmt --dolist-tail-- process-alist proced-sort grammar header-list sort-key unknown whitespace proced-grammar-alist key fun proced-descend descend proced-header-help-echo hprops refiner fprops value process field-list width afmt proced-header-line] 13 (#$ . 47565)])
#@194 Format Proced buffer using SCHEME.
When called interactively, an empty string means nil, i.e., no formatting.
Set variable `proced-format' to SCHEME.
With prefix REVERT non-nil revert listing.
(defalias 'proced-format-interactive #[(scheme &optional revert) "	=\203\n\n\205	\303\n!\207" [proced-format scheme revert proced-update] 2 (#$ . 50157) (let ((scheme (completing-read "Format: " proced-format-alist nil t))) (list (if (string= "" scheme) nil (intern scheme)) current-prefix-arg))])
#@291 Return alist of attributes for each system process.
This alist can be customized via `proced-custom-attributes'.
Optional arg PID-LIST is a list of PIDs of system process that are analyzed.
If no attributes are known for a process (possibly because it already died)
the process is ignored.
(defalias 'proced-process-attributes #[(&optional pid-list) "\306\211\211\206\f\307 \306\211\203S
@\310\f!\211\203L\304\fB	B	\306\n\211\203E
@\211\n	!\211\203>	B
A\211\204.*\f	B\nB
A\211\204\306\n-\207" [attr attributes process-alist pid-list pid --dolist-tail-- nil list-system-processes process-attributes proced-custom-attributes fun] 4 (#$ . 50660)])
#@246 Update the Proced process information.  Preserves point and marks.
With prefix REVERT non-nil, revert listing.
Suppress status information if QUIET is nil.
After updating a displayed Proced buffer run the normal hook
`proced-post-display-hook'.
(defalias 'proced-update #[(&optional revert quiet) "\206	?\n\204\306\203\307\202\310!\210\203\311 \304\303	\"\f
#\312	!6:\2034\3136\314\315 \316`\317\"7\21187\211\203[\316`S\317\"\203W`\320`\317\"Z\202\\\321\202\\iE*\313\2119:;6eb\210\322\323\313\314#\203\210\324 <\325\216\315 *\326\327!B9B9\202k\330 \210\331	\"\210eb\210m\204\241\332c\210\313y\210\202\224\332=P=\203\257\333\313!\210>?\236\211@\205\335\334\335 !?\205\335\336\337@A@!=\"\205\335\340@8\203\333\321\224\202\335\321\225A)eb\210\313\211\211BC89\204\367;@\203m\204\315 \21189\236\211C\203CAc\210\341\327!\210\342 \210;@8=\203y;A@\203m\343 \313DEB\204`\344`\313E#\211D\203`Db\210;A@\316`\317\"=\203,\345;8\344`!`Z^u\210`\211B\2031B\204i\346 B*\202y\347 \345;8\\\343 ^B\313y\210\202\367B\203\213Bb\210\202\221eb\210\346 \210+\350\203\237\351\352!P\202\240\353\f\203\312\f:\203\256\f@\202\257\f\2117?\236@\354
\203\300\355\202\301\356@A@Q*\202\313\353QF\357 \210\360 \203\332\361\362!\210\n\206\356\363 \206\356\306\203\354\364\202\355\365!,\207" [revert proced-process-alist quiet proced-filter proced-sort proced-descend message "Updating process information..." "Updating process display..." proced-process-attributes proced-tree nil t proced-pid-at-point get-text-property proced-key previous-single-property-change 0 re-search-forward "^\\(\\S-\\)" match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) match-string-no-properties 1 erase-buffer proced-format "  " set-buffer-modified-p zerop buffer-size string-match regexp-quote 3 delete-char beginning-of-line line-end-position next-property-change 2 proced-move-to-goal-column line-beginning-position "Proced" ": " symbol-name "" " by " "-" "+" force-mode-line-update get-buffer-window run-hooks proced-post-display-hook input-pending-p "Updating process information...done." "Updating process display...done." buffer-undo-list key pid mp-list buffer-read-only old-pos save-match-data-internal proced-header-line proced-goal-attribute proced-grammar-alist grammar goal-column new-pos mark pos limit mode-name] 8 (#$ . 51340) "P"])
#@101 Reevaluate the process listing based on the currently running processes.
Preserves point and marks.
(defalias 'proced-revert #[(&rest _args) "\300\301!\207" [proced-update t] 2 (#$ . 53809)])
#@240 Return marked processes as alist of PIDs.
If no process is marked return alist with the PID of the process point is on.
The cdrs of the alist are the text strings displayed by Proced for these
processes.  They are used for error messages.
(defalias 'proced-marked-processes #[nil "\303 \304\212eb\210\305	\304\306#\203\"\307 \310\311\312 \\\313 \"BB\202	)\203,\237\202?\307 \211\205>\n\310\311\312 \\\313 \"BC)*\207" [process-alist regexp pid proced-marker-regexp nil re-search-forward t proced-pid-at-point buffer-substring-no-properties 2 line-beginning-position line-end-position] 5 (#$ . 54008)])
#@205 Execute the forms in BODY in a temporary buffer displaying PROCESS-ALIST.
PROCESS-ALIST is an alist of process PIDs as in `proced-process-alist'.
The value returned is the value of the last form in BODY.
(defalias 'proced-with-processes-buffer '(macro . #[(process-alist &rest body) "\302\303\304\305\306\307\302\310\311\312\313\314\315D\316BB\317BBBBBB\320\321\322	BBB\257E\207" [process-alist body let ((bufname " *Marked Processes*") (header-line (substring-no-properties proced-header-line))) with-current-buffer (get-buffer-create bufname) (setq truncate-lines t proced-header-line header-line header-line-format '(:eval (proced-header-line))) (add-hook 'post-command-hook 'force-mode-line-update nil t) ((inhibit-read-only t)) (erase-buffer) (buffer-disable-undo) (setq buffer-read-only t) dolist process ((insert "  " (cdr process) "\n")) ((delete-char -1) (goto-char (point-min))) save-window-excursion (let (split-width-threshold) (pop-to-buffer (current-buffer))) (fit-window-to-buffer (get-buffer-window) nil 1)] 14 (#$ . 54628)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put proced-with-processes-buffer lisp-indent-function 1 edebug-form-spec t] 4)
#@709 Send a SIGNAL to processes in PROCESS-ALIST.
PROCESS-ALIST is an alist as returned by `proced-marked-processes'.
Interactively, PROCESS-ALIST contains the marked processes.
If no process is marked, it contains the process point is on,
SIGNAL may be a string (HUP, INT, TERM, etc.) or a number.
After sending SIGNAL to all processes in PROCESS-ALIST, this command
runs the normal hook `proced-after-send-signal-hook'.

For backward compatibility SIGNAL and PROCESS-ALIST may be nil.
Then PROCESS-ALIST contains the marked processes or the process point is on
and SIGNAL is queried interactively.  This noninteractive usage is still
supported but discouraged.  It will be removed in a future version of Emacs.
(defalias 'proced-send-signal #[(&optional signal process-alist) "\203	\204\262\306\307N\204\310\306\307\311#\210\312\313!\210\314\315!\210\316 \204\262	G\317U\203.\320\2023\321\322	G\"\311\323\324\325
!@Ar\326A!q\210\311B@\327C\330\331\332\333\311$\210\311D\334 \210\335 \210\311E	\333F\211G\203\203G@F\336FA\337\261\210GA\211G\204m*\340\341!\210eb\210)\342 H\343\216\333I\344p!\210)\345\346 \333\317#\210\347\350\f\351QJ\333\211\211\211\352&.\333K\353L!\203\367;\203\324\354\355\"\203\316\356!\202\325\357!\202\325	\333F\211G\203\363G@F\360\361\362\217\210GA\211G\204\340+\202'\321\363\"	\333F\211G\203&G@F\364\365!MrMq\210\366\216\333\367\370\217\210+GA\211G\204+K\203J\371\321\372\"\321\373KG	G	G\317U\203C\374\202D\375$\"\210\202P\376\377	G\"\210)\201N\201O!\207" [signal process-alist completion-extra-properties completion-ignore-case pnum proced-header-line proced-send-signal proced-outdated put t message "Outdated usage of `proced-send-signal'" sit-for 2 proced-marked-processes 1 "1 process" format "%d processes" (:annotation-function (lambda (s) (cdr (assoc s proced-signal-list)))) " *Marked Processes*" substring-no-properties get-buffer-create (:eval (proced-header-line)) add-hook post-command-hook force-mode-line-update nil erase-buffer buffer-disable-undo "  " "\n" delete-char -1 current-window-configuration ((set-window-configuration #1=#:wconfig)) pop-to-buffer fit-window-to-buffer get-buffer-window completing-read "Send signal [" "] (default TERM): " "TERM" functionp string-match "\\`[0-9]+\\'" string-to-number make-symbol err (byte-code "\304	@\n\"!\204\305\306	A\"\210	AB\304\207" [proced-signal-function process signal failures zerop proced-log "%s\n"] 4) ((error (byte-code "\303\304\"\210\303\304	A\"\210	A\nB\303\207" [err process failures proced-log "%s\n"] 3))) "-%s" generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#2=#:temp-buffer buffer-name kill-buffer] 2)) (byte-code "\304\305\306\307\306	\310\n@!&!\204 \311p!\210\311\312\nA\"\210\nAB\306\207" [proced-signal-function signal process failures zerop call-process nil t number-to-string proced-log "%s\n"] 9) ((error (byte-code "\302p!\210\302\303A\"\210A	B\302\207" [process failures proced-log "%s\n"] 3))) proced-log-summary "Signal %s" "%d of %d signal%s failed" "" "s" proced-success-message "Sent signal to" header-line bufname truncate-lines header-line-format inhibit-read-only buffer-read-only process --dolist-tail-- #1# split-width-threshold proced-signal-list failures proced-signal-function #2# run-hooks proced-after-send-signal-hook] 9 (#$ . 55816) (byte-code "\306 \211G\307U\203\310\202\311\312G\"\313\314\315\316\f!$r\317$!q\210\313%
\320&\321\322\323\324\313$\210\313'\325 \210\326 \210\313(\324)\211*\203a*@)\327)A\330\261\210*A\211*\204K*\331\332!\210eb\210)\333 +\334\216\324,\335p!\210)\336\337 \324\307#\210\340\341	\342Q-\324\211\211\211\343&.	D\207" [process-alist pnum completion-ignore-case completion-extra-properties proced-header-line header-line proced-marked-processes 1 "1 process" format "%d processes" t (:annotation-function (lambda (s) (cdr (assoc s proced-signal-list)))) " *Marked Processes*" substring-no-properties get-buffer-create (:eval (proced-header-line)) add-hook post-command-hook force-mode-line-update nil erase-buffer buffer-disable-undo "  " "\n" delete-char -1 current-window-configuration ((set-window-configuration #3=#:wconfig)) pop-to-buffer fit-window-to-buffer get-buffer-window completing-read "Send signal [" "] (default TERM): " "TERM" bufname truncate-lines header-line-format inhibit-read-only buffer-read-only process --dolist-tail-- #3# split-width-threshold proced-signal-list] 9)])
#@356 Renice the processes in PROCESS-ALIST to PRIORITY.
PROCESS-ALIST is an alist as returned by `proced-marked-processes'.
Interactively, PROCESS-ALIST contains the marked processes.
If no process is marked, it contains the process point is on,
After renicing all processes in PROCESS-ALIST, this command runs
the normal hook `proced-after-send-signal-hook'.
(defalias 'proced-renice #[(priority process-alist) "\247\203	\306!\307\n\307\211\203-\f@\310\311!r
q\210\312\216\307\313\314\217\210+\fA\211\204*	\203O\315\316\317\"\316\320	G\nG\nG\321U\203H\322\202I\323$\"\210\202U\324\325\nG\"\210)\326\327!\207" [priority failures process-alist process --dolist-tail-- #1=#:temp-buffer number-to-string nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) (byte-code "\304\305\306\307\306	\310\n@!&!\204 \311p!\210\311\312\nA\"\210\nAB\306\207" [proced-renice-command priority process failures zerop call-process nil t number-to-string proced-log "%s\n"] 9) ((error (byte-code "\302p!\210\302\303A\"\210A	B\302\207" [process failures proced-log "%s\n"] 3))) proced-log-summary format "Renice %s" "%d of %d renice%s failed" 1 "" "s" proced-success-message "Reniced" run-hooks proced-after-send-signal-hook] 9 (#$ . 60335) (byte-code "\306 \307\310	!r\311!q\210\312\n\313\314\315\316\317\312$\210\312\320 \210\321 \210\312\317 \211!\203H!@ \322 A\323\261\210!A\211!\2042*\324\325!\210eb\210)\326 \"\327\216\317#\330p!\210)\331\332 \317\333#\210\334\335!.D\207" [process-alist proced-header-line header-line bufname truncate-lines header-line-format proced-marked-processes " *Marked Processes*" substring-no-properties get-buffer-create t (:eval (proced-header-line)) add-hook post-command-hook force-mode-line-update nil erase-buffer buffer-disable-undo "  " "\n" delete-char -1 current-window-configuration ((set-window-configuration #2=#:wconfig)) pop-to-buffer fit-window-to-buffer get-buffer-window 1 read-number "New priority: " inhibit-read-only buffer-read-only process --dolist-tail-- #2# split-width-threshold] 6)])
#@185 Pop up a buffer with error log output from Proced.
A group of errors from a single command ends with a formfeed.
Thus, use \[backward-page] to find the beginning of a group of errors.
(defalias 'proced-why #[nil "\304!\205*\305 r\306\216\307\310\304!!!\210\311\312\313!\210\311db\210\314y\210\315\316!\210\317\320!+\207" [proced-log-buffer save-selected-window--state truncate-lines buffer-read-only get-buffer internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) select-window display-buffer t set-buffer-modified-p nil -1 backward-page 1 recenter 0] 4 (#$ . 62472) nil])
#@318 Log a message or the contents of a buffer.
If LOG is a string and there are more args, it is formatted with
those ARGS.  Usually the LOG string ends with a \n.
End each bunch of errors with (proced-log t signal):
this inserts the current time, buffer and signal at the start of the page,
and  (formfeed) at the end.
(defalias 'proced-log #[(log &rest args) "pr\305	!q\210db\210\306;\203#\f\203\307\310\f#\202c\202T\311!\203/\312!\202T\313=\205T\314\315!\210n\204@\316c\210\317 \320\321!\322\310\323\f@\"\261\210db\210\324c+\207" [obuf proced-log-buffer buffer-read-only log args get-buffer-create nil apply format bufferp insert-buffer-substring t backward-page 1 "\n" current-time-string "	Buffer `" buffer-name "', " "signal `%s'\n" "\f\n"] 7 (#$ . 63112)])
#@114 State a summary of SIGNAL's failures, in echo area and log buffer.
STRING is an overall summary of the failures.
(defalias 'proced-log-summary #[(signal string) "\302\303	#\210\304\305	\305Q!\210\304\306\"\207" [signal string message "Signal %s: %s--type ? for details" proced-log "\n" t] 4 (#$ . 63900)])
#@35 Provide help for the Proced user.
(defalias 'proced-help #[nil "\302 \210\303=\203\f\304 \207\305	!\207" [last-command proced-help-string proced-why proced-help describe-mode message] 2 (#$ . 64214) nil])
#@144 Undo in a Proced buffer.
This doesn't recover killed processes, it just undoes changes in the Proced
buffer.  You can use it to recover marks.
(defalias 'proced-undo #[nil "\301\302 \210)\303\304!\207" [buffer-read-only nil undo message "Change in Proced buffer undone.\nKilled processes cannot be recovered by Emacs."] 2 (#$ . 64428) nil])
(provide 'proced)

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net