annotate etc/OOOONEWS @ 29473:80835e075d87

(display_line): Set row's and iterator's starts_in_middle_of_char_p and ends_in_middle_of_char_p flags. Set cursor even if row ends in the middle of a character. (dump_glyph_row): Print values of new flags. (redisplay_window) <cursor movement in unchanged window>: When point has been moved forward, and PT is at the end of the cursor row, don't place the cursor in the next row if the cursor row ends in the middle of a character or at ZV.
author Gerd Moellmann <gerd@gnu.org>
date Tue, 06 Jun 2000 20:02:39 +0000
parents e96ffe544684
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
1 GNU Emacs NEWS -- history of user-visible changes. 26-Mar-1986
Dave Love <fx@gnu.org>
parents:
diff changeset
2 Copyright (C) 1986 Richard M. Stallman.
Dave Love <fx@gnu.org>
parents:
diff changeset
3 See the end for copying conditions.
Dave Love <fx@gnu.org>
parents:
diff changeset
4
Dave Love <fx@gnu.org>
parents:
diff changeset
5 For older news, see the file OOOOONEWS.
Dave Love <fx@gnu.org>
parents:
diff changeset
6
Dave Love <fx@gnu.org>
parents:
diff changeset
7 Changes in Emacs 17
Dave Love <fx@gnu.org>
parents:
diff changeset
8
Dave Love <fx@gnu.org>
parents:
diff changeset
9 * Frustrated?
Dave Love <fx@gnu.org>
parents:
diff changeset
10
Dave Love <fx@gnu.org>
parents:
diff changeset
11 Try M-x doctor.
Dave Love <fx@gnu.org>
parents:
diff changeset
12
Dave Love <fx@gnu.org>
parents:
diff changeset
13 * Bored?
Dave Love <fx@gnu.org>
parents:
diff changeset
14
Dave Love <fx@gnu.org>
parents:
diff changeset
15 Try M-x hanoi.
Dave Love <fx@gnu.org>
parents:
diff changeset
16
Dave Love <fx@gnu.org>
parents:
diff changeset
17 * Brain-damaged?
Dave Love <fx@gnu.org>
parents:
diff changeset
18
Dave Love <fx@gnu.org>
parents:
diff changeset
19 Try M-x yow.
Dave Love <fx@gnu.org>
parents:
diff changeset
20
Dave Love <fx@gnu.org>
parents:
diff changeset
21 * Sun3, Tahoe, Apollo, HP9000s300, Celerity, NCR Tower 32,
Dave Love <fx@gnu.org>
parents:
diff changeset
22 Sequent, Stride, Encore, Plexus and AT&T 7300 machines supported.
Dave Love <fx@gnu.org>
parents:
diff changeset
23
Dave Love <fx@gnu.org>
parents:
diff changeset
24 The Tahoe, Sun3, Sequent and Celerity use 4.2. In regard to the
Dave Love <fx@gnu.org>
parents:
diff changeset
25 Apollo, see the file APOLLO in this directory. NCR Tower32,
Dave Love <fx@gnu.org>
parents:
diff changeset
26 HP9000s300, Stride and Nu run forms of System V. System V rel 2 also
Dave Love <fx@gnu.org>
parents:
diff changeset
27 works on Vaxes now. See etc/MACHINES.
Dave Love <fx@gnu.org>
parents:
diff changeset
28
Dave Love <fx@gnu.org>
parents:
diff changeset
29 * System V Unix supported, including subprocesses.
Dave Love <fx@gnu.org>
parents:
diff changeset
30
Dave Love <fx@gnu.org>
parents:
diff changeset
31 It should be possible now to bring up Emacs on a machine running
Dave Love <fx@gnu.org>
parents:
diff changeset
32 mere unameliorated system V Unix with no major work; just possible bug
Dave Love <fx@gnu.org>
parents:
diff changeset
33 fixes. But you can expect to find a handful of those on any machine
Dave Love <fx@gnu.org>
parents:
diff changeset
34 that Emacs has not been run on before.
Dave Love <fx@gnu.org>
parents:
diff changeset
35
Dave Love <fx@gnu.org>
parents:
diff changeset
36 * Berkeley 4.1 Unix supported.
Dave Love <fx@gnu.org>
parents:
diff changeset
37
Dave Love <fx@gnu.org>
parents:
diff changeset
38 See etc/MACHINES.
Dave Love <fx@gnu.org>
parents:
diff changeset
39
Dave Love <fx@gnu.org>
parents:
diff changeset
40 * Portable `alloca' provided.
Dave Love <fx@gnu.org>
parents:
diff changeset
41
Dave Love <fx@gnu.org>
parents:
diff changeset
42 Emacs can now run on machines that do not and cannot support the library
Dave Love <fx@gnu.org>
parents:
diff changeset
43 subroutine `alloca' in the canonical fashion, using an `alloca' emulation
Dave Love <fx@gnu.org>
parents:
diff changeset
44 written in C.
Dave Love <fx@gnu.org>
parents:
diff changeset
45
Dave Love <fx@gnu.org>
parents:
diff changeset
46 * On-line manual.
Dave Love <fx@gnu.org>
parents:
diff changeset
47
Dave Love <fx@gnu.org>
parents:
diff changeset
48 Info now contains an Emacs manual, with essentially the same text
Dave Love <fx@gnu.org>
parents:
diff changeset
49 as in the printed manual.
Dave Love <fx@gnu.org>
parents:
diff changeset
50
Dave Love <fx@gnu.org>
parents:
diff changeset
51 The manual can now be printed with a standard TeX.
Dave Love <fx@gnu.org>
parents:
diff changeset
52
Dave Love <fx@gnu.org>
parents:
diff changeset
53 Nicely typeset and printed copies of the manual are available
Dave Love <fx@gnu.org>
parents:
diff changeset
54 from the Free Software Foundation.
Dave Love <fx@gnu.org>
parents:
diff changeset
55
Dave Love <fx@gnu.org>
parents:
diff changeset
56 * Backup file version numbers.
Dave Love <fx@gnu.org>
parents:
diff changeset
57
Dave Love <fx@gnu.org>
parents:
diff changeset
58 Emacs now supports version numbers in backup files.
Dave Love <fx@gnu.org>
parents:
diff changeset
59
Dave Love <fx@gnu.org>
parents:
diff changeset
60 The first time you save a particular file in one editing session,
Dave Love <fx@gnu.org>
parents:
diff changeset
61 the old file is copied or renamed to serve as a backup file.
Dave Love <fx@gnu.org>
parents:
diff changeset
62 In the past, the name for the backup file was made by appending `~'
Dave Love <fx@gnu.org>
parents:
diff changeset
63 to the end of the original file name.
Dave Love <fx@gnu.org>
parents:
diff changeset
64
Dave Love <fx@gnu.org>
parents:
diff changeset
65 Now the backup file name can instead be made by appending ".~NN~" to
Dave Love <fx@gnu.org>
parents:
diff changeset
66 the original file name, where NN stands for a numeric version. Each
Dave Love <fx@gnu.org>
parents:
diff changeset
67 time this is done, the new version number is one higher than the
Dave Love <fx@gnu.org>
parents:
diff changeset
68 highest previously used.
Dave Love <fx@gnu.org>
parents:
diff changeset
69
Dave Love <fx@gnu.org>
parents:
diff changeset
70 Thus, the active, current file does not have a version number.
Dave Love <fx@gnu.org>
parents:
diff changeset
71 Only the backups have them.
Dave Love <fx@gnu.org>
parents:
diff changeset
72
Dave Love <fx@gnu.org>
parents:
diff changeset
73 This feature is controlled by the variable `version-control'. If it
Dave Love <fx@gnu.org>
parents:
diff changeset
74 is `nil', as normally, then numbered backups are made only for files
Dave Love <fx@gnu.org>
parents:
diff changeset
75 that already have numbered backups. Backup names with just `~' are
Dave Love <fx@gnu.org>
parents:
diff changeset
76 used for files that have no numbered backups.
Dave Love <fx@gnu.org>
parents:
diff changeset
77
Dave Love <fx@gnu.org>
parents:
diff changeset
78 If `version-control' is `never', then the backup file's name is
Dave Love <fx@gnu.org>
parents:
diff changeset
79 made with just `~' in any case.
Dave Love <fx@gnu.org>
parents:
diff changeset
80
Dave Love <fx@gnu.org>
parents:
diff changeset
81 If `version-control' is not `nil' or `never', numbered backups are
Dave Love <fx@gnu.org>
parents:
diff changeset
82 made unconditionally.
Dave Love <fx@gnu.org>
parents:
diff changeset
83
Dave Love <fx@gnu.org>
parents:
diff changeset
84 To prevent unlimited consumption of disk space, Emacs can delete
Dave Love <fx@gnu.org>
parents:
diff changeset
85 old backup versions automatically. Generally Emacs keeps the first
Dave Love <fx@gnu.org>
parents:
diff changeset
86 few backups and the latest few backups, deleting any in between.
Dave Love <fx@gnu.org>
parents:
diff changeset
87 This happens every time a new backup is made. The two variables that
Dave Love <fx@gnu.org>
parents:
diff changeset
88 control the deletion are `kept-old-versions' and `kept-new-versions'.
Dave Love <fx@gnu.org>
parents:
diff changeset
89 Their values are, respectively, the number of oldest backups to keep
Dave Love <fx@gnu.org>
parents:
diff changeset
90 and the number of newest ones to keep, each time a new backup is made.
Dave Love <fx@gnu.org>
parents:
diff changeset
91 The value of `kept-new-versions' includes the backup just created.
Dave Love <fx@gnu.org>
parents:
diff changeset
92 By default, both values are 2.
Dave Love <fx@gnu.org>
parents:
diff changeset
93
Dave Love <fx@gnu.org>
parents:
diff changeset
94 If `trim-versions-without-asking' is non-`nil', the excess middle versions
Dave Love <fx@gnu.org>
parents:
diff changeset
95 are deleted without a murmur. If it is `nil', the default, then you
Dave Love <fx@gnu.org>
parents:
diff changeset
96 are asked whether the excess middle versions should really be deleted.
Dave Love <fx@gnu.org>
parents:
diff changeset
97
Dave Love <fx@gnu.org>
parents:
diff changeset
98 Dired has a new command `.' which marks for deletion all but the latest
Dave Love <fx@gnu.org>
parents:
diff changeset
99 and oldest few of every numeric series of backups. `kept-old-versions'
Dave Love <fx@gnu.org>
parents:
diff changeset
100 controls the number of oldest versions to keep, and `dired-kept-versions'
Dave Love <fx@gnu.org>
parents:
diff changeset
101 controls the number of latest versions to keep. A numeric argument to
Dave Love <fx@gnu.org>
parents:
diff changeset
102 the `.' command, if positive, specifies the number of latest versions
Dave Love <fx@gnu.org>
parents:
diff changeset
103 to keep, overriding `dired-kept-versions'. A negative argument specifies
Dave Love <fx@gnu.org>
parents:
diff changeset
104 the number of oldest versions to keep, using minus the argument to override
Dave Love <fx@gnu.org>
parents:
diff changeset
105 `kept-old-versions'.
Dave Love <fx@gnu.org>
parents:
diff changeset
106
Dave Love <fx@gnu.org>
parents:
diff changeset
107 * Immediate conflict detection.
Dave Love <fx@gnu.org>
parents:
diff changeset
108
Dave Love <fx@gnu.org>
parents:
diff changeset
109 Emacs now locks the files it is modifying, so that if
Dave Love <fx@gnu.org>
parents:
diff changeset
110 you start to modify within Emacs a file that is being
Dave Love <fx@gnu.org>
parents:
diff changeset
111 modified in another Emacs, you get an immediate warning.
Dave Love <fx@gnu.org>
parents:
diff changeset
112
Dave Love <fx@gnu.org>
parents:
diff changeset
113 The warning gives you three choices:
Dave Love <fx@gnu.org>
parents:
diff changeset
114 1. Give up, and do not make any changes.
Dave Love <fx@gnu.org>
parents:
diff changeset
115 2. Make changes anyway at your own risk.
Dave Love <fx@gnu.org>
parents:
diff changeset
116 3. Make changes anyway, and record yourself as
Dave Love <fx@gnu.org>
parents:
diff changeset
117 the person locking the file (instead of whoever
Dave Love <fx@gnu.org>
parents:
diff changeset
118 was previously recorded.)
Dave Love <fx@gnu.org>
parents:
diff changeset
119
Dave Love <fx@gnu.org>
parents:
diff changeset
120 Just visiting a file does not lock it. It is locked
Dave Love <fx@gnu.org>
parents:
diff changeset
121 when you try to change the buffer that is visiting the file.
Dave Love <fx@gnu.org>
parents:
diff changeset
122 Saving the file unlocks it until you make another change.
Dave Love <fx@gnu.org>
parents:
diff changeset
123
Dave Love <fx@gnu.org>
parents:
diff changeset
124 Locking is done by writing a lock file in a special designated
Dave Love <fx@gnu.org>
parents:
diff changeset
125 directory. If such a directory is not provided and told to
Dave Love <fx@gnu.org>
parents:
diff changeset
126 Emacs as part of configuring it for your machine, the lock feature
Dave Love <fx@gnu.org>
parents:
diff changeset
127 is turned off.
Dave Love <fx@gnu.org>
parents:
diff changeset
128
Dave Love <fx@gnu.org>
parents:
diff changeset
129 * M-x recover-file.
Dave Love <fx@gnu.org>
parents:
diff changeset
130
Dave Love <fx@gnu.org>
parents:
diff changeset
131 This command is used to get a file back from an auto-save
Dave Love <fx@gnu.org>
parents:
diff changeset
132 (after a system crash, for example). It takes a file name
Dave Love <fx@gnu.org>
parents:
diff changeset
133 as argument and visits that file, but gets the data from the
Dave Love <fx@gnu.org>
parents:
diff changeset
134 file's last auto save rather than from the file itself.
Dave Love <fx@gnu.org>
parents:
diff changeset
135
Dave Love <fx@gnu.org>
parents:
diff changeset
136 * M-x normal-mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
137
Dave Love <fx@gnu.org>
parents:
diff changeset
138 This command resets the current buffer's major mode and local
Dave Love <fx@gnu.org>
parents:
diff changeset
139 variables to be as specified by the visit filename, the -*- line
Dave Love <fx@gnu.org>
parents:
diff changeset
140 and/or the Local Variables: block at the end of the buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
141 It is the same thing normally done when a file is first visited.
Dave Love <fx@gnu.org>
parents:
diff changeset
142
Dave Love <fx@gnu.org>
parents:
diff changeset
143 * Echo area messages disappear shortly if minibuffer is in use.
Dave Love <fx@gnu.org>
parents:
diff changeset
144
Dave Love <fx@gnu.org>
parents:
diff changeset
145 Any message in the echo area disappears after 2 seconds
Dave Love <fx@gnu.org>
parents:
diff changeset
146 if the minibuffer is active. This allows the minibuffer
Dave Love <fx@gnu.org>
parents:
diff changeset
147 to become visible again.
Dave Love <fx@gnu.org>
parents:
diff changeset
148
Dave Love <fx@gnu.org>
parents:
diff changeset
149 * C-z on System V runs a subshell.
Dave Love <fx@gnu.org>
parents:
diff changeset
150
Dave Love <fx@gnu.org>
parents:
diff changeset
151 On systems which do not allow programs to be suspended, the C-z command
Dave Love <fx@gnu.org>
parents:
diff changeset
152 forks a subshell that talks directly to the terminal, and then waits
Dave Love <fx@gnu.org>
parents:
diff changeset
153 for the subshell to exit. This gets almost the effect of suspending
Dave Love <fx@gnu.org>
parents:
diff changeset
154 in that you can run other programs and then return to Emacs. However,
Dave Love <fx@gnu.org>
parents:
diff changeset
155 you cannot log out from the subshell.
Dave Love <fx@gnu.org>
parents:
diff changeset
156
Dave Love <fx@gnu.org>
parents:
diff changeset
157 * C-c is always a prefix character.
Dave Love <fx@gnu.org>
parents:
diff changeset
158
Dave Love <fx@gnu.org>
parents:
diff changeset
159 Also, subcommands of C-c which are letters are always
Dave Love <fx@gnu.org>
parents:
diff changeset
160 reserved for the user. No standard Emacs major mode
Dave Love <fx@gnu.org>
parents:
diff changeset
161 defines any of them.
Dave Love <fx@gnu.org>
parents:
diff changeset
162
Dave Love <fx@gnu.org>
parents:
diff changeset
163 * Picture mode C-c commands changed.
Dave Love <fx@gnu.org>
parents:
diff changeset
164
Dave Love <fx@gnu.org>
parents:
diff changeset
165 The old C-c k command is now C-c C-w.
Dave Love <fx@gnu.org>
parents:
diff changeset
166 The old C-c y command is now C-c C-x.
Dave Love <fx@gnu.org>
parents:
diff changeset
167
Dave Love <fx@gnu.org>
parents:
diff changeset
168 * Shell mode commands changed.
Dave Love <fx@gnu.org>
parents:
diff changeset
169
Dave Love <fx@gnu.org>
parents:
diff changeset
170 All the special commands of Shell mode are now moved onto
Dave Love <fx@gnu.org>
parents:
diff changeset
171 the C-c prefix. Most are not changed aside from that.
Dave Love <fx@gnu.org>
parents:
diff changeset
172 Thus, the old Shell mode C-c command (kill current job)
Dave Love <fx@gnu.org>
parents:
diff changeset
173 is now C-c C-c; the old C-z (suspend current job) is now C-c C-z,
Dave Love <fx@gnu.org>
parents:
diff changeset
174 etc.
Dave Love <fx@gnu.org>
parents:
diff changeset
175
Dave Love <fx@gnu.org>
parents:
diff changeset
176 The old C-x commands are now C-c commands. C-x C-k (kill output)
Dave Love <fx@gnu.org>
parents:
diff changeset
177 is now C-c C-o, and C-x C-v (show output) is now C-c C-r.
Dave Love <fx@gnu.org>
parents:
diff changeset
178
Dave Love <fx@gnu.org>
parents:
diff changeset
179 The old M-= (copy previous input) command is now C-c C-y.
Dave Love <fx@gnu.org>
parents:
diff changeset
180
Dave Love <fx@gnu.org>
parents:
diff changeset
181 * Shell mode recognizes aliases for `pushd', `popd' and `cd'.
Dave Love <fx@gnu.org>
parents:
diff changeset
182
Dave Love <fx@gnu.org>
parents:
diff changeset
183 Shell mode now uses the variable `shell-pushd-regexp' as a
Dave Love <fx@gnu.org>
parents:
diff changeset
184 regular expression to recognize any command name that is
Dave Love <fx@gnu.org>
parents:
diff changeset
185 equivalent to a `pushd' command. By default it is set up
Dave Love <fx@gnu.org>
parents:
diff changeset
186 to recognize just `pushd' itself. If you use aliases for
Dave Love <fx@gnu.org>
parents:
diff changeset
187 `pushd', change the regexp to recognize them as well.
Dave Love <fx@gnu.org>
parents:
diff changeset
188
Dave Love <fx@gnu.org>
parents:
diff changeset
189 There are also `shell-popd-regexp' to recognize commands
Dave Love <fx@gnu.org>
parents:
diff changeset
190 with the effect of a `popd', and `shell-cd-regexp' to recognize
Dave Love <fx@gnu.org>
parents:
diff changeset
191 commands with the effect of a `cd'.
Dave Love <fx@gnu.org>
parents:
diff changeset
192
Dave Love <fx@gnu.org>
parents:
diff changeset
193 * "Exit" command in certain modes now C-c C-c.
Dave Love <fx@gnu.org>
parents:
diff changeset
194
Dave Love <fx@gnu.org>
parents:
diff changeset
195 These include electric buffer menu mode, electric command history
Dave Love <fx@gnu.org>
parents:
diff changeset
196 mode, Info node edit mode, and Rmail edit mode. In all these
Dave Love <fx@gnu.org>
parents:
diff changeset
197 modes, the command to exit used to be just C-c.
Dave Love <fx@gnu.org>
parents:
diff changeset
198
Dave Love <fx@gnu.org>
parents:
diff changeset
199 * Outline mode changes.
Dave Love <fx@gnu.org>
parents:
diff changeset
200
Dave Love <fx@gnu.org>
parents:
diff changeset
201 Lines that are not heading lines are now called "body" lines.
Dave Love <fx@gnu.org>
parents:
diff changeset
202 The command `hide-text' is renamed to `hide-body'.
Dave Love <fx@gnu.org>
parents:
diff changeset
203 The key M-H is renamed to C-c C-h.
Dave Love <fx@gnu.org>
parents:
diff changeset
204 The key M-S is renamed to C-c C-s.
Dave Love <fx@gnu.org>
parents:
diff changeset
205 The key M-s is renamed to C-c C-i.
Dave Love <fx@gnu.org>
parents:
diff changeset
206
Dave Love <fx@gnu.org>
parents:
diff changeset
207 Changes of line visibility are no longer undoable. As a result,
Dave Love <fx@gnu.org>
parents:
diff changeset
208 they no longer use up undo memory and no longer interfere with
Dave Love <fx@gnu.org>
parents:
diff changeset
209 undoing earlier commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
210
Dave Love <fx@gnu.org>
parents:
diff changeset
211 * Rmail changes.
Dave Love <fx@gnu.org>
parents:
diff changeset
212
Dave Love <fx@gnu.org>
parents:
diff changeset
213 The s and q commands now both expunge deleted messages before saving;
Dave Love <fx@gnu.org>
parents:
diff changeset
214 use C-x C-s to save without expunging.
Dave Love <fx@gnu.org>
parents:
diff changeset
215
Dave Love <fx@gnu.org>
parents:
diff changeset
216 The u command now undeletes the current message if it is deleted;
Dave Love <fx@gnu.org>
parents:
diff changeset
217 otherwise, it backs up as far as necessary to reach a deleted message,
Dave Love <fx@gnu.org>
parents:
diff changeset
218 and undeletes that one. The u command in the summary behaves likewise,
Dave Love <fx@gnu.org>
parents:
diff changeset
219 but considers only messages listed in the summary. The M-u command
Dave Love <fx@gnu.org>
parents:
diff changeset
220 has been eliminated.
Dave Love <fx@gnu.org>
parents:
diff changeset
221
Dave Love <fx@gnu.org>
parents:
diff changeset
222 The o and C-o keys' meanings are interchanged.
Dave Love <fx@gnu.org>
parents:
diff changeset
223 o now outputs to an Rmail file, and C-o to a Unix mail file.
Dave Love <fx@gnu.org>
parents:
diff changeset
224
Dave Love <fx@gnu.org>
parents:
diff changeset
225 The F command (rmail-find) is renamed to M-s (rmail-search).
Dave Love <fx@gnu.org>
parents:
diff changeset
226 Various new commands and features exist; see the Emacs manual.
Dave Love <fx@gnu.org>
parents:
diff changeset
227
Dave Love <fx@gnu.org>
parents:
diff changeset
228 * Local bindings described first in describe-bindings.
Dave Love <fx@gnu.org>
parents:
diff changeset
229
Dave Love <fx@gnu.org>
parents:
diff changeset
230 * [...], {...} now balance in Fundamental mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
231
Dave Love <fx@gnu.org>
parents:
diff changeset
232 * Nroff mode and TeX mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
233
Dave Love <fx@gnu.org>
parents:
diff changeset
234 The are two new major modes for editing nroff input and TeX input.
Dave Love <fx@gnu.org>
parents:
diff changeset
235 See the Emacs manual for full information.
Dave Love <fx@gnu.org>
parents:
diff changeset
236
Dave Love <fx@gnu.org>
parents:
diff changeset
237 * New C indentation style variable `c-brace-imaginary-offset'.
Dave Love <fx@gnu.org>
parents:
diff changeset
238
Dave Love <fx@gnu.org>
parents:
diff changeset
239 The value of `c-brace-imaginary-offset', normally zero, controls the
Dave Love <fx@gnu.org>
parents:
diff changeset
240 indentation of a statement inside a brace-group where the open-brace
Dave Love <fx@gnu.org>
parents:
diff changeset
241 is not the first thing on a line. The value says where the open-brace
Dave Love <fx@gnu.org>
parents:
diff changeset
242 is imagined to be, relative to the first nonblank character on the line.
Dave Love <fx@gnu.org>
parents:
diff changeset
243
Dave Love <fx@gnu.org>
parents:
diff changeset
244 * Dired improvements.
Dave Love <fx@gnu.org>
parents:
diff changeset
245
Dave Love <fx@gnu.org>
parents:
diff changeset
246 Dired now normally keeps the cursor at the beginning of the file name,
Dave Love <fx@gnu.org>
parents:
diff changeset
247 not at the beginning of the line. The most used motion commands are
Dave Love <fx@gnu.org>
parents:
diff changeset
248 redefined in Dired to position the cursor this way.
Dave Love <fx@gnu.org>
parents:
diff changeset
249
Dave Love <fx@gnu.org>
parents:
diff changeset
250 `n' and `p' are now equivalent in dired to `C-n' and `C-p'.
Dave Love <fx@gnu.org>
parents:
diff changeset
251
Dave Love <fx@gnu.org>
parents:
diff changeset
252 If any files to be deleted cannot be deleted, their names are
Dave Love <fx@gnu.org>
parents:
diff changeset
253 printed in an error message.
Dave Love <fx@gnu.org>
parents:
diff changeset
254
Dave Love <fx@gnu.org>
parents:
diff changeset
255 If the `v' command is invoked on a file which is a directory,
Dave Love <fx@gnu.org>
parents:
diff changeset
256 dired is run on that directory.
Dave Love <fx@gnu.org>
parents:
diff changeset
257
Dave Love <fx@gnu.org>
parents:
diff changeset
258 * `visit-tag-table' renamed `visit-tags-table'.
Dave Love <fx@gnu.org>
parents:
diff changeset
259
Dave Love <fx@gnu.org>
parents:
diff changeset
260 This is so apropos of `tags' finds everything you need to
Dave Love <fx@gnu.org>
parents:
diff changeset
261 know about in connection with Tags.
Dave Love <fx@gnu.org>
parents:
diff changeset
262
Dave Love <fx@gnu.org>
parents:
diff changeset
263 * `mh-e' library uses C-c as prefix.
Dave Love <fx@gnu.org>
parents:
diff changeset
264
Dave Love <fx@gnu.org>
parents:
diff changeset
265 All the special commands of `mh-rmail' now are placed on a
Dave Love <fx@gnu.org>
parents:
diff changeset
266 C-c prefix rather than on the C-x prefix. This is for
Dave Love <fx@gnu.org>
parents:
diff changeset
267 consistency with other special modes with their own commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
268
Dave Love <fx@gnu.org>
parents:
diff changeset
269 * M-$ or `spell-word' checks word before point.
Dave Love <fx@gnu.org>
parents:
diff changeset
270
Dave Love <fx@gnu.org>
parents:
diff changeset
271 It used to check the word after point.
Dave Love <fx@gnu.org>
parents:
diff changeset
272
Dave Love <fx@gnu.org>
parents:
diff changeset
273 * Quitting during autoloading no longer causes trouble.
Dave Love <fx@gnu.org>
parents:
diff changeset
274
Dave Love <fx@gnu.org>
parents:
diff changeset
275 Now, when a file is autoloaded, all function redefinitions
Dave Love <fx@gnu.org>
parents:
diff changeset
276 and `provide' calls are recorded and are undone if you quit
Dave Love <fx@gnu.org>
parents:
diff changeset
277 before the file is finished loading.
Dave Love <fx@gnu.org>
parents:
diff changeset
278
Dave Love <fx@gnu.org>
parents:
diff changeset
279 As a result, it no longer happens that some of the entry points
Dave Love <fx@gnu.org>
parents:
diff changeset
280 which are normally autoloading have been defined already, but the
Dave Love <fx@gnu.org>
parents:
diff changeset
281 entire file is not really present to support them.
Dave Love <fx@gnu.org>
parents:
diff changeset
282
Dave Love <fx@gnu.org>
parents:
diff changeset
283 * `else' can now be indented correctly in C mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
284
Dave Love <fx@gnu.org>
parents:
diff changeset
285 TAB in C mode now knows which `if' statement an `else' matches
Dave Love <fx@gnu.org>
parents:
diff changeset
286 up with, and can indent the `else' correctly under the `if',
Dave Love <fx@gnu.org>
parents:
diff changeset
287 even if the `if' contained such things as another `if' statement,
Dave Love <fx@gnu.org>
parents:
diff changeset
288 or a `while' or `for' statement, with no braces around it.
Dave Love <fx@gnu.org>
parents:
diff changeset
289
Dave Love <fx@gnu.org>
parents:
diff changeset
290 * `batch-byte-compile'
Dave Love <fx@gnu.org>
parents:
diff changeset
291
Dave Love <fx@gnu.org>
parents:
diff changeset
292 Runs byte-compile-file on the files specified on the command line.
Dave Love <fx@gnu.org>
parents:
diff changeset
293 All the rest of the command line arguments are taken as files to
Dave Love <fx@gnu.org>
parents:
diff changeset
294 compile (or, if directories, to do byte-recompile-directory on).
Dave Love <fx@gnu.org>
parents:
diff changeset
295 Must be used only with -batch, and kills emacs on completion.
Dave Love <fx@gnu.org>
parents:
diff changeset
296 Each file will be processed even if an error occurred previously.
Dave Love <fx@gnu.org>
parents:
diff changeset
297 For example, invoke `emacs -batch -f batch-byte-compile *.el'.
Dave Love <fx@gnu.org>
parents:
diff changeset
298
Dave Love <fx@gnu.org>
parents:
diff changeset
299 * `-batch' changes.
Dave Love <fx@gnu.org>
parents:
diff changeset
300
Dave Love <fx@gnu.org>
parents:
diff changeset
301 `-batch' now implies `-q': no init file is loaded by Emacs when
Dave Love <fx@gnu.org>
parents:
diff changeset
302 `-batch' is used. Also, no `term/TERMTYPE.el' file is loaded. Auto
Dave Love <fx@gnu.org>
parents:
diff changeset
303 saving is not done except in buffers in which it is explicitly
Dave Love <fx@gnu.org>
parents:
diff changeset
304 requested. Also, many echo-area printouts describing what is going on
Dave Love <fx@gnu.org>
parents:
diff changeset
305 are inhibited in batch mode, so that the only output you get is the
Dave Love <fx@gnu.org>
parents:
diff changeset
306 output you program specifically.
Dave Love <fx@gnu.org>
parents:
diff changeset
307
Dave Love <fx@gnu.org>
parents:
diff changeset
308 One echo-area message that is not suppressed is the one that says
Dave Love <fx@gnu.org>
parents:
diff changeset
309 that a file is being loaded. That is because you can prevent this
Dave Love <fx@gnu.org>
parents:
diff changeset
310 message by passing `t' as the third argument to `load'.
Dave Love <fx@gnu.org>
parents:
diff changeset
311
Dave Love <fx@gnu.org>
parents:
diff changeset
312 * Display of search string in incremental search.
Dave Love <fx@gnu.org>
parents:
diff changeset
313
Dave Love <fx@gnu.org>
parents:
diff changeset
314 Now, when you type C-s or C-r to reuse the previous search
Dave Love <fx@gnu.org>
parents:
diff changeset
315 string, that search string is displayed immediately in the echo area.
Dave Love <fx@gnu.org>
parents:
diff changeset
316
Dave Love <fx@gnu.org>
parents:
diff changeset
317 Three dots are displayed after the search string while search
Dave Love <fx@gnu.org>
parents:
diff changeset
318 is actually going on.
Dave Love <fx@gnu.org>
parents:
diff changeset
319
Dave Love <fx@gnu.org>
parents:
diff changeset
320 * View commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
321
Dave Love <fx@gnu.org>
parents:
diff changeset
322 The commands C-x ], C-x [, C-x /, C-x j and C-x o are now
Dave Love <fx@gnu.org>
parents:
diff changeset
323 available inside `view-buffer' and `view-file', with their
Dave Love <fx@gnu.org>
parents:
diff changeset
324 normal meanings.
Dave Love <fx@gnu.org>
parents:
diff changeset
325
Dave Love <fx@gnu.org>
parents:
diff changeset
326 * Full-width windows preferred.
Dave Love <fx@gnu.org>
parents:
diff changeset
327
Dave Love <fx@gnu.org>
parents:
diff changeset
328 The ``other-window'' commands prefer other full width windows,
Dave Love <fx@gnu.org>
parents:
diff changeset
329 and will split only full width windows.
Dave Love <fx@gnu.org>
parents:
diff changeset
330
Dave Love <fx@gnu.org>
parents:
diff changeset
331 * M-x rename-file can copy if necessary.
Dave Love <fx@gnu.org>
parents:
diff changeset
332
Dave Love <fx@gnu.org>
parents:
diff changeset
333 When used between different file systems, since actual renaming does
Dave Love <fx@gnu.org>
parents:
diff changeset
334 not work, the old file will be copied and deleted.
Dave Love <fx@gnu.org>
parents:
diff changeset
335
Dave Love <fx@gnu.org>
parents:
diff changeset
336 * Within C-x ESC, you can pick the command to repeat.
Dave Love <fx@gnu.org>
parents:
diff changeset
337
Dave Love <fx@gnu.org>
parents:
diff changeset
338 While editing a previous command to be repeated, inside C-x ESC,
Dave Love <fx@gnu.org>
parents:
diff changeset
339 you can now use the commands M-p and M-n to pick an earlier or
Dave Love <fx@gnu.org>
parents:
diff changeset
340 later command to repeat. M-n picks the next earlier command
Dave Love <fx@gnu.org>
parents:
diff changeset
341 and M-p picks the next later one. The new command appears in
Dave Love <fx@gnu.org>
parents:
diff changeset
342 the minibuffer, and you can go ahead and edit it, and repeat it
Dave Love <fx@gnu.org>
parents:
diff changeset
343 when you exit the minibuffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
344
Dave Love <fx@gnu.org>
parents:
diff changeset
345 Using M-n or M-p within C-x ESC is like having used a different
Dave Love <fx@gnu.org>
parents:
diff changeset
346 numeric argument when you ran C-x ESC in the first place.
Dave Love <fx@gnu.org>
parents:
diff changeset
347
Dave Love <fx@gnu.org>
parents:
diff changeset
348 The command you finally execute using C-x ESC is added to the
Dave Love <fx@gnu.org>
parents:
diff changeset
349 front of the command history, unless it is identical with the
Dave Love <fx@gnu.org>
parents:
diff changeset
350 first thing in the command history.
Dave Love <fx@gnu.org>
parents:
diff changeset
351
Dave Love <fx@gnu.org>
parents:
diff changeset
352 * Use C-c C-c to exit from editing within Info.
Dave Love <fx@gnu.org>
parents:
diff changeset
353
Dave Love <fx@gnu.org>
parents:
diff changeset
354 It used to be C-z for this. Somehow this use of C-z was
Dave Love <fx@gnu.org>
parents:
diff changeset
355 left out when all the others were moved. The intention is that
Dave Love <fx@gnu.org>
parents:
diff changeset
356 C-z should always suspend Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
357
Dave Love <fx@gnu.org>
parents:
diff changeset
358 * Default arg to C-x < and C-x > now window width minus 2.
Dave Love <fx@gnu.org>
parents:
diff changeset
359
Dave Love <fx@gnu.org>
parents:
diff changeset
360 These commands, which scroll the current window horizontally
Dave Love <fx@gnu.org>
parents:
diff changeset
361 by a specified number of columns, now scroll a considerable
Dave Love <fx@gnu.org>
parents:
diff changeset
362 distance rather than a single column if used with no argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
363
Dave Love <fx@gnu.org>
parents:
diff changeset
364 * Auto Save Files Deleted.
Dave Love <fx@gnu.org>
parents:
diff changeset
365
Dave Love <fx@gnu.org>
parents:
diff changeset
366 The default value of `delete-auto-save-files' is now `t', so that
Dave Love <fx@gnu.org>
parents:
diff changeset
367 when you save a file for real, its auto save file is deleted.
Dave Love <fx@gnu.org>
parents:
diff changeset
368
Dave Love <fx@gnu.org>
parents:
diff changeset
369 * Rnews changes.
Dave Love <fx@gnu.org>
parents:
diff changeset
370
Dave Love <fx@gnu.org>
parents:
diff changeset
371 The N, P and J keys in Rnews are renamed to M-n, M-p and M-j.
Dave Love <fx@gnu.org>
parents:
diff changeset
372 These keys move among newsgroups.
Dave Love <fx@gnu.org>
parents:
diff changeset
373
Dave Love <fx@gnu.org>
parents:
diff changeset
374 The n and p keys for moving sequentially between news articles now
Dave Love <fx@gnu.org>
parents:
diff changeset
375 accept repeat count arguments, and the + and - keys, made redundant by
Dave Love <fx@gnu.org>
parents:
diff changeset
376 this change, are eliminated.
Dave Love <fx@gnu.org>
parents:
diff changeset
377
Dave Love <fx@gnu.org>
parents:
diff changeset
378 The s command for outputting the current article to a file
Dave Love <fx@gnu.org>
parents:
diff changeset
379 is renamed as o, to be compatible with Rmail.
Dave Love <fx@gnu.org>
parents:
diff changeset
380
Dave Love <fx@gnu.org>
parents:
diff changeset
381 * Sendmail changes.
Dave Love <fx@gnu.org>
parents:
diff changeset
382
Dave Love <fx@gnu.org>
parents:
diff changeset
383 If you have a ~/.mailrc file, Emacs searches it for mailing address
Dave Love <fx@gnu.org>
parents:
diff changeset
384 aliases, and these aliases are expanded when you send mail in Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
385
Dave Love <fx@gnu.org>
parents:
diff changeset
386 Fcc fields can now be used in the headers in the *mail* buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
387 to specify files in which copies of the message should be put.
Dave Love <fx@gnu.org>
parents:
diff changeset
388 The message is written into those files in Unix mail file format.
Dave Love <fx@gnu.org>
parents:
diff changeset
389 The message as sent does not contain any Fcc fields in its header.
Dave Love <fx@gnu.org>
parents:
diff changeset
390 You can use any number of Fcc fields, but only one file name in each one.
Dave Love <fx@gnu.org>
parents:
diff changeset
391 The variable `mail-archive-file-name', if non-`nil', can be a string
Dave Love <fx@gnu.org>
parents:
diff changeset
392 which is a file name; an Fcc to that file will be inserted in every
Dave Love <fx@gnu.org>
parents:
diff changeset
393 message when you begin to compose it.
Dave Love <fx@gnu.org>
parents:
diff changeset
394
Dave Love <fx@gnu.org>
parents:
diff changeset
395 A new command C-c q now exists in Mail mode. It fills the
Dave Love <fx@gnu.org>
parents:
diff changeset
396 paragraphs of an old message that had been inserted with C-c y.
Dave Love <fx@gnu.org>
parents:
diff changeset
397
Dave Love <fx@gnu.org>
parents:
diff changeset
398 When the *mail* buffer is put in Mail mode, text-mode-hook
Dave Love <fx@gnu.org>
parents:
diff changeset
399 is now run in addition to mail-mode-hook. text-mode-hook
Dave Love <fx@gnu.org>
parents:
diff changeset
400 is run first.
Dave Love <fx@gnu.org>
parents:
diff changeset
401
Dave Love <fx@gnu.org>
parents:
diff changeset
402 The new variable `mail-header-separator' now specifies the string
Dave Love <fx@gnu.org>
parents:
diff changeset
403 to use on the line that goes between the headers and the message text.
Dave Love <fx@gnu.org>
parents:
diff changeset
404 By default it is still "--text follows this line--".
Dave Love <fx@gnu.org>
parents:
diff changeset
405
Dave Love <fx@gnu.org>
parents:
diff changeset
406 * Command history truncated automatically.
Dave Love <fx@gnu.org>
parents:
diff changeset
407
Dave Love <fx@gnu.org>
parents:
diff changeset
408 Just before each garbage collection, all but the last 30 elements
Dave Love <fx@gnu.org>
parents:
diff changeset
409 of the command history are discarded.
Dave Love <fx@gnu.org>
parents:
diff changeset
410
Dave Love <fx@gnu.org>
parents:
diff changeset
411 Incompatible Lisp Programming Changes in Emacs 17
Dave Love <fx@gnu.org>
parents:
diff changeset
412
Dave Love <fx@gnu.org>
parents:
diff changeset
413 * `&quote' no longer supported.
Dave Love <fx@gnu.org>
parents:
diff changeset
414
Dave Love <fx@gnu.org>
parents:
diff changeset
415 This feature, which allowed Lisp functions to take arguments
Dave Love <fx@gnu.org>
parents:
diff changeset
416 that were not evaluated, has been eliminated, because it is
Dave Love <fx@gnu.org>
parents:
diff changeset
417 inescapably hard to make the compiler work properly with such
Dave Love <fx@gnu.org>
parents:
diff changeset
418 functions.
Dave Love <fx@gnu.org>
parents:
diff changeset
419
Dave Love <fx@gnu.org>
parents:
diff changeset
420 You should use macros instead. A simple way to change any
Dave Love <fx@gnu.org>
parents:
diff changeset
421 code that uses `&quote' is to replace
Dave Love <fx@gnu.org>
parents:
diff changeset
422
Dave Love <fx@gnu.org>
parents:
diff changeset
423 (defun foo (&quote x y z) ...
Dave Love <fx@gnu.org>
parents:
diff changeset
424
Dave Love <fx@gnu.org>
parents:
diff changeset
425 with
Dave Love <fx@gnu.org>
parents:
diff changeset
426
Dave Love <fx@gnu.org>
parents:
diff changeset
427 (defmacro foo (x y z)
Dave Love <fx@gnu.org>
parents:
diff changeset
428 (list 'foo-1 (list 'quote x) (list 'quote y) (list 'quote z)))
Dave Love <fx@gnu.org>
parents:
diff changeset
429
Dave Love <fx@gnu.org>
parents:
diff changeset
430 (defun foo-1 (x y z) ...
Dave Love <fx@gnu.org>
parents:
diff changeset
431
Dave Love <fx@gnu.org>
parents:
diff changeset
432 * Functions `region-to-string' and `region-around-match' removed.
Dave Love <fx@gnu.org>
parents:
diff changeset
433
Dave Love <fx@gnu.org>
parents:
diff changeset
434 These functions were made for compatibility with Gosling Emacs, but it
Dave Love <fx@gnu.org>
parents:
diff changeset
435 turns out to be undesirable to use them in GNU Emacs because they use
Dave Love <fx@gnu.org>
parents:
diff changeset
436 the mark. They have been eliminated from Emacs proper, but are
Dave Love <fx@gnu.org>
parents:
diff changeset
437 present in mlsupport.el for the sake of converted mocklisp programs.
Dave Love <fx@gnu.org>
parents:
diff changeset
438
Dave Love <fx@gnu.org>
parents:
diff changeset
439 If you were using `region-to-string', you should instead use
Dave Love <fx@gnu.org>
parents:
diff changeset
440 `buffer-substring'; then you can pass the bounds as arguments and
Dave Love <fx@gnu.org>
parents:
diff changeset
441 can avoid setting the mark.
Dave Love <fx@gnu.org>
parents:
diff changeset
442
Dave Love <fx@gnu.org>
parents:
diff changeset
443 If you were using `region-around-match', you can use instead
Dave Love <fx@gnu.org>
parents:
diff changeset
444 the two functions `match-beginning' and `match-end'. These give
Dave Love <fx@gnu.org>
parents:
diff changeset
445 you one bound at a time, as a numeric value, without changing
Dave Love <fx@gnu.org>
parents:
diff changeset
446 point or the mark.
Dave Love <fx@gnu.org>
parents:
diff changeset
447
Dave Love <fx@gnu.org>
parents:
diff changeset
448 * Function `function-type' removed.
Dave Love <fx@gnu.org>
parents:
diff changeset
449
Dave Love <fx@gnu.org>
parents:
diff changeset
450 This just appeared not to be very useful. It can easily be written in
Dave Love <fx@gnu.org>
parents:
diff changeset
451 Lisp if you happen to want it. Just use `symbol-function' to get the
Dave Love <fx@gnu.org>
parents:
diff changeset
452 function definition of a symbol, and look at its data type or its car
Dave Love <fx@gnu.org>
parents:
diff changeset
453 if it is a list.
Dave Love <fx@gnu.org>
parents:
diff changeset
454
Dave Love <fx@gnu.org>
parents:
diff changeset
455 * Variable `buffer-number' removed.
Dave Love <fx@gnu.org>
parents:
diff changeset
456
Dave Love <fx@gnu.org>
parents:
diff changeset
457 You can still use the function `buffer-number' to find out
Dave Love <fx@gnu.org>
parents:
diff changeset
458 a buffer's unique number (assigned in order of creation).
Dave Love <fx@gnu.org>
parents:
diff changeset
459
Dave Love <fx@gnu.org>
parents:
diff changeset
460 * Variable `executing-macro' renamed `executing-kbd-macro'.
Dave Love <fx@gnu.org>
parents:
diff changeset
461
Dave Love <fx@gnu.org>
parents:
diff changeset
462 This variable is the currently executing keyboard macro, as
Dave Love <fx@gnu.org>
parents:
diff changeset
463 a string, or `nil' when no keyboard macro is being executed.
Dave Love <fx@gnu.org>
parents:
diff changeset
464
Dave Love <fx@gnu.org>
parents:
diff changeset
465 * Loading term/$TERM.
Dave Love <fx@gnu.org>
parents:
diff changeset
466
Dave Love <fx@gnu.org>
parents:
diff changeset
467 The library term/$TERM (where $TERM get replaced by your terminal
Dave Love <fx@gnu.org>
parents:
diff changeset
468 type), which is done by Emacs automatically when it starts up, now
Dave Love <fx@gnu.org>
parents:
diff changeset
469 happens after the user's .emacs file is loaded.
Dave Love <fx@gnu.org>
parents:
diff changeset
470
Dave Love <fx@gnu.org>
parents:
diff changeset
471 In previous versions of Emacs, these files had names of the form
Dave Love <fx@gnu.org>
parents:
diff changeset
472 term-$TERM; thus, for example, term-vt100.el, but now they live
Dave Love <fx@gnu.org>
parents:
diff changeset
473 in a special subdirectory named term, and have names like
Dave Love <fx@gnu.org>
parents:
diff changeset
474 term/vt100.el.
Dave Love <fx@gnu.org>
parents:
diff changeset
475
Dave Love <fx@gnu.org>
parents:
diff changeset
476 * `command-history' format changed.
Dave Love <fx@gnu.org>
parents:
diff changeset
477
Dave Love <fx@gnu.org>
parents:
diff changeset
478 The elements of this list are now Lisp expressions which can
Dave Love <fx@gnu.org>
parents:
diff changeset
479 be evaluated directly to repeat a command.
Dave Love <fx@gnu.org>
parents:
diff changeset
480
Dave Love <fx@gnu.org>
parents:
diff changeset
481 * Unused editing commands removed.
Dave Love <fx@gnu.org>
parents:
diff changeset
482
Dave Love <fx@gnu.org>
parents:
diff changeset
483 The functions `forward-to-word', `backward-to-word',
Dave Love <fx@gnu.org>
parents:
diff changeset
484 `upcase-char', `mark-beginning-of-buffer' and `mark-end-of-buffer'
Dave Love <fx@gnu.org>
parents:
diff changeset
485 have been removed. Their definitions can be found in file
Dave Love <fx@gnu.org>
parents:
diff changeset
486 lisp/unused.el if you need them.
Dave Love <fx@gnu.org>
parents:
diff changeset
487
Dave Love <fx@gnu.org>
parents:
diff changeset
488 Upward Compatible Lisp Programming Changes in Emacs 17
Dave Love <fx@gnu.org>
parents:
diff changeset
489
Dave Love <fx@gnu.org>
parents:
diff changeset
490 * You can now continue after errors and quits.
Dave Love <fx@gnu.org>
parents:
diff changeset
491
Dave Love <fx@gnu.org>
parents:
diff changeset
492 When the debugger is entered because of a C-g, due to
Dave Love <fx@gnu.org>
parents:
diff changeset
493 a non-`nil' value of `debug-on-quit', the `c' command in the debugger
Dave Love <fx@gnu.org>
parents:
diff changeset
494 resumes execution of the code that was running when the quit happened.
Dave Love <fx@gnu.org>
parents:
diff changeset
495 Use the `q' command to go ahead and quit.
Dave Love <fx@gnu.org>
parents:
diff changeset
496
Dave Love <fx@gnu.org>
parents:
diff changeset
497 The same applies to some kinds of errors, but not all. Errors
Dave Love <fx@gnu.org>
parents:
diff changeset
498 signaled with the Lisp function `signal' can be continued; the `c'
Dave Love <fx@gnu.org>
parents:
diff changeset
499 command causes `signal' to return. The `r' command causes `signal' to
Dave Love <fx@gnu.org>
parents:
diff changeset
500 return the value you specify. The `c' command is equivalent to `r'
Dave Love <fx@gnu.org>
parents:
diff changeset
501 with the value `nil'.
Dave Love <fx@gnu.org>
parents:
diff changeset
502
Dave Love <fx@gnu.org>
parents:
diff changeset
503 For a `wrong-type-argument' error, the value returned with the `r'
Dave Love <fx@gnu.org>
parents:
diff changeset
504 command is used in place of the invalid argument. If this new value
Dave Love <fx@gnu.org>
parents:
diff changeset
505 is not valid, another error occurs.
Dave Love <fx@gnu.org>
parents:
diff changeset
506
Dave Love <fx@gnu.org>
parents:
diff changeset
507 Errors signaled with the function `error' cannot be continued.
Dave Love <fx@gnu.org>
parents:
diff changeset
508 If you try to continue, the error just happens again.
Dave Love <fx@gnu.org>
parents:
diff changeset
509
Dave Love <fx@gnu.org>
parents:
diff changeset
510 * `dot' renamed `point'.
Dave Love <fx@gnu.org>
parents:
diff changeset
511
Dave Love <fx@gnu.org>
parents:
diff changeset
512 The word `dot' has been replaced with `point' in all
Dave Love <fx@gnu.org>
parents:
diff changeset
513 function and variable names, including:
Dave Love <fx@gnu.org>
parents:
diff changeset
514
Dave Love <fx@gnu.org>
parents:
diff changeset
515 point, point-min, point-max,
Dave Love <fx@gnu.org>
parents:
diff changeset
516 point-marker, point-min-marker, point-max-marker,
Dave Love <fx@gnu.org>
parents:
diff changeset
517 window-point, set-window-point,
Dave Love <fx@gnu.org>
parents:
diff changeset
518 point-to-register, register-to-point,
Dave Love <fx@gnu.org>
parents:
diff changeset
519 exchange-point-and-mark.
Dave Love <fx@gnu.org>
parents:
diff changeset
520
Dave Love <fx@gnu.org>
parents:
diff changeset
521 The old names are still supported, for now.
Dave Love <fx@gnu.org>
parents:
diff changeset
522
Dave Love <fx@gnu.org>
parents:
diff changeset
523 * `string-match' records position of end of match.
Dave Love <fx@gnu.org>
parents:
diff changeset
524
Dave Love <fx@gnu.org>
parents:
diff changeset
525 After a successful call to `string-match', `(match-end 0)' will
Dave Love <fx@gnu.org>
parents:
diff changeset
526 return the index in the string of the first character after the match.
Dave Love <fx@gnu.org>
parents:
diff changeset
527 Also, `match-begin' and `match-end' with nonzero arguments can be
Dave Love <fx@gnu.org>
parents:
diff changeset
528 used to find the indices of beginnings and ends of substrings matched
Dave Love <fx@gnu.org>
parents:
diff changeset
529 by subpatterns surrounded by parentheses.
Dave Love <fx@gnu.org>
parents:
diff changeset
530
Dave Love <fx@gnu.org>
parents:
diff changeset
531 * New function `insert-before-markers'.
Dave Love <fx@gnu.org>
parents:
diff changeset
532
Dave Love <fx@gnu.org>
parents:
diff changeset
533 This function is just like `insert' except in the handling of any
Dave Love <fx@gnu.org>
parents:
diff changeset
534 relocatable markers that are located at the point of insertion.
Dave Love <fx@gnu.org>
parents:
diff changeset
535 With `insert', such markers end up pointing before the inserted text.
Dave Love <fx@gnu.org>
parents:
diff changeset
536 With `insert-before-markers', they end up pointing after the inserted
Dave Love <fx@gnu.org>
parents:
diff changeset
537 text.
Dave Love <fx@gnu.org>
parents:
diff changeset
538
Dave Love <fx@gnu.org>
parents:
diff changeset
539 * New function `copy-alist'.
Dave Love <fx@gnu.org>
parents:
diff changeset
540
Dave Love <fx@gnu.org>
parents:
diff changeset
541 This function takes one argument, a list, and makes a disjoint copy
Dave Love <fx@gnu.org>
parents:
diff changeset
542 of the alist structure. The list itself is copied, and each element
Dave Love <fx@gnu.org>
parents:
diff changeset
543 that is a cons cell is copied, but the cars and cdrs of elements
Dave Love <fx@gnu.org>
parents:
diff changeset
544 remain shared with the original argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
545
Dave Love <fx@gnu.org>
parents:
diff changeset
546 This is what it takes to get two alists disjoint enough that changes
Dave Love <fx@gnu.org>
parents:
diff changeset
547 in one do not change the result of `assq' on the other.
Dave Love <fx@gnu.org>
parents:
diff changeset
548
Dave Love <fx@gnu.org>
parents:
diff changeset
549 * New function `copy-keymap'.
Dave Love <fx@gnu.org>
parents:
diff changeset
550
Dave Love <fx@gnu.org>
parents:
diff changeset
551 This function takes a keymap as argument and returns a new keymap
Dave Love <fx@gnu.org>
parents:
diff changeset
552 containing initially the same bindings. Rebindings in either one of
Dave Love <fx@gnu.org>
parents:
diff changeset
553 them will not alter the bindings in the other.
Dave Love <fx@gnu.org>
parents:
diff changeset
554
Dave Love <fx@gnu.org>
parents:
diff changeset
555 * New function `copy-syntax-table'.
Dave Love <fx@gnu.org>
parents:
diff changeset
556
Dave Love <fx@gnu.org>
parents:
diff changeset
557 This function takes a syntax table as argument and returns a new
Dave Love <fx@gnu.org>
parents:
diff changeset
558 syntax table containing initially the same syntax settings. Changes
Dave Love <fx@gnu.org>
parents:
diff changeset
559 in either one of them will not alter the other.
Dave Love <fx@gnu.org>
parents:
diff changeset
560
Dave Love <fx@gnu.org>
parents:
diff changeset
561 * Randomizing the random numbers.
Dave Love <fx@gnu.org>
parents:
diff changeset
562
Dave Love <fx@gnu.org>
parents:
diff changeset
563 `(random t)' causes the random number generator's seed to be set
Dave Love <fx@gnu.org>
parents:
diff changeset
564 based on the current time and Emacs's process id.
Dave Love <fx@gnu.org>
parents:
diff changeset
565
Dave Love <fx@gnu.org>
parents:
diff changeset
566 * Third argument to `modify-syntax-entry'.
Dave Love <fx@gnu.org>
parents:
diff changeset
567
Dave Love <fx@gnu.org>
parents:
diff changeset
568 The optional third argument to `modify-syntax-entry', if specified
Dave Love <fx@gnu.org>
parents:
diff changeset
569 should be a syntax table. The modification is made in that syntax table
Dave Love <fx@gnu.org>
parents:
diff changeset
570 rather than in the current syntax table.
Dave Love <fx@gnu.org>
parents:
diff changeset
571
Dave Love <fx@gnu.org>
parents:
diff changeset
572 * New function `run-hooks'.
Dave Love <fx@gnu.org>
parents:
diff changeset
573
Dave Love <fx@gnu.org>
parents:
diff changeset
574 This function takes any number of symbols as arguments.
Dave Love <fx@gnu.org>
parents:
diff changeset
575 It processes the symbols in order. For each symbol which
Dave Love <fx@gnu.org>
parents:
diff changeset
576 has a value (as a variable) that is non-nil, the value is
Dave Love <fx@gnu.org>
parents:
diff changeset
577 called as a function, with no arguments.
Dave Love <fx@gnu.org>
parents:
diff changeset
578
Dave Love <fx@gnu.org>
parents:
diff changeset
579 This is useful in major mode commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
580
Dave Love <fx@gnu.org>
parents:
diff changeset
581 * Second arg to `switch-to-buffer'.
Dave Love <fx@gnu.org>
parents:
diff changeset
582
Dave Love <fx@gnu.org>
parents:
diff changeset
583 If this function is given a non-`nil' second argument, then the
Dave Love <fx@gnu.org>
parents:
diff changeset
584 selection being done is not recorded on the selection history.
Dave Love <fx@gnu.org>
parents:
diff changeset
585 The buffer's position in the history remains unchanged. This
Dave Love <fx@gnu.org>
parents:
diff changeset
586 feature is used by the view commands, so that the selection history
Dave Love <fx@gnu.org>
parents:
diff changeset
587 after exiting from viewing is the same as it was before.
Dave Love <fx@gnu.org>
parents:
diff changeset
588
Dave Love <fx@gnu.org>
parents:
diff changeset
589 * Second arg to `display-buffer' and `pop-to-buffer'.
Dave Love <fx@gnu.org>
parents:
diff changeset
590
Dave Love <fx@gnu.org>
parents:
diff changeset
591 These two functions both accept an optional second argument which
Dave Love <fx@gnu.org>
parents:
diff changeset
592 defaults to `nil'. If the argument is not `nil', it means that
Dave Love <fx@gnu.org>
parents:
diff changeset
593 another window (not the selected one) must be found or created to
Dave Love <fx@gnu.org>
parents:
diff changeset
594 display the specified buffer in, even if it is already shown in
Dave Love <fx@gnu.org>
parents:
diff changeset
595 the selected window.
Dave Love <fx@gnu.org>
parents:
diff changeset
596
Dave Love <fx@gnu.org>
parents:
diff changeset
597 This feature is used by `switch-to-buffer-other-window'.
Dave Love <fx@gnu.org>
parents:
diff changeset
598
Dave Love <fx@gnu.org>
parents:
diff changeset
599 * New variable `completion-ignore-case'.
Dave Love <fx@gnu.org>
parents:
diff changeset
600
Dave Love <fx@gnu.org>
parents:
diff changeset
601 If this variable is non-`nil', completion allows strings
Dave Love <fx@gnu.org>
parents:
diff changeset
602 in different cases to be considered matching. The global value
Dave Love <fx@gnu.org>
parents:
diff changeset
603 is `nil'
Dave Love <fx@gnu.org>
parents:
diff changeset
604
Dave Love <fx@gnu.org>
parents:
diff changeset
605 This variable exists for the sake of commands that are completing
Dave Love <fx@gnu.org>
parents:
diff changeset
606 an argument in which case is not significant. It is possible
Dave Love <fx@gnu.org>
parents:
diff changeset
607 to change the value globally, but you might not like the consequences
Dave Love <fx@gnu.org>
parents:
diff changeset
608 in the many situations (buffer names, command names, file names)
Dave Love <fx@gnu.org>
parents:
diff changeset
609 where case makes a difference.
Dave Love <fx@gnu.org>
parents:
diff changeset
610
Dave Love <fx@gnu.org>
parents:
diff changeset
611 * Major modes related to Text mode call text-mode-hook, then their own hooks.
Dave Love <fx@gnu.org>
parents:
diff changeset
612
Dave Love <fx@gnu.org>
parents:
diff changeset
613 For example, turning on Outline mode first calls the value of
Dave Love <fx@gnu.org>
parents:
diff changeset
614 `text-mode-hook' as a function, if it exists and is non-`nil',
Dave Love <fx@gnu.org>
parents:
diff changeset
615 and then does likewise for the variable `outline-mode-hook'.
Dave Love <fx@gnu.org>
parents:
diff changeset
616
Dave Love <fx@gnu.org>
parents:
diff changeset
617 * Defining new command line switches.
Dave Love <fx@gnu.org>
parents:
diff changeset
618
Dave Love <fx@gnu.org>
parents:
diff changeset
619 You can define a new command line switch in your .emacs file
Dave Love <fx@gnu.org>
parents:
diff changeset
620 by putting elements on the value of `command-switch-alist'.
Dave Love <fx@gnu.org>
parents:
diff changeset
621 Each element of this list should look like
Dave Love <fx@gnu.org>
parents:
diff changeset
622 (SWITCHSTRING . FUNCTION)
Dave Love <fx@gnu.org>
parents:
diff changeset
623 where SWITCHSTRING is a string containing the switch to be
Dave Love <fx@gnu.org>
parents:
diff changeset
624 defined, such as "-foo", and FUNCTION is a function to be called
Dave Love <fx@gnu.org>
parents:
diff changeset
625 if such an argument is found in the command line. FUNCTION
Dave Love <fx@gnu.org>
parents:
diff changeset
626 receives the command line argument, a string, as its argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
627
Dave Love <fx@gnu.org>
parents:
diff changeset
628 To implement a switch that uses up one or more following arguments,
Dave Love <fx@gnu.org>
parents:
diff changeset
629 use the fact that the remaining command line arguments are kept
Dave Love <fx@gnu.org>
parents:
diff changeset
630 as a list in the variable `command-line-args'. FUNCTION can
Dave Love <fx@gnu.org>
parents:
diff changeset
631 examine this variable, and do
Dave Love <fx@gnu.org>
parents:
diff changeset
632 (setq command-line-args (cdr command-line-args)
Dave Love <fx@gnu.org>
parents:
diff changeset
633 to "use up" an argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
634
Dave Love <fx@gnu.org>
parents:
diff changeset
635 * New variable `load-in-progress'.
Dave Love <fx@gnu.org>
parents:
diff changeset
636
Dave Love <fx@gnu.org>
parents:
diff changeset
637 This variable is non-`nil' when a file of Lisp code is being read
Dave Love <fx@gnu.org>
parents:
diff changeset
638 and executed by `load'.
Dave Love <fx@gnu.org>
parents:
diff changeset
639
Dave Love <fx@gnu.org>
parents:
diff changeset
640 * New variable `print-length'.
Dave Love <fx@gnu.org>
parents:
diff changeset
641
Dave Love <fx@gnu.org>
parents:
diff changeset
642 The value of this variable is normally `nil'. It may instead be
Dave Love <fx@gnu.org>
parents:
diff changeset
643 a number; in that case, when a list is printed by `prin1' or
Dave Love <fx@gnu.org>
parents:
diff changeset
644 `princ' only that many initial elements are printed; the rest are
Dave Love <fx@gnu.org>
parents:
diff changeset
645 replaced by `...'.
Dave Love <fx@gnu.org>
parents:
diff changeset
646
Dave Love <fx@gnu.org>
parents:
diff changeset
647 * New variable `find-file-not-found-hook'.
Dave Love <fx@gnu.org>
parents:
diff changeset
648
Dave Love <fx@gnu.org>
parents:
diff changeset
649 If `find-file' or any of its variants is used on a nonexistent file,
Dave Love <fx@gnu.org>
parents:
diff changeset
650 the value of `find-file-not-found-hook' is called (if it is not `nil')
Dave Love <fx@gnu.org>
parents:
diff changeset
651 with no arguments, after creating an empty buffer. The file's name
Dave Love <fx@gnu.org>
parents:
diff changeset
652 can be found as the value of `buffer-file-name'.
Dave Love <fx@gnu.org>
parents:
diff changeset
653
Dave Love <fx@gnu.org>
parents:
diff changeset
654 * Processes without buffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
655
Dave Love <fx@gnu.org>
parents:
diff changeset
656 In the function `start-process', you can now specify `nil' as
Dave Love <fx@gnu.org>
parents:
diff changeset
657 the process's buffer. You can also set a process's buffer to `nil'
Dave Love <fx@gnu.org>
parents:
diff changeset
658 using `set-process-buffer'.
Dave Love <fx@gnu.org>
parents:
diff changeset
659
Dave Love <fx@gnu.org>
parents:
diff changeset
660 The reason you might want to do this is to prevent the process
Dave Love <fx@gnu.org>
parents:
diff changeset
661 from being killed because any particular buffer is killed.
Dave Love <fx@gnu.org>
parents:
diff changeset
662 When a process has a buffer, killing that buffer kills the
Dave Love <fx@gnu.org>
parents:
diff changeset
663 process too.
Dave Love <fx@gnu.org>
parents:
diff changeset
664
Dave Love <fx@gnu.org>
parents:
diff changeset
665 When a process has no buffer, its output is lost unless it has a
Dave Love <fx@gnu.org>
parents:
diff changeset
666 filter, and no indication of its being stopped or killed is given
Dave Love <fx@gnu.org>
parents:
diff changeset
667 unless it has a sentinel.
Dave Love <fx@gnu.org>
parents:
diff changeset
668
Dave Love <fx@gnu.org>
parents:
diff changeset
669 * New function `user-variable-p'. `v' arg prompting changed.
Dave Love <fx@gnu.org>
parents:
diff changeset
670
Dave Love <fx@gnu.org>
parents:
diff changeset
671 This function takes a symbol as argument and returns `t' if
Dave Love <fx@gnu.org>
parents:
diff changeset
672 the symbol is defined as a user option variable. This means
Dave Love <fx@gnu.org>
parents:
diff changeset
673 that it has a `variable-documentation' property whose value is
Dave Love <fx@gnu.org>
parents:
diff changeset
674 a string starting with `*'.
Dave Love <fx@gnu.org>
parents:
diff changeset
675
Dave Love <fx@gnu.org>
parents:
diff changeset
676 Code `v' in an interactive arg reading string now accepts
Dave Love <fx@gnu.org>
parents:
diff changeset
677 user variables only, and completion is limited to the space of
Dave Love <fx@gnu.org>
parents:
diff changeset
678 user variables.
Dave Love <fx@gnu.org>
parents:
diff changeset
679
Dave Love <fx@gnu.org>
parents:
diff changeset
680 The function `read-variable' also now accepts and completes
Dave Love <fx@gnu.org>
parents:
diff changeset
681 over user variables only.
Dave Love <fx@gnu.org>
parents:
diff changeset
682
Dave Love <fx@gnu.org>
parents:
diff changeset
683 * CBREAK mode input is the default in Unix 4.3 bsd.
Dave Love <fx@gnu.org>
parents:
diff changeset
684
Dave Love <fx@gnu.org>
parents:
diff changeset
685 In Berkeley 4.3 Unix, there are sufficient features for Emacs to
Dave Love <fx@gnu.org>
parents:
diff changeset
686 work fully correctly using CBREAK mode and not using SIGIO.
Dave Love <fx@gnu.org>
parents:
diff changeset
687 Therefore, this mode is the default when running under 4.3.
Dave Love <fx@gnu.org>
parents:
diff changeset
688 This mode corresponds to `nil' as the first argument to
Dave Love <fx@gnu.org>
parents:
diff changeset
689 `set-input-mode'. You can still select either mode by calling
Dave Love <fx@gnu.org>
parents:
diff changeset
690 that function.
Dave Love <fx@gnu.org>
parents:
diff changeset
691
Dave Love <fx@gnu.org>
parents:
diff changeset
692 * Information on memory usage.
Dave Love <fx@gnu.org>
parents:
diff changeset
693
Dave Love <fx@gnu.org>
parents:
diff changeset
694 The new variable `data-bytes-used' contains the number
Dave Love <fx@gnu.org>
parents:
diff changeset
695 of bytes of impure space allocated in Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
696 `data-bytes-free' contains the number of additional bytes
Dave Love <fx@gnu.org>
parents:
diff changeset
697 Emacs could allocate. Note that space formerly allocated
Dave Love <fx@gnu.org>
parents:
diff changeset
698 and freed again still counts as `used', since it is still
Dave Love <fx@gnu.org>
parents:
diff changeset
699 in Emacs's address space.
Dave Love <fx@gnu.org>
parents:
diff changeset
700
Dave Love <fx@gnu.org>
parents:
diff changeset
701 * No limit on size of output from `format'.
Dave Love <fx@gnu.org>
parents:
diff changeset
702
Dave Love <fx@gnu.org>
parents:
diff changeset
703 The string output from `format' used to be truncated to
Dave Love <fx@gnu.org>
parents:
diff changeset
704 100 characters in length. Now it can have any length.
Dave Love <fx@gnu.org>
parents:
diff changeset
705
Dave Love <fx@gnu.org>
parents:
diff changeset
706 * New errors `void-variable' and `void-function' replace `void-symbol'.
Dave Love <fx@gnu.org>
parents:
diff changeset
707
Dave Love <fx@gnu.org>
parents:
diff changeset
708 This change makes it possible to have error messages that
Dave Love <fx@gnu.org>
parents:
diff changeset
709 clearly distinguish undefined variables from undefined functions.
Dave Love <fx@gnu.org>
parents:
diff changeset
710 It also allows `condition-case' to handle one case without the other.
Dave Love <fx@gnu.org>
parents:
diff changeset
711
Dave Love <fx@gnu.org>
parents:
diff changeset
712 * `replace-match' handling of `\'.
Dave Love <fx@gnu.org>
parents:
diff changeset
713
Dave Love <fx@gnu.org>
parents:
diff changeset
714 In `replace-match', when the replacement is not literal,
Dave Love <fx@gnu.org>
parents:
diff changeset
715 `\' in the replacement string is always treated as an
Dave Love <fx@gnu.org>
parents:
diff changeset
716 escape marker. The only two special `\' constructs
Dave Love <fx@gnu.org>
parents:
diff changeset
717 are `\&' and `\DIGIT', so `\' followed by anything other than
Dave Love <fx@gnu.org>
parents:
diff changeset
718 `&' or a digit has no effect. `\\' is necessary to include
Dave Love <fx@gnu.org>
parents:
diff changeset
719 a `\' in the replacement text.
Dave Love <fx@gnu.org>
parents:
diff changeset
720
Dave Love <fx@gnu.org>
parents:
diff changeset
721 This level of escaping is comparable with what goes on in
Dave Love <fx@gnu.org>
parents:
diff changeset
722 a regular expression. It is over and above the level of `\'
Dave Love <fx@gnu.org>
parents:
diff changeset
723 escaping that goes on when strings are read in Lisp syntax.
Dave Love <fx@gnu.org>
parents:
diff changeset
724
Dave Love <fx@gnu.org>
parents:
diff changeset
725 * New error `invalid-regexp'.
Dave Love <fx@gnu.org>
parents:
diff changeset
726
Dave Love <fx@gnu.org>
parents:
diff changeset
727 A regexp search signals this type of error if the argument does
Dave Love <fx@gnu.org>
parents:
diff changeset
728 not meet the rules for regexp syntax.
Dave Love <fx@gnu.org>
parents:
diff changeset
729
Dave Love <fx@gnu.org>
parents:
diff changeset
730 * `kill-emacs' with argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
731
Dave Love <fx@gnu.org>
parents:
diff changeset
732 If the argument is a number, it is returned as the exit status code
Dave Love <fx@gnu.org>
parents:
diff changeset
733 of the Emacs process. If the argument is a string, its contents
Dave Love <fx@gnu.org>
parents:
diff changeset
734 are stuffed as pending terminal input, to be read by another program
Dave Love <fx@gnu.org>
parents:
diff changeset
735 after Emacs is dead.
Dave Love <fx@gnu.org>
parents:
diff changeset
736
Dave Love <fx@gnu.org>
parents:
diff changeset
737 * New fifth argument to `subst-char-in-region'.
Dave Love <fx@gnu.org>
parents:
diff changeset
738
Dave Love <fx@gnu.org>
parents:
diff changeset
739 This argument is optional and defaults to `nil'. If it is not `nil',
Dave Love <fx@gnu.org>
parents:
diff changeset
740 then the substitutions made by this function are not recorded
Dave Love <fx@gnu.org>
parents:
diff changeset
741 in the Undo mechanism.
Dave Love <fx@gnu.org>
parents:
diff changeset
742
Dave Love <fx@gnu.org>
parents:
diff changeset
743 This feature should be used with great care. It is now used
Dave Love <fx@gnu.org>
parents:
diff changeset
744 by Outline mode to make lines visible or invisible.
Dave Love <fx@gnu.org>
parents:
diff changeset
745
Dave Love <fx@gnu.org>
parents:
diff changeset
746 * ` *Backtrace*' buffer renamed to `*Backtrace*'.
Dave Love <fx@gnu.org>
parents:
diff changeset
747
Dave Love <fx@gnu.org>
parents:
diff changeset
748 As a result, you can now reselect this buffer easily if you switch to
Dave Love <fx@gnu.org>
parents:
diff changeset
749 another while in the debugger.
Dave Love <fx@gnu.org>
parents:
diff changeset
750
Dave Love <fx@gnu.org>
parents:
diff changeset
751 Exiting from the debugger kills the `*Backtrace*' buffer, so you will
Dave Love <fx@gnu.org>
parents:
diff changeset
752 not try to give commands in it when no longer really in the debugger.
Dave Love <fx@gnu.org>
parents:
diff changeset
753
Dave Love <fx@gnu.org>
parents:
diff changeset
754 * New function `switch-to-buffer-other-window'.
Dave Love <fx@gnu.org>
parents:
diff changeset
755
Dave Love <fx@gnu.org>
parents:
diff changeset
756 This is the new primitive to select a specified buffer (the
Dave Love <fx@gnu.org>
parents:
diff changeset
757 argument) in another window. It is not quite the same as
Dave Love <fx@gnu.org>
parents:
diff changeset
758 `pop-to-buffer', because it is guaranteed to create another
Dave Love <fx@gnu.org>
parents:
diff changeset
759 window (assuming there is room on the screen) so that it can
Dave Love <fx@gnu.org>
parents:
diff changeset
760 leave the current window's old buffer displayed as well.
Dave Love <fx@gnu.org>
parents:
diff changeset
761
Dave Love <fx@gnu.org>
parents:
diff changeset
762 All functions to select a buffer in another window should
Dave Love <fx@gnu.org>
parents:
diff changeset
763 do so by calling this new function.
Dave Love <fx@gnu.org>
parents:
diff changeset
764
Dave Love <fx@gnu.org>
parents:
diff changeset
765 * New variable `minibuffer-help-form'.
Dave Love <fx@gnu.org>
parents:
diff changeset
766
Dave Love <fx@gnu.org>
parents:
diff changeset
767 At entry to the minibuffer, the variable `help-form' is bound
Dave Love <fx@gnu.org>
parents:
diff changeset
768 to the value of `minibuffer-help-form'.
Dave Love <fx@gnu.org>
parents:
diff changeset
769
Dave Love <fx@gnu.org>
parents:
diff changeset
770 `help-form' is expected at all times to contain either `nil'
Dave Love <fx@gnu.org>
parents:
diff changeset
771 or an expression to be executed when C-h is typed (overriding
Dave Love <fx@gnu.org>
parents:
diff changeset
772 teh definition of C-h as a command). `minibuffer-help-form'
Dave Love <fx@gnu.org>
parents:
diff changeset
773 can be used to provide a different default way of handling
Dave Love <fx@gnu.org>
parents:
diff changeset
774 C-h while in the minibuffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
775
Dave Love <fx@gnu.org>
parents:
diff changeset
776 * New \{...} documentation construct.
Dave Love <fx@gnu.org>
parents:
diff changeset
777
Dave Love <fx@gnu.org>
parents:
diff changeset
778 It is now possible to set up the documentation string for
Dave Love <fx@gnu.org>
parents:
diff changeset
779 a major mode in such a way that it always describes the contents
Dave Love <fx@gnu.org>
parents:
diff changeset
780 of the major mode's keymap, as it has been customized.
Dave Love <fx@gnu.org>
parents:
diff changeset
781 To do this, include in the documentation string the characters `\{'
Dave Love <fx@gnu.org>
parents:
diff changeset
782 followed by the name of the variable containing the keymap,
Dave Love <fx@gnu.org>
parents:
diff changeset
783 terminated with `}'. (The `\' at the beginning probably needs to
Dave Love <fx@gnu.org>
parents:
diff changeset
784 be quoted with a second `\', to include it in the doc string.)
Dave Love <fx@gnu.org>
parents:
diff changeset
785 This construct is normally used on a line by itself, with no blank
Dave Love <fx@gnu.org>
parents:
diff changeset
786 lines before or after.
Dave Love <fx@gnu.org>
parents:
diff changeset
787
Dave Love <fx@gnu.org>
parents:
diff changeset
788 For example, the documentation string for the function `c-mode' contains
Dave Love <fx@gnu.org>
parents:
diff changeset
789 ...
Dave Love <fx@gnu.org>
parents:
diff changeset
790 Paragraphs are separated by blank lines only.
Dave Love <fx@gnu.org>
parents:
diff changeset
791 Delete converts tabs to spaces as it moves back.
Dave Love <fx@gnu.org>
parents:
diff changeset
792 \\{c-mode-map}
Dave Love <fx@gnu.org>
parents:
diff changeset
793 Variables controlling indentation style:
Dave Love <fx@gnu.org>
parents:
diff changeset
794 ...
Dave Love <fx@gnu.org>
parents:
diff changeset
795
Dave Love <fx@gnu.org>
parents:
diff changeset
796 * New character syntax class "punctuation".
Dave Love <fx@gnu.org>
parents:
diff changeset
797
Dave Love <fx@gnu.org>
parents:
diff changeset
798 Punctuation characters behave like whitespace in word and
Dave Love <fx@gnu.org>
parents:
diff changeset
799 list parsing, but can be distinguished in regexps and in the
Dave Love <fx@gnu.org>
parents:
diff changeset
800 function `char-syntax'. Punctuation syntax is represented by
Dave Love <fx@gnu.org>
parents:
diff changeset
801 a period in `modify-syntax-entry'.
Dave Love <fx@gnu.org>
parents:
diff changeset
802
Dave Love <fx@gnu.org>
parents:
diff changeset
803 * `auto-mode-alist' no longer needs entries for backup-file names,
Dave Love <fx@gnu.org>
parents:
diff changeset
804
Dave Love <fx@gnu.org>
parents:
diff changeset
805 Backup suffixes of all kinds are now stripped from a file's name
Dave Love <fx@gnu.org>
parents:
diff changeset
806 before searching `auto-mode-alist'.
Dave Love <fx@gnu.org>
parents:
diff changeset
807
Dave Love <fx@gnu.org>
parents:
diff changeset
808 Changes in Emacs 16
Dave Love <fx@gnu.org>
parents:
diff changeset
809
Dave Love <fx@gnu.org>
parents:
diff changeset
810 * No special code for Ambassadors, VT-100's and Concept-100's.
Dave Love <fx@gnu.org>
parents:
diff changeset
811
Dave Love <fx@gnu.org>
parents:
diff changeset
812 Emacs now controls these terminals based on the termcap entry, like
Dave Love <fx@gnu.org>
parents:
diff changeset
813 all other terminals. Formerly it did not refer to the termcap entries
Dave Love <fx@gnu.org>
parents:
diff changeset
814 for those terminal types, and often the termcap entries for those
Dave Love <fx@gnu.org>
parents:
diff changeset
815 terminals are wrong or inadequate. If you experience worse behavior
Dave Love <fx@gnu.org>
parents:
diff changeset
816 on these terminals than in version 15, you can probably correct it by
Dave Love <fx@gnu.org>
parents:
diff changeset
817 fixing up the termcap entry. See ./TERMS for more info.
Dave Love <fx@gnu.org>
parents:
diff changeset
818
Dave Love <fx@gnu.org>
parents:
diff changeset
819 See ./TERMS in any case if you find that some terminal does not work
Dave Love <fx@gnu.org>
parents:
diff changeset
820 right with Emacs now.
Dave Love <fx@gnu.org>
parents:
diff changeset
821
Dave Love <fx@gnu.org>
parents:
diff changeset
822 * Minibuffer default completion character is TAB (and not ESC).
Dave Love <fx@gnu.org>
parents:
diff changeset
823
Dave Love <fx@gnu.org>
parents:
diff changeset
824 So that ESC can be used in minibuffer for more useful prefix commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
825
Dave Love <fx@gnu.org>
parents:
diff changeset
826 * C-z suspends Emacs in all modes.
Dave Love <fx@gnu.org>
parents:
diff changeset
827
Dave Love <fx@gnu.org>
parents:
diff changeset
828 Formerly, C-z was redefined for other purposes by certain modes,
Dave Love <fx@gnu.org>
parents:
diff changeset
829 such as Buffer Menu mode. Now other keys are used for those purposes,
Dave Love <fx@gnu.org>
parents:
diff changeset
830 to keep the meaning of C-z uniform.
Dave Love <fx@gnu.org>
parents:
diff changeset
831
Dave Love <fx@gnu.org>
parents:
diff changeset
832 * C-x ESC (repeat-complex-command) allows editing the command it repeats.
Dave Love <fx@gnu.org>
parents:
diff changeset
833
Dave Love <fx@gnu.org>
parents:
diff changeset
834 Instead of asking for confirmation to re-execute a command from the
Dave Love <fx@gnu.org>
parents:
diff changeset
835 command history, the command is placed, in its Lisp form, into the
Dave Love <fx@gnu.org>
parents:
diff changeset
836 minibuffer for editing. You can confirm by typing RETURN, change some
Dave Love <fx@gnu.org>
parents:
diff changeset
837 arguments and then confirm, or abort with C-g.
Dave Love <fx@gnu.org>
parents:
diff changeset
838
Dave Love <fx@gnu.org>
parents:
diff changeset
839 * Incremental search does less redisplay on slow terminals.
Dave Love <fx@gnu.org>
parents:
diff changeset
840
Dave Love <fx@gnu.org>
parents:
diff changeset
841 If the terminal baud rate is <= the value of `isearch-slow-speed',
Dave Love <fx@gnu.org>
parents:
diff changeset
842 incremental searching outside the text on the screen creates
Dave Love <fx@gnu.org>
parents:
diff changeset
843 a single-line window and uses that to display the line on which
Dave Love <fx@gnu.org>
parents:
diff changeset
844 a match has been found. Exiting or quitting the search restores
Dave Love <fx@gnu.org>
parents:
diff changeset
845 the previous window configuration and redisplays the window you
Dave Love <fx@gnu.org>
parents:
diff changeset
846 were searching in.
Dave Love <fx@gnu.org>
parents:
diff changeset
847
Dave Love <fx@gnu.org>
parents:
diff changeset
848 The initial value of `isearch-slow-speed' is 1200.
Dave Love <fx@gnu.org>
parents:
diff changeset
849
Dave Love <fx@gnu.org>
parents:
diff changeset
850 This feature is courtesy of crl@purdue.
Dave Love <fx@gnu.org>
parents:
diff changeset
851
Dave Love <fx@gnu.org>
parents:
diff changeset
852 * Recursive minibuffers not allowed.
Dave Love <fx@gnu.org>
parents:
diff changeset
853
Dave Love <fx@gnu.org>
parents:
diff changeset
854 If the minibuffer window is selected, most commands that would
Dave Love <fx@gnu.org>
parents:
diff changeset
855 use the minibuffer gets an error instead. (Specific commands
Dave Love <fx@gnu.org>
parents:
diff changeset
856 may override this feature and therefore still be allowed.)
Dave Love <fx@gnu.org>
parents:
diff changeset
857
Dave Love <fx@gnu.org>
parents:
diff changeset
858 Strictly speaking, recursive entry to the minibuffer is still
Dave Love <fx@gnu.org>
parents:
diff changeset
859 possible, because you can switch to another window after
Dave Love <fx@gnu.org>
parents:
diff changeset
860 entering the minibuffer, and then minibuffer-using commands
Dave Love <fx@gnu.org>
parents:
diff changeset
861 are allowed. This is still allowed by a deliberate decision:
Dave Love <fx@gnu.org>
parents:
diff changeset
862 if you know enough to switch windows while in the minibuffer,
Dave Love <fx@gnu.org>
parents:
diff changeset
863 you can probably understand recursive minibuffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
864
Dave Love <fx@gnu.org>
parents:
diff changeset
865 This may be overridden by binding the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
866 `enable-recursive-minibuffers' to t.
Dave Love <fx@gnu.org>
parents:
diff changeset
867
Dave Love <fx@gnu.org>
parents:
diff changeset
868 * New major mode Emacs-Lisp mode, for editing Lisp code to run in Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
869
Dave Love <fx@gnu.org>
parents:
diff changeset
870 The mode in which emacs lisp files is edited is now called emacs-lisp-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
871 and is distinct from lisp-mode. The latter is intended for use with
Dave Love <fx@gnu.org>
parents:
diff changeset
872 lisps external to emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
873
Dave Love <fx@gnu.org>
parents:
diff changeset
874 The hook which is funcalled (if non-nil) on entry to elisp-mode is now
Dave Love <fx@gnu.org>
parents:
diff changeset
875 called emacs-lisp-mode-hook. A consequence of this changes is that
Dave Love <fx@gnu.org>
parents:
diff changeset
876 .emacs init files which set the value of lisp-mode-hook may need to be
Dave Love <fx@gnu.org>
parents:
diff changeset
877 changed to use the new names.
Dave Love <fx@gnu.org>
parents:
diff changeset
878
Dave Love <fx@gnu.org>
parents:
diff changeset
879 * Correct matching of parentheses is checked on insertion.
Dave Love <fx@gnu.org>
parents:
diff changeset
880
Dave Love <fx@gnu.org>
parents:
diff changeset
881 When you insert a close-paren, the matching open-paren
Dave Love <fx@gnu.org>
parents:
diff changeset
882 is checked for validity. The close paren must be the kind
Dave Love <fx@gnu.org>
parents:
diff changeset
883 of close-paren that the open-paren says it should match.
Dave Love <fx@gnu.org>
parents:
diff changeset
884 Otherwise, a warning message is printed. close-paren immediately
Dave Love <fx@gnu.org>
parents:
diff changeset
885 preceded by quoting backslash syntax character is not matched.
Dave Love <fx@gnu.org>
parents:
diff changeset
886
Dave Love <fx@gnu.org>
parents:
diff changeset
887 This feature was originally written by shane@mit-ajax.
Dave Love <fx@gnu.org>
parents:
diff changeset
888
Dave Love <fx@gnu.org>
parents:
diff changeset
889 * M-x list-command-history
Dave Love <fx@gnu.org>
parents:
diff changeset
890 * M-x command-history-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
891 * M-x electric-command-history
Dave Love <fx@gnu.org>
parents:
diff changeset
892
Dave Love <fx@gnu.org>
parents:
diff changeset
893 `list-command-history' displays forms from the command history subject
Dave Love <fx@gnu.org>
parents:
diff changeset
894 to user controlled filtering and limit on number of forms. It leaves
Dave Love <fx@gnu.org>
parents:
diff changeset
895 the buffer in `command-history-mode'. M-x command-history-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
896 recomputes the command history each time it is invoked via
Dave Love <fx@gnu.org>
parents:
diff changeset
897 `list-command-history'. It is like Emacs-Lisp mode except that characters
Dave Love <fx@gnu.org>
parents:
diff changeset
898 don't insert themselves and provision is made for re-evaluating an
Dave Love <fx@gnu.org>
parents:
diff changeset
899 expression from the list. `electric-command-history' pops up a type
Dave Love <fx@gnu.org>
parents:
diff changeset
900 out window with the command history displayed. If the very next
Dave Love <fx@gnu.org>
parents:
diff changeset
901 character is Space, the window goes away and the previous window
Dave Love <fx@gnu.org>
parents:
diff changeset
902 configuration is restored. Otherwise you can move around in the
Dave Love <fx@gnu.org>
parents:
diff changeset
903 history and select an expression for evaluation *inside* the buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
904 which invoked `electric-command-history'. The original window
Dave Love <fx@gnu.org>
parents:
diff changeset
905 configuration is restored on exit unless the command selected changes
Dave Love <fx@gnu.org>
parents:
diff changeset
906 it.
Dave Love <fx@gnu.org>
parents:
diff changeset
907
Dave Love <fx@gnu.org>
parents:
diff changeset
908 * M-x edit-picture
Dave Love <fx@gnu.org>
parents:
diff changeset
909
Dave Love <fx@gnu.org>
parents:
diff changeset
910 Enters a temporary major mode (the previous major mode is remembered
Dave Love <fx@gnu.org>
parents:
diff changeset
911 and can is restored on exit) designed for editing pictures and tables.
Dave Love <fx@gnu.org>
parents:
diff changeset
912 Printing characters replace rather than insert themselves with motion
Dave Love <fx@gnu.org>
parents:
diff changeset
913 afterwards that is user controlled (you can specify any of the 8
Dave Love <fx@gnu.org>
parents:
diff changeset
914 compass directions). Special commands for movement are provided.
Dave Love <fx@gnu.org>
parents:
diff changeset
915 Special commands for hacking tabs and tab stops are provided. Special
Dave Love <fx@gnu.org>
parents:
diff changeset
916 commands for killing rectangles and overlaying them are provided. See
Dave Love <fx@gnu.org>
parents:
diff changeset
917 the documentation of function edit-picture for more details.
Dave Love <fx@gnu.org>
parents:
diff changeset
918
Dave Love <fx@gnu.org>
parents:
diff changeset
919 Calls value of `edit-picture-hook' on entry if non-nil.
Dave Love <fx@gnu.org>
parents:
diff changeset
920
Dave Love <fx@gnu.org>
parents:
diff changeset
921 * Stupid C-s/C-q `flow control' supported.
Dave Love <fx@gnu.org>
parents:
diff changeset
922
Dave Love <fx@gnu.org>
parents:
diff changeset
923 Do (set-input-mode nil t) to tell Emacs to use CBREAK mode and interpret
Dave Love <fx@gnu.org>
parents:
diff changeset
924 C-s and C-q as flow control commands. (set-input-mode t nil) switches
Dave Love <fx@gnu.org>
parents:
diff changeset
925 back to interrupt-driven input. (set-input-mode nil nil) uses CBREAK
Dave Love <fx@gnu.org>
parents:
diff changeset
926 mode but no `flow control'; this may make it easier to run Emacs under
Dave Love <fx@gnu.org>
parents:
diff changeset
927 certain debuggers that have trouble dealing with inferiors that use SIGIO.
Dave Love <fx@gnu.org>
parents:
diff changeset
928
Dave Love <fx@gnu.org>
parents:
diff changeset
929 CBREAK mode has certain inherent disadvantages, which are why it is
Dave Love <fx@gnu.org>
parents:
diff changeset
930 not the default:
Dave Love <fx@gnu.org>
parents:
diff changeset
931
Dave Love <fx@gnu.org>
parents:
diff changeset
932 Meta-keys are ignored; CBREAK mode discards the 8th bit of
Dave Love <fx@gnu.org>
parents:
diff changeset
933 input characters.
Dave Love <fx@gnu.org>
parents:
diff changeset
934
Dave Love <fx@gnu.org>
parents:
diff changeset
935 Control-G as keyboard input discards buffered output,
Dave Love <fx@gnu.org>
parents:
diff changeset
936 and therefore can cause incorrect screen updating.
Dave Love <fx@gnu.org>
parents:
diff changeset
937
Dave Love <fx@gnu.org>
parents:
diff changeset
938 The use of `flow control' has its own additional disadvantage: the
Dave Love <fx@gnu.org>
parents:
diff changeset
939 characters C-s and C-q are not available as editing commands. You can
Dave Love <fx@gnu.org>
parents:
diff changeset
940 partially compensate for this by setting up a keyboard-translate-table
Dave Love <fx@gnu.org>
parents:
diff changeset
941 (see file ONEWS) that maps two other characters (such as C-^ and C-\) into
Dave Love <fx@gnu.org>
parents:
diff changeset
942 C-s and C-q. Of course, C-^ and C-\ are commonly used as escape
Dave Love <fx@gnu.org>
parents:
diff changeset
943 characters in remote-terminal programs. You really can't win except
Dave Love <fx@gnu.org>
parents:
diff changeset
944 by getting rid of this sort of `flow control.'
Dave Love <fx@gnu.org>
parents:
diff changeset
945
Dave Love <fx@gnu.org>
parents:
diff changeset
946 The configuration switch CBREAK_INPUT is now eliminated.
Dave Love <fx@gnu.org>
parents:
diff changeset
947 INTERRUPT_INPUT exists only to specify the default mode of operation;
Dave Love <fx@gnu.org>
parents:
diff changeset
948 #define it to make interrupt-driven input the default.
Dave Love <fx@gnu.org>
parents:
diff changeset
949
Dave Love <fx@gnu.org>
parents:
diff changeset
950 * Completion of directory names provides a slash.
Dave Love <fx@gnu.org>
parents:
diff changeset
951
Dave Love <fx@gnu.org>
parents:
diff changeset
952 If file name completion yields the name of a directory,
Dave Love <fx@gnu.org>
parents:
diff changeset
953 a slash is appended to it.
Dave Love <fx@gnu.org>
parents:
diff changeset
954
Dave Love <fx@gnu.org>
parents:
diff changeset
955 * Undo can clear modified-flag.
Dave Love <fx@gnu.org>
parents:
diff changeset
956
Dave Love <fx@gnu.org>
parents:
diff changeset
957 If you undo changes in a buffer back to a state in which the
Dave Love <fx@gnu.org>
parents:
diff changeset
958 buffer was not considered "modified", then it is labelled as
Dave Love <fx@gnu.org>
parents:
diff changeset
959 once again "unmodified".
Dave Love <fx@gnu.org>
parents:
diff changeset
960
Dave Love <fx@gnu.org>
parents:
diff changeset
961 * M-x run-lisp.
Dave Love <fx@gnu.org>
parents:
diff changeset
962
Dave Love <fx@gnu.org>
parents:
diff changeset
963 This command creates an inferior Lisp process whose input and output
Dave Love <fx@gnu.org>
parents:
diff changeset
964 appear in the Emacs buffer named `*lisp*'. That buffer uses a major mode
Dave Love <fx@gnu.org>
parents:
diff changeset
965 called inferior-lisp-mode, which has many of the commands of lisp-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
966 and those of shell-mode. Calls the value of shell-mode-hook and
Dave Love <fx@gnu.org>
parents:
diff changeset
967 lisp-mode-hook, in that order, if non-nil.
Dave Love <fx@gnu.org>
parents:
diff changeset
968
Dave Love <fx@gnu.org>
parents:
diff changeset
969 Meanwhile, in lisp-mode, the command C-M-x is defined to
Dave Love <fx@gnu.org>
parents:
diff changeset
970 send the current defun as input to the `*lisp*' subprocess.
Dave Love <fx@gnu.org>
parents:
diff changeset
971
Dave Love <fx@gnu.org>
parents:
diff changeset
972 * Mode line says `Narrow' when buffer is clipped.
Dave Love <fx@gnu.org>
parents:
diff changeset
973
Dave Love <fx@gnu.org>
parents:
diff changeset
974 If a buffer has a clipping restriction (made by `narrow-to-region')
Dave Love <fx@gnu.org>
parents:
diff changeset
975 then its mode line contains the word `Narrow' after the major and
Dave Love <fx@gnu.org>
parents:
diff changeset
976 minor modes.
Dave Love <fx@gnu.org>
parents:
diff changeset
977
Dave Love <fx@gnu.org>
parents:
diff changeset
978 * Mode line says `Abbrev' when abbrev mode is on.
Dave Love <fx@gnu.org>
parents:
diff changeset
979
Dave Love <fx@gnu.org>
parents:
diff changeset
980 * add-change-log-entry takes prefix argument
Dave Love <fx@gnu.org>
parents:
diff changeset
981
Dave Love <fx@gnu.org>
parents:
diff changeset
982 Giving a prefix argument makes it prompt for login name, full name,
Dave Love <fx@gnu.org>
parents:
diff changeset
983 and site name, with defaults. Otherwise the defaults are used
Dave Love <fx@gnu.org>
parents:
diff changeset
984 with no confirmation.
Dave Love <fx@gnu.org>
parents:
diff changeset
985
Dave Love <fx@gnu.org>
parents:
diff changeset
986 * M-x view-buffer and M-x view-file
Dave Love <fx@gnu.org>
parents:
diff changeset
987
Dave Love <fx@gnu.org>
parents:
diff changeset
988 view-buffer selects the named buffer, view-file finds the named file; the
Dave Love <fx@gnu.org>
parents:
diff changeset
989 resulting buffer is placed into view-mode (a recursive edit). The normal
Dave Love <fx@gnu.org>
parents:
diff changeset
990 emacs commands are not available. Instead a set of special commands is
Dave Love <fx@gnu.org>
parents:
diff changeset
991 provided which faclitate moving around in the buffer, searching and
Dave Love <fx@gnu.org>
parents:
diff changeset
992 scrolling by screenfuls. Exiting view-mode returns to the buffer in which
Dave Love <fx@gnu.org>
parents:
diff changeset
993 the view-file or view-buffer command was given.
Dave Love <fx@gnu.org>
parents:
diff changeset
994 Type ? or h when viewing for a complete list of view commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
995 Each calls value of `view-hook' if non-nil on entry.
Dave Love <fx@gnu.org>
parents:
diff changeset
996
Dave Love <fx@gnu.org>
parents:
diff changeset
997 written by shane@mit-ajax.
Dave Love <fx@gnu.org>
parents:
diff changeset
998
Dave Love <fx@gnu.org>
parents:
diff changeset
999 * New key commands in dired.
Dave Love <fx@gnu.org>
parents:
diff changeset
1000
Dave Love <fx@gnu.org>
parents:
diff changeset
1001 `v' views (like more) the file on the current line.
Dave Love <fx@gnu.org>
parents:
diff changeset
1002 `#' marks auto-save files for deletion.
Dave Love <fx@gnu.org>
parents:
diff changeset
1003 `~' marks backup files for deletion.
Dave Love <fx@gnu.org>
parents:
diff changeset
1004 `r' renames a file and updates the directory listing if the
Dave Love <fx@gnu.org>
parents:
diff changeset
1005 file is renamed to same directory.
Dave Love <fx@gnu.org>
parents:
diff changeset
1006 `c' copies a file and updates the directory listing if the file is
Dave Love <fx@gnu.org>
parents:
diff changeset
1007 copied to the same directory.
Dave Love <fx@gnu.org>
parents:
diff changeset
1008
Dave Love <fx@gnu.org>
parents:
diff changeset
1009 * New function `electric-buffer-list'.
Dave Love <fx@gnu.org>
parents:
diff changeset
1010
Dave Love <fx@gnu.org>
parents:
diff changeset
1011 This pops up a buffer describing the set of emacs buffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
1012 Immediately typing space makes the buffer list go away and returns
Dave Love <fx@gnu.org>
parents:
diff changeset
1013 to the buffer and window which were previously selected.
Dave Love <fx@gnu.org>
parents:
diff changeset
1014
Dave Love <fx@gnu.org>
parents:
diff changeset
1015 Otherwise one may use the c-p and c-n commands to move around in the
Dave Love <fx@gnu.org>
parents:
diff changeset
1016 buffer-list buffer and type Space or C-z to select the buffer on the
Dave Love <fx@gnu.org>
parents:
diff changeset
1017 cursor's line. There are a number of other commands which are the same
Dave Love <fx@gnu.org>
parents:
diff changeset
1018 as those of buffer-menu-mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
1019
Dave Love <fx@gnu.org>
parents:
diff changeset
1020 This is a useful thing to bind to c-x c-b in your `.emacs' file if the
Dave Love <fx@gnu.org>
parents:
diff changeset
1021 rather non-standard `electric' behaviour of the buffer list suits your taste.
Dave Love <fx@gnu.org>
parents:
diff changeset
1022 Type C-h after invoking electric-buffer-list for more information.
Dave Love <fx@gnu.org>
parents:
diff changeset
1023
Dave Love <fx@gnu.org>
parents:
diff changeset
1024 Calls value of `electric-buffer-menu-mode-hook' if non-nil on entry.
Dave Love <fx@gnu.org>
parents:
diff changeset
1025 Calls value of `after-electric-buffer-menu' on exit (select) if non-nil.
Dave Love <fx@gnu.org>
parents:
diff changeset
1026
Dave Love <fx@gnu.org>
parents:
diff changeset
1027 Changes in version 16 for mail reading and sending
Dave Love <fx@gnu.org>
parents:
diff changeset
1028
Dave Love <fx@gnu.org>
parents:
diff changeset
1029 * sendmail prefix character is C-c (and not C-z). New command C-c w.
Dave Love <fx@gnu.org>
parents:
diff changeset
1030
Dave Love <fx@gnu.org>
parents:
diff changeset
1031 For instance C-c C-c (or C-c C-s) sends mail now rather than C-z C-z.
Dave Love <fx@gnu.org>
parents:
diff changeset
1032 C-c w inserts your `signature' (contents of ~/.signature) at the end
Dave Love <fx@gnu.org>
parents:
diff changeset
1033 of mail.
Dave Love <fx@gnu.org>
parents:
diff changeset
1034
Dave Love <fx@gnu.org>
parents:
diff changeset
1035 * New feature in C-c y command in sending mail.
Dave Love <fx@gnu.org>
parents:
diff changeset
1036
Dave Love <fx@gnu.org>
parents:
diff changeset
1037 C-c y is the command to insert the message being replied to.
Dave Love <fx@gnu.org>
parents:
diff changeset
1038 Normally it deletes most header fields and indents everything
Dave Love <fx@gnu.org>
parents:
diff changeset
1039 by three spaces.
Dave Love <fx@gnu.org>
parents:
diff changeset
1040
Dave Love <fx@gnu.org>
parents:
diff changeset
1041 Now, C-c y does not delete header fields or indent.
Dave Love <fx@gnu.org>
parents:
diff changeset
1042 C-c y with any other numeric argument does delete most header
Dave Love <fx@gnu.org>
parents:
diff changeset
1043 fields, but indents by the amount specified in the argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
1044
Dave Love <fx@gnu.org>
parents:
diff changeset
1045 * C-r command in Rmail edits current message.
Dave Love <fx@gnu.org>
parents:
diff changeset
1046
Dave Love <fx@gnu.org>
parents:
diff changeset
1047 It does this by switching to a different major mode
Dave Love <fx@gnu.org>
parents:
diff changeset
1048 which is nearly the same as Text mode. The only difference
Dave Love <fx@gnu.org>
parents:
diff changeset
1049 between it and text mode are the two command C-c and C-].
Dave Love <fx@gnu.org>
parents:
diff changeset
1050 C-c is defined to switch back to Rmail mode, and C-]
Dave Love <fx@gnu.org>
parents:
diff changeset
1051 is defined to restore the original contents of the message
Dave Love <fx@gnu.org>
parents:
diff changeset
1052 and then switch back to Rmail mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
1053
Dave Love <fx@gnu.org>
parents:
diff changeset
1054 C-c and C-] are the only ways "back into Rmail", but you
Dave Love <fx@gnu.org>
parents:
diff changeset
1055 can switch to other buffers and edit them as usual.
Dave Love <fx@gnu.org>
parents:
diff changeset
1056 C-r in Rmail changes only the handling of the Rmail buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
1057
Dave Love <fx@gnu.org>
parents:
diff changeset
1058 * Rmail command `t' toggles header display.
Dave Love <fx@gnu.org>
parents:
diff changeset
1059
Dave Love <fx@gnu.org>
parents:
diff changeset
1060 Normally Rmail reformats messages to hide most header fields.
Dave Love <fx@gnu.org>
parents:
diff changeset
1061 `t' switches to display of all the header fields of the
Dave Love <fx@gnu.org>
parents:
diff changeset
1062 current message, as long as it remains current.
Dave Love <fx@gnu.org>
parents:
diff changeset
1063 Another `t' switches back to the usual display.
Dave Love <fx@gnu.org>
parents:
diff changeset
1064
Dave Love <fx@gnu.org>
parents:
diff changeset
1065 * Rmail command '>' goes to the last message.
Dave Love <fx@gnu.org>
parents:
diff changeset
1066
Dave Love <fx@gnu.org>
parents:
diff changeset
1067 * Rmail commands `a' and `k' set message attributes.
Dave Love <fx@gnu.org>
parents:
diff changeset
1068 `a' adds an attribute and `k' removes one. You specify
Dave Love <fx@gnu.org>
parents:
diff changeset
1069 the attrbute by name. You can specify either a built-in
Dave Love <fx@gnu.org>
parents:
diff changeset
1070 flag such as "deleted" or "filed", or a user-defined keyword
Dave Love <fx@gnu.org>
parents:
diff changeset
1071 (anything not recognized as built-in).
Dave Love <fx@gnu.org>
parents:
diff changeset
1072
Dave Love <fx@gnu.org>
parents:
diff changeset
1073 * Rmail commands `l' and `L' summarize by attributes.
Dave Love <fx@gnu.org>
parents:
diff changeset
1074
Dave Love <fx@gnu.org>
parents:
diff changeset
1075 These commands create a summary with one line per message,
Dave Love <fx@gnu.org>
parents:
diff changeset
1076 like `h', but they list only some of the messages. You
Dave Love <fx@gnu.org>
parents:
diff changeset
1077 specify which attribute (for `l') or attributes (for `L')
Dave Love <fx@gnu.org>
parents:
diff changeset
1078 the messages should have.
Dave Love <fx@gnu.org>
parents:
diff changeset
1079
Dave Love <fx@gnu.org>
parents:
diff changeset
1080 * Rmail can parse mmdf mail files.
Dave Love <fx@gnu.org>
parents:
diff changeset
1081
Dave Love <fx@gnu.org>
parents:
diff changeset
1082 * Interface to MH mail system.
Dave Love <fx@gnu.org>
parents:
diff changeset
1083
Dave Love <fx@gnu.org>
parents:
diff changeset
1084 mh-e is a front end for GNU emacs and the MH mail system. It
Dave Love <fx@gnu.org>
parents:
diff changeset
1085 provides a friendly and convient interface to the MH commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
1086
Dave Love <fx@gnu.org>
parents:
diff changeset
1087 To read mail, invoke mh-rmail. This will inc new mail and display the
Dave Love <fx@gnu.org>
parents:
diff changeset
1088 scan listing on the screen. To see a summary of the mh-e commands,
Dave Love <fx@gnu.org>
parents:
diff changeset
1089 type ?. Help is available through the usual facilities.
Dave Love <fx@gnu.org>
parents:
diff changeset
1090
Dave Love <fx@gnu.org>
parents:
diff changeset
1091 To send mail, invoke mh-smail.
Dave Love <fx@gnu.org>
parents:
diff changeset
1092
Dave Love <fx@gnu.org>
parents:
diff changeset
1093 mh-e requires a copy of MH.5 that has been compiled with the MHE
Dave Love <fx@gnu.org>
parents:
diff changeset
1094 compiler switch.
Dave Love <fx@gnu.org>
parents:
diff changeset
1095
Dave Love <fx@gnu.org>
parents:
diff changeset
1096 From larus@berkeley.
Dave Love <fx@gnu.org>
parents:
diff changeset
1097
Dave Love <fx@gnu.org>
parents:
diff changeset
1098 New hooks and parameters in version 16
Dave Love <fx@gnu.org>
parents:
diff changeset
1099
Dave Love <fx@gnu.org>
parents:
diff changeset
1100 * New variable `blink-matching-paren-distance'.
Dave Love <fx@gnu.org>
parents:
diff changeset
1101
Dave Love <fx@gnu.org>
parents:
diff changeset
1102 This is the maximum number of characters to search for
Dave Love <fx@gnu.org>
parents:
diff changeset
1103 an open-paren to match an inserted close-paren.
Dave Love <fx@gnu.org>
parents:
diff changeset
1104 The matching open-paren is shown and checked if it is found
Dave Love <fx@gnu.org>
parents:
diff changeset
1105 within this distance.
Dave Love <fx@gnu.org>
parents:
diff changeset
1106
Dave Love <fx@gnu.org>
parents:
diff changeset
1107 `nil' means search all the way to the beginning of the buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
1108 In this case, a warning message is printed if no matching
Dave Love <fx@gnu.org>
parents:
diff changeset
1109 open-paren is found.
Dave Love <fx@gnu.org>
parents:
diff changeset
1110
Dave Love <fx@gnu.org>
parents:
diff changeset
1111 This feature was originally written by shane@mit-ajax.
Dave Love <fx@gnu.org>
parents:
diff changeset
1112
Dave Love <fx@gnu.org>
parents:
diff changeset
1113 * New variable `find-file-run-dired'
Dave Love <fx@gnu.org>
parents:
diff changeset
1114
Dave Love <fx@gnu.org>
parents:
diff changeset
1115 If nil, find-file will report an error if an attempt to visit a
Dave Love <fx@gnu.org>
parents:
diff changeset
1116 directory is detected; otherwise, it runs dired on that directory.
Dave Love <fx@gnu.org>
parents:
diff changeset
1117 The default is t.
Dave Love <fx@gnu.org>
parents:
diff changeset
1118
Dave Love <fx@gnu.org>
parents:
diff changeset
1119 * Variable `dired-listing-switches' holds switches given to `ls' by dired.
Dave Love <fx@gnu.org>
parents:
diff changeset
1120
Dave Love <fx@gnu.org>
parents:
diff changeset
1121 The value should be a string containing `-' followed by letters.
Dave Love <fx@gnu.org>
parents:
diff changeset
1122 The letter `l' had better be included and letter 'F' had better be excluded!
Dave Love <fx@gnu.org>
parents:
diff changeset
1123 The default is "-al".
Dave Love <fx@gnu.org>
parents:
diff changeset
1124
Dave Love <fx@gnu.org>
parents:
diff changeset
1125 This feature was originally written by shane@mit-ajax.
Dave Love <fx@gnu.org>
parents:
diff changeset
1126
Dave Love <fx@gnu.org>
parents:
diff changeset
1127 * New variable `display-time-day-and-date'.
Dave Love <fx@gnu.org>
parents:
diff changeset
1128
Dave Love <fx@gnu.org>
parents:
diff changeset
1129 If this variable is set non-`nil', the function M-x display-time
Dave Love <fx@gnu.org>
parents:
diff changeset
1130 displays the day and date, as well as the time.
Dave Love <fx@gnu.org>
parents:
diff changeset
1131
Dave Love <fx@gnu.org>
parents:
diff changeset
1132 * New parameter `c-continued-statement-indent'.
Dave Love <fx@gnu.org>
parents:
diff changeset
1133
Dave Love <fx@gnu.org>
parents:
diff changeset
1134 This controls the extra indentation given to a line
Dave Love <fx@gnu.org>
parents:
diff changeset
1135 that continues a C statement started on the previous line.
Dave Love <fx@gnu.org>
parents:
diff changeset
1136 By default it is 2, which is why you would see
Dave Love <fx@gnu.org>
parents:
diff changeset
1137
Dave Love <fx@gnu.org>
parents:
diff changeset
1138 if (foo)
Dave Love <fx@gnu.org>
parents:
diff changeset
1139 bar ();
Dave Love <fx@gnu.org>
parents:
diff changeset
1140
Dave Love <fx@gnu.org>
parents:
diff changeset
1141
Dave Love <fx@gnu.org>
parents:
diff changeset
1142 * Changed meaning of `c-indent-level'.
Dave Love <fx@gnu.org>
parents:
diff changeset
1143
Dave Love <fx@gnu.org>
parents:
diff changeset
1144 The value of `c-brace-offset' used to be
Dave Love <fx@gnu.org>
parents:
diff changeset
1145 subtracted from the value of `c-indent-level' whenever
Dave Love <fx@gnu.org>
parents:
diff changeset
1146 that value was used. Now it is not.
Dave Love <fx@gnu.org>
parents:
diff changeset
1147
Dave Love <fx@gnu.org>
parents:
diff changeset
1148 As a result, `c-indent-level' is now the offset of
Dave Love <fx@gnu.org>
parents:
diff changeset
1149 statements within a block, relative to the line containing
Dave Love <fx@gnu.org>
parents:
diff changeset
1150 the open-brace that starts the block.
Dave Love <fx@gnu.org>
parents:
diff changeset
1151
Dave Love <fx@gnu.org>
parents:
diff changeset
1152 * turn-on-auto-fill is useful value for text-mode-hook.
Dave Love <fx@gnu.org>
parents:
diff changeset
1153
Dave Love <fx@gnu.org>
parents:
diff changeset
1154 (setq text-mode-hook 'turn-on-auto-fill)
Dave Love <fx@gnu.org>
parents:
diff changeset
1155 is all you have to do to make sure Auto Fill mode is turned
Dave Love <fx@gnu.org>
parents:
diff changeset
1156 on whenever you enter Text mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
1157
Dave Love <fx@gnu.org>
parents:
diff changeset
1158 * Parameter explicit-shell-file-name for M-x shell.
Dave Love <fx@gnu.org>
parents:
diff changeset
1159
Dave Love <fx@gnu.org>
parents:
diff changeset
1160 This variable, if non-nil, specifies the file name to use
Dave Love <fx@gnu.org>
parents:
diff changeset
1161 for the shell to run if you do M-x shell.
Dave Love <fx@gnu.org>
parents:
diff changeset
1162
Dave Love <fx@gnu.org>
parents:
diff changeset
1163 Changes in version 16 affecting Lisp programming:
Dave Love <fx@gnu.org>
parents:
diff changeset
1164
Dave Love <fx@gnu.org>
parents:
diff changeset
1165 * Documentation strings adapt to customization.
Dave Love <fx@gnu.org>
parents:
diff changeset
1166
Dave Love <fx@gnu.org>
parents:
diff changeset
1167 Often the documentation string for a command wants to mention
Dave Love <fx@gnu.org>
parents:
diff changeset
1168 another command. Simply stating the other command as a
Dave Love <fx@gnu.org>
parents:
diff changeset
1169 character sequence has a disadvantage: if the user customizes
Dave Love <fx@gnu.org>
parents:
diff changeset
1170 Emacs by moving that function to a different command, the
Dave Love <fx@gnu.org>
parents:
diff changeset
1171 cross reference in the documentation becomes wrong.
Dave Love <fx@gnu.org>
parents:
diff changeset
1172
Dave Love <fx@gnu.org>
parents:
diff changeset
1173 A new feature allows you to write the documentation string
Dave Love <fx@gnu.org>
parents:
diff changeset
1174 using a function name, and the command to run that function
Dave Love <fx@gnu.org>
parents:
diff changeset
1175 is looked up when the documentation is printed.
Dave Love <fx@gnu.org>
parents:
diff changeset
1176
Dave Love <fx@gnu.org>
parents:
diff changeset
1177 If a documentation string contains `\[' (two characters) then
Dave Love <fx@gnu.org>
parents:
diff changeset
1178 the following text, up to the next `]', is taken as a function name.
Dave Love <fx@gnu.org>
parents:
diff changeset
1179 Instead of printing that function name, the command that runs it is printed.
Dave Love <fx@gnu.org>
parents:
diff changeset
1180 (M-x is used to construct a command if no shorter one exists.)
Dave Love <fx@gnu.org>
parents:
diff changeset
1181
Dave Love <fx@gnu.org>
parents:
diff changeset
1182 For example, instead of putting `C-n' in a documentation string
Dave Love <fx@gnu.org>
parents:
diff changeset
1183 to refer to the C-n command, put in `\[next-line]'. (In practice
Dave Love <fx@gnu.org>
parents:
diff changeset
1184 you will need to quote the backslash with another backslash,
Dave Love <fx@gnu.org>
parents:
diff changeset
1185 due to the syntax for strings in Lisp and C.)
Dave Love <fx@gnu.org>
parents:
diff changeset
1186
Dave Love <fx@gnu.org>
parents:
diff changeset
1187 To include the literal characters `\[' in a documentation string,
Dave Love <fx@gnu.org>
parents:
diff changeset
1188 precede them with `\='. To include the characters `\=', precede
Dave Love <fx@gnu.org>
parents:
diff changeset
1189 them with `\='. For example, "\\=\\= is the way to quote \\=\\["
Dave Love <fx@gnu.org>
parents:
diff changeset
1190 will come out as `\= is the way to quote \['.
Dave Love <fx@gnu.org>
parents:
diff changeset
1191
Dave Love <fx@gnu.org>
parents:
diff changeset
1192 The new function `substitute-command-keys' takes a string possibly
Dave Love <fx@gnu.org>
parents:
diff changeset
1193 contaning \[...] constructs and replaces those constructs with
Dave Love <fx@gnu.org>
parents:
diff changeset
1194 the key sequences they currently stand for.
Dave Love <fx@gnu.org>
parents:
diff changeset
1195
Dave Love <fx@gnu.org>
parents:
diff changeset
1196 * Primitives `find-line-comment' and `find-line-comment-body' flushed.
Dave Love <fx@gnu.org>
parents:
diff changeset
1197
Dave Love <fx@gnu.org>
parents:
diff changeset
1198 Search for the value of `comment-start-skip' if you want to find
Dave Love <fx@gnu.org>
parents:
diff changeset
1199 whether and where a line has a comment.
Dave Love <fx@gnu.org>
parents:
diff changeset
1200
Dave Love <fx@gnu.org>
parents:
diff changeset
1201 * New function `auto-save-file-name-p'
Dave Love <fx@gnu.org>
parents:
diff changeset
1202
Dave Love <fx@gnu.org>
parents:
diff changeset
1203 Should return non-`nil' iff given a string which is the name of an
Dave Love <fx@gnu.org>
parents:
diff changeset
1204 auto-save file (sans directory name). If you redefine
Dave Love <fx@gnu.org>
parents:
diff changeset
1205 `make-auto-save-file-name', you should redefine this accordingly. By
Dave Love <fx@gnu.org>
parents:
diff changeset
1206 default, this function returns `t' for filenames beginning with
Dave Love <fx@gnu.org>
parents:
diff changeset
1207 character `#'.
Dave Love <fx@gnu.org>
parents:
diff changeset
1208
Dave Love <fx@gnu.org>
parents:
diff changeset
1209 * The value of `exec-directory' now ends in a slash.
Dave Love <fx@gnu.org>
parents:
diff changeset
1210
Dave Love <fx@gnu.org>
parents:
diff changeset
1211 This is to be compatible with most directory names in GNU Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
1212
Dave Love <fx@gnu.org>
parents:
diff changeset
1213 * Dribble files and termscript files.
Dave Love <fx@gnu.org>
parents:
diff changeset
1214
Dave Love <fx@gnu.org>
parents:
diff changeset
1215 (open-dribble-file FILE) opens a dribble file named FILE. When a
Dave Love <fx@gnu.org>
parents:
diff changeset
1216 dribble file is open, every character Emacs reads from the terminal is
Dave Love <fx@gnu.org>
parents:
diff changeset
1217 written to the dribble file.
Dave Love <fx@gnu.org>
parents:
diff changeset
1218
Dave Love <fx@gnu.org>
parents:
diff changeset
1219 (open-termscript FILE) opens a termscript file named FILE. When a
Dave Love <fx@gnu.org>
parents:
diff changeset
1220 termscript file is open, all characters sent to the terminal by Emacs
Dave Love <fx@gnu.org>
parents:
diff changeset
1221 are also written in the termscript file.
Dave Love <fx@gnu.org>
parents:
diff changeset
1222
Dave Love <fx@gnu.org>
parents:
diff changeset
1223 The two of these together are very useful for debugging Emacs problems
Dave Love <fx@gnu.org>
parents:
diff changeset
1224 in redisplay.
Dave Love <fx@gnu.org>
parents:
diff changeset
1225
Dave Love <fx@gnu.org>
parents:
diff changeset
1226 * Upper case command characters by default are same as lower case.
Dave Love <fx@gnu.org>
parents:
diff changeset
1227
Dave Love <fx@gnu.org>
parents:
diff changeset
1228 If a character in a command is an upper case letter, and is not defined,
Dave Love <fx@gnu.org>
parents:
diff changeset
1229 Emacs uses the definition of the corresponding lower case letter.
Dave Love <fx@gnu.org>
parents:
diff changeset
1230 For example, if C-x U is not directly undefined, it is treated as
Dave Love <fx@gnu.org>
parents:
diff changeset
1231 a synonym for C-x u (undo).
Dave Love <fx@gnu.org>
parents:
diff changeset
1232
Dave Love <fx@gnu.org>
parents:
diff changeset
1233 * Undefined function errors versus undefined variable errors.
Dave Love <fx@gnu.org>
parents:
diff changeset
1234
Dave Love <fx@gnu.org>
parents:
diff changeset
1235 Void-symbol errors now say "boundp" if the symbol's value was void
Dave Love <fx@gnu.org>
parents:
diff changeset
1236 or "fboundp" if the function definition was void.
Dave Love <fx@gnu.org>
parents:
diff changeset
1237
Dave Love <fx@gnu.org>
parents:
diff changeset
1238 * New function `bury-buffer'.
Dave Love <fx@gnu.org>
parents:
diff changeset
1239
Dave Love <fx@gnu.org>
parents:
diff changeset
1240 The new function `bury-buffer' takes one argument, a buffer object,
Dave Love <fx@gnu.org>
parents:
diff changeset
1241 and puts that buffer at the end of the internal list of buffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
1242 So it is the least preferred candidate for use as the default value
Dave Love <fx@gnu.org>
parents:
diff changeset
1243 of C-x b, or for other-buffer to return.
Dave Love <fx@gnu.org>
parents:
diff changeset
1244
Dave Love <fx@gnu.org>
parents:
diff changeset
1245 * Already-displayed buffers have low priority for display.
Dave Love <fx@gnu.org>
parents:
diff changeset
1246
Dave Love <fx@gnu.org>
parents:
diff changeset
1247 When a buffer is chosen automatically for display, or to be the
Dave Love <fx@gnu.org>
parents:
diff changeset
1248 default in C-x b, buffers already displayed in windows have lower
Dave Love <fx@gnu.org>
parents:
diff changeset
1249 priority than buffers not currently visible.
Dave Love <fx@gnu.org>
parents:
diff changeset
1250
Dave Love <fx@gnu.org>
parents:
diff changeset
1251 * `set-window-start' accepts a third argument NOFORCE.
Dave Love <fx@gnu.org>
parents:
diff changeset
1252
Dave Love <fx@gnu.org>
parents:
diff changeset
1253 This argument, if non-nil, prevents the window's force_start flag
Dave Love <fx@gnu.org>
parents:
diff changeset
1254 from being set. Setting the force_start flag causes the next
Dave Love <fx@gnu.org>
parents:
diff changeset
1255 redisplay to insist on starting display at the specified starting
Dave Love <fx@gnu.org>
parents:
diff changeset
1256 point, even if dot must be moved to get it onto the screen.
Dave Love <fx@gnu.org>
parents:
diff changeset
1257
Dave Love <fx@gnu.org>
parents:
diff changeset
1258 * New function `send-string-to-terminal'.
Dave Love <fx@gnu.org>
parents:
diff changeset
1259
Dave Love <fx@gnu.org>
parents:
diff changeset
1260 This function takes one argument, a string, and outputs its contents
Dave Love <fx@gnu.org>
parents:
diff changeset
1261 to the terminal exactly as specified: control characters, escape
Dave Love <fx@gnu.org>
parents:
diff changeset
1262 sequences, and all.
Dave Love <fx@gnu.org>
parents:
diff changeset
1263
Dave Love <fx@gnu.org>
parents:
diff changeset
1264 * Keypad put in command mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
1265
Dave Love <fx@gnu.org>
parents:
diff changeset
1266 The terminal's keypad is now put into command mode, as opposed to
Dave Love <fx@gnu.org>
parents:
diff changeset
1267 numeric mode, while Emacs is running. This is done by means of the
Dave Love <fx@gnu.org>
parents:
diff changeset
1268 termcap `ks' and `ke' strings.
Dave Love <fx@gnu.org>
parents:
diff changeset
1269
Dave Love <fx@gnu.org>
parents:
diff changeset
1270 * New function `generate-new-buffer'
Dave Love <fx@gnu.org>
parents:
diff changeset
1271
Dave Love <fx@gnu.org>
parents:
diff changeset
1272 This function takes a string as an argument NAME and looks for a
Dave Love <fx@gnu.org>
parents:
diff changeset
1273 creates and returns a buffer called NAME if one did not already exist.
Dave Love <fx@gnu.org>
parents:
diff changeset
1274 Otherwise, it successively tries appending suffixes of the form "<1>",
Dave Love <fx@gnu.org>
parents:
diff changeset
1275 "<2>" etc to NAME until it creates a string which does not name an
Dave Love <fx@gnu.org>
parents:
diff changeset
1276 existing buffer. A new buffer with that name is the created and returned.
Dave Love <fx@gnu.org>
parents:
diff changeset
1277
Dave Love <fx@gnu.org>
parents:
diff changeset
1278 * New function `prin1-to-string'
Dave Love <fx@gnu.org>
parents:
diff changeset
1279 This function takes one argument, a lisp object, and returns a string
Dave Love <fx@gnu.org>
parents:
diff changeset
1280 containing that object's printed representation, such as `prin1'
Dave Love <fx@gnu.org>
parents:
diff changeset
1281 would output.
Dave Love <fx@gnu.org>
parents:
diff changeset
1282
Dave Love <fx@gnu.org>
parents:
diff changeset
1283 * New function `read-from-minibuffer'
Dave Love <fx@gnu.org>
parents:
diff changeset
1284 Lets you supply a prompt, initial-contents, a keymap, and specify
Dave Love <fx@gnu.org>
parents:
diff changeset
1285 whether the result should be interpreted as a string or a lisp object.
Dave Love <fx@gnu.org>
parents:
diff changeset
1286
Dave Love <fx@gnu.org>
parents:
diff changeset
1287 Old functions `read-minibuffer', `eval-minibuffer', `read-string' all
Dave Love <fx@gnu.org>
parents:
diff changeset
1288 take second optional string argument which is initial contents of
Dave Love <fx@gnu.org>
parents:
diff changeset
1289 minibuffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
1290
Dave Love <fx@gnu.org>
parents:
diff changeset
1291 * minibuffer variable names changed (names of keymaps)
Dave Love <fx@gnu.org>
parents:
diff changeset
1292
Dave Love <fx@gnu.org>
parents:
diff changeset
1293 minibuf-local-map -> minibuffer-local-map
Dave Love <fx@gnu.org>
parents:
diff changeset
1294 minibuf-local-ns-map -> minibuffer-local-ns-map
Dave Love <fx@gnu.org>
parents:
diff changeset
1295 minibuf-local-completion-map -> minibuffer-local-completion-map
Dave Love <fx@gnu.org>
parents:
diff changeset
1296 minibuf-local-must-match-map -> minibuffer-local-must-match-map
Dave Love <fx@gnu.org>
parents:
diff changeset
1297
Dave Love <fx@gnu.org>
parents:
diff changeset
1298 Changes in version 16 affecting configuring and building Emacs
Dave Love <fx@gnu.org>
parents:
diff changeset
1299
Dave Love <fx@gnu.org>
parents:
diff changeset
1300 * Configuration switch VT100_INVERSE eliminated.
Dave Love <fx@gnu.org>
parents:
diff changeset
1301
Dave Love <fx@gnu.org>
parents:
diff changeset
1302 You can control the use of inverse video on any terminal by setting
Dave Love <fx@gnu.org>
parents:
diff changeset
1303 the variable `inverse-video', or by changing the termcap entry. If
Dave Love <fx@gnu.org>
parents:
diff changeset
1304 you like, set `inverse-video' in your `.emacs' file based on
Dave Love <fx@gnu.org>
parents:
diff changeset
1305 examination of (getenv "TERM").
Dave Love <fx@gnu.org>
parents:
diff changeset
1306
Dave Love <fx@gnu.org>
parents:
diff changeset
1307 * New switch `-batch' makes Emacs run noninteractively.
Dave Love <fx@gnu.org>
parents:
diff changeset
1308
Dave Love <fx@gnu.org>
parents:
diff changeset
1309 If the switch `-batch' is used, Emacs treats its standard output
Dave Love <fx@gnu.org>
parents:
diff changeset
1310 and input like ordinary files (even if they are a terminal).
Dave Love <fx@gnu.org>
parents:
diff changeset
1311 It does not display buffers or windows; the only output to standard output
Dave Love <fx@gnu.org>
parents:
diff changeset
1312 is what would appear as messages in the echo area, and each
Dave Love <fx@gnu.org>
parents:
diff changeset
1313 message is followed by a newline.
Dave Love <fx@gnu.org>
parents:
diff changeset
1314
Dave Love <fx@gnu.org>
parents:
diff changeset
1315 The terminal modes are not changed, so that C-z and C-c retain
Dave Love <fx@gnu.org>
parents:
diff changeset
1316 their normal Unix meanings. Emacs does still read commands from
Dave Love <fx@gnu.org>
parents:
diff changeset
1317 the terminal, but the idea of `-batch' is that you use it with
Dave Love <fx@gnu.org>
parents:
diff changeset
1318 other command line arguments that tell Emacs a complete task to perform,
Dave Love <fx@gnu.org>
parents:
diff changeset
1319 including killing itself. `-kill' used as the last argument is a good
Dave Love <fx@gnu.org>
parents:
diff changeset
1320 way to accomplish this.
Dave Love <fx@gnu.org>
parents:
diff changeset
1321
Dave Love <fx@gnu.org>
parents:
diff changeset
1322 The Lisp variable `noninteractive' is now defined, to be `nil'
Dave Love <fx@gnu.org>
parents:
diff changeset
1323 except when `-batch' has been specified.
Dave Love <fx@gnu.org>
parents:
diff changeset
1324
Dave Love <fx@gnu.org>
parents:
diff changeset
1325 * Emacs can be built with output redirected to a file.
Dave Love <fx@gnu.org>
parents:
diff changeset
1326
Dave Love <fx@gnu.org>
parents:
diff changeset
1327 This is because -batch (see above) is now used in building Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
1328
Dave Love <fx@gnu.org>
parents:
diff changeset
1329 For older news, see the file OOOONEWS.
Dave Love <fx@gnu.org>
parents:
diff changeset
1330
Dave Love <fx@gnu.org>
parents:
diff changeset
1331 ----------------------------------------------------------------------
Dave Love <fx@gnu.org>
parents:
diff changeset
1332 Copyright information:
Dave Love <fx@gnu.org>
parents:
diff changeset
1333
Dave Love <fx@gnu.org>
parents:
diff changeset
1334 Copyright (C) 1985 Richard M. Stallman
Dave Love <fx@gnu.org>
parents:
diff changeset
1335
Dave Love <fx@gnu.org>
parents:
diff changeset
1336 Permission is granted to anyone to make or distribute verbatim copies
Dave Love <fx@gnu.org>
parents:
diff changeset
1337 of this document as received, in any medium, provided that the
Dave Love <fx@gnu.org>
parents:
diff changeset
1338 copyright notice and this permission notice are preserved,
Dave Love <fx@gnu.org>
parents:
diff changeset
1339 thus giving the recipient permission to redistribute in turn.
Dave Love <fx@gnu.org>
parents:
diff changeset
1340
Dave Love <fx@gnu.org>
parents:
diff changeset
1341 Permission is granted to distribute modified versions
Dave Love <fx@gnu.org>
parents:
diff changeset
1342 of this document, or of portions of it,
Dave Love <fx@gnu.org>
parents:
diff changeset
1343 under the above conditions, provided also that they
Dave Love <fx@gnu.org>
parents:
diff changeset
1344 carry prominent notices stating who last changed them.
Dave Love <fx@gnu.org>
parents:
diff changeset
1345
Dave Love <fx@gnu.org>
parents:
diff changeset
1346 Local variables:
Dave Love <fx@gnu.org>
parents:
diff changeset
1347 mode: text
Dave Love <fx@gnu.org>
parents:
diff changeset
1348 end: