diff options
| author | Stefan Monnier | 2018-09-28 15:54:15 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2018-09-28 15:54:15 -0400 |
| commit | 804f9e74de17cc68355d32bfb66710fd5b6b47b7 (patch) | |
| tree | c4af3b3d547077b636dbc495171d452193add2ff | |
| parent | ac7421423cd977e96a8f06d12dc6abdbfcaabf5d (diff) | |
| download | emacs-804f9e74de17cc68355d32bfb66710fd5b6b47b7.tar.gz emacs-804f9e74de17cc68355d32bfb66710fd5b6b47b7.zip | |
* etc/NEWS.18: Use outline-mode and a more standard format
| -rw-r--r-- | etc/NEWS.1-17 | 1 | ||||
| -rw-r--r-- | etc/NEWS.18 | 394 |
2 files changed, 197 insertions, 198 deletions
diff --git a/etc/NEWS.1-17 b/etc/NEWS.1-17 index cfa0b400cc5..c74cc3de71a 100644 --- a/etc/NEWS.1-17 +++ b/etc/NEWS.1-17 | |||
| @@ -2529,5 +2529,4 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | |||
| 2529 | 2529 | ||
| 2530 | Local variables: | 2530 | Local variables: |
| 2531 | mode: outline | 2531 | mode: outline |
| 2532 | mode: text | ||
| 2533 | end: | 2532 | end: |
diff --git a/etc/NEWS.18 b/etc/NEWS.18 index e2645b9401f..ab76c3c7725 100644 --- a/etc/NEWS.18 +++ b/etc/NEWS.18 | |||
| @@ -8,23 +8,23 @@ This file is about changes in emacs version 18. | |||
| 8 | 8 | ||
| 9 | 9 | ||
| 10 | 10 | ||
| 11 | Changes in version 18.52. | 11 | * Changes in Emacs 18.52. |
| 12 | 12 | ||
| 13 | * X windows version 10 is supported under system V. | 13 | ** X windows version 10 is supported under system V. |
| 14 | 14 | ||
| 15 | * Pop-up menus are now supported with the same Lisp interface in | 15 | ** Pop-up menus are now supported with the same Lisp interface in |
| 16 | both version 10 and 11 of X windows. | 16 | both version 10 and 11 of X windows. |
| 17 | 17 | ||
| 18 | * C-x 4 a is a new command to edit a change-log entry in another window. | 18 | ** C-x 4 a is a new command to edit a change-log entry in another window. |
| 19 | 19 | ||
| 20 | * The emacs client program now allows an option +NNN to specify the | 20 | ** The emacs client program now allows an option +NNN to specify the |
| 21 | line number to go to in the file whose name follows. Thus, | 21 | line number to go to in the file whose name follows. Thus, |
| 22 | emacsclient foo.c +45 bar.c | 22 | emacsclient foo.c +45 bar.c |
| 23 | will find the files `foo.c' and `bar.c', going to line 45 in `bar.c'. | 23 | will find the files `foo.c' and `bar.c', going to line 45 in `bar.c'. |
| 24 | 24 | ||
| 25 | * Dired allows empty directories to be deleted like files. | 25 | ** Dired allows empty directories to be deleted like files. |
| 26 | 26 | ||
| 27 | * When the terminal type is used to find a terminal-specific file to | 27 | ** When the terminal type is used to find a terminal-specific file to |
| 28 | run, Emacs now tries the entire terminal type first. If that doesn't | 28 | run, Emacs now tries the entire terminal type first. If that doesn't |
| 29 | yield a file that exists, the last hyphen and what follows it is | 29 | yield a file that exists, the last hyphen and what follows it is |
| 30 | stripped. If that doesn't yield a file that exists, the previous | 30 | stripped. If that doesn't yield a file that exists, the previous |
| @@ -34,97 +34,97 @@ example, if the terminal type is `aaa-48-foo', Emacs will try first | |||
| 34 | 34 | ||
| 35 | Underscores now receive the same treatment as hyphens. | 35 | Underscores now receive the same treatment as hyphens. |
| 36 | 36 | ||
| 37 | * Texinfo features: @defun, etc. texinfo-show-structure. | 37 | ** Texinfo features: @defun, etc. texinfo-show-structure. |
| 38 | New template commands. texinfo-format-region. | 38 | New template commands. texinfo-format-region. |
| 39 | 39 | ||
| 40 | * The special "local variable" `eval' is now ignored if you are running | 40 | ** The special "local variable" `eval' is now ignored if you are running |
| 41 | as root. | 41 | as root. |
| 42 | 42 | ||
| 43 | * New command `c-macro-expand' shows the result of C macro expansion | 43 | ** New command `c-macro-expand' shows the result of C macro expansion |
| 44 | in the region. It works using the C preprocessor, so its results | 44 | in the region. It works using the C preprocessor, so its results |
| 45 | are completely accurate. | 45 | are completely accurate. |
| 46 | 46 | ||
| 47 | * Errors in trying to auto save now flash error messages for a few seconds. | 47 | ** Errors in trying to auto save now flash error messages for a few seconds. |
| 48 | 48 | ||
| 49 | * Killing a buffer now sends SIGHUP to the buffer's process. | 49 | ** Killing a buffer now sends SIGHUP to the buffer's process. |
| 50 | 50 | ||
| 51 | * New hooks. | 51 | ** New hooks. |
| 52 | 52 | ||
| 53 | ** `spell-region' now allows you to filter the text before spelling-checking. | 53 | *** `spell-region' now allows you to filter the text before spelling-checking. |
| 54 | If the value of `spell-filter' is non-nil, it is called, with no arguments, | 54 | If the value of `spell-filter' is non-nil, it is called, with no arguments, |
| 55 | looking at a temporary buffer containing a copy of the text to be checked. | 55 | looking at a temporary buffer containing a copy of the text to be checked. |
| 56 | It can alter the text freely before the spell program sees it. | 56 | It can alter the text freely before the spell program sees it. |
| 57 | 57 | ||
| 58 | ** The variable `lpr-command' now specifies the command to be used when | 58 | *** The variable `lpr-command' now specifies the command to be used when |
| 59 | you use the commands to print text (such as M-x print-buffer). | 59 | you use the commands to print text (such as M-x print-buffer). |
| 60 | 60 | ||
| 61 | ** Posting netnews now calls the value of `news-inews-hook' (if not nil) | 61 | *** Posting netnews now calls the value of `news-inews-hook' (if not nil) |
| 62 | as a function of no arguments before the actual posting. | 62 | as a function of no arguments before the actual posting. |
| 63 | 63 | ||
| 64 | ** Rmail now calls the value of `rmail-show-message-hook' (if not nil) | 64 | *** Rmail now calls the value of `rmail-show-message-hook' (if not nil) |
| 65 | as a function of no arguments, each time a new message is selected. | 65 | as a function of no arguments, each time a new message is selected. |
| 66 | 66 | ||
| 67 | ** `kill-emacs' calls the value of `kill-emacs-hook' as a function of no args. | 67 | *** `kill-emacs' calls the value of `kill-emacs-hook' as a function of no args. |
| 68 | 68 | ||
| 69 | * New libraries. | 69 | ** New libraries. |
| 70 | See the source code of each library for more information. | 70 | See the source code of each library for more information. |
| 71 | 71 | ||
| 72 | ** icon.el: a major mode for editing programs written in Icon. | 72 | *** icon.el: a major mode for editing programs written in Icon. |
| 73 | 73 | ||
| 74 | ** life.el: a simulator for the cellular automaton "life". Load the | 74 | *** life.el: a simulator for the cellular automaton "life". Load the |
| 75 | library and run M-x life. | 75 | library and run M-x life. |
| 76 | 76 | ||
| 77 | ** doctex.el: a library for converting the Emacs `etc/DOC' file of | 77 | *** doctex.el: a library for converting the Emacs `etc/DOC' file of |
| 78 | documentation strings into TeX input. | 78 | documentation strings into TeX input. |
| 79 | 79 | ||
| 80 | ** saveconf.el: a library which records the arrangement of windows and | 80 | *** saveconf.el: a library which records the arrangement of windows and |
| 81 | buffers when you exit Emacs, and automatically recreates the same | 81 | buffers when you exit Emacs, and automatically recreates the same |
| 82 | setup the next time you start Emacs. | 82 | setup the next time you start Emacs. |
| 83 | 83 | ||
| 84 | ** uncompress.el: a library that automatically uncompresses files | 84 | *** uncompress.el: a library that automatically uncompresses files |
| 85 | when you visit them. | 85 | when you visit them. |
| 86 | 86 | ||
| 87 | ** c-fill.el: a mode for editing filled comments in C. | 87 | *** c-fill.el: a mode for editing filled comments in C. |
| 88 | 88 | ||
| 89 | ** kermit.el: an extended version of shell-mode designed for running kermit. | 89 | *** kermit.el: an extended version of shell-mode designed for running kermit. |
| 90 | 90 | ||
| 91 | ** spook.el: a library for adding some "distract the NSA" keywords to every | 91 | *** spook.el: a library for adding some "distract the NSA" keywords to every |
| 92 | message you send. | 92 | message you send. |
| 93 | 93 | ||
| 94 | ** hideif.el: a library for hiding parts of a C program based on preprocessor | 94 | *** hideif.el: a library for hiding parts of a C program based on preprocessor |
| 95 | conditionals. | 95 | conditionals. |
| 96 | 96 | ||
| 97 | ** autoinsert.el: a library to put in some initial text when you visit | 97 | *** autoinsert.el: a library to put in some initial text when you visit |
| 98 | a nonexistent file. The text used depends on the major mode, and | 98 | a nonexistent file. The text used depends on the major mode, and |
| 99 | comes from a directory of files created by you. | 99 | comes from a directory of files created by you. |
| 100 | 100 | ||
| 101 | * New programming features. | 101 | ** New programming features. |
| 102 | 102 | ||
| 103 | ** The variable `window-system-version' now contains the version number | 103 | *** The variable `window-system-version' now contains the version number |
| 104 | of the window system you are using (if appropriate). When using X windows, | 104 | of the window system you are using (if appropriate). When using X windows, |
| 105 | its value is either 10 or 11. | 105 | its value is either 10 or 11. |
| 106 | 106 | ||
| 107 | ** (interactive "N") uses the prefix argument if any; otherwise, it reads | 107 | *** (interactive "N") uses the prefix argument if any; otherwise, it reads |
| 108 | a number using the minibuffer. | 108 | a number using the minibuffer. |
| 109 | 109 | ||
| 110 | ** VMS: there are two new functions `vms-system-info' and `shrink-to-icon'. | 110 | *** VMS: there are two new functions `vms-system-info' and `shrink-to-icon'. |
| 111 | The former allows you to get many kinds of system status information. | 111 | The former allows you to get many kinds of system status information. |
| 112 | See its self-documentation for full details. | 112 | See its self-documentation for full details. |
| 113 | The second is used with the window system: it iconifies the Emacs window. | 113 | The second is used with the window system: it iconifies the Emacs window. |
| 114 | 114 | ||
| 115 | ** VMS: the new function `define-logical-name' allows you to create | 115 | *** VMS: the new function `define-logical-name' allows you to create |
| 116 | job-wide logical names. The old function `define-dcl-symbol' has been | 116 | job-wide logical names. The old function `define-dcl-symbol' has been |
| 117 | removed. | 117 | removed. |
| 118 | 118 | ||
| 119 | 119 | ||
| 120 | 120 | ||
| 121 | Changes in version 18.50. | 121 | * Changes in Emacs 18.50. |
| 122 | 122 | ||
| 123 | * X windows version 11 is supported. | 123 | ** X windows version 11 is supported. |
| 124 | 124 | ||
| 125 | Define X11 in config.h if you want X version 11 instead of version 10. | 125 | Define X11 in config.h if you want X version 11 instead of version 10. |
| 126 | 126 | ||
| 127 | * The command M-x gdb runs the GDB debugger as an inferior. | 127 | ** The command M-x gdb runs the GDB debugger as an inferior. |
| 128 | It asks for the filename of the executable you want to debug. | 128 | It asks for the filename of the executable you want to debug. |
| 129 | 129 | ||
| 130 | GDB runs as an inferior with I/O through an Emacs buffer. All the | 130 | GDB runs as an inferior with I/O through an Emacs buffer. All the |
| @@ -140,21 +140,21 @@ and `finish'. | |||
| 140 | In any source file, the commands C-x SPC tells GDB to set a breakpoint | 140 | In any source file, the commands C-x SPC tells GDB to set a breakpoint |
| 141 | on the current line. | 141 | on the current line. |
| 142 | 142 | ||
| 143 | * M-x calendar displays a three-month calendar. | 143 | ** M-x calendar displays a three-month calendar. |
| 144 | 144 | ||
| 145 | * C-u 0 C-x C-s never makes a backup file. | 145 | ** C-u 0 C-x C-s never makes a backup file. |
| 146 | 146 | ||
| 147 | This is a way you can explicitly request not to make a backup. | 147 | This is a way you can explicitly request not to make a backup. |
| 148 | 148 | ||
| 149 | * `term-setup-hook' is for users only. | 149 | ** `term-setup-hook' is for users only. |
| 150 | 150 | ||
| 151 | Emacs never uses this variable for internal purposes, so you can freely | 151 | Emacs never uses this variable for internal purposes, so you can freely |
| 152 | set it in your `.emacs' file to make Emacs do something special after | 152 | set it in your `.emacs' file to make Emacs do something special after |
| 153 | loading any terminal-specific setup file from `lisp/term'. | 153 | loading any terminal-specific setup file from `lisp/term'. |
| 154 | 154 | ||
| 155 | * `copy-keymap' now copies recursive submaps. | 155 | ** `copy-keymap' now copies recursive submaps. |
| 156 | 156 | ||
| 157 | * New overlay-arrow feature. | 157 | ** New overlay-arrow feature. |
| 158 | 158 | ||
| 159 | If you set the variable `overlay-arrow-string' to a string | 159 | If you set the variable `overlay-arrow-string' to a string |
| 160 | and `overlay-arrow-position' to a marker, that string is displayed on | 160 | and `overlay-arrow-position' to a marker, that string is displayed on |
| @@ -162,12 +162,12 @@ the screen at the position of that marker, hiding whatever text would | |||
| 162 | have appeared there. If that position isn't on the screen, or if | 162 | have appeared there. If that position isn't on the screen, or if |
| 163 | the buffer the marker points into isn't displayed, there is no effect. | 163 | the buffer the marker points into isn't displayed, there is no effect. |
| 164 | 164 | ||
| 165 | * -batch mode can read from the terminal. | 165 | ** -batch mode can read from the terminal. |
| 166 | 166 | ||
| 167 | It now works to use `read-char' to do terminal input in a noninteractive | 167 | It now works to use `read-char' to do terminal input in a noninteractive |
| 168 | Emacs run. End of file causes Emacs to exit. | 168 | Emacs run. End of file causes Emacs to exit. |
| 169 | 169 | ||
| 170 | * Variables `data-bytes-used' and `data-bytes-free' removed. | 170 | ** Variables `data-bytes-used' and `data-bytes-free' removed. |
| 171 | 171 | ||
| 172 | These variables cannot really work because the 24-bit range of an | 172 | These variables cannot really work because the 24-bit range of an |
| 173 | integer in (most ports of) GNU Emacs is not large enough to hold their | 173 | integer in (most ports of) GNU Emacs is not large enough to hold their |
| @@ -175,9 +175,9 @@ values on many systems. | |||
| 175 | 175 | ||
| 176 | 176 | ||
| 177 | 177 | ||
| 178 | Changes in version 18.45, since version 18.41. | 178 | * Changes in Emacs 18.45, since version 18.41. |
| 179 | 179 | ||
| 180 | * C indentation parameter `c-continued-brace-offset'. | 180 | ** C indentation parameter `c-continued-brace-offset'. |
| 181 | 181 | ||
| 182 | This parameter's value is added to the indentation of any | 182 | This parameter's value is added to the indentation of any |
| 183 | line that is in a continuation context and starts with an open-brace. | 183 | line that is in a continuation context and starts with an open-brace. |
| @@ -188,26 +188,26 @@ For example, it applies to the open brace shown here: | |||
| 188 | 188 | ||
| 189 | The default value is zero. | 189 | The default value is zero. |
| 190 | 190 | ||
| 191 | * Dabbrev expansion (Meta-/) preserves case. | 191 | ** Dabbrev expansion (Meta-/) preserves case. |
| 192 | 192 | ||
| 193 | When you use Meta-/ to search the buffer for an expansion of an | 193 | When you use Meta-/ to search the buffer for an expansion of an |
| 194 | abbreviation, if the expansion found is all lower case except perhaps | 194 | abbreviation, if the expansion found is all lower case except perhaps |
| 195 | for its first letter, then the case pattern of the abbreviation | 195 | for its first letter, then the case pattern of the abbreviation |
| 196 | is carried over to the expansion that replaces it. | 196 | is carried over to the expansion that replaces it. |
| 197 | 197 | ||
| 198 | * TeX-mode syntax. | 198 | ** TeX-mode syntax. |
| 199 | 199 | ||
| 200 | \ is no longer given "escape character" syntax in TeX mode. It now | 200 | \ is no longer given "escape character" syntax in TeX mode. It now |
| 201 | has the syntax of an ordinary punctuation character. As a result, | 201 | has the syntax of an ordinary punctuation character. As a result, |
| 202 | \[...\] and such like are considered to balance each other. | 202 | \[...\] and such like are considered to balance each other. |
| 203 | 203 | ||
| 204 | * Mail-mode automatic Reply-To field. | 204 | ** Mail-mode automatic Reply-To field. |
| 205 | 205 | ||
| 206 | If the variable `mail-default-reply-to' is non-`nil', then each time | 206 | If the variable `mail-default-reply-to' is non-`nil', then each time |
| 207 | you start to compose a message, a Reply-To field is inserted with | 207 | you start to compose a message, a Reply-To field is inserted with |
| 208 | its contents taken from the value of `mail-default-reply-to'. | 208 | its contents taken from the value of `mail-default-reply-to'. |
| 209 | 209 | ||
| 210 | * Where is your .emacs file? | 210 | ** Where is your .emacs file? |
| 211 | 211 | ||
| 212 | If you run Emacs under `su', so your real and effective uids are | 212 | If you run Emacs under `su', so your real and effective uids are |
| 213 | different, Emacs uses the home directory associated with the real uid | 213 | different, Emacs uses the home directory associated with the real uid |
| @@ -218,23 +218,23 @@ file. | |||
| 218 | 218 | ||
| 219 | The .emacs file is not loaded at all if -batch is specified. | 219 | The .emacs file is not loaded at all if -batch is specified. |
| 220 | 220 | ||
| 221 | * Prolog mode is the default for ".pl" files. | 221 | ** Prolog mode is the default for ".pl" files. |
| 222 | 222 | ||
| 223 | * File names are not case-sensitive on VMS. | 223 | ** File names are not case-sensitive on VMS. |
| 224 | 224 | ||
| 225 | On VMS systems, all file names that you specify are converted to upper | 225 | On VMS systems, all file names that you specify are converted to upper |
| 226 | case. You can use either upper or lower case indiscriminately. | 226 | case. You can use either upper or lower case indiscriminately. |
| 227 | 227 | ||
| 228 | * VMS-only function 'define-dcl-symbol'. | 228 | ** VMS-only function 'define-dcl-symbol'. |
| 229 | 229 | ||
| 230 | This is a new name for the function formerly called | 230 | This is a new name for the function formerly called |
| 231 | `define-logical-name'. | 231 | `define-logical-name'. |
| 232 | 232 | ||
| 233 | 233 | ||
| 234 | 234 | ||
| 235 | Editing Changes in Emacs 18 | 235 | * Editing Changes in Emacs 18 |
| 236 | 236 | ||
| 237 | * Additional systems and machines are supported. | 237 | ** Additional systems and machines are supported. |
| 238 | 238 | ||
| 239 | GNU Emacs now runs on Vax VMS. However, many facilities that are normally | 239 | GNU Emacs now runs on Vax VMS. However, many facilities that are normally |
| 240 | implemented by running subprocesses do not work yet. This includes listing | 240 | implemented by running subprocesses do not work yet. This includes listing |
| @@ -256,13 +256,13 @@ to working. The port for the Elxsi is partly merged. See the file | |||
| 256 | MACHINES for full status information and machine-specific installation | 256 | MACHINES for full status information and machine-specific installation |
| 257 | advice. | 257 | advice. |
| 258 | 258 | ||
| 259 | * Searching is faster. | 259 | ** Searching is faster. |
| 260 | 260 | ||
| 261 | Forward search for a text string, or for a regexp that is equivalent | 261 | Forward search for a text string, or for a regexp that is equivalent |
| 262 | to a text string, is now several times faster. Motion by lines and | 262 | to a text string, is now several times faster. Motion by lines and |
| 263 | counting lines is also faster. | 263 | counting lines is also faster. |
| 264 | 264 | ||
| 265 | * Memory usage improvements. | 265 | ** Memory usage improvements. |
| 266 | 266 | ||
| 267 | It is no longer possible to run out of memory during garbage | 267 | It is no longer possible to run out of memory during garbage |
| 268 | collection. As a result, running out of memory is never fatal. This | 268 | collection. As a result, running out of memory is never fatal. This |
| @@ -271,27 +271,27 @@ strings in place rather than copying them. Another consequence of the | |||
| 271 | change is a reduction in total memory usage and a slight increase in | 271 | change is a reduction in total memory usage and a slight increase in |
| 272 | garbage collection speed. | 272 | garbage collection speed. |
| 273 | 273 | ||
| 274 | * Display changes. | 274 | ** Display changes. |
| 275 | 275 | ||
| 276 | ** Editing above top of screen. | 276 | *** Editing above top of screen. |
| 277 | 277 | ||
| 278 | When you delete or kill or alter text that reaches to the top of the | 278 | When you delete or kill or alter text that reaches to the top of the |
| 279 | screen or above it, so that display would start in the middle of a | 279 | screen or above it, so that display would start in the middle of a |
| 280 | line, Emacs will usually attempt to scroll the text so that display | 280 | line, Emacs will usually attempt to scroll the text so that display |
| 281 | starts at the beginning of a line again. | 281 | starts at the beginning of a line again. |
| 282 | 282 | ||
| 283 | ** Yanking in the minibuffer. | 283 | *** Yanking in the minibuffer. |
| 284 | 284 | ||
| 285 | The message "Mark Set" is no longer printed when the minibuffer is | 285 | The message "Mark Set" is no longer printed when the minibuffer is |
| 286 | active. This is convenient with many commands, including C-y, that | 286 | active. This is convenient with many commands, including C-y, that |
| 287 | normally print such a message. | 287 | normally print such a message. |
| 288 | 288 | ||
| 289 | ** Cursor appears in last line during y-or-n questions. | 289 | *** Cursor appears in last line during y-or-n questions. |
| 290 | 290 | ||
| 291 | Questions that want a `y' or `n' answer now move the cursor | 291 | Questions that want a `y' or `n' answer now move the cursor |
| 292 | to the last line, following the question. | 292 | to the last line, following the question. |
| 293 | 293 | ||
| 294 | * Library loading changes. | 294 | ** Library loading changes. |
| 295 | 295 | ||
| 296 | `load' now considers all possible suffixes (`.elc', `.el' and none) | 296 | `load' now considers all possible suffixes (`.elc', `.el' and none) |
| 297 | for each directory in `load-path' before going on to the next directory. | 297 | for each directory in `load-path' before going on to the next directory. |
| @@ -313,13 +313,13 @@ is no longer allowed. Instead, there are two commands for loading files. | |||
| 313 | `M-x load-file' reads a file name with completion and defaulting | 313 | `M-x load-file' reads a file name with completion and defaulting |
| 314 | and then loads exactly that file, with no searching and no suffixes. | 314 | and then loads exactly that file, with no searching and no suffixes. |
| 315 | 315 | ||
| 316 | * Emulation of other editors. | 316 | ** Emulation of other editors. |
| 317 | 317 | ||
| 318 | ** `edt-emulation-on' starts emulating DEC's EDT editor. | 318 | *** `edt-emulation-on' starts emulating DEC's EDT editor. |
| 319 | 319 | ||
| 320 | Do `edt-emulation-off' to return Emacs to normal. | 320 | Do `edt-emulation-off' to return Emacs to normal. |
| 321 | 321 | ||
| 322 | ** `vi-mode' and `vip-mode' starts emulating vi. | 322 | *** `vi-mode' and `vip-mode' starts emulating vi. |
| 323 | 323 | ||
| 324 | These are two different vi emulations provided by GNU Emacs users. | 324 | These are two different vi emulations provided by GNU Emacs users. |
| 325 | We are interested in feedback as to which emulation is preferable. | 325 | We are interested in feedback as to which emulation is preferable. |
| @@ -327,20 +327,20 @@ We are interested in feedback as to which emulation is preferable. | |||
| 327 | See the documentation and source code for these functions | 327 | See the documentation and source code for these functions |
| 328 | for more information. | 328 | for more information. |
| 329 | 329 | ||
| 330 | ** `set-gosmacs-bindings' emulates Gosling Emacs. | 330 | *** `set-gosmacs-bindings' emulates Gosling Emacs. |
| 331 | 331 | ||
| 332 | This command changes many global bindings to resemble those of | 332 | This command changes many global bindings to resemble those of |
| 333 | Gosling Emacs. The previous bindings are saved and can be restored using | 333 | Gosling Emacs. The previous bindings are saved and can be restored using |
| 334 | `set-gnu-bindings'. | 334 | `set-gnu-bindings'. |
| 335 | 335 | ||
| 336 | * Emulation of a display terminal. | 336 | ** Emulation of a display terminal. |
| 337 | 337 | ||
| 338 | Within Emacs it is now possible to run programs (such as emacs or | 338 | Within Emacs it is now possible to run programs (such as emacs or |
| 339 | supdup) which expect to do output to a visual display terminal. | 339 | supdup) which expect to do output to a visual display terminal. |
| 340 | 340 | ||
| 341 | See the function `terminal-emulator' for more information. | 341 | See the function `terminal-emulator' for more information. |
| 342 | 342 | ||
| 343 | * New support for keypads and function keys. | 343 | ** New support for keypads and function keys. |
| 344 | 344 | ||
| 345 | There is now a first attempt at terminal-independent support for | 345 | There is now a first attempt at terminal-independent support for |
| 346 | keypad and function keys. | 346 | keypad and function keys. |
| @@ -369,7 +369,7 @@ used in forming the name of the terminal-specific file. Thus, for | |||
| 369 | terminal type `aaa-48', the file loaded is now `term/aaa.el' rather | 369 | terminal type `aaa-48', the file loaded is now `term/aaa.el' rather |
| 370 | than `term/aaa-48.el'. | 370 | than `term/aaa-48.el'. |
| 371 | 371 | ||
| 372 | * New startup command line options. | 372 | ** New startup command line options. |
| 373 | 373 | ||
| 374 | `-i FILE' or `-insert FILE' in the command line to Emacs tells Emacs to | 374 | `-i FILE' or `-insert FILE' in the command line to Emacs tells Emacs to |
| 375 | insert the contents of FILE into the current buffer at that point in | 375 | insert the contents of FILE into the current buffer at that point in |
| @@ -383,7 +383,7 @@ emulator on the X window system and you want to run Emacs to work through | |||
| 383 | the terminal emulator instead of working directly with the window system, | 383 | the terminal emulator instead of working directly with the window system, |
| 384 | use this switch. | 384 | use this switch. |
| 385 | 385 | ||
| 386 | * Buffer-sorting commands. | 386 | ** Buffer-sorting commands. |
| 387 | 387 | ||
| 388 | Various M-x commands whose names start with `sort-' sort parts of | 388 | Various M-x commands whose names start with `sort-' sort parts of |
| 389 | the region: | 389 | the region: |
| @@ -404,13 +404,13 @@ sort-columns divides into lines and sorts them according to the contents | |||
| 404 | 404 | ||
| 405 | Refer to the self-documentation of these commands for full usage information. | 405 | Refer to the self-documentation of these commands for full usage information. |
| 406 | 406 | ||
| 407 | * Changes in various commands. | 407 | ** Changes in various commands. |
| 408 | 408 | ||
| 409 | ** `tags-query-replace' and `tags-search' change. | 409 | *** `tags-query-replace' and `tags-search' change. |
| 410 | 410 | ||
| 411 | These functions now display the name of the file being searched at the moment. | 411 | These functions now display the name of the file being searched at the moment. |
| 412 | 412 | ||
| 413 | ** `occur' output now serves as a menu. `occur-menu' command deleted. | 413 | *** `occur' output now serves as a menu. `occur-menu' command deleted. |
| 414 | 414 | ||
| 415 | `M-x occur' now allows you to move quickly to any of the occurrences | 415 | `M-x occur' now allows you to move quickly to any of the occurrences |
| 416 | listed. Select the `*Occur*' buffer that contains the output of `occur', | 416 | listed. Select the `*Occur*' buffer that contains the output of `occur', |
| @@ -423,7 +423,7 @@ The command `occur-menu' is thus obsolete, and has been deleted. | |||
| 423 | One way to get a list of matching lines without line numbers is to | 423 | One way to get a list of matching lines without line numbers is to |
| 424 | copy the text to another buffer and use the command `keep-lines'. | 424 | copy the text to another buffer and use the command `keep-lines'. |
| 425 | 425 | ||
| 426 | ** Incremental search changes. | 426 | *** Incremental search changes. |
| 427 | 427 | ||
| 428 | Ordinary and regexp incremental searches now have distinct default | 428 | Ordinary and regexp incremental searches now have distinct default |
| 429 | search strings. Thus, regexp searches recall only previous regexp | 429 | search strings. Thus, regexp searches recall only previous regexp |
| @@ -458,12 +458,12 @@ If `search-slow-window-lines' is negative, the slow search window | |||
| 458 | is put at the top of the screen, and the absolute value or the | 458 | is put at the top of the screen, and the absolute value or the |
| 459 | negative number specifies the height of it. | 459 | negative number specifies the height of it. |
| 460 | 460 | ||
| 461 | ** Undo changes | 461 | *** Undo changes |
| 462 | 462 | ||
| 463 | The undo command now will mark the buffer as unmodified only when it is | 463 | The undo command now will mark the buffer as unmodified only when it is |
| 464 | identical to the contents of the visited file. | 464 | identical to the contents of the visited file. |
| 465 | 465 | ||
| 466 | ** C-M-v in minibuffer. | 466 | *** C-M-v in minibuffer. |
| 467 | 467 | ||
| 468 | If while in the minibuffer you request help in a way that uses a | 468 | If while in the minibuffer you request help in a way that uses a |
| 469 | window to display something, then until you exit the minibuffer C-M-v | 469 | window to display something, then until you exit the minibuffer C-M-v |
| @@ -472,7 +472,7 @@ in the minibuffer window scrolls the window of help. | |||
| 472 | For example, if you request a list of possible completions, C-M-v can | 472 | For example, if you request a list of possible completions, C-M-v can |
| 473 | be used reliably to scroll the completion list. | 473 | be used reliably to scroll the completion list. |
| 474 | 474 | ||
| 475 | ** M-TAB command. | 475 | *** M-TAB command. |
| 476 | 476 | ||
| 477 | Meta-TAB performs completion on the Emacs Lisp symbol names. The sexp | 477 | Meta-TAB performs completion on the Emacs Lisp symbol names. The sexp |
| 478 | in the buffer before point is compared against all existing nontrivial | 478 | in the buffer before point is compared against all existing nontrivial |
| @@ -483,12 +483,12 @@ or properties. | |||
| 483 | If there are multiple possibilities for the very next character, a | 483 | If there are multiple possibilities for the very next character, a |
| 484 | list of possible completions is displayed. | 484 | list of possible completions is displayed. |
| 485 | 485 | ||
| 486 | ** Dynamic abbreviation package. | 486 | *** Dynamic abbreviation package. |
| 487 | 487 | ||
| 488 | The new command Meta-/ expands an abbreviation in the buffer before point | 488 | The new command Meta-/ expands an abbreviation in the buffer before point |
| 489 | by searching the buffer for words that start with the abbreviation. | 489 | by searching the buffer for words that start with the abbreviation. |
| 490 | 490 | ||
| 491 | ** Changes in saving kbd macros. | 491 | *** Changes in saving kbd macros. |
| 492 | 492 | ||
| 493 | The commands `write-kbd-macro' and `append-kbd-macro' have been | 493 | The commands `write-kbd-macro' and `append-kbd-macro' have been |
| 494 | deleted. The way to save a keyboard macro is to use the new command | 494 | deleted. The way to save a keyboard macro is to use the new command |
| @@ -498,12 +498,12 @@ file such as your Emacs init file `~/.emacs', insert the macro | |||
| 498 | definition (perhaps deleting an old definition for the same macro) | 498 | definition (perhaps deleting an old definition for the same macro) |
| 499 | and then save the file. | 499 | and then save the file. |
| 500 | 500 | ||
| 501 | ** C-x ' command. | 501 | *** C-x ' command. |
| 502 | 502 | ||
| 503 | The new command C-x ' (expand-abbrev) expands the word before point as | 503 | The new command C-x ' (expand-abbrev) expands the word before point as |
| 504 | an abbrev, even if abbrev-mode is not turned on. | 504 | an abbrev, even if abbrev-mode is not turned on. |
| 505 | 505 | ||
| 506 | ** Sending to inferior Lisp. | 506 | *** Sending to inferior Lisp. |
| 507 | 507 | ||
| 508 | The command C-M-x in Lisp mode, which sends the current defun to | 508 | The command C-M-x in Lisp mode, which sends the current defun to |
| 509 | an inferior Lisp process, now works by writing the text into a temporary | 509 | an inferior Lisp process, now works by writing the text into a temporary |
| @@ -517,20 +517,20 @@ appear on the screen and scrolls it so that the bottom is showing. | |||
| 517 | Two variables `inferior-lisp-load-command' and `inferior-lisp-prompt', | 517 | Two variables `inferior-lisp-load-command' and `inferior-lisp-prompt', |
| 518 | exist to customize these feature for different Lisp implementations. | 518 | exist to customize these feature for different Lisp implementations. |
| 519 | 519 | ||
| 520 | ** C-x p now disabled. | 520 | *** C-x p now disabled. |
| 521 | 521 | ||
| 522 | The command C-x p, a nonrecommended command which narrows to the current | 522 | The command C-x p, a nonrecommended command which narrows to the current |
| 523 | page, is now initially disabled like C-x n. | 523 | page, is now initially disabled like C-x n. |
| 524 | 524 | ||
| 525 | * Dealing with files. | 525 | ** Dealing with files. |
| 526 | 526 | ||
| 527 | ** C-x C-v generalized | 527 | *** C-x C-v generalized |
| 528 | 528 | ||
| 529 | This command is now allowed even if the current buffer is not visiting | 529 | This command is now allowed even if the current buffer is not visiting |
| 530 | a file. As usual, it kills the current buffer and replaces it with a | 530 | a file. As usual, it kills the current buffer and replaces it with a |
| 531 | newly found file. | 531 | newly found file. |
| 532 | 532 | ||
| 533 | ** M-x recover-file improved; auto save file names changed. | 533 | *** M-x recover-file improved; auto save file names changed. |
| 534 | 534 | ||
| 535 | M-x recover-file now checks whether the last auto-save file is more | 535 | M-x recover-file now checks whether the last auto-save file is more |
| 536 | recent than the real visited file before offering to read in the | 536 | recent than the real visited file before offering to read in the |
| @@ -555,21 +555,21 @@ You can customize the way auto save file names are made by redefining | |||
| 555 | the two functions `make-auto-save-file-name' and `auto-save-file-name-p', | 555 | the two functions `make-auto-save-file-name' and `auto-save-file-name-p', |
| 556 | both of which are defined in `files.el'. | 556 | both of which are defined in `files.el'. |
| 557 | 557 | ||
| 558 | ** Modifying a buffer whose file is changed on disk is detected instantly. | 558 | *** Modifying a buffer whose file is changed on disk is detected instantly. |
| 559 | 559 | ||
| 560 | On systems where clash detection (locking of files being edited) is | 560 | On systems where clash detection (locking of files being edited) is |
| 561 | implemented, Emacs also checks the first time you modify a buffer | 561 | implemented, Emacs also checks the first time you modify a buffer |
| 562 | whether the file has changed on disk since it was last visited or saved. | 562 | whether the file has changed on disk since it was last visited or saved. |
| 563 | If it has, you are asked to confirm that you want to change the buffer. | 563 | If it has, you are asked to confirm that you want to change the buffer. |
| 564 | 564 | ||
| 565 | ** Exiting Emacs offers to save `*mail*'. | 565 | *** Exiting Emacs offers to save `*mail*'. |
| 566 | 566 | ||
| 567 | Emacs can now know about buffers that it should offer to save on exit | 567 | Emacs can now know about buffers that it should offer to save on exit |
| 568 | even though they are not visiting files. This is done for any buffer | 568 | even though they are not visiting files. This is done for any buffer |
| 569 | which has a non-nil local value of `buffer-offer-save'. By default, | 569 | which has a non-nil local value of `buffer-offer-save'. By default, |
| 570 | Mail mode provides such a local value. | 570 | Mail mode provides such a local value. |
| 571 | 571 | ||
| 572 | ** Backup file changes. | 572 | *** Backup file changes. |
| 573 | 573 | ||
| 574 | If a backup file cannot be written in the directory of the visited file | 574 | If a backup file cannot be written in the directory of the visited file |
| 575 | due to fascist file protection, a backup file is now written in your home | 575 | due to fascist file protection, a backup file is now written in your home |
| @@ -579,7 +579,7 @@ the most recently made such backup is available. | |||
| 579 | When backup files are made by copying, the last-modification time of the | 579 | When backup files are made by copying, the last-modification time of the |
| 580 | original file is now preserved in the backup copy. | 580 | original file is now preserved in the backup copy. |
| 581 | 581 | ||
| 582 | ** Visiting remote files. | 582 | *** Visiting remote files. |
| 583 | 583 | ||
| 584 | On an internet host, you can now visit and save files on any other | 584 | On an internet host, you can now visit and save files on any other |
| 585 | internet host directly from Emacs with the commands M-x ftp-find-file | 585 | internet host directly from Emacs with the commands M-x ftp-find-file |
| @@ -592,14 +592,14 @@ give the user name and password for use on that host. FTP is reinvoked | |||
| 592 | each time you ask to use it, but previously specified user names and | 592 | each time you ask to use it, but previously specified user names and |
| 593 | passwords are remembered automatically. | 593 | passwords are remembered automatically. |
| 594 | 594 | ||
| 595 | ** Dired `g' command. | 595 | *** Dired `g' command. |
| 596 | 596 | ||
| 597 | `g' in Dired mode is equivalent to M-x revert-buffer; it causes the | 597 | `g' in Dired mode is equivalent to M-x revert-buffer; it causes the |
| 598 | current contents of the same directory to be read in. | 598 | current contents of the same directory to be read in. |
| 599 | 599 | ||
| 600 | * Changes in major modes. | 600 | ** Changes in major modes. |
| 601 | 601 | ||
| 602 | ** C mode indentation change. | 602 | *** C mode indentation change. |
| 603 | 603 | ||
| 604 | The binding of Linefeed is no longer changed by C mode. It once again | 604 | The binding of Linefeed is no longer changed by C mode. It once again |
| 605 | has its normal meaning, which is to insert a newline and then indent | 605 | has its normal meaning, which is to insert a newline and then indent |
| @@ -618,28 +618,28 @@ is non-whitespace preceding point on the current line. Giving it a | |||
| 618 | prefix argument will force reindentation of the line (as well as | 618 | prefix argument will force reindentation of the line (as well as |
| 619 | of the compound statement that begins after point, if any). | 619 | of the compound statement that begins after point, if any). |
| 620 | 620 | ||
| 621 | ** Fortran mode now exists. | 621 | *** Fortran mode now exists. |
| 622 | 622 | ||
| 623 | This mode provides commands for motion and indentation of Fortran code, | 623 | This mode provides commands for motion and indentation of Fortran code, |
| 624 | plus built-in abbrevs for Fortran keywords. For details, see the manual | 624 | plus built-in abbrevs for Fortran keywords. For details, see the manual |
| 625 | or the on-line documentation of the command `fortran-mode'. | 625 | or the on-line documentation of the command `fortran-mode'. |
| 626 | 626 | ||
| 627 | ** Scribe mode now exists. | 627 | *** Scribe mode now exists. |
| 628 | 628 | ||
| 629 | This mode does something useful for editing files of Scribe input. | 629 | This mode does something useful for editing files of Scribe input. |
| 630 | It is used automatically for files with names ending in ".mss". | 630 | It is used automatically for files with names ending in ".mss". |
| 631 | 631 | ||
| 632 | ** Modula2 and Prolog modes now exist. | 632 | *** Modula2 and Prolog modes now exist. |
| 633 | 633 | ||
| 634 | These modes are for editing programs in the languages of the same names. | 634 | These modes are for editing programs in the languages of the same names. |
| 635 | They can be selected with M-x modula-2-mode and M-x prolog-mode. | 635 | They can be selected with M-x modula-2-mode and M-x prolog-mode. |
| 636 | 636 | ||
| 637 | ** Telnet mode changes. | 637 | *** Telnet mode changes. |
| 638 | 638 | ||
| 639 | The telnet mode special commands have now been assigned to C-c keys. | 639 | The telnet mode special commands have now been assigned to C-c keys. |
| 640 | Most of them are the same as in Shell mode. | 640 | Most of them are the same as in Shell mode. |
| 641 | 641 | ||
| 642 | ** Picture mode changes. | 642 | *** Picture mode changes. |
| 643 | 643 | ||
| 644 | The special picture-mode commands to specify the direction of cursor | 644 | The special picture-mode commands to specify the direction of cursor |
| 645 | motion after insertion have been moved to C-c keys. The commands to | 645 | motion after insertion have been moved to C-c keys. The commands to |
| @@ -647,13 +647,13 @@ specify diagonal motion were already C-c keys; they are unchanged. | |||
| 647 | The keys to specify horizontal or vertical motion are now | 647 | The keys to specify horizontal or vertical motion are now |
| 648 | C-c < (left), C-c > (right), C-c ^ (up) and C-c . (down). | 648 | C-c < (left), C-c > (right), C-c ^ (up) and C-c . (down). |
| 649 | 649 | ||
| 650 | ** Nroff mode comments. | 650 | *** Nroff mode comments. |
| 651 | 651 | ||
| 652 | Comments are now supported in Nroff mode. The standard comment commands | 652 | Comments are now supported in Nroff mode. The standard comment commands |
| 653 | such as M-; and C-x ; know how to insert, align and delete comments | 653 | such as M-; and C-x ; know how to insert, align and delete comments |
| 654 | that start with backslash-doublequote. | 654 | that start with backslash-doublequote. |
| 655 | 655 | ||
| 656 | ** LaTeX mode. | 656 | *** LaTeX mode. |
| 657 | 657 | ||
| 658 | LaTeX mode now exists. Use M-x latex-mode to select this mode, and | 658 | LaTeX mode now exists. Use M-x latex-mode to select this mode, and |
| 659 | M-x plain-tex-mode to select the previously existing mode for Plain | 659 | M-x plain-tex-mode to select the previously existing mode for Plain |
| @@ -677,7 +677,7 @@ C-c C-f close a block (appropriate for LaTeX only). | |||
| 677 | this inserts an \end{...} on the following line | 677 | this inserts an \end{...} on the following line |
| 678 | and puts point on a blank line between them. | 678 | and puts point on a blank line between them. |
| 679 | 679 | ||
| 680 | ** Outline mode changes. | 680 | *** Outline mode changes. |
| 681 | 681 | ||
| 682 | Invisible lines in outline mode are now indicated by `...' at the | 682 | Invisible lines in outline mode are now indicated by `...' at the |
| 683 | end of the previous visible line. | 683 | end of the previous visible line. |
| @@ -701,9 +701,9 @@ the string that matches. | |||
| 701 | A line starting with a ^L (formfeed) is now by default considered | 701 | A line starting with a ^L (formfeed) is now by default considered |
| 702 | a header line. | 702 | a header line. |
| 703 | 703 | ||
| 704 | * Mail reading and sending. | 704 | ** Mail reading and sending. |
| 705 | 705 | ||
| 706 | ** MH-E changes. | 706 | *** MH-E changes. |
| 707 | 707 | ||
| 708 | MH-E has been extensively modified and improved since the v17 release. | 708 | MH-E has been extensively modified and improved since the v17 release. |
| 709 | It contains many new features, including commands to: extracted failed | 709 | It contains many new features, including commands to: extracted failed |
| @@ -715,7 +715,7 @@ single messages. MH-E also has had numerous bugs fixed and commands | |||
| 715 | made to run faster. Furthermore, its keybindings have been changed to | 715 | made to run faster. Furthermore, its keybindings have been changed to |
| 716 | be compatible with Rmail and the rest of GNU Emacs. | 716 | be compatible with Rmail and the rest of GNU Emacs. |
| 717 | 717 | ||
| 718 | ** Mail mode changes. | 718 | *** Mail mode changes. |
| 719 | 719 | ||
| 720 | The C-c commands of mail mode have been rearranged: | 720 | The C-c commands of mail mode have been rearranged: |
| 721 | 721 | ||
| @@ -727,28 +727,28 @@ C-c y, C-c w and C-c q have been changed to C-c C-y, C-c C-w and C-c C-q. | |||
| 727 | 727 | ||
| 728 | Thus, C-c LETTER is always unassigned. | 728 | Thus, C-c LETTER is always unassigned. |
| 729 | 729 | ||
| 730 | ** Rmail C-r command changed to w. | 730 | *** Rmail C-r command changed to w. |
| 731 | 731 | ||
| 732 | The Rmail command to edit the current message is now `w'. This change | 732 | The Rmail command to edit the current message is now `w'. This change |
| 733 | has been made because people frequently type C-r while in Rmail hoping | 733 | has been made because people frequently type C-r while in Rmail hoping |
| 734 | to do a reverse incremental search. That now works. | 734 | to do a reverse incremental search. That now works. |
| 735 | 735 | ||
| 736 | * Rnews changes. | 736 | ** Rnews changes. |
| 737 | 737 | ||
| 738 | ** Caesar rotation added. | 738 | *** Caesar rotation added. |
| 739 | 739 | ||
| 740 | The function news-caesar-buffer-body performs encryption and | 740 | The function news-caesar-buffer-body performs encryption and |
| 741 | decryption of the body of a news message. It defaults to the USENET | 741 | decryption of the body of a news message. It defaults to the USENET |
| 742 | standard of 13, and accepts any numeric arg between 1 to 25 and -25 to -1. | 742 | standard of 13, and accepts any numeric arg between 1 to 25 and -25 to -1. |
| 743 | The function is bound to C-c C-r in both news-mode and news-reply-mode. | 743 | The function is bound to C-c C-r in both news-mode and news-reply-mode. |
| 744 | 744 | ||
| 745 | ** rmail-output command added. | 745 | *** rmail-output command added. |
| 746 | 746 | ||
| 747 | The C-o command has been bound to rmail-output in news-mode. | 747 | The C-o command has been bound to rmail-output in news-mode. |
| 748 | This allows one to append an article to a file which is in either Unix | 748 | This allows one to append an article to a file which is in either Unix |
| 749 | mail or RMAIL format. | 749 | mail or RMAIL format. |
| 750 | 750 | ||
| 751 | ** news-reply-mode changes. | 751 | *** news-reply-mode changes. |
| 752 | 752 | ||
| 753 | The C-c commands of news reply mode have been rearranged and changed, | 753 | The C-c commands of news reply mode have been rearranged and changed, |
| 754 | so that C-c LETTER is always unassigned: | 754 | so that C-c LETTER is always unassigned: |
| @@ -773,7 +773,7 @@ C-c C-y news-reply-yank-original (insert current message, in NEWS). | |||
| 773 | C-c C-q mail-fill-yanked-message (fill what was yanked). | 773 | C-c C-q mail-fill-yanked-message (fill what was yanked). |
| 774 | C-c C-r caesar rotate all letters by 13 places in the article's body (rot13). | 774 | C-c C-r caesar rotate all letters by 13 places in the article's body (rot13). |
| 775 | 775 | ||
| 776 | * Existing Emacs usable as a server. | 776 | ** Existing Emacs usable as a server. |
| 777 | 777 | ||
| 778 | Programs such as mailers that invoke "the editor" as an inferior | 778 | Programs such as mailers that invoke "the editor" as an inferior |
| 779 | to edit some text can now be told to use an existing Emacs process | 779 | to edit some text can now be told to use an existing Emacs process |
| @@ -810,11 +810,11 @@ The client/server work only on Berkeley Unix, since they use the Berkeley | |||
| 810 | sockets mechanism for their communication. | 810 | sockets mechanism for their communication. |
| 811 | 811 | ||
| 812 | 812 | ||
| 813 | Changes in Lisp programming in Emacs version 18. | 813 | * Changes in Lisp programming in Emacs 18. |
| 814 | 814 | ||
| 815 | * Init file changes. | 815 | ** Init file changes. |
| 816 | 816 | ||
| 817 | ** Suffixes no longer accepted on `.emacs'. | 817 | *** Suffixes no longer accepted on `.emacs'. |
| 818 | 818 | ||
| 819 | Emacs will no longer load a file named `.emacs.el' or `emacs.elc' | 819 | Emacs will no longer load a file named `.emacs.el' or `emacs.elc' |
| 820 | in place of `.emacs'. This is so that it will take less time to | 820 | in place of `.emacs'. This is so that it will take less time to |
| @@ -822,7 +822,7 @@ find `.emacs'. If you want to compile your init file, give it another | |||
| 822 | name and make `.emacs' a link to the `.elc' file, or make it contain | 822 | name and make `.emacs' a link to the `.elc' file, or make it contain |
| 823 | a call to `load' to load the `.elc' file. | 823 | a call to `load' to load the `.elc' file. |
| 824 | 824 | ||
| 825 | ** `default-profile' renamed to `default', and loaded after `.emacs'. | 825 | *** `default-profile' renamed to `default', and loaded after `.emacs'. |
| 826 | 826 | ||
| 827 | It used to be the case that the file `default-profile' was loaded if | 827 | It used to be the case that the file `default-profile' was loaded if |
| 828 | and only if `.emacs' was not found. | 828 | and only if `.emacs' was not found. |
| @@ -839,13 +839,13 @@ Note that for most purposes you are better off using a `site-init' library | |||
| 839 | since that will be loaded before the runnable Emacs is dumped. By using | 839 | since that will be loaded before the runnable Emacs is dumped. By using |
| 840 | a `site-init' library, you avoid taking up time each time Emacs is started. | 840 | a `site-init' library, you avoid taking up time each time Emacs is started. |
| 841 | 841 | ||
| 842 | ** inhibit-command-line has been eliminated. | 842 | *** inhibit-command-line has been eliminated. |
| 843 | 843 | ||
| 844 | This variable used to exist for .emacs files to set. It has been | 844 | This variable used to exist for .emacs files to set. It has been |
| 845 | eliminated because you can get the same effect by setting | 845 | eliminated because you can get the same effect by setting |
| 846 | command-line-args to nil and setting inhibit-startup-message to t. | 846 | command-line-args to nil and setting inhibit-startup-message to t. |
| 847 | 847 | ||
| 848 | * `apply' is more general. | 848 | ** `apply' is more general. |
| 849 | 849 | ||
| 850 | `apply' now accepts any number of arguments. The first one is a function; | 850 | `apply' now accepts any number of arguments. The first one is a function; |
| 851 | the rest are individual arguments to pass to that function, except for the | 851 | the rest are individual arguments to pass to that function, except for the |
| @@ -854,7 +854,7 @@ last, which is a list of arguments to pass. | |||
| 854 | Previously, `apply' required exactly two arguments. Its old behavior | 854 | Previously, `apply' required exactly two arguments. Its old behavior |
| 855 | follows as a special case of the new definition. | 855 | follows as a special case of the new definition. |
| 856 | 856 | ||
| 857 | * New code-letter for `interactive'. | 857 | ** New code-letter for `interactive'. |
| 858 | 858 | ||
| 859 | (interactive "NFoo: ") is like (interactive "nFoo: ") in reading | 859 | (interactive "NFoo: ") is like (interactive "nFoo: ") in reading |
| 860 | a number using the minibuffer to serve as the argument; however, | 860 | a number using the minibuffer to serve as the argument; however, |
| @@ -863,9 +863,9 @@ value as the argument, and does not use the minibuffer at all. | |||
| 863 | 863 | ||
| 864 | This is used by the `goto-line' and `goto-char' commands. | 864 | This is used by the `goto-line' and `goto-char' commands. |
| 865 | 865 | ||
| 866 | * Semantics of variables. | 866 | ** Semantics of variables. |
| 867 | 867 | ||
| 868 | ** Built-in per-buffer variables improved. | 868 | *** Built-in per-buffer variables improved. |
| 869 | 869 | ||
| 870 | Several built-in variables which in the past had a different value in | 870 | Several built-in variables which in the past had a different value in |
| 871 | each buffer now behave exactly as if `make-variable-buffer-local' had | 871 | each buffer now behave exactly as if `make-variable-buffer-local' had |
| @@ -887,12 +887,12 @@ They now refer to the default value of the variable, which is not | |||
| 887 | quite the same behavior as before, but it should enable old init files | 887 | quite the same behavior as before, but it should enable old init files |
| 888 | to continue to work. | 888 | to continue to work. |
| 889 | 889 | ||
| 890 | ** New per-buffer variables. | 890 | *** New per-buffer variables. |
| 891 | 891 | ||
| 892 | The variables `fill-prefix', `comment-column' and `indent-tabs-mode' | 892 | The variables `fill-prefix', `comment-column' and `indent-tabs-mode' |
| 893 | are now per-buffer. They work just like `fill-column', etc. | 893 | are now per-buffer. They work just like `fill-column', etc. |
| 894 | 894 | ||
| 895 | ** New function `setq-default'. | 895 | *** New function `setq-default'. |
| 896 | 896 | ||
| 897 | `setq-default' sets the default value of a variable, and uses the | 897 | `setq-default' sets the default value of a variable, and uses the |
| 898 | same syntax that `setq' accepts: the variable name is not evaluated | 898 | same syntax that `setq' accepts: the variable name is not evaluated |
| @@ -901,12 +901,12 @@ and need not be quoted. | |||
| 901 | `(setq-default case-fold-search nil)' would make searches case-sensitive | 901 | `(setq-default case-fold-search nil)' would make searches case-sensitive |
| 902 | in all buffers that do not have local values for `case-fold-search'. | 902 | in all buffers that do not have local values for `case-fold-search'. |
| 903 | 903 | ||
| 904 | ** Functions `global-set' and `global-value' deleted. | 904 | *** Functions `global-set' and `global-value' deleted. |
| 905 | 905 | ||
| 906 | These functions were never used except by mistake by users expecting | 906 | These functions were never used except by mistake by users expecting |
| 907 | the functionality of `set-default' and `default-value'. | 907 | the functionality of `set-default' and `default-value'. |
| 908 | 908 | ||
| 909 | * Changes in defaulting of major modes. | 909 | ** Changes in defaulting of major modes. |
| 910 | 910 | ||
| 911 | When `default-major-mode' is `nil', new buffers are supposed to | 911 | When `default-major-mode' is `nil', new buffers are supposed to |
| 912 | get their major mode from the buffer that is current. However, | 912 | get their major mode from the buffer that is current. However, |
| @@ -917,7 +917,7 @@ Now such modes' names have been given non-`nil' `mode-class' properties. | |||
| 917 | If the current buffer's mode has such a property, Fundamental mode is | 917 | If the current buffer's mode has such a property, Fundamental mode is |
| 918 | used as the default for newly created buffers. | 918 | used as the default for newly created buffers. |
| 919 | 919 | ||
| 920 | * `where-is-internal' requires additional arguments. | 920 | ** `where-is-internal' requires additional arguments. |
| 921 | 921 | ||
| 922 | This function now accepts three arguments, two of them required: | 922 | This function now accepts three arguments, two of them required: |
| 923 | DEFINITION, the definition to search for; LOCAL-KEYMAP, the keymap | 923 | DEFINITION, the definition to search for; LOCAL-KEYMAP, the keymap |
| @@ -938,38 +938,38 @@ The incompatibility is sad, but `nil' is a legitimate value for the | |||
| 938 | second argument (it means there is no local keymap), so it cannot also | 938 | second argument (it means there is no local keymap), so it cannot also |
| 939 | serve as a default meaning to use the current local keymap. | 939 | serve as a default meaning to use the current local keymap. |
| 940 | 940 | ||
| 941 | * Abbrevs with hooks. | 941 | ** Abbrevs with hooks. |
| 942 | 942 | ||
| 943 | When an abbrev defined with a hook is expanded, it now performs the | 943 | When an abbrev defined with a hook is expanded, it now performs the |
| 944 | usual replacement of the abbrev with the expansion before running the | 944 | usual replacement of the abbrev with the expansion before running the |
| 945 | hook. Previously the abbrev itself was deleted but the expansion was | 945 | hook. Previously the abbrev itself was deleted but the expansion was |
| 946 | not inserted. | 946 | not inserted. |
| 947 | 947 | ||
| 948 | * Function `scan-buffer' deleted. | 948 | ** Function `scan-buffer' deleted. |
| 949 | 949 | ||
| 950 | Use `search-forward' or `search-backward' in place of `scan-buffer'. | 950 | Use `search-forward' or `search-backward' in place of `scan-buffer'. |
| 951 | You will have to rearrange the arguments. | 951 | You will have to rearrange the arguments. |
| 952 | 952 | ||
| 953 | * X window interface improvements. | 953 | ** X window interface improvements. |
| 954 | 954 | ||
| 955 | ** Detect release of mouse buttons. | 955 | *** Detect release of mouse buttons. |
| 956 | 956 | ||
| 957 | Button-up events can now be detected. See the file `lisp/x-mouse.el' | 957 | Button-up events can now be detected. See the file `lisp/x-mouse.el' |
| 958 | for details. | 958 | for details. |
| 959 | 959 | ||
| 960 | ** New pop-up menu facility. | 960 | *** New pop-up menu facility. |
| 961 | 961 | ||
| 962 | The new function `x-popup-menu' pops up a menu (in a X window) | 962 | The new function `x-popup-menu' pops up a menu (in a X window) |
| 963 | and returns an indication of which selection the user made. | 963 | and returns an indication of which selection the user made. |
| 964 | For more information, see its self-documentation. | 964 | For more information, see its self-documentation. |
| 965 | 965 | ||
| 966 | * M-x disassemble. | 966 | ** M-x disassemble. |
| 967 | 967 | ||
| 968 | This command prints the disassembly of a byte-compiled Emacs Lisp function. | 968 | This command prints the disassembly of a byte-compiled Emacs Lisp function. |
| 969 | 969 | ||
| 970 | Would anyone like to interface this to the debugger? | 970 | Would anyone like to interface this to the debugger? |
| 971 | 971 | ||
| 972 | * `insert-buffer-substring' can insert part of the current buffer. | 972 | ** `insert-buffer-substring' can insert part of the current buffer. |
| 973 | 973 | ||
| 974 | The old restriction that the text being inserted had to come from | 974 | The old restriction that the text being inserted had to come from |
| 975 | a different buffer is now lifted. | 975 | a different buffer is now lifted. |
| @@ -977,7 +977,7 @@ a different buffer is now lifted. | |||
| 977 | When inserting text from the current buffer, the text to be inserted | 977 | When inserting text from the current buffer, the text to be inserted |
| 978 | is determined from the specified bounds before any copying takes place. | 978 | is determined from the specified bounds before any copying takes place. |
| 979 | 979 | ||
| 980 | * New function `substitute-key-definition'. | 980 | ** New function `substitute-key-definition'. |
| 981 | 981 | ||
| 982 | This is a new way to replace one command with another command as the | 982 | This is a new way to replace one command with another command as the |
| 983 | binding of whatever keys may happen to refer to it. | 983 | binding of whatever keys may happen to refer to it. |
| @@ -986,29 +986,29 @@ binding of whatever keys may happen to refer to it. | |||
| 986 | for keys defined to run OLDDEF, and rebinds those keys to run NEWDEF | 986 | for keys defined to run OLDDEF, and rebinds those keys to run NEWDEF |
| 987 | instead. | 987 | instead. |
| 988 | 988 | ||
| 989 | * New function `insert-char'. | 989 | ** New function `insert-char'. |
| 990 | 990 | ||
| 991 | Insert a specified character, a specified number of times. | 991 | Insert a specified character, a specified number of times. |
| 992 | 992 | ||
| 993 | * `mark-marker' changed. | 993 | ** `mark-marker' changed. |
| 994 | 994 | ||
| 995 | When there is no mark, this now returns a marker that points | 995 | When there is no mark, this now returns a marker that points |
| 996 | nowhere, rather than `nil'. | 996 | nowhere, rather than `nil'. |
| 997 | 997 | ||
| 998 | * `ding' accepts argument. | 998 | ** `ding' accepts argument. |
| 999 | 999 | ||
| 1000 | When given an argument, the function `ding' does not terminate | 1000 | When given an argument, the function `ding' does not terminate |
| 1001 | execution of a keyboard macro. Normally, `ding' does terminate | 1001 | execution of a keyboard macro. Normally, `ding' does terminate |
| 1002 | all macros that are currently executing. | 1002 | all macros that are currently executing. |
| 1003 | 1003 | ||
| 1004 | * New function `minibuffer-depth'. | 1004 | ** New function `minibuffer-depth'. |
| 1005 | 1005 | ||
| 1006 | This function returns the current depth in minibuffer activations. | 1006 | This function returns the current depth in minibuffer activations. |
| 1007 | The value is zero when the minibuffer is not in use. | 1007 | The value is zero when the minibuffer is not in use. |
| 1008 | Values greater than one are possible if the user has entered the | 1008 | Values greater than one are possible if the user has entered the |
| 1009 | minibuffer recursively. | 1009 | minibuffer recursively. |
| 1010 | 1010 | ||
| 1011 | * New function `documentation-property'. | 1011 | ** New function `documentation-property'. |
| 1012 | 1012 | ||
| 1013 | (documentation-property SYMBOL PROPNAME) is like (get SYMBOL PROPNAME), | 1013 | (documentation-property SYMBOL PROPNAME) is like (get SYMBOL PROPNAME), |
| 1014 | except that if the property value is a number `documentation-property' | 1014 | except that if the property value is a number `documentation-property' |
| @@ -1018,7 +1018,7 @@ in the DOC file and return the string found there. | |||
| 1018 | (documentation-property VAR 'variable-documentation) is the proper | 1018 | (documentation-property VAR 'variable-documentation) is the proper |
| 1019 | way for a Lisp program to get the documentation of variable VAR. | 1019 | way for a Lisp program to get the documentation of variable VAR. |
| 1020 | 1020 | ||
| 1021 | * New documentation-string expansion feature. | 1021 | ** New documentation-string expansion feature. |
| 1022 | 1022 | ||
| 1023 | If a documentation string (for a variable or function) contains text | 1023 | If a documentation string (for a variable or function) contains text |
| 1024 | of the form `\<FOO>', it means that all command names specified in | 1024 | of the form `\<FOO>', it means that all command names specified in |
| @@ -1045,7 +1045,7 @@ in the current buffer's local map. | |||
| 1045 | The current global keymap is always searched second, whether `\<...>' | 1045 | The current global keymap is always searched second, whether `\<...>' |
| 1046 | has been used or not. | 1046 | has been used or not. |
| 1047 | 1047 | ||
| 1048 | * Multiple hooks allowed in certain contexts. | 1048 | ** Multiple hooks allowed in certain contexts. |
| 1049 | 1049 | ||
| 1050 | The old hook variables `find-file-hook', `find-file-not-found-hook' and | 1050 | The old hook variables `find-file-hook', `find-file-not-found-hook' and |
| 1051 | `write-file-hook' have been replaced. | 1051 | `write-file-hook' have been replaced. |
| @@ -1072,7 +1072,7 @@ together to implement editing of files that are not stored as Unix | |||
| 1072 | files: stored in archives, or inside version control systems, or on | 1072 | files: stored in archives, or inside version control systems, or on |
| 1073 | other machines running other operating systems and accessible via ftp. | 1073 | other machines running other operating systems and accessible via ftp. |
| 1074 | 1074 | ||
| 1075 | * New hooks for suspending Emacs. | 1075 | ** New hooks for suspending Emacs. |
| 1076 | 1076 | ||
| 1077 | Suspending Emacs runs the hook `suspend-hook' before suspending | 1077 | Suspending Emacs runs the hook `suspend-hook' before suspending |
| 1078 | and the hook `suspend-resume-hook' if the suspended Emacs is resumed. | 1078 | and the hook `suspend-resume-hook' if the suspended Emacs is resumed. |
| @@ -1082,22 +1082,22 @@ non-`nil', then suspending is inhibited and so is running the | |||
| 1082 | `suspend-resume-hook'. The non-`nil' value means that the `suspend-hook' | 1082 | `suspend-resume-hook'. The non-`nil' value means that the `suspend-hook' |
| 1083 | has done whatever suspending is required. | 1083 | has done whatever suspending is required. |
| 1084 | 1084 | ||
| 1085 | * Disabling commands can print a special message. | 1085 | ** Disabling commands can print a special message. |
| 1086 | 1086 | ||
| 1087 | A command is disabled by giving it a non-`nil' `disabled' property. | 1087 | A command is disabled by giving it a non-`nil' `disabled' property. |
| 1088 | Now, if this property is a string, it is included in the message | 1088 | Now, if this property is a string, it is included in the message |
| 1089 | printed when the user tries to run the command. | 1089 | printed when the user tries to run the command. |
| 1090 | 1090 | ||
| 1091 | * Emacs can open TCP connections. | 1091 | ** Emacs can open TCP connections. |
| 1092 | 1092 | ||
| 1093 | The function `open-network-stream' opens a TCP connection to | 1093 | The function `open-network-stream' opens a TCP connection to |
| 1094 | a specified host and service. Its value is a Lisp object that represents | 1094 | a specified host and service. Its value is a Lisp object that represents |
| 1095 | the connection. The object is a kind of "subprocess", and I/O are | 1095 | the connection. The object is a kind of "subprocess", and I/O are |
| 1096 | done like I/O to subprocesses. | 1096 | done like I/O to subprocesses. |
| 1097 | 1097 | ||
| 1098 | * Display-related changes. | 1098 | ** Display-related changes. |
| 1099 | 1099 | ||
| 1100 | ** New mode-line control features. | 1100 | *** New mode-line control features. |
| 1101 | 1101 | ||
| 1102 | The display of the mode line used to be controlled by a format-string | 1102 | The display of the mode line used to be controlled by a format-string |
| 1103 | that was the value of the variable `mode-line-format'. | 1103 | that was the value of the variable `mode-line-format'. |
| @@ -1188,12 +1188,12 @@ global-mode-string | |||
| 1188 | The idea of these variables is to eliminate the need for major modes | 1188 | The idea of these variables is to eliminate the need for major modes |
| 1189 | to alter mode-line-format itself. | 1189 | to alter mode-line-format itself. |
| 1190 | 1190 | ||
| 1191 | ** `window-point' valid for selected window. | 1191 | *** `window-point' valid for selected window. |
| 1192 | 1192 | ||
| 1193 | The value returned by `window-point' used to be incorrect when its | 1193 | The value returned by `window-point' used to be incorrect when its |
| 1194 | argument was the selected window. Now the value is correct. | 1194 | argument was the selected window. Now the value is correct. |
| 1195 | 1195 | ||
| 1196 | ** Window configurations may be saved as Lisp objects. | 1196 | *** Window configurations may be saved as Lisp objects. |
| 1197 | 1197 | ||
| 1198 | The function `current-window-configuration' returns a special type of | 1198 | The function `current-window-configuration' returns a special type of |
| 1199 | Lisp object that represents the current layout of windows: the | 1199 | Lisp object that represents the current layout of windows: the |
| @@ -1203,7 +1203,7 @@ which parts of the buffers appear on the screen. | |||
| 1203 | The function `set-window-configuration' takes one argument, which must | 1203 | The function `set-window-configuration' takes one argument, which must |
| 1204 | be a window configuration object, and restores that configuration. | 1204 | be a window configuration object, and restores that configuration. |
| 1205 | 1205 | ||
| 1206 | ** New hook `temp-output-buffer-show-hook'. | 1206 | *** New hook `temp-output-buffer-show-hook'. |
| 1207 | 1207 | ||
| 1208 | This hook allows you to control how help buffers are displayed. | 1208 | This hook allows you to control how help buffers are displayed. |
| 1209 | Whenever `with-output-to-temp-buffer' has executed its body and wants | 1209 | Whenever `with-output-to-temp-buffer' has executed its body and wants |
| @@ -1213,30 +1213,30 @@ The hook function is solely responsible for displaying the buffer. | |||
| 1213 | The standard manner of display--making the buffer appear in a window--is | 1213 | The standard manner of display--making the buffer appear in a window--is |
| 1214 | used only if there is no hook function. | 1214 | used only if there is no hook function. |
| 1215 | 1215 | ||
| 1216 | ** New function `minibuffer-window'. | 1216 | *** New function `minibuffer-window'. |
| 1217 | 1217 | ||
| 1218 | This function returns the window used (sometimes) for displaying | 1218 | This function returns the window used (sometimes) for displaying |
| 1219 | the minibuffer. It can be used even when the minibuffer is not active. | 1219 | the minibuffer. It can be used even when the minibuffer is not active. |
| 1220 | 1220 | ||
| 1221 | ** New feature to `next-window'. | 1221 | *** New feature to `next-window'. |
| 1222 | 1222 | ||
| 1223 | If the optional second argument is neither `nil' nor `t', the minibuffer | 1223 | If the optional second argument is neither `nil' nor `t', the minibuffer |
| 1224 | window is omitted from consideration even when active; if the starting | 1224 | window is omitted from consideration even when active; if the starting |
| 1225 | window was the last non-minibuffer window, the value will be the first | 1225 | window was the last non-minibuffer window, the value will be the first |
| 1226 | non-minibuffer window. | 1226 | non-minibuffer window. |
| 1227 | 1227 | ||
| 1228 | ** New variable `minibuffer-scroll-window'. | 1228 | *** New variable `minibuffer-scroll-window'. |
| 1229 | 1229 | ||
| 1230 | When this variable is non-`nil', the command `scroll-other-window' | 1230 | When this variable is non-`nil', the command `scroll-other-window' |
| 1231 | uses it as the window to be scrolled. Displays of completion-lists | 1231 | uses it as the window to be scrolled. Displays of completion-lists |
| 1232 | set this variable to the window containing the display. | 1232 | set this variable to the window containing the display. |
| 1233 | 1233 | ||
| 1234 | ** New argument to `sit-for'. | 1234 | *** New argument to `sit-for'. |
| 1235 | 1235 | ||
| 1236 | A non-nil second argument to `sit-for' means do not redisplay; | 1236 | A non-nil second argument to `sit-for' means do not redisplay; |
| 1237 | just wait for the specified time or until input is available. | 1237 | just wait for the specified time or until input is available. |
| 1238 | 1238 | ||
| 1239 | ** Deleted function `set-minor-mode'; minor modes must be changed. | 1239 | *** Deleted function `set-minor-mode'; minor modes must be changed. |
| 1240 | 1240 | ||
| 1241 | The function `set-minor-mode' has been eliminated. The display | 1241 | The function `set-minor-mode' has been eliminated. The display |
| 1242 | of minor mode names in the mode line is now controlled by the | 1242 | of minor mode names in the mode line is now controlled by the |
| @@ -1245,7 +1245,7 @@ mode, it is sufficient to add an element to this list. Once that | |||
| 1245 | is done, you can turn the mode on and off just by setting a variable, | 1245 | is done, you can turn the mode on and off just by setting a variable, |
| 1246 | and the display will show its status automatically. | 1246 | and the display will show its status automatically. |
| 1247 | 1247 | ||
| 1248 | ** New variable `cursor-in-echo-area'. | 1248 | *** New variable `cursor-in-echo-area'. |
| 1249 | 1249 | ||
| 1250 | If this variable is non-nil, the screen cursor appears on the | 1250 | If this variable is non-nil, the screen cursor appears on the |
| 1251 | last line of the screen, at the end of the text displayed there. | 1251 | last line of the screen, at the end of the text displayed there. |
| @@ -1253,7 +1253,7 @@ last line of the screen, at the end of the text displayed there. | |||
| 1253 | Binding this variable to t is useful at times when reading single | 1253 | Binding this variable to t is useful at times when reading single |
| 1254 | characters of input with `read-char'. | 1254 | characters of input with `read-char'. |
| 1255 | 1255 | ||
| 1256 | ** New per-buffer variable `selective-display-ellipses'. | 1256 | *** New per-buffer variable `selective-display-ellipses'. |
| 1257 | 1257 | ||
| 1258 | If this variable is non-nil, an ellipsis (`...') appears on the screen | 1258 | If this variable is non-nil, an ellipsis (`...') appears on the screen |
| 1259 | at the end of each text line that is followed by invisible text. | 1259 | at the end of each text line that is followed by invisible text. |
| @@ -1264,14 +1264,14 @@ on the screen that invisible text is present. | |||
| 1264 | Text is made invisible under the control of the variable | 1264 | Text is made invisible under the control of the variable |
| 1265 | `selective-display'; this is how Outline mode and C-x $ work. | 1265 | `selective-display'; this is how Outline mode and C-x $ work. |
| 1266 | 1266 | ||
| 1267 | ** New variable `no-redraw-on-reenter'. | 1267 | *** New variable `no-redraw-on-reenter'. |
| 1268 | 1268 | ||
| 1269 | If you set this variable non-nil, Emacs will not clear the screen when | 1269 | If you set this variable non-nil, Emacs will not clear the screen when |
| 1270 | you resume it after suspending it. This is for the sake of terminals | 1270 | you resume it after suspending it. This is for the sake of terminals |
| 1271 | with multiple screens of memory, where the termcap entry has been set | 1271 | with multiple screens of memory, where the termcap entry has been set |
| 1272 | up to switch between screens when Emacs is suspended and resumed. | 1272 | up to switch between screens when Emacs is suspended and resumed. |
| 1273 | 1273 | ||
| 1274 | ** New argument to `set-screen-height' or `set-screen-width'. | 1274 | *** New argument to `set-screen-height' or `set-screen-width'. |
| 1275 | 1275 | ||
| 1276 | These functions now take an optional second argument which says | 1276 | These functions now take an optional second argument which says |
| 1277 | what significance the newly specified height or width has. | 1277 | what significance the newly specified height or width has. |
| @@ -1293,9 +1293,9 @@ to move the cursor to the last line will do. | |||
| 1293 | 2. The ``real'' height of the terminal determines how much padding is | 1293 | 2. The ``real'' height of the terminal determines how much padding is |
| 1294 | needed. | 1294 | needed. |
| 1295 | 1295 | ||
| 1296 | * File-related changes. | 1296 | ** File-related changes. |
| 1297 | 1297 | ||
| 1298 | ** New parameter `backup-by-copying-when-mismatch'. | 1298 | *** New parameter `backup-by-copying-when-mismatch'. |
| 1299 | 1299 | ||
| 1300 | If this variable is non-`nil', then when Emacs is about to save a | 1300 | If this variable is non-`nil', then when Emacs is about to save a |
| 1301 | file, it will create the backup file by copying if that would avoid | 1301 | file, it will create the backup file by copying if that would avoid |
| @@ -1307,7 +1307,7 @@ last. I recommend that this variable be left normally `nil' and | |||
| 1307 | changed with a local variables list in those particular files where | 1307 | changed with a local variables list in those particular files where |
| 1308 | the uid needs to be preserved. | 1308 | the uid needs to be preserved. |
| 1309 | 1309 | ||
| 1310 | ** New parameter `file-precious-flag'. | 1310 | *** New parameter `file-precious-flag'. |
| 1311 | 1311 | ||
| 1312 | If this variable is non-`nil', saving the buffer tries to avoid | 1312 | If this variable is non-`nil', saving the buffer tries to avoid |
| 1313 | leaving an incomplete file due to disk full or other I/O errors. | 1313 | leaving an incomplete file due to disk full or other I/O errors. |
| @@ -1317,14 +1317,14 @@ file is renamed back to the name you visited. | |||
| 1317 | 1317 | ||
| 1318 | Backups are always made by copying for such files. | 1318 | Backups are always made by copying for such files. |
| 1319 | 1319 | ||
| 1320 | ** New variable `buffer-offer-save'. | 1320 | *** New variable `buffer-offer-save'. |
| 1321 | 1321 | ||
| 1322 | If the value of this variable is non-`nil' in a buffer then exiting | 1322 | If the value of this variable is non-`nil' in a buffer then exiting |
| 1323 | Emacs will offer to save the buffer (if it is modified and nonempty) | 1323 | Emacs will offer to save the buffer (if it is modified and nonempty) |
| 1324 | even if the buffer is not visiting a file. This variable is | 1324 | even if the buffer is not visiting a file. This variable is |
| 1325 | automatically made local to the current buffer whenever it is set. | 1325 | automatically made local to the current buffer whenever it is set. |
| 1326 | 1326 | ||
| 1327 | ** `rename-file', `copy-file', `add-name-to-file' and `make-symbolic-link'. | 1327 | *** `rename-file', `copy-file', `add-name-to-file' and `make-symbolic-link'. |
| 1328 | 1328 | ||
| 1329 | The third argument to these functions used to be `t' or `nil'; `t' | 1329 | The third argument to these functions used to be `t' or `nil'; `t' |
| 1330 | meaning go ahead even if the specified new file name already has a file, | 1330 | meaning go ahead even if the specified new file name already has a file, |
| @@ -1333,13 +1333,13 @@ and `nil' meaning to get an error. | |||
| 1333 | Now if the third argument is a number it means to ask the user for | 1333 | Now if the third argument is a number it means to ask the user for |
| 1334 | confirmation in this case. | 1334 | confirmation in this case. |
| 1335 | 1335 | ||
| 1336 | ** New optional argument to `copy-file'. | 1336 | *** New optional argument to `copy-file'. |
| 1337 | 1337 | ||
| 1338 | If `copy-file' receives a non-nil fourth argument, it attempts | 1338 | If `copy-file' receives a non-nil fourth argument, it attempts |
| 1339 | to give the new copy the same time-of-last-modification that the | 1339 | to give the new copy the same time-of-last-modification that the |
| 1340 | original file has. | 1340 | original file has. |
| 1341 | 1341 | ||
| 1342 | ** New function `file-newer-than-file-p'. | 1342 | *** New function `file-newer-than-file-p'. |
| 1343 | 1343 | ||
| 1344 | (file-newer-than-file-p FILE1 FILE2) returns non-nil if FILE1 has been | 1344 | (file-newer-than-file-p FILE1 FILE2) returns non-nil if FILE1 has been |
| 1345 | modified more recently than FILE2. If FILE1 does not exist, the value | 1345 | modified more recently than FILE2. If FILE1 does not exist, the value |
| @@ -1347,24 +1347,24 @@ is always nil; otherwise, if FILE2 does not exist, the value is t. | |||
| 1347 | This is meant for use when FILE2 depends on FILE1, to see if changes | 1347 | This is meant for use when FILE2 depends on FILE1, to see if changes |
| 1348 | in FILE1 make it necessary to recompute FILE2 from it. | 1348 | in FILE1 make it necessary to recompute FILE2 from it. |
| 1349 | 1349 | ||
| 1350 | ** Changed function `file-exists-p'. | 1350 | *** Changed function `file-exists-p'. |
| 1351 | 1351 | ||
| 1352 | This function is no longer the same as `file-readable-p'. | 1352 | This function is no longer the same as `file-readable-p'. |
| 1353 | `file-exists-p' can now return t for a file that exists but which | 1353 | `file-exists-p' can now return t for a file that exists but which |
| 1354 | the fascists won't allow you to read. | 1354 | the fascists won't allow you to read. |
| 1355 | 1355 | ||
| 1356 | ** New function `file-locked-p'. | 1356 | *** New function `file-locked-p'. |
| 1357 | 1357 | ||
| 1358 | This function receives a file name as argument and returns `nil' | 1358 | This function receives a file name as argument and returns `nil' |
| 1359 | if the file is not locked, `t' if locked by this Emacs, or a | 1359 | if the file is not locked, `t' if locked by this Emacs, or a |
| 1360 | string giving the name of the user who has locked it. | 1360 | string giving the name of the user who has locked it. |
| 1361 | 1361 | ||
| 1362 | ** New function `file-name-sans-versions'. | 1362 | *** New function `file-name-sans-versions'. |
| 1363 | 1363 | ||
| 1364 | (file-name-sans-versions NAME) returns a substring of NAME, with any | 1364 | (file-name-sans-versions NAME) returns a substring of NAME, with any |
| 1365 | version numbers or other backup suffixes deleted from the end. | 1365 | version numbers or other backup suffixes deleted from the end. |
| 1366 | 1366 | ||
| 1367 | ** New functions for directory names. | 1367 | *** New functions for directory names. |
| 1368 | 1368 | ||
| 1369 | Although a directory is really a kind of file, specifying a directory | 1369 | Although a directory is really a kind of file, specifying a directory |
| 1370 | uses a somewhat different syntax from specifying a file. | 1370 | uses a somewhat different syntax from specifying a file. |
| @@ -1390,7 +1390,7 @@ and (directory-file-name "/usr/rms/") returns "/usr/rms". | |||
| 1390 | On VMS, (file-name-as-directory "du:[rms]foo.dir") returns "du:[rms.foo]" | 1390 | On VMS, (file-name-as-directory "du:[rms]foo.dir") returns "du:[rms.foo]" |
| 1391 | and (directory-file-name "du:[rms.foo]") returns "du:[rms]foo.dir". | 1391 | and (directory-file-name "du:[rms.foo]") returns "du:[rms]foo.dir". |
| 1392 | 1392 | ||
| 1393 | ** Value of `file-attributes' changed. | 1393 | *** Value of `file-attributes' changed. |
| 1394 | 1394 | ||
| 1395 | The function file-attributes returns a list containing many kinds of | 1395 | The function file-attributes returns a list containing many kinds of |
| 1396 | information about a file. Now the list has eleven elements. | 1396 | information about a file. Now the list has eleven elements. |
| @@ -1403,14 +1403,14 @@ the same directory by you. | |||
| 1403 | 1403 | ||
| 1404 | The eleventh element is the inode number of the file. | 1404 | The eleventh element is the inode number of the file. |
| 1405 | 1405 | ||
| 1406 | ** VMS-only function `file-name-all-versions'. | 1406 | *** VMS-only function `file-name-all-versions'. |
| 1407 | 1407 | ||
| 1408 | This function returns a list of all the completions, including version | 1408 | This function returns a list of all the completions, including version |
| 1409 | number, of a specified version-number-less file name. This is like | 1409 | number, of a specified version-number-less file name. This is like |
| 1410 | `file-name-all-completions', except that the latter returns values | 1410 | `file-name-all-completions', except that the latter returns values |
| 1411 | that do not include version numbers. | 1411 | that do not include version numbers. |
| 1412 | 1412 | ||
| 1413 | ** VMS-only variable `vms-stmlf-recfm'. | 1413 | *** VMS-only variable `vms-stmlf-recfm'. |
| 1414 | 1414 | ||
| 1415 | On a VMS system, if this variable is non-nil, Emacs will give newly | 1415 | On a VMS system, if this variable is non-nil, Emacs will give newly |
| 1416 | created files the record format `stmlf'. This is necessary for files | 1416 | created files the record format `stmlf'. This is necessary for files |
| @@ -1423,46 +1423,46 @@ no effect. | |||
| 1423 | 1423 | ||
| 1424 | This variable has no effect on Unix systems. | 1424 | This variable has no effect on Unix systems. |
| 1425 | 1425 | ||
| 1426 | ** `insert-file-contents' on an empty file. | 1426 | *** `insert-file-contents' on an empty file. |
| 1427 | 1427 | ||
| 1428 | This no longer sets the buffer's "modified" flag. | 1428 | This no longer sets the buffer's "modified" flag. |
| 1429 | 1429 | ||
| 1430 | ** New function (VMS only) `define-logical-name': | 1430 | *** New function (VMS only) `define-logical-name': |
| 1431 | 1431 | ||
| 1432 | (define-logical-name LOGICAL TRANSLATION) defines a VMS logical name | 1432 | (define-logical-name LOGICAL TRANSLATION) defines a VMS logical name |
| 1433 | LOGICAL whose translation is TRANSLATION. The new name applies to | 1433 | LOGICAL whose translation is TRANSLATION. The new name applies to |
| 1434 | the current process only. | 1434 | the current process only. |
| 1435 | 1435 | ||
| 1436 | ** Deleted variable `ask-about-buffer-names'. | 1436 | *** Deleted variable `ask-about-buffer-names'. |
| 1437 | 1437 | ||
| 1438 | If you want buffer names for files to be generated in a special way, | 1438 | If you want buffer names for files to be generated in a special way, |
| 1439 | you must redefine `create-file-buffer'. | 1439 | you must redefine `create-file-buffer'. |
| 1440 | 1440 | ||
| 1441 | * Subprocess-related changes. | 1441 | ** Subprocess-related changes. |
| 1442 | 1442 | ||
| 1443 | ** New function `process-list'. | 1443 | *** New function `process-list'. |
| 1444 | 1444 | ||
| 1445 | This function takes no arguments and returns a list of all | 1445 | This function takes no arguments and returns a list of all |
| 1446 | of Emacs's asynchronous subprocesses. | 1446 | of Emacs's asynchronous subprocesses. |
| 1447 | 1447 | ||
| 1448 | ** New function `process-exit-status'. | 1448 | *** New function `process-exit-status'. |
| 1449 | 1449 | ||
| 1450 | This function, given a process, process name or buffer as argument, | 1450 | This function, given a process, process name or buffer as argument, |
| 1451 | returns the exit status code or signal number of the process. | 1451 | returns the exit status code or signal number of the process. |
| 1452 | If the process has not yet exited or died, this function returns 0. | 1452 | If the process has not yet exited or died, this function returns 0. |
| 1453 | 1453 | ||
| 1454 | ** Process output ignores `buffer-read-only'. | 1454 | *** Process output ignores `buffer-read-only'. |
| 1455 | 1455 | ||
| 1456 | Output from a process will go into the process's buffer even if the | 1456 | Output from a process will go into the process's buffer even if the |
| 1457 | buffer is read only. | 1457 | buffer is read only. |
| 1458 | 1458 | ||
| 1459 | ** Switching buffers in filter functions and sentinels. | 1459 | *** Switching buffers in filter functions and sentinels. |
| 1460 | 1460 | ||
| 1461 | Emacs no longer saves and restore the current buffer around calling | 1461 | Emacs no longer saves and restore the current buffer around calling |
| 1462 | the filter and sentinel functions, so these functions can now | 1462 | the filter and sentinel functions, so these functions can now |
| 1463 | permanently alter the selected buffer in a straightforward manner. | 1463 | permanently alter the selected buffer in a straightforward manner. |
| 1464 | 1464 | ||
| 1465 | ** Specifying environment variables for subprocesses. | 1465 | *** Specifying environment variables for subprocesses. |
| 1466 | 1466 | ||
| 1467 | When a subprocess is started with `start-process' or `call-process', | 1467 | When a subprocess is started with `start-process' or `call-process', |
| 1468 | the value of the variable `process-environment' is taken to | 1468 | the value of the variable `process-environment' is taken to |
| @@ -1472,38 +1472,38 @@ value should be a list of strings, each of the form "VAR=VALUE". | |||
| 1472 | `process-environment' is initialized when Emacs starts up | 1472 | `process-environment' is initialized when Emacs starts up |
| 1473 | based on Emacs's environment. | 1473 | based on Emacs's environment. |
| 1474 | 1474 | ||
| 1475 | ** New variable `process-connection-type'. | 1475 | *** New variable `process-connection-type'. |
| 1476 | 1476 | ||
| 1477 | If this variable is `nil', when a subprocess is created, Emacs uses | 1477 | If this variable is `nil', when a subprocess is created, Emacs uses |
| 1478 | a pipe rather than a pty to communicate with it. Normally this | 1478 | a pipe rather than a pty to communicate with it. Normally this |
| 1479 | variable is `t', telling Emacs to use a pty if ptys are supported | 1479 | variable is `t', telling Emacs to use a pty if ptys are supported |
| 1480 | and one is available. | 1480 | and one is available. |
| 1481 | 1481 | ||
| 1482 | ** New function `waiting-for-user-input-p'. | 1482 | *** New function `waiting-for-user-input-p'. |
| 1483 | 1483 | ||
| 1484 | This function, given a subprocess as argument, returns `t' if that | 1484 | This function, given a subprocess as argument, returns `t' if that |
| 1485 | subprocess appears to be waiting for input sent from Emacs, | 1485 | subprocess appears to be waiting for input sent from Emacs, |
| 1486 | or `nil' otherwise. | 1486 | or `nil' otherwise. |
| 1487 | 1487 | ||
| 1488 | ** New hook `shell-set-directory-error-hook'. | 1488 | *** New hook `shell-set-directory-error-hook'. |
| 1489 | 1489 | ||
| 1490 | The value of this variable is called, with no arguments, whenever | 1490 | The value of this variable is called, with no arguments, whenever |
| 1491 | Shell mode gets an error trying to keep track of directory-setting | 1491 | Shell mode gets an error trying to keep track of directory-setting |
| 1492 | commands (such as `cd' and `pushd') used in the shell buffer. | 1492 | commands (such as `cd' and `pushd') used in the shell buffer. |
| 1493 | 1493 | ||
| 1494 | * New functions `user-uid' and `user-real-uid'. | 1494 | ** New functions `user-uid' and `user-real-uid'. |
| 1495 | 1495 | ||
| 1496 | These functions take no arguments and return, respectively, | 1496 | These functions take no arguments and return, respectively, |
| 1497 | the effective uid and the real uid of the Emacs process. | 1497 | the effective uid and the real uid of the Emacs process. |
| 1498 | The value in each case is an integer. | 1498 | The value in each case is an integer. |
| 1499 | 1499 | ||
| 1500 | * New variable `print-escape-newlines' controls string printing. | 1500 | ** New variable `print-escape-newlines' controls string printing. |
| 1501 | 1501 | ||
| 1502 | If this variable is non-`nil', then when a Lisp string is printed | 1502 | If this variable is non-`nil', then when a Lisp string is printed |
| 1503 | by the Lisp printing function `prin1' or `print', newline characters | 1503 | by the Lisp printing function `prin1' or `print', newline characters |
| 1504 | are printed as `\n' rather than as a literal newline. | 1504 | are printed as `\n' rather than as a literal newline. |
| 1505 | 1505 | ||
| 1506 | * New function `sysnetunam' on HPUX. | 1506 | ** New function `sysnetunam' on HPUX. |
| 1507 | 1507 | ||
| 1508 | This function takes two arguments, a network address PATH and a | 1508 | This function takes two arguments, a network address PATH and a |
| 1509 | login string LOGIN, and executes the system call `netunam'. | 1509 | login string LOGIN, and executes the system call `netunam'. |
| @@ -1511,7 +1511,7 @@ It returns `t' if the call succeeds, otherwise `nil'. | |||
| 1511 | 1511 | ||
| 1512 | News regarding installation: | 1512 | News regarding installation: |
| 1513 | 1513 | ||
| 1514 | * Many `s-...' file names changed. | 1514 | ** Many `s-...' file names changed. |
| 1515 | 1515 | ||
| 1516 | Many `s-...' files have been renamed. All periods in such names, | 1516 | Many `s-...' files have been renamed. All periods in such names, |
| 1517 | except the ones just before the final `h', have been changed to | 1517 | except the ones just before the final `h', have been changed to |
| @@ -1519,7 +1519,7 @@ hyphens. Thus, `s-bsd4.2.h' has been renamed to `s-bsd4-2.h'. | |||
| 1519 | 1519 | ||
| 1520 | This is so a Unix distribution can be moved mechanically to VMS. | 1520 | This is so a Unix distribution can be moved mechanically to VMS. |
| 1521 | 1521 | ||
| 1522 | * `DOCSTR...' file now called `DOC-...'. | 1522 | ** `DOCSTR...' file now called `DOC-...'. |
| 1523 | 1523 | ||
| 1524 | The file of on-line documentation strings, that used to be | 1524 | The file of on-line documentation strings, that used to be |
| 1525 | `DOCSTR.mm.nn.oo' in this directory, is now called `DOC-mm.nn.oo'. | 1525 | `DOCSTR.mm.nn.oo' in this directory, is now called `DOC-mm.nn.oo'. |
| @@ -1529,11 +1529,11 @@ for translating filenames for VMS. | |||
| 1529 | This file also now contains the doc strings for variables as | 1529 | This file also now contains the doc strings for variables as |
| 1530 | well as functions. | 1530 | well as functions. |
| 1531 | 1531 | ||
| 1532 | * Emacs no longer uses floating point arithmetic. | 1532 | ** Emacs no longer uses floating point arithmetic. |
| 1533 | 1533 | ||
| 1534 | This may make it easier to port to some machines. | 1534 | This may make it easier to port to some machines. |
| 1535 | 1535 | ||
| 1536 | * Macros `XPNTR' and `XSETPNTR'; flag `DATA_SEG_BITS'. | 1536 | ** Macros `XPNTR' and `XSETPNTR'; flag `DATA_SEG_BITS'. |
| 1537 | 1537 | ||
| 1538 | These macros exclusively are used to unpack a pointer from a Lisp_Object | 1538 | These macros exclusively are used to unpack a pointer from a Lisp_Object |
| 1539 | and to insert a pointer into a Lisp_Object. Redefining them may help | 1539 | and to insert a pointer into a Lisp_Object. Redefining them may help |
| @@ -1543,7 +1543,7 @@ certain high bits set. | |||
| 1543 | If `DATA_SEG_BITS' is defined, it should be a number which contains | 1543 | If `DATA_SEG_BITS' is defined, it should be a number which contains |
| 1544 | the high bits to be inclusive or'ed with pointers that are unpacked. | 1544 | the high bits to be inclusive or'ed with pointers that are unpacked. |
| 1545 | 1545 | ||
| 1546 | * New flag `HAVE_X_MENU'. | 1546 | ** New flag `HAVE_X_MENU'. |
| 1547 | 1547 | ||
| 1548 | Define this flag in `config.h' in addition to `HAVE_X_WINDOWS' | 1548 | Define this flag in `config.h' in addition to `HAVE_X_WINDOWS' |
| 1549 | to enable use of the Emacs interface to X Menus. On some operating | 1549 | to enable use of the Emacs interface to X Menus. On some operating |
| @@ -1551,11 +1551,11 @@ systems, the rest of the X interface works properly but X Menus | |||
| 1551 | do not work; hence this separate flag. See the file `src/xmenu.c' | 1551 | do not work; hence this separate flag. See the file `src/xmenu.c' |
| 1552 | for more information. | 1552 | for more information. |
| 1553 | 1553 | ||
| 1554 | * Macros `ARRAY_MARK_FLAG' and `DONT_COPY_FLAG'. | 1554 | ** Macros `ARRAY_MARK_FLAG' and `DONT_COPY_FLAG'. |
| 1555 | 1555 | ||
| 1556 | * `HAVE_ALLOCA' prevents assembly of `alloca.s'. | 1556 | ** `HAVE_ALLOCA' prevents assembly of `alloca.s'. |
| 1557 | 1557 | ||
| 1558 | * `SYSTEM_MALLOC' prevents use of GNU `malloc.c'. | 1558 | ** `SYSTEM_MALLOC' prevents use of GNU `malloc.c'. |
| 1559 | 1559 | ||
| 1560 | SYSTEM_MALLOC, if defined, means use the system's own `malloc' routines | 1560 | SYSTEM_MALLOC, if defined, means use the system's own `malloc' routines |
| 1561 | rather than those that come with Emacs. | 1561 | rather than those that come with Emacs. |
| @@ -1563,21 +1563,21 @@ rather than those that come with Emacs. | |||
| 1563 | Use this only if absolutely necessary, because if it is used you do | 1563 | Use this only if absolutely necessary, because if it is used you do |
| 1564 | not get warnings when space is getting low. | 1564 | not get warnings when space is getting low. |
| 1565 | 1565 | ||
| 1566 | * New flags to control unexec. | 1566 | ** New flags to control unexec. |
| 1567 | 1567 | ||
| 1568 | See the file `unexec.c' for a long comment on the compilation | 1568 | See the file `unexec.c' for a long comment on the compilation |
| 1569 | switches that suffice to make it work on many machines. | 1569 | switches that suffice to make it work on many machines. |
| 1570 | 1570 | ||
| 1571 | * `PNTR_COMPARISON_TYPE' | 1571 | ** `PNTR_COMPARISON_TYPE' |
| 1572 | 1572 | ||
| 1573 | Pointers that need to be compared for ordering are converted to this type | 1573 | Pointers that need to be compared for ordering are converted to this type |
| 1574 | first. Normally this is `unsigned int'. | 1574 | first. Normally this is `unsigned int'. |
| 1575 | 1575 | ||
| 1576 | * `HAVE_VFORK', `HAVE_DUP2' and `HAVE_GETTIMEOFDAY'. | 1576 | ** `HAVE_VFORK', `HAVE_DUP2' and `HAVE_GETTIMEOFDAY'. |
| 1577 | 1577 | ||
| 1578 | These flags just say whether certain system calls are available. | 1578 | These flags just say whether certain system calls are available. |
| 1579 | 1579 | ||
| 1580 | * New macros control compiler switches, linker switches and libraries. | 1580 | ** New macros control compiler switches, linker switches and libraries. |
| 1581 | 1581 | ||
| 1582 | The m- and s- files can now control in a modular fashion the precise | 1582 | The m- and s- files can now control in a modular fashion the precise |
| 1583 | arguments passed to `cc' and `ld'. | 1583 | arguments passed to `cc' and `ld'. |
| @@ -1618,5 +1618,5 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | |||
| 1618 | 1618 | ||
| 1619 | 1619 | ||
| 1620 | Local variables: | 1620 | Local variables: |
| 1621 | mode: text | 1621 | mode: outline |
| 1622 | end: | 1622 | end: |