MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 13.59.31.221
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/emacs-lisp/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/emacs-lisp/shadow.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:05 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/shadow.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 "\302\303\304\305\306\307\310\311&\210\312\313\314\304#\210\315\304\211\2037	@\313N\2030\314N\2040\316\314\313N#\210	A\211\204*\317\313\314\320#\210\321\314\304\322\323\324\310\303&\207" [prop --dolist-tail-- custom-declare-group lisp-shadow nil "Locate Emacs Lisp file shadowings." :prefix "load-path-shadows-" :group lisp defvaralias shadows-compare-text-p load-path-shadows-compare-text (saved-value saved-variable-comment) put make-obsolete-variable "23.3" custom-declare-variable "If non-nil, then shadowing files are reported only if their text differs.\nThis is slower, but filters out some innocuous shadowing." :type boolean] 9)
#@445 Return a list of Emacs Lisp files that create shadows.
This function does the work for `list-load-path-shadows'.

We traverse PATH looking for shadows, and return a (possibly empty)
even-length list of files.  A file in this list at position 2i shadows
the file in position 2i+1.  Emacs Lisp file suffixes (.el and .elc)
are stripped from the file names in the list.

See the documentation for `list-load-path-shadows' for further information.
(defalias 'load-path-shadows-find #[(&optional path) "\306\211\211\211\211\211\211\211 !\206\"\306#\211$\203$@#\307\310#\206/\311!!\211 \235\203S%\204#\203#\311\230\204\312\313#\"\210\202\314 \fC\" \307#\206b\311!\315\f!\205p\316\f\306\317\320$\211\203\201%\204\201\312\321G\f#\210\306\306\211$\203$@\322\323\"\203\234\324\325O\324\326\306O\327\230\203\253\330\202\254\325O\211	\235\204\331\235\204	B\332
\"\211\203\nA\333Q\f\333Q&'(\203\363\334'\335P&\335P\"\203\363\334'\336P&\336P\"\204\376\314'&D\"*\202\fB
B$A\211$\204\214*$A\211$\204\"*.\207" [file files-seen-this-dir orig-dir curr-files dir files nil directory-file-name file-truename "." message "Ignoring redundant directory %s" append file-accessible-directory-p directory-files ".\\.elc?\\(\\.gz\\)?$" t "Checking %d files in %s..." string-match "\\.gz$" 0 -3 -1 "c" -4 ("subdirs" "leim-list") assoc "/" load-path-shadows-same-file-or-nonexistent ".el" ".elc" shadows true-names path load-path pp --dolist-tail-- noninteractive base2 base1 load-path-shadows-compare-text] 9 (#$ . 1225)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias find-emacs-lisp-shadows load-path-shadows-find nil make-obsolete "23.3"] 4)
(defalias 'load-path-shadows-same-file-or-nonexistent #[(f1 f2) "\304!\304	!\211\204\n?\206=\205=\n\205=\305!\305	!\232\206=\306\307!8\306\307	!8U\205=\310\311\312\211\211\313	&\314=*\207" [f1 f2 exists2 exists1 file-exists-p file-truename 7 file-attributes call-process "cmp" nil "-s" 0] 9])
#@52 Keywords to highlight in `load-path-shadows-mode'.
(defvar load-path-shadows-font-lock-keywords (byte-code "\301\302\303\304\305!\206\306\307\310\"!!\"\311BC\207" [data-directory format "hides \\(%s.*\\)" file-name-directory locate-library "simple" file-name-as-directory expand-file-name "../lisp" (1 font-lock-warning-face)] 7) (#$ . 3281))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [load-path-shadows-mode-hook variable-documentation put purecopy "Hook run when entering LP-Shadows mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp load-path-shadows-mode-map definition-name load-path-shadows-mode] 5)
(defvar load-path-shadows-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" [load-path-shadows-mode-map variable-documentation put purecopy "Keymap for `load-path-shadows-mode'." boundp load-path-shadows-mode-syntax-table definition-name load-path-shadows-mode] 5)
(defvar load-path-shadows-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [load-path-shadows-mode-syntax-table variable-documentation put purecopy "Syntax table for `load-path-shadows-mode'." load-path-shadows-mode-abbrev-table definition-name load-path-shadows-mode] 5)
(defvar load-path-shadows-mode-abbrev-table (progn (define-abbrev-table 'load-path-shadows-mode-abbrev-table nil) load-path-shadows-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [load-path-shadows-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `load-path-shadows-mode'." load-path-shadows-mode derived-mode-parent nil] 5)
#@170 Major mode for load-path shadows buffer.

This mode runs the hook `load-path-shadows-mode-hook', as the final step
during initialization.

\{load-path-shadows-mode-map}
(defalias 'load-path-shadows-mode #[nil "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
\306\315!\210\316
\307\211)\317\320!\207" [delay-mode-hooks major-mode mode-name load-path-shadows-mode-map load-path-shadows-mode-syntax-table load-path-shadows-mode-abbrev-table make-local-variable t kill-all-local-variables load-path-shadows-mode "LP-Shadows" use-local-map set-syntax-table font-lock-defaults ((load-path-shadows-font-lock-keywords)) run-mode-hooks load-path-shadows-mode-hook local-abbrev-table buffer-undo-list buffer-read-only] 3 (#$ . 5124) nil])
(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\207" [require button define-button-type load-path-shadows-find-file follow-link t action #[(button) "\302\303\"\304P\305	!\204	\306P\307	!\203\310\311	!!\202\"\312\313!)\207" [button file button-get shadow-file ".el" file-exists-p ".gz" file-readable-p pop-to-buffer find-file-noselect error "Cannot read file"] 3] help-echo "mouse-2, RET: find this file"] 8)
#@1851 Display a list of Emacs Lisp files that shadow other files.

If STRINGP is non-nil, returns any shadows as a string.
Otherwise, if interactive shows any shadows in a `*Shadows*' buffer;
else prints messages listing any shadows.

This function lists potential load path problems.  Directories in
the `load-path' variable are searched, in order, for Emacs Lisp
files.  When a previously encountered file name is found again, a
message is displayed indicating that the later file is "hidden" by
the earlier.

For example, suppose `load-path' is set to

("/usr/gnu/emacs/site-lisp" "/usr/gnu/emacs/share/emacs/19.30/lisp")

and that each of these directories contains a file called XXX.el.  Then
XXX.el in the site-lisp directory is referred to by all of:
(require 'XXX), (autoload .... "XXX"), (load-library "XXX") etc.

The first XXX.el file prevents Emacs from seeing the second (unless
the second is loaded explicitly via `load-file').

When not intended, such shadowings can be the source of subtle
problems.  For example, the above situation may have arisen because the
XXX package was not distributed with versions of Emacs prior to
19.30.  An Emacs maintainer downloaded XXX from elsewhere and installed
it.  Later, XXX was updated and included in the Emacs distribution.
Unless the Emacs maintainer checks for this, the new version of XXX
will be hidden behind the old (which may no longer work with the new
Emacs version).

This function performs these checks and flags all possible
shadowings.  Because a .el file may exist without a corresponding .elc
(or vice-versa), these suffixes are essentially ignored.  A file
XXX.elc in an early directory (that does not contain XXX.el) is
considered to shadow a later file XXX.el, and vice-versa.

Shadowings are located by calling the (non-interactive) companion
function, `load-path-shadows-find'.
(defalias 'list-load-path-shadows #[(&optional stringp) "\306!\211\307\n\307\211\2030
@\310\311\312\f\"!\204%\310\311\313\f\"!\203)\fB
A\211\204*G\314V\203Y@1	\211\203X\nA@1=\203Q\n\307\241\210\307\nA\211\204B)\315	!\2112G\316\2453\317\320\3213!\203q\322\202w\323\3243!P3\314U\203\202\325\202\203\326#4\327\330!5r5q\210\331\2162\203\255\317\3322@2A@#c\2102AA\2112\204\2276\203\267\333 \202B\334\335!\203\333 7r\336\337!q\210\340p!\210\341 \210\3428\343 \2107c\2104\323\261\210\344\345\307\342#\203\316\3469:9:W\203\3479T\2249T\225\350\351\352\3539T!&\2109T\2119\202\356*\202\336db+\202B\3213!?\205B\354\355!\210eb\210m\204=\354\356\357 \360 {\"\210\314y\210\202*\354\3564\".	\207" [load-path path tem toplevs tt --dolist-tail-- copy-sequence nil file-exists-p expand-file-name "simple.el" "simple.el.gz" 1 load-path-shadows-find 2 format "%s Emacs Lisp load-path shadowing%s found" zerop "No" "\n" number-to-string " was" "s were" generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) "%s hides %s\n" buffer-string called-interactively-p interactive get-buffer-create "*Shadows*" display-buffer load-path-shadows-mode t erase-buffer re-search-backward "\\(^.*\\) hides \\(.*$\\)" 0 make-button type load-path-shadows-find-file shadow-file match-string message "This site has duplicate Lisp libraries with the same name.\nIf a locally-installed Lisp library overrides a library in the Emacs release,\nthat can cause trouble, and you should probably remove the locally-installed\nversion unless you know what you are doing.\n" "%s" line-beginning-position line-end-position break shadows n msg #1# stringp string inhibit-read-only i --dotimes-limit--] 9 (#$ . 6307) nil])
(provide 'shadow)

MMCT - 2023