* doc/emacs/misc.texi: Small updates (no need to merge to trunk)
[bpt/emacs.git] / doc / emacs / dired.texi
index 0dcded7..4e9dfd5 100644 (file)
@@ -1,6 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
-@c   Free Software Foundation, Inc.
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Dired
 @chapter Dired, the Directory Editor
@@ -167,13 +167,14 @@ deletion, then delete the files that were flagged.
 
 @table @kbd
 @item d
-Flag this file for deletion.
+Flag this file for deletion (@code{dired-flag-file-deletion}).
 @item u
-Remove deletion flag on this line.
+Remove the deletion flag (@code{dired-unmark}).
 @item @key{DEL}
-Move point to previous line and remove the deletion flag on that line.
+Move point to previous line and remove the deletion flag on that line
+(@code{dired-unmark-backward}).
 @item x
-Delete the files that are flagged for deletion.
+Delete files flagged for deletion (@code{dired-do-flagged-delete}).
 @end table
 
 @kindex d @r{(Dired)}
@@ -182,8 +183,12 @@ Delete the files that are flagged for deletion.
 the file and typing @kbd{d} (@code{dired-flag-file-deletion}).  The
 deletion flag is visible as a @samp{D} at the beginning of the line.
 This command moves point to the next line, so that repeated @kbd{d}
-commands flag successive files.  A numeric argument serves as a repeat
-count.
+commands flag successive files.  A numeric prefix argument serves as a
+repeat count; a negative count means to flag preceding files.
+
+  If the region is active, the @kbd{d} command flags all files in the
+region for deletion; in this case, the command does not move point,
+and ignores any prefix argument.
 
 @kindex u @r{(Dired deletion)}
 @kindex DEL @r{(Dired)}
@@ -194,14 +199,17 @@ can remove deletion flags using the commands @kbd{u} and @key{DEL}.
 @kbd{u} (@code{dired-unmark}) works just like @kbd{d}, but removes
 flags rather than making flags.  @key{DEL}
 (@code{dired-unmark-backward}) moves upward, removing flags; it is
-like @kbd{u} with argument @minus{}1.
+like @kbd{u} with argument @minus{}1.  A numeric prefix argument to
+either command serves as a repeat count, with a negative count meaning
+to unflag in the opposite direction.  If the region is active, these
+commands instead unflag all files in the region, without moving point.
 
 @kindex x @r{(Dired)}
 @findex dired-do-flagged-delete
-  To delete the flagged files, type @kbd{x}
-(@code{dired-do-flagged-delete}).  This command first displays a list
-of all the file names flagged for deletion, and requests confirmation
-with @kbd{yes}.  If you confirm, Dired deletes the flagged files, then
+  To delete flagged files, type @kbd{x}
+(@code{dired-do-flagged-delete}).  This command displays a list of all
+the file names flagged for deletion, and requests confirmation with
+@kbd{yes}.  If you confirm, Dired deletes the flagged files, then
 deletes their lines from the text of the Dired buffer.  The Dired
 buffer, with somewhat fewer lines, remains selected.
 
@@ -273,9 +281,9 @@ say they are backup files---that is, files whose names end in
 the backup files for deletion: all but the oldest few and newest few
 backups of any one file.  Normally, the number of newest versions kept
 for each file is given by the variable @code{dired-kept-versions}
-(@strong{not} @code{kept-new-versions}; that applies only when
-saving).  The number of oldest versions to keep is given by the
-variable @code{kept-old-versions}.
+(@emph{not} @code{kept-new-versions}; that applies only when saving).
+The number of oldest versions to keep is given by the variable
+@code{kept-old-versions}.
 
   Period with a positive numeric argument, as in @kbd{C-u 3 .},
 specifies the number of newest versions to keep, overriding
@@ -387,10 +395,11 @@ and unflag files.)
 @kindex m @r{(Dired)}
 @kindex * m @r{(Dired)}
 @findex dired-mark
-Mark the current file with @samp{*} (@code{dired-mark}).  With a numeric
-argument @var{n}, mark the next @var{n} files starting with the current
-file.  (If @var{n} is negative, mark the previous @minus{}@var{n}
-files.)
+Mark the current file with @samp{*} (@code{dired-mark}).  If the
+region is active, mark all files in the region instead; otherwise, if
+a numeric argument @var{n} is supplied, mark the next @var{n} files
+instead, starting with the current file (if @var{n} is negative, mark
+the previous @minus{}@var{n} files).
 
 @item * *
 @kindex * * @r{(Dired)}
