? 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/shadowfile.elc

;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:06:30 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/shadowfile.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\310\311\312\313&	\210\314\315\304\316\317\320\312\303&\210\314\321\304\322\317\323\312\303&\210\314\324\304\325\317\323\312\303&\210\314\326\304\327\317\330\312\303&\210\314\331\304\332\317\333\312\303&\207" [require ange-ftp custom-declare-group shadow nil "Automatic file copying when saving a file." :prefix "shadow-" :link (emacs-commentary-link "shadowfile") :group files custom-declare-variable shadow-noquery "If t, always copy shadow files without asking.\nIf nil (the default), always ask.  If not nil and not t, ask only if there\nis no buffer currently visiting the file." :type (choice (const t) (const nil) (other :tag "Ask if no buffer" maybe)) shadow-inhibit-message "If non-nil, do not display a message when a file needs copying." boolean shadow-inhibit-overload "If non-nil, shadowfile won't redefine \\[save-buffers-kill-emacs].\nNormally it overloads the function `save-buffers-kill-emacs' to check for\nfiles that have been changed and need to be copied to other systems." shadow-info-file "File to keep shadow information in.\nThe `shadow-info-file' should be shadowed to all your accounts to\nensure consistency.  Default: ~/.shadows" (choice (const nil) file) shadow-todo-file "File to store the list of uncopied shadows in.\nThis means that if a remote system is down, or for any reason you cannot or\ndecide not to copy your shadow files at the end of one Emacs session, it will\nremember and ask you again in your next Emacs session.\nThis file must NOT be shadowed to any other system, it is host-specific.\nDefault: ~/.shadow_todo" (choice (const nil) file)] 10)
#@40 The complete hostname of this machine.
(defvar shadow-system-name (system-name) (#$ . 2200))
#@38 Your home directory on this machine.
(defvar shadow-homedir nil (#$ . 2299))
#@54 List of host clusters (see `shadow-define-cluster').
(defvar shadow-clusters nil (#$ . 2382))
#@149 List of files that are shared between hosts.
This list contains shadow structures with literal filenames, created by
`shadow-define-literal-group'.
(defvar shadow-literal-groups nil (#$ . 2483))
#@162 List of file types that are shared between hosts.
This list contains shadow structures with regexps matching filenames,
created by `shadow-define-regexp-group'.
(defvar shadow-regexp-groups nil (#$ . 2685))
(defvar shadow-files-to-copy nil)
(defvar shadow-hashtable nil)
(defvar shadow-info-buffer nil)
(defvar shadow-todo-buffer nil)
#@69 Add members of list A to list B if not equal to items already in B.
(defalias 'shadow-union #[(a b) "\204	\207@	\235\203\302A	\"\207\302A@	B\"\207" [a b shadow-union] 4 (#$ . 3026)])
#@80 If FUNC applied to some element of LIST is non-nil, return first such element.
(defalias 'shadow-find #[(func list) "\203	@!\204A\211\204@\207" [list func] 3 (#$ . 3224)])
#@123 Remove elements satisfying FUNC from LIST.
Nondestructive; actually returns a copy of the list with the elements removed.
(defalias 'shadow-remove-if #[(func list) "\205	@!\203\302	A\"\207@\302	A\"B\207" [list func shadow-remove-if] 4 (#$ . 3414)])
#@99 Like `regexp-quote', but includes the ^ and $.
This makes sure regexp matches nothing but STRING.
(defalias 'shadow-regexp-superquote #[(string) "\301\302!\303Q\207" [string "^" regexp-quote "$"] 3 (#$ . 3678)])
#@130 If PREFIX begins STRING, return the rest.
Return value is non-nil if PREFIX and STRING are `string=' up to the length of
PREFIX.
(defalias 'shadow-suffix #[(prefix string) "G	G\nY\205	\304O\230\205	\305O*\207" [prefix string ls lp 0 nil] 4 (#$ . 3898)])
#@309 Create a shadow cluster.
It is called NAME, uses the PRIMARY hostname and REGEXP matching all
hosts in the cluster.  The variable `shadow-clusters' associates the
names of clusters to these structures.  This function is for program
use: to create clusters interactively, use `shadow-define-cluster'
instead.
(defalias 'shadow-make-cluster #[(name primary regexp) "	\nE\207" [name primary regexp] 3 (#$ . 4170)])
#@33 Return the name of the CLUSTER.
(defalias 'shadow-cluster-name '(macro . #[(cluster) "\301\302E\207" [cluster elt 0] 3 (#$ . 4589)]))
#@43 Return the primary hostname of a CLUSTER.
(defalias 'shadow-cluster-primary '(macro . #[(cluster) "\301\302E\207" [cluster elt 1] 3 (#$ . 4730)]))
#@48 Return the regexp matching hosts in a CLUSTER.
(defalias 'shadow-cluster-regexp '(macro . #[(cluster) "\301\302E\207" [cluster elt 2] 3 (#$ . 4884)]))
#@197 Put cluster NAME on the list of clusters.
Replace old definition, if any.  PRIMARY and REGEXP are the
information defining the cluster.  For interactive use, call
`shadow-define-cluster' instead.
(defalias 'shadow-set-cluster #[(name primary regexp) "\305\306\"\307\n\f#	B\211)\207" [shadow-clusters rest name primary regexp shadow-remove-if #[(x) "	@\232\207" [name x] 2] shadow-make-cluster] 4 (#$ . 5043)])
#@36 Return cluster named NAME, or nil.
(defalias 'shadow-get-cluster '(macro . #[(name) "\301\302E\207" [name assoc shadow-clusters] 3 (#$ . 5464)]))
#@67 If SITE is a cluster, return primary host, otherwise return SITE.
(defalias 'shadow-site-primary #[(site) "\303	\"\211\203\n\304\234\202)\207" [site shadow-clusters c assoc 1] 4 (#$ . 5617)])
#@75 Given a SITE (hostname or cluster name), return cluster it is in, or nil.
(defalias 'shadow-site-cluster #[(site) "\302	\"\206\303\304	\"\207" [site shadow-clusters assoc shadow-find #[(x) "\302\303\234	\"\207" [x site string-match 2] 3]] 3 (#$ . 5822)])
#@54 Read a cluster name or hostname from the minibuffer.
(defalias 'shadow-read-site #[nil "\302\303\"\211\304\232?\205
	)\207" [shadow-clusters ans completing-read "Host or cluster name [RET when done]: " ""] 4 (#$ . 6087)])
#@160 Non-nil if SITE1 is or includes SITE2.
Each may be a host or cluster name; if they are clusters, regexp of SITE1 will
be matched against the primary of SITE2.
(defalias 'shadow-site-match #[(site1 site2) "	\230\206 \305\n\"\306	!\203\307\310\234\f\"\202\f\230*\207" [site1 site2 shadow-clusters cluster1 primary2 assoc shadow-site-primary string-match 2] 3 (#$ . 6319)])
#@41 Return the default username for a SITE.
(defalias 'shadow-get-user #[(site) "\301\302!!\207" [site ange-ftp-get-user shadow-site-primary] 3 (#$ . 6708)])
#@142 Parse FULLNAME into (site user path) list.
Leave it alone if it already is one.  Return nil if the argument is
not a full ange-ftp pathname.
(defalias 'shadow-parse-fullname #[(fullname) "<\203\207\301!\207" [fullname ange-ftp-ftp-name] 2 (#$ . 6870)])
#@118 Parse any NAME into (site user name) list.
Argument can be a simple name, full ange-ftp name, or already a hup list.
(defalias 'shadow-parse-name #[(name) "\302!\206	\303 E\207" [name shadow-system-name shadow-parse-fullname user-login-name] 3 (#$ . 7135)])
#@124 Make an ange-ftp style fullname out of HOST, USER (optional), and NAME.
This is probably not as general as it ought to be.
(defalias 'shadow-make-fullname #[(host user name) "\303\205\304P	\305\n\260\207" [user host name "/" "@" ":"] 5 (#$ . 7404)])
(put 'shadow-make-fullname 'byte-optimizer 'byte-compile-inline-expand)
#@61 Return FULLNAME with the name component changed to NEWNAME.
(defalias 'shadow-replace-name-component #[(fullname newname) "\306!\211@	A@\n\307\f\205\f\310P
\311\260,\207" [fullname hup newname name user host shadow-parse-fullname "/" "@" ":"] 6 (#$ . 7737)])
#@130 If FILE is at this site, remove /user@host part.
If refers to a different system or a different user on this system,
return nil.
(defalias 'shadow-local-file #[(file) "\303!\211\204\f\202$\304	@\n\"\203#	A@\305 \230\203#\306	8\202$\307)\207" [file hup shadow-system-name shadow-parse-fullname shadow-site-match user-login-name 2 nil] 4 (#$ . 8012)])
#@130 If hostname part of FILE is a cluster, expand it to cluster's primary hostname.
Will return the name bare if it is a local file.
(defalias 'shadow-expand-cluster-in-file-name #[(file) "\305!\211\204\f\202-\306	!\206-\307	@!	A@\310	8\311\205'\312P\f\313\n\260+)\207" [file hup name user host shadow-parse-name shadow-local-file shadow-site-primary 2 "/" "@" ":"] 6 (#$ . 8377)])
#@44 Expand file name and get FILE's true name.
(defalias 'shadow-expand-file-name #[(file &optional default) "\302\303	\"!\207" [file default file-truename expand-file-name] 4 (#$ . 8774)])
#@162 Simplify FILE.
Do so by replacing (when possible) home directory with ~, and hostname
with cluster name that includes it.  Filename should be absolute and
true.
(defalias 'shadow-contract-file-name #[(file) "\306!\307	!\203\n\202-\310\311\312\313	@	A@\314\315\f\205#\f\316P
\317\260+!!8!\320\311	8\"\321	@!\211\203I\322\234\202K	@	A@\203Z\323P\202]\311	8\315\f\205h\f\316P
\317\260.\207" [file hup shadow-homedir name user host shadow-parse-name shadow-local-file file-name-as-directory 2 shadow-parse-fullname expand-file-name "~" "/" "@" ":" shadow-suffix shadow-site-cluster 0 "~/" homedir suffix cluster] 10 (#$ . 8968)])
#@237 True if the site of PATTERN and of FILE are on the same site.
If usernames are supplied, they must also match exactly.  PATTERN and FILE may
be lists of host, user, name, or ange-ftp file names.  FILE may also be just a
local filename.
(defalias 'shadow-same-site #[(pattern file) "\304!\305	!\306@\n@\"\205A@?\206A@\nA@\230*\207" [pattern file file-sup pattern-sup shadow-parse-fullname shadow-parse-name shadow-site-match] 3 (#$ . 9637)])
#@404 Return t if PATTERN matches FILE.
If REGEXP is supplied and non-nil, the file part of the pattern is a regular
expression, otherwise it must match exactly.  The sites and usernames must
match---see `shadow-same-site'.  The pattern must be in full ange-ftp format,
but the file can be any valid filename.  This function does not do any
filename expansion or contraction, you must do that yourself first.
(defalias 'shadow-file-match #[(pattern file &optional regexp) "\305!\306\n!\307	\"\205%\f\203\310\311	8\3118\"\202%\311	8\3118\230*\207" [pattern pattern-sup file file-sup regexp shadow-parse-fullname shadow-parse-name shadow-same-site string-match 2] 4 (#$ . 10095)])
#@373 Edit (or create) the definition of a cluster NAME.
This is a group of hosts that share directories, so that copying to or from
one of them is sufficient to update the file on all of them.  Clusters are
defined by a name, the network address of a primary host (the one we copy
files to), and a regular expression that matches the hostnames of all the
sites in the cluster.
(defalias 'shadow-define-cluster #[(name) "\306	\"\307\310\n\203\n\311\234\202\"\312\313\307\314\n\203#\n\315\234\202&\316!\"\211\"\2049\317\320!\210\321\315!\210\202\f)\322
#+\207" [name shadow-clusters old primary try-regexp regexp assoc read-string "Primary host: " 1 nil string-match "Regexp matching all host names: " 2 shadow-regexp-superquote message "Regexp doesn't include the primary host!" sit-for shadow-set-cluster] 5 (#$ . 10785) (list (completing-read "Cluster name: " shadow-clusters nil nil))])
#@273 Declare a single file to be shared between sites.
It may have different filenames on each site.  When this file is edited, the
new version will be copied to each of the other locations.  Sites can be
specific hostnames, or names of clusters (see `shadow-define-cluster').
(defalias 'shadow-define-literal-group #[nil "\306\307\310 !!\3118\312\211\312\313 \211\203L\314\315\316\317!\"!\314\320	\"\n\321\230\2033\317!\2024\n	\322\n\205@\n\323P
\324	\260+\fB\202\fB-\325 \207" [hup name user site group host shadow-parse-fullname shadow-contract-file-name buffer-file-name 2 nil shadow-read-site read-string format "Username (default %s): " shadow-get-user "Filename: " "" "/" "@" ":" shadow-write-info-file shadow-literal-groups] 6 (#$ . 11696) nil])
#@389 Make each of a group of files be shared between hosts.
Prompts for regular expression; files matching this are shared between a list
of sites, which are also prompted for.  The filenames must be identical on all
hosts (if they aren't, use `shadow-define-literal-group' instead of this
function).  Each site can be either a hostname or the name of a cluster (see
`shadow-define-cluster').
(defalias 'shadow-define-regexp-group #[nil "\305\306\307 \205\310\311\312\313\307 !!8!\"\314\211\211\315 \211\2033\n	B\305\316\317\n\"\320\n!\"B\202\321	#\fB\322 ,\207" [usernames sites site regexp shadow-regexp-groups read-string "Filename regexp: " buffer-file-name shadow-regexp-superquote 2 shadow-parse-name shadow-contract-file-name nil shadow-read-site format "Username for %s: " shadow-get-user shadow-make-group shadow-write-info-file] 7 (#$ . 12479) nil])
#@54 Interactive function to display shadows of a buffer.
(defalias 'shadow-shadows #[nil "\301\302\303\304 !\305#\306\307\310G!\203\311\202\")\207" [msg mapconcat cdr shadow-shadows-of buffer-file-name " " message "%s" zerop "No shadows."] 4 (#$ . 13356) nil])
#@309 Copy all pending shadow files.
With prefix argument, copy all pending files without query.
Pending copies are stored in variable `shadow-files-to-copy', and in
`shadow-todo-file' if necessary.  This function is invoked by
`shadow-save-buffers-kill-emacs', so it is not usually necessary to
call it manually.
(defalias 'shadow-copy-files #[(&optional arg) "\204\301\302!\205\303\304!\207\212\305\306\307\310$\210\311\312!)\207" [shadow-files-to-copy called-interactively-p interactive message "No files need to be shadowed." map-y-or-n-p #[(pair) "\206
	\206
\303\304\nA\"\207" [arg shadow-noquery pair format "Copy shadow file %s? "] 3] shadow-copy-file ("shadow" "shadows" "copy") shadow-write-todo-file t] 5 (#$ . 13627) "P"])
#@281 Cancel the instruction to copy some files.
Prompts for which copy operations to cancel.  You will not be asked to copy
them again, unless you make more changes to the files.  To cancel a shadow
permanently, remove the group from `shadow-literal-groups' or
`shadow-regexp-groups'.
(defalias 'shadow-cancel #[nil "\301\302\303\304$\210\305\306G\"\210\307 \207" [shadow-files-to-copy map-y-or-n-p #[(pair) "\301\302@A#\207" [pair format "Cancel copying %s to %s? "] 4] #[(pair) "\301!\207" [pair shadow-remove-from-todo] 2] ("shadow" "shadows" "cancel copy") message "There are %d shadows to be updated." shadow-write-todo-file] 5 (#$ . 14372) nil])
#@196 Make a description of a file group---
actually a list of regexp ange-ftp file names---from REGEXP (name of file to
be shadowed), list of SITES, and corresponding list of USERNAMES for each
site.
(defalias 'shadow-make-group #[(regexp sites usernames) "\205\"@	@\n\306\f\205\f\307P
\310\260+\311\nA	A#B\207" [sites usernames regexp name user host "/" "@" ":" shadow-make-group] 5 (#$ . 15031)])
#@23 Copy one shadow file.
(defalias 'shadow-copy-file #[(s) "\304\305\306@!!!\2068\307@!\204$\310\311\312@\"!\203 \313!\210\314\2028	\315=\2044\310\311\316@\"!\2058\317@!\320A!\n\205I\nq\210\314\321\322\217*\207" [s shadow-noquery buffer to get-file-buffer abbreviate-file-name shadow-expand-file-name file-readable-p y-or-n-p format "Cannot find file %s--cancel copy request? " shadow-remove-from-todo nil t "No buffer for %s -- update shadow anyway? " find-file-noselect shadow-expand-cluster-in-file-name (byte-code "\302\303\211#\210\304	!\207" [to s write-region nil shadow-remove-from-todo] 4) ((error (byte-code "\301\302A\"\207" [s message "Shadow %s not updated!"] 3)))] 4 (#$ . 15442)])
#@222 Return copy operations needed to update FILE.
Filename should have clusters expanded, but otherwise can have any format.
Return value is a list of dotted pairs like (from . to), where from
and to are absolute file names.
(defalias 'shadow-shadows-of #[(file) "\306	\"J\2061\307\310!\206\n\"\311!\312\313\314\315\f
\316#\315\f\317#\"\"\320	\"L+\207" [file shadow-hashtable shadow-homedir absolute-file canonical-file shadow-literal-groups intern-soft shadow-expand-file-name shadow-local-file shadow-contract-file-name mapcar #[(shadow) "	B\207" [absolute-file shadow] 2] append shadow-shadows-of-1 nil t intern shadow-regexp-groups shadows] 8 (#$ . 16160)])
#@108 Return list of FILE's shadows in GROUPS.
Consider them as regular expressions if third arg REGEXP is true.
(defalias 'shadow-shadows-of-1 #[(file groups regexp) "\2051\305\306@\"\307	@\232\203\310\202)\n\203(\311\312!8\313\314	\")\202)	\315A\n#\")\207" [groups nonmatching regexp file realname shadow-remove-if #[(x) "\303	\n#\207" [x file regexp shadow-file-match] 4] append nil 2 shadow-parse-fullname mapcar #[(x) "\302	\"\207" [x realname shadow-replace-name-component] 3] shadow-shadows-of-1] 6 (#$ . 16842)])
#@75 If current buffer has shadows, add them to the list needing to be copied.
(defalias 'shadow-add-to-todo #[nil "\303\304\305p!!!\211\203#\306	\"\n\204 \307\310\311\312!\"\210\313\314!\210\315 \210)\316\207" [shadows shadow-files-to-copy shadow-inhibit-message shadow-shadows-of shadow-expand-file-name buffer-file-name shadow-union message "%s" substitute-command-keys "Use \\[shadow-copy-files] to update shadows." sit-for 1 shadow-write-todo-file nil] 5 (#$ . 17379)])
#@97 Remove PAIR from `shadow-files-to-copy'.
PAIR must be `eq' to one of the elements of that list.
(defalias 'shadow-remove-from-todo #[(pair) "\301\302\"\211\207" [shadow-files-to-copy shadow-remove-if #[(s) "	=\207" [s pair] 2]] 3 (#$ . 17860)])
#@174 Visit and load `shadow-info-file' and `shadow-todo-file'.
Thus restores shadowfile's state from your last Emacs session.
Return t unless files were locked; then return nil.
(defalias 'shadow-read-files #[nil "\304\305!\203!\305!;\204\305	!;\203!\306\307!\210\310 \210\311\312!\210\313\207\212\203M\314!\211q\210\315 \204J\316\317 \"\203J\320 \210\306\321\322\317 !@\"\210\311\323!\210\324 \210	\203y\314	!\211q\210\315 \204u\316\317 	\"\203u\320 \210\306\321\322\317 !@\"\210\311\323!\210\324\313!\210\325 \210)\326\207" [shadow-info-file shadow-todo-file shadow-info-buffer shadow-todo-buffer fboundp file-locked-p message "Shadowfile is running in another Emacs; can't have two." beep sit-for 3 nil find-file-noselect buffer-modified-p file-newer-than-file-p make-auto-save-file-name erase-buffer "Data recovered from %s." insert-file-contents 1 eval-buffer shadow-invalidate-hashtable t] 4 (#$ . 18115) nil])
#@154 Write out information to `shadow-info-file'.
Also clear `shadow-hashtable', since when there are new shadows
defined, the old hashtable info is invalid.
(defalias 'shadow-write-info-file #[nil "\302 \210\205#\212	\204\303!	q\210ed|\210\304\305!\210\304\306!\210\304\307!)\207" [shadow-info-file shadow-info-buffer shadow-invalidate-hashtable find-file-noselect shadow-insert-var shadow-clusters shadow-literal-groups shadow-regexp-groups] 2 (#$ . 19050)])
#@91 Write out information to `shadow-todo-file'.
With non-nil argument also saves the buffer.
(defalias 'shadow-write-todo-file #[(&optional save) "\212\204	\303	!q\210ed|\210\304\305!\210\n\205\306 )\207" [shadow-todo-buffer shadow-todo-file save find-file-noselect shadow-insert-var shadow-files-to-copy shadow-save-todo-file] 2 (#$ . 19518)])
(defalias 'shadow-save-todo-file #[nil "\205\301!\205rq\210\302\303\304\217)\207" [shadow-todo-buffer buffer-modified-p nil (basic-save-buffer) ((error (byte-code "\300\301!\210\302\303!\207" [message "WARNING: Can't save shadow todo file; it is locked!" sit-for 1] 2)))] 3])
(defalias 'shadow-invalidate-hashtable #[nil "\301\302\303\"\211\207" [shadow-hashtable make-vector 37 0] 3])
#@208 Build a `setq' to restore VARIABLE.
Prettily insert a `setq' command which, when later evaluated,
will restore VARIABLE to its current setting.
VARIABLE must be the name of a variable whose value is a list.
(defalias 'shadow-insert-var #[(variable) "p\303\304	\"c\210\305	!:\2037\306c\210\307\305	!@!\210\305	!A\211\2031\310c\210\307\n@!\210\nA\211\204\"\311c)\202B\312c\210\307\305	!!\210\313c)\207" [standard-output variable rest format "(setq %s" eval "\n  '(" prin1 "\n    " "))\n\n" " " ")\n\n"] 4 (#$ . 20267)])
#@291 Offer to save each buffer and copy shadows, then kill this Emacs process.
With prefix arg, silently save all file-visiting buffers, then kill.

Extended by shadowfile to automatically save `shadow-todo-file' and
look for files that have been changed and need to be copied to other systems.
(defalias 'shadow-save-buffers-kill-emacs #[(&optional arg) "\303 \210\304\305\"\210\306 \210\303 \210\305\307\310\311 \">\203\312\313!\205T\314\315!\203R\315 \316\211\203F\317\n@!\320>\203?\321\n@!\203?\305\nA\211\204-	?\206N\312\322!*\205T\323 \207" [arg active processes shadow-save-todo-file save-some-buffers t shadow-copy-files mapcar #[(buf) "\301!\205	\302!\207" [buf buffer-file-name buffer-modified-p] 2] buffer-list yes-or-no-p "Modified buffers exist; exit anyway? " fboundp process-list nil process-status (run stop open listen) process-query-on-exit-flag "Active processes exist; kill them and exit anyway? " kill-emacs] 5 (#$ . 20799) "P"])
#@24 Set up file shadowing.
(defalias 'shadow-initialize #[nil "\204\n\305\306\307!!	\204\306\310\311!!\n\204\306\310\312!!\313 \204.\314\315!\210\316 \210\317\320!\207\204C\321\322!\204C\323\322\324K\"\210\323\324\325\"\210\326\327\330\"\210\331\f\332\333#\207" [shadow-homedir shadow-info-file shadow-todo-file shadow-inhibit-overload ctl-x-4-map file-name-as-directory shadow-expand-file-name "~" convert-standard-filename "~/.shadows" "~/.shadow_todo" shadow-read-files message "Shadowfile information files not found - aborting" beep sit-for 3 fboundp shadow-orig-save-buffers-kill-emacs defalias save-buffers-kill-emacs shadow-save-buffers-kill-emacs add-hook write-file-functions shadow-add-to-todo define-key "s" shadow-copy-files] 4 (#$ . 21769) nil])
(defalias 'shadowfile-unload-function #[nil "\301\302\303#\210\304\305!\203\306\305KM\210\303\207" [ctl-x-4-map substitute-key-definition shadow-copy-files nil fboundp shadow-orig-save-buffers-kill-emacs save-buffers-kill-emacs] 4])
(provide 'shadowfile)

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