403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.141
Web Server : Apache
System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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



(byte-code "\300\301\302\303#\210\304\305\302\306\307\310\311\312&\210\304\313\302\314\315\316\311\305&\210\317\320\321\322\323DD\324\325\326\311\305&\210\317\327\321\322\330DD\331\311\305\325\332&\210\317\333\321\322\334DD\335\325\336\311\305\337\340&	\207" [require dired-loaddefs nil t custom-declare-group dired "Directory editing." :link (custom-manual "(emacs)Dired") :group files dired-mark "Handling marks in Dired." :prefix "dired-" custom-declare-variable dired-listing-switches funcall function #[0 "\300\301!\207" [purecopy "-al"] 2 #1=""] "Switches passed to `ls' for Dired.  MUST contain the `l' option.\nMay contain all other options that don't contradict `-l';\nmay contain even `F', `b', `i' and `s'.  See also the variable\n`dired-ls-F-marks-symlinks' concerning the `F' switch.\n\nIf you have files with names with embedded newline characters, adding\n`b' to the switches will allow Dired to handle those files better.\n\nOptions that include embedded whitespace must be quoted\nlike this: \"--option=value with spaces\"; you can use\n`combine-and-quote-strings' to produce the correct quoting of\neach option.\n\nOn systems such as MS-DOS and MS-Windows, which use `ls' emulation in Lisp,\nsome of the `ls' switches are not supported; see the doc string of\n`insert-directory' in `ls-lisp.el' for more details." :type string dired-subdir-switches #[0 "\300\207" [nil] 1 #1#] "If non-nil, switches passed to `ls' for inserting subdirectories.\nIf nil, `dired-listing-switches' is used." (choice (const :tag "Use dired-listing-switches" nil) (string :tag "Switches")) dired-maybe-use-globstar #[0 "\300\207" [nil] 1 #1#] "If non-nil, enable globstar if the shell supports it.\nSome shells enable this feature by default (e.g. zsh or fish).\n\nSee `dired-enable-globstar-in-shell' for a list of shells\nthat support globstar and disable it by default.\n\nNote that the implementations of globstar have small differences\nbetween shells.  You must check your shell documentation to see\nwhat to expect." boolean :version "28.1"] 10)
#@204 Alist of (SHELL . COMMAND), where COMMAND enables globstar in SHELL.
If `dired-maybe-use-globstar' is non-nil, then `dired-insert-directory'
checks this alist to enable globstar in the shell subprocess.
(defconst dired-enable-globstar-in-shell '(("ksh" . "set -G") ("bash" . "shopt -s globstar")) (#$ . 2138))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\315&\207" [custom-declare-variable dired-chown-program funcall function #[0 "\300\301\302!\203\302\202 \303\304!\203\304\202 \303\305!\203\305\202 \302!\207" [purecopy executable-find "chown" file-executable-p "/usr/sbin/chown" "/etc/chown"] 3 #1=""] "Name of chown command (usually `chown')." :group dired :type file dired-use-ls-dired #[0 "\300\207" [unspecified] 1 #1#] "Non-nil means Dired should pass the \"--dired\" option to \"ls\".\nIf nil, don't pass \"--dired\" to \"ls\".\nThe special value of `unspecified' means to check whether \"ls\"\nsupports the \"--dired\" option, and save the result in this\nvariable.  This is performed the first time `dired-insert-directory'\nis invoked.\n\nNote that if you set this option to nil, either through choice or\nbecause your \"ls\" program does not support \"--dired\", Dired\nwill fail to parse some \"unusual\" file names, e.g. those with leading\nspaces.  You might want to install ls from GNU Coreutils, which does\nsupport this option.  Alternatively, you might want to use Emacs's\nown emulation of \"ls\", by using:\n  (setq ls-lisp-use-insert-directory-program nil)\n  (require \\='ls-lisp)\nThis is used by default on MS Windows, which does not have an \"ls\" program.\nNote that `ls-lisp' does not support as many options as GNU ls, though.\nFor more details, see Info node `(emacs)ls in Lisp'." (choice (const :tag "Use --dired only if `ls' supports it" unspecified) (const :tag "Do not use --dired" nil) (other :tag "Always use --dired" t))] 8)
#@42 Name of chmod command (usually `chmod').
(defvar dired-chmod-program "chmod" (#$ . 4072))
(byte-code "\300\301\302\303#\210\304\305\306\307\310DD\311\312\313\314\315&\210\304\316\306\307\317DD\320\314\321\312\322&\210\304\323\306\307\324DD\325\314\326\312\313&\210\304\327\306\307\330DD\331\314\332\312\322&\210\304\333\306\307\334DD\335\314\336\312\322&\210\304\337\306\307\340DD\341\314\342\312\322&\210\304\343\306\307\344DD\345\314\346\312\322&\210\304\347\306\307\350DD\351\314\352\312\313&\210\304\353\306\307\354DD\355\314\321\312\313&\210\304\356\306\307\357DD\360\314\321\312\313&\210\361\362\363\302#\210\364\211\203\304\211@\362N\203\275\363N\204\275\365\363\362N#\210A\266\202\202\243\210\300\362\363\366#\210\361\367\370\302#\210\364\211\203\363\211@\367N\203\354\370N\204\354\365\370\367N#\210A\266\202\202\322\210\300\367\370\366#\210\304\371\306\307\372DD\373\312\313\314\374&\210\300\371\375\303#\210\304\376\306\307\377DD\201@\312\313\314\374&\210\304\201A\306\307\201BDD\201C\312\313\314\374&\210\304\201D\306\307\201EDD\201F\312\313\314\374&\210\304\201G\306\307\201HDD\201I\312\313\314\374\201J\201K&	\210\304\201L\306\307\201MDD\201N\314\201O\201J\201P\312\313&	\210\304\201Q\306\307\201RDD\201S\314\321\201J\201K\312\313&	\210\304\201T\306\307\201UDD\201V\314\321\201J\201K\312\313&	\210\304\201W\306\307\201XDD\201Y\314\321\201J\201Z\312\313&	\210\304\201[\306\307\201\\DD\201]\314\201^\312\313\201J\303&	\210\304\201_\306\307\201`DD\201a\314\321\201J\303&\207" [make-obsolete-variable dired-chmod-program nil "28.1" custom-declare-variable dired-touch-program funcall function #[0 "\300\207" ["touch"] 1 #1=""] "Name of touch command (usually `touch')." :group dired :type file dired-ls-F-marks-symlinks #[0 "\300\207" [nil] 1 #1#] "Informs Dired about how `ls -lF' marks symbolic links.\nSet this to t if `ls' (or whatever program is specified by\n`insert-directory-program') with `-lF' marks the symbolic link\nitself with a trailing @ (usually the case under Ultrix and macOS).\n\nExample: if `ln -s foo bar; ls -F bar' gives `bar -> foo', set it to\nnil (the default), if it gives `bar@ -> foo', set it to t.\n\nDired checks if there is really a @ appended.  Thus, if you have a\nmarking `ls' program on one host and a non-marking on another host, and\ndon't care about symbolic links which really end in a @, you can\nalways set this variable to t." boolean dired-mark dired-trivial-filenames #[0 "\300\301!\207" [purecopy "\\`\\.\\.?\\'\\|\\`\\.?#"] 2 #1#] "Regexp of files to skip when finding first file of a directory.\nA value of nil means move to the subdir line.\nA value of t means move to first file." (choice (const :tag "Move to subdir" nil) (const :tag "Move to first" t) regexp) dired-keep-marker-rename #[0 "\300\207" [t] 1 #1#] "Controls marking of renamed files.\nIf t, files keep their previous marks when they are renamed.\nIf a character, renamed files (whether previously marked or not)\nare afterward marked with that character.\nThis option affects only files renamed by `dired-do-rename' and\n`dired-do-rename-regexp'.  See `wdired-keep-marker-rename'\nif you want to do the same for files renamed in WDired mode." (choice (const :tag "Keep" t) (character :tag "Mark" :value 82)) dired-keep-marker-copy #[0 "\300\207" [67] 1 #1#] "Controls marking of copied files.\nIf t, copied files are marked if and as the corresponding original files were.\nIf a character, copied files are unconditionally marked with that character." (choice (const :tag "Keep" t) (character :tag "Mark")) dired-keep-marker-hardlink #[0 "\300\207" [72] 1 #1#] "Controls marking of newly made hard links.\nIf t, they are marked if and as the files linked to were marked.\nIf a character, new links are unconditionally marked with that character." (choice (const :tag "Keep" t) (character :tag "Mark")) dired-keep-marker-symlink #[0 "\300\207" [89] 1 #1#] "Controls marking of newly made symbolic links.\nIf t, they are marked if and as the files linked to were marked.\nIf a character, new links are unconditionally marked with that character." (choice (const :tag "Keep" t) (character :tag "Mark")) dired-dwim-target #[0 "\300\207" [nil] 1 #1#] "If non-nil, Dired tries to guess a default target directory.\nThis means: if there is a Dired buffer displayed in some window,\nuse its current directory, instead of this Dired buffer's\ncurrent directory.\n\nYou can customize it to prefer either the next window with a Dired buffer,\nor the most recently used window with a Dired buffer, or to use any other\nfunction.  When the value is a function, it will be called with no\narguments and is expected to return a list of directories which will\nbe used as defaults (i.e. default target and \"future history\")\n(though, `dired-dwim-target-defaults' might modify it a bit).\nThe value t prefers the next windows on the same frame.\n\nThe target is used in the prompt for file copy, rename etc." (choice (const :tag "No guess" nil) (function-item :tag "Prefer next windows on the same frame" dired-dwim-target-next) (function-item :tag "Prefer next windows on visible frames" dired-dwim-target-next-visible) (function-item :tag "Prefer most recently used windows" dired-dwim-target-recent) (function :tag "Custom function") (other :tag "Try to guess" t)) dired-copy-preserve-time #[0 "\300\207" [t] 1 #1#] "If non-nil, Dired preserves the last-modified time in a file copy.\n(This works on only some systems.)" dired-copy-dereference #[0 "\300\207" [nil] 1 #1#] "If non-nil, Dired dereferences symlinks when copying them.\nThis is similar to the \"-L\" option for the \"cp\" shell command." defvaralias dired-free-space-program directory-free-space-program (saved-value saved-variable-comment) put "27.1" dired-free-space-args directory-free-space-args dired-load-hook #[0 "\300\207" [nil] 1 #1#] "Run after loading Dired.\nYou can customize key bindings or load extensions with this." hook "use `with-eval-after-load' instead." dired-mode-hook #[0 "\300\207" [nil] 1 #1#] "Run at the very end of `dired-mode'." dired-before-readin-hook #[0 "\300\207" [nil] 1 #1#] "This hook is run before a Dired buffer is read in (created or reverted)." dired-after-readin-hook #[0 "\300\207" [nil] 1 #1#] "Hook run after each time a file or directory is read by Dired.\nAfter each listing of a file or directory, this hook is run\nwith the buffer narrowed to the listing." dired-initial-position-hook #[0 "\300\207" [nil] 1 #1#] "This hook is used to position the point.\nIt is run by the function `dired-initial-position'." :version "24.4" dired-dnd-protocol-alist #[0 "\300\207" [(("^file:///" . dired-dnd-handle-local-file) ("^file://" . dired-dnd-handle-file) ("^file:" . dired-dnd-handle-local-file))] 1 #1#] "The functions to call when a drop in `dired-mode' is made.\nSee `dnd-protocol-alist' for more information.  When nil, behave\nas in other buffers.  Changing this option is effective only for\nnew Dired buffers." (choice (repeat (cons (regexp) (function))) (const :tag "Behave as in other buffers" nil)) "22.1" dired-hide-details-hide-symlink-targets #[0 "\300\207" [t] 1 #1#] "Non-nil means `dired-hide-details-mode' hides symbolic link targets." dired-hide-details-hide-information-lines #[0 "\300\207" [t] 1 #1#] "Non-nil means `dired-hide-details-mode' hides all but header and file lines." dired-always-read-filesystem #[0 "\300\207" [nil] 1 #1#] "Non-nil means revert buffers visiting files before searching them.\nBy default,  commands like `dired-mark-files-containing-regexp' will\nsearch any buffers visiting the marked files without reverting them,\neven if they were changed on disk.  When this option is non-nil, such\nbuffers are always reverted in a temporary buffer before searching\nthem: the search is performed on the temporary buffer, the original\nbuffer visiting the file is not modified." "26.1" dired-mark-region #[0 "\300\207" [file] 1 #1#] "Defines what commands that mark files do with the active region.\n\nWhen nil, marking commands don't operate on all files in the\nactive region.  They process their prefix arguments as usual.\n\nWhen the value of this option is non-nil, then all Dired commands\nthat mark or unmark files will operate on all files in the region\nif the region is active in Transient Mark mode.\n\nWhen `file', the region marking is based on the file name.\nThis means don't mark the file if the end of the region is\nbefore the file name displayed on the Dired line, so the file name\nis visually outside the region.  This behavior is consistent with\nmarking files without the region using the key `m' that advances\npoint to the next line after marking the file.  Thus the number\nof keys used to mark files is the same as the number of keys\nused to select the region, e.g. `M-2 m' marks 2 files, and\n`C-SPC M-2 n m' marks 2 files, and `M-2 S-down m' marks 2 files.\n\nWhen `line', the region marking is based on Dired lines,\nso include the file into marking if the end of the region\nis anywhere on its Dired line, except the beginning of the line." (choice (const :tag "Don't mark files in active region" nil) (const :tag "Exclude file name outside of region" file) (const :tag "Include the file at region end line" line)) dired-kill-when-opening-new-dired-buffer #[0 "\300\207" [nil] 1 #1#] "If non-nil, kill the current buffer when selecting a new directory."] 10)
#@112 In Dired, the current mark character.
This is what the do-commands look for, and what the mark-commands store.
(defvar dired-marker-char 42 (#$ . 13502))
#@44 Character used to flag files for deletion.
(defvar dired-del-marker 68 (#$ . 13662))
#@73 Non-nil means Dired shrinks the display buffer to fit the marked files.
(defvar dired-shrink-to-fit t (#$ . 13753))
(make-obsolete-variable 'dired-shrink-to-fit "use the Customization interface to add a new rule\nto `display-buffer-alist' where condition regexp is \"^ \\*Marked Files\\*$\",\naction argument symbol is `window-height' and its value is nil." "24.3")
#@272 The directory name or wildcard spec that this Dired directory lists.
Local to each Dired buffer.  May be a list, in which case the car is the
directory name and the cdr is the list of files to mention.
The directory name must be absolute, but need not be fully expanded.
(defvar dired-directory nil (#$ . 14126))
#@81 Return non-nil if string SWITCHES does not look risky for Dired.

(fn SWITCHES)
(defalias 'dired-safe-switches-p #[257 "\211?\206\211;\205\211G\301W\205\302\303\304\305#)\266\203\207" [inhibit-changing-match-data 100 "\\` *-[- [:alnum:]]+\\'" nil t string-match] 8 (#$ . 14445)])
#@72 The value of `dired-listing-switches' used to make this buffer's text.
(defvar dired-actual-switches nil (#$ . 14742))
(put 'dired-actual-switches 'safe-local-variable 'dired-safe-switches-p)
#@72 Regexp for optional initial inode and file size as made by `ls -i -s'.
(defvar dired-re-inode-size "[0-9 	]*[.,0-9]*[BkKMGTPEZY]?[ 	]*" (#$ . 14940))
(defvar dired-re-mark "^[^ \n]")
(defvar dired-re-maybe-mark "^. ")
(defvar dired-re-dir (concat dired-re-maybe-mark dired-re-inode-size "d[^:]"))
(defvar dired-re-sym (concat dired-re-maybe-mark dired-re-inode-size "l[^:]"))
(defvar dired-re-special (concat dired-re-maybe-mark dired-re-inode-size "[bcsp][^:]"))
(defvar dired-re-exe (mapconcat #[257 "	Q\207" [dired-re-maybe-mark dired-re-inode-size] 4 "\n\n(fn X)"] '("-[-r][-w][xs][-r][-w].[-r][-w]." "-[-r][-w].[-r][-w][xs][-r][-w]." "-[-r][-w].[-r][-w].[-r][-w][xst]") "\\|"))
(defvar dired-re-perms "[-bcdlps][-r][-w].[-r][-w].[-r][-w].")
(defvar dired-re-dot "^.* \\.\\.?/?$")
#@386 Alist of listed directories and their buffer positions.
Alist elements have the form (DIRNAME . STARTMARKER), where
DIRNAME is the absolute name of the directory and STARTMARKER is
a marker at the beginning of DIRNAME.

The order of elements is the reverse of the order in the buffer.
If no subdirectories are listed then the alist contains only one
element, for the listed directory.
(defvar dired-subdir-alist nil (#$ . 15734))
#@117 Keeps track of which switches to use for inserted subdirectories.
This is an alist of the form (SUBDIR . SWITCHES).
(defvar dired-switches-alist nil (#$ . 16171))
(byte-code "\300\301!\210\302\303\304\"\207" [make-variable-buffer-local dired-switches-alist defvaralias dired-move-to-filename-regexp directory-listing-before-filename-regexp] 3)
#@261 Regexp matching a maybe hidden subdirectory line in `ls -lR' output.
Subexpression 1 is the subdirectory proper, no trailing colon.
The match starts at the beginning of the line and ends after the end
of the line.
Subexpression 2 must end right before the \n.
(defvar dired-subdir-regexp "^. \\(.+\\)\\(:\\)\n" (#$ . 16522))
(byte-code "\300\301\302\303\304\305\304\306&\210\307\310\311\312\304\301\313\314&\207" [custom-declare-group dired-faces nil "Faces used by Dired." :group dired faces custom-declare-face dired-header ((t (:inherit font-lock-type-face))) "Face used for directory headers." :version "22.1"] 8)
#@39 Face name used for directory headers.
(defvar dired-header-face 'dired-header (#$ . 17148))
(custom-declare-face 'dired-mark '((t (:inherit font-lock-constant-face))) "Face used for Dired marks." :group 'dired-faces :version "22.1")
#@33 Face name used for Dired marks.
(defvar dired-mark-face 'dired-mark (#$ . 17387))
(custom-declare-face 'dired-marked '((t (:inherit warning))) "Face used for marked files." :group 'dired-faces :version "22.1")
#@34 Face name used for marked files.
(defvar dired-marked-face 'dired-marked (#$ . 17603))
(custom-declare-face 'dired-flagged '((t (:inherit error))) "Face used for files flagged for deletion." :group 'dired-faces :version "22.1")
#@48 Face name used for files flagged for deletion.
(defvar dired-flagged-face 'dired-flagged (#$ . 17837))
(custom-declare-face 'dired-warning '((t (:inherit font-lock-warning-face))) "Face used to highlight a part of a buffer that needs user attention." :group 'dired-faces :version "22.1")
#@66 Face name used for a part of a buffer that needs user attention.
(defvar dired-warning-face 'dired-warning (#$ . 18131))
(custom-declare-face 'dired-perm-write '((((type w32 pc)) :inherit default) (t (:inherit font-lock-comment-delimiter-face))) "Face used to highlight permissions of group- and world-writable files." :group 'dired-faces :version "22.2")
#@68 Face name used for permissions of group- and world-writable files.
(defvar dired-perm-write-face 'dired-perm-write (#$ . 18493))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\313&\207" [custom-declare-face dired-set-id ((((type w32 pc)) :inherit default) (t (:inherit font-lock-warning-face))) "Face used to highlight permissions of suid and guid files." :group dired-faces :version "27.1" dired-directory ((t (:inherit font-lock-function-name-face))) "Face used for subdirectories." "22.1"] 8)
#@36 Face name used for subdirectories.
(defvar dired-directory-face 'dired-directory (#$ . 19028))
(custom-declare-face 'dired-symlink '((t (:inherit font-lock-keyword-face))) "Face used for symbolic links." :group 'dired-faces :version "22.1")
#@36 Face name used for symbolic links.
(defvar dired-symlink-face 'dired-symlink (#$ . 19275))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\313&\210\300\314\315\316\304\305\306\317&\207" [custom-declare-face dired-broken-symlink ((((class color)) :foreground "yellow1" :background "red1" :weight bold) (t :weight bold :slant italic :underline t)) "Face used for broken symbolic links." :group dired-faces :version "28.1" dired-special ((t (:inherit font-lock-variable-name-face))) "Face used for sockets, pipes, block devices and char devices." "27.1" dired-ignored ((t (:inherit shadow))) "Face used for files suffixed with `completion-ignored-extensions'." "22.1"] 8)
#@73 Face name used for files suffixed with `completion-ignored-extensions'.
(defvar dired-ignored-face 'dired-ignored (#$ . 19983))
#@52 Additional expressions to highlight in Dired mode.
(defvar dired-font-lock-keywords (byte-code "\306D\307\310	!\311Q\312D\307\310\n!\311Q\313D\f\314Q\315D\f\316Q\317D\f\320Q\321D\f\322Q\323D
\324D\325\326)\327\330\331\332\333\334\257D)\335\336\331\337\340\257D)\341\342\331\343\344\257D*\345D\f+\346R\347D,\350D\257\207" [dired-re-mark dired-marker-char dired-del-marker dired-re-maybe-mark dired-re-inode-size dired-re-dir (0 dired-mark-face) "^[" char-to-string "]" (".+" (dired-move-to-filename) nil (0 dired-marked-face)) (".+" (dired-move-to-filename) nil (0 dired-flagged-face)) "[-d]....\\(w\\)...." (1 dired-perm-write-face) "[-d].......\\(w\\)." (1 dired-perm-write-face) "[-d]..\\(s\\)......" (1 'dired-set-id) "[-d].....\\([sS]\\)..." (1 'dired-set-id) (".+" (dired-move-to-filename) nil (0 dired-directory-face)) (eval list (concat "\\(" (regexp-opt completion-ignored-extensions) "\\|#\\|\\.#.+\\)$") '(".+" (dired-move-to-filename) nil (0 dired-ignored-face))) (eval list (concat "\\(" (regexp-opt completion-ignored-extensions) "\\|#\\|\\.#.+\\)[*=|]$") '(".+" (progn (end-of-line) (unless (get-text-property (1- (point)) 'mouse-face) (dired-move-to-filename))) nil (0 dired-ignored-face))) #[257 "\300 \3011
\302!0\202\210\303\211\205\304!?\205\305\306\307#\207" [dired-file-name-at-point (error) file-truename nil file-exists-p search-forward-regexp "\\(.+\\) \\(->\\) ?\\(.+\\)" t] 7 "\n\n(fn END)"] (dired-move-to-filename) nil (1 'dired-broken-symlink) (2 dired-symlink-face) (3 'dired-broken-symlink) #[257 "\300 \211\205\3011\302!0\202\210\303\211\205\"\304!\205\"\305\306\307#\207" [dired-file-name-at-point (error) file-truename nil file-directory-p search-forward-regexp "\\(.+-> ?\\)\\(.+\\)" t] 7 "\n\n(fn END)"] (dired-move-to-filename) (1 dired-symlink-face) (2 dired-directory-face) #[257 "\300 \211\205%\3011\302!0\202\210\303\211\203\304!?\205#\305\306\307#\262\207" [dired-file-name-at-point (error) file-truename nil file-directory-p search-forward-regexp "\\(.+-> ?\\)\\(.+\\)" t] 7 "\n\n(fn END)"] (dired-move-to-filename) (1 dired-symlink-face) (2 'default) (".+" (dired-move-to-filename) nil (0 'dired-special)) ".*:$" (".+" (dired-move-to-filename) nil (0 'default)) (1 dired-header-face) dired-re-sym dired-re-special dired-re-perms dired-subdir-regexp] 18) (#$ . 20117))
#@507 Mark files for PREDICATE, according to `dired-marker-char'.
PREDICATE is evaluated on each line, with point at beginning of line.
MSG is a noun phrase for the type of files being marked.
It should end with a noun that can be pluralized by adding `s'.

In Transient Mark mode, if the mark is active, operate on the contents
of the region if `dired-mark-region' is non-nil.  Otherwise, operate
on the whole buffer.

Return value is the number of files marked, or nil if none were marked.

(fn PREDICATE MSG)
(defalias 'dired-mark-if '(macro . #[514 "\300\301\302\303\304\305\306\307	\310BBBBE\311\312\313\304\n\314BB\315BBB\304\305\316\317\f\320BBBBE\257\321BBB\207" [let ((inhibit-read-only t) count (use-region-p (dired-mark--region-use-p)) (beg (dired-mark--region-beginning)) (end (dired-mark--region-end))) save-excursion (setq count 0) when message "%s %ss%s%s..." (cond ((eq dired-marker-char 32) "Unmarking") ((eq dired-del-marker dired-marker-char) "Flagging") (t "Marking")) ((if (eq dired-del-marker dired-marker-char) " for deletion" #1="") (if use-region-p " in region" #1#)) (goto-char beg) while (< (point) end) ((unless (= (following-char) dired-marker-char) (delete-char 1) (insert dired-marker-char) (setq count (1+ count)))) ((forward-line 1)) "%s %s%s %s%s%s" count ((dired-plural-s count) (if (eq dired-marker-char 32) "un" #1#) (if (eq dired-marker-char dired-del-marker) "flagged" "marked") (if use-region-p " in region" #1#)) ((and (> count 0) count))] 16 (#$ . 22485)]))
#@1154 Eval BODY with point on each marked line.  Return a list of BODY's results.
If no marked file could be found, execute BODY on the current
line.  ARG, if non-nil, specifies the files to use instead of the
marked files.

If ARG is an integer, use the next ARG (or previous -ARG, if
ARG<0) files.  In that case, point is dragged along.  This is so
that commands on the next ARG (instead of the marked) files can
be chained easily.
For any other non-nil value of ARG, use the current file.

If optional third arg SHOW-PROGRESS evaluates to non-nil,
redisplay the dired buffer after each file is processed.

No guarantee is made about the position on the marked line.
BODY must ensure this itself if it depends on this.

Search starts at the beginning of the buffer, thus the car of the
list corresponds to the line nearest to the buffer's bottom.
This is also true for (positive and negative) integer values of
ARG.

BODY should not be too long as it is expanded four times.

If DISTINGUISH-ONE-MARKED is non-nil, then if we find just one
marked file, return (t FILENAME) instead of (FILENAME).

(fn BODY ARG &optional SHOW-PROGRESS DISTINGUISH-ONE-MARKED)
(defalias 'dired-map-over-marks '(macro . #[1026 "\300\301\302\303\303\304	D\305\306\307\310\303\311BB\312\313\314\315BBEFE\303\316
\317BB\320BBE\321\fDF\301\322\323\324\325\326\327\330\303\331BB\312\313\314\332BBE\333BBBBBF\303\334\335BB\336BB\303\337\313\321DF\257FE\340BB\207" [prog1 let ((inhibit-read-only t) case-fold-search found results) if integerp progn dired-repeat-over-lines lambda nil ((sit-for 0)) setq results cons (results) < (0) ((nreverse results) results) list ((regexp (dired-marker-regexp)) next-position) save-excursion (goto-char (point-min)) (setq next-position (and (re-search-forward regexp nil t) (point-marker)) found (not (null next-position))) while next-position (goto-char next-position) ((sit-for 0)) (results) ((goto-char next-position) (forward-line 1) (set-marker next-position nil) (setq next-position (and (re-search-forward regexp nil t) (point-marker)))) and ((= (length results) 1)) ((setq results (cons t results))) found ((dired-move-to-filename))] 24 (#$ . 23994)]))
#@1058 Return the marked files' names as list of strings.
The list is in the same order as the buffer, that is, the car is the
  first marked file.
Values returned are normally absolute file names.
Optional arg LOCALP as in `dired-get-filename'.
Optional second argument ARG, if non-nil, specifies files near
 point instead of marked files.  It usually comes from the prefix
 argument.
  If ARG is an integer, use the next ARG files.
  If ARG is any other non-nil value, return the current file name.
  If no files are marked, and ARG is nil, also return the current file name.
Optional third argument FILTER, if non-nil, is a function to select
  some of the files--those for which (funcall FILTER FILENAME) is non-nil.

If DISTINGUISH-ONE-MARKED is non-nil, then if we find just one marked file,
return (t FILENAME) instead of (FILENAME).
Don't use that together with FILTER.

If ERROR is non-nil, signal an error when the list of found files is empty.
ERROR can be a string with the error message.

(fn &optional LOCALP ARG FILTER DISTINGUISH-ONE-MARKED ERROR)
(defalias 'dired-get-marked-files #[1280 "\212\302\303\304\303\211\211C	\203=	\250\2034\305\n\306\307#\"\210	\310W\203/\211\242\237\202\251\211\242\202\251\311\312\"C\202\251\313 \303\212eb\210\314\303\304#\205N\315 \262\211??\262\211\203\201\211b\210\311\312\"\242B\240\210\211b\210\316y\210\211\303\211\223\210\314\303\304#\205|\315 \262\202U)	\203\226\242G\316U\203\226\304\242B\240\210\203\241\242\266\202\202\251\311
\312\"C\266\202*\266\204\317 \210\")\303\320\232\203\273\303\262\204\325\203\316@\304=\203\316\202\320\237\262\202\360\211\203\357\211@!\203\350\211B\262A\266\202\202\326\210\211\204\203\321;\203\202\322!\210\207" [case-fold-search inhibit-read-only delq nil t dired-repeat-over-lines make-closure #[0 "\301\302\300\303\"\301\242B\240\207" [V0 V1 dired-get-filename no-error-if-not-filep] 4] 0 dired-get-filename no-error-if-not-filep dired-marker-regexp re-search-forward point-marker 1 dired-move-to-filename (t) user-error "No files specified"] 17 (#$ . 26187)])
#@54 Whether Dired marking commands should act on region.
(defalias 'dired-mark--region-use-p #[0 "\205\301 \205\302 \303 V\207" [dired-mark-region region-active-p region-end region-beginning] 2 (#$ . 28316)])
#@71 Return the value of the region beginning aligned to Dired file lines.
(defalias 'dired-mark--region-beginning #[0 "\300 \203\212\301 b\210\302 )\207e\207" [dired-mark--region-use-p region-beginning line-beginning-position] 1 (#$ . 28532)])
#@65 Return the value of the region end aligned to Dired file lines.
(defalias 'dired-mark--region-end #[0 "\301 \203&\212\302 b\210\303=\203n?\202\304`S\305\"\203\"\306 \202$\307 )\207d\207" [dired-mark-region dired-mark--region-use-p region-end line get-text-property dired-filename line-end-position line-beginning-position] 3 (#$ . 28780)])
#@12 

(fn STR)
(defalias 'dired-read-dir-and-switches #[257 "\303\205	\304\305	\"\306 \203\307\310\311\"\312\n\312$\202#\313\310\311\"\312\n\312$D!\207" [current-prefix-arg dired-listing-switches default-directory reverse read-string "Dired listing switches: " next-read-file-uses-dialog-p read-directory-name format "Dired %s(directory): " nil read-file-name] 8 (#$ . 29134)])
#@226 Try to get a file name at point in the current dired buffer.
This hook is intended to be put in `file-name-at-point-functions'.
Note that it returns an abbreviated name that can't be used
as an argument to `dired-goto-file'.
(defalias 'dired-file-name-at-point #[0 "\300\301\302\"\211\205\303!\203\304\305!!\207\305!\207" [dired-get-filename nil t file-directory-p file-name-as-directory abbreviate-file-name] 4 (#$ . 29522)])
#@137 Use file at point as the file for grep's default file-name pattern suggestion.
If a directory or nothing is found at point, return nil.
(defalias 'dired-grep-read-files #[0 "\300 \211\205\301!?\205\211\207" [dired-file-name-at-point file-directory-p] 3 (#$ . 29963)])
#@1111 "Edit" directory DIRNAME--delete, rename, print, etc. some files in it.
Optional second argument SWITCHES specifies the options to be used
when invoking `insert-directory-program', usually `ls', which produces
the listing of the directory files and their attributes.
Interactively, a prefix argument will cause the command to prompt
for SWITCHES.

If DIRNAME is a string, Dired displays a list of files in DIRNAME (which
may also have shell wildcards appended to select certain files).

If DIRNAME is a cons, its first element is taken as the directory name
and the rest as an explicit list of files to make directory entries for.
In this case, SWITCHES are applied to each of the files separately, and
therefore switches that control the order of the files in the produced
listing have no effect.

\<dired-mode-map>You can flag files for deletion with \[dired-flag-file-deletion] and then
delete them by typing \[dired-do-flagged-delete].
Type \[describe-mode] after entering Dired for more info.

If DIRNAME is already in a Dired buffer, that buffer is used without refresh.

(fn DIRNAME &optional SWITCHES)
(defalias 'dired #[513 "\300\301\"!\207" [pop-to-buffer-same-window dired-noselect] 6 (#$ . 30244) (dired-read-dir-and-switches "")])
#@104 "Edit" directory DIRNAME.  Like `dired' but select in another window.

(fn DIRNAME &optional SWITCHES)
(defalias 'dired-other-window #[513 "\300\301\"!\207" [switch-to-buffer-other-window dired-noselect] 6 (#$ . 31497) (dired-read-dir-and-switches "in other window ")])
#@96 "Edit" directory DIRNAME.  Like `dired' but make a new frame.

(fn DIRNAME &optional SWITCHES)
(defalias 'dired-other-frame #[513 "\300\301\"!\207" [switch-to-buffer-other-frame dired-noselect] 6 (#$ . 31775) (dired-read-dir-and-switches "in other frame ")])
#@94 "Edit" directory DIRNAME.  Like `dired' but make a new tab.

(fn DIRNAME &optional SWITCHES)
(defalias 'dired-other-tab #[513 "\300\301\"!\207" [switch-to-buffer-other-tab dired-noselect] 6 (#$ . 32042) (dired-read-dir-and-switches "in other tab ")])
#@107 Like `dired' but return the Dired buffer as value, do not select it.

(fn DIR-OR-LIST &optional SWITCHES)
(defalias 'dired-noselect #[513 "\204\262\302\211:\203@\262\202\262\303!\230\262\304\305\306!!!\262	\2031\307!\262\211\204;\310!\203@\303!\262:\203NAB\262\202Q\262\311\"\207" [default-directory find-file-visit-truename nil file-name-as-directory abbreviate-file-name expand-file-name directory-file-name file-truename file-directory-p dired-internal-noselect] 8 (#$ . 32302)])
#@16 

(fn DIRNAME)
(defalias 'dired-directory-changed-p #[257 "\300!\301 \211\302=\206\211@\262\303=?\206\3048\262\232\266\202?\207" [file-attributes visited-file-modtime 0 t 5] 6 (#$ . 32828)])
#@250 Return non-nil if current Dired buffer needs updating.
If NOCONFIRM is non-nil, then this function returns nil for a
remote directory, unless `auto-revert-remote-files' is non-nil.
This feature is used by Auto Revert mode.

(fn &optional NOCONFIRM)
(defalias 'dired-buffer-stale-p #[256 ":\203\n@\202\211;\205-\205	?\205\303!?\205-\304!\205-\n\205-\305!\207" [dired-directory auto-revert-remote-files buffer-read-only file-remote-p file-readable-p dired-directory-changed-p] 4 (#$ . 33037)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable dired-auto-revert-buffer funcall function #[0 "\300\207" [nil] 1 ""] "Automatically revert Dired buffers on revisiting their directory.\nThis option controls whether to refresh the directory listing in a\nDired buffer when the directory that is already in some Dired buffer\nis revisited by commands such as \\[dired] and \\[dired-find-file].\nIf the value is t, revisiting an existing Dired buffer always reverts it.\nIf the value is a function, it is called with the directory name as a\nsingle argument, and the buffer is reverted if the function returns non-nil.\nOne such function is `dired-directory-changed-p', which returns non-nil\nif the directory has been changed since it was last revisited.\nOtherwise, Emacs prompts whether to revert the changed Dired buffer.\nNote that this is not the same as `auto-revert-mode' that\nperiodically reverts at specified time intervals." :type (choice (const :tag "Don't revert" nil) (const :tag "Always revert visited Dired buffer" t) (const :tag "Revert changed Dired buffer" dired-directory-changed-p) (function :tag "Predicate function")) :group dired :version "23.2"] 10)
#@109 Return non-nil if some file names are misaligned.
The return value is the target column for the file names.
(defalias 'dired--need-align-p #[0 "\212eb\210\300 \210`\301 Z\211m\204/\302y\210\303 \203/`\301 Z\211\205#\211V\211\203*\262\266\202\fU?\2057\211\266\202)\207" [dired-goto-next-file point-at-bol nil dired-move-to-filename] 5 (#$ . 34773)])
#@60 Align all files adding spaces in front of the size column.
(defalias 'dired--align-all-files #[0 "\302 \205D\212eb\210\303 \210\304 \205C`\305 ZZ\306\211\307U\204;\310\311\306#\210\307\224b\210\312\313\311\306#\210\314\311w\210\315\316\317#\210\311y\210)\210\202)\207" [directory-listing-before-filename-regexp inhibit-read-only dired--need-align-p dired-goto-next-file dired-move-to-filename point-at-bol t 0 re-search-backward nil search-backward-regexp "[[:space:]]" "[:space:]" insert-char 32 inherit] 7 (#$ . 35140)])
#@44 

(fn DIR-OR-LIST &optional SWITCHES MODE)
(defalias 'dired-internal-noselect #[769 "p:\203@\202\f\304\"C\211\242?\242\204!\305\306!!\240\210\242q\210\211\204~\2038\307!\210\202\271:\204C:\203L\310 \210\202\271	\311=\203X\310 \210\202\271\312	!\203n	!\203\271\310 \210\313\314!\210\202\271\315!\203\271\313\316\317\320!\"\210\202\271\321!\242\206\210\322!\204\220\262\203\232 \210\202\241\323\"\210\311C\324\325#\216\326 \210\211\327\240\210)\210eb\210\330!\210:\203\301\331 \210q\210\242\207" [dired-directory dired-auto-revert-buffer default-directory dired-listing-switches dired-find-buffer-nocreate create-file-buffer directory-file-name dired-sort-other revert-buffer t functionp message "Changed directory automatically updated" dired-directory-changed-p "%s" substitute-command-keys "Directory has changed on disk; type \\[revert-buffer] to update Dired" insert-directory-wildcard-in-dir-p file-name-directory dired-mode make-closure #[0 "\301\242\205	\302\300\242!\207" [V0 V1 kill-buffer] 2] dired-readin nil dired-initial-position dired--align-all-files] 12 (#$ . 35680)])
#@67 Alist of expanded directories and their associated Dired buffers.
(defvar dired-buffers nil (#$ . 36834))
#@31 

(fn DIRNAME &optional MODE)
(defalias 'dired-find-buffer-nocreate #[513 "\304\305!\2036\2036\306!\230\2036p\307\310!!\237>\205\"	\232\311\"\262\312\313\"@\2065\211\2055\207\310!\262\314\n\204D\315\262\211\203\214\316@A!\204W\211A\262\202Dr\211@Aq\210=\203\204	\203\204\310	:\203s	@\202t	!\232\203\204\211@A\262\314\262\202\210\211A\262)\202D\207" [dired-find-subdir dired-directory dired-buffers major-mode featurep dired-x file-name-directory dired-buffers-for-dir expand-file-name delq sort dired-buffer-more-recently-used-p nil dired-mode buffer-name] 8 (#$ . 36946)])
#@204 Read in a new Dired buffer.
Differs from `dired-insert-subdir' in that it accepts
wildcards, erases the buffer, and builds the subdir-alist anew
(including making it buffer-local and clearing it first).
(defalias 'dired-readin #[0 "\304:\203@\202\f!\212\305\306!\210	:\203\307\310\303!\210\n\206\"~\210\311ed\312#\210\313!\211@\314=\203>\315\3168\262!\210\210\317\307!\210\305\320!)\207" [dired-directory buffer-undo-list coding-system-for-read file-name-coding-system expand-file-name run-hooks dired-before-readin-hook nil make-local-variable combine-change-calls-1 #[0 "\303\211\304 \210\305 \210*eb\210\306\302!\210\307\310 \207" [buffer-undo-list inhibit-read-only dired-subdir-alist t erase-buffer dired-readin-insert make-local-variable nil dired-build-subdir-alist] 2] file-attributes t set-visited-file-modtime 5 set-buffer-modified-p dired-after-readin-hook] 6 (#$ . 37569)])
(defalias 'dired-readin-insert #[0 "\302\211:\203@\262A\262\202\262\302\262\303!\262\304!\305\232\2031\211\2041\306	\302\211\307%\207\310!\204F\311\312\313!!!\204F\314\315\"\210\306	\211?\307%\207" [dired-directory dired-actual-switches nil expand-file-name file-name-nondirectory "" dired-insert-directory t insert-directory-wildcard-in-dir-p file-readable-p directory-file-name file-name-directory error "Directory %s inaccessible or nonexistent"] 8])
#@129 Align the fields of a file to the ones of surrounding lines.
BEG..END is the line where the file info is located.

(fn BEG END)
(defalias 'dired-align-file #[514 "\212\301\211\211\211b\210\302\301\"\211\262\205*i\211\262\205*b\203+\303y\304U\203+\302 \2069b\2059\305y\304U\2059\302 \211\262\205*i\211\262\205*U?\205*\211V\205*W\203xb\203x\305y\304U\203x\302 \203xi\211W\203w\211\262`\262\210V\203\203\306!\262\306!\262b\210\307\301w\210\211V\203&`V\203&i\310\311\312!)\262\212b\210\313!\210\312`Sf\314=\203\272\315\202\273\316\205\300\317P!\205\312\304\225\304\224Z)\204\323\211\202\342\211\205\342\212\320\301w\210\211iZZ)\211\203\211\304V\203\211\\\262V\203\211ZZ\262\321\314\322#\210\212\302 \323	!)=\204\324[!\210\266\320\301w\210\307\301w\210\202\217\301\211\223\266\204)\207" [inhibit-changing-match-data nil dired-move-to-filename -1 0 1 copy-marker " " "[0-9]" t looking-at move-to-column 32 " *" "[^ ]* *" "[0-9][^ ]*" "^ " insert-char inherit marker-position delete-char] 14 (#$ . 38961)])
#@105 Return non-nil if the string SWITCHES matches LONG or SHORT format.

(fn SWITCHES SHORT &optional LONG)
(defalias 'dired-check-switches #[770 "\302;\205\"\303\203\304\305Q\202\306Q\302\307\310#)\266\203)\207" [case-fold-search inhibit-changing-match-data nil "\\(\\`\\| \\)-[[:alnum:]]*" "\\|--" "\\>" "" t string-match] 10 (#$ . 40054)])
#@79 Return non-nil if the string SWITCHES contains -b or --escape.

(fn SWITCHES)
(defalias 'dired-switches-escape-p #[257 "\300\301\302#\207" [dired-check-switches "b" "escape"] 5 (#$ . 40414)])
#@82 Return non-nil if the string SWITCHES contains -R or --recursive.

(fn SWITCHES)
(defalias 'dired-switches-recursive-p #[257 "\300\301\302#\207" [dired-check-switches "R" "recursive"] 5 (#$ . 40613)])
#@436 Insert a directory listing of DIR, Dired style.
Use SWITCHES to make the listings.
If FILE-LIST is non-nil, list only those files.
Otherwise, if WILDCARD is non-nil, expand wildcards;
 in that case, DIR should be a file name that uses wildcards.
In other cases, DIR should be a directory name or a directory filename.
If HDR is non-nil, insert a header line with the directory name.

(fn DIR SWITCHES &optional FILE-LIST WILDCARD HDR)
(defalias 'dired-insert-directory #[1282 "`\306!\307\310\311!\203	\203G\312\302!\203\n\204G\313!\204A\314=\203=\315\f\307\211\211\316%\317=\211\204A\320\321!\210\202G\203G\322P\262\323!\211\203\314\324P\262\313	!\203d\325\316\326\n#\262\211@\327\330	A#\313\n!\211\203z\331\202\204\332@!\206\204\332\333!\203\214\334\202\216AB\211\205\234\335\336!C\337#\211\203\250\327\340#\262\266\341\307p\307	&\317U\204\300\342\343A\"\210\344`
\"\210)\266\202\203\364\211\203\357\211@`\345\f\307\211$\210\346`\"\266A\266\202\202\323\266\202\345		\211?$\266\347D!\204K\212\350 \262b\210\351\352\353#\203'\354\355\356\357\360\317\224!#\307\353#\210\202b\210\351\361\353#\203B\354\355\356\362\360\317\224!#\307\353#\210\202*\211\307\211\223\210)\202[\325\352\357\n#\262\325\363\364\n#\262\212b\210\365\353E\366!)\262)\204w\307F\367`\370#\210)\212b\210\204\204\203\250\366\371!\203\222\372\373\374!!\204\250\365\323\n!\242\206\241\375\376!!\377\261\210`\262\203\301\201G\323\n!\243\206\275\201H\n!\363\261\210)\201I`\"\262)\207" [process-environment ls-lisp-use-insert-directory-program eshell-ls-use-in-dired dired-use-ls-dired insert-directory-program default-directory copy-sequence nil featurep ls-lisp boundp file-remote-p unspecified call-process "--dired" 0 message "ls does not support --dired; see `dired-use-ls-dired' for more details." "--dired " insert-directory-wildcard-in-dir-p "-d " string-replace "" format "ls %s %s" "/bin/sh" executable-find "sh" "-c" assoc-default file-truename #[514 "\300\"\207" [string-match] 5 "\n\n(fn REG SHELL)"] "%s; %s" process-file user-error "%s: No files matching wildcard" insert-directory-clean insert-directory dired-align-file dired-switches-escape-p point-marker search-forward "\\" t replace-match apply propertize "\\\\" text-properties-at "
" "\\015" "\n" "\\n" "  " looking-at indent-rigidly 2 "^  \\(.*\\):$" file-name-absolute-p match-string 1 directory-file-name file-name-directory ":\n" shell-file-name shell-command-switch dired-maybe-use-globstar dired-enable-globstar-in-shell dired-actual-switches inhibit-changing-match-data indent-tabs-mode "  wildcard " file-name-nondirectory dired-insert-set-properties] 20 (#$ . 40822)])
#@88 Add various text properties to the lines in the region, from BEG to END.

(fn BEG END)
(defalias 'dired-insert-set-properties #[514 "\212b\210`W\205i\3021b\303 \2048\304\305\306!)\262\206(	\305\306!)\262?\205]\307\310 \311 T\312\313$\202]\307\310 T`S\312\314$\210\315`\316 \210`\317#\210`\320\\\311 W\205]\307`\320\\\311 \312\321$0\210\202c\210\322y\210\202)\207" [inhibit-changing-match-data dired-subdir-regexp (error) dired-move-to-filename "^$" t looking-at put-text-property line-beginning-position line-end-position invisible dired-hide-details-information dired-hide-details-detail add-text-properties dired-move-to-end-of-filename (mouse-face highlight dired-filename t help-echo "mouse-2: visit this file in other window") 4 dired-hide-details-link 1] 7 (#$ . 43575)])
#@344 Reread the Dired buffer.
Must also be called after `dired-actual-switches' have changed.
Should not fail even on completely garbaged buffers.
Preserves old cursor, marks/flags, hidden-p.

Dired sets `revert-buffer-function' to this function.  The args
ARG and NOCONFIRM, passed from `revert-buffer', are ignored.

(fn &optional ARG NOCONFIRM)
(defalias 'dired-revert #[512 "~\210\305 \306 \307\310 \311!A\307\312eb\210\313ed\"\262:\204&\314!\210\202E\314@!\210A\211\203D\211@\315!\203=\314!\210A\266\202\202-\210\307\316 \210\317!\210)\320!\210\321\304!\210\322!\210\212\211\203t\211@\323!\203m\324\325!\210A\266\202\202]\210)\204~\326\307!\210\327 *\207" [dired-subdir-alist inhibit-read-only case-fold-search dired-directory dired-after-readin-hook buffer-modified-p dired-save-positions nil dired-remember-hidden reverse t dired-remember-marks dired-uncache file-name-absolute-p dired-readin dired-insert-old-subdirs dired-mark-remembered run-hooks dired-restore-positions dired-goto-subdir dired-hide-subdir 1 restore-buffer-modified-p hack-dir-local-variables-non-file-buffer] 11 (#$ . 44378)])
#@596 Return current positions in the buffer and all windows with this directory.
The positions have the form (BUFFER-POSITION WINDOW-POSITIONS).

BUFFER-POSITION is the point position in the current Dired buffer.
It has the form (BUFFER DIRED-FILENAME BUFFER-LINE-NUMBER).

WINDOW-POSITIONS are current positions in all windows displaying
this dired buffer.  The window positions have the form (WINDOW
DIRED-FILENAME WINDOW-LINE-NUMBER).

We store line numbers instead of point positions because the header
lines might change as well: when this happen the line number doesn't
change; the point does.
(defalias 'dired-save-positions #[0 "p\300\301\302\"\303 E\304\305\306\301\307\302#\"p\301C\310\311\312#\313\302#\210\211\242\266\202E\207" [dired-get-filename nil t line-number-at-pos mapcar #[257 "\300!r\301\302\"\216\303@\304\"\210\305\306\307\"\310\311!!E*\207" [internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord dired-get-filename nil t line-number-at-pos window-point] 7 "\n\n(fn W)"] get-buffer-window-list 0 walk-windows make-closure #[257 "\300\302!\236\211\205$r\300q\210\212\3038b\210\301\3038\304\305\306\"\307`!E\301\242B\240*\207" [V0 V1 window-prev-buffers 2 dired-get-filename nil t line-number-at-pos] 7 "\n\n(fn WINDOW)"] nomini] 9 (#$ . 45513)])
#@70 Restore POSITIONS saved with `dired-save-positions'.

(fn POSITIONS)
(defalias 'dired-restore-positions #[257 "\211@\211@\3008A@\203\301A@!\204!eb\210\3008Sy\210\302 \210A@\211\203f\211@\303@!=\203_\304@!r\305\306\"\216\307@\310\"\210A@\203Q\301A@!\204]eb\210\3008Sy\210\302 \210*\210A\266\202\202$\210\211\205\262rq\210\212\211\211\205\257\211@\211@\311!\203\247\312!=\203\247A@\203\225\301A@!\204\236eb\210\3008Sy\210\302 \210\211`\223\210\210A\266\202\202q\262*\207" [2 dired-goto-file dired-move-to-filename window-buffer internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord markerp marker-buffer] 10 (#$ . 46879)])
#@71 Return alist of files and their marks, from BEG to END.

(fn BEG END)
(defalias 'dired-remember-marks #[514 "\301ed\"\203\f\302ed\"\210\303\211\211\212b\210\304\305#\2032\306\303\305\"\211\262\203h\262BB\262\202)\207" [dired-re-mark dired--find-hidden-pos dired--unhide nil re-search-forward t dired-get-filename] 9 (#$ . 47631)])
#@103 Mark all files remembered in ALIST.
Each element of ALIST looks like (FILE . MARKERCHAR).

(fn ALIST)
(defalias 'dired-mark-remembered #[257 "\300\211\211\212\205+@\262A\262@\262A\262\301!\203\302 \210\303\304!\210\211c\210\202)\207" [nil dired-goto-file beginning-of-line delete-char 1] 6 (#$ . 47984)])
#@53 Return a list of names of subdirs currently hidden.
(defalias 'dired-remember-hidden #[0 "\301\211\203%\211@\211\242\243\211b\210\301\210\302 \203B\262\266A\266\202\202\210\207" [dired-subdir-alist nil dired--hidden-p] 7 (#$ . 48310)])
#@139 Try to insert all subdirs that were displayed before.
Do so according to the former subdir alist OLD-SUBDIR-ALIST.

(fn OLD-SUBDIR-ALIST)
(defalias 'dired-insert-old-subdirs #[257 "\301!\206.\302\211\205,@\262A\262@\262\3031(\304!\210\305!0\210\202\210\202\266\202\207" [dired-actual-switches dired-switches-recursive-p nil (error) dired-uncache dired-insert-subdir] 5 (#$ . 48566)])
#@58 Remove directory DIR from any directory cache.

(fn DIR)
(defalias 'dired-uncache #[257 "\300\301\"\211\205\f\211\301\"\207" [find-file-name-handler dired-uncache] 5 (#$ . 48973)])
#@38 Local keymap for Dired mode buffers.
(defvar dired-mode-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330\331#\210\303\332\333#\210\303\334\335#\210\303\336\337#\210\303\340\341#\210\303\342\343#\210\303\344\345#\210\303\346\347#\210\303\350\351#\210\303\352\353#\210\303\354\355#\210\303\356\357#\210\303\360\353#\210\303\361\362#\210\303\363\364#\210\303\365\366#\210\303\367\370#\210\303\371\372#\210\303\373\374#\210\303\375\376#\210\303\377\201@#\210\303\201A\201B#\210\303\201C\201D#\210\303\201E\201F#\210\303\201G\201H#\210\303\201I\201J#\210\303\201K\201L#\210\303\201M\201N#\210\303\201O\201P#\210\303\201Q\201R#\210\303\201S\201T#\210\303\201U\201P#\210\303\201V\201W#\210\303\201X\201Y#\210\303\201Z\201D#\210\303\201[\201\\#\210\303\201]\201^#\210\303\201_\201`#\210\303\201a\201N#\210\303\201b\201c#\210\303\201d\201e#\210\303\201f\201g#\210\303\201h\201i#\210\303\201j\201k#\210\303\201l\366#\210\303\201m\201n#\210\303\201o\201n#\210\303\201p\201q#\210\303\201r\201B#\210\303\201s\201@#\210\303\201t\201u#\210\303\201v\201w#\210\303\201x\201y#\210\303\201z\201{#\210\303\201|\201{#\210\303\201}\201{#\210\201~\201{\201\201}#\210\303\201\200\201\201#\210\303\201\202\201\203#\210\303\201\204\201\205#\210\303\201\206\201\207#\210\303\201\210\201\211#\210\303\201\212\201i#\210\303\201\213\201\214#\210\303\201\215\201\216#\210\303\201\217\201\220#\210\303\201\221\201\222#\210\303\201\223\201\224#\210\303\201\225\201u#\210\303\201\226\201k#\210\303\201\227\201\230#\210\303\201\231\201\232#\210\303\201\233\201\234#\210\303\201\235\201\236#\210\303\201\237\201\240#\210\303\201\241\201\242#\210\303\201\243\201\244#\210\303\201\245\201\246#\210\303\201\247\201\250#\210\303\201\251\201\214#\210\303\201\252\201\222#\210\303\201\253\201\214#\210\303\201\254\201\222#\210\303\201\255\201\256#\210\303\201\257\201\260#\210\303\201\261\201\262#\210\303\201\263\201\264#\210\303\201\265\201\266#\210\303\201\267\201\270#\210\303\201\271\201\272#\210\303\201\273\201\274#\210\303\201\275\201\274#\210\303\201\276\201\277#\210\303\201\300\201q#\210\303\201\301\201\302#\210\303\201\303\201\302#\210\303\201\304\201\305#\210\303\201\306\201\307#\210\303\201\310\201\311#\210\303\201\312\201\313#\210\303\201\314\201\315#\210\303\201\316\201\317#\210\303\201\320\201\321#\210\303\201\322\201\323#\210\303\201\324\201\325#\210\303\201\326\201\327#\210\303\201\330\201\331#\210\303\201\332\201\333#\210\303\201\334\201\335#\210\303\201\336\201\337#\210\303\201\340\201\341#\210\303\201\342\201\343#\210\303\201\344\201\345#\210\207" [special-mode-map make-keymap set-keymap-parent define-key [mouse-2] dired-mouse-find-file-other-window [follow-link] mouse-face "#" dired-flag-auto-save-files "." dired-clean-directory "~" dired-flag-backup-files "A" dired-do-find-regexp "C" dired-do-copy "B" dired-do-byte-compile "D" dired-do-delete "G" dired-do-chgrp "H" dired-do-hardlink "L" dired-do-load "M" dired-do-chmod "O" dired-do-chown "P" dired-do-print "Q" dired-do-find-regexp-and-replace "R" dired-do-rename "S" dired-do-symlink "T" dired-do-touch "X" dired-do-shell-command "Z" dired-do-compress "c" dired-do-compress-to "!" "&" dired-do-async-shell-command "=" dired-diff "\377" dired-unmark-all-files "\204" dired-tree-down "\225" dired-tree-up "\216" dired-next-subdir "\220" dired-prev-subdir "\373" dired-prev-marked-file "\375" dired-next-marked-file "%" nil "%u" dired-upcase "%l" dired-downcase "%d" dired-flag-files-regexp "%g" dired-mark-files-containing-regexp "%m" dired-mark-files-regexp "%r" dired-do-rename-regexp "%C" dired-do-copy-regexp "%H" dired-do-hardlink-regexp "%R" "%S" dired-do-symlink-regexp "%&" dired-flag-garbage-files "*" "**" dired-mark-executables "*/" dired-mark-directories "*@" dired-mark-symlinks "*%" "*N" dired-number-of-marked-files "*c" dired-change-marks "*s" dired-mark-subdir-files "*m" dired-mark "*u" dired-unmark "*?" "*!" dired-unmark-all-marks "U" "*" dired-unmark-backward "*" "*" "*t" dired-toggle-marks "a" dired-find-alternate-file "d" dired-flag-file-deletion "e" dired-find-file "f" "
" put :advertised-binding "g" revert-buffer "i" dired-maybe-insert-subdir "j" dired-goto-file "k" dired-do-kill-lines "l" dired-do-redisplay "m" "n" dired-next-line "o" dired-find-file-other-window "" dired-display-file "p" dired-previous-line "s" dired-sort-toggle-or-edit "t" "u" "v" dired-view-file "w" dired-copy-filename-as-kill "W" browse-url-of-dired-file "x" dired-do-flagged-delete "y" dired-show-file-type "+" dired-create-directory "<" dired-prev-dirline ">" dired-next-dirline "^" dired-up-directory " " [33554464] [remap next-line] [remap previous-line] "$" dired-hide-subdir "\244" dired-hide-all "(" dired-hide-details-mode [134217843 97 19] dired-do-isearch [134217843 97 134217747] dired-do-isearch-regexp [134217843 102 19] dired-isearch-filenames [134217843 102 134217747] dired-isearch-filenames-regexp [remap read-only-mode] dired-toggle-read-only [remap toggle-read-only] "?" dired-summary "" [remap undo] dired-undo [remap advertised-undo] [remap vc-next-action] dired-vc-next-action "d" image-dired-display-thumbs "t" image-dired-tag-files "r" image-dired-delete-tag "j" image-dired-jump-thumbnail-buffer "i" image-dired-dired-display-image "x" image-dired-dired-display-external "a" image-dired-display-thumbs-append "." image-dired-display-thumb "c" image-dired-dired-comment-files "f" image-dired-mark-tagged-files "" image-dired-dired-toggle-marked-thumbs "e" image-dired-dired-edit-comment-and-tags ":d" epa-dired-do-decrypt ":v" epa-dired-do-verify ":s" epa-dired-do-sign ":e" epa-dired-do-encrypt] 5) (#$ . 49163))
#@29 Subdir menu for Dired mode.
(defvar dired-mode-subdir-menu nil (#$ . 55251))
(easy-menu-do-define 'dired-mode-subdir-menu dired-mode-map "Subdir menu for Dired mode." '("Subdir" ["Insert This Subdir" dired-maybe-insert-subdir :help "Insert contents of subdirectory" :enable (let ((f (dired-get-filename nil t))) (and f (file-directory-p f)))] ["Next Dirline" dired-next-dirline :help "Move to previous directory-file line"] ["Prev Dirline" dired-prev-dirline :help "Move to next directory-file line"] ["Next Subdir" dired-next-subdir :help "Go to next subdirectory header line"] ["Prev Subdir" dired-prev-subdir :help "Go to previous subdirectory header line"] ["Up Directory" dired-up-directory :help "Edit the parent directory"] ["Tree Up" dired-tree-up :help "Go to first subdirectory header up the tree"] ["Tree Down" dired-tree-down :help "Go to first subdirectory header down the tree"] ["Hide/UnHide Subdir" dired-hide-subdir :help "Hide or unhide current directory listing"] ["Hide All" dired-hide-all :help "Hide all subdirectories, leave only header lines"]))
#@32 Immediate menu for Dired mode.
(defvar dired-mode-immediate-menu nil (#$ . 56327))
(easy-menu-do-define 'dired-mode-immediate-menu dired-mode-map "Immediate menu for Dired mode." '("Immediate" ["Edit File Names" wdired-change-to-wdired-mode :help "Put a Dired buffer in a mode in which filenames are editable" :keys "C-x C-q" :filter (lambda (x) (if (eq major-mode 'dired-mode) x))] ["Create Empty file..." dired-create-empty-file :help "Create an empty file"] ["Create Directory..." dired-create-directory :help "Create a directory"] ["Find This File" dired-find-file :help "Edit file at cursor"] ["Find in Other Window" dired-find-file-other-window :help "Edit file at cursor in other window"] ["Display in Other Window" dired-display-file :help "Display file at cursor in other window"] ["View This File" dired-view-file :help "Examine file at cursor in read-only mode"] ["Diff..." dired-diff :help "Compare file at cursor with another file"] ["Compare with Backup" dired-backup-diff :help "Diff file at cursor with its latest backup"] ["Compare Directories..." dired-compare-directories :help "Mark files with different attributes in two Dired buffers"] ["Isearch in File Names..." dired-isearch-filenames :help "Incrementally search for string in file names only."] ["Isearch Regexp in File Names..." dired-isearch-filenames-regexp :help "Incrementally search for regexp in file names only"] "---" ["#Marked Files" dired-number-of-marked-files :help "Display the number and size of the marked files"] ["Refresh" revert-buffer :help "Update contents of shown directories"] ["Hide Details" dired-hide-details-mode :help "Hide details in buffer" :style toggle :selected dired-hide-details-mode] ["Toggle Image Thumbnails in This Buffer" image-dired-dired-toggle-marked-thumbs :help "Add or remove image thumbnails in front of marked file names"] ["Display Image" image-dired-dired-display-image :help "Display sized image in a separate window"] ["Display Image Externally" image-dired-dired-display-external :help "Display image in external viewer"]))
#@29 Regexp menu for Dired mode.
(defvar dired-mode-regexp-menu nil (#$ . 58387))
(easy-menu-do-define 'dired-mode-regexp-menu dired-mode-map "Regexp menu for Dired mode." '("Regexp" ["Mark Containing..." dired-mark-files-containing-regexp :help "Mark files whose contents matches regexp"] ["Mark..." dired-mark-files-regexp :help "Mark files matching regexp for future operations"] ["Flag..." dired-flag-files-regexp :help "Flag files matching regexp for deletion"] ["Copy..." dired-do-copy-regexp :help "Copy marked files matching regexp"] ["Rename..." dired-do-rename-regexp :help "Rename marked files matching regexp"] ["Symlink..." dired-do-symlink-regexp :visible (fboundp 'make-symbolic-link) :help "Make symbolic links for files matching regexp"] ["Hardlink..." dired-do-hardlink-regexp :help "Make hard links for files matching regexp"] ["Upcase" dired-upcase :enable (or (not (fboundp 'msdos-long-file-names)) (msdos-long-file-names)) :help "Rename marked files to upper-case name"] ["Downcase" dired-downcase :enable (or (not (fboundp 'msdos-long-file-names)) (msdos-long-file-names)) :help "Rename marked files to lower-case name"] "---" ["Mark From Image Tag..." image-dired-mark-tagged-files :help "Mark files whose image tags matches regexp"]))
#@27 Mark menu for Dired mode.
(defvar dired-mode-mark-menu nil (#$ . 59648))
(easy-menu-do-define 'dired-mode-mark-menu dired-mode-map "Mark menu for Dired mode." '("Mark" ["Toggle Marks" dired-toggle-marks :help "Mark unmarked files, unmark marked ones"] ["Mark" dired-mark :help "Mark current line's file for future operations"] ["Unmark" dired-unmark :help "Unmark or unflag current line's file"] ["Flag" dired-flag-file-deletion :help "Flag current line's file for deletion"] ["Flag Auto-save Files" dired-flag-auto-save-files :help "Flag auto-save files for deletion"] ["Flag Backup Files" dired-flag-backup-files :help "Flag all backup files for deletion"] ["Flag Garbage Files" dired-flag-garbage-files :help "Flag unneeded files for deletion"] ["Mark Executables" dired-mark-executables :help "Mark all executable files"] ["Mark Old Backups" dired-clean-directory :help "Flag old numbered backups for deletion"] ["Mark Directories" dired-mark-directories :help "Mark all directories except `.' and `..'"] ["Mark Symlinks" dired-mark-symlinks :visible (fboundp 'make-symbolic-link) :help "Mark all symbolic links"] ["Unmark All" dired-unmark-all-marks] ["Change Marks..." dired-change-marks :help "Replace marker with another character"] ["Next Marked" dired-next-marked-file :help "Move to next marked file"] ["Previous Marked" dired-prev-marked-file :help "Move to previous marked file"]))
#@30 Operate menu for Dired mode.
(defvar dired-mode-operate-menu nil (#$ . 61049))
(easy-menu-do-define 'dired-mode-operate-menu dired-mode-map "Operate menu for Dired mode." '("Operate" ["Copy to..." dired-do-copy :help "Copy current file or all marked files"] ["Rename to..." dired-do-rename :help "Rename current file or move marked files"] ("Delete" ["Delete Flagged Files" dired-do-flagged-delete :help "Delete all files flagged for deletion (D)"] ["Delete Marked (Not Flagged) Files" dired-do-delete :help "Delete current file or all marked files (excluding flagged files)"]) ["Shell Command..." dired-do-shell-command :help "Run a shell command on current or marked files"] ["Asynchronous Shell Command..." dired-do-async-shell-command :help "Run a shell command asynchronously on current or marked files"] ["Symlink to..." dired-do-symlink :visible (fboundp 'make-symbolic-link) :help "Make symbolic links for current or marked files"] ["Hardlink to..." dired-do-hardlink :help "Make hard links for current or marked files"] ["Print..." dired-do-print :help "Ask for print command and print marked files"] ["Compress" dired-do-compress :help "Compress/uncompress marked files"] ["Byte-compile" dired-do-byte-compile :help "Byte-compile marked Emacs Lisp files"] ["Load" dired-do-load :help "Load marked Emacs Lisp files"] ["Change Timestamp..." dired-do-touch :help "Change timestamp of marked files"] ["Change Mode..." dired-do-chmod :help "Change mode (attributes) of marked files"] ["Change Group..." dired-do-chgrp :visible (not (memq system-type '(ms-dos windows-nt))) :help "Change the group of marked files"] ["Change Owner..." dired-do-chown :visible (not (memq system-type '(ms-dos windows-nt))) :help "Change the owner of marked files"] ["Isearch Files..." dired-do-isearch :help "Incrementally search marked files for string"] ["Isearch Regexp Files..." dired-do-isearch-regexp :help "Incrementally search marked files for regexp"] ["Search Files..." dired-do-find-regexp :help "Search marked files for matches of regexp"] ["Query Replace in Files..." dired-do-find-regexp-and-replace :help "Replace regexp matches in marked files"] "---" ["Encrypt..." epa-dired-do-encrypt :help "Encrypt current or marked files"] ["Sign..." epa-dired-do-sign :help "Create digital signature of current or marked files"] ["Verify" epa-dired-do-verify :help "Verify digital signature of current or marked files"] ["Decrypt..." epa-dired-do-decrypt :help "Decrypt current or marked files"] "---" ["Display Image Thumbnails" image-dired-display-thumbs :help "Display image thumbnails for current or marked image files"] ["Add Image Comment..." image-dired-dired-comment-files :help "Add image comment to current or marked files"] ["Add Image Tags..." image-dired-tag-files :help "Add image tags to current or marked files"] ["Delete Image Tag..." image-dired-delete-tag :help "Delete image tag from current or marked files"]))
#@67 Populate MENU with Dired mode commands at CLICK.

(fn MENU CLICK)
(defalias 'dired-context-menu #[514 "\301\302!\303\"\203=\304\305#\210\306\307!\310\311\311\312$\210\313\314\315\"!\211\203;\211@\211:\2034\304\316@!A#\210A\266\202\202\266\207" [menu-bar-separator mouse-posn-property event-start dired-filename define-key [dired-separator] make-sparse-keymap "Immediate" easy-menu-do-define nil ("Immediate" ["Find This File" dired-mouse-find-file :help "Edit file at mouse click"] ["Find in Other Window" dired-mouse-find-file-other-window :help "Edit file at mouse click in other window"]) reverse lookup-key [menu-bar immediate] vector] 9 (#$ . 63978)])
(put 'dired-mode 'mode-class 'special)
#@2667 Mode for "editing" directory listings.
In Dired, you are "editing" a list of the files in a directory and
  (optionally) its subdirectories, in the format of `ls -lR'.
  Each directory is a page: use \[backward-page] and \[forward-page] to move pagewise.
"Editing" means that you can run shell commands on files, visit,
  compress, load or byte-compile them, change their file attributes
  and insert subdirectories into the same buffer.  You can "mark"
  files for later commands or "flag" them for deletion, either file
  by file or all files matching certain criteria.
You can move using the usual cursor motion commands.\<dired-mode-map>
The buffer is read-only.  Digits are prefix arguments.
Type \[dired-flag-file-deletion] to flag a file `D' for deletion.
Type \[dired-mark] to Mark a file or subdirectory for later commands.
  Most commands operate on the marked files and use the current file
  if no files are marked.  Use a numeric prefix argument to operate on
  the next ARG (or previous -ARG if ARG<0) files, or just `1'
  to operate on the current file only.  Prefix arguments override marks.
  Mark-using commands display a list of failures afterwards.  Type \[dired-summary]
  to see why something went wrong.
Type \[dired-unmark] to Unmark a file or all files of an inserted subdirectory.
Type \[dired-unmark-backward] to back up one line and unmark or unflag.
Type \[dired-do-flagged-delete] to delete (eXpunge) the files flagged `D'.
Type \[dired-find-file] to Find the current line's file
  (or dired it in another buffer, if it is a directory).
Type \[dired-find-file-other-window] to find file or Dired directory in Other window.
Type \[dired-maybe-insert-subdir] to Insert a subdirectory in this buffer.
Type \[dired-do-rename] to Rename a file or move the marked files to another directory.
Type \[dired-do-copy] to Copy files.
Type \[dired-sort-toggle-or-edit] to toggle Sorting by name/date or change the `ls' switches.
Type \[revert-buffer] to read all currently expanded directories aGain.
  This retains all marks and hides subdirs again that were hidden before.
Use `SPC' and `DEL' to move down and up by lines.

If Dired ever gets confused, you can either type \[revert-buffer] to read the
directories again, type \[dired-do-redisplay] to relist the file at point or the marked files or a
subdirectory, or type \[dired-build-subdir-alist] to parse the buffer
again for the directory tree.

See the `dired' customization group for a list of user options.

This mode runs the following hooks:

  `dired-before-readin-hook'
  `dired-after-readin-hook'
  `dired-mode-hook'

Keybindings:
\{dired-mode-map}

(fn &optional DIRNAME SWITCHES)
(defalias 'dired-mode #[512 "\306 \210\307!\210\310 \210\311\312\313\314\315!\316\317!\210
\313=\203!\313C\320\321!\210\322\320\323!\210\324\320\325!\210\313\320\326!\210\327\320\330!\210\206G2\331<\203V@\202X!3\320\332!\210\211\206e4\320\333!\210\334\320\335!\210\336\320\337!\210\340\3415\342 \210\343\313\"\210\344\345!\203\232\320\346!\210\3476&\"&\350\351\352\341\313$\210\350\353\354\341\313$\210\350\355\356\357\313$\210\360\361!\207" [dired-mode-map major-mode mode-name buffer-read-only mode-line-buffer-identification buffer-invisibility-spec kill-all-local-variables use-local-map dired-advertise dired-mode "Dired" t propertized-buffer-identification "%17b" add-to-invisibility-spec (dired . t) make-local-variable revert-buffer-function dired-revert buffer-stale-function dired-buffer-stale-p buffer-auto-revert-by-notification page-delimiter "\n\n" dired-directory expand-file-name dired-actual-switches font-lock-defaults (dired-font-lock-keywords t nil nil beginning-of-line) desktop-save-buffer dired-desktop-buffer-misc-data grep-read-files-function dired-grep-read-files nil hack-dir-local-variables-non-file-buffer dired-sort-other featurep dnd dnd-protocol-alist append add-hook file-name-at-point-functions dired-file-name-at-point isearch-mode-hook dired-isearch-filenames-setup context-menu-functions dired-context-menu 5 run-mode-hooks dired-mode-hook default-directory list-buffers-directory dired-listing-switches dired-switches-alist dired-dnd-protocol-alist] 7 (#$ . 64698)])
#@62 Summarize basic Dired commands and show recent Dired errors.
(defalias 'dired-summary #[0 "\300 \210\301\302!\207" [dired-why message "d-elete, u-ndelete, x-punge, f-ind, o-ther window, R-ename, C-opy, h-elp"] 2 (#$ . 68921) nil])
#@161 Undo in a Dired buffer.
This doesn't recover lost files, it just undoes changes in the buffer itself.
You can use it to recover marks, killed lines or subdirs.
(defalias 'dired-undo #[0 "\301\302 \210)\303 \210\304\305!\207" [inhibit-read-only t undo dired-build-subdir-alist message "Change in Dired buffer undone.\nActual changes in files cannot be undone by Emacs."] 2 (#$ . 69159) nil])
#@215 Edit Dired buffer with Wdired, or make it read-only.
If the current buffer can be edited with Wdired, (i.e. the major
mode is `dired-mode'), call `wdired-change-to-wdired-mode'.
Otherwise, toggle `read-only-mode'.
(defalias 'dired-toggle-read-only #[0 "\301!\204\302\303!\204\304\305\"\210\306\307!\203\310 \207\311\312!\207" [default-directory file-writable-p y-or-n-p "Directory isn't writable; edit anyway? " user-error "Directory %s isn't writable" derived-mode-p dired-mode wdired-change-to-wdired-mode read-only-mode toggle] 3 (#$ . 69558) nil])
#@124 Move down lines then position at filename.
Optional prefix ARG says how many lines to move; default is one line.

(fn ARG)
(defalias 'dired-next-line #[257 "\302\211\303\304\"\210*\305`!\2036\211\203\211\306W\203o\202m\2046\211\2030\211\306W\2030\307\2021\310u\210\202\n\311 \207" [goal-column line-move-visual nil line-move t invisible-p 0 -1 1 dired-move-to-filename] 4 (#$ . 70125) "^p"])
#@122 Move up lines then position at filename.
Optional prefix ARG says how many lines to move; default is one line.

(fn ARG)
(defalias 'dired-previous-line #[257 "\300\206\301[!\207" [dired-next-line 1] 3 (#$ . 70539) "^p"])
#@65 Goto ARGth next directory file line.

(fn ARG &optional OPOINT)
(defalias 'dired-next-dirline #[513 "\211\204`\262\301V\203\302\303\304$\202 \305 \210\306\303\304[$\203&\307 \207\211b\210\310\311!\207" [dired-re-dir 0 re-search-forward nil t beginning-of-line re-search-backward dired-move-to-filename error "No more subdirectories"] 7 (#$ . 70769) "p"])
#@52 Goto ARGth previous directory file line.

(fn ARG)
(defalias 'dired-prev-dirline #[257 "\300[!\207" [dired-next-dirline] 3 (#$ . 71142) "p"])
#@271 Run Dired on parent directory of current directory.
Find the parent directory either in this buffer or another buffer.
Creates a buffer if necessary.
If OTHER-WINDOW (the optional prefix arg), display the parent
directory in another window.

(fn &optional OTHER-WINDOW)
(defalias 'dired-up-directory #[256 "\301 \302\303!!\304\303!!\206,A\203\305!\206,\203%\306!\210\202)\307!\210\304!\207" [dired-subdir-alist dired-current-directory file-name-directory directory-file-name dired-goto-file dired-goto-subdir dired-other-window dired--find-possibly-alternative-file] 6 (#$ . 71292) "P"])
#@73 Get the current line's file name, with an error if file does not exist.
(defalias 'dired-get-file-for-visit #[0 "\300\301\302\"\301\204
\303\304!\210\305\302\"\262\306!\203\207\307!\203$\310\311!\207\310\312!\207" [dired-get-filename nil t user-error "No file on this line" file-name-sans-versions file-exists-p file-symlink-p error "File is a symlink to a nonexistent target" "File no longer exists; type `g' to update Dired buffer"] 5 (#$ . 71900) nil])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias dired-advertised-find-file dired-find-file nil make-obsolete "23.2"] 4)
#@59 In Dired, visit the file or directory named on this line.
(defalias 'dired-find-file #[0 "\300\301 !\207" [dired--find-possibly-alternative-file dired-get-file-for-visit] 2 (#$ . 72509) nil])
#@79 Find FILE, but respect `dired-kill-when-opening-new-dired-buffer'.

(fn FILE)
(defalias 'dired--find-possibly-alternative-file #[257 "\203\301!\203\302\303!\210\304\305\"\207\304\306\"\207" [dired-kill-when-opening-new-dired-buffer file-directory-p set-buffer-modified-p nil dired--find-file find-alternate-file find-file] 4 (#$ . 72707)])
#@98 Call FIND-FILE-FUNCTION on FILE, but bind some relevant variables.

(fn FIND-FILE-FUNCTION FILE)
(defalias 'dired--find-file #[514 "\303?\205	!*\207" [dired-auto-revert-buffer switch-to-buffer-preserve-window-point find-file-run-dired t] 4 (#$ . 73061)])
#@157 In Dired, visit file or directory on current line via `find-alternate-file'.
This kills the Dired buffer, then visits the current line's file or directory.
(defalias 'dired-find-alternate-file #[0 "\300\301!\210\302\303 !\207" [set-buffer-modified-p nil find-alternate-file dired-get-file-for-visit] 2 (#$ . 73330) nil])
#@316 In Dired, visit the file or directory name you click on.
The optional arguments FIND-FILE-FUNC and FIND-DIR-FUNC specify
functions to visit the file and directory, respectively.  If
omitted or nil, these arguments default to `find-file' and `dired',
respectively.

(fn EVENT &optional FIND-FILE-FUNC FIND-DIR-FUNC)
(defalias 'dired-mouse-find-file #[769 "\204\301\262\211\204\302\262\303\211\211\212\304!\211@\262\262\305\304!!\262\306!\204.\307\310!\210\311!q\210b\210\312 \262)\313!\203TA\203L\314!\206_\315!\210!\207\315!\210\316\317\320\"\"\207" [dired-subdir-alist find-file dired nil event-end posn-point windowp error "No file chosen" window-buffer dired-get-file-for-visit file-directory-p dired-goto-subdir select-window dired--find-file file-name-sans-versions t] 11 (#$ . 73658) "e"])
#@88 In Dired, visit the file or directory name you click on in another window.

(fn EVENT)
(defalias 'dired-mouse-find-file-other-window #[257 "\300\301\302#\207" [dired-mouse-find-file find-file-other-window dired-other-window] 5 (#$ . 74491) "e"])
#@87 In Dired, visit the file or directory name you click on in another frame.

(fn EVENT)
(defalias 'dired-mouse-find-file-other-frame #[257 "\300\301\302#\207" [dired-mouse-find-file find-file-other-frame dired-other-frame] 5 (#$ . 74744) "e"])
#@179 In Dired, examine a file in view mode, returning to Dired when done.
When file is a directory, show it in this buffer if it is inserted.
Otherwise, display it in another buffer.
(defalias 'dired-view-file #[0 "\301 \302!\203A\203\303!\206\304!\207\305!\207" [dired-subdir-alist dired-get-file-for-visit file-directory-p dired-goto-subdir dired view-file] 3 (#$ . 74994) nil])
#@59 In Dired, visit this file or directory in another window.
(defalias 'dired-find-file-other-window #[0 "\300\301\302 \"\207" [dired--find-file find-file-other-window dired-get-file-for-visit] 3 (#$ . 75387) nil])
#@61 In Dired, display this file or directory in another window.
(defalias 'dired-display-file #[0 "\300\301\302 !\303\"\207" [display-buffer find-file-noselect dired-get-file-for-visit t] 3 (#$ . 75605) nil])
(defalias 'dired-unhide-subdir #[0 "\303 \304\211\304\305\306\"\216\307\310 \311 \",\207" [buffer-undo-list inhibit-read-only inhibit-modification-hooks buffer-modified-p t make-closure #[0 "\300?\205\301\302!\207" [V0 restore-buffer-modified-p nil] 2] dired--unhide dired-subdir-min dired-subdir-max] 5])
#@12 

(fn DIR)
(defalias 'dired-subdir-hidden-p #[257 "\212\300!\210\301 )\207" [dired-goto-subdir dired--hidden-p] 3 (#$ . 76128)])
(defalias 'dired-subdir-min #[0 "\212\300\301\302\211#\204\303\304!\202`)\207" [dired-prev-subdir 0 t error "Not in a subdir!"] 4])
#@616 In Dired, return name of file mentioned on this line.
Value returned normally includes the directory name.
Optional arg LOCALP with value `no-dir' means don't include directory
name in result.  A value of `verbatim' means to return the name exactly as
it occurs in the buffer, and a value of t means construct name relative to
`default-directory', which still may contain slashes if in a subdirectory.
Optional arg NO-ERROR-IF-NOT-FILEP means treat `.' and `..' as
regular filenames and return nil if no filename on this line.
Otherwise, an error occurs in these cases.

(fn &optional LOCALP NO-ERROR-IF-NOT-FILEP)
(defalias 'dired-get-filename #[512 "\205\304\305 !\306\211\211\211\211\203\307 \210\212\310?!\211\262\203(\311!\262)\2031\312\313!\210\205<\205<{\211\262\203\302\314\315G\306$\210\316\317\"\203_\320\321\306\322\313%\262\202K\323\n!\203\223\315\324\325\n\326=\203u\327\262\313\262\316\330#\203\221\320\306\322\n\313%\262\211\315\225\\\262\202u\266\331=\203\272\332 \333\334\"\216\315\316\327#\203\267\315\224\335I\210\315\225\262\202\241\210)\210\336\337\337Q!\262\203\317\340!\203\317\322\262\204\327\306\202\\\326=\203\342\202\\\204\363\341\235\203\363\342\343!\202\\\344=\203\211\203\345!\202\\\211\203\"\346\306\"\211\203\211\347N\204\350P\202\262\202\\\344=\203-\202\\\305 \351\232\203V\305!P\262\346\306\"\211\203P\211\347N\204P\350P\202Q\262\202\\\305!P)\207" [dired-subdir-alist case-fold-search dired-actual-switches system-type dired-subdir-hidden-p dired-current-directory nil dired-unhide-subdir dired-move-to-filename dired-move-to-end-of-filename dired-hide-subdir 1 set-text-properties 0 string-match "\\(?:[^\\]\\|\\`\\)\\(\"\\)" replace-match "\\\"" t dired-switches-escape-p "" -1 verbatim "\\\\" "\\(\\\\\\) " windows-nt match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 47 read "\"" files--name-absolute-system-p ("." "..") error "Cannot operate on `.' or `..'" no-dir file-name-nondirectory find-file-name-handler safe-magic "/:" "/"] 17 (#$ . 76401)])
#@277 Replace first match of REGEXP in STRING with NEWTEXT.
If it does not match, nil is returned instead of the new string.
Optional arg LITERAL means to take NEWTEXT literally.
Optional arg GLOBAL means to replace all matches.

(fn REGEXP STRING NEWTEXT &optional LITERAL GLOBAL)
(defalias 'dired-string-replace-match #[1283 "\211\203/\300\301\302#\203.G\300\225Z\303\304\n$\211\262\262GZ\262\210\202\207\302\300#\205>\303\304$\207" [0 nil string-match replace-match t] 13 (#$ . 78550)])
#@27 

(fn FILE &optional DIR)
(defalias 'dired-make-absolute #[513 "\211\206P\207" [default-directory] 4 (#$ . 79068)])
#@220 Convert FILE (an absolute file name) to a name relative to DIR.
If DIR is omitted or nil, it defaults to `default-directory'.
If FILE is not in the directory tree of DIR, return FILE
unchanged.

(fn FILE &optional DIR)
(defalias 'dired-make-relative #[513 "\211\204\262\211G\301V\203\211\301H\302U\203\303!\262\304\305\306!P\"\203,\301\225\307O\207\207" [default-directory 0 126 expand-file-name string-match "^" regexp-quote nil] 6 (#$ . 79195)])
#@115 Non-nil if Dired-Hide-Details mode is enabled.
Use the command `dired-hide-details-mode' to change this variable.
(defvar dired-hide-details-mode nil (#$ . 79665))
(make-variable-buffer-local 'dired-hide-details-mode)
#@846 Toggle visibility of detailed information in current Dired buffer.
When this minor mode is enabled, details such as file ownership and
permissions are hidden from view.

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

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

To check whether the minor mode is enabled in the current buffer,
evaluate `dired-hide-details-mode'.

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

See options: `dired-hide-details-hide-symlink-targets' and
`dired-hide-details-hide-information-lines'.

(fn &optional ARG)
(defalias 'dired-hide-details-mode #[256 "\302 \303=\203
?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300	\"\2031\300	B\311\312!\204;\313\314!\210\315 \210\203L\316\317\315\305\306$\210\202R\320\317\315\306#\210\321\322\203\\\323\202]\324\"\210\325\326!\203\302 \203q\211\302 \232\203\327\330\203{\331\202|\332\333#\210\210\334 \210\207" [dired-hide-details-mode local-minor-modes current-message toggle 1 nil t boundp delq derived-mode-p dired-mode error "Not a Dired buffer" dired-hide-details-update-invisibility-spec add-hook wdired-mode-hook remove-hook run-hooks dired-hide-details-mode-hook dired-hide-details-mode-on-hook dired-hide-details-mode-off-hook called-interactively-p any message "Dired-Hide-Details mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 79890) (byte-code "\203\n\301!\202\302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar dired-hide-details-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\207" [dired-hide-details-mode-map dired-hide-details-mode-hook variable-documentation put "Hook run after entering or leaving `dired-hide-details-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode dired-hide-details-mode boundp] 6)
(defalias 'dired-hide-details-update-invisibility-spec #[0 "\203\303\202	\304\305!\210\203	\203\303\202\304\306!\210\203.\n\203.\307\310!\204.\303\202/\304\311!\207" [dired-hide-details-mode dired-hide-details-hide-information-lines dired-hide-details-hide-symlink-targets add-to-invisibility-spec remove-from-invisibility-spec dired-hide-details-detail dired-hide-details-information derived-mode-p wdired-mode dired-hide-details-link] 2])
#@18 

(fn START END)
(defalias 'dired--find-hidden-pos #[514 "\300\301\302$\207" [text-property-any invisible dired] 7 (#$ . 82682)])
#@22 

(fn &optional POS)
(defalias 'dired--hidden-p #[256 "\300\206`\301\"\302=\207" [get-char-property invisible dired] 4 (#$ . 82820)])
#@18 

(fn START END)
(defalias 'dired--hide #[514 "\212\300b\210\301 b\210\301 \302\303$)\207" [put-text-property line-end-position invisible dired] 7 (#$ . 82963)])
#@18 

(fn START END)
(defalias 'dired--unhide #[514 "\212\300b\210\301 b\210\301 \302#)\207" [remove-list-of-text-properties line-end-position (invisible)] 6 (#$ . 83133)])
#@62 Regular expression to match the permission flags in `ls -l'.
(defvar dired-permission-flags-regexp "\\([^ ]\\)[-r][-w]\\([^ ]\\)[-r][-w]\\([^ ]\\)[-r][-w]\\([^ ]\\)" (#$ . 83310))
#@348 Move to the beginning of the filename on the current line.
Return the position of the beginning of the filename, or nil if none found.

If RAISE-ERROR, signal an error if we can't find the filename on
the current line.

If EOL, it should be an position to use instead of
`line-end-position' as the end of the line.

(fn &optional RAISE-ERROR EOL)
(defalias 'dired-move-to-filename #[512 "\211\204\302 \262\303 \210\304`\305\306$\211\203\211W\203\211b\207\307\310#\203*\311\225b\207\307	\310#\203?\203:\312\313!\210\303 \210\306\207\205F\312\314!\207" [directory-listing-before-filename-regexp dired-permission-flags-regexp line-end-position beginning-of-line next-single-property-change dired-filename nil re-search-forward t 0 error "Unrecognized line!  Check directory-listing-before-filename-regexp" "No file on this line"] 7 (#$ . 83497)])
#@27 

(fn &optional NO-ERROR)
(defalias 'dired-move-to-end-of-filename #[256 "\303`\304\"\203
\305`\304\"b\207`\306\307\310#\311 \312 \313\211\211\204\211\212\314	\313\315#\203G\316\224f\262\317=\262\205B\320\321\322\323!\322\324!\322\325!Q\"\262\202P\204P\326\327!\210)\211\203u\330\331\315#\203\211\332u\210\203\211\n\203\211h\333=\203\211\334u\210\202\211b\210\203\211\335>\204\206\203\211\334u\210\204\244`=\203\244\326\336\203\241\337\340!\202\242\327\"\210`=?\205\255`\207" [dired-actual-switches dired-permission-flags-regexp dired-ls-F-marks-symlinks get-text-property dired-filename next-single-property-change dired-check-switches "F" "classify" line-end-position dired--hidden-p nil re-search-backward t 1 108 string-match "[xst]" match-string 2 3 4 error "No file on this line" search-forward " -> " -4 64 -1 (100 115 112) "%s" substitute-command-keys "File line is hidden, type \\[dired-hide-subdir] to unhide"] 14 (#$ . 84365)])
#@527 Copy names of marked (or next ARG) files into the kill ring.
The names are separated by a space.
With a zero prefix arg, use the absolute file name of each marked file.
With \[universal-argument], use the file name relative to the Dired buffer's
`default-directory'.  (This still may contain slashes if in a subdirectory.)

If on a subdir headerline, use absolute subdirname instead;
prefix arg and marked files are ignored in this case.

You can then feed the file name(s) to other commands with \[yank].

(fn &optional ARG)
(defalias 'dired-copy-filename-as-kill #[256 "\301 \2061\302\303\203,\304!\305U\203\306 \202/:\203#\306\307!\202/\306\310\304!\"\202/\306\310!\311#\211\312\230?\205N\313=\203F\314\315\"\210\202J\316!\210\317\320\"\207" [last-command dired-get-subdir mapconcat identity prefix-numeric-value 0 dired-get-marked-files t no-dir " " "" kill-region kill-append nil kill-new message "%s"] 7 (#$ . 85354) "P"])
#@323 Return a list of buffers for DIR (top level or in-situ subdir).
If FILE is non-nil, include only those whose wildcard pattern (if any)
matches FILE.
The list is in reverse order of buffer creation, most recent last.
As a side effect, killed dired buffers for DIR are removed from
`dired-buffers'.

(fn DIR &optional FILE)
(defalias 'dired-buffers-for-dir #[513 "\304!\262\305\211\211\203u\211@\211A\262\306!\204 \307\"\202n\310@\"\203nrq\210\311	\"\203m\203h\n;\203]\312\n!\211G\313U\206X\314!\305\315\316#)\266\203\262\202e\317\"\nA\235\203mB\262)A\266\202\202\210\207" [dired-buffers dired-subdir-alist dired-directory inhibit-changing-match-data file-name-as-directory nil buffer-name delq dired-in-this-tree-p assoc file-name-nondirectory 0 dired-glob-regexp t string-match expand-file-name] 14 (#$ . 86309)])
#@152 Return a list of buffers for DIR or a subdirectory thereof.
As a side effect, killed dired buffers for DIR are removed from
`dired-buffers'.

(fn DIR)
(defalias 'dired-buffers-for-dir-or-subdir #[257 "\301!\262\302\211\211\2035\211@\211A\262\303!\204 \304\"\202.\305@\"\203.B\262A\266\202\202\210\207" [dired-buffers file-name-as-directory nil buffer-name delq dired-in-this-tree-p] 8 (#$ . 87173)])
#@69 Convert glob-pattern PATTERN to a regular expression.

(fn PATTERN)
(defalias 'dired-glob-regexp #[257 "\300\301\302\303#\203x\300\225\300\224H\304\300\224O!P\262\211\305U\2030\306P\262\262\266\202\211\307U\203e\300\224TH\310U\203G\311\\\202J\312\\\313\314#TOP\262T\262\266\202\211\315U\203s\316P\262\262\266\202\317\304\301O!\320R\207" [0 nil string-match "[[?*]" regexp-quote 63 "." 91 94 3 2 string-search "]" 42 ".*" "\\`" "\\'"] 11 (#$ . 87601)])
(defalias 'dired-advertise #[0 "\302!p\303!>\203
\304\207\211pB	B\211\207" [default-directory dired-buffers expand-file-name dired-buffers-for-dir t] 4])
#@12 

(fn DIR)
(defalias 'dired-unadvertise #[257 "\301\302\303!\"\"\211\207" [dired-buffers delq assoc expand-file-name] 5 (#$ . 88269)])
#@17 

(fn FILE DIR)
(defalias 'dired-in-this-tree-p #[514 "\302\303\304!P\302\305\306#)\266\203)\207" [case-fold-search inhibit-changing-match-data nil "^" regexp-quote t string-match] 9 (#$ . 88414)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias dired-in-this-tree dired-in-this-tree-p nil make-obsolete "27.1"] 4)
#@12 

(fn DIR)
(defalias 'dired-normalize-subdir #[257 "\301\302!\203\202\303\"!\207" [default-directory file-name-as-directory file-name-absolute-p expand-file-name] 5 (#$ . 88760)])
(defalias 'dired-get-subdir #[0 "\212\301 \302 \210`\303\"AZ\304U\205\211\262)\207" [dired-subdir-alist dired-current-directory beginning-of-line assoc 0] 5])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias dired-get-subdir-min cdr nil make-obsolete "27.1"] 4)
#@12 

(fn ELT)
(defalias 'dired-get-subdir-max #[257 "\212\211Ab\210\300 )\207" [dired-subdir-max] 2 (#$ . 89238)])
(defalias 'dired-clear-alist #[0 "\205@A\301\211\223\210A\211\204\301\207" [dired-subdir-alist nil] 4])
#@12 

(fn DIR)
(defalias 'dired-subdir-index #[257 "\301\302\211\203#@@\230\203\301\262\303\262\202\211A\262T\262\202\205(\207" [dired-subdir-alist nil 0 t] 6 (#$ . 89468)])
#@97 Go to next subdirectory, regardless of level.

(fn ARG &optional NO-ERROR-IF-NOT-FOUND NO-SKIP)
(defalias 'dired-next-subdir #[769 "\301 \302\211\303!Z\262\211\304Y\205\2118A\262\203(b\210\204&\302\210`\207?\205<\305\306\304V\203:\307\202;\310\"\207" [dired-subdir-alist dired-current-directory nil dired-subdir-index 0 error "%s directory" "Last" "First"] 10 (#$ . 89662) "p"])
#@199 Build `dired-subdir-alist' by parsing the buffer.
Returns the new value of the alist.
If optional arg SWITCHES is non-nil, use its value
instead of `dired-actual-switches'.

(fn &optional SWITCHES)
(defalias 'dired-build-subdir-alist #[256 "\306 \210\212\307\310\211\206\n\311\312!\205\"\313\314\"\205\"\315\316\317\"Peb\210\311\320
\311\310#\203\310\212\307\224b\210\321 \210\322u\210#\310$\323!)\262)\204'\212\317\224b\210\324`\317\225\"\262\325 \326\327\"\216\203w\230\204w\313\"\203w\307\225\311OP\202z\330!)\262\262`\317\225|\210c\210)T\262\331!\203\266\332\311\310$\313#)\266\203\203\266\311C\311C\333\326\334#\"\210\211\242\262\266\335\212\307\224b\210\321 \210\336 )\"\210\202'\317V\203\331\337\340!\203\331\341\342\"\210*\266\f)\207" [inhibit-read-only buffer-undo-list dired-actual-switches default-directory dired-subdir-alist dired-subdir-regexp dired-clear-alist 0 t nil dired-switches-recursive-p string-match "\\`/.*:\\(/.*\\)" "\\`" match-string 1 re-search-forward beginning-of-line 2 looking-at buffer-substring-no-properties match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] expand-file-name dired-switches-escape-p "\\\\" mapc #[257 "\211\302=\203\300\242\203\301\211\242\303P\240\210\300\304\240\207\300\303\240\207\300\242\2030\211\305=\2030\301\211\242\306P\240\210\300\304\240\207\301\211\242\300\242\307!Q\240\210\300\304\240\207" [V0 V1 92 "\\" nil 110 "\n" char-to-string] 6 "\n\n(fn CHAR)"] dired-alist-add-1 point-marker called-interactively-p interactive message "Buffer includes %d directories" dired-re-perms inhibit-changing-match-data] 13 (#$ . 90068) nil])
#@23 

(fn DIR NEW-MARKER)
(defalias 'dired-alist-add-1 #[514 "\301!BB\211\207" [dired-subdir-alist dired-normalize-subdir] 4 (#$ . 91761)])
(defalias 'dired-goto-next-nontrivial-file #[0 "\302 \210;\205/m?\205/\303\304\305\306\"\206\307!\305\306\310#)\266\203\205/\311y\210\312 \210\202\207" [dired-trivial-filenames inhibit-changing-match-data dired-goto-next-file file-name-nondirectory dired-get-filename nil t "" string-match 1 dired-move-to-filename] 7])
(defalias 'dired-goto-next-file #[0 "\300 S\301 ?\205`W\205\302y\210\202\207" [dired-subdir-max dired-move-to-filename 1] 3])
#@66 Go to line describing file FILE in this Dired buffer.

(fn FILE)
(defalias 'dired-goto-file #[257 "\303!\204\304\305\"\210\306!\262\307\310!\212eb\210\311\211d#)\206T\212eb\210\311\312	\"d#)\206T\212\211\313	!\230\203@eb\202H\nA\205S\314!\205S\311\315!\316 #)\211\205Z\211b)\207" [case-fold-search default-directory dired-subdir-alist file-name-absolute-p error "File name `%s' is not absolute" directory-file-name nil file-name-directory dired-goto-file-1 file-relative-name expand-file-name dired-goto-subdir file-name-nondirectory dired-subdir-max] 6 (#$ . 92373) (byte-code "\300\301\302\303 \"!C\304 \210\207" [expand-file-name read-file-name "Goto file: " dired-current-directory push-mark] 4)])
#@386 Advance to the Dired listing labeled by FILE; return its position.
Return nil if the listing is not found.  If FILE contains
characters that would not appear in a Dired buffer, search using
the quoted forms of those characters.

FULL-NAME specifies the actual file name the listing must have,
as returned by `dired-get-filename'.  LIMIT is the search limit.

(fn FILE FULL-NAME LIMIT)
(defalias 'dired-goto-file-1 #[771 "\302\303\304\305#\262\303\306\307#\262\310!\203;\311\302\312\313#)\266\203\203;\303\314\315#\262\303\316\317#\262\303\320\321#\262\302\314P\204a\322\323#\203a\324\302\312\"\232\203[\325 \262\202?\326y\210\202?\207" [dired-actual-switches inhibit-changing-match-data nil string-replace "
" "\\^m" "\\" "\\\\" dired-switches-escape-p "[ 	\n]" t string-match " " "\\ " "	" "\\t" "\n" "\\n" search-forward move dired-get-filename dired-move-to-filename 1] 11 (#$ . 93103)])
#@174 Where point should go in a new listing of DIRNAME.
Point is assumed to be at the beginning of new subdir line.
It runs the hook `dired-initial-position-hook'.

(fn DIRNAME)
(defalias 'dired-initial-position #[257 "\302\210\303\304!\203\203\305!\210	\203\306 \210\307\310!\207" [dired-find-subdir dired-trivial-filenames nil featurep dired-x dired-goto-subdir dired-goto-next-nontrivial-file run-hooks dired-initial-position-hook] 3 (#$ . 94032)])
#@359 Return the name of the subdirectory to which this line belongs.
This returns a string with trailing slash, like `default-directory'.
Optional argument means return a file name relative to `default-directory',
in which case the value could be an empty string if `default-directory'
is the directory where the file on this line resides.

(fn &optional LOCALP)
(defalias 'dired-current-directory #[256 "`\206	\302\303p\"\304\211\203&@\262@\262AX?\205!A\262\202\203/\305	\"\207\207" [dired-subdir-alist default-directory error "No subdir-alist in %s" nil dired-make-relative] 8 (#$ . 94495)])
(defalias 'dired-subdir-max #[0 "\212A\203\301\302\303\211#\204d\202`)\207" [dired-subdir-alist dired-next-subdir 1 t] 4])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\312\313\314\315#\210\316\211\2037\211@\313N\2030\314N\2040\317\314\313N#\210A\266\202\202\210\320\313\314\321#\207" [custom-declare-variable dired-recursive-deletes funcall function #[0 "\300\207" [top] 1 ""] "Whether Dired deletes directories recursively.\nIf nil, Dired will not delete non-empty directories.\n`always' means to delete non-empty directories recursively,\nwithout asking.  This is dangerous!\n`top' means to ask for each top-level directory specified by the\nDired deletion command, and delete its subdirectories without\nasking.\nAny other value means to ask for each directory." :type (choice :tag "Delete non-empty directories" (const :tag "Yes" always) (const :tag "No--only delete empty directories" nil) (const :tag "Confirm for each directory" t) (const :tag "Confirm for each top directory only" top)) :group dired defvaralias dired-re-no-dot directory-files-no-dot-files-regexp nil (saved-value saved-variable-comment) put make-obsolete-variable "28.1"] 8)
#@529 Delete FILE or directory (possibly recursively if optional RECURSIVE is true.)
RECURSIVE determines what to do with a non-empty directory.  The effect of
its possible values is:

  nil           -- do not delete.
  `always'      -- delete recursively without asking.
  `top'         -- ask for each directory at top level.
  Anything else -- ask for each sub-directory.

TRASH non-nil means to trash the file instead of deleting, provided
`delete-by-moving-to-trash' (which see) is non-nil.

(fn FILE &optional RECURSIVE TRASH)
(defalias 'dired-delete-file #[769 "\303!@\304=\204\305\"\207\306\304#?\203o\211\204o\307=\204r\310\311\2030	\2030\312\2021\313\314!#\315\316\"\211\317\267\202g\307\262\266\202r\320=\203j\307\262\266\202r\321\262\266\202r\322 \266\202r\322 \210\266\202r\321\262\323#\207" [directory-files-no-dot-files-regexp delete-by-moving-to-trash dired-recursive-deletes file-attributes t delete-file directory-files always format "Recursively %s %s? " "trash" "delete" dired-make-relative read-answer (("yes" 121 "delete recursively the current directory") ("no" 110 "skip to next") ("all" 33 "delete all remaining directories with no more questions") ("quit" 113 "exit")) #s(hash-table size 4 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("all" 64 "yes" 74 "no" 88 "quit" 96)) top nil keyboard-quit delete-directory] 9 (#$ . 96293)])
#@250 In Dired, delete the files flagged for deletion.
If NOMESSAGE is non-nil, we don't display any message
if there are no flagged files.
`dired-recursive-deletes' controls whether deletion of
non-empty directories is allowed.

(fn &optional NOMESSAGE)
(defalias 'dired-do-flagged-delete #[256 "\304 \305\211C\212eb\210\306\305\307#)\203\234\310\307\305\211\211C\304 \305\212eb\210\306\305\307#\2050\311 \262\211??\262\211\203o\211b\210\312 \311 \n\f\242B\240\210\211\262B\242B\240\210\211b\210\313y\210\211\305\211\223\210\306\305\307#\205j\311 \262\2027)\203{\242\266\202\202\217\312 \311 	\242B\240\210\211\262BC\266\202*\266\204\314 \210\237\305\307#\202\270\211\242\211\203\260\211@\211\305\211\223\210A\266\202\202\236\210\206\270\315\316!*\207" [dired-del-marker dired-marker-char case-fold-search inhibit-read-only dired-marker-regexp nil re-search-forward t dired-internal-do-deletions point-marker dired-get-filename 1 dired-move-to-filename message "(No deletions requested)"] 17 (#$ . 97715) nil])
#@149 Delete all marked (or next ARG) files.
`dired-recursive-deletes' controls whether deletion of
non-empty directories is allowed.

(fn &optional ARG)
(defalias 'dired-do-delete #[256 "\302C\303\304\302\211\211C\203I\250\2034\305\306\307	#\"\210\310W\203/\211\242\237\202\271\211\242\202\271\311 \312 	\242B\240\210\211\262BC\202\271\313 \302\212eb\210\314\302\304#\205Z\312 \262\211??\262\211\203\231\211b\210\311 \312 \n\f\242B\240\210\211\262B\242B\240\210\211b\210\315y\210\211\302\211\223\210\314\302\304#\205\224\312 \262\202a)\203\245\242\266\202\202\271\311 \312 	\242B\240\210\211\262BC\266\202*\266\204\316 \210\237\304#\210\211\242\211\205\330\211@\211\302\211\223\210A\266\202\202\306\207" [case-fold-search inhibit-read-only nil dired-internal-do-deletions t dired-repeat-over-lines make-closure #[0 "\301\302 \303 \300\300\242B\240\210\211\262B\301\242B\240\207" [V0 V1 dired-get-filename point-marker] 6] 0 dired-get-filename point-marker dired-marker-regexp re-search-forward 1 dired-move-to-filename] 15 (#$ . 98767) "P"])
(defvar dired-deletion-confirmer 'yes-or-no-p)
#@30 

(fn L ARG &optional TRASH)
(defalias 'dired-internal-do-deletions #[770 "\304\305\"G\306\205	\304\307\"\262\310\311\312\n\313\314\203%\315\202&\316\317
\"#%\203\337\212\3202\332\321\203?\322\202@\323\306#\324\203\274\325	@A!b\210\326 \210\327\3301\241\3311\225@@\332\n#\210T\262\324\247\203|@Y\205\201\333#\266\334\335!\336!\337$\26200\210\202\2630\340\320\341\342!\"\266\202\263\343\344@\345!#\210	@@B\211\266\203)A\262	\202D\211\204\310\346!\266\202\202\331\347\313\350\351\352	#G#\"\266\2020\210)\202\343\341\353!\210)\266\326 \207" [dired-recursive-deletes delete-by-moving-to-trash dired-deletion-confirmer inhibit-read-only mapcar car 0 dired-make-relative dired-mark-pop-up " *Deletions*" delete format "%s %s " "Trash" "Delete" dired-mark-prompt --delete-cancel make-progress-reporter "Trashing..." "Deleting..." nil marker-position dired-move-to-filename t (error) (quit) dired-delete-file progress-reporter-do-update dired-fun-in-all-buffers file-name-directory file-name-nondirectory dired-delete-entry throw message "OK, canceled" dired-log "%s: %s\n" error-message-string progress-reporter-done dired-log-summary ngettext "%d of %d deletion failed" "%d of %d deletions failed" "(No deletions performed)"] 18 (#$ . 99912)])
#@316 In all buffers dired'ing DIRECTORY, run FUN with ARGS.
If the buffer has a wildcard pattern, check that it matches FILE.
(FILE does not include a directory component.)
FILE may be nil, in which case ignore it.
Return list of buffers where FUN succeeded (i.e., returned non-nil).

(fn DIRECTORY FILE FUN &rest ARGS)
(defalias 'dired-fun-in-all-buffers #[899 "\300\301\302!\"\211\203(\211@r\211q\210\303\"\203 \304!B\262)A\266\202\202\210\207" [nil dired-buffers-for-dir expand-file-name apply buffer-name] 10 (#$ . 101230)])
#@156 Remove entry FILE in the current dired buffer.
Note this doesn't delete FILE in the file system.
See `dired-delete-file' in case you wish that.

(fn FILE)
(defalias 'dired-remove-entry #[257 "\212\301!\205\302\303 \210`\304\305!|))\207" [inhibit-read-only dired-goto-file t beginning-of-line line-beginning-position 2] 4 (#$ . 101774)])
#@227 Remove entry FILE in the current dired buffer.
Like `dired-remove-entry' followed by `dired-clean-up-after-deletion'.
Note this doesn't delete FILE in the file system.
See `dired-delete-file' in case you wish that.

(fn FILE)
(defalias 'dired-delete-entry #[257 "\300!\210\301!\207" [dired-remove-entry dired-clean-up-after-deletion] 3 (#$ . 102122)])
#@330 Clean up after a deleted file or directory FN.
Removes any expanded subdirectory of deleted directory.  If
`dired-x' is loaded and `dired-clean-up-buffers-too' is non-nil,
kill any buffers visiting those files, prompting for
confirmation.  To disable the confirmation, see
`dired-clean-confirm-killing-deleted-buffers'.

(fn FN)
(defalias 'dired-clean-up-after-deletion #[257 "\212A\203\303!\203\304 \210)\305\306!\205t	\205t\307!\211\2038\n\2030\310\311\312\313!\"!\2044\n\2048\314!\210\210\315\316!!\211\205r\n\203Y\310\311\317\320\321G#\313\322!!\"!\204^\n?\205r\211\211\205p\211@\314!\210A\266\202\202_\262\262\207" [dired-subdir-alist dired-clean-up-buffers-too dired-clean-confirm-killing-deleted-buffers dired-goto-subdir dired-kill-subdir featurep dired-x get-file-buffer y-or-n-p format "Kill buffer of %s, too? " file-name-nondirectory kill-buffer dired-buffers-for-dir-or-subdir expand-file-name ngettext "Kill Dired buffer of %s, too? " "Kill Dired buffers of %s and its sub-directories, too? " directory-file-name] 8 (#$ . 102483)])
(defalias 'dired-marker-regexp #[0 "\301\302\303!!P\207" [dired-marker-char "^" regexp-quote char-to-string] 4])
#@14 

(fn COUNT)
(defalias 'dired-plural-s #[257 "\211\300U\203\301\207\302\207" [1 "" "s"] 3 (#$ . 103678)])
#@249 Return a string suitable for use in a Dired prompt.
ARG is normally the prefix argument for the calling command.
FILES should be a list of file names.

The return value has a form like "foo.txt", "[next 3 files]",
or "* [3 files]".

(fn ARG FILES)
(defalias 'dired-mark-prompt #[514 "\211@\301=\203\211A\262\211G\211\302U\203@\207\250\203 \303\304\"\207\303\305#\207" [dired-marker-char t 1 format "[next %d files]" "%c [%d files]"] 7 (#$ . 103793)])
#@58 Pop up buffer BUF in a way suitable for Dired.

(fn BUF)
(defalias 'dired-pop-to-buffer #[257 "\303\304\305\306!!\210*\307\304e\"\210\n\205\310\311!\304\312\304\211\313&\207" [pop-up-frames split-window-preferred-function dired-shrink-to-fit #[257 "\301\302\303 !)\203\304 \206\305!\207" [split-height-threshold 0 window-splittable-p selected-window split-window-below split-window-sensibly] 3 "\n\n(fn WINDOW)"] nil pop-to-buffer get-buffer-create set-window-start fit-window-to-buffer get-buffer-window 1 t] 8 (#$ . 104261)])
(byte-code "\300\301\302\303#\210\304\305\306\307\310DD\311\312\313\314\315&\207" [make-obsolete dired-pop-to-buffer pop-to-buffer "24.3" custom-declare-variable dired-no-confirm funcall function #[0 "\300\207" [nil] 1 ""] "A list of symbols for commands Dired should not confirm, or t.\nCommand symbols are `byte-compile', `chgrp', `chmod', `chown', `compress',\n`copy', `delete', `hardlink', `load', `move', `print', `shell', `symlink',\n`touch' and `uncompress'.\nIf t, confirmation is never needed." :group dired :type (choice (const :tag "Confirmation never needed" t) (set (const byte-compile) (const chgrp) (const chmod) (const chown) (const compress) (const copy) (const delete) (const hardlink) (const load) (const move) (const print) (const shell) (const symlink) (const touch) (const uncompress)))] 8)
#@897 Return FUNCTION's result on ARGS after showing which files are marked.
Displays the file names in a window showing a buffer named
BUFFER-OR-NAME; the default name being " *Marked Files*".  The
window is not shown if there is just one file, `dired-no-confirm'
is t, or OP-SYMBOL is a member of the list in `dired-no-confirm'.

By default, Dired shrinks the display buffer to fit the marked files.
To disable this, use the Customization interface to add a new rule
to `display-buffer-alist' where condition regexp is "^ \*Marked Files\*$",
action argument symbol is `window-height' and its value is nil.

FILES is the list of marked files.  It can also be (t FILENAME)
in the case of one marked file, to distinguish that from using
just the current file.

FUNCTION should not manipulate files, just read input (an
argument or confirmation).

(fn BUFFER-OR-NAME OP-SYMBOL FILES FUNCTION &rest ARGS)
(defalias 'dired-mark-pop-up #[1156 "\303=\204>\204G\304U\203\305\"\207\306\206\307!\310\311\312\313\314\315\316	\"BF\315\317#\320!\211\321\211rq\210\321\262\322\"\262)\323!\203T\"\202U\211)\266\205)\207" [dired-no-confirm display-buffer-mark-dedicated standard-output t 1 apply get-buffer-create " *Marked Files*" soft display-buffer-below-selected (window-height . fit-window-to-buffer) (preserve-size nil . t) body-function make-closure #[257 "\302\300@\303=\203
\300A\202\300!\210\304ed\305#\210\306\211\207" [V0 tab-line-exclude dired-format-columns-of-files t remove-text-properties (mouse-face nil help-echo nil) nil] 5 "\n\n(fn WINDOW)"] #[514 "\302!r\303\304\"\216\305@\306\"\210\303\307\"\216\310\300\301\"+\207" [V0 V1 internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord #[0 "\301\300!\205\n\302\300\303\"\207" [V0 window-live-p quit-restore-window kill] 3] apply] 6 "\n\n(fn WINDOW VALUE)"] temp-buffer-window-setup nil temp-buffer-window-show functionp] 14 (#$ . 105623)])
#@14 

(fn FILES)
(defalias 'dired-format-columns-of-files #[257 "`\300!\210\301`\302\303$\207" [completion--insert-strings put-text-property mouse-face nil] 7 (#$ . 107640)])
#@21 

(fn ARG FUNCTION)
(defalias 'dired-repeat-over-lines #[514 "\300 \301 \210\302V\203;m\204;S\262\301 \210m\204%\303 \203%\304y\210\202\212\304y\210\211`T\305\223\210)\212 \210)\211b\210\202\302W\203fo\204fT\262\306y\210o\204[\303 \203[\306y\210\202L\301 \210\212 \210)\202;\211\305\211\223\210\307 \207" [make-marker beginning-of-line 0 dired-between-files 1 nil -1 dired-move-to-filename] 6 (#$ . 107819)])
(defalias 'dired-between-files #[0 "\212\300 )?\207" [dired-move-to-filename] 1])
#@444 Move to the ARGth next marked file.
ARG is the numeric prefix argument and defaults to 1.
If WRAP is non-nil, which happens interactively, wrap around
to the beginning of the buffer and search from there, if no
marked file is found after this line.
Optional argument OPOINT specifies the buffer position to
return to if no ARGth marked file is found; it defaults to
the position where this command was invoked.

(fn ARG &optional WRAP OPOINT)
(defalias 'dired-next-marked-file #[769 "\211\204`\262\301V\203\302\303\304$\202\"\305 \210\306\303\304[$\203(\307 \207\2043\211b\210\310\311!\207\312\313!\210\301V\203Ae\202Bdb\210\314\303#\207" [dired-re-mark 0 re-search-forward nil t beginning-of-line re-search-backward dired-move-to-filename error "No next marked file" message "(Wraparound for next marked file)" dired-next-marked-file] 8 (#$ . 108339) "p\np"])
#@290 Move to the ARGth previous marked file.
ARG is the numeric prefix argument and defaults to 1.
If WRAP is non-nil, which happens interactively, wrap around
to the end of the buffer and search backwards from there, if
no ARGth marked file is found before this line.

(fn ARG &optional WRAP)
(defalias 'dired-prev-marked-file #[513 "\300[\"\207" [dired-next-marked-file] 5 (#$ . 109228) "p\np"])
#@13 

(fn FILE)
(defalias 'dired-file-marker #[257 "\212\300!\205\301 \210g\302=?\205g)\207" [dired-goto-file beginning-of-line 32] 3 (#$ . 109629)])
#@18 

(fn START END)
(defalias 'dired-mark-files-in-region #[514 "\304V\203\f\305\306!\210b\210`W\205F`W\203&\307 \203&\310y\210\202	\304\311!)\262\204@\312\313\304\"\203@\314\310!\210c\210\310y\210\202)\207" [inhibit-read-only dired-re-dot inhibit-changing-match-data dired-marker-char t error "Start > End" dired-between-files 1 looking-at dired-get-filename nil delete-char] 5 (#$ . 109786)])
#@440 Mark the file at point in the Dired buffer.
If the region is active in Transient Mark mode, mark all files
in the region if `dired-mark-region' is non-nil.
Otherwise, with a prefix arg, mark files on the next ARG lines.

If on a subdir headerline, mark all its files except `.' and `..'.

Use \[dired-unmark-all-files] to remove all marks
and \[dired-unmark] on a subdir to remove the marks in
this subdir.

(fn ARG &optional INTERACTIVE)
(defalias 'dired-mark #[513 "\211\203B\203B\302 \203B\303 \304 V\203B\212\304 \303 \305b\210\306 b\210\307=\203.n?\2023\310`S\311\"\203;\312 \202=\306 \"\266\202)\207\313 \203L\212\314 )\207\315\316\317!\320\")\207" [dired-mark-region inhibit-read-only region-active-p region-end region-beginning dired-mark-files-in-region line-beginning-position line get-text-property dired-filename line-end-position dired-get-subdir dired-mark-subdir-files t dired-repeat-over-lines prefix-numeric-value #[0 "\301\302!\210c\207" [dired-marker-char delete-char 1] 2]] 9 (#$ . 110205) (list current-prefix-arg t)])
#@356 Unmark the file at point in the Dired buffer.
If the region is active, unmark all files in the region.
Otherwise, with a prefix arg, unmark files on the next ARG lines.

If looking at a subdir, unmark all its files except `.' and `..'.
If the region is active in Transient Mark mode, unmark all files
in the active region.

(fn ARG &optional INTERACTIVE)
(defalias 'dired-unmark #[513 "\301\302\")\207" [dired-marker-char 32 dired-mark] 5 (#$ . 111268) (list current-prefix-arg t)])
#@358 In Dired, flag the current line's file for deletion.
If the region is active, flag all files in the region.
Otherwise, with a prefix arg, flag files on the next ARG lines.

If on a subdir headerline, flag all its files except `.' and `..'.
If the region is active in Transient Mark mode, flag all files
in the active region.

(fn ARG &optional INTERACTIVE)
(defalias 'dired-flag-file-deletion #[513 "\302\")\207" [dired-del-marker dired-marker-char dired-mark] 5 (#$ . 111761) (list current-prefix-arg t)])
#@243 In Dired, move up lines and remove marks or deletion flags there.
Optional prefix ARG says how many lines to unmark/unflag; default
is one line.
If the region is active in Transient Mark mode, unmark all files
in the active region.

(fn ARG)
(defalias 'dired-unmark-backward #[257 "\300[\301\"\207" [dired-unmark t] 4 (#$ . 112279) "p"])
#@392 Toggle marks: marked files become unmarked, and vice versa.
Flagged files (indicated with flags such as `C' and `D', not
with `*') are not affected, and `.' and `..' are never toggled.
As always, hidden subdirs are not affected.

In Transient Mark mode, if the mark is active, operate on the contents
of the region if `dired-mark-region' is non-nil.  Otherwise, operate
on the whole buffer.
(defalias 'dired-toggle-marks #[0 "\212\304\305 \306 b\210`W\205>\307 \2048	\304\310!)\262\2048\311\312``Tg\313=\2033\313D\2026\313D$\210\314y\210\202)\266\203)\207" [inhibit-read-only dired-re-dot inhibit-changing-match-data dired-marker-char t dired-mark--region-beginning dired-mark--region-end dired-between-files looking-at apply subst-char-in-region 32 1] 9 (#$ . 112625) nil])
#@61 History list of regular expressions used in Dired commands.
(defvar dired-regexp-history nil (#$ . 113422))
#@75 Read a regexp using `read-regexp'.

(fn PROMPT &optional DEFAULT HISTORY)
(defalias 'dired-read-regexp #[769 "\300\206\301#\207" [read-regexp dired-regexp-history] 7 (#$ . 113536)])
(make-obsolete 'dired-read-regexp 'read-regexp "24.5")
#@427 Mark all files matching REGEXP for use in later commands.
A prefix argument means to unmark them instead.
`.' and `..' are never marked.

If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil.

REGEXP is an Emacs regexp, not a shell wildcard.  Thus, use `\.o$' for
object files--just `.o' will mark more than you might think.

(fn REGEXP &optional MARKER-CHAR)
(defalias 'dired-mark-files-regexp #[513 "\211\206\305\306\307 \310 \311 \212\312\262\313\314\315=\203 \316\202+\n=\203*\317\202+\320\321\n=\2036\322\2027\323\203@\324\202A\323%\210b\210`W\203\216\305\325!)\262\204\210l\204\210\326\305\211\"\211\205r\306\305\327#)\266\203\262\203\210gU\204\210\330\331!\210c\210T\262\331y\210\202F\313\332\321\333!\315=\203\240\334\202\241\323\n=\203\253\335\202\254\336	\203\265\324\202\266\323&\210)\312V\205\301)\266\205)\207" [dired-marker-char inhibit-read-only dired-del-marker dired-re-dot inhibit-changing-match-data t nil dired-mark--region-use-p dired-mark--region-beginning dired-mark--region-end 0 message "%s %ss%s%s..." 32 "Unmarking" "Flagging" "Marking" "matching file" " for deletion" "" " in region" looking-at dired-get-filename string-match delete-char 1 "%s %s%s %s%s%s" dired-plural-s "un" "flagged" "marked"] 15 (#$ . 113785) (byte-code "\301\203	\302\202\n\303\304P\305\306\307\211\"\306\305\307\"\205#\310\311\306\305\307\"\307\"!\312PDB\313#\205,\314D\207" [current-prefix-arg read-regexp "Unmark" "Mark" " files (regexp): " nil dired-get-filename t regexp-quote file-name-extension "\\'" dired-regexp-history 32] 9)])
#@56 Display the number and total size of the marked files.
(defalias 'dired-number-of-marked-files #[0 "\301\302\211\211\303$\211A\204\304\202#\211G\305U\203!\211@\303=\203!\306\202#\211G\302\304:\203G@\262;\203@\211\307!\3108\262\\\262A\262\202&\266\202\304U\203S\311\312!\207\311\313\211\306U\203`\314\202a\315!$\207" [byte-count-to-string-function dired-get-marked-files nil t 0 2 1 file-attributes 7 message "No marked files" "%d marked file%s (%s total size)" "" "s"] 9 (#$ . 115463) nil])
#@585 Mark all files with contents containing REGEXP for use in later commands.
A prefix argument means to unmark them instead.
`.' and `..' are never marked.

If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil.

Note that if a file is visited in an Emacs buffer, and
`dired-always-read-filesystem' is nil, this command will
look in the buffer without revisiting the file, so the results might
be inconsistent with the file on disk if its contents has changed
since it was last visited.

(fn REGEXP &optional MARKER-CHAR)
(defalias 'dired-mark-files-containing-regexp #[513 "\211\206\306\307\310 \311 \312 \212\313\262\314\315\316=\203 \317\202+\n=\203*\320\202+\321\322\n=\2036\323\2027\324\203@\325\202A\324%\210b\210`W\203\316\306\326!)\262\204\310l\204\310\327\307\306\"\211\205\262\330!\205\262\331!?\205\262\332!\314\333\"\210\211\203\223
\204\223r\211q\210\212eb\210\334	\307\306#*\202\260\335\336\306\"r\211q\210\337\340\"\216\341!\210eb\210\334\n\307\306#*\262\262\262\203\310gU\204\310\342\343!\210c\210T\262\343y\210\202F\314\344\322\345!\316=\203\340\346\202\341\324\n=\203\353\347\202\354\350	\203\365\325\202\366\324&\210)\313V\205)\266\205)\207" [dired-marker-char inhibit-read-only dired-del-marker dired-re-dot inhibit-changing-match-data dired-always-read-filesystem t nil dired-mark--region-use-p dired-mark--region-beginning dired-mark--region-end 0 message "%s %ss%s%s..." 32 "Unmarking" "Flagging" "Marking" "matching file" " for deletion" "" " in region" looking-at dired-get-filename file-readable-p file-directory-p get-file-buffer "Checking %s" re-search-forward generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents delete-char 1 "%s %s%s %s%s%s" dired-plural-s "un" "flagged" "marked"] 15 (#$ . 115988) (byte-code "\301\203	\302\202\n\303\304P\305\306#\205\307D\207" [current-prefix-arg read-regexp "Unmark" "Mark" " files containing (regexp): " nil dired-regexp-history 32] 4)])
#@249 In Dired, flag all files containing the specified REGEXP for deletion.
The match is against the non-directory part of the filename.  Use `^'
  and `$' to anchor matches.  Exclude subdirs by hiding them.
`.' and `..' are never flagged.

(fn REGEXP)
(defalias 'dired-flag-files-regexp #[257 "\301\"\207" [dired-del-marker dired-mark-files-regexp] 4 (#$ . 118118) (byte-code "\300\301\302\303#C\207" [read-regexp "Flag for deletion (regexp): " nil dired-regexp-history] 4)])
#@217 Mark all symbolic links.
With prefix argument, unmark or unflag all those files.
If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil.

(fn UNFLAG-P)
(defalias 'dired-mark-symlinks #[257 "\211\203\305\202	\306\307\310 \311 \312 \212\313\262\314\315\305=\203$\316\202/\n=\203.\317\202/\320\321\n=\203:\322\202;\323\203D\324\202E\323%\210b\210`W\203s\306\325!)\262\203mgU\204m\326\327!\210c\210T\262\327y\210\202J\314\330\321\331!\305=\203\205\332\202\206\323\n=\203\220\333\202\221\334	\203\232\324\202\233\323&\210)\313V\205\246)\266\205)\207" [dired-marker-char inhibit-read-only dired-del-marker dired-re-sym inhibit-changing-match-data 32 t nil dired-mark--region-use-p dired-mark--region-beginning dired-mark--region-end 0 message "%s %ss%s%s..." "Unmarking" "Flagging" "Marking" "symbolic link" " for deletion" "" " in region" looking-at delete-char 1 "%s %s%s %s%s%s" dired-plural-s "un" "flagged" "marked"] 14 (#$ . 118599) "P"])
#@243 Mark all directory file lines except `.' and `..'.
With prefix argument, unmark or unflag all those files.
If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil.

(fn UNFLAG-P)
(defalias 'dired-mark-directories #[257 "\211\203\306\202	\307\310\311 \312 \313 \212\314\262\315\316\306=\203$\317\202/\n=\203.\320\202/\321\322\n=\203:\323\202;\324\203D\325\202E\324%\210b\210`W\203\307\326!)\262\203y
\307\326!)\262\204ygU\204y\327\330!\210c\210T\262\330y\210\202J\315\331\322\332!\306=\203\221\333\202\222\324\n=\203\234\334\202\235\335	\203\246\325\202\247\324&\210)\314V\205\262)\266\205)\207" [dired-marker-char inhibit-read-only dired-del-marker dired-re-dir inhibit-changing-match-data dired-re-dot 32 t nil dired-mark--region-use-p dired-mark--region-beginning dired-mark--region-end 0 message "%s %ss%s%s..." "Unmarking" "Flagging" "Marking" "directory file" " for deletion" "" " in region" looking-at delete-char 1 "%s %s%s %s%s%s" dired-plural-s "un" "flagged" "marked"] 14 (#$ . 119660) "P"])
#@219 Mark all executable files.
With prefix argument, unmark or unflag all those files.
If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil.

(fn UNFLAG-P)
(defalias 'dired-mark-executables #[257 "\211\203\305\202	\306\307\310 \311 \312 \212\313\262\314\315\305=\203$\316\202/\n=\203.\317\202/\320\321\n=\203:\322\202;\323\203D\324\202E\323%\210b\210`W\203s\306\325!)\262\203mgU\204m\326\327!\210c\210T\262\327y\210\202J\314\330\321\331!\305=\203\205\332\202\206\323\n=\203\220\333\202\221\334	\203\232\324\202\233\323&\210)\313V\205\246)\266\205)\207" [dired-marker-char inhibit-read-only dired-del-marker dired-re-exe inhibit-changing-match-data 32 t nil dired-mark--region-use-p dired-mark--region-beginning dired-mark--region-end 0 message "%s %ss%s%s..." "Unmarking" "Flagging" "Marking" "executable file" " for deletion" "" " in region" looking-at delete-char 1 "%s %s%s %s%s%s" dired-plural-s "un" "flagged" "marked"] 14 (#$ . 120788) "P"])
#@280 Flag for deletion files whose names suggest they are auto save files.
A prefix argument says to unmark or unflag those files instead.
If the region is active in Transient Mark mode, flag files
only in the active region if `dired-mark-region' is non-nil.

(fn &optional UNFLAG-P)
(defalias 'dired-flag-auto-save-files #[256 "\211\203\305\202	\306\307\310 \311 \312 \212\313\262\314\315	\305=\203$\316\202/	=\203.\317\202/\320\321	=\203:\322\202;\323\203D\324\202E\323%\210b\210`W\203\237\212\307\210h\325=\206fh\326=\205f\327u\210h\325=)\203\231\306\330!)\262\204\231\331\306\211\"\211\205\203\332\333!!\262\203\231g	U\204\231\334\335!\210	c\210T\262\335y\210\202J\314\336\321\337!	\305=\203\261\340\202\262\323	=\203\274\341\202\275\342	\203\306\324\202\307\323&\210)\313V\205\322)\266\205)\207" [dired-del-marker dired-marker-char inhibit-read-only dired-re-dir inhibit-changing-match-data 32 t nil dired-mark--region-use-p dired-mark--region-beginning dired-mark--region-end 0 message "%s %ss%s%s..." "Unmarking" "Flagging" "Marking" "auto save file" " for deletion" "" " in region" 35 42 -1 looking-at dired-get-filename auto-save-file-name-p file-name-nondirectory delete-char 1 "%s %s%s %s%s%s" dired-plural-s "un" "flagged" "marked"] 14 (#$ . 121856) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable dired-garbage-files-regexp funcall function #[0 "\300\207" ["\\(?:\\.\\(?:aux\\|bak\\|dvi\\|log\\|orig\\|rej\\|toc\\)\\)\\'"] 1 ""] "Regular expression to match \"garbage\" files for `dired-flag-garbage-files'." :type regexp :group dired] 8)
#@70 Flag for deletion all files that match `dired-garbage-files-regexp'.
(defalias 'dired-flag-garbage-files #[0 "\301!\207" [dired-garbage-files-regexp dired-flag-files-regexp] 2 (#$ . 123509) nil])
#@258 Flag all backup files (names ending with `~') for deletion.
With prefix argument, unmark or unflag these files.
If the region is active in Transient Mark mode, flag files
only in the active region if `dired-mark-region' is non-nil.

(fn &optional UNFLAG-P)
(defalias 'dired-flag-backup-files #[256 "\211\203\305\202	\306\307\310 \311 \312 \212\313\262\314\315	\305=\203$\316\202/	=\203.\317\202/\320\321	=\203:\322\202;\323\203D\324\202E\323%\210b\210`W\203\227\212\307\210h\325=\203]\326u\210h)\327=\203\221\306\330!)\262\204\221\331\306\211\"\211\205{\332!\262\203\221g	U\204\221\333\334!\210	c\210T\262\334y\210\202J\314\335\321\336!	\305=\203\251\337\202\252\323	=\203\264\340\202\265\341	\203\276\324\202\277\323&\210)\313V\205\312)\266\205)\207" [dired-del-marker dired-marker-char inhibit-read-only dired-re-dir inhibit-changing-match-data 32 t nil dired-mark--region-use-p dired-mark--region-beginning dired-mark--region-end 0 message "%s %ss%s%s..." "Unmarking" "Flagging" "Marking" "backup file" " for deletion" "" " in region" 42 -1 126 looking-at dired-get-filename backup-file-name-p delete-char 1 "%s %s%s %s%s%s" dired-plural-s "un" "flagged" "marked"] 14 (#$ . 123713) "P"])
#@112 Change all OLD marks to NEW marks.
OLD and NEW are both characters used to mark files.

(fn &optional OLD NEW)
(defalias 'dired-change-marks #[512 "\211D\211\203!\211@\301!\203\211\302=\203\303\304\"\210A\266\202\202\210\305\306\"\307\212eb\210\310\311\307#\205[\312U\203K\313 \314\315\"\216\316\317\307\")\262\202L\307\203,\320\321\224\321\225$\210\202,*\207" [inhibit-read-only char-displayable-p 13 user-error "Invalid mark character: `%c'" format "\n%c" t search-forward nil 32 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] dired-get-filename no-dir subst-char-in-region 0] 8 (#$ . 124965) (byte-code "\301\302\303!\210\304 \302\305\"\210\304 )D\207" [cursor-in-echo-area t message "Change (old mark): " read-char "Change %c marks to (new mark): "] 4)])
(set-advertised-calling-convention 'dired-change-marks '(old new) "28.1")
#@54 Remove all marks from all files in the Dired buffer.
(defalias 'dired-unmark-all-marks #[0 "\300\301!\207" [dired-unmark-all-files 13] 2 (#$ . 125867) nil])
#@257 Remove a specific mark (or any mark) from every file.
After this command, type the mark character to remove,
or type RET to remove all marks.
With prefix arg, query for each marked file.
Type \[help-command] at that time for help.

(fn MARK &optional ARG)
(defalias 'dired-unmark-all-files #[513 "\212\305\306\307\211\310\311\"\312eb\210\313=\203\314\f\307\306#\202$\315\307\306#\203L\203=\316\306\211\"\211\2058\317\302\320#\262\203\321`S`h\322$\210T\262\202\323\324U\203W\325\202X\326\",\266\202)\207" [inhibit-read-only case-fold-search dired-unmark-all-files-query help-form dired-re-mark 0 t nil format "\n%c" "Type SPC or `y' to unmark one file, DEL or `n' to skip to next,\n`!' to unmark all remaining files with no more questions." 13 re-search-forward search-forward dired-get-filename dired-query "Unmark file `%s'? " subst-char-in-region 32 message 1 "1 mark removed" "%d marks removed"] 10 (#$ . 126031) "cRemove marks (RET means all): \nP"])
(defvar dired-log-buffer "*Dired log*")
#@184 Pop up a buffer with error log output from Dired.
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 'dired-why #[0 "\301!\205&\302 \303\301!!\304\305\"\216\306!\210db\210\307y\210\310\311!\210\312\313!)\266\202\207" [dired-log-buffer get-buffer selected-window display-buffer make-closure #[0 "\301\300!\207" [V0 select-window] 2] select-window -1 backward-page 1 recenter 0] 5 (#$ . 127059) nil])
#@23 

(fn LOG &rest ARGS)
(defalias 'dired-log #[385 "pr\302!q\210db\210\303;\203\"\203\304\305#\202c\202O\306!\203.\307!\202O\303=\205O\310\311!\210n\204?\312c\210\313 \305\314\315!\"\261\210db\210\316c*\207" [dired-log-buffer inhibit-read-only get-buffer-create t apply format-message bufferp insert-buffer-substring backward-page 1 "\n" current-time-string "	Buffer `%s'\n" buffer-name "\f\n"] 8 (#$ . 127561)])
#@243 State a summary of a command's failures, in echo area and log buffer.
STRING is an overall summary of the failures.
FAILURES is a list of file names that we failed to operate on,
or nil if file names are not applicable.

(fn STRING FAILURES)
(defalias 'dired-log-summary #[514 "\211G\301U\203$\302\303rq\210db\210\304\301!\210l\203\301y\210`d{)\"\210\2022\302\203-\305\202.\306#\210\307\310\310Q!\210\307\311!\207" [dired-log-buffer 1 message "%s" backward-page "%s--type ? for details (%s)" "%s--type ? for details" dired-log "\n" t] 6 (#$ . 128001)])
#@391 String of `ls' switches (single letters) except "t" that influence sorting.

This indicates to Dired which option switches to watch out for because they
will change the sorting order behavior of `ls'.

To change the default sorting order (e.g. add a `-v' option), see the
variable `dired-listing-switches'.  To temporarily override the listing
format, use `\[universal-argument] \[dired]'.
(defvar dired-ls-sorting-switches "SXU" (#$ . 128572))
#@51 Regexp recognized by Dired to set `by date' mode.
(defvar dired-sort-by-date-regexp (concat "\\(\\`\\| \\)-[^- ]*t[^ " dired-ls-sorting-switches "]*\\(\\(\\`\\| +\\)\\(--[^ ]+\\|-[^- t" dired-ls-sorting-switches "]+\\)\\)* *$") (#$ . 129023))
#@51 Regexp recognized by Dired to set `by name' mode.
(defvar dired-sort-by-name-regexp (concat "\\`\\(\\(\\`\\| +\\)\\(--[^ ]+\\|-[^- t" dired-ls-sorting-switches "]+\\)\\)* *$") (#$ . 129272))
#@116 Non-nil means the Dired sort command is disabled.
The idea is to set this buffer-locally in special Dired buffers.
(defvar dired-sort-inhibit nil (#$ . 129470))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable dired-switches-in-mode-line funcall function #[0 "\300\207" [nil] 1 ""] "How to indicate `dired-actual-switches' in mode-line.\nPossible values:\n * nil:      Indicate name-or-date sort order, if possible.\n             Else show full switches.\n * `as-is':  Show full switches.\n * Integer:  Show only the first N chars of full switches.\n * Function: Pass `dired-actual-switches' as arg and show result." :group dired :version "28.1" :type (choice (const :tag "Indicate by name or date, else full" nil) (const :tag "Show full switches" as-is) (integer :tag "Show first N chars of switches" :value 10) (function :tag "Format with function" :value identity))] 10)
#@66 Set mode-line according to option `dired-switches-in-mode-line'.
(defalias 'dired-sort-set-mode-line #[0 "\306=\205~\307\n\203M\310\n\250\2037G\311\n^O\211G\211\311U\203(\266\203\202I\312W\2051\313Q\266\203\202I\314\n!\203F\315\316\n!\"\202I\312PP\202y\f\307\317\320#)\266\203\203a\321\202y\307\317\320#)\266\203\203v\322\202y\323P)\324 \207" [major-mode case-fold-search dired-switches-in-mode-line dired-actual-switches dired-sort-by-name-regexp inhibit-changing-match-data dired-mode nil "Dired" 0 " " "…" functionp format " %s" t string-match "Dired by name" "Dired by date" "Dired " force-mode-line-update dired-sort-by-date-regexp mode-name] 8 (#$ . 130396)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias dired-sort-set-modeline dired-sort-set-mode-line nil make-obsolete "24.3"] 4)
#@142 Toggle sorting by date, and refresh the Dired buffer.
With a prefix argument, edit the current listing switches instead.

(fn &optional ARG)
(defalias 'dired-sort-toggle-or-edit #[256 "\203\302\303!\210\211\203\304\305\306	\"!\207\307 \207" [dired-sort-inhibit dired-actual-switches error "Cannot sort this Dired buffer" dired-sort-other read-string "ls switches (must contain -l): " dired-sort-toggle] 5 (#$ . 131255) "P"])
(defalias 'dired-sort-toggle #[0 "	\304\305\306#)\266\203\304\306\307	\"\203=\310\311	\"\312\232\2032\310\313	\"\312\232\2032\314\312\305\211	$\202\314\312\305\211	\315%\202\211\204Y	\316	\304\305\306#)\266\203\203V\317\202W\320P)\210\321 \210\322 \207" [dired-sort-by-date-regexp dired-actual-switches inhibit-changing-match-data case-fold-search nil t string-match "\\(\\`\\| \\)-\\([a-su-zA-Z]*\\)\\(t\\)\\([^ ]*\\)" match-string 2 "" 4 replace-match 3 "\\`-[[:alnum:]]+\\'" "t" " -t" dired-sort-set-mode-line revert-buffer] 9])
#@30 

(fn REGEXP NEWTEXT STRING)
(defalias 'dired-replace-in-string #[771 "\300\301\302\211\303#\203&\301\224\262\301\225\262OQ\262\211\262\202\302OP\207" ["" 0 nil string-match] 11 (#$ . 132246)])
(make-obsolete 'dired-replace-in-string 'replace-regexp-in-string "28.1")
#@311 Specify new `ls' SWITCHES for current Dired buffer.
Values matching `dired-sort-by-date-regexp' or `dired-sort-by-name-regexp'
set the minor mode accordingly, others appear literally in the mode line.
With optional second arg NO-REVERT, don't refresh the listing afterwards.

(fn SWITCHES &optional NO-REVERT)
(defalias 'dired-sort-other #[513 "\301!\210\302 \210\211\206\303 \207" [dired-actual-switches dired-sort-R-check dired-sort-set-mode-line revert-buffer] 4 (#$ . 132542)])
#@55 Value of `dired-subdir-alist' before -R switch added.
(defvar dired-subdir-alist-pre-R nil (#$ . 133035))
(make-variable-buffer-local 'dired-subdir-alist-pre-R)
#@255 Additional processing of -R in ls option string SWITCHES.
Saves `dired-subdir-alist' when R is set and restores saved value
minus any directories explicitly deleted when R is cleared.
To be called first in body of `dired-sort-other', etc.

(fn SWITCHES)
(defalias 'dired-sort-R-check #[257 "\303!\203\303!\204	\211\207\303!\205K\303!?\205K\n\203D\304\n\203<\305\n@@	\"\2035\n@B\262\nA\211\204&\306!\262\202I\306	!@C\211\207" [dired-actual-switches dired-subdir-alist dired-subdir-alist-pre-R dired-switches-recursive-p nil assoc reverse] 6 (#$ . 133203)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable dired-recursive-copies funcall function #[0 "\300\207" [top] 1 ""] "Whether Dired copies directories recursively.\nIf nil, never copy recursively.\n`always' means to copy recursively without asking.\n`top' means to ask for each directory at top level.\nAny other value means to ask for each directory." :type (choice :tag "Copy directories" (const :tag "No recursive copies" nil) (const :tag "Ask for each directory" t) (const :tag "Ask for each top directory only" top) (const :tag "Copy directories without asking" always)) :group dired] 8)
(defalias 'dired-dnd-popup-notice #[0 "\300\301!\207" [message-box "Dired recursive copies are currently disabled.\nSee the variable `dired-recursive-copies'."] 2])
#@12 

(fn URI)
(defalias 'dired-dnd-do-ask-action #[257 "\300\301\302\303\304BD\"\211\205\305\"\207" [x-popup-menu t "What action?" "" (("Copy here" . copy) ("Move here" . move) ("Link here" . link) "--" ("Cancel")) dired-dnd-handle-local-file] 6 (#$ . 134582)])
#@211 Copy, move or link a file to the Dired directory.
URI is the file to handle, ACTION is one of copy, move, link or ask.
Ask means pop up a menu for the user to select one of copy, move or link.

(fn URI ACTION)
(defalias 'dired-dnd-handle-local-file #[514 "\303\304!\210\305\306\"\211\205\307 \310!P\205\241\311=\203 \312!\207\313>\2033\314!\2033\2043\315 \207\316>\205\241\317!\205E\320\321\322\"!\323\211\203{\324\302!\203{\n\203{\325!@\211\262\203{\n\326=\204q\320\321\327\"!\203{\330\331#\210\332!\210\333\267\202\231\334#\210\202\231\335#\210\202\231\336#\210\332!\210)\266\203\207" [dired-recursive-copies dired-overwrite-confirmed dired-backup-overwrite require dired-aux dnd-get-local-file-name t dired-current-directory file-name-nondirectory ask dired-dnd-do-ask-action (copy private) file-directory-p dired-dnd-popup-notice (copy private move link) file-exists-p y-or-n-p format-message "Overwrite existing file `%s'? " nil boundp find-backup-file-name always "Make backup for existing file `%s'? " rename-file 0 dired-relist-entry #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (copy 129 private 129 move 138 link 147)) dired-copy-file dired-rename-file make-symbolic-link] 11 (#$ . 134852)])
#@286 Copy, move or link a file to the Dired directory if it is a local file.
URI is the file to handle.  If the hostname in the URI isn't local, do nothing.
ACTION is one of copy, move, link or ask.
Ask means pop up a menu for the user to select one of copy, move or link.

(fn URI ACTION)
(defalias 'dired-dnd-handle-file #[514 "\300!\211\205\301\"\207" [dnd-get-local-file-uri dired-dnd-handle-local-file] 6 (#$ . 136152)])
#@66 Auxiliary information to be saved in desktop file.

(fn DIRNAME)
(defalias 'dired-desktop-buffer-misc-data #[257 ":\203\302@\"AB\202\302\"\303\304\305\"	\"\237AB\207" [dired-directory dired-subdir-alist desktop-file-name mapcar make-closure #[257 "\301@\300\"\207" [V0 desktop-file-name] 4 "\n\n(fn F)"]] 6 (#$ . 136584)])
#@91 Restore a Dired buffer specified in a desktop file.

(fn FILE-NAME BUFFER-NAME MISC-DATA)
(defalias 'dired-restore-desktop-buffer #[771 "\211@\211:\203\f\211@\202
\211\301\302!!\203-\3031&\304!\210\305\306A\"\210p0\207\307\310\"\210\311\207\307\312\"\210\203:\313\314!\210\311\207" [desktop-missing-file-warning file-directory-p file-name-directory (debug error) dired mapc dired-maybe-insert-subdir message "Desktop: Problem restoring directory: %S" nil "Desktop: Directory %s no longer exists." sit-for 1] 9 (#$ . 136925)])
(add-to-list 'desktop-buffer-mode-handlers '(dired-mode . dired-restore-desktop-buffer))
#@618 Jump to Dired buffer corresponding to current buffer.
If in a buffer visiting a file, Dired that file's directory and
move to that file's line in the directory listing.

If the current buffer isn't visiting a file, Dired `default-directory'.

If in Dired already, pop up a level and goto old directory's line.
In case the proper Dired file line cannot be found, refresh the dired
buffer and try again.

When OTHER-WINDOW is non-nil, jump to Dired buffer in other window.

When FILE-NAME is non-nil, jump to its line in Dired.
Interactively with prefix argument, read FILE-NAME.

(fn &optional OTHER-WINDOW FILE-NAME)
(defalias 'dired-jump #[512 "\306\300!\203\203\307	!\203\310	!\207\306\302!\203(\n\203(\307!\203(\310!\207\211\2032\311!\2063\f\211\203=\312!\202>
\313=\203b\204b\314 \262\315!\210\316!?\205\230\317\312!!\210\316!\207\203m\320!\210\202q\321!\210\205\230\316!\206\230\317\312!!\210\316!\206\230\306\322!\205\230\205\230\322 \210\316!\207" [archive-subfile-mode archive-superior-buffer tar-subfile-mode tar-superior-buffer buffer-file-name default-directory boundp buffer-live-p switch-to-buffer expand-file-name file-name-directory dired-mode dired-current-directory dired-up-directory dired-goto-file dired-insert-subdir dired-other-window dired dired-omit-mode major-mode] 7 (#$ . 137558) (byte-code "\301\205\302\303!D\207" [current-prefix-arg nil read-file-name "Jump to Dired file: "] 3)])
#@82 Like \[dired-jump] (`dired-jump') but in other window.

(fn &optional FILE-NAME)
(defalias 'dired-jump-other-window #[256 "\300\301\"\207" [dired-jump t] 4 (#$ . 139024) (byte-code "\205\301\302!C\207" [current-prefix-arg read-file-name "Jump to Dired file: "] 2)])
(byte-code "\300\301!\210\302\303!\207" [provide dired run-hooks dired-load-hook] 2)

Youez - 2016 - github.com/yon3zu
LinuXploit