@@ -426,7 +435,11 @@ and @file{..} (@code{dired-mark-subdir-files}).
 @kindex u @r{(Dired)}
 @kindex * u @r{(Dired)}
 @findex dired-unmark
-Remove any mark on this line (@code{dired-unmark}).
+Remove any mark on this line (@code{dired-unmark}).  If the region is
+active, unmark all files in the region instead; otherwise, if a
+numeric argument @var{n} is supplied, unmark the next @var{n} files
+instead, starting with the current file (if @var{n} is negative,
+unmark the previous @minus{}@var{n} files).
 
 @item @key{DEL}
 @itemx * @key{DEL}
@@ -434,7 +447,11 @@ Remove any mark on this line (@code{dired-unmark}).
 @findex dired-unmark-backward
 @cindex unmarking files (in Dired)
 Move point to previous line and remove any mark on that line
-(@code{dired-unmark-backward}).
+(@code{dired-unmark-backward}).  If the region is active, unmark all
+files in the region instead; otherwise, if a numeric argument @var{n}
+is supplied, unmark the @var{n} preceding files instead, starting with
+the current file (if @var{n} is negative, unmark the next
+@minus{}@var{n} files).
 
 @item * !
 @itemx U
@@ -782,15 +799,20 @@ more matches.  @xref{Tags Search}.
 @kindex ! @r{(Dired)}
 @kindex X @r{(Dired)}
 The Dired command @kbd{!} (@code{dired-do-shell-command}) reads a
-shell command string in the minibuffer and runs that shell command on
+shell command string in the minibuffer, and runs that shell command on
 one or more files.  The files that the shell command operates on are
 determined in the usual way for Dired commands (@pxref{Operating on
 Files}).  The command @kbd{X} is a synonym for @kbd{!}.
 
   The command @kbd{&} (@code{dired-do-async-shell-command}) does the
-same, except that it runs the shell command asynchronously.  You can
+same, except that it runs the shell command asynchronously.  (You can
 also do this with @kbd{!}, by appending a @samp{&} character to the
-end of the shell command.
+end of the shell command.)  When the command operates on more than one
+file, it runs multiple parallel copies of the specified shell command,
+one for each file.  As an exception, if the specified shell command
+ends in @samp{;} or @samp{;&}, the shell command is run in the
+background on each file sequentially; Emacs waits for each invoked
+shell command to terminate before running the next one.
 
   For both @kbd{!} and @kbd{&}, the working directory for the shell
 command is the top-level directory of the Dired buffer.
@@ -936,32 +958,19 @@ default.
 @cindex file comparison (in Dired)
 @cindex compare files (in Dired)
 
-  Here are two Dired commands that compare specified files using
-@code{diff}.  They show the output in a buffer using Diff mode
-(@pxref{Comparing Files}).
-
-@table @kbd
-@item =
 @findex dired-diff
 @kindex = @r{(Dired)}
-Compare the current file (the file at point) with another file (the
-file at the mark) using the @code{diff} program (@code{dired-diff}).
-The file at the mark is the first argument of @code{diff}, and the
-file at point is the second argument.  This refers to the ordinary
-Emacs mark, not Dired marks; use @kbd{C-@key{SPC}}
-(@code{set-mark-command}) to set the mark at the first file's line
-(@pxref{Setting Mark}).
-
-@findex dired-backup-diff
-@kindex M-= @r{(Dired)}
-@item M-=
-Compare the current file with its latest backup file
-(@code{dired-backup-diff}).  If the current file is itself a backup,
-compare it with the file it is a backup of; this way, you can compare
-a file with any one of its backups.
-
-The backup file is the first file given to @code{diff}.
-@end table
+  The @kbd{=} (@code{dired-diff}) command compares the current file
+(the file at point) with another file (read using the minibuffer)
+using the @command{diff} program.  The file specified with the
+minibuffer is the first argument of @command{diff}, and file at point
+is the second argument.  The output of the @command{diff} program is
+shown in a buffer using Diff mode (@pxref{Comparing Files}).
+
+  If the region is active, the default for the file read using the
+minibuffer is the file at the mark (i.e., the ordinary Emacs mark,
+not a Dired mark; @pxref{Setting Mark}).  Otherwise, if the file at
+point has a backup file (@pxref{Backup}), that is the default.
 
 @node Subdirectories in Dired
 @section Subdirectories in Dired
@@ -1099,7 +1108,8 @@ can use hiding to temporarily exclude subdirectories from operations
 without having to remove the Dired marks on files in those
 subdirectories.
 
