annotate man/new-users-guide/files.texi @ 5608:4cffcc80b299

Fix Windows build by adding sequence.obj to the build list.
author Vin Shelton <acs@xemacs.org>
date Thu, 08 Dec 2011 10:05:14 -0500
parents f43f9ca6c7d9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 @comment node-name, next, previous, up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 @node Files, Other Customizations, Modes, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 @chapter Files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 @cindex files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 The basic unit of stored data in Unix is the @dfn{file}. To edit a file,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 you must tell Emacs to read the file into a buffer. This is called
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 @dfn{visiting} the file. You can now edit the buffer and to save the
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
9 changes you must write the buffer back to the file.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 In addition to visiting and saving files, Emacs can delete, copy, rename,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 and append to files, and operate on file directories.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 @comment node-name, next, previous, up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 @menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 * File Names:: How to type and edit file name arguments.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 * Visiting:: Visiting a file prepares Emacs to edit the file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 * Saving Files:: How to save Emacs files.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 @end menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 @node File Names, Visiting, Files, Files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 @section File Names
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 @cindex file names
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 Most of the Emacs commands that operate on a file require you to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 specify a file name. For example, you might specify the file name
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 initially when you enter Emacs :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 xemacs myfile RET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 After you hit @key{RET}, you will enter XEmacs with "myfile" read into
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 the current buffer. If you do not specify the filename when entering
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 Emacs, you can use the @b{Open...} option from the @b{File} menu. You
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 will be prompted for a filename in the echo area:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 Find file: /usr/workspace/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 @vindex default-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 Type in a file name which you want to open after the "/" and hit
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 @key{RET}. The specified file will be read into the current buffer. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 "/usr/workspace" might be the @dfn{default directory}. When Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 prompts you for a file, it uses the default-directory unless you specify
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 a directory. You can see what the default directory of the current
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 buffer is by using the @b{Describe Variable} option from the @b{Help}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 menu. When Emacs prompts you for the variable name to describe, type
1738
f43f9ca6c7d9 [xemacs-hg @ 2003-10-10 12:39:27 by stephent]
stephent
parents: 444
diff changeset
52 @code{default-directory}. If you wish to open a file in some other
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 directory, use @key{DEL} or the @key{BackSpace} key to go back and type
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
54 the path name of the new directory.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 You can create a new directory by typing @kbd{M-x
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 make-directory}. This command will prompt you for a directory name:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 Create directory: /usr/workspace/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 @findex make-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 @findex remove-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 @cindex creating-directories
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 @cindex removing-directories
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 After you type a directory name and press @key{RET}, a new directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 with the specified name will be created. If you do not wish to create a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 new directory, then simply press @kbd{C-g} to quit the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 command. Similarly, you can also remove a directory by using the command
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 @kbd{remove-directory}. The command @kbd{M-x pwd} will print the current
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 buffer's default directory. For more information on file names,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 @xref{File Names,,,xemacs,XEmacs User's Manual}.
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
75
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 @node Visiting, Saving Files, File Names, Files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 @section Visiting Files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 @cindex visiting files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 To edit a file in Emacs you need to @dfn{visit} it. @dfn{Visiting} a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 file means copying its contents (or reading them) into the current
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 buffer. Emacs will create a new buffer for each file that you visit. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 buffer will be named after the file that you open. If you open a file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 @file{/usr/workspace/myfile.texinfo}, the buffer will be called
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86 "myfile.texinfo". If a buffer with this name already exists, a unique
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 name will be constructed by appending @samp{<2>}, @samp{<3>}, etc. If
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 this is the second buffer with the same name, a "<2>" will be appended,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 "<3>" for a third buffer and so on. The name of the buffer which is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 being displayed in the window will be shown both at the top and bottom
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 of the frame. Once you are in XEmacs, you can use the following
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 commands:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 @table @kbd
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 @item C-x C-f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 @findex find-file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 @kindex C-x C-f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 This command will visit a file (@code{find-file}). It will prompt you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 for a file name to visit. The @b{Open...} option from the @b{File} menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 does the same thing:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 Find file: /usr/workspace/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 Type in a filename and press @key{RET}. You will see a new buffer on the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 screen with its name in the mode-line. If the filename you specify
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 already exists in Emacs, the buffer containing that file will be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 selected. You will get an error message if the filename does not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 exist. If you still press @key{RET}, a new buffer with the given
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
112 filename will be displayed on the screen.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 @item C-x C-v
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 @kindex C-x C-v
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 @findex find-alternate-file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 This command (@code{find-alternate-file}), will visit a different file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 instead of the one visited last. It is similar to @kbd{C-c C-f} except
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
119 that it kills the current buffer (after offering to save it).
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 @item C-x 5 C-f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 @kindex C-x 5 C-f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 @findex find-file-other-frame
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 This command will visit a file in another frame
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 (@code{find-file-other-frame}) without changing the current window or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 frame. The @b{Open in New Frame...} from the @b{File} menu will do the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 same thing. It will prompt you for a file name in the echo area. After
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 you type the file name and press @key{RET}, the specified file will be
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
129 read into a new buffer and displayed on a new frame.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 @node Saving Files, , Visiting, Files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 @section Saving Files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 @cindex saving files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 The changes that you make after visiting a file will not be saved
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 unless you save the buffer. When you save the buffer, Emacs writes the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 current contents of the buffer into the visited file. Some commands to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 save buffers are:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 @table @kbd
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 @item C-x C-s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 @findex save-buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 @kindex C-x C-s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 This command will permanently save the current buffer in its visited
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 file (@code{save-buffer}). You will see the following message in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 echo area if you save a file called "myfile.texinfo" :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 Wrote /usr/workspace/myfile.texinfo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 Try using this command twice. You will get the above message the first
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 time you use this command, the second time you will get the following
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
156 message:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 (No changes need to be saved)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 This message indicates that you haven't made any changes since the last
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
164 time you saved the file.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 @item C-x s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 @kindex C-x s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 @findex save-some-buffers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 This command will save all the buffers in their visited files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 (@code{save-some-buffers}). It will prompt you for typing yes or no:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 Save file /usr/workspace/myfile.texinfo? (y or n)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 You will get the above message for all the buffers. Type "y" if you want
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
178 to save the buffer.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 @item C-x C-w
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 @findex write file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 @kindex C-x C-w
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 This command will prompt you for a file name and save the current buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 in that file. (@code{write-file}). You will see the following message in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 the echo area:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 Write file: /usr/workspace/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 After you type in a file name, press @key{RET}. The buffer will be saved
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 in a new file. You can make copies of a particular file using this
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
194 command.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 You can also undo all the changes made since the file was visited or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 saved by reading the text from the file again (called
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 @dfn{reverting}). For more information on this option,
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
200 @xref{Reverting,,,xemacs,XEmacs User's Manual}.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 @vindex make-backup-files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 When you save a file in Emacs, it destroys its old contents. However,
1738
f43f9ca6c7d9 [xemacs-hg @ 2003-10-10 12:39:27 by stephent]
stephent
parents: 444
diff changeset
204 if you set the variable @code{make-backup-files} to non-@code{nil}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 i.e. @samp{t}, Emacs will create a @dfn{backup} file. Select the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 @b{Describe variable} option from the @b{Help} menu and look at the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 documentation for this variable. Its default value should be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 @samp{t}. However, if its not then use @kbd{M-x set-variable} to set it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 to @samp{t} (@pxref{Setting Variables}). The backup file will contain
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 the contents from the last time you visited the file. Emacs also
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 provides options for creating numbered backups. For more information on
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
212 backups, @xref{Backup,,,xemacs,XEmacs User's Manual}.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 @cindex auto saving
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 Emacs also saves all the files from time to time so that in case of a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 system crash you don't lose lot of your work. You will see the message
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 @samp{Auto-saving...} displayed in the echo area when the buffer is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 being saved automatically. The auto saved files are named by putting the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 character @samp{#} in front and back. For example a file called
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 "myfile.texinfo" would be named as @file{#myfile.texinfo#}. For
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 information on controlling auto-saving and recovering data from
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
222 auto-saving, @xref{Auto Save Files,,,xemacs,XEmacs User's Manual}.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 @cindex simultaneous editing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 Emacs provides protection from simultaneous editing which occurs if
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 two users are visiting the same file and trying to save their
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 changes. It will put a lock on a file which is being visited and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 modified. If any other user tries to modify that file, it will inform
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 the user about the lock and provide some
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 options. For more information on protection against simultaneous
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 editing, @xref{Interlocking,,,xemacs,XEmacs User's Manual}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
251
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
252
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
253
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 428
diff changeset
254