diff options
| -rw-r--r-- | etc/NEWS.1-17 | 621 |
1 files changed, 311 insertions, 310 deletions
diff --git a/etc/NEWS.1-17 b/etc/NEWS.1-17 index 63ef9a38559..cfa0b400cc5 100644 --- a/etc/NEWS.1-17 +++ b/etc/NEWS.1-17 | |||
| @@ -8,21 +8,21 @@ This file is about changes in emacs versions 1 through 17. | |||
| 8 | 8 | ||
| 9 | 9 | ||
| 10 | 10 | ||
| 11 | Changes in Emacs 17 | 11 | * Changes in Emacs 17 |
| 12 | 12 | ||
| 13 | * Frustrated? | 13 | ** Frustrated? |
| 14 | 14 | ||
| 15 | Try M-x doctor. | 15 | Try M-x doctor. |
| 16 | 16 | ||
| 17 | * Bored? | 17 | ** Bored? |
| 18 | 18 | ||
| 19 | Try M-x hanoi. | 19 | Try M-x hanoi. |
| 20 | 20 | ||
| 21 | * Brain-damaged? | 21 | ** Brain-damaged? |
| 22 | 22 | ||
| 23 | Try M-x yow. | 23 | Try M-x yow. |
| 24 | 24 | ||
| 25 | * Sun3, Tahoe, Apollo, HP9000s300, Celerity, NCR Tower 32, | 25 | ** Sun3, Tahoe, Apollo, HP9000s300, Celerity, NCR Tower 32, |
| 26 | Sequent, Stride, Encore, Plexus and AT&T 7300 machines supported. | 26 | Sequent, Stride, Encore, Plexus and AT&T 7300 machines supported. |
| 27 | 27 | ||
| 28 | The Tahoe, Sun3, Sequent and Celerity use 4.2. In regard to the | 28 | The Tahoe, Sun3, Sequent and Celerity use 4.2. In regard to the |
| @@ -30,24 +30,24 @@ Apollo, see the file APOLLO in this directory. NCR Tower32, | |||
| 30 | HP9000s300, Stride and Nu run forms of System V. System V rel 2 also | 30 | HP9000s300, Stride and Nu run forms of System V. System V rel 2 also |
| 31 | works on Vaxes now. See etc/MACHINES. | 31 | works on Vaxes now. See etc/MACHINES. |
| 32 | 32 | ||
| 33 | * System V Unix supported, including subprocesses. | 33 | ** System V Unix supported, including subprocesses. |
| 34 | 34 | ||
| 35 | It should be possible now to bring up Emacs on a machine running | 35 | It should be possible now to bring up Emacs on a machine running |
| 36 | mere unameliorated system V Unix with no major work; just possible bug | 36 | mere unameliorated system V Unix with no major work; just possible bug |
| 37 | fixes. But you can expect to find a handful of those on any machine | 37 | fixes. But you can expect to find a handful of those on any machine |
| 38 | that Emacs has not been run on before. | 38 | that Emacs has not been run on before. |
| 39 | 39 | ||
| 40 | * Berkeley 4.1 Unix supported. | 40 | ** Berkeley 4.1 Unix supported. |
| 41 | 41 | ||
| 42 | See etc/MACHINES. | 42 | See etc/MACHINES. |
| 43 | 43 | ||
| 44 | * Portable `alloca' provided. | 44 | ** Portable `alloca' provided. |
| 45 | 45 | ||
| 46 | Emacs can now run on machines that do not and cannot support the library | 46 | Emacs can now run on machines that do not and cannot support the library |
| 47 | subroutine `alloca' in the canonical fashion, using an `alloca' emulation | 47 | subroutine `alloca' in the canonical fashion, using an `alloca' emulation |
| 48 | written in C. | 48 | written in C. |
| 49 | 49 | ||
| 50 | * On-line manual. | 50 | ** On-line manual. |
| 51 | 51 | ||
| 52 | Info now contains an Emacs manual, with essentially the same text | 52 | Info now contains an Emacs manual, with essentially the same text |
| 53 | as in the printed manual. | 53 | as in the printed manual. |
| @@ -57,7 +57,7 @@ The manual can now be printed with a standard TeX. | |||
| 57 | Nicely typeset and printed copies of the manual are available | 57 | Nicely typeset and printed copies of the manual are available |
| 58 | from the Free Software Foundation. | 58 | from the Free Software Foundation. |
| 59 | 59 | ||
| 60 | * Backup file version numbers. | 60 | ** Backup file version numbers. |
| 61 | 61 | ||
| 62 | Emacs now supports version numbers in backup files. | 62 | Emacs now supports version numbers in backup files. |
| 63 | 63 | ||
| @@ -108,7 +108,7 @@ to keep, overriding `dired-kept-versions'. A negative argument specifies | |||
| 108 | the number of oldest versions to keep, using minus the argument to override | 108 | the number of oldest versions to keep, using minus the argument to override |
| 109 | `kept-old-versions'. | 109 | `kept-old-versions'. |
| 110 | 110 | ||
| 111 | * Immediate conflict detection. | 111 | ** Immediate conflict detection. |
| 112 | 112 | ||
| 113 | Emacs now locks the files it is modifying, so that if | 113 | Emacs now locks the files it is modifying, so that if |
| 114 | you start to modify within Emacs a file that is being | 114 | you start to modify within Emacs a file that is being |
| @@ -130,27 +130,27 @@ directory. If such a directory is not provided and told to | |||
| 130 | Emacs as part of configuring it for your machine, the lock feature | 130 | Emacs as part of configuring it for your machine, the lock feature |
| 131 | is turned off. | 131 | is turned off. |
| 132 | 132 | ||
| 133 | * M-x recover-file. | 133 | ** M-x recover-file. |
| 134 | 134 | ||
| 135 | This command is used to get a file back from an auto-save | 135 | This command is used to get a file back from an auto-save |
| 136 | (after a system crash, for example). It takes a file name | 136 | (after a system crash, for example). It takes a file name |
| 137 | as argument and visits that file, but gets the data from the | 137 | as argument and visits that file, but gets the data from the |
| 138 | file's last auto save rather than from the file itself. | 138 | file's last auto save rather than from the file itself. |
| 139 | 139 | ||
| 140 | * M-x normal-mode. | 140 | ** M-x normal-mode. |
| 141 | 141 | ||
| 142 | This command resets the current buffer's major mode and local | 142 | This command resets the current buffer's major mode and local |
| 143 | variables to be as specified by the visit filename, the -*- line | 143 | variables to be as specified by the visit filename, the -*- line |
| 144 | and/or the Local Variables: block at the end of the buffer. | 144 | and/or the Local Variables: block at the end of the buffer. |
| 145 | It is the same thing normally done when a file is first visited. | 145 | It is the same thing normally done when a file is first visited. |
| 146 | 146 | ||
| 147 | * Echo area messages disappear shortly if minibuffer is in use. | 147 | ** Echo area messages disappear shortly if minibuffer is in use. |
| 148 | 148 | ||
| 149 | Any message in the echo area disappears after 2 seconds | 149 | Any message in the echo area disappears after 2 seconds |
| 150 | if the minibuffer is active. This allows the minibuffer | 150 | if the minibuffer is active. This allows the minibuffer |
| 151 | to become visible again. | 151 | to become visible again. |
| 152 | 152 | ||
| 153 | * C-z on System V runs a subshell. | 153 | ** C-z on System V runs a subshell. |
| 154 | 154 | ||
| 155 | On systems which do not allow programs to be suspended, the C-z command | 155 | On systems which do not allow programs to be suspended, the C-z command |
| 156 | forks a subshell that talks directly to the terminal, and then waits | 156 | forks a subshell that talks directly to the terminal, and then waits |
| @@ -158,18 +158,18 @@ for the subshell to exit. This gets almost the effect of suspending | |||
| 158 | in that you can run other programs and then return to Emacs. However, | 158 | in that you can run other programs and then return to Emacs. However, |
| 159 | you cannot log out from the subshell. | 159 | you cannot log out from the subshell. |
| 160 | 160 | ||
| 161 | * C-c is always a prefix character. | 161 | ** C-c is always a prefix character. |
| 162 | 162 | ||
| 163 | Also, subcommands of C-c which are letters are always | 163 | Also, subcommands of C-c which are letters are always |
| 164 | reserved for the user. No standard Emacs major mode | 164 | reserved for the user. No standard Emacs major mode |
| 165 | defines any of them. | 165 | defines any of them. |
| 166 | 166 | ||
| 167 | * Picture mode C-c commands changed. | 167 | ** Picture mode C-c commands changed. |
| 168 | 168 | ||
| 169 | The old C-c k command is now C-c C-w. | 169 | The old C-c k command is now C-c C-w. |
| 170 | The old C-c y command is now C-c C-x. | 170 | The old C-c y command is now C-c C-x. |
| 171 | 171 | ||
| 172 | * Shell mode commands changed. | 172 | ** Shell mode commands changed. |
| 173 | 173 | ||
| 174 | All the special commands of Shell mode are now moved onto | 174 | All the special commands of Shell mode are now moved onto |
| 175 | the C-c prefix. Most are not changed aside from that. | 175 | the C-c prefix. Most are not changed aside from that. |
| @@ -182,7 +182,7 @@ is now C-c C-o, and C-x C-v (show output) is now C-c C-r. | |||
| 182 | 182 | ||
| 183 | The old M-= (copy previous input) command is now C-c C-y. | 183 | The old M-= (copy previous input) command is now C-c C-y. |
| 184 | 184 | ||
| 185 | * Shell mode recognizes aliases for `pushd', `popd' and `cd'. | 185 | ** Shell mode recognizes aliases for `pushd', `popd' and `cd'. |
| 186 | 186 | ||
| 187 | Shell mode now uses the variable `shell-pushd-regexp' as a | 187 | Shell mode now uses the variable `shell-pushd-regexp' as a |
| 188 | regular expression to recognize any command name that is | 188 | regular expression to recognize any command name that is |
| @@ -194,13 +194,13 @@ There are also `shell-popd-regexp' to recognize commands | |||
| 194 | with the effect of a `popd', and `shell-cd-regexp' to recognize | 194 | with the effect of a `popd', and `shell-cd-regexp' to recognize |
| 195 | commands with the effect of a `cd'. | 195 | commands with the effect of a `cd'. |
| 196 | 196 | ||
| 197 | * "Exit" command in certain modes now C-c C-c. | 197 | ** "Exit" command in certain modes now C-c C-c. |
| 198 | 198 | ||
| 199 | These include electric buffer menu mode, electric command history | 199 | These include electric buffer menu mode, electric command history |
| 200 | mode, Info node edit mode, and Rmail edit mode. In all these | 200 | mode, Info node edit mode, and Rmail edit mode. In all these |
| 201 | modes, the command to exit used to be just C-c. | 201 | modes, the command to exit used to be just C-c. |
| 202 | 202 | ||
| 203 | * Outline mode changes. | 203 | ** Outline mode changes. |
| 204 | 204 | ||
| 205 | Lines that are not heading lines are now called "body" lines. | 205 | Lines that are not heading lines are now called "body" lines. |
| 206 | The command `hide-text' is renamed to `hide-body'. | 206 | The command `hide-text' is renamed to `hide-body'. |
| @@ -212,7 +212,7 @@ Changes of line visibility are no longer undoable. As a result, | |||
| 212 | they no longer use up undo memory and no longer interfere with | 212 | they no longer use up undo memory and no longer interfere with |
| 213 | undoing earlier commands. | 213 | undoing earlier commands. |
| 214 | 214 | ||
| 215 | * Rmail changes. | 215 | ** Rmail changes. |
| 216 | 216 | ||
| 217 | The s and q commands now both expunge deleted messages before saving; | 217 | The s and q commands now both expunge deleted messages before saving; |
| 218 | use C-x C-s to save without expunging. | 218 | use C-x C-s to save without expunging. |
| @@ -229,23 +229,23 @@ o now outputs to an Rmail file, and C-o to a Unix mail file. | |||
| 229 | The F command (rmail-find) is renamed to M-s (rmail-search). | 229 | The F command (rmail-find) is renamed to M-s (rmail-search). |
| 230 | Various new commands and features exist; see the Emacs manual. | 230 | Various new commands and features exist; see the Emacs manual. |
| 231 | 231 | ||
| 232 | * Local bindings described first in describe-bindings. | 232 | ** Local bindings described first in describe-bindings. |
| 233 | 233 | ||
| 234 | * [...], {...} now balance in Fundamental mode. | 234 | ** [...], {...} now balance in Fundamental mode. |
| 235 | 235 | ||
| 236 | * Nroff mode and TeX mode. | 236 | ** Nroff mode and TeX mode. |
| 237 | 237 | ||
| 238 | There are two new major modes for editing nroff input and TeX input. | 238 | There are two new major modes for editing nroff input and TeX input. |
| 239 | See the Emacs manual for full information. | 239 | See the Emacs manual for full information. |
| 240 | 240 | ||
| 241 | * New C indentation style variable `c-brace-imaginary-offset'. | 241 | ** New C indentation style variable `c-brace-imaginary-offset'. |
| 242 | 242 | ||
| 243 | The value of `c-brace-imaginary-offset', normally zero, controls the | 243 | The value of `c-brace-imaginary-offset', normally zero, controls the |
| 244 | indentation of a statement inside a brace-group where the open-brace | 244 | indentation of a statement inside a brace-group where the open-brace |
| 245 | is not the first thing on a line. The value says where the open-brace | 245 | is not the first thing on a line. The value says where the open-brace |
| 246 | is imagined to be, relative to the first nonblank character on the line. | 246 | is imagined to be, relative to the first nonblank character on the line. |
| 247 | 247 | ||
| 248 | * Dired improvements. | 248 | ** Dired improvements. |
| 249 | 249 | ||
| 250 | Dired now normally keeps the cursor at the beginning of the file name, | 250 | Dired now normally keeps the cursor at the beginning of the file name, |
| 251 | not at the beginning of the line. The most used motion commands are | 251 | not at the beginning of the line. The most used motion commands are |
| @@ -259,22 +259,22 @@ printed in an error message. | |||
| 259 | If the `v' command is invoked on a file which is a directory, | 259 | If the `v' command is invoked on a file which is a directory, |
| 260 | dired is run on that directory. | 260 | dired is run on that directory. |
| 261 | 261 | ||
| 262 | * `visit-tag-table' renamed `visit-tags-table'. | 262 | ** `visit-tag-table' renamed `visit-tags-table'. |
| 263 | 263 | ||
| 264 | This is so apropos of `tags' finds everything you need to | 264 | This is so apropos of `tags' finds everything you need to |
| 265 | know about in connection with Tags. | 265 | know about in connection with Tags. |
| 266 | 266 | ||
| 267 | * `mh-e' library uses C-c as prefix. | 267 | ** `mh-e' library uses C-c as prefix. |
| 268 | 268 | ||
| 269 | All the special commands of `mh-rmail' now are placed on a | 269 | All the special commands of `mh-rmail' now are placed on a |
| 270 | C-c prefix rather than on the C-x prefix. This is for | 270 | C-c prefix rather than on the C-x prefix. This is for |
| 271 | consistency with other special modes with their own commands. | 271 | consistency with other special modes with their own commands. |
| 272 | 272 | ||
| 273 | * M-$ or `spell-word' checks word before point. | 273 | ** M-$ or `spell-word' checks word before point. |
| 274 | 274 | ||
| 275 | It used to check the word after point. | 275 | It used to check the word after point. |
| 276 | 276 | ||
| 277 | * Quitting during autoloading no longer causes trouble. | 277 | ** Quitting during autoloading no longer causes trouble. |
| 278 | 278 | ||
| 279 | Now, when a file is autoloaded, all function redefinitions | 279 | Now, when a file is autoloaded, all function redefinitions |
| 280 | and `provide' calls are recorded and are undone if you quit | 280 | and `provide' calls are recorded and are undone if you quit |
| @@ -284,14 +284,14 @@ As a result, it no longer happens that some of the entry points | |||
| 284 | which are normally autoloading have been defined already, but the | 284 | which are normally autoloading have been defined already, but the |
| 285 | entire file is not really present to support them. | 285 | entire file is not really present to support them. |
| 286 | 286 | ||
| 287 | * `else' can now be indented correctly in C mode. | 287 | ** `else' can now be indented correctly in C mode. |
| 288 | 288 | ||
| 289 | TAB in C mode now knows which `if' statement an `else' matches | 289 | TAB in C mode now knows which `if' statement an `else' matches |
| 290 | up with, and can indent the `else' correctly under the `if', | 290 | up with, and can indent the `else' correctly under the `if', |
| 291 | even if the `if' contained such things as another `if' statement, | 291 | even if the `if' contained such things as another `if' statement, |
| 292 | or a `while' or `for' statement, with no braces around it. | 292 | or a `while' or `for' statement, with no braces around it. |
| 293 | 293 | ||
| 294 | * `batch-byte-compile' | 294 | ** `batch-byte-compile' |
| 295 | 295 | ||
| 296 | Runs byte-compile-file on the files specified on the command line. | 296 | Runs byte-compile-file on the files specified on the command line. |
| 297 | All the rest of the command line arguments are taken as files to | 297 | All the rest of the command line arguments are taken as files to |
| @@ -300,7 +300,7 @@ Must be used only with -batch, and kills emacs on completion. | |||
| 300 | Each file will be processed even if an error occurred previously. | 300 | Each file will be processed even if an error occurred previously. |
| 301 | For example, invoke `emacs -batch -f batch-byte-compile *.el'. | 301 | For example, invoke `emacs -batch -f batch-byte-compile *.el'. |
| 302 | 302 | ||
| 303 | * `-batch' changes. | 303 | ** `-batch' changes. |
| 304 | 304 | ||
| 305 | `-batch' now implies `-q': no init file is loaded by Emacs when | 305 | `-batch' now implies `-q': no init file is loaded by Emacs when |
| 306 | `-batch' is used. Also, no `term/TERMTYPE.el' file is loaded. Auto | 306 | `-batch' is used. Also, no `term/TERMTYPE.el' file is loaded. Auto |
| @@ -313,7 +313,7 @@ One echo-area message that is not suppressed is the one that says | |||
| 313 | that a file is being loaded. That is because you can prevent this | 313 | that a file is being loaded. That is because you can prevent this |
| 314 | message by passing `t' as the third argument to `load'. | 314 | message by passing `t' as the third argument to `load'. |
| 315 | 315 | ||
| 316 | * Display of search string in incremental search. | 316 | ** Display of search string in incremental search. |
| 317 | 317 | ||
| 318 | Now, when you type C-s or C-r to reuse the previous search | 318 | Now, when you type C-s or C-r to reuse the previous search |
| 319 | string, that search string is displayed immediately in the echo area. | 319 | string, that search string is displayed immediately in the echo area. |
| @@ -321,23 +321,23 @@ string, that search string is displayed immediately in the echo area. | |||
| 321 | Three dots are displayed after the search string while search | 321 | Three dots are displayed after the search string while search |
| 322 | is actually going on. | 322 | is actually going on. |
| 323 | 323 | ||
| 324 | * View commands. | 324 | ** View commands. |
| 325 | 325 | ||
| 326 | The commands C-x ], C-x [, C-x /, C-x j and C-x o are now | 326 | The commands C-x ], C-x [, C-x /, C-x j and C-x o are now |
| 327 | available inside `view-buffer' and `view-file', with their | 327 | available inside `view-buffer' and `view-file', with their |
| 328 | normal meanings. | 328 | normal meanings. |
| 329 | 329 | ||
| 330 | * Full-width windows preferred. | 330 | ** Full-width windows preferred. |
| 331 | 331 | ||
| 332 | The ``other-window'' commands prefer other full width windows, | 332 | The ``other-window'' commands prefer other full width windows, |
| 333 | and will split only full width windows. | 333 | and will split only full width windows. |
| 334 | 334 | ||
| 335 | * M-x rename-file can copy if necessary. | 335 | ** M-x rename-file can copy if necessary. |
| 336 | 336 | ||
| 337 | When used between different file systems, since actual renaming does | 337 | When used between different file systems, since actual renaming does |
| 338 | not work, the old file will be copied and deleted. | 338 | not work, the old file will be copied and deleted. |
| 339 | 339 | ||
| 340 | * Within C-x ESC, you can pick the command to repeat. | 340 | ** Within C-x ESC, you can pick the command to repeat. |
| 341 | 341 | ||
| 342 | While editing a previous command to be repeated, inside C-x ESC, | 342 | While editing a previous command to be repeated, inside C-x ESC, |
| 343 | you can now use the commands M-p and M-n to pick an earlier or | 343 | you can now use the commands M-p and M-n to pick an earlier or |
| @@ -353,24 +353,24 @@ The command you finally execute using C-x ESC is added to the | |||
| 353 | front of the command history, unless it is identical with the | 353 | front of the command history, unless it is identical with the |
| 354 | first thing in the command history. | 354 | first thing in the command history. |
| 355 | 355 | ||
| 356 | * Use C-c C-c to exit from editing within Info. | 356 | ** Use C-c C-c to exit from editing within Info. |
| 357 | 357 | ||
| 358 | It used to be C-z for this. Somehow this use of C-z was | 358 | It used to be C-z for this. Somehow this use of C-z was |
| 359 | left out when all the others were moved. The intention is that | 359 | left out when all the others were moved. The intention is that |
| 360 | C-z should always suspend Emacs. | 360 | C-z should always suspend Emacs. |
| 361 | 361 | ||
| 362 | * Default arg to C-x < and C-x > now window width minus 2. | 362 | ** Default arg to C-x < and C-x > now window width minus 2. |
| 363 | 363 | ||
| 364 | These commands, which scroll the current window horizontally | 364 | These commands, which scroll the current window horizontally |
| 365 | by a specified number of columns, now scroll a considerable | 365 | by a specified number of columns, now scroll a considerable |
| 366 | distance rather than a single column if used with no argument. | 366 | distance rather than a single column if used with no argument. |
| 367 | 367 | ||
| 368 | * Auto Save Files Deleted. | 368 | ** Auto Save Files Deleted. |
| 369 | 369 | ||
| 370 | The default value of `delete-auto-save-files' is now `t', so that | 370 | The default value of `delete-auto-save-files' is now `t', so that |
| 371 | when you save a file for real, its auto save file is deleted. | 371 | when you save a file for real, its auto save file is deleted. |
| 372 | 372 | ||
| 373 | * Rnews changes. | 373 | ** Rnews changes. |
| 374 | 374 | ||
| 375 | The N, P and J keys in Rnews are renamed to M-n, M-p and M-j. | 375 | The N, P and J keys in Rnews are renamed to M-n, M-p and M-j. |
| 376 | These keys move among newsgroups. | 376 | These keys move among newsgroups. |
| @@ -382,7 +382,7 @@ this change, are eliminated. | |||
| 382 | The s command for outputting the current article to a file | 382 | The s command for outputting the current article to a file |
| 383 | is renamed as o, to be compatible with Rmail. | 383 | is renamed as o, to be compatible with Rmail. |
| 384 | 384 | ||
| 385 | * Sendmail changes. | 385 | ** Sendmail changes. |
| 386 | 386 | ||
| 387 | If you have a ~/.mailrc file, Emacs searches it for mailing address | 387 | If you have a ~/.mailrc file, Emacs searches it for mailing address |
| 388 | aliases, and these aliases are expanded when you send mail in Emacs. | 388 | aliases, and these aliases are expanded when you send mail in Emacs. |
| @@ -407,15 +407,15 @@ The new variable `mail-header-separator' now specifies the string | |||
| 407 | to use on the line that goes between the headers and the message text. | 407 | to use on the line that goes between the headers and the message text. |
| 408 | By default it is still "--text follows this line--". | 408 | By default it is still "--text follows this line--". |
| 409 | 409 | ||
| 410 | * Command history truncated automatically. | 410 | ** Command history truncated automatically. |
| 411 | 411 | ||
| 412 | Just before each garbage collection, all but the last 30 elements | 412 | Just before each garbage collection, all but the last 30 elements |
| 413 | of the command history are discarded. | 413 | of the command history are discarded. |
| 414 | 414 | ||
| 415 | 415 | ||
| 416 | Incompatible Lisp Programming Changes in Emacs 17 | 416 | * Incompatible Lisp Programming Changes in Emacs 17 |
| 417 | 417 | ||
| 418 | * `"e' no longer supported. | 418 | ** `"e' no longer supported. |
| 419 | 419 | ||
| 420 | This feature, which allowed Lisp functions to take arguments | 420 | This feature, which allowed Lisp functions to take arguments |
| 421 | that were not evaluated, has been eliminated, because it is | 421 | that were not evaluated, has been eliminated, because it is |
| @@ -434,7 +434,7 @@ with | |||
| 434 | 434 | ||
| 435 | (defun foo-1 (x y z) ... | 435 | (defun foo-1 (x y z) ... |
| 436 | 436 | ||
| 437 | * Functions `region-to-string' and `region-around-match' removed. | 437 | ** Functions `region-to-string' and `region-around-match' removed. |
| 438 | 438 | ||
| 439 | These functions were made for compatibility with Gosling Emacs, but it | 439 | These functions were made for compatibility with Gosling Emacs, but it |
| 440 | turns out to be undesirable to use them in GNU Emacs because they use | 440 | turns out to be undesirable to use them in GNU Emacs because they use |
| @@ -450,24 +450,24 @@ the two functions `match-beginning' and `match-end'. These give | |||
| 450 | you one bound at a time, as a numeric value, without changing | 450 | you one bound at a time, as a numeric value, without changing |
| 451 | point or the mark. | 451 | point or the mark. |
| 452 | 452 | ||
| 453 | * Function `function-type' removed. | 453 | ** Function `function-type' removed. |
| 454 | 454 | ||
| 455 | This just appeared not to be very useful. It can easily be written in | 455 | This just appeared not to be very useful. It can easily be written in |
| 456 | Lisp if you happen to want it. Just use `symbol-function' to get the | 456 | Lisp if you happen to want it. Just use `symbol-function' to get the |
| 457 | function definition of a symbol, and look at its data type or its car | 457 | function definition of a symbol, and look at its data type or its car |
| 458 | if it is a list. | 458 | if it is a list. |
| 459 | 459 | ||
| 460 | * Variable `buffer-number' removed. | 460 | ** Variable `buffer-number' removed. |
| 461 | 461 | ||
| 462 | You can still use the function `buffer-number' to find out | 462 | You can still use the function `buffer-number' to find out |
| 463 | a buffer's unique number (assigned in order of creation). | 463 | a buffer's unique number (assigned in order of creation). |
| 464 | 464 | ||
| 465 | * Variable `executing-macro' renamed `executing-kbd-macro'. | 465 | ** Variable `executing-macro' renamed `executing-kbd-macro'. |
| 466 | 466 | ||
| 467 | This variable is the currently executing keyboard macro, as | 467 | This variable is the currently executing keyboard macro, as |
| 468 | a string, or `nil' when no keyboard macro is being executed. | 468 | a string, or `nil' when no keyboard macro is being executed. |
| 469 | 469 | ||
| 470 | * Loading term/$TERM. | 470 | ** Loading term/$TERM. |
| 471 | 471 | ||
| 472 | The library term/$TERM (where $TERM get replaced by your terminal | 472 | The library term/$TERM (where $TERM get replaced by your terminal |
| 473 | type), which is done by Emacs automatically when it starts up, now | 473 | type), which is done by Emacs automatically when it starts up, now |
| @@ -478,12 +478,12 @@ term-$TERM; thus, for example, term-vt100.el, but now they live | |||
| 478 | in a special subdirectory named term, and have names like | 478 | in a special subdirectory named term, and have names like |
| 479 | term/vt100.el. | 479 | term/vt100.el. |
| 480 | 480 | ||
| 481 | * `command-history' format changed. | 481 | ** `command-history' format changed. |
| 482 | 482 | ||
| 483 | The elements of this list are now Lisp expressions which can | 483 | The elements of this list are now Lisp expressions which can |
| 484 | be evaluated directly to repeat a command. | 484 | be evaluated directly to repeat a command. |
| 485 | 485 | ||
| 486 | * Unused editing commands removed. | 486 | ** Unused editing commands removed. |
| 487 | 487 | ||
| 488 | The functions `forward-to-word', `backward-to-word', | 488 | The functions `forward-to-word', `backward-to-word', |
| 489 | `upcase-char', `mark-beginning-of-buffer' and `mark-end-of-buffer' | 489 | `upcase-char', `mark-beginning-of-buffer' and `mark-end-of-buffer' |
| @@ -491,9 +491,9 @@ have been removed. Their definitions can be found in file | |||
| 491 | lisp/unused.el if you need them. | 491 | lisp/unused.el if you need them. |
| 492 | 492 | ||
| 493 | 493 | ||
| 494 | Upward Compatible Lisp Programming Changes in Emacs 17 | 494 | * Upward Compatible Lisp Programming Changes in Emacs 17 |
| 495 | 495 | ||
| 496 | * You can now continue after errors and quits. | 496 | ** You can now continue after errors and quits. |
| 497 | 497 | ||
| 498 | When the debugger is entered because of a C-g, due to | 498 | When the debugger is entered because of a C-g, due to |
| 499 | a non-`nil' value of `debug-on-quit', the `c' command in the debugger | 499 | a non-`nil' value of `debug-on-quit', the `c' command in the debugger |
| @@ -513,7 +513,7 @@ is not valid, another error occurs. | |||
| 513 | Errors signaled with the function `error' cannot be continued. | 513 | Errors signaled with the function `error' cannot be continued. |
| 514 | If you try to continue, the error just happens again. | 514 | If you try to continue, the error just happens again. |
| 515 | 515 | ||
| 516 | * `dot' renamed `point'. | 516 | ** `dot' renamed `point'. |
| 517 | 517 | ||
| 518 | The word `dot' has been replaced with `point' in all | 518 | The word `dot' has been replaced with `point' in all |
| 519 | function and variable names, including: | 519 | function and variable names, including: |
| @@ -526,7 +526,7 @@ function and variable names, including: | |||
| 526 | 526 | ||
| 527 | The old names are still supported, for now. | 527 | The old names are still supported, for now. |
| 528 | 528 | ||
| 529 | * `string-match' records position of end of match. | 529 | ** `string-match' records position of end of match. |
| 530 | 530 | ||
| 531 | After a successful call to `string-match', `(match-end 0)' will | 531 | After a successful call to `string-match', `(match-end 0)' will |
| 532 | return the index in the string of the first character after the match. | 532 | return the index in the string of the first character after the match. |
| @@ -534,7 +534,7 @@ Also, `match-begin' and `match-end' with nonzero arguments can be | |||
| 534 | used to find the indices of beginnings and ends of substrings matched | 534 | used to find the indices of beginnings and ends of substrings matched |
| 535 | by subpatterns surrounded by parentheses. | 535 | by subpatterns surrounded by parentheses. |
| 536 | 536 | ||
| 537 | * New function `insert-before-markers'. | 537 | ** New function `insert-before-markers'. |
| 538 | 538 | ||
| 539 | This function is just like `insert' except in the handling of any | 539 | This function is just like `insert' except in the handling of any |
| 540 | relocatable markers that are located at the point of insertion. | 540 | relocatable markers that are located at the point of insertion. |
| @@ -542,7 +542,7 @@ With `insert', such markers end up pointing before the inserted text. | |||
| 542 | With `insert-before-markers', they end up pointing after the inserted | 542 | With `insert-before-markers', they end up pointing after the inserted |
| 543 | text. | 543 | text. |
| 544 | 544 | ||
| 545 | * New function `copy-alist'. | 545 | ** New function `copy-alist'. |
| 546 | 546 | ||
| 547 | This function takes one argument, a list, and makes a disjoint copy | 547 | This function takes one argument, a list, and makes a disjoint copy |
| 548 | of the alist structure. The list itself is copied, and each element | 548 | of the alist structure. The list itself is copied, and each element |
| @@ -552,30 +552,30 @@ remain shared with the original argument. | |||
| 552 | This is what it takes to get two alists disjoint enough that changes | 552 | This is what it takes to get two alists disjoint enough that changes |
| 553 | in one do not change the result of `assq' on the other. | 553 | in one do not change the result of `assq' on the other. |
| 554 | 554 | ||
| 555 | * New function `copy-keymap'. | 555 | ** New function `copy-keymap'. |
| 556 | 556 | ||
| 557 | This function takes a keymap as argument and returns a new keymap | 557 | This function takes a keymap as argument and returns a new keymap |
| 558 | containing initially the same bindings. Rebindings in either one of | 558 | containing initially the same bindings. Rebindings in either one of |
| 559 | them will not alter the bindings in the other. | 559 | them will not alter the bindings in the other. |
| 560 | 560 | ||
| 561 | * New function `copy-syntax-table'. | 561 | ** New function `copy-syntax-table'. |
| 562 | 562 | ||
| 563 | This function takes a syntax table as argument and returns a new | 563 | This function takes a syntax table as argument and returns a new |
| 564 | syntax table containing initially the same syntax settings. Changes | 564 | syntax table containing initially the same syntax settings. Changes |
| 565 | in either one of them will not alter the other. | 565 | in either one of them will not alter the other. |
| 566 | 566 | ||
| 567 | * Randomizing the random numbers. | 567 | ** Randomizing the random numbers. |
| 568 | 568 | ||
| 569 | `(random t)' causes the random number generator's seed to be set | 569 | `(random t)' causes the random number generator's seed to be set |
| 570 | based on the current time and Emacs's process id. | 570 | based on the current time and Emacs's process id. |
| 571 | 571 | ||
| 572 | * Third argument to `modify-syntax-entry'. | 572 | ** Third argument to `modify-syntax-entry'. |
| 573 | 573 | ||
| 574 | The optional third argument to `modify-syntax-entry', if specified | 574 | The optional third argument to `modify-syntax-entry', if specified |
| 575 | should be a syntax table. The modification is made in that syntax table | 575 | should be a syntax table. The modification is made in that syntax table |
| 576 | rather than in the current syntax table. | 576 | rather than in the current syntax table. |
| 577 | 577 | ||
| 578 | * New function `run-hooks'. | 578 | ** New function `run-hooks'. |
| 579 | 579 | ||
| 580 | This function takes any number of symbols as arguments. | 580 | This function takes any number of symbols as arguments. |
| 581 | It processes the symbols in order. For each symbol which | 581 | It processes the symbols in order. For each symbol which |
| @@ -584,7 +584,7 @@ called as a function, with no arguments. | |||
| 584 | 584 | ||
| 585 | This is useful in major mode commands. | 585 | This is useful in major mode commands. |
| 586 | 586 | ||
| 587 | * Second arg to `switch-to-buffer'. | 587 | ** Second arg to `switch-to-buffer'. |
| 588 | 588 | ||
| 589 | If this function is given a non-`nil' second argument, then the | 589 | If this function is given a non-`nil' second argument, then the |
| 590 | selection being done is not recorded on the selection history. | 590 | selection being done is not recorded on the selection history. |
| @@ -592,7 +592,7 @@ The buffer's position in the history remains unchanged. This | |||
| 592 | feature is used by the view commands, so that the selection history | 592 | feature is used by the view commands, so that the selection history |
| 593 | after exiting from viewing is the same as it was before. | 593 | after exiting from viewing is the same as it was before. |
| 594 | 594 | ||
| 595 | * Second arg to `display-buffer' and `pop-to-buffer'. | 595 | ** Second arg to `display-buffer' and `pop-to-buffer'. |
| 596 | 596 | ||
| 597 | These two functions both accept an optional second argument which | 597 | These two functions both accept an optional second argument which |
| 598 | defaults to `nil'. If the argument is not `nil', it means that | 598 | defaults to `nil'. If the argument is not `nil', it means that |
| @@ -602,7 +602,7 @@ the selected window. | |||
| 602 | 602 | ||
| 603 | This feature is used by `switch-to-buffer-other-window'. | 603 | This feature is used by `switch-to-buffer-other-window'. |
| 604 | 604 | ||
| 605 | * New variable `completion-ignore-case'. | 605 | ** New variable `completion-ignore-case'. |
| 606 | 606 | ||
| 607 | If this variable is non-`nil', completion allows strings | 607 | If this variable is non-`nil', completion allows strings |
| 608 | in different cases to be considered matching. The global value | 608 | in different cases to be considered matching. The global value |
| @@ -614,13 +614,13 @@ to change the value globally, but you might not like the consequences | |||
| 614 | in the many situations (buffer names, command names, file names) | 614 | in the many situations (buffer names, command names, file names) |
| 615 | where case makes a difference. | 615 | where case makes a difference. |
| 616 | 616 | ||
| 617 | * Major modes related to Text mode call text-mode-hook, then their own hooks. | 617 | ** Major modes related to Text mode call text-mode-hook, then their own hooks. |
| 618 | 618 | ||
| 619 | For example, turning on Outline mode first calls the value of | 619 | For example, turning on Outline mode first calls the value of |
| 620 | `text-mode-hook' as a function, if it exists and is non-`nil', | 620 | `text-mode-hook' as a function, if it exists and is non-`nil', |
| 621 | and then does likewise for the variable `outline-mode-hook'. | 621 | and then does likewise for the variable `outline-mode-hook'. |
| 622 | 622 | ||
| 623 | * Defining new command line switches. | 623 | ** Defining new command line switches. |
| 624 | 624 | ||
| 625 | You can define a new command line switch in your .emacs file | 625 | You can define a new command line switch in your .emacs file |
| 626 | by putting elements on the value of `command-switch-alist'. | 626 | by putting elements on the value of `command-switch-alist'. |
| @@ -638,26 +638,26 @@ examine this variable, and do | |||
| 638 | (setq command-line-args (cdr command-line-args) | 638 | (setq command-line-args (cdr command-line-args) |
| 639 | to "use up" an argument. | 639 | to "use up" an argument. |
| 640 | 640 | ||
| 641 | * New variable `load-in-progress'. | 641 | ** New variable `load-in-progress'. |
| 642 | 642 | ||
| 643 | This variable is non-`nil' when a file of Lisp code is being read | 643 | This variable is non-`nil' when a file of Lisp code is being read |
| 644 | and executed by `load'. | 644 | and executed by `load'. |
| 645 | 645 | ||
| 646 | * New variable `print-length'. | 646 | ** New variable `print-length'. |
| 647 | 647 | ||
| 648 | The value of this variable is normally `nil'. It may instead be | 648 | The value of this variable is normally `nil'. It may instead be |
| 649 | a number; in that case, when a list is printed by `prin1' or | 649 | a number; in that case, when a list is printed by `prin1' or |
| 650 | `princ' only that many initial elements are printed; the rest are | 650 | `princ' only that many initial elements are printed; the rest are |
| 651 | replaced by `...'. | 651 | replaced by `...'. |
| 652 | 652 | ||
| 653 | * New variable `find-file-not-found-hook'. | 653 | ** New variable `find-file-not-found-hook'. |
| 654 | 654 | ||
| 655 | If `find-file' or any of its variants is used on a nonexistent file, | 655 | If `find-file' or any of its variants is used on a nonexistent file, |
| 656 | the value of `find-file-not-found-hook' is called (if it is not `nil') | 656 | the value of `find-file-not-found-hook' is called (if it is not `nil') |
| 657 | with no arguments, after creating an empty buffer. The file's name | 657 | with no arguments, after creating an empty buffer. The file's name |
| 658 | can be found as the value of `buffer-file-name'. | 658 | can be found as the value of `buffer-file-name'. |
| 659 | 659 | ||
| 660 | * Processes without buffers. | 660 | ** Processes without buffers. |
| 661 | 661 | ||
| 662 | In the function `start-process', you can now specify `nil' as | 662 | In the function `start-process', you can now specify `nil' as |
| 663 | the process's buffer. You can also set a process's buffer to `nil' | 663 | the process's buffer. You can also set a process's buffer to `nil' |
| @@ -672,7 +672,7 @@ When a process has no buffer, its output is lost unless it has a | |||
| 672 | filter, and no indication of its being stopped or killed is given | 672 | filter, and no indication of its being stopped or killed is given |
| 673 | unless it has a sentinel. | 673 | unless it has a sentinel. |
| 674 | 674 | ||
| 675 | * New function `user-variable-p'. `v' arg prompting changed. | 675 | ** New function `user-variable-p'. `v' arg prompting changed. |
| 676 | 676 | ||
| 677 | This function takes a symbol as argument and returns `t' if | 677 | This function takes a symbol as argument and returns `t' if |
| 678 | the symbol is defined as a user option variable. This means | 678 | the symbol is defined as a user option variable. This means |
| @@ -686,7 +686,7 @@ user variables. | |||
| 686 | The function `read-variable' also now accepts and completes | 686 | The function `read-variable' also now accepts and completes |
| 687 | over user variables only. | 687 | over user variables only. |
| 688 | 688 | ||
| 689 | * CBREAK mode input is the default in Unix 4.3 bsd. | 689 | ** CBREAK mode input is the default in Unix 4.3 bsd. |
| 690 | 690 | ||
| 691 | In Berkeley 4.3 Unix, there are sufficient features for Emacs to | 691 | In Berkeley 4.3 Unix, there are sufficient features for Emacs to |
| 692 | work fully correctly using CBREAK mode and not using SIGIO. | 692 | work fully correctly using CBREAK mode and not using SIGIO. |
| @@ -695,7 +695,7 @@ This mode corresponds to `nil' as the first argument to | |||
| 695 | `set-input-mode'. You can still select either mode by calling | 695 | `set-input-mode'. You can still select either mode by calling |
| 696 | that function. | 696 | that function. |
| 697 | 697 | ||
| 698 | * Information on memory usage. | 698 | ** Information on memory usage. |
| 699 | 699 | ||
| 700 | The new variable `data-bytes-used' contains the number | 700 | The new variable `data-bytes-used' contains the number |
| 701 | of bytes of impure space allocated in Emacs. | 701 | of bytes of impure space allocated in Emacs. |
| @@ -704,18 +704,18 @@ Emacs could allocate. Note that space formerly allocated | |||
| 704 | and freed again still counts as `used', since it is still | 704 | and freed again still counts as `used', since it is still |
| 705 | in Emacs's address space. | 705 | in Emacs's address space. |
| 706 | 706 | ||
| 707 | * No limit on size of output from `format'. | 707 | ** No limit on size of output from `format'. |
| 708 | 708 | ||
| 709 | The string output from `format' used to be truncated to | 709 | The string output from `format' used to be truncated to |
| 710 | 100 characters in length. Now it can have any length. | 710 | 100 characters in length. Now it can have any length. |
| 711 | 711 | ||
| 712 | * New errors `void-variable' and `void-function' replace `void-symbol'. | 712 | ** New errors `void-variable' and `void-function' replace `void-symbol'. |
| 713 | 713 | ||
| 714 | This change makes it possible to have error messages that | 714 | This change makes it possible to have error messages that |
| 715 | clearly distinguish undefined variables from undefined functions. | 715 | clearly distinguish undefined variables from undefined functions. |
| 716 | It also allows `condition-case' to handle one case without the other. | 716 | It also allows `condition-case' to handle one case without the other. |
| 717 | 717 | ||
| 718 | * `replace-match' handling of `\'. | 718 | ** `replace-match' handling of `\'. |
| 719 | 719 | ||
| 720 | In `replace-match', when the replacement is not literal, | 720 | In `replace-match', when the replacement is not literal, |
| 721 | `\' in the replacement string is always treated as an | 721 | `\' in the replacement string is always treated as an |
| @@ -728,19 +728,19 @@ This level of escaping is comparable with what goes on in | |||
| 728 | a regular expression. It is over and above the level of `\' | 728 | a regular expression. It is over and above the level of `\' |
| 729 | escaping that goes on when strings are read in Lisp syntax. | 729 | escaping that goes on when strings are read in Lisp syntax. |
| 730 | 730 | ||
| 731 | * New error `invalid-regexp'. | 731 | ** New error `invalid-regexp'. |
| 732 | 732 | ||
| 733 | A regexp search signals this type of error if the argument does | 733 | A regexp search signals this type of error if the argument does |
| 734 | not meet the rules for regexp syntax. | 734 | not meet the rules for regexp syntax. |
| 735 | 735 | ||
| 736 | * `kill-emacs' with argument. | 736 | ** `kill-emacs' with argument. |
| 737 | 737 | ||
| 738 | If the argument is a number, it is returned as the exit status code | 738 | If the argument is a number, it is returned as the exit status code |
| 739 | of the Emacs process. If the argument is a string, its contents | 739 | of the Emacs process. If the argument is a string, its contents |
| 740 | are stuffed as pending terminal input, to be read by another program | 740 | are stuffed as pending terminal input, to be read by another program |
| 741 | after Emacs is dead. | 741 | after Emacs is dead. |
| 742 | 742 | ||
| 743 | * New fifth argument to `subst-char-in-region'. | 743 | ** New fifth argument to `subst-char-in-region'. |
| 744 | 744 | ||
| 745 | This argument is optional and defaults to `nil'. If it is not `nil', | 745 | This argument is optional and defaults to `nil'. If it is not `nil', |
| 746 | then the substitutions made by this function are not recorded | 746 | then the substitutions made by this function are not recorded |
| @@ -749,7 +749,7 @@ in the Undo mechanism. | |||
| 749 | This feature should be used with great care. It is now used | 749 | This feature should be used with great care. It is now used |
| 750 | by Outline mode to make lines visible or invisible. | 750 | by Outline mode to make lines visible or invisible. |
| 751 | 751 | ||
| 752 | * ` *Backtrace*' buffer renamed to `*Backtrace*'. | 752 | ** ` *Backtrace*' buffer renamed to `*Backtrace*'. |
| 753 | 753 | ||
| 754 | As a result, you can now reselect this buffer easily if you switch to | 754 | As a result, you can now reselect this buffer easily if you switch to |
| 755 | another while in the debugger. | 755 | another while in the debugger. |
| @@ -757,7 +757,7 @@ another while in the debugger. | |||
| 757 | Exiting from the debugger kills the `*Backtrace*' buffer, so you will | 757 | Exiting from the debugger kills the `*Backtrace*' buffer, so you will |
| 758 | not try to give commands in it when no longer really in the debugger. | 758 | not try to give commands in it when no longer really in the debugger. |
| 759 | 759 | ||
| 760 | * New function `switch-to-buffer-other-window'. | 760 | ** New function `switch-to-buffer-other-window'. |
| 761 | 761 | ||
| 762 | This is the new primitive to select a specified buffer (the | 762 | This is the new primitive to select a specified buffer (the |
| 763 | argument) in another window. It is not quite the same as | 763 | argument) in another window. It is not quite the same as |
| @@ -768,7 +768,7 @@ leave the current window's old buffer displayed as well. | |||
| 768 | All functions to select a buffer in another window should | 768 | All functions to select a buffer in another window should |
| 769 | do so by calling this new function. | 769 | do so by calling this new function. |
| 770 | 770 | ||
| 771 | * New variable `minibuffer-help-form'. | 771 | ** New variable `minibuffer-help-form'. |
| 772 | 772 | ||
| 773 | At entry to the minibuffer, the variable `help-form' is bound | 773 | At entry to the minibuffer, the variable `help-form' is bound |
| 774 | to the value of `minibuffer-help-form'. | 774 | to the value of `minibuffer-help-form'. |
| @@ -779,7 +779,7 @@ the definition of C-h as a command). `minibuffer-help-form' | |||
| 779 | can be used to provide a different default way of handling | 779 | can be used to provide a different default way of handling |
| 780 | C-h while in the minibuffer. | 780 | C-h while in the minibuffer. |
| 781 | 781 | ||
| 782 | * New \{...} documentation construct. | 782 | ** New \{...} documentation construct. |
| 783 | 783 | ||
| 784 | It is now possible to set up the documentation string for | 784 | It is now possible to set up the documentation string for |
| 785 | a major mode in such a way that it always describes the contents | 785 | a major mode in such a way that it always describes the contents |
| @@ -799,23 +799,23 @@ For example, the documentation string for the function `c-mode' contains | |||
| 799 | Variables controlling indentation style: | 799 | Variables controlling indentation style: |
| 800 | ... | 800 | ... |
| 801 | 801 | ||
| 802 | * New character syntax class "punctuation". | 802 | ** New character syntax class "punctuation". |
| 803 | 803 | ||
| 804 | Punctuation characters behave like whitespace in word and | 804 | Punctuation characters behave like whitespace in word and |
| 805 | list parsing, but can be distinguished in regexps and in the | 805 | list parsing, but can be distinguished in regexps and in the |
| 806 | function `char-syntax'. Punctuation syntax is represented by | 806 | function `char-syntax'. Punctuation syntax is represented by |
| 807 | a period in `modify-syntax-entry'. | 807 | a period in `modify-syntax-entry'. |
| 808 | 808 | ||
| 809 | * `auto-mode-alist' no longer needs entries for backup-file names, | 809 | ** `auto-mode-alist' no longer needs entries for backup-file names, |
| 810 | 810 | ||
| 811 | Backup suffixes of all kinds are now stripped from a file's name | 811 | Backup suffixes of all kinds are now stripped from a file's name |
| 812 | before searching `auto-mode-alist'. | 812 | before searching `auto-mode-alist'. |
| 813 | 813 | ||
| 814 | 814 | ||
| 815 | 815 | ||
| 816 | Changes in Emacs 16 | 816 | * Changes in Emacs 16 |
| 817 | 817 | ||
| 818 | * No special code for Ambassadors, VT-100's and Concept-100's. | 818 | ** No special code for Ambassadors, VT-100's and Concept-100's. |
| 819 | 819 | ||
| 820 | Emacs now controls these terminals based on the termcap entry, like | 820 | Emacs now controls these terminals based on the termcap entry, like |
| 821 | all other terminals. Formerly it did not refer to the termcap entries | 821 | all other terminals. Formerly it did not refer to the termcap entries |
| @@ -827,24 +827,24 @@ fixing up the termcap entry. See ./TERMS for more info. | |||
| 827 | See ./TERMS in any case if you find that some terminal does not work | 827 | See ./TERMS in any case if you find that some terminal does not work |
| 828 | right with Emacs now. | 828 | right with Emacs now. |
| 829 | 829 | ||
| 830 | * Minibuffer default completion character is TAB (and not ESC). | 830 | ** Minibuffer default completion character is TAB (and not ESC). |
| 831 | 831 | ||
| 832 | So that ESC can be used in minibuffer for more useful prefix commands. | 832 | So that ESC can be used in minibuffer for more useful prefix commands. |
| 833 | 833 | ||
| 834 | * C-z suspends Emacs in all modes. | 834 | ** C-z suspends Emacs in all modes. |
| 835 | 835 | ||
| 836 | Formerly, C-z was redefined for other purposes by certain modes, | 836 | Formerly, C-z was redefined for other purposes by certain modes, |
| 837 | such as Buffer Menu mode. Now other keys are used for those purposes, | 837 | such as Buffer Menu mode. Now other keys are used for those purposes, |
| 838 | to keep the meaning of C-z uniform. | 838 | to keep the meaning of C-z uniform. |
| 839 | 839 | ||
| 840 | * C-x ESC (repeat-complex-command) allows editing the command it repeats. | 840 | ** C-x ESC (repeat-complex-command) allows editing the command it repeats. |
| 841 | 841 | ||
| 842 | Instead of asking for confirmation to re-execute a command from the | 842 | Instead of asking for confirmation to re-execute a command from the |
| 843 | command history, the command is placed, in its Lisp form, into the | 843 | command history, the command is placed, in its Lisp form, into the |
| 844 | minibuffer for editing. You can confirm by typing RETURN, change some | 844 | minibuffer for editing. You can confirm by typing RETURN, change some |
| 845 | arguments and then confirm, or abort with C-g. | 845 | arguments and then confirm, or abort with C-g. |
| 846 | 846 | ||
| 847 | * Incremental search does less redisplay on slow terminals. | 847 | ** Incremental search does less redisplay on slow terminals. |
| 848 | 848 | ||
| 849 | If the terminal baud rate is <= the value of `isearch-slow-speed', | 849 | If the terminal baud rate is <= the value of `isearch-slow-speed', |
| 850 | incremental searching outside the text on the screen creates | 850 | incremental searching outside the text on the screen creates |
| @@ -857,7 +857,7 @@ The initial value of `isearch-slow-speed' is 1200. | |||
| 857 | 857 | ||
| 858 | This feature is courtesy of crl@purdue. | 858 | This feature is courtesy of crl@purdue. |
| 859 | 859 | ||
| 860 | * Recursive minibuffers not allowed. | 860 | ** Recursive minibuffers not allowed. |
| 861 | 861 | ||
| 862 | If the minibuffer window is selected, most commands that would | 862 | If the minibuffer window is selected, most commands that would |
| 863 | use the minibuffer gets an error instead. (Specific commands | 863 | use the minibuffer gets an error instead. (Specific commands |
| @@ -873,7 +873,7 @@ you can probably understand recursive minibuffers. | |||
| 873 | This may be overridden by binding the variable | 873 | This may be overridden by binding the variable |
| 874 | `enable-recursive-minibuffers' to t. | 874 | `enable-recursive-minibuffers' to t. |
| 875 | 875 | ||
| 876 | * New major mode Emacs-Lisp mode, for editing Lisp code to run in Emacs. | 876 | ** New major mode Emacs-Lisp mode, for editing Lisp code to run in Emacs. |
| 877 | 877 | ||
| 878 | The mode in which emacs lisp files is edited is now called emacs-lisp-mode | 878 | The mode in which emacs lisp files is edited is now called emacs-lisp-mode |
| 879 | and is distinct from lisp-mode. The latter is intended for use with | 879 | and is distinct from lisp-mode. The latter is intended for use with |
| @@ -884,7 +884,7 @@ called emacs-lisp-mode-hook. A consequence of this changes is that | |||
| 884 | .emacs init files which set the value of lisp-mode-hook may need to be | 884 | .emacs init files which set the value of lisp-mode-hook may need to be |
| 885 | changed to use the new names. | 885 | changed to use the new names. |
| 886 | 886 | ||
| 887 | * Correct matching of parentheses is checked on insertion. | 887 | ** Correct matching of parentheses is checked on insertion. |
| 888 | 888 | ||
| 889 | When you insert a close-paren, the matching open-paren | 889 | When you insert a close-paren, the matching open-paren |
| 890 | is checked for validity. The close paren must be the kind | 890 | is checked for validity. The close paren must be the kind |
| @@ -894,9 +894,9 @@ preceded by quoting backslash syntax character is not matched. | |||
| 894 | 894 | ||
| 895 | This feature was originally written by shane@mit-ajax. | 895 | This feature was originally written by shane@mit-ajax. |
| 896 | 896 | ||
| 897 | * M-x list-command-history | 897 | ** M-x list-command-history |
| 898 | * M-x command-history-mode | 898 | ** M-x command-history-mode |
| 899 | * M-x electric-command-history | 899 | ** M-x electric-command-history |
| 900 | 900 | ||
| 901 | `list-command-history' displays forms from the command history subject | 901 | `list-command-history' displays forms from the command history subject |
| 902 | to user controlled filtering and limit on number of forms. It leaves | 902 | to user controlled filtering and limit on number of forms. It leaves |
| @@ -913,7 +913,7 @@ which invoked `electric-command-history'. The original window | |||
| 913 | configuration is restored on exit unless the command selected changes | 913 | configuration is restored on exit unless the command selected changes |
| 914 | it. | 914 | it. |
| 915 | 915 | ||
| 916 | * M-x edit-picture | 916 | ** M-x edit-picture |
| 917 | 917 | ||
| 918 | Enters a temporary major mode (the previous major mode is remembered | 918 | Enters a temporary major mode (the previous major mode is remembered |
| 919 | and can is restored on exit) designed for editing pictures and tables. | 919 | and can is restored on exit) designed for editing pictures and tables. |
| @@ -926,7 +926,7 @@ the documentation of function edit-picture for more details. | |||
| 926 | 926 | ||
| 927 | Calls value of `edit-picture-hook' on entry if non-nil. | 927 | Calls value of `edit-picture-hook' on entry if non-nil. |
| 928 | 928 | ||
| 929 | * Stupid C-s/C-q `flow control' supported. | 929 | ** Stupid C-s/C-q `flow control' supported. |
| 930 | 930 | ||
| 931 | Do (set-input-mode nil t) to tell Emacs to use CBREAK mode and interpret | 931 | Do (set-input-mode nil t) to tell Emacs to use CBREAK mode and interpret |
| 932 | C-s and C-q as flow control commands. (set-input-mode t nil) switches | 932 | C-s and C-q as flow control commands. (set-input-mode t nil) switches |
| @@ -955,18 +955,18 @@ The configuration switch CBREAK_INPUT is now eliminated. | |||
| 955 | INTERRUPT_INPUT exists only to specify the default mode of operation; | 955 | INTERRUPT_INPUT exists only to specify the default mode of operation; |
| 956 | #define it to make interrupt-driven input the default. | 956 | #define it to make interrupt-driven input the default. |
| 957 | 957 | ||
| 958 | * Completion of directory names provides a slash. | 958 | ** Completion of directory names provides a slash. |
| 959 | 959 | ||
| 960 | If file name completion yields the name of a directory, | 960 | If file name completion yields the name of a directory, |
| 961 | a slash is appended to it. | 961 | a slash is appended to it. |
| 962 | 962 | ||
| 963 | * Undo can clear modified-flag. | 963 | ** Undo can clear modified-flag. |
| 964 | 964 | ||
| 965 | If you undo changes in a buffer back to a state in which the | 965 | If you undo changes in a buffer back to a state in which the |
| 966 | buffer was not considered "modified", then it is labeled as | 966 | buffer was not considered "modified", then it is labeled as |
| 967 | once again "unmodified". | 967 | once again "unmodified". |
| 968 | 968 | ||
| 969 | * M-x run-lisp. | 969 | ** M-x run-lisp. |
| 970 | 970 | ||
| 971 | This command creates an inferior Lisp process whose input and output | 971 | This command creates an inferior Lisp process whose input and output |
| 972 | appear in the Emacs buffer named `*lisp*'. That buffer uses a major mode | 972 | appear in the Emacs buffer named `*lisp*'. That buffer uses a major mode |
| @@ -977,21 +977,21 @@ lisp-mode-hook, in that order, if non-nil. | |||
| 977 | Meanwhile, in lisp-mode, the command C-M-x is defined to | 977 | Meanwhile, in lisp-mode, the command C-M-x is defined to |
| 978 | send the current defun as input to the `*lisp*' subprocess. | 978 | send the current defun as input to the `*lisp*' subprocess. |
| 979 | 979 | ||
| 980 | * Mode line says `Narrow' when buffer is clipped. | 980 | ** Mode line says `Narrow' when buffer is clipped. |
| 981 | 981 | ||
| 982 | If a buffer has a clipping restriction (made by `narrow-to-region') | 982 | If a buffer has a clipping restriction (made by `narrow-to-region') |
| 983 | then its mode line contains the word `Narrow' after the major and | 983 | then its mode line contains the word `Narrow' after the major and |
| 984 | minor modes. | 984 | minor modes. |
| 985 | 985 | ||
| 986 | * Mode line says `Abbrev' when abbrev mode is on. | 986 | ** Mode line says `Abbrev' when abbrev mode is on. |
| 987 | 987 | ||
| 988 | * add-change-log-entry takes prefix argument | 988 | ** add-change-log-entry takes prefix argument |
| 989 | 989 | ||
| 990 | Giving a prefix argument makes it prompt for login name, full name, | 990 | Giving a prefix argument makes it prompt for login name, full name, |
| 991 | and site name, with defaults. Otherwise the defaults are used | 991 | and site name, with defaults. Otherwise the defaults are used |
| 992 | with no confirmation. | 992 | with no confirmation. |
| 993 | 993 | ||
| 994 | * M-x view-buffer and M-x view-file | 994 | ** M-x view-buffer and M-x view-file |
| 995 | 995 | ||
| 996 | view-buffer selects the named buffer, view-file finds the named file; the | 996 | view-buffer selects the named buffer, view-file finds the named file; the |
| 997 | resulting buffer is placed into view-mode (a recursive edit). The normal | 997 | resulting buffer is placed into view-mode (a recursive edit). The normal |
| @@ -1004,7 +1004,7 @@ Each calls value of `view-hook' if non-nil on entry. | |||
| 1004 | 1004 | ||
| 1005 | written by shane@mit-ajax. | 1005 | written by shane@mit-ajax. |
| 1006 | 1006 | ||
| 1007 | * New key commands in dired. | 1007 | ** New key commands in dired. |
| 1008 | 1008 | ||
| 1009 | `v' views (like more) the file on the current line. | 1009 | `v' views (like more) the file on the current line. |
| 1010 | `#' marks auto-save files for deletion. | 1010 | `#' marks auto-save files for deletion. |
| @@ -1014,7 +1014,7 @@ file is renamed to same directory. | |||
| 1014 | `c' copies a file and updates the directory listing if the file is | 1014 | `c' copies a file and updates the directory listing if the file is |
| 1015 | copied to the same directory. | 1015 | copied to the same directory. |
| 1016 | 1016 | ||
| 1017 | * New function `electric-buffer-list'. | 1017 | ** New function `electric-buffer-list'. |
| 1018 | 1018 | ||
| 1019 | This pops up a buffer describing the set of emacs buffers. | 1019 | This pops up a buffer describing the set of emacs buffers. |
| 1020 | Immediately typing space makes the buffer list go away and returns | 1020 | Immediately typing space makes the buffer list go away and returns |
| @@ -1032,15 +1032,15 @@ Type C-h after invoking electric-buffer-list for more information. | |||
| 1032 | Calls value of `electric-buffer-menu-mode-hook' if non-nil on entry. | 1032 | Calls value of `electric-buffer-menu-mode-hook' if non-nil on entry. |
| 1033 | Calls value of `after-electric-buffer-menu' on exit (select) if non-nil. | 1033 | Calls value of `after-electric-buffer-menu' on exit (select) if non-nil. |
| 1034 | 1034 | ||
| 1035 | Changes in version 16 for mail reading and sending | 1035 | ** Changes in version 16 for mail reading and sending |
| 1036 | 1036 | ||
| 1037 | * sendmail prefix character is C-c (and not C-z). New command C-c w. | 1037 | *** sendmail prefix character is C-c (and not C-z). New command C-c w. |
| 1038 | 1038 | ||
| 1039 | For instance C-c C-c (or C-c C-s) sends mail now rather than C-z C-z. | 1039 | For instance C-c C-c (or C-c C-s) sends mail now rather than C-z C-z. |
| 1040 | C-c w inserts your `signature' (contents of ~/.signature) at the end | 1040 | C-c w inserts your `signature' (contents of ~/.signature) at the end |
| 1041 | of mail. | 1041 | of mail. |
| 1042 | 1042 | ||
| 1043 | * New feature in C-c y command in sending mail. | 1043 | *** New feature in C-c y command in sending mail. |
| 1044 | 1044 | ||
| 1045 | C-c y is the command to insert the message being replied to. | 1045 | C-c y is the command to insert the message being replied to. |
| 1046 | Normally it deletes most header fields and indents everything | 1046 | Normally it deletes most header fields and indents everything |
| @@ -1050,7 +1050,7 @@ Now, C-c y does not delete header fields or indent. | |||
| 1050 | C-c y with any other numeric argument does delete most header | 1050 | C-c y with any other numeric argument does delete most header |
| 1051 | fields, but indents by the amount specified in the argument. | 1051 | fields, but indents by the amount specified in the argument. |
| 1052 | 1052 | ||
| 1053 | * C-r command in Rmail edits current message. | 1053 | *** C-r command in Rmail edits current message. |
| 1054 | 1054 | ||
| 1055 | It does this by switching to a different major mode | 1055 | It does this by switching to a different major mode |
| 1056 | which is nearly the same as Text mode. The only difference | 1056 | which is nearly the same as Text mode. The only difference |
| @@ -1063,31 +1063,31 @@ C-c and C-] are the only ways "back into Rmail", but you | |||
| 1063 | can switch to other buffers and edit them as usual. | 1063 | can switch to other buffers and edit them as usual. |
| 1064 | C-r in Rmail changes only the handling of the Rmail buffer. | 1064 | C-r in Rmail changes only the handling of the Rmail buffer. |
| 1065 | 1065 | ||
| 1066 | * Rmail command `t' toggles header display. | 1066 | *** Rmail command `t' toggles header display. |
| 1067 | 1067 | ||
| 1068 | Normally Rmail reformats messages to hide most header fields. | 1068 | Normally Rmail reformats messages to hide most header fields. |
| 1069 | `t' switches to display of all the header fields of the | 1069 | `t' switches to display of all the header fields of the |
| 1070 | current message, as long as it remains current. | 1070 | current message, as long as it remains current. |
| 1071 | Another `t' switches back to the usual display. | 1071 | Another `t' switches back to the usual display. |
| 1072 | 1072 | ||
| 1073 | * Rmail command '>' goes to the last message. | 1073 | *** Rmail command '>' goes to the last message. |
| 1074 | 1074 | ||
| 1075 | * Rmail commands `a' and `k' set message attributes. | 1075 | *** Rmail commands `a' and `k' set message attributes. |
| 1076 | `a' adds an attribute and `k' removes one. You specify | 1076 | `a' adds an attribute and `k' removes one. You specify |
| 1077 | the attribute by name. You can specify either a built-in | 1077 | the attribute by name. You can specify either a built-in |
| 1078 | flag such as "deleted" or "filed", or a user-defined keyword | 1078 | flag such as "deleted" or "filed", or a user-defined keyword |
| 1079 | (anything not recognized as built-in). | 1079 | (anything not recognized as built-in). |
| 1080 | 1080 | ||
| 1081 | * Rmail commands `l' and `L' summarize by attributes. | 1081 | *** Rmail commands `l' and `L' summarize by attributes. |
| 1082 | 1082 | ||
| 1083 | These commands create a summary with one line per message, | 1083 | These commands create a summary with one line per message, |
| 1084 | like `h', but they list only some of the messages. You | 1084 | like `h', but they list only some of the messages. You |
| 1085 | specify which attribute (for `l') or attributes (for `L') | 1085 | specify which attribute (for `l') or attributes (for `L') |
| 1086 | the messages should have. | 1086 | the messages should have. |
| 1087 | 1087 | ||
| 1088 | * Rmail can parse mmdf mail files. | 1088 | *** Rmail can parse mmdf mail files. |
| 1089 | 1089 | ||
| 1090 | * Interface to MH mail system. | 1090 | *** Interface to MH mail system. |
| 1091 | 1091 | ||
| 1092 | mh-e is a front end for GNU emacs and the MH mail system. It | 1092 | mh-e is a front end for GNU emacs and the MH mail system. It |
| 1093 | provides a friendly and convenient interface to the MH commands. | 1093 | provides a friendly and convenient interface to the MH commands. |
| @@ -1103,9 +1103,9 @@ compiler switch. | |||
| 1103 | 1103 | ||
| 1104 | From larus@berkeley. | 1104 | From larus@berkeley. |
| 1105 | 1105 | ||
| 1106 | New hooks and parameters in version 16 | 1106 | ** New hooks and parameters in version 16 |
| 1107 | 1107 | ||
| 1108 | * New variable `blink-matching-paren-distance'. | 1108 | *** New variable `blink-matching-paren-distance'. |
| 1109 | 1109 | ||
| 1110 | This is the maximum number of characters to search for | 1110 | This is the maximum number of characters to search for |
| 1111 | an open-paren to match an inserted close-paren. | 1111 | an open-paren to match an inserted close-paren. |
| @@ -1118,13 +1118,13 @@ open-paren is found. | |||
| 1118 | 1118 | ||
| 1119 | This feature was originally written by shane@mit-ajax. | 1119 | This feature was originally written by shane@mit-ajax. |
| 1120 | 1120 | ||
| 1121 | * New variable `find-file-run-dired' | 1121 | *** New variable `find-file-run-dired' |
| 1122 | 1122 | ||
| 1123 | If nil, find-file will report an error if an attempt to visit a | 1123 | If nil, find-file will report an error if an attempt to visit a |
| 1124 | directory is detected; otherwise, it runs dired on that directory. | 1124 | directory is detected; otherwise, it runs dired on that directory. |
| 1125 | The default is t. | 1125 | The default is t. |
| 1126 | 1126 | ||
| 1127 | * Variable `dired-listing-switches' holds switches given to `ls' by dired. | 1127 | *** Variable `dired-listing-switches' holds switches given to `ls' by dired. |
| 1128 | 1128 | ||
| 1129 | The value should be a string containing `-' followed by letters. | 1129 | The value should be a string containing `-' followed by letters. |
| 1130 | The letter `l' had better be included and letter 'F' had better be excluded! | 1130 | The letter `l' had better be included and letter 'F' had better be excluded! |
| @@ -1132,12 +1132,12 @@ The default is "-al". | |||
| 1132 | 1132 | ||
| 1133 | This feature was originally written by shane@mit-ajax. | 1133 | This feature was originally written by shane@mit-ajax. |
| 1134 | 1134 | ||
| 1135 | * New variable `display-time-day-and-date'. | 1135 | *** New variable `display-time-day-and-date'. |
| 1136 | 1136 | ||
| 1137 | If this variable is set non-`nil', the function M-x display-time | 1137 | If this variable is set non-`nil', the function M-x display-time |
| 1138 | displays the day and date, as well as the time. | 1138 | displays the day and date, as well as the time. |
| 1139 | 1139 | ||
| 1140 | * New parameter `c-continued-statement-indent'. | 1140 | *** New parameter `c-continued-statement-indent'. |
| 1141 | 1141 | ||
| 1142 | This controls the extra indentation given to a line | 1142 | This controls the extra indentation given to a line |
| 1143 | that continues a C statement started on the previous line. | 1143 | that continues a C statement started on the previous line. |
| @@ -1147,7 +1147,7 @@ By default it is 2, which is why you would see | |||
| 1147 | bar (); | 1147 | bar (); |
| 1148 | 1148 | ||
| 1149 | 1149 | ||
| 1150 | * Changed meaning of `c-indent-level'. | 1150 | *** Changed meaning of `c-indent-level'. |
| 1151 | 1151 | ||
| 1152 | The value of `c-brace-offset' used to be | 1152 | The value of `c-brace-offset' used to be |
| 1153 | subtracted from the value of `c-indent-level' whenever | 1153 | subtracted from the value of `c-indent-level' whenever |
| @@ -1157,20 +1157,20 @@ As a result, `c-indent-level' is now the offset of | |||
| 1157 | statements within a block, relative to the line containing | 1157 | statements within a block, relative to the line containing |
| 1158 | the open-brace that starts the block. | 1158 | the open-brace that starts the block. |
| 1159 | 1159 | ||
| 1160 | * turn-on-auto-fill is useful value for text-mode-hook. | 1160 | *** turn-on-auto-fill is useful value for text-mode-hook. |
| 1161 | 1161 | ||
| 1162 | (setq text-mode-hook 'turn-on-auto-fill) | 1162 | (setq text-mode-hook 'turn-on-auto-fill) |
| 1163 | is all you have to do to make sure Auto Fill mode is turned | 1163 | is all you have to do to make sure Auto Fill mode is turned |
| 1164 | on whenever you enter Text mode. | 1164 | on whenever you enter Text mode. |
| 1165 | 1165 | ||
| 1166 | * Parameter explicit-shell-file-name for M-x shell. | 1166 | *** Parameter explicit-shell-file-name for M-x shell. |
| 1167 | 1167 | ||
| 1168 | This variable, if non-nil, specifies the file name to use | 1168 | This variable, if non-nil, specifies the file name to use |
| 1169 | for the shell to run if you do M-x shell. | 1169 | for the shell to run if you do M-x shell. |
| 1170 | 1170 | ||
| 1171 | Changes in version 16 affecting Lisp programming: | 1171 | Changes in version 16 affecting Lisp programming: |
| 1172 | 1172 | ||
| 1173 | * Documentation strings adapt to customization. | 1173 | *** Documentation strings adapt to customization. |
| 1174 | 1174 | ||
| 1175 | Often the documentation string for a command wants to mention | 1175 | Often the documentation string for a command wants to mention |
| 1176 | another command. Simply stating the other command as a | 1176 | another command. Simply stating the other command as a |
| @@ -1201,12 +1201,12 @@ The new function `substitute-command-keys' takes a string possibly | |||
| 1201 | containing \[...] constructs and replaces those constructs with | 1201 | containing \[...] constructs and replaces those constructs with |
| 1202 | the key sequences they currently stand for. | 1202 | the key sequences they currently stand for. |
| 1203 | 1203 | ||
| 1204 | * Primitives `find-line-comment' and `find-line-comment-body' flushed. | 1204 | *** Primitives `find-line-comment' and `find-line-comment-body' flushed. |
| 1205 | 1205 | ||
| 1206 | Search for the value of `comment-start-skip' if you want to find | 1206 | Search for the value of `comment-start-skip' if you want to find |
| 1207 | whether and where a line has a comment. | 1207 | whether and where a line has a comment. |
| 1208 | 1208 | ||
| 1209 | * New function `auto-save-file-name-p' | 1209 | *** New function `auto-save-file-name-p' |
| 1210 | 1210 | ||
| 1211 | Should return non-`nil' if given a string which is the name of an | 1211 | Should return non-`nil' if given a string which is the name of an |
| 1212 | auto-save file (sans directory name). If you redefine | 1212 | auto-save file (sans directory name). If you redefine |
| @@ -1214,11 +1214,11 @@ auto-save file (sans directory name). If you redefine | |||
| 1214 | default, this function returns `t' for filenames beginning with | 1214 | default, this function returns `t' for filenames beginning with |
| 1215 | character `#'. | 1215 | character `#'. |
| 1216 | 1216 | ||
| 1217 | * The value of `exec-directory' now ends in a slash. | 1217 | *** The value of `exec-directory' now ends in a slash. |
| 1218 | 1218 | ||
| 1219 | This is to be compatible with most directory names in GNU Emacs. | 1219 | This is to be compatible with most directory names in GNU Emacs. |
| 1220 | 1220 | ||
| 1221 | * Dribble files and termscript files. | 1221 | *** Dribble files and termscript files. |
| 1222 | 1222 | ||
| 1223 | (open-dribble-file FILE) opens a dribble file named FILE. When a | 1223 | (open-dribble-file FILE) opens a dribble file named FILE. When a |
| 1224 | dribble file is open, every character Emacs reads from the terminal is | 1224 | dribble file is open, every character Emacs reads from the terminal is |
| @@ -1231,51 +1231,51 @@ are also written in the termscript file. | |||
| 1231 | The two of these together are very useful for debugging Emacs problems | 1231 | The two of these together are very useful for debugging Emacs problems |
| 1232 | in redisplay. | 1232 | in redisplay. |
| 1233 | 1233 | ||
| 1234 | * Upper case command characters by default are same as lower case. | 1234 | *** Upper case command characters by default are same as lower case. |
| 1235 | 1235 | ||
| 1236 | If a character in a command is an upper case letter, and is not defined, | 1236 | If a character in a command is an upper case letter, and is not defined, |
| 1237 | Emacs uses the definition of the corresponding lower case letter. | 1237 | Emacs uses the definition of the corresponding lower case letter. |
| 1238 | For example, if C-x U is not directly undefined, it is treated as | 1238 | For example, if C-x U is not directly undefined, it is treated as |
| 1239 | a synonym for C-x u (undo). | 1239 | a synonym for C-x u (undo). |
| 1240 | 1240 | ||
| 1241 | * Undefined function errors versus undefined variable errors. | 1241 | *** Undefined function errors versus undefined variable errors. |
| 1242 | 1242 | ||
| 1243 | Void-symbol errors now say "boundp" if the symbol's value was void | 1243 | Void-symbol errors now say "boundp" if the symbol's value was void |
| 1244 | or "fboundp" if the function definition was void. | 1244 | or "fboundp" if the function definition was void. |
| 1245 | 1245 | ||
| 1246 | * New function `bury-buffer'. | 1246 | *** New function `bury-buffer'. |
| 1247 | 1247 | ||
| 1248 | The new function `bury-buffer' takes one argument, a buffer object, | 1248 | The new function `bury-buffer' takes one argument, a buffer object, |
| 1249 | and puts that buffer at the end of the internal list of buffers. | 1249 | and puts that buffer at the end of the internal list of buffers. |
| 1250 | So it is the least preferred candidate for use as the default value | 1250 | So it is the least preferred candidate for use as the default value |
| 1251 | of C-x b, or for other-buffer to return. | 1251 | of C-x b, or for other-buffer to return. |
| 1252 | 1252 | ||
| 1253 | * Already-displayed buffers have low priority for display. | 1253 | *** Already-displayed buffers have low priority for display. |
| 1254 | 1254 | ||
| 1255 | When a buffer is chosen automatically for display, or to be the | 1255 | When a buffer is chosen automatically for display, or to be the |
| 1256 | default in C-x b, buffers already displayed in windows have lower | 1256 | default in C-x b, buffers already displayed in windows have lower |
| 1257 | priority than buffers not currently visible. | 1257 | priority than buffers not currently visible. |
| 1258 | 1258 | ||
| 1259 | * `set-window-start' accepts a third argument NOFORCE. | 1259 | *** `set-window-start' accepts a third argument NOFORCE. |
| 1260 | 1260 | ||
| 1261 | This argument, if non-nil, prevents the window's force_start flag | 1261 | This argument, if non-nil, prevents the window's force_start flag |
| 1262 | from being set. Setting the force_start flag causes the next | 1262 | from being set. Setting the force_start flag causes the next |
| 1263 | redisplay to insist on starting display at the specified starting | 1263 | redisplay to insist on starting display at the specified starting |
| 1264 | point, even if dot must be moved to get it onto the screen. | 1264 | point, even if dot must be moved to get it onto the screen. |
| 1265 | 1265 | ||
| 1266 | * New function `send-string-to-terminal'. | 1266 | *** New function `send-string-to-terminal'. |
| 1267 | 1267 | ||
| 1268 | This function takes one argument, a string, and outputs its contents | 1268 | This function takes one argument, a string, and outputs its contents |
| 1269 | to the terminal exactly as specified: control characters, escape | 1269 | to the terminal exactly as specified: control characters, escape |
| 1270 | sequences, and all. | 1270 | sequences, and all. |
| 1271 | 1271 | ||
| 1272 | * Keypad put in command mode. | 1272 | *** Keypad put in command mode. |
| 1273 | 1273 | ||
| 1274 | The terminal's keypad is now put into command mode, as opposed to | 1274 | The terminal's keypad is now put into command mode, as opposed to |
| 1275 | numeric mode, while Emacs is running. This is done by means of the | 1275 | numeric mode, while Emacs is running. This is done by means of the |
| 1276 | termcap `ks' and `ke' strings. | 1276 | termcap `ks' and `ke' strings. |
| 1277 | 1277 | ||
| 1278 | * New function `generate-new-buffer' | 1278 | *** New function `generate-new-buffer' |
| 1279 | 1279 | ||
| 1280 | This function takes a string as an argument NAME and looks for a | 1280 | This function takes a string as an argument NAME and looks for a |
| 1281 | creates and returns a buffer called NAME if one did not already exist. | 1281 | creates and returns a buffer called NAME if one did not already exist. |
| @@ -1283,12 +1283,12 @@ Otherwise, it successively tries appending suffixes of the form "<1>", | |||
| 1283 | "<2>" etc to NAME until it creates a string which does not name an | 1283 | "<2>" etc to NAME until it creates a string which does not name an |
| 1284 | existing buffer. A new buffer with that name is the created and returned. | 1284 | existing buffer. A new buffer with that name is the created and returned. |
| 1285 | 1285 | ||
| 1286 | * New function `prin1-to-string' | 1286 | *** New function `prin1-to-string' |
| 1287 | This function takes one argument, a lisp object, and returns a string | 1287 | This function takes one argument, a lisp object, and returns a string |
| 1288 | containing that object's printed representation, such as `prin1' | 1288 | containing that object's printed representation, such as `prin1' |
| 1289 | would output. | 1289 | would output. |
| 1290 | 1290 | ||
| 1291 | * New function `read-from-minibuffer' | 1291 | *** New function `read-from-minibuffer' |
| 1292 | Lets you supply a prompt, initial-contents, a keymap, and specify | 1292 | Lets you supply a prompt, initial-contents, a keymap, and specify |
| 1293 | whether the result should be interpreted as a string or a lisp object. | 1293 | whether the result should be interpreted as a string or a lisp object. |
| 1294 | 1294 | ||
| @@ -1296,23 +1296,23 @@ Old functions `read-minibuffer', `eval-minibuffer', `read-string' all | |||
| 1296 | take second optional string argument which is initial contents of | 1296 | take second optional string argument which is initial contents of |
| 1297 | minibuffer. | 1297 | minibuffer. |
| 1298 | 1298 | ||
| 1299 | * minibuffer variable names changed (names of keymaps) | 1299 | *** minibuffer variable names changed (names of keymaps) |
| 1300 | 1300 | ||
| 1301 | minibuf-local-map -> minibuffer-local-map | 1301 | minibuf-local-map -> minibuffer-local-map |
| 1302 | minibuf-local-ns-map -> minibuffer-local-ns-map | 1302 | minibuf-local-ns-map -> minibuffer-local-ns-map |
| 1303 | minibuf-local-completion-map -> minibuffer-local-completion-map | 1303 | minibuf-local-completion-map -> minibuffer-local-completion-map |
| 1304 | minibuf-local-must-match-map -> minibuffer-local-must-match-map | 1304 | minibuf-local-must-match-map -> minibuffer-local-must-match-map |
| 1305 | 1305 | ||
| 1306 | Changes in version 16 affecting configuring and building Emacs | 1306 | ** Changes in version 16 affecting configuring and building Emacs |
| 1307 | 1307 | ||
| 1308 | * Configuration switch VT100_INVERSE eliminated. | 1308 | *** Configuration switch VT100_INVERSE eliminated. |
| 1309 | 1309 | ||
| 1310 | You can control the use of inverse video on any terminal by setting | 1310 | You can control the use of inverse video on any terminal by setting |
| 1311 | the variable `inverse-video', or by changing the termcap entry. If | 1311 | the variable `inverse-video', or by changing the termcap entry. If |
| 1312 | you like, set `inverse-video' in your `.emacs' file based on | 1312 | you like, set `inverse-video' in your `.emacs' file based on |
| 1313 | examination of (getenv "TERM"). | 1313 | examination of (getenv "TERM"). |
| 1314 | 1314 | ||
| 1315 | * New switch `-batch' makes Emacs run noninteractively. | 1315 | *** New switch `-batch' makes Emacs run noninteractively. |
| 1316 | 1316 | ||
| 1317 | If the switch `-batch' is used, Emacs treats its standard output | 1317 | If the switch `-batch' is used, Emacs treats its standard output |
| 1318 | and input like ordinary files (even if they are a terminal). | 1318 | and input like ordinary files (even if they are a terminal). |
| @@ -1330,22 +1330,22 @@ way to accomplish this. | |||
| 1330 | The Lisp variable `noninteractive' is now defined, to be `nil' | 1330 | The Lisp variable `noninteractive' is now defined, to be `nil' |
| 1331 | except when `-batch' has been specified. | 1331 | except when `-batch' has been specified. |
| 1332 | 1332 | ||
| 1333 | * Emacs can be built with output redirected to a file. | 1333 | *** Emacs can be built with output redirected to a file. |
| 1334 | 1334 | ||
| 1335 | This is because -batch (see above) is now used in building Emacs. | 1335 | This is because -batch (see above) is now used in building Emacs. |
| 1336 | 1336 | ||
| 1337 | 1337 | ||
| 1338 | 1338 | ||
| 1339 | Changes in Emacs 15 | 1339 | * Changes in Emacs 15 |
| 1340 | 1340 | ||
| 1341 | * Emacs now runs on Sun and Megatest 68000 systems; | 1341 | ** Emacs now runs on Sun and Megatest 68000 systems; |
| 1342 | also on at least one 16000 system running 4.2. | 1342 | also on at least one 16000 system running 4.2. |
| 1343 | 1343 | ||
| 1344 | * Emacs now alters the output-start and output-stop characters | 1344 | ** Emacs now alters the output-start and output-stop characters |
| 1345 | to prevent C-s and C-q from being considered as flow control | 1345 | to prevent C-s and C-q from being considered as flow control |
| 1346 | by cretinous rlogin software in 4.2. | 1346 | by cretinous rlogin software in 4.2. |
| 1347 | 1347 | ||
| 1348 | * It is now possible convert Mocklisp code (for Gosling Emacs) to Lisp code | 1348 | ** It is now possible convert Mocklisp code (for Gosling Emacs) to Lisp code |
| 1349 | that can run in GNU Emacs. M-x convert-mocklisp-buffer | 1349 | that can run in GNU Emacs. M-x convert-mocklisp-buffer |
| 1350 | converts the contents of the current buffer from Mocklisp to | 1350 | converts the contents of the current buffer from Mocklisp to |
| 1351 | GNU Emacs Lisp. You should then save the converted buffer with C-x C-w | 1351 | GNU Emacs Lisp. You should then save the converted buffer with C-x C-w |
| @@ -1365,7 +1365,7 @@ Changes in Emacs 15 | |||
| 1365 | to GNU lisp code, with M-x convert-mocklisp-buffer being the first | 1365 | to GNU lisp code, with M-x convert-mocklisp-buffer being the first |
| 1366 | step in this process. | 1366 | step in this process. |
| 1367 | 1367 | ||
| 1368 | * Control-x n (narrow-to-region) is now by default a disabled command. | 1368 | ** Control-x n (narrow-to-region) is now by default a disabled command. |
| 1369 | 1369 | ||
| 1370 | This means that, if you issue this command, it will ask whether | 1370 | This means that, if you issue this command, it will ask whether |
| 1371 | you really mean it. You have the opportunity to enable the | 1371 | you really mean it. You have the opportunity to enable the |
| @@ -1373,7 +1373,7 @@ Changes in Emacs 15 | |||
| 1373 | This will place the form "(put 'narrow-to-region 'disabled nil)" in your | 1373 | This will place the form "(put 'narrow-to-region 'disabled nil)" in your |
| 1374 | .emacs file. | 1374 | .emacs file. |
| 1375 | 1375 | ||
| 1376 | * Tags now prompts for the tag table file name to use. | 1376 | ** Tags now prompts for the tag table file name to use. |
| 1377 | 1377 | ||
| 1378 | All the tags commands ask for the tag table file name | 1378 | All the tags commands ask for the tag table file name |
| 1379 | if you have not yet specified one. | 1379 | if you have not yet specified one. |
| @@ -1382,12 +1382,12 @@ Changes in Emacs 15 | |||
| 1382 | specify the tag table file name initially, or to switch | 1382 | specify the tag table file name initially, or to switch |
| 1383 | to a new tag table. | 1383 | to a new tag table. |
| 1384 | 1384 | ||
| 1385 | * If truncate-partial-width-windows is non-nil (as it initially is), | 1385 | ** If truncate-partial-width-windows is non-nil (as it initially is), |
| 1386 | all windows less than the full screen width (that is, | 1386 | all windows less than the full screen width (that is, |
| 1387 | made by side-by-side splitting) truncate lines rather than continuing | 1387 | made by side-by-side splitting) truncate lines rather than continuing |
| 1388 | them. | 1388 | them. |
| 1389 | 1389 | ||
| 1390 | * Emacs now checks for Lisp stack overflow to avoid fatal errors. | 1390 | ** Emacs now checks for Lisp stack overflow to avoid fatal errors. |
| 1391 | The depth in eval, apply and funcall may not exceed max-lisp-eval-depth. | 1391 | The depth in eval, apply and funcall may not exceed max-lisp-eval-depth. |
| 1392 | The depth in variable bindings and unwind-protects may not exceed | 1392 | The depth in variable bindings and unwind-protects may not exceed |
| 1393 | max-specpdl-size. If either limit is exceeded, an error occurs. | 1393 | max-specpdl-size. If either limit is exceeded, an error occurs. |
| @@ -1395,7 +1395,7 @@ Changes in Emacs 15 | |||
| 1395 | too large, you are vulnerable to a fatal error if you invoke | 1395 | too large, you are vulnerable to a fatal error if you invoke |
| 1396 | Lisp code that does infinite recursion. | 1396 | Lisp code that does infinite recursion. |
| 1397 | 1397 | ||
| 1398 | * New hooks find-file-hook and write-file-hook. | 1398 | ** New hooks find-file-hook and write-file-hook. |
| 1399 | Both of these variables if non-nil should be functions of no arguments. | 1399 | Both of these variables if non-nil should be functions of no arguments. |
| 1400 | At the time they are called (current-buffer) will be the buffer being | 1400 | At the time they are called (current-buffer) will be the buffer being |
| 1401 | read or written respectively. | 1401 | read or written respectively. |
| @@ -1409,13 +1409,13 @@ Changes in Emacs 15 | |||
| 1409 | 1409 | ||
| 1410 | write-file-hook is called just before writing out a file from a buffer. | 1410 | write-file-hook is called just before writing out a file from a buffer. |
| 1411 | 1411 | ||
| 1412 | * The initial value of shell-prompt-pattern is now "^[^#$%>]*[#$%>] *" | 1412 | ** The initial value of shell-prompt-pattern is now "^[^#$%>]*[#$%>] *" |
| 1413 | 1413 | ||
| 1414 | * If the .emacs file sets inhibit-startup-message to non-nil, | 1414 | ** If the .emacs file sets inhibit-startup-message to non-nil, |
| 1415 | the messages normally printed by Emacs at startup time | 1415 | the messages normally printed by Emacs at startup time |
| 1416 | are inhibited. | 1416 | are inhibited. |
| 1417 | 1417 | ||
| 1418 | * Facility for run-time conditionalization on the basis of emacs features. | 1418 | ** Facility for run-time conditionalization on the basis of emacs features. |
| 1419 | 1419 | ||
| 1420 | The new variable features is a list of symbols which represent "features" | 1420 | The new variable features is a list of symbols which represent "features" |
| 1421 | of the executing emacs, for use in run-time conditionalization. | 1421 | of the executing emacs, for use in run-time conditionalization. |
| @@ -1438,14 +1438,14 @@ Changes in Emacs 15 | |||
| 1438 | (if (not featurep FEATURE) (error ...)))) | 1438 | (if (not featurep FEATURE) (error ...)))) |
| 1439 | FILE-NAME is optional and defaults to FEATURE. | 1439 | FILE-NAME is optional and defaults to FEATURE. |
| 1440 | 1440 | ||
| 1441 | * New function load-average. | 1441 | ** New function load-average. |
| 1442 | 1442 | ||
| 1443 | This returns a list of three integers, which are | 1443 | This returns a list of three integers, which are |
| 1444 | the current 1 minute, 5 minute and 15 minute load averages, | 1444 | the current 1 minute, 5 minute and 15 minute load averages, |
| 1445 | each multiplied by a hundred (since normally they are floating | 1445 | each multiplied by a hundred (since normally they are floating |
| 1446 | point numbers). | 1446 | point numbers). |
| 1447 | 1447 | ||
| 1448 | * Per-terminal libraries loaded automatically. | 1448 | ** Per-terminal libraries loaded automatically. |
| 1449 | 1449 | ||
| 1450 | Emacs when starting up on terminal type T automatically loads | 1450 | Emacs when starting up on terminal type T automatically loads |
| 1451 | a library named term-T. T is the value of the TERM environment variable. | 1451 | a library named term-T. T is the value of the TERM environment variable. |
| @@ -1457,7 +1457,7 @@ Changes in Emacs 15 | |||
| 1457 | redefinitions and let the user's init file, which is loaded later, | 1457 | redefinitions and let the user's init file, which is loaded later, |
| 1458 | call that command or not, as the user prefers. | 1458 | call that command or not, as the user prefers. |
| 1459 | 1459 | ||
| 1460 | * Programmer's note: detecting killed buffers. | 1460 | ** Programmer's note: detecting killed buffers. |
| 1461 | 1461 | ||
| 1462 | Buffers are eliminated by explicitly killing them, using | 1462 | Buffers are eliminated by explicitly killing them, using |
| 1463 | the function kill-buffer. This does not eliminate or affect | 1463 | the function kill-buffer. This does not eliminate or affect |
| @@ -1466,7 +1466,7 @@ Changes in Emacs 15 | |||
| 1466 | the buffer has been killed, use the function buffer-name. | 1466 | the buffer has been killed, use the function buffer-name. |
| 1467 | It returns nil on a killed buffer, and a string on a live buffer. | 1467 | It returns nil on a killed buffer, and a string on a live buffer. |
| 1468 | 1468 | ||
| 1469 | * New ways to access the last command input character. | 1469 | ** New ways to access the last command input character. |
| 1470 | 1470 | ||
| 1471 | The function last-key-struck, which used to return the last | 1471 | The function last-key-struck, which used to return the last |
| 1472 | input character that was read by command input, is eliminated. | 1472 | input character that was read by command input, is eliminated. |
| @@ -1479,13 +1479,13 @@ Changes in Emacs 15 | |||
| 1479 | read for. last-input-char and last-command-char are different | 1479 | read for. last-input-char and last-command-char are different |
| 1480 | only inside a command that has called read-char to read input. | 1480 | only inside a command that has called read-char to read input. |
| 1481 | 1481 | ||
| 1482 | * The new switch -kill causes Emacs to exit after processing the | 1482 | ** The new switch -kill causes Emacs to exit after processing the |
| 1483 | preceding command line arguments. Thus, | 1483 | preceding command line arguments. Thus, |
| 1484 | emacs -l lib data -e do-it -kill | 1484 | emacs -l lib data -e do-it -kill |
| 1485 | means to load lib, find file data, call do-it on no arguments, | 1485 | means to load lib, find file data, call do-it on no arguments, |
| 1486 | and then exit. | 1486 | and then exit. |
| 1487 | 1487 | ||
| 1488 | * The config.h file has been modularized. | 1488 | ** The config.h file has been modularized. |
| 1489 | 1489 | ||
| 1490 | Options that depend on the machine you are running on are defined | 1490 | Options that depend on the machine you are running on are defined |
| 1491 | in a file whose name starts with "m-", such as m-vax.h. | 1491 | in a file whose name starts with "m-", such as m-vax.h. |
| @@ -1499,25 +1499,25 @@ Changes in Emacs 15 | |||
| 1499 | select the correct m- and s- files but will never have to change their | 1499 | select the correct m- and s- files but will never have to change their |
| 1500 | contents. | 1500 | contents. |
| 1501 | 1501 | ||
| 1502 | * Termcap AL and DL strings are understood. | 1502 | ** Termcap AL and DL strings are understood. |
| 1503 | 1503 | ||
| 1504 | If the termcap entry defines AL and DL strings, for insertion | 1504 | If the termcap entry defines AL and DL strings, for insertion |
| 1505 | and deletion of multiple lines in one blow, Emacs now uses them. | 1505 | and deletion of multiple lines in one blow, Emacs now uses them. |
| 1506 | This matters most on certain bit map display terminals for which | 1506 | This matters most on certain bit map display terminals for which |
| 1507 | scrolling is comparatively slow. | 1507 | scrolling is comparatively slow. |
| 1508 | 1508 | ||
| 1509 | * Bias against scrolling screen far on fast terminals. | 1509 | ** Bias against scrolling screen far on fast terminals. |
| 1510 | 1510 | ||
| 1511 | Emacs now prefers to redraw a few lines rather than | 1511 | Emacs now prefers to redraw a few lines rather than |
| 1512 | shift them a long distance on the screen, when the terminal is fast. | 1512 | shift them a long distance on the screen, when the terminal is fast. |
| 1513 | 1513 | ||
| 1514 | * New major mode, mim-mode. | 1514 | ** New major mode, mim-mode. |
| 1515 | 1515 | ||
| 1516 | This major mode is for editing MDL code. Perhaps a MDL | 1516 | This major mode is for editing MDL code. Perhaps a MDL |
| 1517 | user can explain why it is not called mdl-mode. | 1517 | user can explain why it is not called mdl-mode. |
| 1518 | You must load the library mim-mode explicitly to use this. | 1518 | You must load the library mim-mode explicitly to use this. |
| 1519 | 1519 | ||
| 1520 | * GNU documentation formatter `texinfo'. | 1520 | ** GNU documentation formatter `texinfo'. |
| 1521 | 1521 | ||
| 1522 | The `texinfo' library defines a format for documentation | 1522 | The `texinfo' library defines a format for documentation |
| 1523 | files which can be passed through Tex to make a printed manual | 1523 | files which can be passed through Tex to make a printed manual |
| @@ -1532,7 +1532,7 @@ Changes in Emacs 15 | |||
| 1532 | This is not ready for distribution yet, but will appear at | 1532 | This is not ready for distribution yet, but will appear at |
| 1533 | a later time. | 1533 | a later time. |
| 1534 | 1534 | ||
| 1535 | * New function read-from-string (emacs 15.29) | 1535 | ** New function read-from-string (emacs 15.29) |
| 1536 | 1536 | ||
| 1537 | read-from-string takes three arguments: a string to read from, | 1537 | read-from-string takes three arguments: a string to read from, |
| 1538 | and optionally start and end indices which delimit a substring | 1538 | and optionally start and end indices which delimit a substring |
| @@ -1551,14 +1551,14 @@ Changes in Emacs 15 | |||
| 1551 | 1551 | ||
| 1552 | 1552 | ||
| 1553 | 1553 | ||
| 1554 | Changes in Emacs 14 | 1554 | * Changes in Emacs 14 |
| 1555 | 1555 | ||
| 1556 | * Completion now prints various messages such as [Sole Completion] | 1556 | ** Completion now prints various messages such as [Sole Completion] |
| 1557 | or [Next Character Not Unique] to describe the results obtained. | 1557 | or [Next Character Not Unique] to describe the results obtained. |
| 1558 | These messages appear after the text in the minibuffer, and remain | 1558 | These messages appear after the text in the minibuffer, and remain |
| 1559 | on the screen until a few seconds go by or you type a key. | 1559 | on the screen until a few seconds go by or you type a key. |
| 1560 | 1560 | ||
| 1561 | * The buffer-read-only flag is implemented. | 1561 | ** The buffer-read-only flag is implemented. |
| 1562 | Setting or binding this per-buffer variable to a non-nil value | 1562 | Setting or binding this per-buffer variable to a non-nil value |
| 1563 | makes illegal any operation which would modify the textual content of | 1563 | makes illegal any operation which would modify the textual content of |
| 1564 | the buffer. (Such operations signal a buffer-read-only error) | 1564 | the buffer. (Such operations signal a buffer-read-only error) |
| @@ -1568,12 +1568,12 @@ Changes in Emacs 14 | |||
| 1568 | by default to prevent accidental damage to the information in those | 1568 | by default to prevent accidental damage to the information in those |
| 1569 | buffers. | 1569 | buffers. |
| 1570 | 1570 | ||
| 1571 | * Functions car-safe and cdr-safe. | 1571 | ** Functions car-safe and cdr-safe. |
| 1572 | These functions are like car and cdr when the argument is a cons. | 1572 | These functions are like car and cdr when the argument is a cons. |
| 1573 | Given an argument not a cons, car-safe always returns nil, with | 1573 | Given an argument not a cons, car-safe always returns nil, with |
| 1574 | no error; the same for cdr-safe. | 1574 | no error; the same for cdr-safe. |
| 1575 | 1575 | ||
| 1576 | * The new function user-real-login-name returns the name corresponding | 1576 | ** The new function user-real-login-name returns the name corresponding |
| 1577 | to the real uid of the Emacs process. This is usually the same | 1577 | to the real uid of the Emacs process. This is usually the same |
| 1578 | as what user-login-name returns; however, when Emacs is invoked | 1578 | as what user-login-name returns; however, when Emacs is invoked |
| 1579 | from su, user-real-login-name returns "root" but user-login-name | 1579 | from su, user-real-login-name returns "root" but user-login-name |
| @@ -1581,9 +1581,9 @@ Changes in Emacs 14 | |||
| 1581 | 1581 | ||
| 1582 | 1582 | ||
| 1583 | 1583 | ||
| 1584 | Changes in Emacs 13 | 1584 | * Changes in Emacs 13 |
| 1585 | 1585 | ||
| 1586 | * There is a new version numbering scheme. | 1586 | ** There is a new version numbering scheme. |
| 1587 | 1587 | ||
| 1588 | What used to be the first version number, which was 1, | 1588 | What used to be the first version number, which was 1, |
| 1589 | has been discarded since it does not seem that I need three | 1589 | has been discarded since it does not seem that I need three |
| @@ -1594,7 +1594,7 @@ Changes in Emacs 13 | |||
| 1594 | Emacs when I distribute it; it will be incremented each time | 1594 | Emacs when I distribute it; it will be incremented each time |
| 1595 | Emacs is built at another site. | 1595 | Emacs is built at another site. |
| 1596 | 1596 | ||
| 1597 | * There is now a reader syntax for Meta characters: | 1597 | ** There is now a reader syntax for Meta characters: |
| 1598 | \M-CHAR means CHAR or'ed with the Meta bit. For example: | 1598 | \M-CHAR means CHAR or'ed with the Meta bit. For example: |
| 1599 | 1599 | ||
| 1600 | ?\M-x is (+ ?x 128) | 1600 | ?\M-x is (+ ?x 128) |
| @@ -1608,7 +1608,7 @@ Changes in Emacs 13 | |||
| 1608 | 1608 | ||
| 1609 | ?\C- can be used likewise for control characters. (13.9) | 1609 | ?\C- can be used likewise for control characters. (13.9) |
| 1610 | 1610 | ||
| 1611 | * Installation change | 1611 | ** Installation change |
| 1612 | The string "../lisp" now adds to the front of the load-path | 1612 | The string "../lisp" now adds to the front of the load-path |
| 1613 | used for searching for Lisp files during Emacs initialization. | 1613 | used for searching for Lisp files during Emacs initialization. |
| 1614 | It used to replace the path specified in paths.h entirely. | 1614 | It used to replace the path specified in paths.h entirely. |
| @@ -1617,13 +1617,13 @@ Changes in Emacs 13 | |||
| 1617 | 1617 | ||
| 1618 | 1618 | ||
| 1619 | 1619 | ||
| 1620 | Changes in Emacs 1.12 | 1620 | * Changes in Emacs 1.12 |
| 1621 | 1621 | ||
| 1622 | * There is a new installation procedure. | 1622 | ** There is a new installation procedure. |
| 1623 | See the file INSTALL that comes in the top level | 1623 | See the file INSTALL that comes in the top level |
| 1624 | directory in the tar file or tape. | 1624 | directory in the tar file or tape. |
| 1625 | 1625 | ||
| 1626 | * The Meta key is now supported on terminals that have it. | 1626 | ** The Meta key is now supported on terminals that have it. |
| 1627 | This is a shift key which causes the high bit to be turned on | 1627 | This is a shift key which causes the high bit to be turned on |
| 1628 | in all input characters typed while it is held down. | 1628 | in all input characters typed while it is held down. |
| 1629 | 1629 | ||
| @@ -1643,10 +1643,10 @@ Changes in Emacs 1.12 | |||
| 1643 | explicitly, but not effective if the character comes from | 1643 | explicitly, but not effective if the character comes from |
| 1644 | the use of the Meta key. | 1644 | the use of the Meta key. |
| 1645 | 1645 | ||
| 1646 | * `-' is no longer a completion command in the minibuffer. | 1646 | ** `-' is no longer a completion command in the minibuffer. |
| 1647 | It is an ordinary self-inserting character. | 1647 | It is an ordinary self-inserting character. |
| 1648 | 1648 | ||
| 1649 | * The list load-path of directories load to search for Lisp files | 1649 | ** The list load-path of directories load to search for Lisp files |
| 1650 | is now controlled by the EMACSLOADPATH environment variable | 1650 | is now controlled by the EMACSLOADPATH environment variable |
| 1651 | [[ Note this was originally EMACS-LOAD-PATH and has been changed | 1651 | [[ Note this was originally EMACS-LOAD-PATH and has been changed |
| 1652 | again; sh does not deal properly with hyphens in env variable names]] | 1652 | again; sh does not deal properly with hyphens in env variable names]] |
| @@ -1658,7 +1658,7 @@ Changes in Emacs 1.12 | |||
| 1658 | ignore EMACSLOADPATH, however; you should avoid having | 1658 | ignore EMACSLOADPATH, however; you should avoid having |
| 1659 | this variable set while building Emacs. | 1659 | this variable set while building Emacs. |
| 1660 | 1660 | ||
| 1661 | * You can now specify a translation table for keyboard | 1661 | ** You can now specify a translation table for keyboard |
| 1662 | input characters, as a way of exchanging or substituting | 1662 | input characters, as a way of exchanging or substituting |
| 1663 | keys on the keyboard. | 1663 | keys on the keyboard. |
| 1664 | 1664 | ||
| @@ -1709,20 +1709,20 @@ Changes in Emacs 1.12 | |||
| 1709 | (aset keyboard-translate-table (+ 128 ?\_) (+ 128 ?\^?)) | 1709 | (aset keyboard-translate-table (+ 128 ?\_) (+ 128 ?\^?)) |
| 1710 | (aset keyboard-translate-table (+ 128 ?\^?) (+ 128 ?\_)) | 1710 | (aset keyboard-translate-table (+ 128 ?\^?) (+ 128 ?\_)) |
| 1711 | 1711 | ||
| 1712 | * (process-kill-without-query PROCESS) | 1712 | ** (process-kill-without-query PROCESS) |
| 1713 | 1713 | ||
| 1714 | This marks the process so that, when you kill Emacs, | 1714 | This marks the process so that, when you kill Emacs, |
| 1715 | you will not on its account be queried about active subprocesses. | 1715 | you will not on its account be queried about active subprocesses. |
| 1716 | 1716 | ||
| 1717 | 1717 | ||
| 1718 | 1718 | ||
| 1719 | Changes in Emacs 1.11 | 1719 | * Changes in Emacs 1.11 |
| 1720 | 1720 | ||
| 1721 | * The commands C-c and C-z have been interchanged, | 1721 | ** The commands C-c and C-z have been interchanged, |
| 1722 | for greater compatibility with normal Unix usage. | 1722 | for greater compatibility with normal Unix usage. |
| 1723 | C-z now runs suspend-emacs and C-c runs exit-recursive-edit. | 1723 | C-z now runs suspend-emacs and C-c runs exit-recursive-edit. |
| 1724 | 1724 | ||
| 1725 | * The value returned by file-name-directory now ends | 1725 | ** The value returned by file-name-directory now ends |
| 1726 | with a slash. (file-name-directory "foo/bar") => "foo/". | 1726 | with a slash. (file-name-directory "foo/bar") => "foo/". |
| 1727 | This avoids confusing results when dealing with files | 1727 | This avoids confusing results when dealing with files |
| 1728 | in the root directory. | 1728 | in the root directory. |
| @@ -1730,13 +1730,13 @@ Changes in Emacs 1.11 | |||
| 1730 | The value of the per-buffer variable default-directory | 1730 | The value of the per-buffer variable default-directory |
| 1731 | is also supposed to have a final slash now. | 1731 | is also supposed to have a final slash now. |
| 1732 | 1732 | ||
| 1733 | * There are now variables to control the switches passed to | 1733 | ** There are now variables to control the switches passed to |
| 1734 | `ls' by the C-x C-d command (list-directory). | 1734 | `ls' by the C-x C-d command (list-directory). |
| 1735 | list-directory-brief-switches is a string, initially "-CF", | 1735 | list-directory-brief-switches is a string, initially "-CF", |
| 1736 | used for brief listings, and list-directory-verbose-switches | 1736 | used for brief listings, and list-directory-verbose-switches |
| 1737 | is a string, initially "-l", used for verbose ones. | 1737 | is a string, initially "-l", used for verbose ones. |
| 1738 | 1738 | ||
| 1739 | * For Ann Arbor Ambassador terminals, the termcap "ti" string | 1739 | ** For Ann Arbor Ambassador terminals, the termcap "ti" string |
| 1740 | is now used to initialize the screen geometry on entry to Emacs, | 1740 | is now used to initialize the screen geometry on entry to Emacs, |
| 1741 | and the "te" string is used to set it back on exit. | 1741 | and the "te" string is used to set it back on exit. |
| 1742 | If the termcap entry does not define the "ti" or "te" string, | 1742 | If the termcap entry does not define the "ti" or "te" string, |
| @@ -1744,36 +1744,36 @@ Changes in Emacs 1.11 | |||
| 1744 | 1744 | ||
| 1745 | 1745 | ||
| 1746 | 1746 | ||
| 1747 | Changes in Emacs 1.10 | 1747 | * Changes in Emacs 1.10 |
| 1748 | 1748 | ||
| 1749 | * GNU Emacs has been made almost 1/3 smaller. | 1749 | ** GNU Emacs has been made almost 1/3 smaller. |
| 1750 | It now dumps out as only 530kbytes on Vax 4.2bsd. | 1750 | It now dumps out as only 530kbytes on Vax 4.2bsd. |
| 1751 | 1751 | ||
| 1752 | * The term "checkpoint" has been replaced by "auto save" | 1752 | ** The term "checkpoint" has been replaced by "auto save" |
| 1753 | throughout the function names, variable names and documentation | 1753 | throughout the function names, variable names and documentation |
| 1754 | of GNU Emacs. | 1754 | of GNU Emacs. |
| 1755 | 1755 | ||
| 1756 | * The function load now tries appending ".elc" and ".el" | 1756 | ** The function load now tries appending ".elc" and ".el" |
| 1757 | to the specified filename BEFORE it tries the filename | 1757 | to the specified filename BEFORE it tries the filename |
| 1758 | without change. | 1758 | without change. |
| 1759 | 1759 | ||
| 1760 | * rmail now makes the mode line display the total number | 1760 | ** rmail now makes the mode line display the total number |
| 1761 | of messages and the current message number. | 1761 | of messages and the current message number. |
| 1762 | The "f" command now means forward a message to another user. | 1762 | The "f" command now means forward a message to another user. |
| 1763 | The command to search through all messages for a string is now "F". | 1763 | The command to search through all messages for a string is now "F". |
| 1764 | The "u" command now means to move back to the previous | 1764 | The "u" command now means to move back to the previous |
| 1765 | message and undelete it. To undelete the selected message, use Meta-u. | 1765 | message and undelete it. To undelete the selected message, use Meta-u. |
| 1766 | 1766 | ||
| 1767 | * The hyphen character is now equivalent to a Space while | 1767 | ** The hyphen character is now equivalent to a Space while |
| 1768 | in completing minibuffers. Both mean to complete an additional word. | 1768 | in completing minibuffers. Both mean to complete an additional word. |
| 1769 | 1769 | ||
| 1770 | * The Lisp function error now takes args like format | 1770 | ** The Lisp function error now takes args like format |
| 1771 | which are used to construct the error message. | 1771 | which are used to construct the error message. |
| 1772 | 1772 | ||
| 1773 | * Redisplay will refuse to start its display at the end of the buffer. | 1773 | ** Redisplay will refuse to start its display at the end of the buffer. |
| 1774 | It will pick a new place to display from, rather than use that. | 1774 | It will pick a new place to display from, rather than use that. |
| 1775 | 1775 | ||
| 1776 | * The value returned by garbage-collect has been changed. | 1776 | ** The value returned by garbage-collect has been changed. |
| 1777 | Its first element is no longer a number but a cons, | 1777 | Its first element is no longer a number but a cons, |
| 1778 | whose car is the number of cons cells now in use, | 1778 | whose car is the number of cons cells now in use, |
| 1779 | and whose cdr is the number of cons cells that have been | 1779 | and whose cdr is the number of cons cells that have been |
| @@ -1781,42 +1781,42 @@ Changes in Emacs 1.10 | |||
| 1781 | The second element is similar but describes symbols rather than cons cells. | 1781 | The second element is similar but describes symbols rather than cons cells. |
| 1782 | The third element is similar but describes markers. | 1782 | The third element is similar but describes markers. |
| 1783 | 1783 | ||
| 1784 | * The variable buffer-name has been eliminated. | 1784 | ** The variable buffer-name has been eliminated. |
| 1785 | The function buffer-name still exists. This is to prevent | 1785 | The function buffer-name still exists. This is to prevent |
| 1786 | user programs from changing buffer names without going | 1786 | user programs from changing buffer names without going |
| 1787 | through the rename-buffer function. | 1787 | through the rename-buffer function. |
| 1788 | 1788 | ||
| 1789 | 1789 | ||
| 1790 | 1790 | ||
| 1791 | Changes in Emacs 1.9 | 1791 | * Changes in Emacs 1.9 |
| 1792 | 1792 | ||
| 1793 | * When a fill prefix is in effect, paragraphs are started | 1793 | ** When a fill prefix is in effect, paragraphs are started |
| 1794 | or separated by lines that do not start with the fill prefix. | 1794 | or separated by lines that do not start with the fill prefix. |
| 1795 | Also, a line which consists of the fill prefix followed by | 1795 | Also, a line which consists of the fill prefix followed by |
| 1796 | white space separates paragraphs. | 1796 | white space separates paragraphs. |
| 1797 | 1797 | ||
| 1798 | * C-x C-v runs the new function find-alternate-file. | 1798 | ** C-x C-v runs the new function find-alternate-file. |
| 1799 | It finds the specified file, switches to that buffer, | 1799 | It finds the specified file, switches to that buffer, |
| 1800 | and kills the previous current buffer. (It requires | 1800 | and kills the previous current buffer. (It requires |
| 1801 | confirmation if that buffer had changes.) This is | 1801 | confirmation if that buffer had changes.) This is |
| 1802 | most useful after you find the wrong file due to a typo. | 1802 | most useful after you find the wrong file due to a typo. |
| 1803 | 1803 | ||
| 1804 | * Exiting the minibuffer moves the cursor to column 0, | 1804 | ** Exiting the minibuffer moves the cursor to column 0, |
| 1805 | to show you that it has really been exited. | 1805 | to show you that it has really been exited. |
| 1806 | 1806 | ||
| 1807 | * Meta-g (fill-region) now fills each paragraph in the | 1807 | ** Meta-g (fill-region) now fills each paragraph in the |
| 1808 | region individually. To fill the region as if it were | 1808 | region individually. To fill the region as if it were |
| 1809 | a single paragraph (for when the paragraph-delimiting mechanism | 1809 | a single paragraph (for when the paragraph-delimiting mechanism |
| 1810 | does the wrong thing), use fill-region-as-paragraph. | 1810 | does the wrong thing), use fill-region-as-paragraph. |
| 1811 | 1811 | ||
| 1812 | * Tab in text mode now runs the function tab-to-tab-stop. | 1812 | ** Tab in text mode now runs the function tab-to-tab-stop. |
| 1813 | A new mode called indented-text-mode is like text-mode | 1813 | A new mode called indented-text-mode is like text-mode |
| 1814 | except that in it Tab runs the function indent-relative, | 1814 | except that in it Tab runs the function indent-relative, |
| 1815 | which indents the line under the previous line. | 1815 | which indents the line under the previous line. |
| 1816 | If auto fill is enabled while in indented-text-mode, | 1816 | If auto fill is enabled while in indented-text-mode, |
| 1817 | the new lines that it makes are indented. | 1817 | the new lines that it makes are indented. |
| 1818 | 1818 | ||
| 1819 | * Functions kill-rectangle and yank-rectangle. | 1819 | ** Functions kill-rectangle and yank-rectangle. |
| 1820 | kill-rectangle deletes the rectangle specified by dot and mark | 1820 | kill-rectangle deletes the rectangle specified by dot and mark |
| 1821 | (or by two arguments) and saves it in the variable killed-rectangle. | 1821 | (or by two arguments) and saves it in the variable killed-rectangle. |
| 1822 | yank-rectangle inserts the rectangle in that variable. | 1822 | yank-rectangle inserts the rectangle in that variable. |
| @@ -1826,7 +1826,7 @@ Changes in Emacs 1.9 | |||
| 1826 | not be changed if the rectangle is later reinserted | 1826 | not be changed if the rectangle is later reinserted |
| 1827 | at a different column position. | 1827 | at a different column position. |
| 1828 | 1828 | ||
| 1829 | * `+' in a regular expression now means | 1829 | ** `+' in a regular expression now means |
| 1830 | to repeat the previous expression one or more times. | 1830 | to repeat the previous expression one or more times. |
| 1831 | `?' means to repeat it zero or one time. | 1831 | `?' means to repeat it zero or one time. |
| 1832 | They are in all regards like `*' except for the | 1832 | They are in all regards like `*' except for the |
| @@ -1836,19 +1836,19 @@ Changes in Emacs 1.9 | |||
| 1836 | when it is at the beginning of a word; \> matches | 1836 | when it is at the beginning of a word; \> matches |
| 1837 | the null string at the end of a word. | 1837 | the null string at the end of a word. |
| 1838 | 1838 | ||
| 1839 | * C-x p narrows the buffer so that only the current page | 1839 | ** C-x p narrows the buffer so that only the current page |
| 1840 | is visible. | 1840 | is visible. |
| 1841 | 1841 | ||
| 1842 | * C-x ) with argument repeats the kbd macro just | 1842 | ** C-x ) with argument repeats the kbd macro just |
| 1843 | defined that many times, counting the definition | 1843 | defined that many times, counting the definition |
| 1844 | as one repetition. | 1844 | as one repetition. |
| 1845 | 1845 | ||
| 1846 | * C-x ( with argument begins defining a kbd macro | 1846 | ** C-x ( with argument begins defining a kbd macro |
| 1847 | starting with the last one defined. It executes that | 1847 | starting with the last one defined. It executes that |
| 1848 | previous kbd macro initially, just as if you began | 1848 | previous kbd macro initially, just as if you began |
| 1849 | by typing it over again. | 1849 | by typing it over again. |
| 1850 | 1850 | ||
| 1851 | * C-x q command queries the user during kbd macro execution. | 1851 | ** C-x q command queries the user during kbd macro execution. |
| 1852 | With prefix argument, enters recursive edit, | 1852 | With prefix argument, enters recursive edit, |
| 1853 | reading keyboard commands even within a kbd macro. | 1853 | reading keyboard commands even within a kbd macro. |
| 1854 | You can give different commands each time the macro executes. | 1854 | You can give different commands each time the macro executes. |
| @@ -1859,7 +1859,7 @@ Changes in Emacs 1.9 | |||
| 1859 | C-r -- enter a recursive edit, then on exit ask again for a character | 1859 | C-r -- enter a recursive edit, then on exit ask again for a character |
| 1860 | C-l -- redisplay screen and ask again." | 1860 | C-l -- redisplay screen and ask again." |
| 1861 | 1861 | ||
| 1862 | * write-kbd-macro and append-kbd-macro are used to save | 1862 | ** write-kbd-macro and append-kbd-macro are used to save |
| 1863 | a kbd macro definition in a file (as Lisp code to | 1863 | a kbd macro definition in a file (as Lisp code to |
| 1864 | redefine the macro when the file is loaded). | 1864 | redefine the macro when the file is loaded). |
| 1865 | These commands differ in that write-kbd-macro | 1865 | These commands differ in that write-kbd-macro |
| @@ -1868,26 +1868,26 @@ Changes in Emacs 1.9 | |||
| 1868 | record the keys which invoke the macro as well as the | 1868 | record the keys which invoke the macro as well as the |
| 1869 | macro's definition. | 1869 | macro's definition. |
| 1870 | 1870 | ||
| 1871 | * The variable global-minor-modes is used to display | 1871 | ** The variable global-minor-modes is used to display |
| 1872 | strings in the mode line of all buffers. It should be | 1872 | strings in the mode line of all buffers. It should be |
| 1873 | a list of elements that are conses whose cdrs are strings | 1873 | a list of elements that are conses whose cdrs are strings |
| 1874 | to be displayed. This complements the variable | 1874 | to be displayed. This complements the variable |
| 1875 | minor-modes, which has the same effect but has a separate | 1875 | minor-modes, which has the same effect but has a separate |
| 1876 | value in each buffer. | 1876 | value in each buffer. |
| 1877 | 1877 | ||
| 1878 | * C-x = describes horizontal scrolling in effect, if any. | 1878 | ** C-x = describes horizontal scrolling in effect, if any. |
| 1879 | 1879 | ||
| 1880 | * Return now auto-fills the line it is ending, in auto fill mode. | 1880 | ** Return now auto-fills the line it is ending, in auto fill mode. |
| 1881 | Space with zero as argument auto-fills the line before it | 1881 | Space with zero as argument auto-fills the line before it |
| 1882 | just like Space without an argument. | 1882 | just like Space without an argument. |
| 1883 | 1883 | ||
| 1884 | 1884 | ||
| 1885 | 1885 | ||
| 1886 | Changes in Emacs 1.8 | 1886 | * Changes in Emacs 1.8 |
| 1887 | 1887 | ||
| 1888 | This release mostly fixes bugs. There are a few new features: | 1888 | This release mostly fixes bugs. There are a few new features: |
| 1889 | 1889 | ||
| 1890 | * apropos now sorts the symbols before displaying them. | 1890 | ** apropos now sorts the symbols before displaying them. |
| 1891 | Also, it returns a list of the symbols found. | 1891 | Also, it returns a list of the symbols found. |
| 1892 | 1892 | ||
| 1893 | apropos now accepts a second arg PRED which should be a function | 1893 | apropos now accepts a second arg PRED which should be a function |
| @@ -1901,26 +1901,26 @@ This release mostly fixes bugs. There are a few new features: | |||
| 1901 | C-h a now runs the new function command-apropos rather than | 1901 | C-h a now runs the new function command-apropos rather than |
| 1902 | apropos, and shows only symbols with definitions as commands. | 1902 | apropos, and shows only symbols with definitions as commands. |
| 1903 | 1903 | ||
| 1904 | * M-x shell sends the command | 1904 | ** M-x shell sends the command |
| 1905 | if (-f ~/.emacs_NAME)source ~/.emacs_NAME | 1905 | if (-f ~/.emacs_NAME)source ~/.emacs_NAME |
| 1906 | invisibly to the shell when it starts. Here NAME | 1906 | invisibly to the shell when it starts. Here NAME |
| 1907 | is replaced by the name of shell used, | 1907 | is replaced by the name of shell used, |
| 1908 | as it came from your ESHELL or SHELL environment variable | 1908 | as it came from your ESHELL or SHELL environment variable |
| 1909 | but with directory name, if any, removed. | 1909 | but with directory name, if any, removed. |
| 1910 | 1910 | ||
| 1911 | * M-, now runs the command tags-loop-continue, which is used | 1911 | ** M-, now runs the command tags-loop-continue, which is used |
| 1912 | to resume a terminated tags-search or tags-query-replace. | 1912 | to resume a terminated tags-search or tags-query-replace. |
| 1913 | 1913 | ||
| 1914 | 1914 | ||
| 1915 | 1915 | ||
| 1916 | Changes in Emacs 1.7 | 1916 | * Changes in Emacs 1.7 |
| 1917 | 1917 | ||
| 1918 | It's Beat CCA Week. | 1918 | It's Beat CCA Week. |
| 1919 | 1919 | ||
| 1920 | * The initial buffer is now called "*scratch*" instead of "scratch", | 1920 | ** The initial buffer is now called "*scratch*" instead of "scratch", |
| 1921 | so that all buffer names used automatically by Emacs now have *'s. | 1921 | so that all buffer names used automatically by Emacs now have *'s. |
| 1922 | 1922 | ||
| 1923 | * Undo information is now stored separately for each buffer. | 1923 | ** Undo information is now stored separately for each buffer. |
| 1924 | The Undo command (C-x u) always applies to the current | 1924 | The Undo command (C-x u) always applies to the current |
| 1925 | buffer only. | 1925 | buffer only. |
| 1926 | 1926 | ||
| @@ -1932,7 +1932,7 @@ It's Beat CCA Week. | |||
| 1932 | kept for buffers whose names start with spaces. (These | 1932 | kept for buffers whose names start with spaces. (These |
| 1933 | buffers also do not appear in the C-x C-b display.) | 1933 | buffers also do not appear in the C-x C-b display.) |
| 1934 | 1934 | ||
| 1935 | * Rectangle operations are now implemented. | 1935 | ** Rectangle operations are now implemented. |
| 1936 | C-x r stores the rectangle described by dot and mark | 1936 | C-x r stores the rectangle described by dot and mark |
| 1937 | into a register; it reads the register name from the keyboard. | 1937 | into a register; it reads the register name from the keyboard. |
| 1938 | C-x g, the command to insert the contents of a register, | 1938 | C-x g, the command to insert the contents of a register, |
| @@ -1950,7 +1950,7 @@ It's Beat CCA Week. | |||
| 1950 | delete the text of the specified rectangle, | 1950 | delete the text of the specified rectangle, |
| 1951 | moving the text beyond it on each line leftward. | 1951 | moving the text beyond it on each line leftward. |
| 1952 | 1952 | ||
| 1953 | * Side-by-side windows are allowed. Use C-x 5 to split the | 1953 | ** Side-by-side windows are allowed. Use C-x 5 to split the |
| 1954 | current window into two windows side by side. | 1954 | current window into two windows side by side. |
| 1955 | C-x } makes the selected window ARG columns wider at the | 1955 | C-x } makes the selected window ARG columns wider at the |
| 1956 | expense of the windows at its sides. C-x { makes the selected | 1956 | expense of the windows at its sides. C-x { makes the selected |
| @@ -1960,7 +1960,7 @@ It's Beat CCA Week. | |||
| 1960 | C-x 2 now accepts a numeric argument to specify the number of | 1960 | C-x 2 now accepts a numeric argument to specify the number of |
| 1961 | lines to give to the uppermost of the two windows it makes. | 1961 | lines to give to the uppermost of the two windows it makes. |
| 1962 | 1962 | ||
| 1963 | * Horizontal scrolling of the lines in a window is now implemented. | 1963 | ** Horizontal scrolling of the lines in a window is now implemented. |
| 1964 | C-x < (scroll-left) scrolls all displayed lines left, | 1964 | C-x < (scroll-left) scrolls all displayed lines left, |
| 1965 | with the numeric argument (default 1) saying how far to scroll. | 1965 | with the numeric argument (default 1) saying how far to scroll. |
| 1966 | When the window is scrolled left, some amount of the beginning | 1966 | When the window is scrolled left, some amount of the beginning |
| @@ -1972,17 +1972,17 @@ It's Beat CCA Week. | |||
| 1972 | regardless of the value of the variable truncate-lines in the | 1972 | regardless of the value of the variable truncate-lines in the |
| 1973 | buffer being displayed. | 1973 | buffer being displayed. |
| 1974 | 1974 | ||
| 1975 | * C-x C-d now uses the default output format of `ls', | 1975 | ** C-x C-d now uses the default output format of `ls', |
| 1976 | which gives just file names in multiple columns. | 1976 | which gives just file names in multiple columns. |
| 1977 | C-u C-x C-d passes the -l switch to `ls'. | 1977 | C-u C-x C-d passes the -l switch to `ls'. |
| 1978 | 1978 | ||
| 1979 | * C-t at the end of a line now exchanges the two preceding characters. | 1979 | ** C-t at the end of a line now exchanges the two preceding characters. |
| 1980 | 1980 | ||
| 1981 | All the transpose commands now interpret zero as an argument | 1981 | All the transpose commands now interpret zero as an argument |
| 1982 | to mean to transpose the textual unit after or around dot | 1982 | to mean to transpose the textual unit after or around dot |
| 1983 | with the one after or around the mark. | 1983 | with the one after or around the mark. |
| 1984 | 1984 | ||
| 1985 | * M-! executes a shell command in an inferior shell | 1985 | ** M-! executes a shell command in an inferior shell |
| 1986 | and displays the output from it. With a prefix argument, | 1986 | and displays the output from it. With a prefix argument, |
| 1987 | it inserts the output in the current buffer after dot | 1987 | it inserts the output in the current buffer after dot |
| 1988 | and sets the mark after the output. The shell command | 1988 | and sets the mark after the output. The shell command |
| @@ -1992,10 +1992,10 @@ It's Beat CCA Week. | |||
| 1992 | as input to the shell command. A prefix argument makes | 1992 | as input to the shell command. A prefix argument makes |
| 1993 | the output from the command replace the contents of the region. | 1993 | the output from the command replace the contents of the region. |
| 1994 | 1994 | ||
| 1995 | * The mode line will now say "Def" after the major mode | 1995 | ** The mode line will now say "Def" after the major mode |
| 1996 | while a keyboard macro is being defined. | 1996 | while a keyboard macro is being defined. |
| 1997 | 1997 | ||
| 1998 | * The variable fill-prefix is now used by Meta-q. | 1998 | ** The variable fill-prefix is now used by Meta-q. |
| 1999 | Meta-q removes the fill prefix from lines that start with it | 1999 | Meta-q removes the fill prefix from lines that start with it |
| 2000 | before filling, and inserts the fill prefix on each line | 2000 | before filling, and inserts the fill prefix on each line |
| 2001 | after filling. | 2001 | after filling. |
| @@ -2003,35 +2003,35 @@ It's Beat CCA Week. | |||
| 2003 | The command C-x . sets the fill prefix equal to the text | 2003 | The command C-x . sets the fill prefix equal to the text |
| 2004 | on the current line before dot. | 2004 | on the current line before dot. |
| 2005 | 2005 | ||
| 2006 | * The new command Meta-j (indent-new-comment-line), | 2006 | ** The new command Meta-j (indent-new-comment-line), |
| 2007 | is like Linefeed (indent-new-line) except when dot is inside a comment; | 2007 | is like Linefeed (indent-new-line) except when dot is inside a comment; |
| 2008 | in that case, Meta-j inserts a comment starter on the new line, | 2008 | in that case, Meta-j inserts a comment starter on the new line, |
| 2009 | indented under the comment starter above. It also inserts | 2009 | indented under the comment starter above. It also inserts |
| 2010 | a comment terminator at the end of the line above, | 2010 | a comment terminator at the end of the line above, |
| 2011 | if the language being edited calls for one. | 2011 | if the language being edited calls for one. |
| 2012 | 2012 | ||
| 2013 | * Rmail should work correctly now, and has some C-h m documentation. | 2013 | ** Rmail should work correctly now, and has some C-h m documentation. |
| 2014 | 2014 | ||
| 2015 | 2015 | ||
| 2016 | 2016 | ||
| 2017 | Changes in Emacs 1.6 | 2017 | * Changes in Emacs 1.6 |
| 2018 | 2018 | ||
| 2019 | * save-buffers-kill-emacs is now on C-x C-c | 2019 | ** save-buffers-kill-emacs is now on C-x C-c |
| 2020 | while C-x C-z does suspend-emacs. This is to make | 2020 | while C-x C-z does suspend-emacs. This is to make |
| 2021 | C-x C-c like the normal Unix meaning of C-c | 2021 | C-x C-c like the normal Unix meaning of C-c |
| 2022 | and C-x C-z like the normal Unix meaning of C-z. | 2022 | and C-x C-z like the normal Unix meaning of C-z. |
| 2023 | 2023 | ||
| 2024 | * M-ESC (eval-expression) is now a disabled command by default. | 2024 | ** M-ESC (eval-expression) is now a disabled command by default. |
| 2025 | This prevents users who type ESC ESC accidentally from | 2025 | This prevents users who type ESC ESC accidentally from |
| 2026 | getting confusing results. Put | 2026 | getting confusing results. Put |
| 2027 | (put 'eval-expression 'disabled nil) | 2027 | (put 'eval-expression 'disabled nil) |
| 2028 | in your ~/.emacs file to enable the command. | 2028 | in your ~/.emacs file to enable the command. |
| 2029 | 2029 | ||
| 2030 | * Self-inserting text is grouped into bunches for undoing. | 2030 | ** Self-inserting text is grouped into bunches for undoing. |
| 2031 | Each C-x u command undoes up to 20 consecutive self-inserting | 2031 | Each C-x u command undoes up to 20 consecutive self-inserting |
| 2032 | characters. | 2032 | characters. |
| 2033 | 2033 | ||
| 2034 | * Help f now uses as a default the function being called | 2034 | ** Help f now uses as a default the function being called |
| 2035 | in the innermost Lisp expression that dot is in. | 2035 | in the innermost Lisp expression that dot is in. |
| 2036 | This makes it more convenient to use while writing | 2036 | This makes it more convenient to use while writing |
| 2037 | Lisp code to run in Emacs. | 2037 | Lisp code to run in Emacs. |
| @@ -2041,7 +2041,7 @@ Changes in Emacs 1.6 | |||
| 2041 | Likewise, Help v uses the symbol around or before dot | 2041 | Likewise, Help v uses the symbol around or before dot |
| 2042 | as a default, if that is a variable name. | 2042 | as a default, if that is a variable name. |
| 2043 | 2043 | ||
| 2044 | * Commands that read filenames now insert the default | 2044 | ** Commands that read filenames now insert the default |
| 2045 | directory in the minibuffer, to become part of your input. | 2045 | directory in the minibuffer, to become part of your input. |
| 2046 | This allows you to see what the default is. | 2046 | This allows you to see what the default is. |
| 2047 | You may type a filename which goes at the end of the | 2047 | You may type a filename which goes at the end of the |
| @@ -2060,13 +2060,13 @@ Changes in Emacs 1.6 | |||
| 2060 | Set the variable insert-default-directory to nil | 2060 | Set the variable insert-default-directory to nil |
| 2061 | to turn off this feature. | 2061 | to turn off this feature. |
| 2062 | 2062 | ||
| 2063 | * M-x shell now uses the environment variable ESHELL, | 2063 | ** M-x shell now uses the environment variable ESHELL, |
| 2064 | if it exists, as the file name of the shell to run. | 2064 | if it exists, as the file name of the shell to run. |
| 2065 | If there is no ESHELL variable, the SHELL variable is used. | 2065 | If there is no ESHELL variable, the SHELL variable is used. |
| 2066 | This is because some shells do not work properly as inferiors | 2066 | This is because some shells do not work properly as inferiors |
| 2067 | of Emacs (or anything like Emacs). | 2067 | of Emacs (or anything like Emacs). |
| 2068 | 2068 | ||
| 2069 | * A new variable minor-modes now exists, with a separate value | 2069 | ** A new variable minor-modes now exists, with a separate value |
| 2070 | in each buffer. Its value should be an alist of elements | 2070 | in each buffer. Its value should be an alist of elements |
| 2071 | (MODE-FUNCTION-SYMBOL . PRETTY-NAME-STRING), one for each | 2071 | (MODE-FUNCTION-SYMBOL . PRETTY-NAME-STRING), one for each |
| 2072 | minor mode that is turned on in the buffer. The pretty | 2072 | minor mode that is turned on in the buffer. The pretty |
| @@ -2076,7 +2076,7 @@ Changes in Emacs 1.6 | |||
| 2076 | turn on the minor mode if given 1 as an argument; they are present | 2076 | turn on the minor mode if given 1 as an argument; they are present |
| 2077 | so that Help m can find their documentation strings. | 2077 | so that Help m can find their documentation strings. |
| 2078 | 2078 | ||
| 2079 | * The format of tag table files has been changed. | 2079 | ** The format of tag table files has been changed. |
| 2080 | The new format enables Emacs to find tags much faster. | 2080 | The new format enables Emacs to find tags much faster. |
| 2081 | 2081 | ||
| 2082 | A new program, etags, exists to make the kind of | 2082 | A new program, etags, exists to make the kind of |
| @@ -2092,13 +2092,13 @@ Changes in Emacs 1.6 | |||
| 2092 | The tags library can no longer use standard ctags-style | 2092 | The tags library can no longer use standard ctags-style |
| 2093 | tag tables files. | 2093 | tag tables files. |
| 2094 | 2094 | ||
| 2095 | * The file of Lisp code Emacs reads on startup is now | 2095 | ** The file of Lisp code Emacs reads on startup is now |
| 2096 | called ~/.emacs rather than ~/.emacs_pro. | 2096 | called ~/.emacs rather than ~/.emacs_pro. |
| 2097 | 2097 | ||
| 2098 | * copy-file now gives the copied file the same mode bits | 2098 | ** copy-file now gives the copied file the same mode bits |
| 2099 | as the original file. | 2099 | as the original file. |
| 2100 | 2100 | ||
| 2101 | * Output from a process inserted into the process's buffer | 2101 | ** Output from a process inserted into the process's buffer |
| 2102 | no longer sets the buffer's mark. Instead it sets a | 2102 | no longer sets the buffer's mark. Instead it sets a |
| 2103 | marker associated with the process to point to the end | 2103 | marker associated with the process to point to the end |
| 2104 | of the inserted text. You can access this marker with | 2104 | of the inserted text. You can access this marker with |
| @@ -2106,27 +2106,27 @@ Changes in Emacs 1.6 | |||
| 2106 | and then either examine its position with marker-position | 2106 | and then either examine its position with marker-position |
| 2107 | or set its position with set-marker. | 2107 | or set its position with set-marker. |
| 2108 | 2108 | ||
| 2109 | * completing-read takes a new optional fifth argument which, | 2109 | ** completing-read takes a new optional fifth argument which, |
| 2110 | if non-nil, should be a string of text to insert into | 2110 | if non-nil, should be a string of text to insert into |
| 2111 | the minibuffer before reading user commands. | 2111 | the minibuffer before reading user commands. |
| 2112 | 2112 | ||
| 2113 | * The Lisp function elt now exists: | 2113 | ** The Lisp function elt now exists: |
| 2114 | (elt ARRAY N) is like (aref ARRAY N), | 2114 | (elt ARRAY N) is like (aref ARRAY N), |
| 2115 | (elt LIST N) is like (nth N LIST). | 2115 | (elt LIST N) is like (nth N LIST). |
| 2116 | 2116 | ||
| 2117 | * rplaca is now a synonym for setcar, and rplacd for setcdr. | 2117 | ** rplaca is now a synonym for setcar, and rplacd for setcdr. |
| 2118 | eql is now a synonym for eq; it turns out that the Common Lisp | 2118 | eql is now a synonym for eq; it turns out that the Common Lisp |
| 2119 | distinction between eq and eql is insignificant in Emacs. | 2119 | distinction between eq and eql is insignificant in Emacs. |
| 2120 | numberp is a new synonym for integerp. | 2120 | numberp is a new synonym for integerp. |
| 2121 | 2121 | ||
| 2122 | * auto-save has been renamed to auto-save-mode. | 2122 | ** auto-save has been renamed to auto-save-mode. |
| 2123 | 2123 | ||
| 2124 | * Auto save file names for buffers are now created by the | 2124 | ** Auto save file names for buffers are now created by the |
| 2125 | function make-auto-save-file-name. This is so you can | 2125 | function make-auto-save-file-name. This is so you can |
| 2126 | redefine that function to change the way auto save file names | 2126 | redefine that function to change the way auto save file names |
| 2127 | are chosen. | 2127 | are chosen. |
| 2128 | 2128 | ||
| 2129 | * expand-file-name no longer discards a final slash. | 2129 | ** expand-file-name no longer discards a final slash. |
| 2130 | (expand-file-name "foo" "/lose") => "/lose/foo" | 2130 | (expand-file-name "foo" "/lose") => "/lose/foo" |
| 2131 | (expand-file-name "foo/" "/lose") => "/lose/foo/" | 2131 | (expand-file-name "foo/" "/lose") => "/lose/foo/" |
| 2132 | 2132 | ||
| @@ -2140,7 +2140,7 @@ Changes in Emacs 1.6 | |||
| 2140 | delete-file call expand-file-name on the file name supplied. | 2140 | delete-file call expand-file-name on the file name supplied. |
| 2141 | This change makes them considerably faster in the usual case. | 2141 | This change makes them considerably faster in the usual case. |
| 2142 | 2142 | ||
| 2143 | * Interactive calling spec strings allow the new code letter 'D' | 2143 | ** Interactive calling spec strings allow the new code letter 'D' |
| 2144 | which means to read a directory name. It is like 'f' except | 2144 | which means to read a directory name. It is like 'f' except |
| 2145 | that the default if the user makes no change in the minibuffer | 2145 | that the default if the user makes no change in the minibuffer |
| 2146 | is to return the current default directory rather than the | 2146 | is to return the current default directory rather than the |
| @@ -2148,9 +2148,9 @@ Changes in Emacs 1.6 | |||
| 2148 | 2148 | ||
| 2149 | 2149 | ||
| 2150 | 2150 | ||
| 2151 | Changes in Emacs 1.5 | 2151 | * Changes in Emacs 1.5 |
| 2152 | 2152 | ||
| 2153 | * suspend-emacs now accepts an optional argument | 2153 | ** suspend-emacs now accepts an optional argument |
| 2154 | which is a string to be stuffed as terminal input | 2154 | which is a string to be stuffed as terminal input |
| 2155 | to be read by Emacs's superior shell after Emacs exits. | 2155 | to be read by Emacs's superior shell after Emacs exits. |
| 2156 | 2156 | ||
| @@ -2158,28 +2158,28 @@ Changes in Emacs 1.5 | |||
| 2158 | to transmit text to a Lisp job running as a sibling of | 2158 | to transmit text to a Lisp job running as a sibling of |
| 2159 | Emacs. | 2159 | Emacs. |
| 2160 | 2160 | ||
| 2161 | * If find-file is given the name of a directory, | 2161 | ** If find-file is given the name of a directory, |
| 2162 | it automatically invokes dired on that directory | 2162 | it automatically invokes dired on that directory |
| 2163 | rather than reading in the binary data that make up | 2163 | rather than reading in the binary data that make up |
| 2164 | the actual contents of the directory according to Unix. | 2164 | the actual contents of the directory according to Unix. |
| 2165 | 2165 | ||
| 2166 | * Saving an Emacs buffer now preserves the file modes | 2166 | ** Saving an Emacs buffer now preserves the file modes |
| 2167 | of any previously existing file with the same name. | 2167 | of any previously existing file with the same name. |
| 2168 | This works using new Lisp functions file-modes and | 2168 | This works using new Lisp functions file-modes and |
| 2169 | set-file-modes, which can be used to read or set the mode | 2169 | set-file-modes, which can be used to read or set the mode |
| 2170 | bits of any file. | 2170 | bits of any file. |
| 2171 | 2171 | ||
| 2172 | * The Lisp function cond now exists, with its traditional meaning. | 2172 | ** The Lisp function cond now exists, with its traditional meaning. |
| 2173 | 2173 | ||
| 2174 | * defvar and defconst now permit the documentation string | 2174 | ** defvar and defconst now permit the documentation string |
| 2175 | to be omitted. defvar also permits the initial value | 2175 | to be omitted. defvar also permits the initial value |
| 2176 | to be omitted; then it acts only as a comment. | 2176 | to be omitted; then it acts only as a comment. |
| 2177 | 2177 | ||
| 2178 | 2178 | ||
| 2179 | 2179 | ||
| 2180 | Changes in Emacs 1.4 | 2180 | * Changes in Emacs 1.4 |
| 2181 | 2181 | ||
| 2182 | * Auto-filling now normally indents the new line it creates | 2182 | ** Auto-filling now normally indents the new line it creates |
| 2183 | by calling indent-according-to-mode. This function, meanwhile, | 2183 | by calling indent-according-to-mode. This function, meanwhile, |
| 2184 | has in Fundamental and Text modes the effect of making the line | 2184 | has in Fundamental and Text modes the effect of making the line |
| 2185 | have an indentation of the value of left-margin, a per-buffer variable. | 2185 | have an indentation of the value of left-margin, a per-buffer variable. |
| @@ -2188,7 +2188,7 @@ Changes in Emacs 1.4 | |||
| 2188 | it does that in all modes that supply their own indentation routine, | 2188 | it does that in all modes that supply their own indentation routine, |
| 2189 | but in Fundamental, Text and allied modes it inserts a tab character. | 2189 | but in Fundamental, Text and allied modes it inserts a tab character. |
| 2190 | 2190 | ||
| 2191 | * The command M-x grep now invokes grep (on arguments | 2191 | ** The command M-x grep now invokes grep (on arguments |
| 2192 | supplied by the user) and reads the output from grep | 2192 | supplied by the user) and reads the output from grep |
| 2193 | asynchronously into a buffer. The command C-x ` can | 2193 | asynchronously into a buffer. The command C-x ` can |
| 2194 | be used to move to the lines that grep has found. | 2194 | be used to move to the lines that grep has found. |
| @@ -2199,35 +2199,35 @@ Changes in Emacs 1.4 | |||
| 2199 | is proceeding; as more matches or error messages arrive, | 2199 | is proceeding; as more matches or error messages arrive, |
| 2200 | C-x ` will parse them and be able to find them. | 2200 | C-x ` will parse them and be able to find them. |
| 2201 | 2201 | ||
| 2202 | * M-x mail now provides a command to send the message | 2202 | ** M-x mail now provides a command to send the message |
| 2203 | and "exit"--that is, return to the previously selected | 2203 | and "exit"--that is, return to the previously selected |
| 2204 | buffer. It is C-z C-z. | 2204 | buffer. It is C-z C-z. |
| 2205 | 2205 | ||
| 2206 | * Tab in C mode now tries harder to adapt to all indentation styles. | 2206 | ** Tab in C mode now tries harder to adapt to all indentation styles. |
| 2207 | If the line being indented is a statement that is not the first | 2207 | If the line being indented is a statement that is not the first |
| 2208 | one in the containing compound-statement, it is aligned under | 2208 | one in the containing compound-statement, it is aligned under |
| 2209 | the beginning of the first statement. | 2209 | the beginning of the first statement. |
| 2210 | 2210 | ||
| 2211 | * The functions screen-width and screen-height return the | 2211 | ** The functions screen-width and screen-height return the |
| 2212 | total width and height of the screen as it is now being used. | 2212 | total width and height of the screen as it is now being used. |
| 2213 | set-screen-width and set-screen-height tell Emacs how big | 2213 | set-screen-width and set-screen-height tell Emacs how big |
| 2214 | to assume the screen is; they each take one argument, | 2214 | to assume the screen is; they each take one argument, |
| 2215 | an integer. | 2215 | an integer. |
| 2216 | 2216 | ||
| 2217 | * The Lisp function 'function' now exists. function is the | 2217 | ** The Lisp function 'function' now exists. function is the |
| 2218 | same as quote, except that it serves as a signal to the | 2218 | same as quote, except that it serves as a signal to the |
| 2219 | Lisp compiler that the argument should be compiled as | 2219 | Lisp compiler that the argument should be compiled as |
| 2220 | a function. Example: | 2220 | a function. Example: |
| 2221 | (mapcar (function (lambda (x) (+ x 5))) list) | 2221 | (mapcar (function (lambda (x) (+ x 5))) list) |
| 2222 | 2222 | ||
| 2223 | * The function set-key has been renamed to global-set-key. | 2223 | ** The function set-key has been renamed to global-set-key. |
| 2224 | undefine-key and local-undefine-key has been renamed to | 2224 | undefine-key and local-undefine-key has been renamed to |
| 2225 | global-unset-key and local-unset-key. | 2225 | global-unset-key and local-unset-key. |
| 2226 | 2226 | ||
| 2227 | * Emacs now collects input from asynchronous subprocesses | 2227 | ** Emacs now collects input from asynchronous subprocesses |
| 2228 | while waiting in the functions sleep-for and sit-for. | 2228 | while waiting in the functions sleep-for and sit-for. |
| 2229 | 2229 | ||
| 2230 | * Shell mode's Newline command attempts to distinguish subshell | 2230 | ** Shell mode's Newline command attempts to distinguish subshell |
| 2231 | prompts from user input when issued in the middle of the buffer. | 2231 | prompts from user input when issued in the middle of the buffer. |
| 2232 | It no longer reexecutes from dot to the end of the line; | 2232 | It no longer reexecutes from dot to the end of the line; |
| 2233 | it reeexecutes the entire line minus any prompt. | 2233 | it reeexecutes the entire line minus any prompt. |
| @@ -2237,9 +2237,9 @@ Changes in Emacs 1.4 | |||
| 2237 | 2237 | ||
| 2238 | 2238 | ||
| 2239 | 2239 | ||
| 2240 | Changes in Emacs 1.3 | 2240 | * Changes in Emacs 1.3 |
| 2241 | 2241 | ||
| 2242 | * An undo facility exists now. Type C-x u to undo a batch of | 2242 | ** An undo facility exists now. Type C-x u to undo a batch of |
| 2243 | changes (usually one command's changes, but some commands | 2243 | changes (usually one command's changes, but some commands |
| 2244 | such as query-replace divide their changes into multiple | 2244 | such as query-replace divide their changes into multiple |
| 2245 | batches. You can repeat C-x u to undo further. As long | 2245 | batches. You can repeat C-x u to undo further. As long |
| @@ -2256,45 +2256,45 @@ Changes in Emacs 1.3 | |||
| 2256 | for each buffer, so it is mainly good if you do something | 2256 | for each buffer, so it is mainly good if you do something |
| 2257 | totally spastic. [This has since been fixed.] | 2257 | totally spastic. [This has since been fixed.] |
| 2258 | 2258 | ||
| 2259 | * A learn-by-doing tutorial introduction to Emacs now exists. | 2259 | ** A learn-by-doing tutorial introduction to Emacs now exists. |
| 2260 | Type C-h t to enter it. | 2260 | Type C-h t to enter it. |
| 2261 | 2261 | ||
| 2262 | * An Info documentation browser exists. Do M-x info to enter it. | 2262 | ** An Info documentation browser exists. Do M-x info to enter it. |
| 2263 | It contains a tutorial introduction so that no more documentation | 2263 | It contains a tutorial introduction so that no more documentation |
| 2264 | is needed here. As of now, the only documentation in it | 2264 | is needed here. As of now, the only documentation in it |
| 2265 | is that of Info itself. | 2265 | is that of Info itself. |
| 2266 | 2266 | ||
| 2267 | * Help k and Help c are now different. Help c prints just the | 2267 | ** Help k and Help c are now different. Help c prints just the |
| 2268 | name of the function which the specified key invokes. Help k | 2268 | name of the function which the specified key invokes. Help k |
| 2269 | prints the documentation of the function as well. | 2269 | prints the documentation of the function as well. |
| 2270 | 2270 | ||
| 2271 | * A document of the differences between GNU Emacs and Twenex Emacs | 2271 | ** A document of the differences between GNU Emacs and Twenex Emacs |
| 2272 | now exists. It is called DIFF, in the same directory as this file. | 2272 | now exists. It is called DIFF, in the same directory as this file. |
| 2273 | 2273 | ||
| 2274 | * C mode can now indent comments better, including multi-line ones. | 2274 | ** C mode can now indent comments better, including multi-line ones. |
| 2275 | Meta-Control-q now reindents comment lines within the expression | 2275 | Meta-Control-q now reindents comment lines within the expression |
| 2276 | being aligned. | 2276 | being aligned. |
| 2277 | 2277 | ||
| 2278 | * Insertion of a close-parenthesis now shows the matching open-parenthesis | 2278 | ** Insertion of a close-parenthesis now shows the matching open-parenthesis |
| 2279 | even if it is off screen, by printing the text following it on its line | 2279 | even if it is off screen, by printing the text following it on its line |
| 2280 | in the minibuffer. | 2280 | in the minibuffer. |
| 2281 | 2281 | ||
| 2282 | * A file can now contain a list of local variable values | 2282 | ** A file can now contain a list of local variable values |
| 2283 | to be in effect when the file is edited. See the file DIFF | 2283 | to be in effect when the file is edited. See the file DIFF |
| 2284 | in the same directory as this file for full details. | 2284 | in the same directory as this file for full details. |
| 2285 | 2285 | ||
| 2286 | * A function nth is defined. It means the same thing as in Common Lisp. | 2286 | ** A function nth is defined. It means the same thing as in Common Lisp. |
| 2287 | 2287 | ||
| 2288 | * The function install-command has been renamed to set-key. | 2288 | ** The function install-command has been renamed to set-key. |
| 2289 | It now takes the key sequence as the first argument | 2289 | It now takes the key sequence as the first argument |
| 2290 | and the definition for it as the second argument. | 2290 | and the definition for it as the second argument. |
| 2291 | Likewise, local-install-command has been renamed to local-set-key. | 2291 | Likewise, local-install-command has been renamed to local-set-key. |
| 2292 | 2292 | ||
| 2293 | 2293 | ||
| 2294 | 2294 | ||
| 2295 | Changes in Emacs 1.2 | 2295 | * Changes in Emacs 1.2 |
| 2296 | 2296 | ||
| 2297 | * A Lisp single-stepping and debugging facility exists. | 2297 | ** A Lisp single-stepping and debugging facility exists. |
| 2298 | To cause the debugger to be entered when an error | 2298 | To cause the debugger to be entered when an error |
| 2299 | occurs, set the variable debug-on-error non-nil. | 2299 | occurs, set the variable debug-on-error non-nil. |
| 2300 | 2300 | ||
| @@ -2337,7 +2337,7 @@ Changes in Emacs 1.2 | |||
| 2337 | You can mark a frame to enter the debugger on exit | 2337 | You can mark a frame to enter the debugger on exit |
| 2338 | with the `b' command, or clear such a mark with `u'. | 2338 | with the `b' command, or clear such a mark with `u'. |
| 2339 | 2339 | ||
| 2340 | * Lisp macros now exist. | 2340 | ** Lisp macros now exist. |
| 2341 | For example, you can write | 2341 | For example, you can write |
| 2342 | (defmacro cadr (arg) (list 'car (list 'cdr arg))) | 2342 | (defmacro cadr (arg) (list 'car (list 'cdr arg))) |
| 2343 | and then the expression | 2343 | and then the expression |
| @@ -2347,9 +2347,9 @@ Changes in Emacs 1.2 | |||
| 2347 | 2347 | ||
| 2348 | 2348 | ||
| 2349 | 2349 | ||
| 2350 | Changes in Emacs 1.1 | 2350 | * Changes in Emacs 1.1 |
| 2351 | 2351 | ||
| 2352 | * The initial buffer is now called "scratch" and is in a | 2352 | ** The initial buffer is now called "scratch" and is in a |
| 2353 | new major mode, Lisp Interaction mode. This mode is | 2353 | new major mode, Lisp Interaction mode. This mode is |
| 2354 | intended for typing Lisp expressions, evaluating them, | 2354 | intended for typing Lisp expressions, evaluating them, |
| 2355 | and having the values printed into the buffer. | 2355 | and having the values printed into the buffer. |
| @@ -2360,31 +2360,31 @@ Changes in Emacs 1.1 | |||
| 2360 | 2360 | ||
| 2361 | The other commands of Lisp mode are available. | 2361 | The other commands of Lisp mode are available. |
| 2362 | 2362 | ||
| 2363 | * The C-x C-e command for evaluating the Lisp expression | 2363 | ** The C-x C-e command for evaluating the Lisp expression |
| 2364 | before dot has been changed to print the value in the | 2364 | before dot has been changed to print the value in the |
| 2365 | minibuffer line rather than insert it in the buffer. | 2365 | minibuffer line rather than insert it in the buffer. |
| 2366 | A numeric argument causes the printed value to appear | 2366 | A numeric argument causes the printed value to appear |
| 2367 | in the buffer instead. | 2367 | in the buffer instead. |
| 2368 | 2368 | ||
| 2369 | * In Lisp mode, the command M-C-x evaluates the defun | 2369 | ** In Lisp mode, the command M-C-x evaluates the defun |
| 2370 | containing or following dot. The value is printed in | 2370 | containing or following dot. The value is printed in |
| 2371 | the minibuffer. | 2371 | the minibuffer. |
| 2372 | 2372 | ||
| 2373 | * The value of a Lisp expression evaluated using M-ESC | 2373 | ** The value of a Lisp expression evaluated using M-ESC |
| 2374 | is now printed in the minibuffer. | 2374 | is now printed in the minibuffer. |
| 2375 | 2375 | ||
| 2376 | * M-q now runs fill-paragraph, independent of major mode. | 2376 | ** M-q now runs fill-paragraph, independent of major mode. |
| 2377 | 2377 | ||
| 2378 | * C-h m now prints documentation on the current buffer's | 2378 | ** C-h m now prints documentation on the current buffer's |
| 2379 | major mode. What it prints is the documentation of the | 2379 | major mode. What it prints is the documentation of the |
| 2380 | major mode name as a function. All major modes have been | 2380 | major mode name as a function. All major modes have been |
| 2381 | equipped with documentation that describes all commands | 2381 | equipped with documentation that describes all commands |
| 2382 | peculiar to the major mode, for this purpose. | 2382 | peculiar to the major mode, for this purpose. |
| 2383 | 2383 | ||
| 2384 | * You can display a Unix manual entry with | 2384 | ** You can display a Unix manual entry with |
| 2385 | the M-x manual-entry command. | 2385 | the M-x manual-entry command. |
| 2386 | 2386 | ||
| 2387 | * You can run a shell, displaying its output in a buffer, | 2387 | ** You can run a shell, displaying its output in a buffer, |
| 2388 | with the M-x shell command. The Return key sends input | 2388 | with the M-x shell command. The Return key sends input |
| 2389 | to the subshell. Output is printed inserted automatically | 2389 | to the subshell. Output is printed inserted automatically |
| 2390 | in the buffer. Commands C-c, C-d, C-u, C-w and C-z are redefined | 2390 | in the buffer. Commands C-c, C-d, C-u, C-w and C-z are redefined |
| @@ -2393,7 +2393,7 @@ Changes in Emacs 1.1 | |||
| 2393 | enter them, so that the default directory of the Emacs buffer | 2393 | enter them, so that the default directory of the Emacs buffer |
| 2394 | always remains the same as that of the subshell. | 2394 | always remains the same as that of the subshell. |
| 2395 | 2395 | ||
| 2396 | * C-x $ (that's a real dollar sign) controls line-hiding based | 2396 | ** C-x $ (that's a real dollar sign) controls line-hiding based |
| 2397 | on indentation. With a numeric arg N > 0, it causes all lines | 2397 | on indentation. With a numeric arg N > 0, it causes all lines |
| 2398 | indented by N or more columns to become invisible. | 2398 | indented by N or more columns to become invisible. |
| 2399 | They are, effectively, tacked onto the preceding line, where | 2399 | They are, effectively, tacked onto the preceding line, where |
| @@ -2408,7 +2408,7 @@ Changes in Emacs 1.1 | |||
| 2408 | C-x $ with no argument turns off this mode, which in any case | 2408 | C-x $ with no argument turns off this mode, which in any case |
| 2409 | is remembered separately for each buffer. | 2409 | is remembered separately for each buffer. |
| 2410 | 2410 | ||
| 2411 | * Outline mode is another form of selective display. | 2411 | ** Outline mode is another form of selective display. |
| 2412 | It is a major mode invoked with M-x outline-mode. | 2412 | It is a major mode invoked with M-x outline-mode. |
| 2413 | It is intended for editing files that are structured as | 2413 | It is intended for editing files that are structured as |
| 2414 | outlines, with heading lines (lines that begin with one | 2414 | outlines, with heading lines (lines that begin with one |
| @@ -2429,12 +2429,12 @@ Changes in Emacs 1.1 | |||
| 2429 | All editing commands treat hidden outline-mode lines | 2429 | All editing commands treat hidden outline-mode lines |
| 2430 | as part of the preceding visible line. | 2430 | as part of the preceding visible line. |
| 2431 | 2431 | ||
| 2432 | * C-x C-z runs save-buffers-kill-emacs | 2432 | ** C-x C-z runs save-buffers-kill-emacs |
| 2433 | offers to save each file buffer, then exits. | 2433 | offers to save each file buffer, then exits. |
| 2434 | 2434 | ||
| 2435 | * C-c's function is now called suspend-emacs. | 2435 | ** C-c's function is now called suspend-emacs. |
| 2436 | 2436 | ||
| 2437 | * The command C-x m runs mail, which switches to a buffer *mail* | 2437 | ** The command C-x m runs mail, which switches to a buffer *mail* |
| 2438 | and lets you compose a message to send. C-x 4 m runs mail in | 2438 | and lets you compose a message to send. C-x 4 m runs mail in |
| 2439 | another window. Type C-z C-s in the mail buffer to send the | 2439 | another window. Type C-z C-s in the mail buffer to send the |
| 2440 | message according to what you have entered in the buffer. | 2440 | message according to what you have entered in the buffer. |
| @@ -2442,7 +2442,7 @@ Changes in Emacs 1.1 | |||
| 2442 | You must separate the headers from the message text with | 2442 | You must separate the headers from the message text with |
| 2443 | an empty line. | 2443 | an empty line. |
| 2444 | 2444 | ||
| 2445 | * You can now dired partial directories (specified with names | 2445 | ** You can now dired partial directories (specified with names |
| 2446 | containing *'s, etc, all processed by the shell). Also, you | 2446 | containing *'s, etc, all processed by the shell). Also, you |
| 2447 | can dired more than one directory; dired names the buffer | 2447 | can dired more than one directory; dired names the buffer |
| 2448 | according to the filespec or directory name. Reinvoking | 2448 | according to the filespec or directory name. Reinvoking |
| @@ -2455,9 +2455,9 @@ Changes in Emacs 1.1 | |||
| 2455 | C-x C-d (list-directory) also allows partial directories now. | 2455 | C-x C-d (list-directory) also allows partial directories now. |
| 2456 | 2456 | ||
| 2457 | 2457 | ||
| 2458 | Lisp programming changes | 2458 | ** Lisp programming changes |
| 2459 | 2459 | ||
| 2460 | * t as an output stream now means "print to the minibuffer". | 2460 | *** t as an output stream now means "print to the minibuffer". |
| 2461 | If there is already text in the minibuffer printed via t | 2461 | If there is already text in the minibuffer printed via t |
| 2462 | as an output stream, the new text is appended to the old | 2462 | as an output stream, the new text is appended to the old |
| 2463 | (or is truncated and lost at the margin). If the minibuffer | 2463 | (or is truncated and lost at the margin). If the minibuffer |
| @@ -2472,17 +2472,17 @@ Lisp programming changes | |||
| 2472 | is ignored; each `read' from t reads fresh input. | 2472 | is ignored; each `read' from t reads fresh input. |
| 2473 | t is now the top-level value of standard-input. | 2473 | t is now the top-level value of standard-input. |
| 2474 | 2474 | ||
| 2475 | * A marker may be used as an input stream or an output stream. | 2475 | *** A marker may be used as an input stream or an output stream. |
| 2476 | The effect is to grab input from where the marker points, | 2476 | The effect is to grab input from where the marker points, |
| 2477 | advancing it over the characters read, or to insert output | 2477 | advancing it over the characters read, or to insert output |
| 2478 | at the marker and advance it. | 2478 | at the marker and advance it. |
| 2479 | 2479 | ||
| 2480 | * Output from an asynchronous subprocess is now inserted at | 2480 | *** Output from an asynchronous subprocess is now inserted at |
| 2481 | the end of the associated buffer, not at the buffer's dot, | 2481 | the end of the associated buffer, not at the buffer's dot, |
| 2482 | and the buffer's mark is set to the end of the inserted output | 2482 | and the buffer's mark is set to the end of the inserted output |
| 2483 | each time output is inserted. | 2483 | each time output is inserted. |
| 2484 | 2484 | ||
| 2485 | * (pos-visible-in-window-p POS WINDOW) | 2485 | *** (pos-visible-in-window-p POS WINDOW) |
| 2486 | returns t if position POS in WINDOW's buffer is in the range | 2486 | returns t if position POS in WINDOW's buffer is in the range |
| 2487 | that is being displayed in WINDOW; nil if it is scrolled | 2487 | that is being displayed in WINDOW; nil if it is scrolled |
| 2488 | vertically out of visibility. | 2488 | vertically out of visibility. |
| @@ -2493,18 +2493,18 @@ Lisp programming changes | |||
| 2493 | 2493 | ||
| 2494 | POS defaults to (dot), and WINDOW to (selected-window). | 2494 | POS defaults to (dot), and WINDOW to (selected-window). |
| 2495 | 2495 | ||
| 2496 | * Variable buffer-alist replaced by function (buffer-list). | 2496 | *** Variable buffer-alist replaced by function (buffer-list). |
| 2497 | The actual alist of buffers used internally by Emacs is now | 2497 | The actual alist of buffers used internally by Emacs is now |
| 2498 | no longer accessible, to prevent the user from crashing Emacs | 2498 | no longer accessible, to prevent the user from crashing Emacs |
| 2499 | by modifying it. The function buffer-list returns a list | 2499 | by modifying it. The function buffer-list returns a list |
| 2500 | of all existing buffers. Modifying this list cannot hurt anything | 2500 | of all existing buffers. Modifying this list cannot hurt anything |
| 2501 | as a new list is constructed by each call to buffer-list. | 2501 | as a new list is constructed by each call to buffer-list. |
| 2502 | 2502 | ||
| 2503 | * load now takes an optional third argument NOMSG which, if non-nil, | 2503 | *** load now takes an optional third argument NOMSG which, if non-nil, |
| 2504 | prevents load from printing a message when it starts and when | 2504 | prevents load from printing a message when it starts and when |
| 2505 | it is done. | 2505 | it is done. |
| 2506 | 2506 | ||
| 2507 | * byte-recompile-directory is a new function which finds all | 2507 | *** byte-recompile-directory is a new function which finds all |
| 2508 | the .elc files in a directory, and regenerates each one which | 2508 | the .elc files in a directory, and regenerates each one which |
| 2509 | is older than the corresponding .el (Lisp source) file. | 2509 | is older than the corresponding .el (Lisp source) file. |
| 2510 | 2510 | ||
| @@ -2528,5 +2528,6 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | |||
| 2528 | 2528 | ||
| 2529 | 2529 | ||
| 2530 | Local variables: | 2530 | Local variables: |
| 2531 | mode: outline | ||
| 2531 | mode: text | 2532 | mode: text |
| 2532 | end: | 2533 | end: |