@c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
-@c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+@c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Files, Buffers, Keyboard Macros, Top
@chapter File Handling
about 10 megabytes), Emacs asks you for confirmation first. You can
answer @kbd{y} to proceed with visiting the file. Note, however, that
Emacs cannot visit files that are larger than the maximum Emacs buffer
-size, which is around 256 megabytes on 32-bit machines
+size, which is around 512 megabytes on 32-bit machines
(@pxref{Buffers}). If you try, Emacs will display an error message
saying that the maximum buffer size has been exceeded.
@cindex minibuffer confirmation
@cindex confirming in the minibuffer
- When @key{TAB} completion results in a nonexistent file name and you
-type @key{RET} immediately to visit it, Emacs asks for confirmation
-because it is quite possible that you expected completion to go
-further and give you an existing file's name. Type @key{RET} to
-confirm and visit the nonexistent file. The string @samp{[Confirm]}
-appears for a short time after the file name to indicate the need to
-confirm in this way.
-
@vindex confirm-nonexistent-file-or-buffer
- The variable @code{confirm-nonexistent-file-or-buffer} controls
-whether Emacs asks for confirmation before visiting a new file. The
-default value, @code{after-completion}, gives the behavior we have
-just described. If the value is @code{nil}, Emacs never asks for
-confirmation; for any other non-@code{nil} value, Emacs always asks
-for confirmation. This variable also affects the
-@code{switch-to-buffer} command (@pxref{Select Buffer}).
+ When @key{TAB} completion results in a nonexistent file name and you
+type @key{RET} immediately to visit it, Emacs asks for confirmation;
+this is because it's possible that you expected completion to go
+further and give you an existing file's name. The string
+@samp{[Confirm]} appears for a short time after the file name to
+indicate the need to confirm in this way. Type @key{RET} to confirm
+and visit the nonexistent file. The variable
+@code{confirm-nonexistent-file-or-buffer} controls whether Emacs asks
+for confirmation before visiting a new file. The default value,
+@code{after-completion}, gives the behavior we have just described.
+If the value is @code{nil}, Emacs never asks for confirmation; for any
+other non-@code{nil} value, Emacs always asks for confirmation. This
+variable also affects the @code{switch-to-buffer} command
+(@pxref{Select Buffer}). @xref{Completion}, for more information
+about completion.
@kindex C-x C-v
@findex find-alternate-file
@item d
Diff the buffer against its corresponding file, so you can see what
changes you would be saving. This calls the command
-@code{diff-buffer-with-file} (@xpref{Comparing Files}).
+@code{diff-buffer-with-file} (@pxref{Comparing Files}).
@item C-h
Display a help message about these options.
@end table
another from the newly saved contents if you save again.
@menu
-* Names: Backup Names. How backup files are named.
-* Deletion: Backup Deletion. Emacs deletes excess numbered backups.
-* Copying: Backup Copying. Backups can be made by copying or renaming.
+* Names: Backup Names. How backup files are named.
+* Deletion: Backup Deletion. Emacs deletes excess numbered backups.
+* Copying: Backup Copying. Backups can be made by copying or renaming.
@end menu
@node Backup Names
However, if you are sure that the file will only change by growing at
the end, use Auto-Revert Tail mode instead
(@code{auto-revert-tail-mode}). It is more efficient for this.
+Auto-Revert Tail mode works also for remote files.
@xref{VC Mode Line}, for Auto Revert peculiarities in buffers that
visit files under version control.
* Files: Auto Save Files. The file where auto-saved changes are
actually made until you save the file.
* Control: Auto Save Control. Controlling when and how often to auto-save.
-* Recover:: Recovering text from auto-save files.
+* Recover:: Recovering text from auto-save files.
@end menu
@node Auto Save Files
@item M-x make-directory @key{RET} @var{dirname} @key{RET}
Create a new directory named @var{dirname}.
@item M-x delete-directory @key{RET} @var{dirname} @key{RET}
-Delete the directory named @var{dirname}. It must be empty,
-or you get an error.
+Delete the directory named @var{dirname}. If it isn't empty,
+you will be asked whether you want to delete it recursively.
@end table
@findex list-directory
The command @kbd{M-x delete-directory} prompts for a directory name
using the minibuffer, and deletes the directory if it is empty. If
-the directory is not empty, this signals an error. On systems that
-have a ``Trash'' or ``Recycle Bin'' feature, you can make this command
-move the specified directory to the Trash or Recycle Bin, instead of
-deleting it outright, by changing the variable
-@code{delete-by-moving-to-trash} to @code{t}. @xref{Misc File Ops},
-for more information about using the Trash.
+the directory is not empty, you will be asked whether you want to
+delete it recursively. On systems that have a ``Trash'' or ``Recycle
+Bin'' feature, you can make this command move the specified directory
+to the Trash or Recycle Bin, instead of deleting it outright, by
+changing the variable @code{delete-by-moving-to-trash} to @code{t}.
+@xref{Misc File Ops}, for more information about using the Trash.
@node Comparing Files
@section Comparing Files
file system. On MS-DOS, it works by copying the file.
@findex copy-file
+@findex copy-directory
@cindex copying files
@kbd{M-x copy-file} reads the file @var{old} and writes a new file
-named @var{new} with the same contents.
+named @var{new} with the same contents. @kbd{M-x copy-directory} does
+the same for directories, by recursive copying all files and
+subdirectories.
@findex make-symbolic-link
@cindex symbolic links (creation)