home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / msdos / demacs / edired / dired.elc < prev    next >
Encoding:
Text File  |  1991-11-21  |  58.6 KB  |  818 lines

  1.  
  2. (provide (quote dired))
  3.  
  4. (defconst dired-version (substring "$Revision: 4.53 $" 11 -2) "\
  5. The revision number of dired (as string).  The complete RCS id is:
  6.  
  7.   $Id: dired.el,v 4.53 90/12/21 12:09:56 sk Exp $
  8.  
  9. Don't forget to mention this when reporting bugs.")
  10.  
  11. (require (quote emacs-19))
  12.  
  13. (defvar dired-chmod-program "chmod" "\
  14. Pathname of chmod command.")
  15.  
  16. (defvar dired-chgrp-program "chgrp" "\
  17. Pathname of chgrp command.")
  18.  
  19. (defvar dired-chown-program (if (memq system-type (quote (hpux usg-unix-v))) "/bin/chown" "/etc/chown") "\
  20. Pathname of chown command.")
  21.  
  22. (defvar dired-ls-program "ls" "\
  23. *Absolute or relative name of the ls program used by dired.")
  24.  
  25. (defvar dired-ls-F-marks-symlinks nil "\
  26. *Set this to t if dired-ls-program with -lF marks the symbolic link
  27. itself with a trailing @ (usually the case under Ultrix).
  28.  
  29. Example: if `ln -s foo bar; ls -F bar' gives `bar -> foo', set it to
  30. nil (the default), if it gives `bar@ -> foo', set it to t.
  31.  
  32. Dired checks if there is really a @ appended.  Thus, if you have a
  33. marking ls program on one host and a non-marking on another host, and
  34. don't care about symbolic links which really contain a trailing @, you
  35. can always set this variable to t.")
  36.  
  37. (defvar dired-directory nil "\
  38. The directory name or shell wildcard passed as argument to ls.
  39. Local to each dired buffer.")
  40.  
  41. (defvar dired-actual-switches nil "\
  42. The actual (buffer-local) value of dired-listing-switches.")
  43.  
  44. (defvar dired-re-inode-size "\\s *[0-9]*\\s *[0-9]* ?")
  45.  
  46. (defconst dired-re-mark "^[^ 
  47. ]")
  48.  
  49. (defconst dired-re-maybe-mark "^. ")
  50.  
  51. (defconst dired-re-dir (concat dired-re-maybe-mark dired-re-inode-size "d[-r]"))
  52.  
  53. (defconst dired-re-sym (concat dired-re-maybe-mark dired-re-inode-size "l[-r]"))
  54.  
  55. (defconst dired-re-exe (mapconcat (function (lambda (x) (concat dired-re-maybe-mark dired-re-inode-size x))) (quote ("-[-r][-w][xs][-r][-w].[-r][-w]." "-[-r][-w].[-r][-w][xs][-r][-w]." "-[-r][-w].[-r][-w].[-r][-w][xst]")) "\\|"))
  56.  
  57. (defconst dired-re-dot "^.* \\.\\.?$")
  58.  
  59. (defvar dired-mark-prefix "" "\
  60. *Prepended to marked files.")
  61.  
  62. (defvar dired-mark-postfix "" "\
  63. *Appended to marked files.")
  64.  
  65. (defvar dired-mark-separator " " "\
  66. *Separates marked files.")
  67.  
  68. (defvar dired-background-prompt "Background shell command on %s: " "\
  69. *Format string for \\[dired-mark-background-shell-command] prompt.")
  70.  
  71. (defvar dired-shell-prompt "Shell command on %s: " "\
  72. *Format string for \\[dired-mark-shell-command] prompt.")
  73.  
  74. (defvar shell-maximum-command-length 10000 "\
  75. *If non-nil, maximum number of bytes a dired shell command can have
  76. before the user is asked for confirmation.")
  77.  
  78. (defvar dired-print-command "print %s" "\
  79. Format string for shell command to print files in dired.
  80. Can actually be used for any special purpose shell command to be run
  81. by \\[dired-mark-print].")
  82.  
  83. (defvar dired-trivial-filenames "^\\.\\.?$\\|^#" "\
  84. *Regexp of files to skip when moving point to the first file of a
  85. new directory listing.
  86. Nil means move to the subdir line, t means move to first file.")
  87.  
  88. (defvar dired-basename-regexp "\\(.+\\)\\.\\(.+\\)$")
  89.  
  90. (or (fboundp (quote dired-yes)) (fset (quote dired-yes) (quote yes-or-no-p)))
  91.  
  92. (defvar dired-load-hook nil "\
  93. Run after loading dired.
  94. You can customize key bindings or load extensions with this.")
  95.  
  96. (defvar dired-mode-hook nil "\
  97. Run in each new dired buffer.")
  98.  
  99. (defvar dired-readin-hook nil "\
  100. After each listing of a file or directory, this hook is run
  101. with the buffer narrowed to the listing.")
  102.  
  103. (defvar dired-mark-count 0 "\
  104. Count of marked files as determined by the last dired-mark-get-files.")
  105.  
  106. (defvar dired-mark-files nil "\
  107. List of marked files as determined by the last dired-mark-get-files.")
  108.  
  109. (defvar dired-flagging-regexp nil "\
  110. Last regexp used in flagging files.")
  111.  
  112. (defmacro dired-count-up nil (byte-code "└ç" [(setq dired-mark-count (1+ dired-mark-count))] 1))
  113.  
  114. (defun dired-plural-s nil (byte-code "┴Uâ
  115. ┬é ├ç" [dired-mark-count 1 "" "s"] 2))
  116.  
  117. (defmacro dired-mark-if (predicate msg) (byte-code "┬├─┼╞╟╚E╔╩╦╠    ═E╬F╧╨C╤#&Eç" [msg predicate let ((buffer-read-only nil)) list save-excursion (setq dired-mark-count 0) message "0 %ss..." (goto-char (point-min)) while (not (eobp)) if (progn (delete-char 1) (insert dired-marker-char) (setq dired-mark-count (1+ dired-mark-count))) (forward-line 1) append (message "%s %s%s %s%s." dired-mark-count) ((dired-plural-s) (if (eq dired-marker-char 32) "un" "") (if (eq dired-marker-char 68) "flagged" "marked"))] 12))
  118.  
  119. (defmacro dired-mark-map (body arg) (byte-code "┴┬├─┼┴╞╟╚├╔╩╦╠═&EE╬╧E%Eç" [body let (buffer-read-only found) list if arg (opoint (regexp (dired-marker-regexp))) save-excursion (goto-char (point-min)) while (re-search-forward regexp nil t) (setq opoint (point)) (goto-char opoint) (setq found t) or found] 17))
  120.  
  121. (defun dired-ls (file &optional switches wildcard full-directory-p) (byte-code "?â╦    
  122. $éV
  123. å
  124. ëê â@╠    !═╚╔╚
  125. ╬=â0╧é1╨╤╥
  126. ╙╘    !%&)éV═╚╔╚
  127. 
  128. ╬=âS╒    !éT    &ç" [dired-ls-program file switches wildcard full-directory-p dired-listing-switches default-directory shell-file-name nil t system-type dos-dired-ls file-name-directory call-process ms-dos "/c" "-c" concat " -d " " " file-name-nondirectory directory-file-name] 15))
  129.  
  130. (defun dired-call-process (program discard &rest arguments) (byte-code "─!â┼╞┴
  131. ?┴ &é
  132. ?à╟cç" [program nil discard arguments file-exists-p apply call-process "Command not found."] 8))
  133.  
  134. (defconst dired-log-buf "*Dired log*")
  135.  
  136. (defun dired-why nil "\
  137. Pop up a buffer with error log output from Dired's last subprocesses." (interactive) (byte-code "┴ê┬!ç" [dired-log-buf nil pop-to-buffer] 2))
  138.  
  139. (defun dired-check-process-handler nil (byte-code "    è╞!qêdbê╟╚╔ ╩
  140. ╦%ê╠ !)ê═╬ #ê╧╨!ê┼)ç" [log-buf dired-log-buf program err-buffer msg nil get-buffer-create insert "
  141.     " current-time-string "    (" ")
  142. " insert-buffer message "%s... error - type W or see buffer %s" sit-for 1] 8))
  143.  
  144. (defun dired-check-process (program msg &rest arguments) (byte-code "──╟╚
  145. \"êè╔╩!ëêqê╦ ê╠═ ─
  146. $ê╬╧╨ \"ë)ê    â/╤ é9╥!ê╟╙
  147. \"ê╞*ç" [err-buffer err msg program nil arguments t message "%s..." get-buffer-create " *dired-check-process output*" erase-buffer apply dired-call-process /= 0 buffer-size dired-check-process-handler kill-buffer "%s... done."] 11))
  148.  
  149. (defun dired-insert-headerline (dir) (byte-code "┴┬├!─#êè┼c)ç" [dir insert "  " directory-file-name ":" "
  150. "] 5))
  151.  
  152. (defun dired-readin (dirname buffer) (byte-code "è╚╔\"ê    qê├╩ ê╦ ê╠!ëê ═=â%╬
  153.     #éL╧!â4╨
  154. ├╞$éL╤╥╙!!!?âG╘╒╓#éL╨
  155. ╞#êebê╫ed╪#ê┘┌!êebê█!)ê▄├!ê╚▌\")ç" [dirname buffer buffer-read-only nil system-type dired-actual-switches t default-directory message "Reading directory %s..." widen erase-buffer expand-file-name vax-vms vms-read-directory file-directory-p dired-ls file-readable-p directory-file-name file-name-directory insert "Directory " " inaccessible or nonexistent.
  156. " indent-rigidly 2 run-hooks dired-readin-hook dired-insert-headerline set-buffer-modified-p "Reading directory %s...done"] 19))
  157.  
  158. (defun dired-find-buffer (dirname) (byte-code "╞ ┼à-è@qê
  159. ╟=à╚ \"â$@┼ëé(Aë)êéê    å7╔╩ !!*ç" [blist found major-mode dired-directory dirname nil buffer-list dired-mode equal create-file-buffer directory-file-name] 5))
  160.  
  161. (defun dired-read-dir-and-switches (str) (byte-code "┼╞╟\"┴
  162. ┴$ à╚╔ \"Dç" [str nil default-directory current-prefix-arg dired-listing-switches read-file-name format "Dired %s (directory): " read-string "Dired listing switches: "] 6))
  163.  
  164. (defun dired (dirname &optional switches) "\
  165. `Edit' directory DIRNAME--delete, rename, print, etc. some files in it.
  166. Prefix arg lets you change the buffer local value of dired-actual-switches.
  167. Dired displays a list of files in DIRNAME (which may also have
  168.   shell wildcards appended to select certain files).
  169. You can move around in it with the usual commands.
  170. You can flag files for deletion with C-d and then delete them by
  171.   typing `x'. 
  172. Type `h' after entering dired for more info." (interactive (byte-code "└┴!ç" [dired-read-dir-and-switches ""] 2)) (byte-code "┬ê├─    \"!ç" [dirname switches nil switch-to-buffer dired-noselect] 4))
  173.  
  174. (defun dired-other-window (dirname &optional switches) "\
  175. `Edit' directory DIRNAME.  Like M-x dired but selects in another window." (interactive (byte-code "└┴!ç" [dired-read-dir-and-switches "in other window "] 2)) (byte-code "┬ê├─    \"!ç" [dirname switches nil switch-to-buffer-other-window dired-noselect] 4))
  176.  
  177. (defun dired-noselect (dirname &optional switches) (byte-code "å    ëê├─!!ëê┼!à╞!ëê╟
  178. \"ç" [dirname default-directory switches expand-file-name directory-file-name file-directory-p file-name-as-directory dired-internal-noselect] 7))
  179.  
  180. (defun dired-internal-noselect (dirname &optional switches) (byte-code "╟    !p å
  181. ëêèqê╚    !â    é╔    !ëê ╩    \")ê╦     \")ê╠Äqêebê═ )ê*ç" [buffer dirname old-buf switches dired-listing-switches default-directory dired-actual-switches dired-find-buffer file-directory-p file-name-directory dired-readin dired-mode ((byte-code "qç" [old-buf] 1)) dired-initial-position] 7))
  182.  
  183. (defun dired-remember-marks nil (byte-code "───╞ ─┼#à$╟─┼\"ëà h    B
  184. Bëêéê
  185. +ç" [fil chr alist dired-re-mark nil t re-search-forward dired-get-filename] 5))
  186.  
  187. (defun dired-mark-remembered (alist) (byte-code "─── à- @ A@Aëê┼    !à)è╞ ê╟╚!ê
  188. c)êé+ç" [elt fil chr alist nil dired-goto-file beginning-of-line delete-char 1] 5))
  189.  
  190. (defun dired-revert (&optional arg noconfirm) (byte-code "`╬┬├\"┬╧!A┬à╨ed╤╥$ê╙bê╘ ëê╒    p\"ê╓ ê╫╪ \"ë
  191. ê┘ ê╫┌ \"åd┬┬
  192. 
  193. àc
  194. @
  195. A @ë
  196. ê┬█▄ÅêéI*ê▌ !ê    àp▐    !åubê▀ -ê├ëç" [opoint ofile nil t mark-alist old-subdir-alist dired-subdir-alist buffer-read-only selective-display dired-directory dired-used-F dired-actual-switches elt dir dired-get-filename reverse subst-char-in-region 13 10 1 dired-remember-marks dired-readin dired-advertise string-match "F" dired-build-subdir-alist "R" (byte-code "┴!ç" [dir dired-insert-subdir] 2) ((error (byte-code "└ç" [nil] 1))) dired-mark-remembered dired-goto-file dired-move-to-filename] 14))
  197.  
  198. (defvar dired-mode-map nil "\
  199. Local keymap for dired-mode buffers.")
  200.  
  201. (if dired-mode-map nil (setq dired-mode-map (make-keymap)) (suppress-keymap dired-mode-map) (define-key dired-mode-map " " (quote dired-next-line)) (define-key dired-mode-map "!" (quote dired-mark-shell-command)) (define-key dired-mode-map "#" (quote dired-flag-auto-save-files)) (define-key dired-mode-map "$" (quote dired-hide-subdir)) (define-key dired-mode-map "&" (quote dired-mark-background-shell-command)) (define-key dired-mode-map "*" (quote dired-mark-executables)) (define-key dired-mode-map "+" (quote dired-create-directory)) (define-key dired-mode-map "." (quote dired-clean-directory)) (define-key dired-mode-map "/" (quote dired-mark-dirlines)) (define-key dired-mode-map "<" (quote dired-prev-dirline)) (define-key dired-mode-map "=" (quote dired-hide-all)) (define-key dired-mode-map ">" (quote dired-next-dirline)) (define-key dired-mode-map "?" (quote dired-summary)) (define-key dired-mode-map "@" (quote dired-mark-symlinks)) (define-key dired-mode-map "B" (quote dired-mark-byte-recompile)) (define-key dired-mode-map "C" (quote dired-mark-compress)) (define-key dired-mode-map "D" (quote dired-diff)) (define-key dired-mode-map "F" (quote dired-flag-regexp-files)) (define-key dired-mode-map "G" (quote dired-mark-chgrp)) (define-key dired-mode-map "K" (quote dired-kill-subdir)) (define-key dired-mode-map "L" (quote dired-mark-load)) (define-key dired-mode-map "M" (quote dired-mark-chmod)) (define-key dired-mode-map "O" (quote dired-mark-chown)) (define-key dired-mode-map "P" (quote dired-mark-print)) (define-key dired-mode-map "R" (quote dired-rename-regexp)) (define-key dired-mode-map "S" (quote dired-sort-other)) (define-key dired-mode-map "U" (quote dired-mark-uncompress)) (define-key dired-mode-map "W" (quote dired-why)) (define-key dired-mode-map "X" (quote dired-mark-delete)) (define-key dired-mode-map "" (quote dired-backup-unflag)) (define-key dired-mode-map "" (quote dired-undo)) (define-key dired-mode-map "" (quote dired-flag-file-deleted)) (define-key dired-mode-map "" (quote dired-next-line)) (define-key dired-mode-map "" (quote dired-previous-line)) (define-key dired-mode-map "u" (quote dired-undo)) (define-key dired-mode-map " " (quote dired-unflag-all-files)) (define-key dired-mode-map "τ" (quote dired-goto-file)) (define-key dired-mode-map "Σ" (quote dired-down-subdir)) (define-key dired-mode-map "╟" (quote dired-goto-subdir)) (define-key dired-mode-map "δ" (quote dired-mark-kill)) (define-key dired-mode-map "φ" (quote dired-mark-files)) (define-key dired-mode-map "ε" (quote dired-next-subdir)) (define-key dired-mode-map "≡" (quote dired-prev-subdir)) (define-key dired-mode-map "⌡" (quote dired-up-subdir)) (define-key dired-mode-map "■" (quote dired-backup-diff)) (define-key dired-mode-map "^" (quote dired-up-directory)) (define-key dired-mode-map "c" (quote dired-mark-copy)) (define-key dired-mode-map "d" (quote dired-flag-file-deleted)) (define-key dired-mode-map "e" (quote dired-find-file)) (define-key dired-mode-map "f" (quote dired-find-file)) (define-key dired-mode-map "g" (quote revert-buffer)) (define-key dired-mode-map "h" (quote describe-mode)) (define-key dired-mode-map "i" (quote dired-insert-subdir)) (define-key dired-mode-map "k" (quote dired-kill-line)) (define-key dired-mode-map "l" (quote dired-mark-redisplay)) (define-key dired-mode-map "m" (quote dired-mark-subdir-or-file)) (define-key dired-mode-map "n" (quote dired-next-line)) (define-key dired-mode-map "o" (quote dired-find-file-other-window)) (define-key dired-mode-map "p" (quote dired-previous-line)) (define-key dired-mode-map "q" (quote kill-buffer)) (define-key dired-mode-map "r" (quote dired-mark-move)) (define-key dired-mode-map "s" (quote dired-sort-toggle)) (define-key dired-mode-map "u" (quote dired-unflag)) (define-key dired-mode-map "v" (quote dired-view-file)) (define-key dired-mode-map "w" (quote dired-copy-filename-as-kill)) (define-key dired-mode-map "x" (quote dired-do-deletions)) (define-key dired-mode-map "z" (quote bury-buffer)) (define-key dired-mode-map "~" (quote dired-flag-backup-files)))
  202.  
  203. (put (quote dired-mode) (quote mode-class) (quote special))
  204.  
  205. (defun dired-mode (&optional dirname switches) "\
  206. Mode for `editing' directory listings.
  207. In dired, you are `editing' a list of the files in a directory and
  208. (optionally) its subdirectories.
  209. You can move using the usual cursor motion commands.
  210. Letters no longer insert themselves.  Digits are prefix arguments.
  211. Instead, type d to flag a file for Deletion.
  212. Type m to mark a file or subdirectory for later commands.
  213.   Most commands operate on the marked files and use the current file
  214.   if no files are marked (or a prefix argument is given).
  215. Type u to Unflag a file (remove its D flag or any mark).
  216.   Type DEL to back up one line and unflag.
  217. Type x to eXecute the deletions requested.
  218. Type f to Find the current line's file
  219.   (or dired it in another buffer, if it is a directory).
  220. Type i to dired a subdirectory In situ and K to kill it again or ^ to
  221.   go back.  Type v to view a file or its in situ subdirectory.
  222. Type ^ to go to the parent directory.
  223. Type < and > to move to file lines that are directories.
  224. Type M-n, M-p, M-u, M-d to move to in situ subdirectory headerlines.
  225. Type M-g to go to a file's line, M-G to go to a subdir headerline.
  226. Type o to find file or dired directory in Other window.
  227. Type # to flag temporary files (names beginning with #) for deletion.
  228. Type ~ to flag backup files (names ending with ~) for deletion.
  229. Type . to flag numerical backups for deletion.
  230.   (Spares dired-kept-versions (or prefix argument) recent versions.)
  231. Type + to create a new directory.
  232. Type r to Rename a file or move the marked files to another directory.
  233. Type c to Copy files.
  234. Type D to Diff a file, M-~ to diff it with its backup.
  235. Type l to reList files or subdirectories.
  236. Type s to toggle sorting by name/date, S to set dired-actual-switches.
  237. Type g to read all directories again.  This retains all marks.
  238. Space and Rubout can be used to move down and up by lines.
  239. Also:
  240.  C      -- compress files          U -- uncompress files
  241.  !      -- run shell command on files    & -- background shell command
  242.  M, G, O -- change mode, group or owner of files
  243.  L, B      -- load or byte-compile emacs lisp files
  244.  F, M-m  -- flag (`D') or mark (`*') files matching a regexp
  245.  *, @, / -- (un)mark executables, symbolic links, directories
  246.  $, =      -- (un)hide this or all subdirectories
  247.  X       -- delete marked files
  248.  
  249. If dired ever gets confused, you can either type \\[dired-revert] to read the
  250. directories again, type \\[dired-mark-redisplay] to relist a single file or subdirectory, or
  251. type \\[dired-build-subdir-alist] to parse the buffer again for the
  252. directory tree.
  253.  
  254. Hooks: dired-load-hook, dired-mode-hook, dired-readin-hook (q.v.)
  255.  
  256. \\{dired-mode-map}" (interactive) (byte-code "═ê╘ ê╒└!ê╓ëê╫ëê╪ëê╒├!ê å
  257. ëê╒╞!ê ëê╒╟!êå5    ëê╒┘!┌█\"Lê▄ ▌QCë
  258. ê═ë ê╧ëê▐!ê╒╙!ê╧ëê▀ ê╒╥!ê═ëêα ê╒ß!êß êΓBëêπΣ!ç" [revert-buffer-function major-mode mode-name dired-directory dirname default-directory list-buffers-directory dired-actual-switches switches dired-listing-switches mode-line-buffer-identification dired-version case-fold-search nil buffer-read-only t dired-mode-map selective-display dired-subdir-alist minor-mode-alist kill-all-local-variables make-local-variable dired-revert dired-mode "Dired" dired-used-F string-match "F" "Dired " " (beta): %17b" use-local-map dired-advertise dired-build-subdir-alist dired-sort-mode (dired-sort-mode dired-sort-mode) run-hooks dired-mode-hook] 16))
  259.  
  260. (defun dired-repeat-over-lines (arg function) (byte-code "┬ ê├Và m?à8Sëê┬ êm?à─ à'┼╞!êéêè╟    !)ê┼╞!ê╚ êéê├WàAo?ànTëê┼╔!êo?àT─ à^┼╔!êéMê┬ êè╟    !)ê╚ êé9ç" [arg function beginning-of-line 0 dired-between-files forward-line 1 funcall dired-move-to-filename -1] 15))
  261.  
  262. (defun dired-flag-file-deleted (arg) "\
  263. In dired, flag the current line's file for deletion.
  264. With arg, repeat over several lines." (interactive "p") (byte-code "┴ê┬├\"ç" [arg nil dired-repeat-over-lines (lambda nil (let ((buffer-read-only nil)) (delete-char 1) (insert "D") nil))] 3))
  265.  
  266. (defun dired-read-regexp (prompt) (byte-code "┬    \"ëç" [dired-flagging-regexp prompt read-string] 3))
  267.  
  268. (defun dired-flag-regexp-files (regexp &optional arg marker-char) "\
  269. In dired, flag all files containing the specified REGEXP for deletion.
  270. Use `^' and `$' if the match should span the whole (non-directory
  271.   part) of the filename.   Exclude subdirs by hiding them.
  272. Directories are not flagged unless a prefix argument is given." (interactive (byte-code "┴┬!Dç" [current-prefix-arg dired-read-regexp "Flagging regexp: "] 3)) (byte-code "─ê
  273. å╔─è╩ëê╦╠═\"êebêm?àHå&╬!?à2l?à2╧!à@╨╤!ê    cê
  274. Tëê╥╤!êéê╦╙
  275. ═╘     ╒=âY╓éZ╫    ╔=âd╪ée┘&)))ç" [current-prefix-arg dired-marker-char marker-char buffer-read-only nil dired-mark-count arg dired-re-dir regexp 68 0 message "0 %ss..." "matching file" looking-at dired-this-file-matches delete-char 1 forward-line "%s %s%s %s%s." dired-plural-s 32 "un" "" "flagged" "marked"] 14))
  276.  
  277. (defun dired-summary nil (interactive) (byte-code "└ê┴┬!ç" [nil message "d-elete, u-ndelete, x-ecute, f-ind, o-ther window, r-ename, c-opy, h-elp"] 2))
  278.  
  279. (defun dired-unflag (arg) "\
  280. In dired, remove the current line's delete flag then move to next line." (interactive "p") (byte-code "┴ê┬├\"ç" [arg nil dired-repeat-over-lines (lambda nil (let ((buffer-read-only nil)) (delete-char 1) (insert " ") (forward-char -1) nil))] 3))
  281.  
  282. (defun dired-backup-unflag (arg) "\
  283. In dired, move up a line and remove deletion flag there." (interactive "p") (byte-code "┴ê┬[!ç" [arg nil dired-unflag] 2))
  284.  
  285. (defun dired-next-line (arg) "\
  286. Move down ARG lines then position at filename." (interactive "p") (byte-code "┴ê┬!ê├ ç" [arg nil next-line dired-move-to-filename] 3))
  287.  
  288. (defun dired-previous-line (arg) "\
  289. Move up ARG lines then position at filename." (interactive "p") (byte-code "┴ê┬!ê├ ç" [arg nil previous-line dired-move-to-filename] 3))
  290.  
  291. (defun dired-up-directory nil "\
  292. Dired parent directory.  Tries first to find it in this buffer." (interactive) (byte-code "├ê─┼ ╞╟    \"!ëê╚╔    !!å\"╩╟╦╠┬$!!*ç" [fn dir t nil ".." dired-current-directory file-name-as-directory expand-file-name dired-goto-file directory-file-name dired read-file-name "Dired: "] 12))
  293.  
  294. (defun dired-find-file nil "\
  295. In dired, visit the file or directory named on this line." (interactive) (byte-code "└ê┴┬ !ç" [nil find-file dired-get-filename] 3))
  296.  
  297. (defun dired-view-file nil "\
  298. In dired, examine a file in view mode, returning to dired when done.
  299. When file is a directory, tries to go to its in situ subdirectory." (interactive) (byte-code "┴ê┬├ !â─├ !å┼╞├└!\"é╟├ !ç" [t nil file-directory-p dired-get-filename dired-goto-subdir message "Directory %s not inserted - type i to insert or f to dired." view-file] 9))
  300.  
  301. (defun dired-find-file-other-window nil "\
  302. In dired, visit this file or directory in another window." (interactive) (byte-code "└ê┴┬ !ç" [nil find-file-other-window dired-get-filename] 3))
  303.  
  304. (defun dired-get-filename (&optional localp no-error-if-not-filep) "\
  305. In dired, return name of file mentioned on this line.
  306. Value returned normally includes the directory name.
  307. A non-nil 1st argument means use path name relative to
  308.   default-directory, which may contain slashes if in a subdirectory.
  309. A non-nil 2nd argument says return nil if no filename on this line,
  310.   otherwise an error occurs." (byte-code "┴┴┴┴è╟
  311. ?!ëà╚
  312. !ë)ê à% à%╔ \"ëê
  313. à3╩
  314. ╦!\",ç" [case-fold-search nil file p1 p2 no-error-if-not-filep localp dired-move-to-filename dired-move-to-end-of-filename buffer-substring dired-make-absolute dired-current-directory] 7))
  315.  
  316. (defun dired-move-to-filename (&optional raise-error eol) "\
  317. In dired, move to first char of filename on this line.
  318. Returns position (point) or nil if no filename on this line." (byte-code "å
  319. ┼ ê`ëê╞ ê    ╟=â0╚╔┬#â\"╩╦!é- â,╠═!é-─éU╚╬┬#âJ╧╨!ê╧╤\"ê╧╨\"ê`éU âT╠═!éU─ç" [eol system-type t raise-error nil end-of-line beginning-of-line vax-vms re-search-forward ". [][.A-Z-0-9_$;<>]" backward-char 1 error "No file on this line." "\\(Jan\\|Feb\\|Mar\\|Apr\\|May\\|Jun\\|Jul\\|Aug\\|Sep\\|Oct\\|Nov\\|Dec\\)[ ]+[0-9]+" skip-chars-forward " " "^ "] 11))
  320.  
  321. (defun dired-move-to-end-of-filename (&optional no-error eol) (byte-code "╚╚╚╚╚`ëê
  322. åè═ ê`)ëêà'è╬╧
  323. ╟#)ëê â2╚é─    ╨=âA╤╥
  324. ╟#é─è╙╘╚╟#åR
  325. åR╒╓!ê╫╪┘!┌┘!\"█    ▄\"▌▐╫╪▀!┌▀!\"╫╪α!┌α!\"╫╪ß!┌ß!\"Q\"ë)ê âó╤Γ
  326. ╟#àƒπΣ!ê àÖhσ=àƒπµ!éñ
  327. bê à╛█    τ\"å╛█    Φ\"å╛ ?à╛
  328. à─πµ!ê
  329. å▄`=?å▄╒ â┌Θé█╓!ê`=âτ╚éΦ`-ç" [opoint flag ex sym hidden eol selective-display t nil system-type no-error dired-ls-F-marks-symlinks dired-used-F end-of-line search-forward "
  330. " vax-vms re-search-forward "[][.A-Z-0-9_$;<>]+" re-search-backward "\\(.\\)[-r][-w]\\(.\\)[-r][-w]\\(.\\)[-r][-w]\\(.\\)" error "No file on this line." buffer-substring match-beginning 1 match-end string= "l" string-match "[xst]" 2 3 4 " ->" forward-char -3 64 -1 "d" "s" "File line is hidden, type $ to unhide."] 28))
  331.  
  332. (defun dired-map-dired-file-lines (fn) (byte-code "è├├├ebêm?à<è╟ !?à3l?à3╚┼┼\"╚├┼\"ëà3╔ ê╩    #)ê╦╠!êé
  333. +)ç" [filename longfilename buffer-read-only nil dired-re-dir t fn looking-at dired-get-filename end-of-line funcall forward-line 1] 9))
  334.  
  335. (defun dired-clean-directory (keep) "\
  336. Flag numerical backups for deletion.
  337. Spares dired-kept-versions latest versions, and kept-old-versions oldest.
  338. Positive numeric arg overrides dired-kept-versions;
  339. negative numeric arg overrides kept-old-versions with minus the arg.
  340.  
  341. To clear the flags on these files, you can use \\[dired-flag-backup-files]
  342. with a prefix argument." (interactive "P") (byte-code "╞êâ ╩!é
  343.     ëê╦Wâ[é ╦Xâ&    é'╞╠═!ê
  344. àt╬╧@A╨\"BG        
  345. \\Và_╤╥
  346. \"╥     Z\"\"ê╤@A\"*êAëêé2)ê╠╙!+ç" [keep dired-kept-versions early-retention kept-old-versions late-retention file-version-assoc-list nil fval sorted-v-list v-count prefix-numeric-value 0 dired-map-dired-file-lines dired-collect-file-versions q sort < rplacd nthcdr dired-trample-file-versions] 10))
  347.  
  348. (defun dired-collect-file-versions (ignore fn) (byte-code "╞    !╟PG╚╔    !\"╩╦ \" à      B
  349. Bë,ç" [base-versions fn bv-length possibilities versions file-version-assoc-list file-name-nondirectory ".~" file-name-all-completions file-name-directory mapcar backup-extract-version] 6))
  350.  
  351. (defun dired-trample-file-versions (ignore fn) (byte-code "─┼    \"╞à.╟    ╚O \"ëà.╔    ╩\\╞O!
  352. >?à.╦ ê╠═!ê╬c*ç" [start-vn fn base-version-list file-version-assoc-list string-match "\\.~[0-9]+~$" nil assoc 0 string-to-int 2 beginning-of-line delete-char 1 "D"] 6))
  353.  
  354. (defun dired-flag-backup-and-auto-save-files nil "\
  355. Flag all backup and temporary files for deletion.
  356. Backup files have names ending in `~'.  Auto save file names usually
  357. start with `#'." (interactive) (byte-code "└ê┴ ê┬ ç" [nil dired-flag-backup-files dired-flag-auto-save-files] 3))
  358.  
  359. (defun dired-create-directory (directory) "\
  360. Create a directory called DIRECTORY" (interactive (byte-code "└┴┬ \"Cç" [read-file-name "Create directory: " dired-current-directory] 4)) (byte-code "┬ê├─    !!┼!ê╞╟!╚!\"ê╔╩!)ç" [expanded directory nil directory-file-name expand-file-name make-directory dired-add-entry-all-buffers file-name-directory file-name-nondirectory dired-next-line 1] 8))
  361.  
  362. (defun dired-buffers (dir) (byte-code "╞!ëê
  363. ╟╟    à>    @ëê╚ @\"à5 A╔
  364. !â.
  365. Bëé4╩
  366. \"ë)ê    Aëêé ê +ç" [dir alist dired-buffers result elt buf file-name-as-directory nil dired-in-this-tree buffer-name delq] 7))
  367.  
  368. (defun dired-fun-in-all-buffers (directory fun) (byte-code "┼    !╞╞à*@Aëêè
  369. qê╟ !à%╚
  370. ! Bë)êéê +ç" [buf-list directory buf success-list fun dired-buffers nil funcall buffer-name] 6))
  371.  
  372. (defun dired-add-entry-all-buffers (directory filename) (byte-code "┴┬\"ç" [directory dired-fun-in-all-buffers (lambda nil (byte-code "┬    \"ç" [directory filename dired-add-entry] 3))] 3))
  373.  
  374. (defun dired-add-entry (directory filename) (byte-code "─!ëê`┼ ╞╟ì à    bê ?+ç" [directory opoint cur-dir reason file-name-as-directory dired-current-directory not-found (byte-code "╠    \"â*═    !à╬ ê╠
  375.     \"à'è╧ ê`)` Xà& b)éB╨!â>╤╥!à8╬ ê╙ éB╘╒╓\"ê┼╫ ê╪cê┘┌\"█P\"ê▄▌!ê▐╚!ê`    ▀ ê`
  376. α    
  377. \"ëêß    
  378. \"êΓ!c*ê╫ ê àÿîπ`è▄Σ!ê`)\"êσ╦!))ê┼ç" [directory cur-dir default-directory p buffer-read-only nil filename dired-actual-switches t beg end dired-readin-hook string= dired-subdir-hidden-p dired-unhide-subdir dired-goto-next-file dired-goto-subdir looking-at "
  379. " dired-goto-next-nontrivial-file throw not-found "Subdir not found" beginning-of-line "  " dired-ls dired-make-absolute "d" forward-line -1 dired-move-to-filename dired-move-to-end-of-filename buffer-substring delete-region file-name-nondirectory narrow-to-region 1 run-hooks] 24)] 4))
  380.  
  381. (defun dired-remove-entry-all-buffers (file) (byte-code "┴┬!├\"ç" [file dired-fun-in-all-buffers file-name-directory (lambda nil (byte-code "┴!ç" [file dired-remove-entry] 2))] 4))
  382.  
  383. (defun dired-remove-entry (file) (byte-code "è├!à┬─┼ ê`è╞╟!ê`)\"))ç" [file buffer-read-only nil dired-goto-file delete-region beginning-of-line forward-line 1] 6))
  384.  
  385. (defun dired-diff (file) "\
  386. Compare this file with another (default: file at mark), by running `diff'.
  387. The other file is the first file given to `diff'.
  388. See the command `diff'." (interactive (byte-code "┬ àè┬ bê├┴!)─┼╞├┴!â ╟╚Qé!╔#╩ ┴$C)ç" [default t mark dired-get-filename read-file-name format "Diff %s with: %s" "(default " ") " "" dired-current-directory] 11)) (byte-code "├ê─
  389. ┼┴!\"ç" [default t file nil diff dired-get-filename] 4))
  390.  
  391. (defun dired-backup-diff nil "\
  392. Diff this file with its backup file.
  393. Uses the latest backup, if there are several numerical backups.
  394. If this file is a backup, diff it with its original.
  395. The backup file is the first file given to `diff'." (interactive) (byte-code "├ê├├─ ┼
  396. !â
  397. ╞
  398. !ëé ╟
  399. !
  400. ëê╚    \"+ç" [bak ori file nil dired-get-filename backup-file-name-p file-name-sans-versions latest-backup-file diff] 7))
  401.  
  402. (defun latest-backup-file (fn) "\
  403. Return the latest existing backup of FILE, or nil." (byte-code "─    !┼!à )å#╞    !╟P
  404. G╚╔
  405. ╩    !\"╦\"@*ç" [bak fn base-versions bv-length make-backup-file-name file-exists-p file-name-nondirectory ".~" sort file-name-all-completions file-name-directory (lambda (fn1 fn2) (byte-code "┬!┬    !Vç" [fn1 fn2 backup-extract-version] 4))] 8))
  406.  
  407. (defun dired-compress nil (byte-code "┴┼ 
  408. ╞P╟ ╚╔
  409. \"╩
  410. $à╦ !+ç" [buffer-read-only nil from-file to-file dired-compress-program dired-get-filename ".Z" dired-check-process format "Compressing %s" "-f" dired-redisplay] 7))
  411.  
  412. (defun dired-uncompress nil (byte-code "┴┼ 
  413. ╞╟O╚ ╔╩
  414. \"
  415. #à╦ !+ç" [buffer-read-only nil from-file to-file dired-uncompress-program dired-get-filename 0 -2 dired-check-process format "Uncompressing %s" dired-redisplay] 6))
  416.  
  417. (defun dired-mark-compress (&optional arg) "\
  418. Compress marked files
  419. (or this file if none are marked or a prefix argument is given)." (interactive "P") (byte-code "┼ê┼┼
  420. â╟ é:┼╚ èebê╔ ┼╞#à1`ëê╟ ê bê╞ëêé)*ê    å:╟ *ç" [buffer-read-only found arg opoint regexp nil t dired-compress dired-marker-regexp re-search-forward] 7))
  421.  
  422. (defun dired-mark-uncompress (&optional arg) "\
  423. Uncompress marked files
  424. (or this file if none are marked or a prefix argument is given)." (interactive "P") (byte-code "┼ê┼┼
  425. â╟ é:┼╚ èebê╔ ┼╞#à1`ëê╟ ê bê╞ëêé)*ê    å:╟ *ç" [buffer-read-only found arg opoint regexp nil t dired-uncompress dired-marker-regexp re-search-forward] 7))
  426.  
  427. (defun dired-byte-recompile nil (byte-code "┴─ 
  428. ┼P╞╟
  429. \"?â╚╔
  430. \"é(╩
  431. !ê╦ !ê╠═ !╬ !\"+ç" [buffer-read-only nil from-file new-file dired-get-filename "c" string-match "\\.el$" message "%s is no .el file!" byte-compile-file dired-remove-entry-all-buffers dired-add-entry-all-buffers file-name-directory file-name-nondirectory] 10))
  432.  
  433. (defun dired-mark-byte-recompile (&optional arg) "\
  434. Byte recompile marked Emacs lisp files
  435. (or this file if none are marked or a prefix argument is given)." (interactive "P") (byte-code "┼ê┼┼
  436. â╟ é:┼╚ èebê╔ ┼╞#à1`ëê╟ ê bê╞ëêé)*ê    å:╟ *ç" [buffer-read-only found arg opoint regexp nil t dired-byte-recompile dired-marker-regexp re-search-forward] 7))
  437.  
  438. (defun dired-mark-load (&optional arg) "\
  439. Load the marked Emacs lisp files
  440. (or this file if none are marked or a prefix argument is given)." (interactive "P") (byte-code "┼ê┼┼
  441. â╟╚ !é@┼╔ èebê╩ ┼╞#à5`ëê╟╚ !ê bê╞ëêé)*ê    å@╟╚ !*ç" [buffer-read-only found arg opoint regexp nil t load dired-get-filename dired-marker-regexp re-search-forward] 9))
  442.  
  443. (defun dired-mark-chmod (&optional arg) "\
  444. Change mode of marked files
  445. (or this file if none are marked or a prefix argument is given)." (interactive "P") (byte-code "┴ê╞┴┬ #╟╚╔╩ \"!╦╠
  446. ╚═ \" %ê╬ !*ç" [files nil t arg mode dired-chmod-program dired-mark-get-files read-string format "Change %s to Mode: " dired-mark-prompt apply dired-check-process "chmod %s " dired-mark-redisplay] 11))
  447.  
  448. (defun dired-mark-chgrp (&optional arg) "\
  449. Change group of marked files
  450. (or this file if none are marked or a prefix argument is given)." (interactive "P") (byte-code "┴ê╞┴┬ #╟╚╔╩ \"!╦╠
  451. ╚═ \" %ê╬ !*ç" [files nil t arg group dired-chgrp-program dired-mark-get-files read-string format "Change %s to Group: " dired-mark-prompt apply dired-check-process "chgrp %s " dired-mark-redisplay] 11))
  452.  
  453. (defun dired-mark-chown (&optional arg) "\
  454. Change owner of marked files
  455. (or this file if none are marked or a prefix argument is given)." (interactive "P") (byte-code "┴ê╞┴┬ #╟╚╔╩ \"!╦╠
  456. ╚═ \" %ê╬ !*ç" [files nil t arg owner dired-chown-program dired-mark-get-files read-string format "Change %s to Owner: " dired-mark-prompt apply dired-check-process "chown %s " dired-mark-redisplay] 11))
  457.  
  458. (defun dired-redisplay (file) (byte-code "├ êg`─`┼╞!ê`\"ê
  459. à$╟╚
  460. !╔
  461. !\"ê╩        T╦$*ê╠ ç" [char opoint file beginning-of-line delete-region forward-line 1 dired-add-entry file-name-directory file-name-nondirectory subst-char-in-region 32 dired-move-to-filename] 11))
  462.  
  463. (defun dired-mark-redisplay (&optional arg) "\
  464. Redisplay all marked files
  465. (or this file if none are marked or a prefix argument is given).
  466. If on a subdir line, redisplay that subdirectory." (interactive "P") (byte-code "┼ê╟ â╚╟ !éX╔╩!ê┼┼
  467. â!╦╠ !éP┼═ èebê╬ ┼╞#àE`ëê╦╠ !ê bê╞ëêé*)*ê    åP╦╠ !*ê╧ ê╔╨!ç" [buffer-read-only found arg opoint regexp nil t dired-get-subdir dired-insert-subdir message "Redisplaying ..." dired-redisplay dired-get-filename dired-marker-regexp re-search-forward dired-move-to-filename "Redisplaying ... done."] 15))
  468.  
  469. (defun dired-mark-delete nil "\
  470. Delete all files marked with the current marker char." (interactive) (byte-code "┴ê┬└!ç" [t nil dired-do-deletions] 2))
  471.  
  472. (defun dired-mark-kill (&optional arg) "\
  473. Kill all marked lines (not files).
  474. With a prefix arg, kill all lines not marked or flagged." (interactive "P") (byte-code "┴êèebê┴
  475. ?â├─ !é9m?à9┼ å\"╞╟!?â+╚╔!é5╩`è╚╔!ê`)\"êé))ç" [buffer-read-only nil arg flush-lines dired-marker-regexp dired-between-files looking-at "^  " forward-line 1 delete-region] 10))
  476.  
  477. (defun dired-do-deletions (&optional marked) "\
  478. In dired, delete the files flagged for deletion." (interactive) (byte-code "─ê    â ╬ é ╧──è╨bê╤─┼#à+╥┼!`SB
  479. Bëêé)ê
  480. ?â8╙╘!éç
  481. G╨UâL╒╓╫
  482. @@\"!ëéN╪ïê àçè
  483. ─ àx@Abê─
  484. ─┘┌Å)êAëêéZê àà╙█▄ !\"*)+ç" [regexp marked delete-list answer nil t fill-column l window start window-lines window-min-height failures buffer-read-only dired-marker-regexp "^D" 1 re-search-forward dired-get-filename message "(No deletions requested)" dired-yes format "Delete '%s'? " ((byte-code "╚╔!qê╩G╦╠ ═\"Vâ╬é╧p\"ê╨ ê╤ëê╥!
  485. àQi╙Vâ3╘céCoåC╒╦╓i╫\\╪\"╪\"┘\"ê
  486. @@cê
  487. Aëêé$)ê┌ █ !╠ !ebê▄═▌
  488. !\\]
  489. Z!ê▐┌  \"+ê▀α!ëç" [delete-list fill-column l window start window-lines window-min-height answer get-buffer-create " *Deletions*" funcall * window-height 2 switch-to-buffer switch-to-buffer-other-window erase-buffer 70 reverse 59 10 indent-to / 19 20 1 selected-window window-start enlarge-window vertical-motion set-window-start dired-yes "Delete these files? "] 19)) (byte-code "├    @@
  490. \"─!à┼!?â╞!é╟!ê╚`╔╩!ê`\"êè╦!à0╠ ))ç" [fn l default-directory dired-make-absolute file-directory-p file-symlink-p remove-directory delete-file delete-region forward-line 1 dired-goto-subdir dired-kill-subdir] 10) ((error (byte-code "┬├!ê─cê    @@Bëç" [failures l delete-char 1 " "] 3))) "Deletions failed: %s" prin1-to-string] 10))
  491.  
  492. (defun dired-replace-in-string (regexp to string) (byte-code "╟╚╔╔╩
  493.     #à(╦╚!╠╚!
  494.     
  495. OQ ëêéê
  496.     ╔OP,ç" [result start mb me regexp string to "" 0 nil string-match match-beginning match-end] 8))
  497.  
  498. (defun dired-next-dirline (arg) "\
  499. Goto ARG'th next directory file line." (interactive "p") (byte-code "┬ê─Vâ┼    ┬├$é)╞    ┬├è╟ ê╚    !)â&╔Zé([$â1╩ é4╦╠!ç" [arg dired-re-dir nil t 0 re-search-forward re-search-backward beginning-of-line looking-at 1 dired-move-to-filename error "No more subdirectories."] 9))
  500.  
  501. (defun dired-prev-dirline (arg) "\
  502. Goto ARG'th previous directory file line." (interactive "p") (byte-code "┴ê┬[!ç" [arg nil dired-next-dirline] 2))
  503.  
  504. (defun dired-unflag-all-files (flag) "\
  505. Remove a specific or all flags from every file." (interactive "sRemove flag: (default: all flags) ") (byte-code "┼ê╟╚
  506. G!â é╔╩
  507. !Pè┼ebê╦    ┼╞#à6╠═!ê╬cêTëê╧╨!êé))ê╤╥╙
  508. #!*ç" [count re flag dired-re-mark buffer-read-only nil t 0 zerop "^" regexp-quote re-search-forward delete-char -1 " " forward-line 1 message format "All flags removed: %d %s"] 10))
  509.  
  510. (defun dired-kill-line (arg) "\
  511. Kill this line (but not this file).
  512. If file is displayed as in situ subdir, kill that as well, unless a
  513. prefix arg is given." (interactive "P") (byte-code "┴ê┴┼┴├\"╞╟ ê`╚╔!ê`\"ê ?à&
  514. à&╩
  515. !à&╦ *ç" [buffer-read-only nil file t arg dired-get-filename delete-region beginning-of-line forward-line 1 dired-goto-subdir dired-kill-subdir] 7))
  516.  
  517. (defun copy-string-as-kill (string) "\
  518. Save STRING as if killed in a buffer." (byte-code "    BëêG
  519. Và┼╞
  520. S\"├\"êëç" [kill-ring string kill-ring-max nil kill-ring-yank-pointer setcdr nthcdr] 4))
  521.  
  522. (defun dired-copy-filename-as-kill (&optional arg) "\
  523. Copy this file (or subdir) name into the kill ring.
  524. With a prefix arg, use the complete pathname of file.
  525. Subdirs are always complete pathnames." (interactive "P") (byte-code "┬ê├─ åâ┼ é╞┼ !!ê╟╚    @\"ç" [arg kill-ring nil copy-string-as-kill dired-get-subdir dired-get-filename file-name-nondirectory message "%s"] 8))
  526.  
  527. (defconst dired-marker-char 42 "\
  528. In dired, character used to mark files for later commands.")
  529.  
  530. (defun dired-marker-regexp nil (byte-code "┴┬├!!Pç" [dired-marker-char "^" regexp-quote char-to-string] 4))
  531.  
  532. (defun dired-mark-file (arg) "\
  533. In dired, mark the current line's file for later commands.
  534. With arg, repeat over several lines.
  535. Use \\[dired-unflag-all-files] to remove all flags." (interactive "p") (byte-code "┴ê┴├
  536. ─\")ç" [buffer-read-only nil arg dired-repeat-over-lines (lambda nil (byte-code "┴┬!êcç" [dired-marker-char delete-char 1] 2))] 3))
  537.  
  538. (defun dired-mark-files (regexp &optional arg) "\
  539. Mark all files matching REGEXP for use in later commands.
  540. Directories are not marked unless a prefix argument is given.
  541.  
  542. This is an Emacs regexp, not a shell wildcard.    E.g., use \\.o$ for
  543. object files - just .o will mark more than you might think.
  544.  
  545. An empty string will match all files except directories." (interactive (byte-code "┴┬!Dç" [current-prefix-arg dired-read-regexp "Mark files (regexp): "] 3)) (byte-code "─ê┼    
  546. #ç" [current-prefix-arg regexp arg dired-marker-char nil dired-flag-regexp-files] 4))
  547.  
  548. (defun dired-mark-symlinks (unflag-p) "\
  549. Mark all symbolic links.
  550. With prefix argument, unflag all those files." (interactive "P") (byte-code "├ê    â
  551. ╞é ├è╟ëê╚╔╩\"êebêm?à9╦
  552. !à1╠═!êcê Tëê╬═!êéê╚╧ ╩╨ ╞=âJ╤éK╥╙=âU╘éV╒&)))ç" [dired-marker-char unflag-p buffer-read-only nil dired-mark-count dired-re-sym 32 0 message "0 %ss..." "symbolic link" looking-at delete-char 1 forward-line "%s %s%s %s%s." dired-plural-s "un" "" 68 "flagged" "marked"] 13))
  553.  
  554. (defun dired-mark-dirlines (unflag-p) "\
  555. Mark all directory file lines except `.' and `..'.
  556. With prefix argument, unflag all those files." (interactive "P") (byte-code "├ê    â
  557. ╟é ├è╚ëê╔╩╦\"êebêm?àA╠
  558. !à+╠!?à9═╬!êcê Tëê╧╬!êéê╔╨ ╦╤ ╟=âR╥éS╙╘=â]╒é^╓&)))ç" [dired-marker-char unflag-p buffer-read-only nil dired-mark-count dired-re-dir dired-re-dot 32 0 message "0 %ss..." "directory file" looking-at delete-char 1 forward-line "%s %s%s %s%s." dired-plural-s "un" "" 68 "flagged" "marked"] 14))
  559.  
  560. (defun dired-mark-executables (unflag-p) "\
  561. Mark all executable files.
  562. With prefix argument, unflag all those files." (interactive "P") (byte-code "├ê    â
  563. ╞é ├è╟ëê╚╔╩\"êebêm?à9╦
  564. !à1╠═!êcê Tëê╬═!êéê╚╧ ╩╨ ╞=âJ╤éK╥╙=âU╘éV╒&)))ç" [dired-marker-char unflag-p buffer-read-only nil dired-mark-count dired-re-exe 32 0 message "0 %ss..." "executable file" looking-at delete-char 1 forward-line "%s %s%s %s%s." dired-plural-s "un" "" 68 "flagged" "marked"] 13))
  565.  
  566. (defun dired-flag-auto-save-files (&optional unflag-p) "\
  567. Flag for deletion files whose names suggest they are auto save files.
  568. A prefix argument says to unflag those files instead." (interactive "P") (byte-code "─ê    â
  569. ╔é ╩╦╠!─è═ëê╬╧╨\"êebêm?àe╤!?àO
  570. âC╥╚╚\"à?╠!)éOè╙ ê╤╘!)àO─à]╒╓!êcê
  571. Tëê╫╓!êéê╬╪
  572. ╨┘ ╔=âv┌éw█╩=âü▄éé▌&))*ç" [dired-marker-char unflag-p bound buffer-read-only nil dired-mark-count dired-re-dir fn t 32 68 fboundp auto-save-file-name-p 0 message "0 %ss..." "auto save file" looking-at dired-get-filename dired-move-to-filename "#" delete-char 1 forward-line "%s %s%s %s%s." dired-plural-s "un" "" "flagged" "marked"] 18))
  573.  
  574. (defun dired-flag-backup-files (&optional unflag-p) "\
  575. Flag all backup files (names ending with `~') for deletion.
  576. With prefix argument, unflag all those files." (interactive "P") (byte-code "─ê    â
  577. ╔é ╩╦╠!─è═ëê╬╧╨\"êebêm?àe╤!?àO
  578. âC╥╚╚\"à?╠!)éOè╙ ê╘╒!ê╤╓!)à]╫╪!êcê
  579. Tëê┘╪!êéê╬┌
  580. ╨█ ╔=âv▄éw▌╩=âü▐éé▀&))*ç" [dired-marker-char unflag-p bound buffer-read-only nil dired-mark-count dired-re-dir fn t 32 68 fboundp backup-file-name-p 0 message "0 %ss..." "backup file" looking-at dired-get-filename end-of-line forward-char -1 "~" delete-char 1 forward-line "%s %s%s %s%s." dired-plural-s "un" "" "flagged" "marked"] 19))
  581.  
  582. (defun dired-mark-get-files (&optional localp defaultp this-file) "\
  583. Return the marked files as list of strings.
  584. Values returned normally do include the directory name.
  585. A non-nil first argument LOCALP means do not include it.
  586. A non-nil second argument DEFAULTP means default to list with current
  587.   file as single element if none are marked.  If this happens,
  588.   dired-mark-defaulted is set to t.
  589. A non-nil third argument THIS-FILE forces to use the current file.
  590. Sets the global variables  dired-mark-count and  dired-mark-files." (byte-code "┴ëê
  591. â╩╦
  592. !Cëéq┴╠ è═ëêdbê╬┴╚#à=╦
  593. !Bëê Tëêé\")ê    àG?âQ é[    âZ╩é[═ån    âm╦
  594. !Cén┴ë*ç" [dired-mark-defaulted nil this-file dired-mark-count dired-mark-files localp the-list regexp t defaultp 1 dired-get-filename dired-marker-regexp 0 re-search-backward] 7))
  595.  
  596. (defun dired-rename-regexp (regexp newname) "\
  597. Rename all marked files containing REGEXP to NEWNAME.
  598. See dired-flag-regexp-files for more info on REGEXP.
  599. NEWNAME may contain \\N or \\& as in replace-match (q.v.).
  600. REGEXP defaults to the last regexp used, but with a prefix arg
  601. dired-basename-regexp is provided.  This makes the basename as \\1 and
  602. the extension as \\2 available in NEWNAME." (interactive (byte-code "─┼    â
  603. é \"─╞╟\"!D)ç" [a1 current-prefix-arg dired-basename-regexp dired-flagging-regexp read-string "Rename from (regexp): " format "Rename %s to: "] 6)) (byte-code "┼êèebê┼═╬ ┼┼    ╧┼╩#à#╨ ëàJ╤ !àF╥ ╩\"ê╨ ë    ê╙    \"êTëêéê╘╒╓ #-)ç" [a1 current-prefix-arg dired-basename-regexp dired-flagging-regexp buffer-read-only nil dired-mark-count re old new t regexp newname 0 dired-marker-regexp re-search-forward dired-get-filename dired-this-file-matches replace-match rename-file message "%d file%s renamed." dired-plural-s] 12))
  604.  
  605. (defun dired-this-file-matches (regexp) (byte-code "è─ ┼à!╞┬!ëà!î╟    \"êbê╚     ┬#)*)ç" [beg end t regexp dired-move-to-filename nil dired-move-to-end-of-filename narrow-to-region re-search-forward] 7))
  606.  
  607. (defun shell-quote (filename) (byte-code "─┼╞╟╚     #à'╔┼!     
  608. O╩
  609.  
  610. TOR
  611. Tëêéê     ╞OP+ç" [result start end filename "" 0 nil string-match "[^---0-9a-zA-Z_./]" match-beginning "\\"] 9))
  612.  
  613. (defun dired-read-shell-command (prompt) "\
  614. Read a dired shell command prompting with PROMPT (using read-string).
  615. This is an extra function so that you can redefine it, e.g., to use gmhist." (byte-code "┴!ç" [prompt read-string] 2))
  616.  
  617. (defun dired-mark-prompt nil (byte-code "├=â
  618. ─    @!é┼╞
  619. #ç" [dired-mark-count dired-mark-files dired-marker-char 1 file-name-nondirectory format "%c [%d files]"] 5))
  620.  
  621. (defun dired-mark-background-shell-command (&optional arg) "\
  622. Like \\[dired-mark-shell-command], but starts command in background.
  623. This requires background.el to work." (interactive "P") (byte-code "┬ê├─!ê┼┴\"ç" [arg t nil require background dired-mark-shell-command] 4))
  624.  
  625. (defun dired-mark-shell-command (&optional arg in-background) "\
  626. Run a shell command on the marked files.
  627. If there is output, it goes to a separate buffer.
  628. The list of marked files is appended to the command string unless asterisks
  629.   `*' indicate the place(s) where the list should go.  See variables
  630.   dired-mark-prefix, -separator, -postfix.  If you have a curly brace
  631.   expanding shell, you may want to set these to \"{\",\",\" and \"}\"
  632.   to make commands like `mv *~ bak; compress bak/*~' work.
  633. If no files are marked or a prefix arg is given, uses file on the
  634.   current line. The prompt mentions the file or the marker, as
  635.   appropriate.  See variables dired-shell-prompt, dired-background-prompt.
  636. No automatic redisplay is attempted, as the file names may have
  637.   changed.  Type \\[dired-mark-redisplay] to redisplay the marked files.
  638.  
  639. Function dired-run-shell-command does the actual work and can be
  640. redefined for customization." (interactive "P") (byte-code "═ê═══ â
  641. é╬╧K╨╟╟#    #ëê
  642. ╤Và1
  643.  Qëê╥╙ ╘ \"!ëê╒╓    \"âK╫╓
  644.     #éO    ╪
  645. Qëê┘ \",ç" [result command fns prompt in-background dired-background-prompt dired-shell-prompt t arg dired-mark-separator dired-mark-count dired-mark-prefix dired-mark-postfix nil mapconcat shell-quote dired-mark-get-files 1 dired-read-shell-command format dired-mark-prompt string-match "\\*" dired-replace-in-string " " dired-run-shell-command] 11))
  646.  
  647. (defun dired-run-shell-command (command &optional in-background) "\
  648. Run shell COMMAND, optionally IN-BACKGROUND.
  649. If COMMAND is longer than shell-maximum-command-length, you are asked
  650. for confirmation." (byte-code "à ─
  651. ┼    Rëê à    G Wå╞╟╚    G\"!à.â+╔    !é.╩    !ç" [in-background command default-directory shell-maximum-command-length "cd " "; " yes-or-no-p format "Dired shell command is %d bytes long - execute anyway? " background shell-command] 5))
  652.  
  653. (defun dired-mark-print (&optional arg) "\
  654. Print the marked files
  655. (or this file if none are marked or a prefix argument is given).
  656. Uses the shell command in variable dired-print-command as default." (interactive "P") (byte-code "┼ê╞╟K╚┴┴
  657. #╔#╩╦╠═ \" \" ëê╬╦ \"!*ç" [files t arg command dired-print-command nil mapconcat shell-quote dired-mark-get-files " " read-string format "Print %s with cmd: " dired-mark-prompt dired-run-shell-command] 10))
  658.  
  659. (defun dired-rename-visited (filename to-file) (byte-code "├!à%─┼╞╟├!!\"!à%è├!qê╚ ╔
  660. !ê╩    !))ç" [filename modflag to-file get-file-buffer y-or-n-p message "Change visited file name of buffer %s too? " buffer-name buffer-modified-p set-visited-file-name set-buffer-modified-p] 10))
  661.  
  662. (defun dired-mark-cp-or-mv (fun fun2 msg msg1 &optional arg) (byte-code "╠┴┬ #═╬╧╨╤
  663. Uâé╥ #╙ \"!╘ !
  664. ╤Và-?à6╒╓ #ê┴┴┴ 
  665.     åI ë    êåZ╤GUåZ╒╫\"ê╪┘\"++ê┌ ç" [fn-list nil t arg target dired-mark-count msg1 msg is-dir to overwrite buffer-read-only dired-mark-get-files expand-file-name read-file-name format "%s %s to: " 1 dired-mark-prompt dired-current-directory file-directory-p error "Marked %s: target must be a directory: %s" "Internal error: non-dir and more than 1 file: %s" mapcar (lambda (from) (byte-code "à ╟╚
  666. ! \"ëê╔    !ëê╩
  667.     ╦$êà%╩
  668.     #ê à-╠    !ê═╬    !╚    !\"ç" [is-dir to from target overwrite fun fun2 expand-file-name file-name-nondirectory file-exists-p funcall 0 dired-remove-entry-all-buffers dired-add-entry-all-buffers file-name-directory] 11)) dired-move-to-filename] 12))
  669.  
  670. (defun dired-mark-copy (&optional arg) "\
  671. Copy all marked files (or this file if none are marked or prefix given)." (interactive "P") (byte-code "└ê┬├└──    %ç" [nil arg dired-mark-cp-or-mv copy-file "Copy"] 6))
  672.  
  673. (defun dired-mark-move (&optional arg) "\
  674. Move all marked files into a directory
  675. (or rename this file if none are marked or prefix given)." (interactive "P") (byte-code "┴ê┬├─┼╞%ç" [arg nil dired-mark-cp-or-mv rename-file (lambda (from to) (byte-code "┬!ê├    \"ç" [from to dired-remove-entry-all-buffers dired-rename-visited] 4)) "Move" "Rename"] 6))
  676.  
  677. (defvar dired-buffers nil "\
  678. Alist of directories and their associated dired buffers.")
  679.  
  680. (defconst dired-subdir-regexp "^. \\([^ ]*\\)\\(:\\)[
  681.  
  682. ]" "Regexp matching a maybe hidden subdirectory line in ls -lR output.
  683. Subexpression 1 is subdirectory proper, no trailing slash.
  684. The match starts at the beginning of the line and ends after the end
  685. of the line (\\n or \\r).
  686. Subexpression 2 must end right before the \\n or \\r.")
  687.  
  688. (defun dired-relative-path-p (file) (byte-code "┴!?ç" [file file-name-absolute-p] 2))
  689.  
  690. (defun dired-make-absolute (file dir) (byte-code "    Pç" [dir file] 2))
  691.  
  692. (defun dired-make-relative (file dir) (byte-code "┬├─!P    \"â    ┼╞!╟Oé╚╔    #ç" [dir file string-match "^" regexp-quote match-end 0 nil error "%s: not in directory tree growing at %s."] 7))
  693.  
  694. (defun dired-in-this-tree (file dir) (byte-code "┬├─!P    \"ç" [dir file string-match "^" regexp-quote] 4))
  695.  
  696. (defun dired-normalize-subdir (dir) (byte-code "┬├!â─    \"é!ç" [dir default-directory file-name-as-directory dired-relative-path-p dired-make-absolute] 5))
  697.  
  698. (defun dired-between-files nil (byte-code "┴┬!å┴├!å┴─!å┴!ç" [dired-subdir-regexp looking-at "^$" "^. *$" "^. total"] 5))
  699.  
  700. (defun dired-get-subdir nil (byte-code "è┴ ê┬!à├─┼╞!╟╞!\"!)ç" [dired-subdir-regexp beginning-of-line looking-at file-name-as-directory buffer-substring match-beginning 1 match-end] 8))
  701.  
  702. (defconst dired-subdir-alist nil "\
  703. Association list of subdirectories and their buffer positions:
  704.  
  705.   ((lastdir . lastmarker) ... (default-directory . firstmarker)).
  706.  
  707. The markers point right at the end of the line, so that the cursor
  708. looks at either \\n or \\r, the latter for a hidden subdir.")
  709.  
  710. (defun dired-clear-alist nil (byte-code "à┬@A┴\"êAëêéç" [dired-subdir-alist nil set-marker] 4))
  711.  
  712. (defun dired-build-subdir-alist nil "\
  713. Build dired-subdir-alist anew and return it's new value." (interactive) (byte-code "┬ê┼ êè╞ebê┬ëê╟ ┬─#à6Tëê╚╔\"ê╩╦╠═!╬═!\"╬╧!bê╨ \"êéê╚╤═UâD╥éE╙#ê    ))ç" [count dired-subdir-alist nil dired-subdir-regexp t dired-clear-alist 0 re-search-forward message "%d" dired-alist-add buffer-substring match-beginning 1 match-end 2 point-marker "%d director%s." "y" "ies"] 14))
  714.  
  715. (defun dired-alist-add (dir new-marker) (byte-code "├    !
  716. BBëç" [dired-subdir-alist dir new-marker dired-normalize-subdir] 3))
  717.  
  718. (defun dired-unsubdir (dir) (byte-code "┬├    \"\"ëç" [dired-subdir-alist dir delq assoc] 4))
  719.  
  720. (defun dired-goto-next-nontrivial-file nil (byte-code "├ ê;à'm?à─┼╞┴┬\"å╟!\"à'╚╔!ê╩ êéç" [dired-trivial-filenames nil t dired-goto-next-file string-match file-name-nondirectory dired-get-filename "" forward-line 1 dired-move-to-filename] 8))
  721.  
  722. (defun dired-goto-next-file nil (byte-code "└ ?àm?à┴┬!êéç" [dired-move-to-filename forward-line 1] 4))
  723.  
  724. (defun dired-goto-subdir (dir) "\
  725. Goto header line of DIR in this dired buffer." (interactive (byte-code "├─┼┴┬╞ %!Cç" [dired-subdir-alist nil t expand-file-name completing-read "Goto directory: " dired-current-directory] 8)) (byte-code "┴ê┼╞ !\" à Ab)ç" [dired-subdir-alist nil t elt dir assoc file-name-as-directory] 4))
  726.  
  727. (defun dired-goto-file (file) "\
  728. Goto file line of FILE in this dired buffer." (interactive (byte-code "└┴┬├ \"!Cç" [expand-file-name read-file-name "Goto file: " dired-current-directory] 5)) (byte-code "┼ê╚!ëê┼è╔╩!!àN├┼╦!╠ 
  729. àM`Wà3═┼╬#ëëê àA╧╨┼├\"\"àI`┼ëêé ,)ê    àV    b)ç" [file found keep-going t match nil string boundary directory-file-name dired-goto-subdir file-name-directory file-name-nondirectory dired-subdir-max search-forward move equal dired-get-filename] 12))
  730.  
  731. (defun dired-initial-position nil (byte-code "┴ êà    ┬ ç" [dired-trivial-filenames end-of-line dired-goto-next-nontrivial-file] 3))
  732.  
  733. (defun dired-subdir-index (dir) (byte-code "┼╟ 
  734. à&╚
  735. @@\"â┼╞ëé\"
  736. A    Tëêéêâ/    é0┼+ç" [found index alist dired-subdir-alist dir nil t 0 string=] 4))
  737.  
  738. (defun dired-next-subdir (arg &optional no-error-if-not-found) "\
  739. Go to next subdirectory, regardless of level.
  740. Use 0 prefix argument to go to this directory's header line." (interactive "p") (byte-code "┼ê╟ ┼┼╚! Zëê
  741. ╔Yâ
  742. 8Aé┼ëê    â+    bé7â4┼é7╩╦!+ç" [this-dir pos index arg dired-subdir-alist nil no-error-if-not-found dired-current-directory dired-subdir-index 0 error "No more directories."] 4))
  743.  
  744. (defun dired-prev-subdir (arg &optional no-error-if-not-found) "\
  745. Go to previous subdirectory, regardless of level.
  746. When called interactively and not on a subdir line, go to subdir line." (interactive (byte-code "â
  747. ┴!é┬ àn?â├é─Cç" [current-prefix-arg prefix-numeric-value dired-get-subdir 1 0] 3)) (byte-code "├ê─    [
  748. \"ç" [current-prefix-arg arg no-error-if-not-found nil dired-next-subdir] 3))
  749.  
  750. (defun dired-up-subdir (arg) "\
  751. Go up ARG levels in the dired tree." (interactive "p") (byte-code "┬ê├ ─P    ┼Và    S╞Pëêéê╟!ëê╚!å*╔╩\")ç" [dir arg nil dired-current-directory ".." 1 "/.." expand-file-name dired-goto-subdir error "Cannot go up to %s - not in this tree."] 6))
  752.  
  753. (defun dired-down-subdir (arg) "\
  754. Go down ARG levels in the dired tree." (interactive "p") (byte-code "├ê┼ ╞
  755. ╟Và
  756. S    ╚Pëêéê╔╩    ╦R├─#â,╠╟!é/═╬!*ç" [dir tail arg nil t dired-current-directory "[^/]+" 1 "/[^/]+" re-search-forward "^. " ":[
  757.  
  758. ]" backward-char error "At the bottom."] 6))
  759.  
  760. (defun dired-subdir-hidden-p (dir) (byte-code "èà┬    !à├─!)ç" [selective-display dir dired-goto-subdir looking-at "
  761. "] 3))
  762.  
  763. (defun dired-unhide-subdir nil (byte-code "┴┬├ ─ ┼╞$)ç" [buffer-read-only nil subst-char-in-region dired-subdir-min dired-subdir-max 13 10] 7))
  764.  
  765. (defun dired-hide-check nil (byte-code "å┴┬!ç" [selective-display error "selective-display must be t for subdir hiding to work!"] 2))
  766.  
  767. (defun dired-hide-subdir (arg) "\
  768. Hide or unhide the current subdirectory and move to next directory.
  769. Optional prefix arg is a repeat factor.
  770. Use \\[dired-hide-all] to (un)hide all directories." (interactive "p") (byte-code "─ê╟ ê────╚╔!ê
  771. ╔Vàa
  772. Sëê╩╦!â*╠═ëé/╠═ëê╬`è╚╧╞\"ëå>dbê╨╤╥!P!ê╠UàP╙╧!ê`)    $ê
  773. à]
  774. bêé,ç" [from-char to-char end-pos buffer-read-only nil arg t dired-hide-check dired-next-subdir 0 looking-at "
  775. " 10 13 subst-char-in-region 1 skip-chars-backward "^" char-to-string backward-char] 13))
  776.  
  777. (defun dired-hide-all (arg) "\
  778. Hide all subdirectories, leaving only their header lines.
  779. If there is already something hidden, make everything visible again.
  780. Use \\[dired-hide-subdir] to (un)hide a particular subdirectory." (interactive "P") (byte-code "┴ê╞ ê┴èebê╟╚┴┬#)â╔ed╩╦$éFd
  781.  àE╔ @Aè bê╠═!ê`)╦╩$ê @Aëê Aëêé!*)ç" [buffer-read-only nil t pos alist dired-subdir-alist dired-hide-check search-forward "
  782. " subst-char-in-region 13 10 forward-line -1] 10))
  783.  
  784. (defun dired-undo nil "\
  785. Undo in a dired buffer.
  786. This doesn't recover lost files, it is just normal undo with temporarily
  787. writeable buffer.  You can use it to recover killed lines or subdirs.
  788. You might have to do \\[dired-build-subdir-alist] to parse the buffer again." (interactive) (byte-code "┴ê┴┬ )ç" [buffer-read-only nil undo] 2))
  789.  
  790. (defun dired-advertise nil "\
  791. Advertise in  dired-buffers  what directory we dired." (byte-code "p┬!>â ┴épB
  792. Bëç" [default-directory t dired-buffers] 3))
  793.  
  794. (defun dired-current-directory (&optional relative) "\
  795. Get the subdirectory to which this line belongs.
  796. This returns a string with trailing slash, like default-directory.
  797. Optional argument means return a name relative to default-directory." (byte-code "┼┼` å    ╚  à. @@ëêA
  798. Xâ&┼ëé* Aëêé
  799. êâ<╔    \"é=    ,ç" [elt dir here alist dired-subdir-alist nil relative default-directory dired-build-subdir-alist dired-make-relative] 5))
  800.  
  801. (defun dired-subdir-min nil (byte-code "è┴┬└\"?â├─!é┼ ê`)ç" [t dired-prev-subdir 0 error "Not in a subdir!" beginning-of-line] 4))
  802.  
  803. (defun dired-subdir-max nil (byte-code "è┴┬└\"?â
  804. dé├ ê`)ç" [t dired-next-subdir 1 beginning-of-line] 3))
  805.  
  806. (defun dired-kill-subdir (&optional no-build) "\
  807. Remove all lines of current subdirectory.
  808. Lower levels are unaffected." (interactive) (byte-code "┴ê┴tà
  809. ─┼ 
  810. \"à╞╟!ê╚╔ ╩ \"ê╦╠!êmå&═╬!êm?à/╧╨!à9╤╬!êé'êmå@╥cê åI╙┼ !)ç" [buffer-read-only nil default-directory no-build equal dired-current-directory error "Cannot kill top level directory." delete-region dired-subdir-min dired-subdir-max skip-chars-backward " 
  811. " forward-char 1 looking-at "[ 
  812. ]" delete-char "
  813.   " dired-unsubdir] 13))
  814.  
  815. (defun dired-mark-files-in-region (start end &optional arg) (byte-code "┴
  816. Và ╚╔!ê
  817. bê` WàI` Wà╩ à'╦╠!êéê å0═
  818. !?à7╬┴╞\"àA╧╠!êcê╦╠!êé)ç" [buffer-read-only nil start end arg dired-re-dir t dired-marker-char error "start > end" dired-between-files forward-line 1 looking-at dired-get-filename delete-char] 9))
  819.  
  820. (defun dired-mark-subdir-files (&optional arg) "\
  821. Mark all files except directories in this subdir.
  822. With prefix arg, mark even directories." (interactive "P") (byte-code "┴ê┴─ ┼
  823. ╞  #*ç" [buffer-read-only nil p-min arg dired-subdir-min dired-mark-files-in-region dired-subdir-max] 6))
  824.  
  825. (defun dired-mark-subdir-or-file (arg) "\
  826. If looking at a subdir, mark all its files, else like dired-mark-file." (interactive "P") (byte-code "┴ê┬ âè├ ê─!)é┼╞!!ç" [arg nil dired-get-subdir end-of-line dired-mark-subdir-files dired-mark-file prefix-numeric-value] 6))
  827.  
  828. (defun dired-insert-subdir (dirname &optional switches) "\
  829. Insert this subdirectory into the same dired buffer.
  830. If subdirectory is already present, overwrites previous entry, else
  831. appends at end of buffer.
  832. With a prefix arg, you may edit the ls switches used for this listing." (interactive (byte-code "┬ à
  833. ├─    \"Dç" [current-prefix-arg dired-actual-switches dired-get-filename read-string "Switches for listing: "] 5)) (byte-code "╦ê╨╤
  834. !!ëê╥
  835. \"ê╦╦╦╦╦╦╦
  836.     ╙
  837. !å,╘╒
  838. \"ê╓
  839. !ëâ{ 8Aëêbê╫╪!ê`ëêbê┘ ëêî┌
  840. \"ê█ed▄▌$ê▐ ë    )ê▀
  841. \"êm?àxèαc)é}dbêoåäαcê`ëêßΓ
  842. \"êπ
  843. 
  844. åÜΣσµ    #╦╬$êßτ
  845. \"êΦ `Θ#êà╕î┌ `\"êΩ╧!)ê bêδ
  846. !ê∞ ëêà╤φ\"êâ▀φ╦\"éΣε
  847. \"ê
  848. à∩∩σ
  849. \"à⌠≡ ê± êè bê≥    !).ç" [current-prefix-arg dired-actual-switches dirname default-directory beg end index old-marker new-marker mark-alist buffer-read-only nil dired-subdir-alist switches t dired-readin-hook file-name-as-directory expand-file-name dired-make-relative file-directory-p error "Not a directory: %s" dired-subdir-index forward-line -1 dired-subdir-max narrow-to-region subst-char-in-region 13 10 dired-remember-marks delete-region "
  850. " message "Reading directory %s..." dired-ls dired-replace-in-string "R" "" "Reading directory %s...done" indent-rigidly 2 run-hooks dired-insert-headerline point-marker set-marker dired-alist-add string-match dired-build-subdir-alist dired-initial-position dired-mark-remembered] 29))
  851.  
  852. (defvar dired-sort-by-date-regexp "^-altR?$" "\
  853. Regexp recognized by dired-sort-mode to set by date mode.")
  854.  
  855. (defvar dired-sort-by-name-regexp "^-alR?$" "\
  856. Regexp recognized by dired-sort-mode to set by name mode.")
  857.  
  858. (defun dired-sort-mode nil "\
  859. Set dired-sort-mode according to dired-actual-switches." (byte-code "─    \"â ┼ é─
  860.     \"â╞ é╟    ├\"ç" [dired-sort-by-date-regexp dired-actual-switches dired-sort-by-name-regexp t string-match dired-sort-by-date dired-sort-by-name dired-sort-other] 7))
  861.  
  862. (defun dired-sort-toggle nil "\
  863. Toggle between sort by date/name." (interactive) (byte-code "┬ê├    \"â─ é┼ ê╞ ç" [dired-sort-by-date-regexp dired-actual-switches nil string-match dired-sort-by-name dired-sort-by-date revert-buffer] 5))
  864.  
  865. (defun dired-sort-by-date nil (byte-code "┬├─\"â ─é
  866. ┼╞├╟\"â╟é┼Rëê╚ëê╔╩ !ç" [dired-actual-switches dired-sort-mode "-" string-match "a" "" "lt" "R" " by date" set-buffer-modified-p buffer-modified-p] 7))
  867.  
  868. (defun dired-sort-by-name nil (byte-code "┬├─\"â ─é
  869. ┼╞├╟\"â╟é┼Rëê╚ëê╔╩ !ç" [dired-actual-switches dired-sort-mode "-" string-match "a" "" "l" "R" " by name" set-buffer-modified-p buffer-modified-p] 7))
  870.  
  871. (defun dired-sort-other (switches &optional no-revert) "\
  872. Specify dired-actual-switches for dired-mode.
  873. Values matching dired-sort-by-date-regexp or dired-sort-by-name-regexp
  874. set the minor mode accordingly, others appear literally in the mode line.
  875. With prefix arg, don't revert the buffer afterwards." (interactive (byte-code "┬├\"    Dç" [dired-actual-switches current-prefix-arg read-string "ls switches (must contain -l): "] 3)) (byte-code "╟ê
  876. ëê╚Pëê╔ \"â╩ é!╔
  877. \"à!╦ ê╠═ !êå.╬ ç" [dired-actual-switches current-prefix-arg switches dired-sort-mode dired-sort-by-date-regexp dired-sort-by-name-regexp no-revert nil " " string-match dired-sort-by-date dired-sort-by-name set-buffer-modified-p buffer-modified-p revert-buffer] 8))
  878.  
  879. (if (eq system-type (quote vax-vms)) (load "dired-vms"))
  880.  
  881. (if (eq system-type (quote ms-dos)) (load "direddos"))
  882.  
  883. (run-hooks (quote dired-load-hook))
  884.  
  885. (defun dired-log (fmt &rest args) (byte-code "è┬├!qêdbê─┼╞╟    #\")ç" [fmt args get-buffer-create "*Dired Log*" insert "
  886. " apply format] 7))
  887.