?
Current Path : /usr/share/emacs/24.3/lisp/ |
Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 |
Current File : //usr/share/emacs/24.3/lisp/dired.elc |
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:06:15 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/dired.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\312\313\306\301&\210\314\315\316\317\320DD\321\322\323\306\301&\210\314\324\316\317\325DD\326\306\301\322\327&\210\314\330\316\317\331DD\332\306\301\322\333&\210\314\334\316\317\335DD\336\306\301\322\337&\210\314\340\316\317\341DD\342\306\301\322\333&\210\314\343\316\317\344DD\345\306\301\322\333&\210\314\346\316\317\347DD\350\322\351\306\310&\210\314\352\316\317\353DD\354\322\355\306\301&\210\314\356\316\317\357DD\360\322\361\306\310&\210\314\362\316\317\363DD\364\322\365\306\310&\210\314\366\316\317\367DD\370\322\371\306\310&\210\314\372\316\317\373DD\374\322\375\306\310&\210\314\376\316\317\377DD\201@ \322\351\306\301&\210\314\201A \316\317\201B DD\201C \322\351\306\301&\210\201D \201E \201F \"\210\201D \201G \201H \"\210\314\201I \316\317\201J DD\201K \306\301\322\201L &\210\314\201M \316\317\201N DD\201O \306\301\322\201L &\210\314\201P \316\317\201Q DD\201R \306\301\322\201L &\210\314\201S \316\317\201T DD\201U \306\301\322\201L &\210\314\201V \316\317\201W DD\201X \322\201Y \201Z \201[ \306\301& \207" [custom-declare-group dired nil "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 "\n\n(fn)"] "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.\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 "\n\n(fn)"] "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-chown-program #[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 "\n\n(fn)"] "Name of chown command (usually `chown')." file dired-use-ls-dired #[0 "\300\207" [unspecified] 1 "\n\n(fn)"] "Non-nil means Dired should pass the \"--dired\" option to \"ls\".\nThe special value of `unspecified' means to check explicitly, and\nsave the result in this variable. This is performed the first\ntime `dired-insert-directory' is called.\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 "Check for --dired support" unspecified) (const :tag "Do not use --dired" nil) (other :tag "Use --dired" t)) dired-chmod-program #[0 "\300\207" ["chmod"] 1 "chmod\n\n(fn)"] "Name of chmod command (usually `chmod')." dired-touch-program #[0 "\300\207" ["touch"] 1 "touch\n\n(fn)"] "Name of touch command (usually `touch')." dired-ls-F-marks-symlinks #[0 "\300\207" [nil] 1 "\n\n(fn)"] "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).\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-trivial-filenames #[0 "\300\301!\207" [purecopy "^\\.\\.?$\\|^#"] 2 "\n\n(fn)"] "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 "\n\n(fn)"] "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 "\n\n(fn)"] "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 "\n\n(fn)"] "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 "\n\n(fn)"] "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 "\n\n(fn)"] "If non-nil, Dired tries to guess a default target directory.\nThis means: if there is a Dired buffer displayed in the next\nwindow, use its current directory, instead of this Dired buffer's\ncurrent directory.\n\nThe target is used in the prompt for file copy, rename etc." dired-copy-preserve-time #[0 "\300\207" [t] 1 "\n\n(fn)"] "If non-nil, Dired preserves the last-modified time in a file copy.\n(This works on only some systems.)" defvaralias dired-free-space-program directory-free-space-program dired-free-space-args directory-free-space-args dired-load-hook #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Run after loading Dired.\nYou can customize key bindings or load extensions with this." hook dired-mode-hook #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Run at the very end of `dired-mode'." dired-before-readin-hook #[0 "\300\207" [nil] 1 "\n\n(fn)"] "This hook is run before a dired buffer is read in (created or reverted)." dired-after-readin-hook #[0 "\300\207" [nil] 1 "\n\n(fn)"] "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-dnd-protocol-alist #[0 "\300\207" [(("^file:///" . dired-dnd-handle-local-file) ("^file://" . dired-dnd-handle-file) ("^file:" . dired-dnd-handle-local-file))] 1 "\n\n(fn)"] "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)) :version "22.1"] 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 (#$ . 8345)) #@44 Character used to flag files for deletion. (defvar dired-del-marker 68 (#$ . 8504)) #@73 Non-nil means Dired shrinks the display buffer to fit the marked files. (defvar dired-shrink-to-fit t (#$ . 8594)) (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 (#$ . 8966)) #@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\300W\205 \301\302\"\207" [100 string-match "\\` *-[- [:alnum:]]+\\'"] 4 (#$ . 9284)]) #@72 The value of `dired-listing-switches' used to make this buffer's text. (defvar dired-actual-switches nil (#$ . 9526)) (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 ]*" (#$ . 9723)) (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-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 "^.* \\.\\.?/?$") #@237 Association list of subdirectories and their buffer positions. Each subdirectory has an element: (DIRNAME . STARTMARKER). The order of elements is the reverse of the order in the buffer. In simple cases, this list contains one element. (defvar dired-subdir-alist nil (#$ . 10402)) #@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 (#$ . 10690)) (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) #@278 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 (\n or \r). Subexpression 2 must end right before the \n or \r. (defvar dired-subdir-regexp "^. \\([^\n ]+\\)\\(:\\)[\n ]" (#$ . 11041)) (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 (#$ . 11692)) (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 (#$ . 11931)) (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 (#$ . 12147)) (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 (#$ . 12381)) (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 (#$ . 12675)) (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 (#$ . 13037)) (custom-declare-face 'dired-directory '((t (:inherit font-lock-function-name-face))) "Face used for subdirectories." :group 'dired-faces :version "22.1") #@36 Face name used for subdirectories. (defvar dired-directory-face 'dired-directory (#$ . 13326)) (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 (#$ . 13573)) (custom-declare-face 'dired-ignored '((t (:inherit shadow))) "Face used for files suffixed with `completion-ignored-extensions'." :group 'dired-faces :version "22.1") #@73 Face name used for files suffixed with `completion-ignored-extensions'. (defvar dired-ignored-face 'dired-ignored (#$ . 13837)) #@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 \320D\321D\322\323\f\324R\325D\326D\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) (".+" (dired-move-to-filename) nil (0 dired-directory-face)) (".+" (dired-move-to-filename) nil (0 dired-symlink-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))) ".*:$" (".+" (dired-move-to-filename) nil (0 'default)) (1 dired-header-face) dired-re-sym dired-re-perms dired-subdir-regexp] 13) (#$ . 13971)) #@337 Mark all files for which PREDICATE evals to non-nil. 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'. 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\314\n\315BB\316BBB\314\305\317\320\f\321BBBBE\257\322BBB\207" [let ((inhibit-read-only t) count) save-excursion (setq count 0) when message "%s %ss%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="")) (goto-char (point-min)) while (not (eobp)) if ((progn (delete-char 1) (insert dired-marker-char) (setq count (1+ count)))) ((forward-line 1)) "%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")) ((and (> count 0) count))] 16 (#$ . 15189)])) #@1155 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\311\303\312BB\313\314\315\316BBEFDE\303\317 \320BB\321BBE\322\fDF\301\323\324\325\326\327\330\331\303\332BB\313\314\315\333BBE\334BBBBBF\303\335\336BB\337BB\303\340\314\322DF\257FE\341BB\207" [prog1 let ((inhibit-read-only t) case-fold-search found results) if integerp progn dired-repeat-over-lines function 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 (#$ . 16313)])) #@850 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. Any other non-nil value means to use the current file instead. 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. (fn &optional LOCALP ARG FILTER DISTINGUISH-ONE-MARKED) (defalias 'dired-get-marked-files #[1024 "\212\302\303\304\303\211\211C\303\262\303\262\203L \250\203C \305 \306\307\310\311\312\"\313\"\314\315%\"\210\307W\203>