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