-@xref{Dired Updating}, for how to insert or delete a subdirectory listing.
+@xref{Subdirectories in Dired}, for how to insert a subdirectory
+listing, and @pxref{Dired Updating} for how delete it.
 
 @node Dired Updating
 @section Updating the Dired Buffer
@@ -1161,17 +1171,17 @@ automatically when you revisit it, by setting the variable
 
 @kindex k @r{(Dired)}
 @findex dired-do-kill-lines
-  To delete the specified @emph{file lines} from the buffer---not
-delete the files---type @kbd{k} (@code{dired-do-kill-lines}).  Like
+  To delete @emph{file lines} from the buffer---without actually
+deleting the files---type @kbd{k} (@code{dired-do-kill-lines}).  Like
 the file-operating commands, this command operates on the next @var{n}
-files, or on the marked files if any; but it does not operate on the
-current file as a last resort.
+files, or on the marked files if any.  However, it does not operate on
+the current file, since otherwise mistyping @kbd{k} could be annoying.
 
-  If you use @kbd{k} with a numeric prefix argument to kill the line
-for a file that is a directory, which you have inserted in the Dired
-buffer as a subdirectory, it removed that subdirectory line from the
-buffer as well.  Typing @kbd{C-u k} on the header line for a
-subdirectory also removes the subdirectory line from the Dired buffer.
+  If you use @kbd{k} to kill the line for a directory file which you
+had inserted in the Dired buffer as a subdirectory
+(@pxref{Subdirectories in Dired}), it removes the subdirectory listing
+as well.  Typing @kbd{C-u k} on the header line for a subdirectory
+also removes the subdirectory line from the Dired buffer.
 
   The @kbd{g} command brings back any individual lines that you have
 killed in this way, but not subdirectories---you must use @kbd{i} to
@@ -1302,19 +1312,19 @@ takes a long time if the directory contains many image files, and it
 asks for confirmation if the number of image files exceeds
 @code{image-dired-show-all-from-dir-max-files}.
 
-  With point in the thumbnail buffer, you can type @kbd{RET}
+  With point in the thumbnail buffer, you can type @key{RET}
 (@code{image-dired-display-thumbnail-original-image}) to display a
 sized version of it in another window.  This sizes the image to fit
 the window.  Use the arrow keys to move around in the buffer.  For
-easy browsing, use @kbd{SPC}
+easy browsing, use @key{SPC}
 (@code{image-dired-display-next-thumbnail-original}) to advance and
-display the next image.  Typing @kbd{DEL}
+display the next image.  Typing @key{DEL}
 (@code{image-dired-display-previous-thumbnail-original}) backs up to
 the previous thumbnail and displays that instead.
 
 @vindex image-dired-external-viewer
   To view and the image in its original size, either provide a prefix
-argument (@kbd{C-u}) before pressing @kbd{RET}, or type
+argument (@kbd{C-u}) before pressing @key{RET}, or type
 @kbd{C-@key{RET}} (@code{image-dired-thumbnail-display-external}) to
 display the image in an external viewer.  You must first configure
 @code{image-dired-external-viewer}.
@@ -1373,7 +1383,7 @@ file, the search wraps around to the first marked file.  The command
 a regular expression search.  @xref{Repeat Isearch}, for information
 about search repetition.
 
-@cindex Adding to the kill ring in Dired.
+@cindex adding to the kill ring in Dired
 @kindex w @r{(Dired)}
 @findex dired-copy-filename-as-kill
   The command @kbd{w} (@code{dired-copy-filename-as-kill}) puts the
@@ -1394,6 +1404,19 @@ names into arguments for other Emacs commands.  It also displays what
 it added to the kill ring, so you can use it to display the list of
 currently marked files in the echo area.
 
+@kindex ( @r{(Dired)}
+@findex dired-hide-details-mode
+@vindex dired-hide-details-hide-symlink-targets
+@vindex dired-hide-details-hide-information-lines
+@cindex hiding details in Dired
+  The command @kbd{(} (@code{dired-hide-details-mode}) toggles whether
+details, such as ownership or file permissions, are visible in the
+current Dired buffer.  By default, it also hides the targets of
+symbolic links, and all lines other than the header line and
+file/directory listings.  To change this, customize the options
+@code{dired-hide-details-hide-symlink-targets} and
+@code{dired-hide-details-hide-information-lines}, respectively.
+
 @cindex Dired and version control
   If the directory you are visiting is under version control
 (@pxref{Version Control}), then the normal VC diff and log commands