Revert last change.

This commit is contained in:
Dave Love 2001-01-26 13:14:11 +00:00
parent 6c317bd2b4
commit 83fadedf5f
2 changed files with 81 additions and 67 deletions

View file

@ -99,7 +99,7 @@ With prefix arg, prompt for argument SWITCHES which is options for `diff'."
(setq failures
(dired-bunch-files 10000
(function dired-check-process)
(append
(append
(list operation program new-attribute)
(if (string-match "gnu" system-configuration)
'("--") nil))
@ -198,7 +198,7 @@ Uses the shell command coming from variables `lpr-command' and
nil op-symbol files
(function read-string)
(format prompt (dired-mark-prompt arg files)) initial))
;;; Cleaning a directory: flagging some backups for deletion.
(defvar dired-file-version-alist)
@ -290,7 +290,7 @@ with a prefix argument."
(progn (beginning-of-line)
(delete-char 1)
(insert dired-del-marker)))))
;;; Shell commands
(defun dired-read-shell-command (prompt arg files)
@ -379,10 +379,12 @@ the list of file names explicitly with the FILE-LIST argument."
;; your cmd.
(let ((stuff-it
(cond ((string-match "\\*" command)
(lambda (x) (replace-regexp-in-string "\\*" x command)))
(function (lambda (x)
(dired-replace-in-string "\\*" x command))))
((string-match "\\?" command)
(lambda (x) (replace-regexp-in-string "\\?" x command)))
(t (lambda (x) (concat command " " x))))))
(function (lambda (x)
(dired-replace-in-string "\\?" x command))))
(t (function (lambda (x) (concat command " " x)))))))
(if on-each
(mapconcat stuff-it (mapcar 'shell-quote-argument file-list) ";")
(let ((fns (mapconcat 'shell-quote-argument
@ -400,7 +402,7 @@ the list of file names explicitly with the FILE-LIST argument."
(shell-command command)))
;; Return nil for sake of nconc in dired-bunch-files.
nil)
;; In Emacs 19 this will return program's exit status.
;; This is a separate function so that ange-ftp can redefine it.
(defun dired-call-process (program discard &rest arguments)
@ -439,7 +441,7 @@ the list of file names explicitly with the FILE-LIST argument."
(kill-buffer err-buffer)
(message "%s...done" msg)
nil))))
;; Commands that delete or redisplay part of the dired buffer.
(defun dired-kill-line (&optional arg)
@ -498,7 +500,7 @@ and use this command with a prefix argument (the value does not matter)."
count))))
;;;###end dired-cmd.el
;;; 30K
;;;###begin dired-cp.el
@ -555,7 +557,7 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.")
(setq suffix (car suffixes) suffixes nil))
(setq suffixes (cdr suffixes))))
;; If so, compute desired new name.
(if suffix
(if suffix
(setq newname (concat (substring file 0 (match-beginning 0))
(nth 1 suffix))))
(cond (handler
@ -589,7 +591,7 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.")
"compress" "-f" file))
;; Don't use NEWNAME with `compress'.
(concat file ".Z"))))))))
(defun dired-mark-confirm (op-symbol arg)
;; Request confirmation from the user that the operation described
;; by OP-SYMBOL is to be performed on the marked files.
@ -674,7 +676,7 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.")
(apply 'message qprompt qs-args)
(setq char (set qs-var (read-char))))
(memq (cdr elt) '(t y yes)))))))
;;;###autoload
(defun dired-do-compress (&optional arg)
"Compress or uncompress marked (or next ARG) files."
@ -747,7 +749,7 @@ a prefix arg lets you edit the `ls' switches used for the new listing."
arg)
(dired-move-to-filename)
(message "Redisplaying...done")))
(defun dired-update-file-line (file)
;; Delete the current line, and insert an entry for FILE.
;; If FILE is nil, then just delete the current line.
@ -847,7 +849,7 @@ a prefix arg lets you edit the `ls' switches used for the new listing."
;; It inserts the file's absolute name, rather than
;; the relative one. That may be hard to fix since it
;; is probably controlled by something in ftp.
(goto-char opoint)
(goto-char opoint)
(let ((inserted-name (dired-get-filename 'verbatim)))
(if (file-name-directory inserted-name)
(progn
@ -929,7 +931,7 @@ a prefix arg lets you edit the `ls' switches used for the new listing."
(save-excursion (forward-line 1) (point))))
(setq file (directory-file-name file))
(dired-add-entry file (if (eq ?\040 marker) nil marker)))))
;;; Copy, move/rename, making hard and symbolic links
(defcustom dired-recursive-copies nil
@ -1026,7 +1028,7 @@ Special value `always' suppresses confirmation."
(if (and buffer-file-name
(dired-in-this-tree buffer-file-name expanded-from-dir))
(let ((modflag (buffer-modified-p))
(to-file (replace-regexp-in-string
(to-file (dired-replace-in-string
(concat "^" (regexp-quote from-dir))
to-dir
buffer-file-name)))
@ -1085,8 +1087,8 @@ Special value `always' suppresses confirmation."
;; Update buffer-local dired-subdir-alist
(setcar elt
(dired-normalize-subdir
(replace-regexp-in-string regexp newtext (car elt)))))))
(dired-replace-in-string regexp newtext (car elt)))))))
;; The basic function for half a dozen variations on cp/mv/ln/ln -s.
(defun dired-create-files (file-creator operation fn-list name-constructor
&optional marker-char)
@ -1181,7 +1183,7 @@ ESC or `q' to not overwrite any of the remaining files,
(message "%s: %s file%s"
operation success-count (dired-plural-s success-count)))))
(dired-move-to-filename))
(defun dired-do-create-files (op-symbol file-creator operation arg
&optional marker-char op1
how-to)
@ -1302,7 +1304,7 @@ Optional arg HOW-TO is used to set the value of the into-dir variable
(dired-current-directory)))))
(or other-dir this-dir))
this-dir)))
;;;###autoload
(defun dired-create-directory (directory)
"Create a directory called DIRECTORY."
@ -1379,7 +1381,7 @@ When renaming multiple or marked files, you specify a directory."
(dired-do-create-files 'move (function dired-rename-file)
"Move" arg dired-keep-marker-rename "Rename"))
;;;###end dired-cp.el
;;; 5K
;;;###begin dired-re.el
(defun dired-do-create-files-regexp
@ -1542,7 +1544,7 @@ Type SPC or `y' to %s one file, DEL or `n' to skip to next,
(dired-rename-non-directory (function downcase) "Rename downcase" arg))
;;;###end dired-re.el
;;; 13K
;;;###begin dired-ins.el
@ -1695,7 +1697,7 @@ With optional arg REMEMBER-MARKS, return an alist of marked files."
(message "Reading directory %s..." dirname)
(let ((dired-actual-switches
(or switches
(replace-regexp-in-string "R" "" dired-actual-switches))))
(dired-replace-in-string "R" "" dired-actual-switches))))
(if (equal dirname (car (car (reverse dired-subdir-alist))))
;; top level directory may contain wildcards:
(dired-readin-insert dired-directory)
@ -1798,7 +1800,7 @@ is always equal to STRING."
(setq result
(cons (substring str end) result)))
(nreverse result)))
;;; moving by subdirectories
;;;###autoload
@ -1841,7 +1843,7 @@ The next char is either \\n, or \\r if DIR is hidden."
;; at either \r or \n after this function succeeds.
(progn (skip-chars-forward "^\r\n")
(point)))))
;;;###autoload
(defun dired-mark-subdir-files ()
"Mark all files except `.' and `..' in current subdirectory.
@ -1903,7 +1905,7 @@ Lower levels are unaffected."
(if pos
(goto-char pos)
(error "At the bottom"))))
;;; hiding
(defun dired-unhide-subdir ()
@ -1970,7 +1972,7 @@ Use \\[dired-hide-subdir] to (un)hide a particular subdirectory."
;;;###end dired-ins.el
;; Functions for searching in tags style among marked files.
;;;###autoload
@ -1990,14 +1992,14 @@ with the command \\[tags-loop-continue]."
(interactive
"sQuery replace in marked files (regexp): \nsQuery replace %s by: \nP")
(tags-query-replace from to delimited '(dired-get-marked-files)))
;;;###autoload
(defun dired-show-file-type (file &optional deref-symlinks)
"Print the type of FILE, according to the `file' command.
If FILE is a symbolic link and the optional argument DEREF-SYMLINKS is
true then the type of the file linked to by FILE is printed instead."
true then the type of the file linked to by FILE is printed instead."
(interactive (list (dired-get-filename t) current-prefix-arg))
(with-temp-buffer
(with-temp-buffer
(if deref-symlinks
(call-process "file" nil t t "-L" file)
(call-process "file" nil t t file))

View file

@ -292,7 +292,7 @@ Subexpression 2 must end right before the \\n or \\r.")
'(".+" (dired-move-to-filename) nil (0 font-lock-function-name-face)))
;;
;; Symbolic links.
(list dired-re-sym
(list dired-re-sym
'(".+" (dired-move-to-filename) nil (0 font-lock-keyword-face)))
;;
;; Files suffixed with `completion-ignored-extensions'.
@ -303,7 +303,7 @@ Subexpression 2 must end right before the \\n or \\r.")
(list (concat "\\(" (mapconcat 'identity extensions "\\|") "\\|#\\)$")
'(".+" (dired-move-to-filename) nil (0 font-lock-string-face))))))
"Additional expressions to highlight in Dired mode.")
;;; Macros must be defined before they are used, for the byte compiler.
;; Mark all files for which CONDITION evals to non-nil.
@ -406,10 +406,10 @@ Optional second argument ARG forces to use other files. If ARG is an
(save-excursion
(nreverse (dired-map-over-marks (dired-get-filename localp) arg))))
;; Function dired-ls is redefinable for VMS, ange-ftp, Prospero or
;; other special applications.
;; The dired command
(defun dired-read-dir-and-switches (str)
@ -514,12 +514,12 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh."
(setq buffer (create-file-buffer (directory-file-name dirname)))))
(set-buffer buffer)
(if (not new-buffer-p) ; existing buffer ...
(cond (switches ; ... but new switches
(cond (switches ; ... but new switches
;; file list may have changed
(if (consp dir-or-list)
(if (consp dir-or-list)
(setq dired-directory dir-or-list))
;; this calls dired-revert
(dired-sort-other switches))
(dired-sort-other switches))
;; If directory has changed on disk, offer to revert.
((if (let ((attributes (file-attributes dirname))
(modtime (visited-file-modtime)))
@ -586,7 +586,7 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh."
(setq blist (cdr blist))))))
found))
;; Read in a new dired buffer
;; dired-readin differs from dired-insert-subdir in that it accepts
@ -749,7 +749,7 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh."
;; boundaries.
(save-excursion (insert " " (directory-file-name dir) ":\n")))
;; Reverting a dired buffer
(defun dired-revert (&optional arg noconfirm)
@ -857,7 +857,7 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh."
(let ((handler (find-file-name-handler dir 'dired-uncache)))
(if handler
(funcall handler 'dired-uncache dir))))
;; dired mode key bindings and initialization
(defvar dired-mode-map nil "Local keymap for dired-mode buffers.")
@ -1188,7 +1188,7 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh."
:help "Copy current file or all marked files"))
(setq dired-mode-map map)))
;; Dired mode is suitable only for specially formatted data.
(put 'dired-mode 'mode-class 'special)
@ -1282,7 +1282,7 @@ Keybindings:
(set (make-local-variable 'font-lock-defaults) '(dired-font-lock-keywords t))
(dired-sort-other dired-actual-switches t)
(run-hooks 'dired-mode-hook))
;; Idiosyncratic dired commands that don't deal with marks.
(defun dired-summary ()
@ -1402,7 +1402,7 @@ otherwise, display it in another buffer."
(interactive)
(let ((file (file-name-sans-versions (dired-get-filename) t)))
(display-buffer (find-file-noselect file))))
;;; Functions for extracting and manipulating file names in dired buffers.
(defun dired-get-filename (&optional localp no-error-if-not-filep)
@ -1492,7 +1492,7 @@ DIR must be a directory name, not a file name."
;;; (or no-error
;;; (error "%s: not in directory tree growing at %s" file dir))
file))
;;; Functions for finding the file name in a dired buffer line.
(defvar dired-move-to-filename-regexp
@ -1502,7 +1502,7 @@ DIR must be a directory name, not a file name."
;; weiand: changed: month ends potentially with . or , or .,
;;old (month (concat l l "+ *"))
(month (concat l l "+[.]?,? *"))
;; Recognize any non-ASCII character.
;; Recognize any non-ASCII character.
;; The purpose is to match a Kanji character.
(k "[^\0-\177]")
;; (k "[^\x00-\x7f\x80-\xff]")
@ -1515,7 +1515,7 @@ DIR must be a directory name, not a file name."
(western (concat "\\(" month s dd "\\|" dd s month "\\)"
;; weiand: changed: year potentially unaligned
;;old s "\\(" HH:MM "\\|" s yyyy "\\|" yyyy s "\\)"))
s "\\(" HH:MM
s "\\(" HH:MM
"\\|" yyyy s s "?"
"\\|" s "?" yyyy
"\\)"))
@ -1612,7 +1612,7 @@ regardless of the language.")
nil
(point))))
;; Keeping Dired buffers in sync with the filesystem and with each other
(defun dired-buffers-for-dir (dir &optional file)
@ -1677,7 +1677,7 @@ regardless of the language.")
(substring pattern matched-in-pattern))
"\\'")))
(defun dired-advertise ()
;;"Advertise in variable `dired-buffers' that we dired `default-directory'."
@ -1696,7 +1696,7 @@ regardless of the language.")
;; Removing is also done as a side-effect in dired-buffer-for-dir.
(setq dired-buffers
(delq (assoc (expand-file-name dir) dired-buffers) dired-buffers)))
;; Tree Dired
;;; utility functions
@ -1898,7 +1898,7 @@ Returns the new value of the alist."
;; You may redefine this function as you wish, e.g. like in dired-x.el.
(end-of-line)
(if dired-trivial-filenames (dired-goto-next-nontrivial-file)))
;; These are hooks which make tree dired work.
;; They are in this file because other parts of dired need to call them.
;; But they don't call the rest of tree dired unless there are subdirs loaded.
@ -1935,7 +1935,7 @@ Optional argument means return a file name relative to `default-directory'."
(if (or (null (cdr dired-subdir-alist)) (not (dired-next-subdir 1 t t)))
(point-max)
(point))))
;; Deleting files
(defcustom dired-recursive-deletes nil ; Default only delete empty directories.
@ -1951,7 +1951,7 @@ Anything else means ask for each directory."
(const :tag "Ask for each top directory only" top))
:group 'dired)
;; Match anything but `.' and `..'.
;; Match anything but `.' and `..'.
(defvar dired-re-no-dot "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")
;; Delete file, possibly delete a directory and all its files.
@ -2064,7 +2064,7 @@ if there are no flagged files."
(save-excursion (and (cdr dired-subdir-alist)
(dired-goto-subdir fn)
(dired-kill-subdir))))
;; Confirmation
(defun dired-marker-regexp ()
@ -2184,7 +2184,7 @@ FILES is the list of marked files."
j (1+ j)
files (cdr files)))
rows))
;; Commands to mark or flag file(s) at or near current line.
(defun dired-repeat-over-lines (arg function)
@ -2325,7 +2325,7 @@ As always, hidden subdirs are not affected."
(list ?\040 dired-marker-char)
(list dired-marker-char ?\040))))
(forward-line 1)))))
;;; Commands to mark or flag files based on their characteristics or names.
(defvar dired-regexp-history nil
@ -2444,7 +2444,7 @@ A prefix argument says to unflag those files instead."
"auto save file")))
(defvar dired-garbage-files-regexp
"\\.log$\\|\\.toc$\\|\\.dvi$\\|\\.bak$\\|\\.orig$\\|\\.rej$"
"\\.log$\\|\\.toc$\\|\\.dvi$\\|\\.bak$\\|\\.orig$\\|\\.rej$"
"*Regular expression to match \"garbage\" files for `dired-flag-garbage-files'.")
(defun dired-flag-garbage-files ()
@ -2504,7 +2504,7 @@ OLD and NEW are both characters used to mark files."
(defun dired-unmark-all-files (mark &optional arg)
"Remove a specific mark (or any mark) from every file.
After this command, type the mark character to remove,
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."
@ -2529,7 +2529,7 @@ Type SPC or `y' to unmark one file, DEL or `n' to skip to next,
(message (if (= count 1) "1 mark removed"
"%d marks removed")
count))))
;; Logging failures operating on files, and showing the results.
(defvar dired-log-buffer "*Dired log*")
@ -2579,7 +2579,7 @@ Thus, use \\[backward-page] to find the beginning of a group of errors."
;; Log a summary describing a bunch of errors.
(dired-log (concat "\n" string))
(dired-log t))
;;; Sorting
;; Most ls can only sort by name or by date (with -t), nothing else.
@ -2629,15 +2629,15 @@ With a prefix argument you can edit the current listing switches instead."
(if (string-match " " dired-actual-switches)
;; New toggle scheme: add/remove a trailing " -t"
(if (string-match " -t\\'" dired-actual-switches)
(replace-regexp-in-string " -t\\'" "" dired-actual-switches)
(dired-replace-in-string " -t\\'" "" dired-actual-switches)
(concat dired-actual-switches " -t"))
;; old toggle scheme: look for some 't' switch and add/remove it
(concat
"-l"
(replace-regexp-in-string (concat "[-lt"
dired-ls-sorting-switches "]")
""
dired-actual-switches)
(dired-replace-in-string (concat "[-lt"
dired-ls-sorting-switches "]")
""
dired-actual-switches)
(if (string-match (concat "[t" dired-ls-sorting-switches "]")
dired-actual-switches)
""
@ -2645,6 +2645,18 @@ With a prefix argument you can edit the current listing switches instead."
(dired-sort-set-modeline)
(revert-buffer))
;; Some user code loads dired especially for this.
(defun dired-replace-in-string (regexp newtext string)
;; Replace REGEXP with NEWTEXT everywhere in STRING and return result.
;; NEWTEXT is taken literally---no \\DIGIT escapes will be recognized.
(let ((result "") (start 0) mb me)
(while (string-match regexp string start)
(setq mb (match-beginning 0)
me (match-end 0)
result (concat result (substring string start mb) newtext)
start me))
(concat result (substring string start))))
(defun dired-sort-other (switches &optional no-revert)
;; Specify new ls SWITCHES for current dired buffer. Values matching
;; `dired-sort-by-date-regexp' or `dired-sort-by-name-regexp' set the
@ -2689,7 +2701,7 @@ To be called first in body of `dired-sort-other', etc."
;; No pre-R subdir alist, so revert to main directory
;; listing:
(list (car (reverse dired-subdir-alist))))))))
;; To make this file smaller, the less common commands
;; go in a separate file. But autoload them here
;; to make the separation invisible.
@ -2902,9 +2914,9 @@ Use \\[dired-hide-subdir] to (un)hide a particular subdirectory."
(autoload 'dired-show-file-type "dired-aux"
"Print the type of FILE, according to the `file' command.
If FILE is a symbolic link and the optional argument DEREF-SYMLINKS is
true then the type of the file linked to by FILE is printed instead."
true then the type of the file linked to by FILE is printed instead."
t)
(if (eq system-type 'vax-vms)
(load "dired-vms"))