diff options
| author | Glenn Morris | 2007-05-05 22:39:58 +0000 |
|---|---|---|
| committer | Glenn Morris | 2007-05-05 22:39:58 +0000 |
| commit | 8ec65cd7d1b257e2d30b4467eea42bb52bb802f9 (patch) | |
| tree | e20b2fc1ddbc7d22653814b9603a62ce74bb79b1 | |
| parent | 2aaacad4c73bd24ed43019c436c62ff46faec622 (diff) | |
| download | emacs-8ec65cd7d1b257e2d30b4467eea42bb52bb802f9.tar.gz emacs-8ec65cd7d1b257e2d30b4467eea42bb52bb802f9.zip | |
Try to rearrange by related topics, and some order of importance.
| -rw-r--r-- | etc/NEWS | 3321 |
1 files changed, 1667 insertions, 1654 deletions
| @@ -41,14 +41,6 @@ Some specific packages that are known to cause problems are: | |||
| 41 | when you run configure. This requires Gtk+ 2.4 or newer. This port | 41 | when you run configure. This requires Gtk+ 2.4 or newer. This port |
| 42 | provides a way to display multilingual text in menus (with some caveats). | 42 | provides a way to display multilingual text in menus (with some caveats). |
| 43 | 43 | ||
| 44 | ** Emacs comes with a new set of icons. | ||
| 45 | These icons are displayed on the taskbar and/or titlebar when Emacs | ||
| 46 | runs in a graphical environment. Source files for these icons can be | ||
| 47 | found in etc/images/icons. (You can't change the icons displayed by | ||
| 48 | Emacs by changing these files directly. On X, the icon is compiled | ||
| 49 | into the Emacs executable; see gnu.h in the source tree. On MS | ||
| 50 | Windows, see nt/icons/emacs.ico.) | ||
| 51 | |||
| 52 | ** The Emacs Lisp Reference Manual is now part of the distribution. | 44 | ** The Emacs Lisp Reference Manual is now part of the distribution. |
| 53 | 45 | ||
| 54 | The Emacs Lisp Reference Manual in Info format is built as part of the | 46 | The Emacs Lisp Reference Manual in Info format is built as part of the |
| @@ -68,22 +60,14 @@ item was added to the menu bar to make it easily accessible | |||
| 68 | You no longer need to download a separate tarball in order to build | 60 | You no longer need to download a separate tarball in order to build |
| 69 | Emacs with Leim. | 61 | Emacs with Leim. |
| 70 | 62 | ||
| 71 | ** New translations of the Emacs Tutorial are available in the | 63 | ** Support for MacOS X was added. |
| 72 | following languages: Brasilian Portuguese, Bulgarian, Chinese (both | 64 | See the files mac/README and mac/INSTALL for build instructions. |
| 73 | with simplified and traditional characters), French, Russian, and | ||
| 74 | Italian. Type `C-u C-h t' to choose one of them in case your language | ||
| 75 | setup doesn't automatically select the right one. | ||
| 76 | |||
| 77 | ** New translations of the Emacs reference card are available in the | ||
| 78 | Brasilian Portuguese and Russian. The corresponding PostScript files | ||
| 79 | are also included. | ||
| 80 | 65 | ||
| 81 | ** A French translation of the `Emacs Survival Guide' is available. | 66 | ** Mac OS 9 port now uses the Carbon API by default. You can also |
| 67 | create a non-Carbon build by specifying `NonCarbon' as a target. See | ||
| 68 | the files mac/README and mac/INSTALL for build instructions. | ||
| 82 | 69 | ||
| 83 | ** Emacs now includes support for loading image libraries on demand. | 70 | ** Support for a Cygwin build of Emacs was added. |
| 84 | (Currently this feature is only used on MS Windows.) You can configure | ||
| 85 | the supported image types and their associated dynamic libraries by | ||
| 86 | setting the variable `image-library-alist'. | ||
| 87 | 71 | ||
| 88 | ** Support for GNU/Linux systems on X86-64 machines was added. | 72 | ** Support for GNU/Linux systems on X86-64 machines was added. |
| 89 | 73 | ||
| @@ -93,19 +77,17 @@ setting the variable `image-library-alist'. | |||
| 93 | 77 | ||
| 94 | ** Support for FreeBSD/Alpha has been added. | 78 | ** Support for FreeBSD/Alpha has been added. |
| 95 | 79 | ||
| 96 | ** Support for a Cygwin build of Emacs was added. | 80 | ** New translations of the Emacs Tutorial are available in the |
| 97 | 81 | following languages: Brasilian Portuguese, Bulgarian, Chinese (both | |
| 98 | ** Support for MacOS X was added. | 82 | with simplified and traditional characters), French, Russian, and |
| 99 | See the files mac/README and mac/INSTALL for build instructions. | 83 | Italian. Type `C-u C-h t' to choose one of them in case your language |
| 100 | 84 | setup doesn't automatically select the right one. | |
| 101 | ** Mac OS 9 port now uses the Carbon API by default. You can also | ||
| 102 | create a non-Carbon build by specifying `NonCarbon' as a target. See | ||
| 103 | the files mac/README and mac/INSTALL for build instructions. | ||
| 104 | 85 | ||
| 105 | ** The `emacsserver' program has been removed, replaced with Lisp code. | 86 | ** New translations of the Emacs reference card are available in the |
| 87 | Brasilian Portuguese and Russian. The corresponding PostScript files | ||
| 88 | are also included. | ||
| 106 | 89 | ||
| 107 | ** The `yow' program has been removed. | 90 | ** A French translation of the `Emacs Survival Guide' is available. |
| 108 | Use the corresponding Emacs feature instead. | ||
| 109 | 91 | ||
| 110 | ** Emacs now supports new configure options `--program-prefix', | 92 | ** Emacs now supports new configure options `--program-prefix', |
| 111 | `--program-suffix' and `--program-transform-name' that affect the names of | 93 | `--program-suffix' and `--program-transform-name' that affect the names of |
| @@ -119,37 +101,68 @@ to own the game scores is controlled by `--with-game-user'. If access | |||
| 119 | to a game user is not available, then scores will be stored separately | 101 | to a game user is not available, then scores will be stored separately |
| 120 | in each user's home directory. | 102 | in each user's home directory. |
| 121 | 103 | ||
| 104 | ** Emacs now includes support for loading image libraries on demand. | ||
| 105 | (Currently this feature is only used on MS Windows.) You can configure | ||
| 106 | the supported image types and their associated dynamic libraries by | ||
| 107 | setting the variable `image-library-alist'. | ||
| 108 | |||
| 122 | ** Emacs can now be built without sound support. | 109 | ** Emacs can now be built without sound support. |
| 123 | 110 | ||
| 124 | ** Building with -DENABLE_CHECKING does not automatically build with union | 111 | ** Emacs Lisp source files are compressed by default if `gzip' is available. |
| 125 | types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. | ||
| 126 | 112 | ||
| 127 | ** When pure storage overflows while dumping, Emacs now prints how | 113 | ** All images used in Emacs have been consolidated in etc/images and subdirs. |
| 128 | much pure storage it will approximately need. | 114 | See also the changes to `find-image', documented below. |
| 129 | 115 | ||
| 130 | ** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the | 116 | ** Emacs comes with a new set of icons. |
| 131 | contents of buffers from a core dump and save them to files easily, should | 117 | These icons are displayed on the taskbar and/or titlebar when Emacs |
| 132 | Emacs crash. | 118 | runs in a graphical environment. Source files for these icons can be |
| 119 | found in etc/images/icons. (You can't change the icons displayed by | ||
| 120 | Emacs by changing these files directly. On X, the icon is compiled | ||
| 121 | into the Emacs executable; see gnu.h in the source tree. On MS | ||
| 122 | Windows, see nt/icons/emacs.ico.) | ||
| 123 | |||
| 124 | ** The `emacsserver' program has been removed, replaced with Lisp code. | ||
| 125 | |||
| 126 | ** The `yow' program has been removed. | ||
| 127 | Use the corresponding Emacs feature instead. | ||
| 133 | 128 | ||
| 134 | ** The Emacs terminal emulation in term.el uses a different terminfo name. | 129 | ** The Emacs terminal emulation in term.el uses a different terminfo name. |
| 135 | The Emacs terminal emulation in term.el now uses "eterm-color" as its | 130 | The Emacs terminal emulation in term.el now uses "eterm-color" as its |
| 136 | terminfo name, since term.el now supports color. | 131 | terminfo name, since term.el now supports color. |
| 137 | 132 | ||
| 138 | ** Emacs Lisp source files are compressed by default if `gzip' is available. | 133 | ** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the |
| 134 | contents of buffers from a core dump and save them to files easily, should | ||
| 135 | Emacs crash. | ||
| 139 | 136 | ||
| 140 | ** All images used in Emacs have been consolidated in etc/images and subdirs. | 137 | ** Building with -DENABLE_CHECKING does not automatically build with union |
| 141 | See also the changes to `find-image', documented below. | 138 | types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. |
| 139 | |||
| 140 | ** When pure storage overflows while dumping, Emacs now prints how | ||
| 141 | much pure storage it will approximately need. | ||
| 142 | 142 | ||
| 143 | 143 | ||
| 144 | * Startup Changes in Emacs 22.1 | 144 | * Startup Changes in Emacs 22.1 |
| 145 | 145 | ||
| 146 | ** New command line option -Q or --quick. | 146 | ** Init file changes |
| 147 | This is like using -q --no-site-file, but in addition it also disables | 147 | If the init file ~/.emacs does not exist, Emacs will try |
| 148 | the fancy startup screen. | 148 | ~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file |
| 149 | ~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh. | ||
| 149 | 150 | ||
| 150 | ** New command line option -D or --basic-display. | 151 | ** Emacs can now be invoked in full-screen mode on a windowed display. |
| 151 | Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and | 152 | When Emacs is invoked on a window system, the new command-line options |
| 152 | the blinking cursor. | 153 | `--fullwidth', `--fullheight', and `--fullscreen' produce a frame |
| 154 | whose width, height, or both width and height take up the entire | ||
| 155 | screen size. (For now, this does not work with some window managers.) | ||
| 156 | |||
| 157 | ** Emacs now displays a splash screen by default even if command-line | ||
| 158 | arguments were given. The new command-line option --no-splash | ||
| 159 | disables the splash screen; see also the variable | ||
| 160 | `inhibit-splash-screen' (which is also aliased as | ||
| 161 | `inhibit-startup-message'). | ||
| 162 | |||
| 163 | ** New user option `inhibit-startup-buffer-menu'. | ||
| 164 | When loading many files, for instance with `emacs *', Emacs normally | ||
| 165 | displays a buffer menu. This option turns the buffer menu off. | ||
| 153 | 166 | ||
| 154 | ** New command line option -nbc or --no-blinking-cursor disables | 167 | ** New command line option -nbc or --no-blinking-cursor disables |
| 155 | the blinking cursor on graphical terminals. | 168 | the blinking cursor on graphical terminals. |
| @@ -160,6 +173,10 @@ can start with this line: | |||
| 160 | 173 | ||
| 161 | #!/usr/bin/emacs --script | 174 | #!/usr/bin/emacs --script |
| 162 | 175 | ||
| 176 | ** The -f option, used from the command line to call a function, | ||
| 177 | now reads arguments for the function interactively if it is | ||
| 178 | an interactively callable function. | ||
| 179 | |||
| 163 | ** The option --directory DIR now modifies `load-path' immediately. | 180 | ** The option --directory DIR now modifies `load-path' immediately. |
| 164 | Directories are added to the front of `load-path' in the order they | 181 | Directories are added to the front of `load-path' in the order they |
| 165 | appear on the command line. For example, with this command line: | 182 | appear on the command line. For example, with this command line: |
| @@ -169,16 +186,6 @@ appear on the command line. For example, with this command line: | |||
| 169 | Emacs looks for library `foo' in the parent directory, then in /tmp, then | 186 | Emacs looks for library `foo' in the parent directory, then in /tmp, then |
| 170 | in the other directories in `load-path'. (-L is short for --directory.) | 187 | in the other directories in `load-path'. (-L is short for --directory.) |
| 171 | 188 | ||
| 172 | ** The command line option --no-windows has been changed to | ||
| 173 | --no-window-system. The old one still works, but is deprecated. | ||
| 174 | |||
| 175 | ** If the environment variable DISPLAY specifies an unreachable X display, | ||
| 176 | Emacs will now startup as if invoked with the --no-window-system option. | ||
| 177 | |||
| 178 | ** The -f option, used from the command line to call a function, | ||
| 179 | now reads arguments for the function interactively if it is | ||
| 180 | an interactively callable function. | ||
| 181 | |||
| 182 | ** When you specify a frame size with --geometry, the size applies to | 189 | ** When you specify a frame size with --geometry, the size applies to |
| 183 | all frames you create. A position specified with --geometry only | 190 | all frames you create. A position specified with --geometry only |
| 184 | affects the initial frame. | 191 | affects the initial frame. |
| @@ -189,30 +196,11 @@ with respect to its frame position: if you don't specify a position | |||
| 189 | command-line option), Emacs leaves the frame position to the Windows' | 196 | command-line option), Emacs leaves the frame position to the Windows' |
| 190 | window manager. | 197 | window manager. |
| 191 | 198 | ||
| 192 | ** Emacs can now be invoked in full-screen mode on a windowed display. | 199 | ** The command line option --no-windows has been changed to |
| 193 | When Emacs is invoked on a window system, the new command-line options | 200 | --no-window-system. The old one still works, but is deprecated. |
| 194 | `--fullwidth', `--fullheight', and `--fullscreen' produce a frame | ||
| 195 | whose width, height, or both width and height take up the entire | ||
| 196 | screen size. (For now, this does not work with some window managers.) | ||
| 197 | |||
| 198 | ** Emacs now displays a splash screen by default even if command-line | ||
| 199 | arguments were given. The new command-line option --no-splash | ||
| 200 | disables the splash screen; see also the variable | ||
| 201 | `inhibit-splash-screen' (which is also aliased as | ||
| 202 | `inhibit-startup-message'). | ||
| 203 | |||
| 204 | ** The default is now to use a bitmap as the icon. | ||
| 205 | The command-line options --icon-type, -i have been replaced with | ||
| 206 | options --no-bitmap-icon, -nbi to turn the bitmap icon off. | ||
| 207 | |||
| 208 | ** New user option `inhibit-startup-buffer-menu'. | ||
| 209 | When loading many files, for instance with `emacs *', Emacs normally | ||
| 210 | displays a buffer menu. This option turns the buffer menu off. | ||
| 211 | 201 | ||
| 212 | ** Init file changes | 202 | ** If the environment variable DISPLAY specifies an unreachable X display, |
| 213 | If the init file ~/.emacs does not exist, Emacs will try | 203 | Emacs will now startup as if invoked with the --no-window-system option. |
| 214 | ~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file | ||
| 215 | ~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh. | ||
| 216 | 204 | ||
| 217 | ** Emacs now reads the standard abbrevs file ~/.abbrev_defs | 205 | ** Emacs now reads the standard abbrevs file ~/.abbrev_defs |
| 218 | automatically at startup, if it exists. When Emacs offers to save | 206 | automatically at startup, if it exists. When Emacs offers to save |
| @@ -220,6 +208,18 @@ modified buffers, it saves the abbrevs too if they have changed. It | |||
| 220 | can do this either silently or asking for confirmation first, | 208 | can do this either silently or asking for confirmation first, |
| 221 | according to the value of `save-abbrevs'. | 209 | according to the value of `save-abbrevs'. |
| 222 | 210 | ||
| 211 | ** New command line option -Q or --quick. | ||
| 212 | This is like using -q --no-site-file, but in addition it also disables | ||
| 213 | the fancy startup screen. | ||
| 214 | |||
| 215 | ** New command line option -D or --basic-display. | ||
| 216 | Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and | ||
| 217 | the blinking cursor. | ||
| 218 | |||
| 219 | ** The default is now to use a bitmap as the icon. | ||
| 220 | The command-line options --icon-type, -i have been replaced with | ||
| 221 | options --no-bitmap-icon, -nbi to turn the bitmap icon off. | ||
| 222 | |||
| 223 | ** If the environment variable EMAIL is defined, Emacs now uses its value | 223 | ** If the environment variable EMAIL is defined, Emacs now uses its value |
| 224 | to compute the default value of `user-mail-address', in preference to | 224 | to compute the default value of `user-mail-address', in preference to |
| 225 | concatenation of `user-login-name' with the name of your host machine. | 225 | concatenation of `user-login-name' with the name of your host machine. |
| @@ -231,6 +231,24 @@ concatenation of `user-login-name' with the name of your host machine. | |||
| 231 | 231 | ||
| 232 | See below for more details. | 232 | See below for more details. |
| 233 | 233 | ||
| 234 | ** When the undo information of the current command gets really large | ||
| 235 | (beyond the value of `undo-outer-limit'), Emacs discards it and warns | ||
| 236 | you about it. | ||
| 237 | |||
| 238 | ** When Emacs prompts for file names, SPC no longer completes the file name. | ||
| 239 | This is so filenames with embedded spaces could be input without the | ||
| 240 | need to quote the space with a C-q. The underlying changes in the | ||
| 241 | keymaps that are active in the minibuffer are described below under | ||
| 242 | "New keymaps for typing file names". | ||
| 243 | |||
| 244 | ** The completion commands TAB, SPC and ? in the minibuffer apply only | ||
| 245 | to the text before point. If there is text in the buffer after point, | ||
| 246 | it remains unchanged. | ||
| 247 | |||
| 248 | ** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special. | ||
| 249 | |||
| 250 | See below under "incremental search changes". | ||
| 251 | |||
| 234 | ** M-g is now a prefix key. | 252 | ** M-g is now a prefix key. |
| 235 | M-g g and M-g M-g run goto-line. | 253 | M-g g and M-g M-g run goto-line. |
| 236 | M-g n and M-g M-n run next-error (like C-x `). | 254 | M-g n and M-g M-n run next-error (like C-x `). |
| @@ -245,24 +263,6 @@ point then it acts as the default argument for the minibuffer. | |||
| 245 | ** M-o now is the prefix key for setting text properties; | 263 | ** M-o now is the prefix key for setting text properties; |
| 246 | M-o M-o requests refontification. | 264 | M-o M-o requests refontification. |
| 247 | 265 | ||
| 248 | ** The old bindings C-M-delete and C-M-backspace have been deleted, | ||
| 249 | since there are situations where one or the other will shut down | ||
| 250 | the operating system or your X server. | ||
| 251 | |||
| 252 | ** When the undo information of the current command gets really large | ||
| 253 | (beyond the value of `undo-outer-limit'), Emacs discards it and warns | ||
| 254 | you about it. | ||
| 255 | |||
| 256 | ** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special. | ||
| 257 | |||
| 258 | See below under "incremental search changes". | ||
| 259 | |||
| 260 | ** When Emacs prompts for file names, SPC no longer completes the file name. | ||
| 261 | This is so filenames with embedded spaces could be input without the | ||
| 262 | need to quote the space with a C-q. The underlying changes in the | ||
| 263 | keymaps that are active in the minibuffer are described below under | ||
| 264 | "New keymaps for typing file names". | ||
| 265 | |||
| 266 | ** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer | 266 | ** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer |
| 267 | a special case. | 267 | a special case. |
| 268 | 268 | ||
| @@ -273,10 +273,6 @@ directory with Dired. | |||
| 273 | You can get the old behavior by typing C-x C-f M-n RET, which fetches | 273 | You can get the old behavior by typing C-x C-f M-n RET, which fetches |
| 274 | the actual file name into the minibuffer. | 274 | the actual file name into the minibuffer. |
| 275 | 275 | ||
| 276 | ** The completion commands TAB, SPC and ? in the minibuffer apply only | ||
| 277 | to the text before point. If there is text in the buffer after point, | ||
| 278 | it remains unchanged. | ||
| 279 | |||
| 280 | ** In Dired's ! command (dired-do-shell-command), `*' and `?' now | 276 | ** In Dired's ! command (dired-do-shell-command), `*' and `?' now |
| 281 | control substitution of the file names only when they are surrounded | 277 | control substitution of the file names only when they are surrounded |
| 282 | by whitespace. This means you can now use them as shell wildcards | 278 | by whitespace. This means you can now use them as shell wildcards |
| @@ -300,6 +296,10 @@ in the region, rather than on all complete lines in the region. | |||
| 300 | ** Adaptive filling misfeature removed. | 296 | ** Adaptive filling misfeature removed. |
| 301 | It no longer treats `NNN.' or `(NNN)' as a prefix. | 297 | It no longer treats `NNN.' or `(NNN)' as a prefix. |
| 302 | 298 | ||
| 299 | ** The old bindings C-M-delete and C-M-backspace have been deleted, | ||
| 300 | since there are situations where one or the other will shut down | ||
| 301 | the operating system or your X server. | ||
| 302 | |||
| 303 | ** The register compatibility key bindings (deprecated since Emacs 19) | 303 | ** The register compatibility key bindings (deprecated since Emacs 19) |
| 304 | have been removed: | 304 | have been removed: |
| 305 | C-x / point-to-register (Use: C-x r SPC) | 305 | C-x / point-to-register (Use: C-x r SPC) |
| @@ -310,6 +310,9 @@ have been removed: | |||
| 310 | 310 | ||
| 311 | * Editing Changes in Emacs 22.1 | 311 | * Editing Changes in Emacs 22.1 |
| 312 | 312 | ||
| 313 | ** The max size of buffers and integers has been doubled. | ||
| 314 | On 32bit machines, it is now 256M (i.e. 268435455). | ||
| 315 | |||
| 313 | ** !MEM FULL! at the start of the mode line indicates that Emacs | 316 | ** !MEM FULL! at the start of the mode line indicates that Emacs |
| 314 | cannot get any more memory for Lisp data. This often means it could | 317 | cannot get any more memory for Lisp data. This often means it could |
| 315 | crash soon if you do things that use more memory. On most systems, | 318 | crash soon if you do things that use more memory. On most systems, |
| @@ -317,34 +320,31 @@ killing buffers will get out of this state. If killing buffers does | |||
| 317 | not make !MEM FULL! disappear, you should save your work and start | 320 | not make !MEM FULL! disappear, you should save your work and start |
| 318 | a new Emacs. | 321 | a new Emacs. |
| 319 | 322 | ||
| 320 | ** The max size of buffers and integers has been doubled. | 323 | ** `undo-only' does an undo which does not redo any previous undo. |
| 321 | On 32bit machines, it is now 256M (i.e. 268435455). | ||
| 322 | 324 | ||
| 323 | ** You can now switch buffers in a cyclic order with C-x C-left | 325 | ** Yanking text now discards certain text properties that can |
| 324 | (previous-buffer) and C-x C-right (next-buffer). C-x left and | 326 | be inconvenient when you did not expect them. The variable |
| 325 | C-x right can be used as well. The functions keep a different buffer | 327 | `yank-excluded-properties' specifies which ones. Insertion |
| 326 | cycle for each frame, using the frame-local buffer list. | 328 | of register contents and rectangles also discards these properties. |
| 327 | 329 | ||
| 328 | ** `undo-only' does an undo which does not redo any previous undo. | 330 | ** New command `kill-whole-line' kills an entire line at once. |
| 331 | By default, it is bound to C-S-<backspace>. | ||
| 329 | 332 | ||
| 330 | ** M-SPC (just-one-space) when given a numeric argument N | 333 | ** M-SPC (just-one-space) when given a numeric argument N |
| 331 | converts whitespace around point to N spaces. | 334 | converts whitespace around point to N spaces. |
| 332 | 335 | ||
| 336 | ** You can now switch buffers in a cyclic order with C-x C-left | ||
| 337 | (previous-buffer) and C-x C-right (next-buffer). C-x left and | ||
| 338 | C-x right can be used as well. The functions keep a different buffer | ||
| 339 | cycle for each frame, using the frame-local buffer list. | ||
| 340 | |||
| 333 | ** C-x 5 C-o displays a specified buffer in another frame | 341 | ** C-x 5 C-o displays a specified buffer in another frame |
| 334 | but does not switch to that frame. It's the multi-frame | 342 | but does not switch to that frame. It's the multi-frame |
| 335 | analogue of C-x 4 C-o. | 343 | analogue of C-x 4 C-o. |
| 336 | 344 | ||
| 337 | ** New command `kill-whole-line' kills an entire line at once. | 345 | ** `special-display-buffer-names' and `special-display-regexps' now |
| 338 | By default, it is bound to C-S-<backspace>. | 346 | understand two new boolean pseudo-frame-parameters `same-frame' and |
| 339 | 347 | `same-window'. | |
| 340 | ** Yanking text now discards certain text properties that can | ||
| 341 | be inconvenient when you did not expect them. The variable | ||
| 342 | `yank-excluded-properties' specifies which ones. Insertion | ||
| 343 | of register contents and rectangles also discards these properties. | ||
| 344 | |||
| 345 | ** The default values of paragraph-start and indent-line-function have | ||
| 346 | been changed to reflect those used in Text mode rather than those used | ||
| 347 | in Indented-Text mode. | ||
| 348 | 348 | ||
| 349 | ** New commands to operate on pairs of open and close characters: | 349 | ** New commands to operate on pairs of open and close characters: |
| 350 | `insert-pair', `delete-pair', `raise-sexp'. | 350 | `insert-pair', `delete-pair', `raise-sexp'. |
| @@ -355,58 +355,13 @@ Substrings of the form `$foo' and `${foo}' in the specified new value | |||
| 355 | now refer to the value of environment variable foo. To include a `$' | 355 | now refer to the value of environment variable foo. To include a `$' |
| 356 | in the value, use `$$'. | 356 | in the value, use `$$'. |
| 357 | 357 | ||
| 358 | ** `special-display-buffer-names' and `special-display-regexps' now | 358 | ** The default values of paragraph-start and indent-line-function have |
| 359 | understand two new boolean pseudo-frame-parameters `same-frame' and | 359 | been changed to reflect those used in Text mode rather than those used |
| 360 | `same-window'. | 360 | in Indented-Text mode. |
| 361 | 361 | ||
| 362 | ** The default for the paper size (variable ps-paper-type) is taken | 362 | ** The default for the paper size (variable ps-paper-type) is taken |
| 363 | from the locale. | 363 | from the locale. |
| 364 | 364 | ||
| 365 | ** Mark command changes: | ||
| 366 | |||
| 367 | *** A prefix argument is no longer required to repeat a jump to a | ||
| 368 | previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the | ||
| 369 | mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump. | ||
| 370 | |||
| 371 | *** Marking commands extend the region when invoked multiple times. | ||
| 372 | |||
| 373 | If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h | ||
| 374 | (mark-paragraph), or C-M-h (mark-defun) repeatedly, the marked region | ||
| 375 | extends each time, so you can mark the next two sexps with M-C-SPC | ||
| 376 | M-C-SPC, for example. This feature also works for | ||
| 377 | mark-end-of-sentence, if you bind that to a key. It also extends the | ||
| 378 | region when the mark is active in Transient Mark mode, regardless of | ||
| 379 | the last command. To start a new region with one of marking commands | ||
| 380 | in Transient Mark mode, you can deactivate the active region with C-g, | ||
| 381 | or set the new mark with C-SPC. | ||
| 382 | |||
| 383 | *** M-h (mark-paragraph) now accepts a prefix arg. | ||
| 384 | |||
| 385 | With positive arg, M-h marks the current and the following paragraphs; | ||
| 386 | if the arg is negative, it marks the current and the preceding | ||
| 387 | paragraphs. | ||
| 388 | |||
| 389 | *** Some commands do something special in Transient Mark mode when the | ||
| 390 | mark is active--for instance, they limit their operation to the | ||
| 391 | region. Even if you don't normally use Transient Mark mode, you might | ||
| 392 | want to get this behavior from a particular command. There are two | ||
| 393 | ways you can enable Transient Mark mode and activate the mark, for one | ||
| 394 | command only. | ||
| 395 | |||
| 396 | One method is to type C-SPC C-SPC; this enables Transient Mark mode | ||
| 397 | and sets the mark at point. The other method is to type C-u C-x C-x. | ||
| 398 | This enables Transient Mark mode temporarily but does not alter the | ||
| 399 | mark or the region. | ||
| 400 | |||
| 401 | After these commands, Transient Mark mode remains enabled until you | ||
| 402 | deactivate the mark. That typically happens when you type a command | ||
| 403 | that alters the buffer, but you can also deactivate the mark by typing | ||
| 404 | C-g. | ||
| 405 | |||
| 406 | *** Movement commands `beginning-of-buffer', `end-of-buffer', | ||
| 407 | `beginning-of-defun', `end-of-defun' do not set the mark if the mark | ||
| 408 | is already active in Transient Mark mode. | ||
| 409 | |||
| 410 | ** Help command changes: | 365 | ** Help command changes: |
| 411 | 366 | ||
| 412 | *** Changes in C-h bindings: | 367 | *** Changes in C-h bindings: |
| @@ -442,6 +397,18 @@ to new-kill-line, these commands now report: | |||
| 442 | - C-h w and C-h f new-kill-line reports: | 397 | - C-h w and C-h f new-kill-line reports: |
| 443 | new-kill-line is on C-k | 398 | new-kill-line is on C-k |
| 444 | 399 | ||
| 400 | *** The apropos commands now accept a list of words to match. | ||
| 401 | When more than one word is specified, at least two of those words must | ||
| 402 | be present for an item to match. Regular expression matching is still | ||
| 403 | available. | ||
| 404 | |||
| 405 | *** The new option `apropos-sort-by-scores' causes the matching items | ||
| 406 | to be sorted according to their score. The score for an item is a | ||
| 407 | number calculated to indicate how well the item matches the words or | ||
| 408 | regular expression that you entered to the apropos command. The best | ||
| 409 | match is listed first, and the calculated score is shown for each | ||
| 410 | matching item. | ||
| 411 | |||
| 445 | *** Help commands `describe-function' and `describe-key' now show function | 412 | *** Help commands `describe-function' and `describe-key' now show function |
| 446 | arguments in lowercase italics on displays that support it. To change the | 413 | arguments in lowercase italics on displays that support it. To change the |
| 447 | default, customize face `help-argument-name' or redefine the function | 414 | default, customize face `help-argument-name' or redefine the function |
| @@ -481,25 +448,56 @@ point-over, after suitable idle time. The amount of idle time is | |||
| 481 | determined by the user option `help-at-pt-timer-delay' and defaults | 448 | determined by the user option `help-at-pt-timer-delay' and defaults |
| 482 | to one second. This feature is turned off by default. | 449 | to one second. This feature is turned off by default. |
| 483 | 450 | ||
| 484 | *** The apropos commands now accept a list of words to match. | 451 | ** Mark command changes: |
| 485 | When more than one word is specified, at least two of those words must | ||
| 486 | be present for an item to match. Regular expression matching is still | ||
| 487 | available. | ||
| 488 | 452 | ||
| 489 | *** The new option `apropos-sort-by-scores' causes the matching items | 453 | *** A prefix argument is no longer required to repeat a jump to a |
| 490 | to be sorted according to their score. The score for an item is a | 454 | previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the |
| 491 | number calculated to indicate how well the item matches the words or | 455 | mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump. |
| 492 | regular expression that you entered to the apropos command. The best | 456 | |
| 493 | match is listed first, and the calculated score is shown for each | 457 | *** Marking commands extend the region when invoked multiple times. |
| 494 | matching item. | 458 | |
| 459 | If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h | ||
| 460 | (mark-paragraph), or C-M-h (mark-defun) repeatedly, the marked region | ||
| 461 | extends each time, so you can mark the next two sexps with M-C-SPC | ||
| 462 | M-C-SPC, for example. This feature also works for | ||
| 463 | mark-end-of-sentence, if you bind that to a key. It also extends the | ||
| 464 | region when the mark is active in Transient Mark mode, regardless of | ||
| 465 | the last command. To start a new region with one of marking commands | ||
| 466 | in Transient Mark mode, you can deactivate the active region with C-g, | ||
| 467 | or set the new mark with C-SPC. | ||
| 468 | |||
| 469 | *** Some commands do something special in Transient Mark mode when the | ||
| 470 | mark is active--for instance, they limit their operation to the | ||
| 471 | region. Even if you don't normally use Transient Mark mode, you might | ||
| 472 | want to get this behavior from a particular command. There are two | ||
| 473 | ways you can enable Transient Mark mode and activate the mark, for one | ||
| 474 | command only. | ||
| 475 | |||
| 476 | One method is to type C-SPC C-SPC; this enables Transient Mark mode | ||
| 477 | and sets the mark at point. The other method is to type C-u C-x C-x. | ||
| 478 | This enables Transient Mark mode temporarily but does not alter the | ||
| 479 | mark or the region. | ||
| 480 | |||
| 481 | After these commands, Transient Mark mode remains enabled until you | ||
| 482 | deactivate the mark. That typically happens when you type a command | ||
| 483 | that alters the buffer, but you can also deactivate the mark by typing | ||
| 484 | C-g. | ||
| 485 | |||
| 486 | *** Movement commands `beginning-of-buffer', `end-of-buffer', | ||
| 487 | `beginning-of-defun', `end-of-defun' do not set the mark if the mark | ||
| 488 | is already active in Transient Mark mode. | ||
| 489 | |||
| 490 | *** M-h (mark-paragraph) now accepts a prefix arg. | ||
| 491 | |||
| 492 | With positive arg, M-h marks the current and the following paragraphs; | ||
| 493 | if the arg is negative, it marks the current and the preceding | ||
| 494 | paragraphs. | ||
| 495 | 495 | ||
| 496 | ** Incremental Search changes: | 496 | ** Incremental Search changes: |
| 497 | 497 | ||
| 498 | *** Vertical scrolling is now possible within incremental search. | 498 | *** M-% typed in isearch mode invokes `query-replace' or |
| 499 | To enable this feature, customize the new user option | 499 | `query-replace-regexp' (depending on search mode) with the current |
| 500 | `isearch-allow-scroll'. User written commands which satisfy stringent | 500 | search string used as the string to replace. |
| 501 | constraints can be marked as "scrolling commands". See the Emacs manual | ||
| 502 | for details. | ||
| 503 | 501 | ||
| 504 | *** C-w in incremental search now grabs either a character or a word, | 502 | *** C-w in incremental search now grabs either a character or a word, |
| 505 | making the decision in a heuristic way. This new job is done by the | 503 | making the decision in a heuristic way. This new job is done by the |
| @@ -513,9 +511,11 @@ at the end of a line. | |||
| 513 | Another method to grab a character is to enter the minibuffer by `M-e' | 511 | Another method to grab a character is to enter the minibuffer by `M-e' |
| 514 | and to type `C-f' at the end of the search string in the minibuffer. | 512 | and to type `C-f' at the end of the search string in the minibuffer. |
| 515 | 513 | ||
| 516 | *** M-% typed in isearch mode invokes `query-replace' or | 514 | *** Vertical scrolling is now possible within incremental search. |
| 517 | `query-replace-regexp' (depending on search mode) with the current | 515 | To enable this feature, customize the new user option |
| 518 | search string used as the string to replace. | 516 | `isearch-allow-scroll'. User written commands which satisfy stringent |
| 517 | constraints can be marked as "scrolling commands". See the Emacs manual | ||
| 518 | for details. | ||
| 519 | 519 | ||
| 520 | *** Isearch no longer adds `isearch-resume' commands to the command | 520 | *** Isearch no longer adds `isearch-resume' commands to the command |
| 521 | history by default. To enable this feature, customize the new | 521 | history by default. To enable this feature, customize the new |
| @@ -523,10 +523,6 @@ user option `isearch-resume-in-command-history'. | |||
| 523 | 523 | ||
| 524 | ** Replace command changes: | 524 | ** Replace command changes: |
| 525 | 525 | ||
| 526 | *** New user option `query-replace-skip-read-only': when non-nil, | ||
| 527 | `query-replace' and related functions simply ignore | ||
| 528 | a match if part of it has a read-only property. | ||
| 529 | |||
| 530 | *** When used interactively, the commands `query-replace-regexp' and | 526 | *** When used interactively, the commands `query-replace-regexp' and |
| 531 | `replace-regexp' allow \,expr to be used in a replacement string, | 527 | `replace-regexp' allow \,expr to be used in a replacement string, |
| 532 | where expr is an arbitrary Lisp expression evaluated at replacement | 528 | where expr is an arbitrary Lisp expression evaluated at replacement |
| @@ -543,15 +539,11 @@ deprecated since it offers no additional functionality. | |||
| 543 | *** The current match in query-replace is highlighted in new face | 539 | *** The current match in query-replace is highlighted in new face |
| 544 | `query-replace' which by default inherits from isearch face. | 540 | `query-replace' which by default inherits from isearch face. |
| 545 | 541 | ||
| 546 | ** Local variables lists: | 542 | *** New user option `query-replace-skip-read-only': when non-nil, |
| 547 | 543 | `query-replace' and related functions simply ignore | |
| 548 | *** In processing a local variables list, Emacs strips the prefix and | 544 | a match if part of it has a read-only property. |
| 549 | suffix from every line before processing all the lines. | ||
| 550 | |||
| 551 | *** Text properties in local variables. | ||
| 552 | 545 | ||
| 553 | A file local variables list cannot specify a string with text | 546 | ** Local variables lists: |
| 554 | properties--any specified text properties are discarded. | ||
| 555 | 547 | ||
| 556 | *** If the local variables list contains any variable-value pairs that | 548 | *** If the local variables list contains any variable-value pairs that |
| 557 | are not known to be safe, Emacs shows a prompt asking whether to apply | 549 | are not known to be safe, Emacs shows a prompt asking whether to apply |
| @@ -589,6 +581,14 @@ with the form as argument, and if any returns t, the form is ok to call. | |||
| 589 | If the form is not "ok to call", that means Emacs asks for | 581 | If the form is not "ok to call", that means Emacs asks for |
| 590 | confirmation as before. | 582 | confirmation as before. |
| 591 | 583 | ||
| 584 | *** In processing a local variables list, Emacs strips the prefix and | ||
| 585 | suffix from every line before processing all the lines. | ||
| 586 | |||
| 587 | *** Text properties in local variables. | ||
| 588 | |||
| 589 | A file local variables list cannot specify a string with text | ||
| 590 | properties--any specified text properties are discarded. | ||
| 591 | |||
| 592 | ** File operation changes: | 592 | ** File operation changes: |
| 593 | 593 | ||
| 594 | *** Unquoted `$' in file names do not signal an error any more when | 594 | *** Unquoted `$' in file names do not signal an error any more when |
| @@ -596,29 +596,20 @@ the corresponding environment variable does not exist. | |||
| 596 | Instead, the `$ENVVAR' text is left as is, so that `$$' quoting | 596 | Instead, the `$ENVVAR' text is left as is, so that `$$' quoting |
| 597 | is only rarely needed. | 597 | is only rarely needed. |
| 598 | 598 | ||
| 599 | *** find-file-read-only visits multiple files in read-only mode, | ||
| 600 | when the file name contains wildcard characters. | ||
| 601 | |||
| 602 | *** find-alternate-file replaces the current file with multiple files, | ||
| 603 | when the file name contains wildcard characters. It now asks if you | ||
| 604 | wish save your changes and not just offer to kill the buffer. | ||
| 605 | |||
| 606 | *** Auto Compression mode is now enabled by default. | ||
| 607 | |||
| 608 | *** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case. | 599 | *** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case. |
| 609 | 600 | ||
| 610 | Since the default input is the current directory, this has the effect | 601 | Since the default input is the current directory, this has the effect |
| 611 | of specifying the current directory. Normally that means to visit the | 602 | of specifying the current directory. Normally that means to visit the |
| 612 | directory with Dired. | 603 | directory with Dired. |
| 613 | 604 | ||
| 614 | *** When you are root, and you visit a file whose modes specify | ||
| 615 | read-only, the Emacs buffer is now read-only too. Type C-x C-q if you | ||
| 616 | want to make the buffer writable. (As root, you can in fact alter the | ||
| 617 | file.) | ||
| 618 | |||
| 619 | *** C-x s (save-some-buffers) now offers an option `d' to diff a buffer | 605 | *** C-x s (save-some-buffers) now offers an option `d' to diff a buffer |
| 620 | against its file, so you can see what changes you would be saving. | 606 | against its file, so you can see what changes you would be saving. |
| 621 | 607 | ||
| 608 | *** Auto Compression mode is now enabled by default. | ||
| 609 | |||
| 610 | *** If the user visits a file larger than `large-file-warning-threshold', | ||
| 611 | Emacs asks for confirmation. | ||
| 612 | |||
| 622 | *** The commands copy-file, rename-file, make-symbolic-link and | 613 | *** The commands copy-file, rename-file, make-symbolic-link and |
| 623 | add-name-to-file, when given a directory as the "new name" argument, | 614 | add-name-to-file, when given a directory as the "new name" argument, |
| 624 | convert it to a file name by merging in the within-directory part of | 615 | convert it to a file name by merging in the within-directory part of |
| @@ -626,22 +617,6 @@ the existing file's name. (This is the same convention that shell | |||
| 626 | commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET | 617 | commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET |
| 627 | /tmp RET copies ~/foo to /tmp/foo. | 618 | /tmp RET copies ~/foo to /tmp/foo. |
| 628 | 619 | ||
| 629 | *** When used interactively, `format-write-file' now asks for confirmation | ||
| 630 | before overwriting an existing file, unless a prefix argument is | ||
| 631 | supplied. This behavior is analogous to `write-file'. | ||
| 632 | |||
| 633 | *** The variable `auto-save-file-name-transforms' now has a third element that | ||
| 634 | controls whether or not the function `make-auto-save-file-name' will | ||
| 635 | attempt to construct a unique auto-save name (e.g. for remote files). | ||
| 636 | |||
| 637 | *** The new option `write-region-inhibit-fsync' disables calls to fsync | ||
| 638 | in `write-region'. This can be useful on laptops to avoid spinning up | ||
| 639 | the hard drive upon each file save. Enabling this variable may result | ||
| 640 | in data loss, use with care. | ||
| 641 | |||
| 642 | *** If the user visits a file larger than `large-file-warning-threshold', | ||
| 643 | Emacs asks for confirmation. | ||
| 644 | |||
| 645 | *** require-final-newline now has two new possible values: | 620 | *** require-final-newline now has two new possible values: |
| 646 | 621 | ||
| 647 | `visit' means add a newline (as an undoable change) if it's needed | 622 | `visit' means add a newline (as an undoable change) if it's needed |
| @@ -658,8 +633,37 @@ sets require-final-newline based on mode-require-final-newline. | |||
| 658 | So you can customize mode-require-final-newline to control what these | 633 | So you can customize mode-require-final-newline to control what these |
| 659 | modes do. | 634 | modes do. |
| 660 | 635 | ||
| 636 | *** When you are root, and you visit a file whose modes specify | ||
| 637 | read-only, the Emacs buffer is now read-only too. Type C-x C-q if you | ||
| 638 | want to make the buffer writable. (As root, you can in fact alter the | ||
| 639 | file.) | ||
| 640 | |||
| 641 | *** find-file-read-only visits multiple files in read-only mode, | ||
| 642 | when the file name contains wildcard characters. | ||
| 643 | |||
| 644 | *** find-alternate-file replaces the current file with multiple files, | ||
| 645 | when the file name contains wildcard characters. It now asks if you | ||
| 646 | wish save your changes and not just offer to kill the buffer. | ||
| 647 | |||
| 648 | *** When used interactively, `format-write-file' now asks for confirmation | ||
| 649 | before overwriting an existing file, unless a prefix argument is | ||
| 650 | supplied. This behavior is analogous to `write-file'. | ||
| 651 | |||
| 652 | *** The variable `auto-save-file-name-transforms' now has a third element that | ||
| 653 | controls whether or not the function `make-auto-save-file-name' will | ||
| 654 | attempt to construct a unique auto-save name (e.g. for remote files). | ||
| 655 | |||
| 656 | *** The new option `write-region-inhibit-fsync' disables calls to fsync | ||
| 657 | in `write-region'. This can be useful on laptops to avoid spinning up | ||
| 658 | the hard drive upon each file save. Enabling this variable may result | ||
| 659 | in data loss, use with care. | ||
| 660 | |||
| 661 | ** Minibuffer changes: | 661 | ** Minibuffer changes: |
| 662 | 662 | ||
| 663 | *** The completion commands TAB, SPC and ? in the minibuffer apply only | ||
| 664 | to the text before point. If there is text in the buffer after point, | ||
| 665 | it remains unchanged. | ||
| 666 | |||
| 663 | *** The new file-name-shadow-mode is turned ON by default, so that when | 667 | *** The new file-name-shadow-mode is turned ON by default, so that when |
| 664 | entering a file name, any prefix which Emacs will ignore is dimmed. | 668 | entering a file name, any prefix which Emacs will ignore is dimmed. |
| 665 | 669 | ||
| @@ -695,59 +699,12 @@ completing file names. Elements of `completion-ignored-extensions' | |||
| 695 | which do not end in a slash are never considered when a completion | 699 | which do not end in a slash are never considered when a completion |
| 696 | candidate is a directory. | 700 | candidate is a directory. |
| 697 | 701 | ||
| 698 | *** The completion commands TAB, SPC and ? in the minibuffer apply only | ||
| 699 | to the text before point. If there is text in the buffer after point, | ||
| 700 | it remains unchanged. | ||
| 701 | |||
| 702 | *** New user option `history-delete-duplicates'. | 702 | *** New user option `history-delete-duplicates'. |
| 703 | If set to t when adding a new history element, all previous identical | 703 | If set to t when adding a new history element, all previous identical |
| 704 | elements are deleted from the history list. | 704 | elements are deleted from the history list. |
| 705 | 705 | ||
| 706 | ** Redisplay changes: | 706 | ** Redisplay changes: |
| 707 | 707 | ||
| 708 | *** Preemptive redisplay now adapts to current load and bandwidth. | ||
| 709 | |||
| 710 | To avoid preempting redisplay on fast computers, networks, and displays, | ||
| 711 | the arrival of new input is now performed at regular intervals during | ||
| 712 | redisplay. The new variable `redisplay-preemption-period' specifies | ||
| 713 | the period; the default is to check for input every 0.1 seconds. | ||
| 714 | |||
| 715 | *** The mode line position information now comes before the major mode. | ||
| 716 | When the file is maintained under version control, that information | ||
| 717 | appears between the position information and the major mode. | ||
| 718 | |||
| 719 | *** New face `escape-glyph' highlights control characters and escape glyphs. | ||
| 720 | |||
| 721 | *** Non-breaking space and hyphens are now displayed with a special | ||
| 722 | face, either nobreak-space or escape-glyph. You can turn this off or | ||
| 723 | specify a different mode by setting the variable `nobreak-char-display'. | ||
| 724 | |||
| 725 | *** The parameters of automatic hscrolling can now be customized. | ||
| 726 | The variable `hscroll-margin' determines how many columns away from | ||
| 727 | the window edge point is allowed to get before automatic hscrolling | ||
| 728 | will horizontally scroll the window. The default value is 5. | ||
| 729 | |||
| 730 | The variable `hscroll-step' determines how many columns automatic | ||
| 731 | hscrolling scrolls the window when point gets too close to the | ||
| 732 | window edge. If its value is zero, the default, Emacs scrolls the | ||
| 733 | window so as to center point. If its value is an integer, it says how | ||
| 734 | many columns to scroll. If the value is a floating-point number, it | ||
| 735 | gives the fraction of the window's width to scroll the window. | ||
| 736 | |||
| 737 | The variable `automatic-hscrolling' was renamed to | ||
| 738 | `auto-hscroll-mode'. The old name is still available as an alias. | ||
| 739 | |||
| 740 | *** Moving or scrolling through images (and other lines) taller than | ||
| 741 | the window now works sensibly, by automatically adjusting the window's | ||
| 742 | vscroll property. | ||
| 743 | |||
| 744 | *** New customize option `overline-margin' controls the space between | ||
| 745 | overline and text. | ||
| 746 | |||
| 747 | *** New variable `x-underline-at-descent-line' controls the relative | ||
| 748 | position of the underline. When set, it overrides the | ||
| 749 | `x-use-underline-position-properties' variables. | ||
| 750 | |||
| 751 | *** The new face `mode-line-inactive' is used to display the mode line | 708 | *** The new face `mode-line-inactive' is used to display the mode line |
| 752 | of non-selected windows. The `mode-line' face is now used to display | 709 | of non-selected windows. The `mode-line' face is now used to display |
| 753 | the mode line of the currently selected window. | 710 | the mode line of the currently selected window. |
| @@ -755,6 +712,10 @@ the mode line of the currently selected window. | |||
| 755 | The new variable `mode-line-in-non-selected-windows' controls whether | 712 | The new variable `mode-line-in-non-selected-windows' controls whether |
| 756 | the `mode-line-inactive' face is used. | 713 | the `mode-line-inactive' face is used. |
| 757 | 714 | ||
| 715 | *** The mode line position information now comes before the major mode. | ||
| 716 | When the file is maintained under version control, that information | ||
| 717 | appears between the position information and the major mode. | ||
| 718 | |||
| 758 | *** You can now customize the use of window fringes. To control this | 719 | *** You can now customize the use of window fringes. To control this |
| 759 | for all frames, use M-x fringe-mode or the Show/Hide submenu of the | 720 | for all frames, use M-x fringe-mode or the Show/Hide submenu of the |
| 760 | top-level Options menu, or customize the `fringe-mode' variable. To | 721 | top-level Options menu, or customize the `fringe-mode' variable. To |
| @@ -789,10 +750,6 @@ cursor will be displayed in the fringe when positioned on that newline. | |||
| 789 | The new user option 'overflow-newline-into-fringe' can be set to nil to | 750 | The new user option 'overflow-newline-into-fringe' can be set to nil to |
| 790 | revert to the old behavior of continuing such lines. | 751 | revert to the old behavior of continuing such lines. |
| 791 | 752 | ||
| 792 | *** When a window has display margin areas, the fringes are now | ||
| 793 | displayed between the margins and the buffer's text area, rather than | ||
| 794 | outside those margins. | ||
| 795 | |||
| 796 | *** A window can now have individual fringe and scroll-bar settings, | 753 | *** A window can now have individual fringe and scroll-bar settings, |
| 797 | in addition to the individual display margin settings. | 754 | in addition to the individual display margin settings. |
| 798 | 755 | ||
| @@ -800,6 +757,42 @@ Such individual settings are now preserved when windows are split | |||
| 800 | horizontally or vertically, a saved window configuration is restored, | 757 | horizontally or vertically, a saved window configuration is restored, |
| 801 | or when the frame is resized. | 758 | or when the frame is resized. |
| 802 | 759 | ||
| 760 | *** When a window has display margin areas, the fringes are now | ||
| 761 | displayed between the margins and the buffer's text area, rather than | ||
| 762 | outside those margins. | ||
| 763 | |||
| 764 | *** New face `escape-glyph' highlights control characters and escape glyphs. | ||
| 765 | |||
| 766 | *** Non-breaking space and hyphens are now displayed with a special | ||
| 767 | face, either nobreak-space or escape-glyph. You can turn this off or | ||
| 768 | specify a different mode by setting the variable `nobreak-char-display'. | ||
| 769 | |||
| 770 | *** The parameters of automatic hscrolling can now be customized. | ||
| 771 | The variable `hscroll-margin' determines how many columns away from | ||
| 772 | the window edge point is allowed to get before automatic hscrolling | ||
| 773 | will horizontally scroll the window. The default value is 5. | ||
| 774 | |||
| 775 | The variable `hscroll-step' determines how many columns automatic | ||
| 776 | hscrolling scrolls the window when point gets too close to the | ||
| 777 | window edge. If its value is zero, the default, Emacs scrolls the | ||
| 778 | window so as to center point. If its value is an integer, it says how | ||
| 779 | many columns to scroll. If the value is a floating-point number, it | ||
| 780 | gives the fraction of the window's width to scroll the window. | ||
| 781 | |||
| 782 | The variable `automatic-hscrolling' was renamed to | ||
| 783 | `auto-hscroll-mode'. The old name is still available as an alias. | ||
| 784 | |||
| 785 | *** Moving or scrolling through images (and other lines) taller than | ||
| 786 | the window now works sensibly, by automatically adjusting the window's | ||
| 787 | vscroll property. | ||
| 788 | |||
| 789 | *** Preemptive redisplay now adapts to current load and bandwidth. | ||
| 790 | |||
| 791 | To avoid preempting redisplay on fast computers, networks, and displays, | ||
| 792 | the arrival of new input is now performed at regular intervals during | ||
| 793 | redisplay. The new variable `redisplay-preemption-period' specifies | ||
| 794 | the period; the default is to check for input every 0.1 seconds. | ||
| 795 | |||
| 803 | *** The %c and %l constructs are now ignored in frame-title-format. | 796 | *** The %c and %l constructs are now ignored in frame-title-format. |
| 804 | Due to technical limitations in how Emacs interacts with windowing | 797 | Due to technical limitations in how Emacs interacts with windowing |
| 805 | systems, these constructs often failed to render properly, and could | 798 | systems, these constructs often failed to render properly, and could |
| @@ -809,27 +802,12 @@ even cause Emacs to crash. | |||
| 809 | will expand as needed, but not contract automatically. To contract | 802 | will expand as needed, but not contract automatically. To contract |
| 810 | the tool bar, you must type C-l. | 803 | the tool bar, you must type C-l. |
| 811 | 804 | ||
| 812 | ** Cursor display changes: | 805 | *** New customize option `overline-margin' controls the space between |
| 813 | 806 | overline and text. | |
| 814 | *** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is | ||
| 815 | now controlled by the variable `blink-cursor-alist'. | ||
| 816 | |||
| 817 | *** The X resource cursorBlink can be used to turn off cursor blinking. | ||
| 818 | |||
| 819 | *** Emacs can produce an underscore-like (horizontal bar) cursor. | ||
| 820 | The underscore cursor is set by putting `(cursor-type . hbar)' in | ||
| 821 | default-frame-alist. It supports variable heights, like the `bar' | ||
| 822 | cursor does. | ||
| 823 | |||
| 824 | *** Display of hollow cursors now obeys the buffer-local value (if any) | ||
| 825 | of `cursor-in-non-selected-windows' in the buffer that the cursor | ||
| 826 | appears in. | ||
| 827 | |||
| 828 | *** The variable `cursor-in-non-selected-windows' can now be set to any | ||
| 829 | of the recognized cursor types. | ||
| 830 | 807 | ||
| 831 | *** On text terminals, the variable `visible-cursor' controls whether Emacs | 808 | *** New variable `x-underline-at-descent-line' controls the relative |
| 832 | uses the "very visible" cursor (the default) or the normal cursor. | 809 | position of the underline. When set, it overrides the |
| 810 | `x-use-underline-position-properties' variables. | ||
| 833 | 811 | ||
| 834 | ** New faces: | 812 | ** New faces: |
| 835 | 813 | ||
| @@ -851,9 +829,6 @@ so package-specific faces can inherit from it. | |||
| 851 | 829 | ||
| 852 | ** Font-Lock (syntax highlighting) changes: | 830 | ** Font-Lock (syntax highlighting) changes: |
| 853 | 831 | ||
| 854 | *** M-o now is the prefix key for setting text properties; | ||
| 855 | M-o M-o requests refontification. | ||
| 856 | |||
| 857 | *** All modes now support using M-x font-lock-mode to toggle | 832 | *** All modes now support using M-x font-lock-mode to toggle |
| 858 | fontification, even those such as Occur, Info, and comint-derived | 833 | fontification, even those such as Occur, Info, and comint-derived |
| 859 | modes that do their own fontification in a special way. | 834 | modes that do their own fontification in a special way. |
| @@ -862,22 +837,25 @@ The variable `Info-fontify' is no longer applicable; to disable | |||
| 862 | fontification in Info, remove `turn-on-font-lock' from | 837 | fontification in Info, remove `turn-on-font-lock' from |
| 863 | `Info-mode-hook'. | 838 | `Info-mode-hook'. |
| 864 | 839 | ||
| 865 | *** Font-Lock mode: in major modes such as Lisp mode, where some Emacs | 840 | *** New standard font-lock face `font-lock-comment-delimiter-face'. |
| 866 | features assume that an open-paren in column 0 is always outside of | ||
| 867 | any string or comment, Font-Lock now highlights any such open-paren in | ||
| 868 | bold-red if it is inside a string or a comment, to indicate that it | ||
| 869 | can cause trouble. You should rewrite the string or comment so that | ||
| 870 | the open-paren is not in column 0. | ||
| 871 | 841 | ||
| 872 | *** New standard font-lock face `font-lock-preprocessor-face'. | 842 | *** New standard font-lock face `font-lock-preprocessor-face'. |
| 873 | 843 | ||
| 874 | *** New standard font-lock face `font-lock-comment-delimiter-face'. | ||
| 875 | |||
| 876 | *** Easy to overlook single character negation can now be font-locked. | 844 | *** Easy to overlook single character negation can now be font-locked. |
| 877 | You can use the new variable `font-lock-negation-char-face' and the face of | 845 | You can use the new variable `font-lock-negation-char-face' and the face of |
| 878 | the same name to customize this. Currently the cc-modes, sh-script-mode, | 846 | the same name to customize this. Currently the cc-modes, sh-script-mode, |
| 879 | cperl-mode and make-mode support this. | 847 | cperl-mode and make-mode support this. |
| 880 | 848 | ||
| 849 | *** Font-Lock mode: in major modes such as Lisp mode, where some Emacs | ||
| 850 | features assume that an open-paren in column 0 is always outside of | ||
| 851 | any string or comment, Font-Lock now highlights any such open-paren in | ||
| 852 | bold-red if it is inside a string or a comment, to indicate that it | ||
| 853 | can cause trouble. You should rewrite the string or comment so that | ||
| 854 | the open-paren is not in column 0. | ||
| 855 | |||
| 856 | *** M-o now is the prefix key for setting text properties; | ||
| 857 | M-o M-o requests refontification. | ||
| 858 | |||
| 881 | *** The default settings for JIT stealth lock parameters are changed. | 859 | *** The default settings for JIT stealth lock parameters are changed. |
| 882 | The default value for the user option jit-lock-stealth-time is now nil | 860 | The default value for the user option jit-lock-stealth-time is now nil |
| 883 | instead of 3. This setting of jit-lock-stealth-time disables stealth | 861 | instead of 3. This setting of jit-lock-stealth-time disables stealth |
| @@ -925,8 +903,6 @@ current date and time, current line and column number in the mode-line. | |||
| 925 | 903 | ||
| 926 | *** Speedbar has moved from the "Tools" top level menu to "Show/Hide". | 904 | *** Speedbar has moved from the "Tools" top level menu to "Show/Hide". |
| 927 | 905 | ||
| 928 | *** You can exit dialog windows and menus by typing C-g. | ||
| 929 | |||
| 930 | *** The menu item "Open File..." has been split into two items, "New File..." | 906 | *** The menu item "Open File..." has been split into two items, "New File..." |
| 931 | and "Open File...". "Open File..." now opens only existing files. This is | 907 | and "Open File...". "Open File..." now opens only existing files. This is |
| 932 | to support existing GUI file selection dialogs better. | 908 | to support existing GUI file selection dialogs better. |
| @@ -952,6 +928,35 @@ ESC, like they do for Gtk+, Mac and W32. | |||
| 952 | by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use | 928 | by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use |
| 953 | the new dialog. | 929 | the new dialog. |
| 954 | 930 | ||
| 931 | *** You can exit dialog windows and menus by typing C-g. | ||
| 932 | |||
| 933 | ** Buffer Menu changes: | ||
| 934 | |||
| 935 | *** The new options `buffers-menu-show-directories' and | ||
| 936 | `buffers-menu-show-status' let you control how buffers are displayed | ||
| 937 | in the menu dropped down when you click "Buffers" from the menu bar. | ||
| 938 | |||
| 939 | `buffers-menu-show-directories' controls whether the menu displays | ||
| 940 | leading directories as part of the file name visited by the buffer. | ||
| 941 | If its value is `unless-uniquify', the default, directories are | ||
| 942 | shown unless uniquify-buffer-name-style' is non-nil. The value of nil | ||
| 943 | and t turn the display of directories off and on, respectively. | ||
| 944 | |||
| 945 | `buffers-menu-show-status' controls whether the Buffers menu includes | ||
| 946 | the modified and read-only status of the buffers. By default it is | ||
| 947 | t, and the status is shown. | ||
| 948 | |||
| 949 | Setting these variables directly does not take effect until next time | ||
| 950 | the Buffers menu is regenerated. | ||
| 951 | |||
| 952 | *** New command `Buffer-menu-toggle-files-only' toggles display of file | ||
| 953 | buffers only in the Buffer Menu. It is bound to T in Buffer Menu | ||
| 954 | mode. | ||
| 955 | |||
| 956 | *** `buffer-menu' and `list-buffers' now list buffers whose names begin | ||
| 957 | with a space, when those buffers are visiting files. Normally buffers | ||
| 958 | whose names begin with space are omitted. | ||
| 959 | |||
| 955 | ** Mouse changes: | 960 | ** Mouse changes: |
| 956 | 961 | ||
| 957 | *** You can now follow links by clicking Mouse-1 on the link. | 962 | *** You can now follow links by clicking Mouse-1 on the link. |
| @@ -1006,8 +1011,7 @@ also disable mouse highlighting. | |||
| 1006 | shall not copy the selected text to the kill-ring by setting the new | 1011 | shall not copy the selected text to the kill-ring by setting the new |
| 1007 | variable mouse-drag-copy-region to nil. | 1012 | variable mouse-drag-copy-region to nil. |
| 1008 | 1013 | ||
| 1009 | *** mouse-wheels can now scroll a specific fraction of the window | 1014 | *** Under X, mouse-wheel-mode is turned on by default. |
| 1010 | (rather than a fixed number of lines) and the scrolling is `progressive'. | ||
| 1011 | 1015 | ||
| 1012 | *** Emacs ignores mouse-2 clicks while the mouse wheel is being moved. | 1016 | *** Emacs ignores mouse-2 clicks while the mouse wheel is being moved. |
| 1013 | 1017 | ||
| @@ -1016,7 +1020,8 @@ unintentionally while turning the wheel, so these clicks are now | |||
| 1016 | ignored. You can customize this with the mouse-wheel-click-event and | 1020 | ignored. You can customize this with the mouse-wheel-click-event and |
| 1017 | mouse-wheel-inhibit-click-time variables. | 1021 | mouse-wheel-inhibit-click-time variables. |
| 1018 | 1022 | ||
| 1019 | *** Under X, mouse-wheel-mode is turned on by default. | 1023 | *** mouse-wheels can now scroll a specific fraction of the window |
| 1024 | (rather than a fixed number of lines) and the scrolling is `progressive'. | ||
| 1020 | 1025 | ||
| 1021 | ** Multilingual Environment (Mule) changes: | 1026 | ** Multilingual Environment (Mule) changes: |
| 1022 | 1027 | ||
| @@ -1047,6 +1052,11 @@ keyboard-coding-system) if you prefer META to work (the old default) | |||
| 1047 | or if the locale doesn't describe the character set actually generated | 1052 | or if the locale doesn't describe the character set actually generated |
| 1048 | by the keyboard. See Info node `Unibyte Mode'. | 1053 | by the keyboard. See Info node `Unibyte Mode'. |
| 1049 | 1054 | ||
| 1055 | *** The new command `set-file-name-coding-system' (C-x RET F) sets | ||
| 1056 | coding system for encoding and decoding file names. A new menu item | ||
| 1057 | (Options->Mule->Set Coding Systems->For File Name) invokes this | ||
| 1058 | command. | ||
| 1059 | |||
| 1050 | *** The new command `revert-buffer-with-coding-system' (C-x RET r) | 1060 | *** The new command `revert-buffer-with-coding-system' (C-x RET r) |
| 1051 | revisits the current file using a coding system that you specify. | 1061 | revisits the current file using a coding system that you specify. |
| 1052 | 1062 | ||
| @@ -1059,11 +1069,6 @@ of a file. | |||
| 1059 | *** New command `ucs-insert' inserts a character specified by its | 1069 | *** New command `ucs-insert' inserts a character specified by its |
| 1060 | unicode. | 1070 | unicode. |
| 1061 | 1071 | ||
| 1062 | *** The new command `set-file-name-coding-system' (C-x RET F) sets | ||
| 1063 | coding system for encoding and decoding file names. A new menu item | ||
| 1064 | (Options->Mule->Set Coding Systems->For File Name) invokes this | ||
| 1065 | command. | ||
| 1066 | |||
| 1067 | *** New command quail-show-key shows what key (or key sequence) to type | 1072 | *** New command quail-show-key shows what key (or key sequence) to type |
| 1068 | in the current input method to input a character at point. | 1073 | in the current input method to input a character at point. |
| 1069 | 1074 | ||
| @@ -1177,34 +1182,17 @@ the previous value becomes the "backup value" of the variable. | |||
| 1177 | You can go back to that backup value by selecting "Use Backup Value" | 1182 | You can go back to that backup value by selecting "Use Backup Value" |
| 1178 | under the "[State]" button. | 1183 | under the "[State]" button. |
| 1179 | 1184 | ||
| 1180 | ** Buffer Menu changes: | 1185 | ** Dired mode: |
| 1181 | |||
| 1182 | *** New command `Buffer-menu-toggle-files-only' toggles display of file | ||
| 1183 | buffers only in the Buffer Menu. It is bound to T in Buffer Menu | ||
| 1184 | mode. | ||
| 1185 | |||
| 1186 | *** `buffer-menu' and `list-buffers' now list buffers whose names begin | ||
| 1187 | with a space, when those buffers are visiting files. Normally buffers | ||
| 1188 | whose names begin with space are omitted. | ||
| 1189 | |||
| 1190 | *** The new options `buffers-menu-show-directories' and | ||
| 1191 | `buffers-menu-show-status' let you control how buffers are displayed | ||
| 1192 | in the menu dropped down when you click "Buffers" from the menu bar. | ||
| 1193 | |||
| 1194 | `buffers-menu-show-directories' controls whether the menu displays | ||
| 1195 | leading directories as part of the file name visited by the buffer. | ||
| 1196 | If its value is `unless-uniquify', the default, directories are | ||
| 1197 | shown unless uniquify-buffer-name-style' is non-nil. The value of nil | ||
| 1198 | and t turn the display of directories off and on, respectively. | ||
| 1199 | |||
| 1200 | `buffers-menu-show-status' controls whether the Buffers menu includes | ||
| 1201 | the modified and read-only status of the buffers. By default it is | ||
| 1202 | t, and the status is shown. | ||
| 1203 | 1186 | ||
| 1204 | Setting these variables directly does not take effect until next time | 1187 | *** In Dired's ! command (dired-do-shell-command), `*' and `?' now |
| 1205 | the Buffers menu is regenerated. | 1188 | control substitution of the file names only when they are surrounded |
| 1189 | by whitespace. This means you can now use them as shell wildcards | ||
| 1190 | too. If you want to use just plain `*' as a wildcard, type `*""'; the | ||
| 1191 | double quotes make no difference in the shell, but they prevent | ||
| 1192 | special treatment in `dired-do-shell-command'. | ||
| 1206 | 1193 | ||
| 1207 | ** Dired mode: | 1194 | *** The Dired command `dired-goto-file' is now bound to j, not M-g. |
| 1195 | This is to avoid hiding the global key binding of M-g. | ||
| 1208 | 1196 | ||
| 1209 | *** New faces dired-header, dired-mark, dired-marked, dired-flagged, | 1197 | *** New faces dired-header, dired-mark, dired-marked, dired-flagged, |
| 1210 | dired-ignored, dired-directory, dired-symlink, dired-warning | 1198 | dired-ignored, dired-directory, dired-symlink, dired-warning |
| @@ -1216,16 +1204,6 @@ with different file attributes in two dired buffers. | |||
| 1216 | *** New Dired command `dired-do-touch' (bound to T) changes timestamps | 1204 | *** New Dired command `dired-do-touch' (bound to T) changes timestamps |
| 1217 | of marked files with the value entered in the minibuffer. | 1205 | of marked files with the value entered in the minibuffer. |
| 1218 | 1206 | ||
| 1219 | *** The Dired command `dired-goto-file' is now bound to j, not M-g. | ||
| 1220 | This is to avoid hiding the global key binding of M-g. | ||
| 1221 | |||
| 1222 | *** In Dired's ! command (dired-do-shell-command), `*' and `?' now | ||
| 1223 | control substitution of the file names only when they are surrounded | ||
| 1224 | by whitespace. This means you can now use them as shell wildcards | ||
| 1225 | too. If you want to use just plain `*' as a wildcard, type `*""'; the | ||
| 1226 | double quotes make no difference in the shell, but they prevent | ||
| 1227 | special treatment in `dired-do-shell-command'. | ||
| 1228 | |||
| 1229 | *** In Dired, the w command now stores the current line's file name | 1207 | *** In Dired, the w command now stores the current line's file name |
| 1230 | into the kill ring. With a zero prefix arg, it stores the absolute file name. | 1208 | into the kill ring. With a zero prefix arg, it stores the absolute file name. |
| 1231 | 1209 | ||
| @@ -1243,6 +1221,12 @@ directory listing into a buffer. | |||
| 1243 | 1221 | ||
| 1244 | ** Comint changes: | 1222 | ** Comint changes: |
| 1245 | 1223 | ||
| 1224 | *** The new INSIDE_EMACS environment variable is set to "t" in subshells | ||
| 1225 | running inside Emacs. This supersedes the EMACS environment variable, | ||
| 1226 | which will be removed in a future Emacs release. Programs that need | ||
| 1227 | to know whether they are started inside Emacs should check INSIDE_EMACS | ||
| 1228 | instead of EMACS. | ||
| 1229 | |||
| 1246 | *** The comint prompt can now be made read-only, using the new user | 1230 | *** The comint prompt can now be made read-only, using the new user |
| 1247 | option `comint-prompt-read-only'. This is not enabled by default, | 1231 | option `comint-prompt-read-only'. This is not enabled by default, |
| 1248 | except in IELM buffers. The read-only status of IELM prompts can be | 1232 | except in IELM buffers. The read-only status of IELM prompts can be |
| @@ -1273,12 +1257,6 @@ otherwise behaves quite similarly to the bash version. | |||
| 1273 | `comint-use-prompt-regexp'. The old name has been kept as an alias, | 1257 | `comint-use-prompt-regexp'. The old name has been kept as an alias, |
| 1274 | but declared obsolete. | 1258 | but declared obsolete. |
| 1275 | 1259 | ||
| 1276 | *** The new INSIDE_EMACS environment variable is set to "t" in subshells | ||
| 1277 | running inside Emacs. This supersedes the EMACS environment variable, | ||
| 1278 | which will be removed in a future Emacs release. Programs that need | ||
| 1279 | to know whether they are started inside Emacs should check INSIDE_EMACS | ||
| 1280 | instead of EMACS. | ||
| 1281 | |||
| 1282 | ** M-x Compile changes: | 1260 | ** M-x Compile changes: |
| 1283 | 1261 | ||
| 1284 | *** M-x compile has become more robust and reliable | 1262 | *** M-x compile has become more robust and reliable |
| @@ -1330,13 +1308,6 @@ of the window. | |||
| 1330 | 1308 | ||
| 1331 | ** Occur mode changes: | 1309 | ** Occur mode changes: |
| 1332 | 1310 | ||
| 1333 | *** In the *Occur* buffer, `o' switches to it in another window, and | ||
| 1334 | C-o displays the current line's occurrence in another window without | ||
| 1335 | switching to it. | ||
| 1336 | |||
| 1337 | *** You can now use next-error (C-x `) and previous-error to advance to | ||
| 1338 | the next/previous matching line found by M-x occur. | ||
| 1339 | |||
| 1340 | *** The new command `multi-occur' is just like `occur', except it can | 1311 | *** The new command `multi-occur' is just like `occur', except it can |
| 1341 | search multiple buffers. There is also a new command | 1312 | search multiple buffers. There is also a new command |
| 1342 | `multi-occur-in-matching-buffers' which allows you to specify the | 1313 | `multi-occur-in-matching-buffers' which allows you to specify the |
| @@ -1344,6 +1315,13 @@ buffers to search by their filenames or buffer names. Internally, | |||
| 1344 | Occur mode has been rewritten, and now uses font-lock, among other | 1315 | Occur mode has been rewritten, and now uses font-lock, among other |
| 1345 | changes. | 1316 | changes. |
| 1346 | 1317 | ||
| 1318 | *** You can now use next-error (C-x `) and previous-error to advance to | ||
| 1319 | the next/previous matching line found by M-x occur. | ||
| 1320 | |||
| 1321 | *** In the *Occur* buffer, `o' switches to it in another window, and | ||
| 1322 | C-o displays the current line's occurrence in another window without | ||
| 1323 | switching to it. | ||
| 1324 | |||
| 1347 | ** Grep changes: | 1325 | ** Grep changes: |
| 1348 | 1326 | ||
| 1349 | *** Grep has been decoupled from compilation mode setup. | 1327 | *** Grep has been decoupled from compilation mode setup. |
| @@ -1374,9 +1352,6 @@ are automatically skipped by `rgrep'. | |||
| 1374 | Hits are fontified in green, and hits in binary files in orange. Grep buffers | 1352 | Hits are fontified in green, and hits in binary files in orange. Grep buffers |
| 1375 | can be saved and automatically revisited. | 1353 | can be saved and automatically revisited. |
| 1376 | 1354 | ||
| 1377 | *** The new variables `grep-window-height' and `grep-scroll-output' override | ||
| 1378 | the corresponding compilation mode settings, for grep commands only. | ||
| 1379 | |||
| 1380 | *** New option `grep-highlight-matches' highlights matches in *grep* | 1355 | *** New option `grep-highlight-matches' highlights matches in *grep* |
| 1381 | buffer. It uses a special feature of some grep programs which accept | 1356 | buffer. It uses a special feature of some grep programs which accept |
| 1382 | --color option to output markers around matches. When going to the next | 1357 | --color option to output markers around matches. When going to the next |
| @@ -1399,11 +1374,36 @@ When `-H' is used, the grep command line supplied by the user is passed | |||
| 1399 | unchanged to the system to execute, which allows more complicated | 1374 | unchanged to the system to execute, which allows more complicated |
| 1400 | command lines to be used than was possible before. | 1375 | command lines to be used than was possible before. |
| 1401 | 1376 | ||
| 1377 | *** The new variables `grep-window-height' and `grep-scroll-output' override | ||
| 1378 | the corresponding compilation mode settings, for grep commands only. | ||
| 1379 | |||
| 1380 | ** Cursor display changes: | ||
| 1381 | |||
| 1382 | *** Emacs can produce an underscore-like (horizontal bar) cursor. | ||
| 1383 | The underscore cursor is set by putting `(cursor-type . hbar)' in | ||
| 1384 | default-frame-alist. It supports variable heights, like the `bar' | ||
| 1385 | cursor does. | ||
| 1386 | |||
| 1387 | *** The variable `cursor-in-non-selected-windows' can now be set to any | ||
| 1388 | of the recognized cursor types. | ||
| 1389 | |||
| 1390 | *** Display of hollow cursors now obeys the buffer-local value (if any) | ||
| 1391 | of `cursor-in-non-selected-windows' in the buffer that the cursor | ||
| 1392 | appears in. | ||
| 1393 | |||
| 1394 | *** On text terminals, the variable `visible-cursor' controls whether Emacs | ||
| 1395 | uses the "very visible" cursor (the default) or the normal cursor. | ||
| 1396 | |||
| 1397 | *** The X resource cursorBlink can be used to turn off cursor blinking. | ||
| 1398 | |||
| 1399 | *** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is | ||
| 1400 | now controlled by the variable `blink-cursor-alist'. | ||
| 1401 | |||
| 1402 | ** X Windows Support: | 1402 | ** X Windows Support: |
| 1403 | 1403 | ||
| 1404 | *** Emacs now supports drag and drop for X. Dropping a file on a window | 1404 | *** Emacs now supports drag and drop for X. Dropping a file on a window |
| 1405 | opens it, dropping text inserts the text. Dropping a file on a dired | 1405 | opens it, dropping text inserts the text. Dropping a file on a dired |
| 1406 | buffer copies or moves the file to that directory. | 1406 | buffer copies or moves the file to that directory. |
| 1407 | 1407 | ||
| 1408 | *** Under X11, it is possible to swap Alt and Meta (and Super and Hyper). | 1408 | *** Under X11, it is possible to swap Alt and Meta (and Super and Hyper). |
| 1409 | The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym', | 1409 | The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym', |
| @@ -1482,69 +1482,6 @@ Values greater than 1.0, expand the arrow. | |||
| 1482 | 1482 | ||
| 1483 | * New Modes and Packages in Emacs 22.1 | 1483 | * New Modes and Packages in Emacs 22.1 |
| 1484 | 1484 | ||
| 1485 | ** ERC is now part of the Emacs distribution. | ||
| 1486 | |||
| 1487 | ERC is a powerful, modular, and extensible IRC client for Emacs. | ||
| 1488 | |||
| 1489 | To see what modules are available, type | ||
| 1490 | M-x customize-option erc-modules RET. | ||
| 1491 | |||
| 1492 | To start an IRC session with ERC, type M-x erc, and follow the prompts | ||
| 1493 | for server, port, and nick. | ||
| 1494 | |||
| 1495 | ** Rcirc is now part of the Emacs distribution. | ||
| 1496 | |||
| 1497 | Rcirc is an Internet relay chat (IRC) client. It supports | ||
| 1498 | simultaneous connections to multiple IRC servers. Each discussion | ||
| 1499 | takes place in its own buffer. For each connection you can join | ||
| 1500 | several channels (many-to-many) and participate in private | ||
| 1501 | (one-to-one) chats. Both channel and private chats are contained in | ||
| 1502 | separate buffers. | ||
| 1503 | |||
| 1504 | To start an IRC session using the default parameters, type M-x irc. | ||
| 1505 | If you type C-u M-x irc, it prompts you for the server, nick, port and | ||
| 1506 | startup channel parameters before connecting. | ||
| 1507 | |||
| 1508 | ** Newsticker is now part of the Emacs distribution. | ||
| 1509 | |||
| 1510 | Newsticker asynchronously retrieves headlines (RSS) from a list of news | ||
| 1511 | sites, prepares these headlines for reading, and allows for loading the | ||
| 1512 | corresponding articles in a web browser. Its documentation is in a | ||
| 1513 | separate manual. | ||
| 1514 | |||
| 1515 | ** savehist saves minibuffer histories between sessions. | ||
| 1516 | To use this feature, turn on savehist-mode in your `.emacs' file. | ||
| 1517 | |||
| 1518 | ** Filesets are collections of files. You can define a fileset in | ||
| 1519 | various ways, such as based on a directory tree or based on | ||
| 1520 | program files that include other program files. | ||
| 1521 | |||
| 1522 | Once you have defined a fileset, you can perform various operations on | ||
| 1523 | all the files in it, such as visiting them or searching and replacing | ||
| 1524 | in them. | ||
| 1525 | |||
| 1526 | ** Calc is now part of the Emacs distribution. | ||
| 1527 | |||
| 1528 | Calc is an advanced desk calculator and mathematical tool written in | ||
| 1529 | Emacs Lisp. The prefix for Calc has been changed to `C-x *' and Calc | ||
| 1530 | can be started with `C-x * *'. The Calc manual is separate from the | ||
| 1531 | Emacs manual; within Emacs, type "C-h i m calc RET" to read the | ||
| 1532 | manual. A reference card is available in `etc/calccard.tex' and | ||
| 1533 | `etc/calccard.ps'. | ||
| 1534 | |||
| 1535 | ** The new package ibuffer provides a powerful, completely | ||
| 1536 | customizable replacement for buff-menu.el. | ||
| 1537 | |||
| 1538 | ** Ido mode is now part of the Emacs distribution. | ||
| 1539 | |||
| 1540 | The ido (interactively do) package is an extension of the iswitchb | ||
| 1541 | package to do interactive opening of files and directories in addition | ||
| 1542 | to interactive buffer switching. Ido is a superset of iswitchb (with | ||
| 1543 | a few exceptions), so don't enable both packages. | ||
| 1544 | |||
| 1545 | ** Image files are normally visited in Image mode, which lets you toggle | ||
| 1546 | between viewing the image and viewing the text using C-c C-c. | ||
| 1547 | |||
| 1548 | ** CUA mode is now part of the Emacs distribution. | 1485 | ** CUA mode is now part of the Emacs distribution. |
| 1549 | 1486 | ||
| 1550 | The new cua package provides CUA-like keybindings using C-x for | 1487 | The new cua package provides CUA-like keybindings using C-x for |
| @@ -1593,6 +1530,49 @@ versions of cua.el and cua-mode.el. To ensure proper operation, you | |||
| 1593 | must remove older versions of cua.el or cua-mode.el as well as the | 1530 | must remove older versions of cua.el or cua-mode.el as well as the |
| 1594 | loading and customization of those packages from the .emacs file. | 1531 | loading and customization of those packages from the .emacs file. |
| 1595 | 1532 | ||
| 1533 | ** Tramp is now part of the distribution. | ||
| 1534 | |||
| 1535 | This package is similar to Ange-FTP: it allows you to edit remote | ||
| 1536 | files. But whereas Ange-FTP uses FTP to access the remote host, | ||
| 1537 | Tramp uses a shell connection. The shell connection is always used | ||
| 1538 | for filename completion and directory listings and suchlike, but for | ||
| 1539 | the actual file transfer, you can choose between the so-called | ||
| 1540 | `inline' methods (which transfer the files through the shell | ||
| 1541 | connection using base64 or uu encoding) and the `out-of-band' methods | ||
| 1542 | (which invoke an external copying program such as `rcp' or `scp' or | ||
| 1543 | `rsync' to do the copying). | ||
| 1544 | |||
| 1545 | Shell connections can be acquired via `rsh', `ssh', `telnet' and also | ||
| 1546 | `su' and `sudo'. Ange-FTP is still supported via the `ftp' method. | ||
| 1547 | |||
| 1548 | If you want to disable Tramp you should set | ||
| 1549 | |||
| 1550 | (setq tramp-default-method "ftp") | ||
| 1551 | |||
| 1552 | Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x | ||
| 1553 | tramp-unload-tramp. | ||
| 1554 | |||
| 1555 | ** The image-dired.el package allows you to easily view, tag and in | ||
| 1556 | other ways manipulate image files and their thumbnails, using dired as | ||
| 1557 | the main interface. Image-Dired provides functionality to generate | ||
| 1558 | simple image galleries. | ||
| 1559 | |||
| 1560 | ** Image files are normally visited in Image mode, which lets you toggle | ||
| 1561 | between viewing the image and viewing the text using C-c C-c. | ||
| 1562 | |||
| 1563 | ** The new python.el package is used to edit Python and Jython programs. | ||
| 1564 | |||
| 1565 | ** The URL package (which had been part of W3) is now part of Emacs. | ||
| 1566 | |||
| 1567 | ** Calc is now part of the Emacs distribution. | ||
| 1568 | |||
| 1569 | Calc is an advanced desk calculator and mathematical tool written in | ||
| 1570 | Emacs Lisp. The prefix for Calc has been changed to `C-x *' and Calc | ||
| 1571 | can be started with `C-x * *'. The Calc manual is separate from the | ||
| 1572 | Emacs manual; within Emacs, type "C-h i m calc RET" to read the | ||
| 1573 | manual. A reference card is available in `etc/calccard.tex' and | ||
| 1574 | `etc/calccard.ps'. | ||
| 1575 | |||
| 1596 | ** Org mode is now part of the Emacs distribution | 1576 | ** Org mode is now part of the Emacs distribution |
| 1597 | 1577 | ||
| 1598 | Org mode is a mode for keeping notes, maintaining ToDo lists, and | 1578 | Org mode is a mode for keeping notes, maintaining ToDo lists, and |
| @@ -1607,8 +1587,48 @@ The documentation for org-mode is in a separate manual; within Emacs, | |||
| 1607 | type "C-h i m org RET" to read that manual. A reference card is | 1587 | type "C-h i m org RET" to read that manual. A reference card is |
| 1608 | available in `etc/orgcard.tex' and `etc/orgcard.ps'. | 1588 | available in `etc/orgcard.tex' and `etc/orgcard.ps'. |
| 1609 | 1589 | ||
| 1610 | ** The new package dns-mode.el adds syntax highlighting of DNS master files. | 1590 | ** ERC is now part of the Emacs distribution. |
| 1611 | It is a modern replacement for zone-mode.el, which is now obsolete. | 1591 | |
| 1592 | ERC is a powerful, modular, and extensible IRC client for Emacs. | ||
| 1593 | |||
| 1594 | To see what modules are available, type | ||
| 1595 | M-x customize-option erc-modules RET. | ||
| 1596 | |||
| 1597 | To start an IRC session with ERC, type M-x erc, and follow the prompts | ||
| 1598 | for server, port, and nick. | ||
| 1599 | |||
| 1600 | ** Rcirc is now part of the Emacs distribution. | ||
| 1601 | |||
| 1602 | Rcirc is an Internet relay chat (IRC) client. It supports | ||
| 1603 | simultaneous connections to multiple IRC servers. Each discussion | ||
| 1604 | takes place in its own buffer. For each connection you can join | ||
| 1605 | several channels (many-to-many) and participate in private | ||
| 1606 | (one-to-one) chats. Both channel and private chats are contained in | ||
| 1607 | separate buffers. | ||
| 1608 | |||
| 1609 | To start an IRC session using the default parameters, type M-x irc. | ||
| 1610 | If you type C-u M-x irc, it prompts you for the server, nick, port and | ||
| 1611 | startup channel parameters before connecting. | ||
| 1612 | |||
| 1613 | ** The new package ibuffer provides a powerful, completely | ||
| 1614 | customizable replacement for buff-menu.el. | ||
| 1615 | |||
| 1616 | ** Newsticker is now part of the Emacs distribution. | ||
| 1617 | |||
| 1618 | Newsticker asynchronously retrieves headlines (RSS) from a list of news | ||
| 1619 | sites, prepares these headlines for reading, and allows for loading the | ||
| 1620 | corresponding articles in a web browser. Its documentation is in a | ||
| 1621 | separate manual. | ||
| 1622 | |||
| 1623 | ** The wdired.el package allows you to use normal editing commands on Dired | ||
| 1624 | buffers to change filenames, permissions, etc... | ||
| 1625 | |||
| 1626 | ** Ido mode is now part of the Emacs distribution. | ||
| 1627 | |||
| 1628 | The ido (interactively do) package is an extension of the iswitchb | ||
| 1629 | package to do interactive opening of files and directories in addition | ||
| 1630 | to interactive buffer switching. Ido is a superset of iswitchb (with | ||
| 1631 | a few exceptions), so don't enable both packages. | ||
| 1612 | 1632 | ||
| 1613 | ** The new global minor mode `file-name-shadow-mode' modifies the way | 1633 | ** The new global minor mode `file-name-shadow-mode' modifies the way |
| 1614 | filenames being entered by the user in the minibuffer are displayed, so | 1634 | filenames being entered by the user in the minibuffer are displayed, so |
| @@ -1617,33 +1637,6 @@ Emacs' filename parsing rules. The ignored portion can be made dim, | |||
| 1617 | invisible, or otherwise less visually noticeable. The display method can | 1637 | invisible, or otherwise less visually noticeable. The display method can |
| 1618 | be displayed by customizing the variable `file-name-shadow-properties'. | 1638 | be displayed by customizing the variable `file-name-shadow-properties'. |
| 1619 | 1639 | ||
| 1620 | ** The new package flymake.el does on-the-fly syntax checking of program | ||
| 1621 | source files. See the Flymake's Info manual for more details. | ||
| 1622 | |||
| 1623 | ** The new keypad setup package provides several common bindings for | ||
| 1624 | the numeric keypad which is available on most keyboards. The numeric | ||
| 1625 | keypad typically has the digits 0 to 9, a decimal point, keys marked | ||
| 1626 | +, -, /, and *, an Enter key, and a NumLock toggle key. The keypad | ||
| 1627 | package only controls the use of the digit and decimal keys. | ||
| 1628 | |||
| 1629 | By customizing the variables `keypad-setup', `keypad-shifted-setup', | ||
| 1630 | `keypad-numlock-setup', and `keypad-numlock-shifted-setup', or by | ||
| 1631 | using the function `keypad-setup', you can rebind all digit keys and | ||
| 1632 | the decimal key of the keypad in one step for each of the four | ||
| 1633 | possible combinations of the Shift key state (not pressed/pressed) and | ||
| 1634 | the NumLock toggle state (off/on). | ||
| 1635 | |||
| 1636 | The choices for the keypad keys in each of the above states are: | ||
| 1637 | `Plain numeric keypad' where the keys generates plain digits, | ||
| 1638 | `Numeric keypad with decimal key' where the character produced by the | ||
| 1639 | decimal key can be customized individually (for internationalization), | ||
| 1640 | `Numeric Prefix Arg' where the keypad keys produce numeric prefix args | ||
| 1641 | for Emacs editing commands, `Cursor keys' and `Shifted Cursor keys' | ||
| 1642 | where the keys work like (shifted) arrow keys, home/end, etc., and | ||
| 1643 | `Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.) | ||
| 1644 | are left unspecified and can be bound individually through the global | ||
| 1645 | or local keymaps. | ||
| 1646 | |||
| 1647 | ** Emacs' keyboard macro facilities have been enhanced by the new | 1640 | ** Emacs' keyboard macro facilities have been enhanced by the new |
| 1648 | kmacro package. | 1641 | kmacro package. |
| 1649 | 1642 | ||
| @@ -1677,22 +1670,29 @@ Keyboard macros can now be debugged and edited interactively. | |||
| 1677 | C-x C-k SPC steps through the last keyboard macro one key sequence | 1670 | C-x C-k SPC steps through the last keyboard macro one key sequence |
| 1678 | at a time, prompting for the actions to take. | 1671 | at a time, prompting for the actions to take. |
| 1679 | 1672 | ||
| 1680 | ** New minor mode, Visible mode, toggles invisibility in the current buffer. | 1673 | ** The new keypad setup package provides several common bindings for |
| 1681 | When enabled, it makes all invisible text visible. When disabled, it | 1674 | the numeric keypad which is available on most keyboards. The numeric |
| 1682 | restores the previous value of `buffer-invisibility-spec'. | 1675 | keypad typically has the digits 0 to 9, a decimal point, keys marked |
| 1676 | +, -, /, and *, an Enter key, and a NumLock toggle key. The keypad | ||
| 1677 | package only controls the use of the digit and decimal keys. | ||
| 1683 | 1678 | ||
| 1684 | ** The wdired.el package allows you to use normal editing commands on Dired | 1679 | By customizing the variables `keypad-setup', `keypad-shifted-setup', |
| 1685 | buffers to change filenames, permissions, etc... | 1680 | `keypad-numlock-setup', and `keypad-numlock-shifted-setup', or by |
| 1681 | using the function `keypad-setup', you can rebind all digit keys and | ||
| 1682 | the decimal key of the keypad in one step for each of the four | ||
| 1683 | possible combinations of the Shift key state (not pressed/pressed) and | ||
| 1684 | the NumLock toggle state (off/on). | ||
| 1686 | 1685 | ||
| 1687 | ** The new package longlines.el provides a minor mode for editing text | 1686 | The choices for the keypad keys in each of the above states are: |
| 1688 | files composed of long lines, based on the `use-hard-newlines' | 1687 | `Plain numeric keypad' where the keys generates plain digits, |
| 1689 | mechanism. The long lines are broken up by inserting soft newlines, | 1688 | `Numeric keypad with decimal key' where the character produced by the |
| 1690 | which are automatically removed when saving the file to disk or | 1689 | decimal key can be customized individually (for internationalization), |
| 1691 | copying into the kill ring, clipboard, etc. By default, Longlines | 1690 | `Numeric Prefix Arg' where the keypad keys produce numeric prefix args |
| 1692 | mode inserts soft newlines automatically during editing, a behavior | 1691 | for Emacs editing commands, `Cursor keys' and `Shifted Cursor keys' |
| 1693 | referred to as "soft word wrap" in other text editors. This is | 1692 | where the keys work like (shifted) arrow keys, home/end, etc., and |
| 1694 | similar to Refill mode, but more reliable. To turn the word wrap | 1693 | `Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.) |
| 1695 | feature off, set `longlines-auto-wrap' to nil. | 1694 | are left unspecified and can be bound individually through the global |
| 1695 | or local keymaps. | ||
| 1696 | 1696 | ||
| 1697 | ** The printing package is now part of the Emacs distribution. | 1697 | ** The printing package is now part of the Emacs distribution. |
| 1698 | 1698 | ||
| @@ -1703,26 +1703,21 @@ ghostview, use ghostscript to print (if you don't have a PostScript | |||
| 1703 | printer) or send directly to printer a PostScript code generated by | 1703 | printer) or send directly to printer a PostScript code generated by |
| 1704 | `ps-print' package. Use M-x pr-help for more information. | 1704 | `ps-print' package. Use M-x pr-help for more information. |
| 1705 | 1705 | ||
| 1706 | ** The minor mode Reveal mode makes text visible on the fly as you | 1706 | ** The new package longlines.el provides a minor mode for editing text |
| 1707 | move your cursor into hidden regions of the buffer. | 1707 | files composed of long lines, based on the `use-hard-newlines' |
| 1708 | It should work with any package that uses overlays to hide parts | 1708 | mechanism. The long lines are broken up by inserting soft newlines, |
| 1709 | of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ... | 1709 | which are automatically removed when saving the file to disk or |
| 1710 | 1710 | copying into the kill ring, clipboard, etc. By default, Longlines | |
| 1711 | There is also Global Reveal mode which affects all buffers. | 1711 | mode inserts soft newlines automatically during editing, a behavior |
| 1712 | 1712 | referred to as "soft word wrap" in other text editors. This is | |
| 1713 | ** The ruler-mode.el library provides a minor mode for displaying an | 1713 | similar to Refill mode, but more reliable. To turn the word wrap |
| 1714 | "active" ruler in the header line. You can use the mouse to visually | 1714 | feature off, set `longlines-auto-wrap' to nil. |
| 1715 | change the `fill-column', `window-margins' and `tab-stop-list' | ||
| 1716 | settings. | ||
| 1717 | 1715 | ||
| 1718 | ** SES mode (ses-mode) is a new major mode for creating and editing | 1716 | ** SES mode (ses-mode) is a new major mode for creating and editing |
| 1719 | spreadsheet files. Besides the usual Emacs features (intuitive command | 1717 | spreadsheet files. Besides the usual Emacs features (intuitive command |
| 1720 | letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers | 1718 | letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers |
| 1721 | viral immunity and import/export of tab-separated values. | 1719 | viral immunity and import/export of tab-separated values. |
| 1722 | 1720 | ||
| 1723 | ** The new global minor mode `size-indication-mode' (off by default) | ||
| 1724 | shows the size of accessible part of the buffer on the mode line. | ||
| 1725 | |||
| 1726 | ** The new package table.el implements editable, WYSIWYG, embedded | 1721 | ** The new package table.el implements editable, WYSIWYG, embedded |
| 1727 | `text tables' in Emacs buffers. It simulates the effect of putting | 1722 | `text tables' in Emacs buffers. It simulates the effect of putting |
| 1728 | these tables in a special major mode. The package emulates WYSIWYG | 1723 | these tables in a special major mode. The package emulates WYSIWYG |
| @@ -1730,37 +1725,48 @@ table editing available in modern word processors. The package also | |||
| 1730 | can generate a table source in typesetting and markup languages such | 1725 | can generate a table source in typesetting and markup languages such |
| 1731 | as latex and html from the visually laid out text table. | 1726 | as latex and html from the visually laid out text table. |
| 1732 | 1727 | ||
| 1733 | ** The image-dired.el package allows you to easily view, tag and in | 1728 | ** Filesets are collections of files. You can define a fileset in |
| 1734 | other ways manipulate image files and their thumbnails, using dired as | 1729 | various ways, such as based on a directory tree or based on |
| 1735 | the main interface. Image-Dired provides functionality to generate | 1730 | program files that include other program files. |
| 1736 | simple image galleries. | ||
| 1737 | 1731 | ||
| 1738 | ** Tramp is now part of the distribution. | 1732 | Once you have defined a fileset, you can perform various operations on |
| 1733 | all the files in it, such as visiting them or searching and replacing | ||
| 1734 | in them. | ||
| 1739 | 1735 | ||
| 1740 | This package is similar to Ange-FTP: it allows you to edit remote | 1736 | ** The minor mode Reveal mode makes text visible on the fly as you |
| 1741 | files. But whereas Ange-FTP uses FTP to access the remote host, | 1737 | move your cursor into hidden regions of the buffer. |
| 1742 | Tramp uses a shell connection. The shell connection is always used | 1738 | It should work with any package that uses overlays to hide parts |
| 1743 | for filename completion and directory listings and suchlike, but for | 1739 | of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ... |
| 1744 | the actual file transfer, you can choose between the so-called | ||
| 1745 | `inline' methods (which transfer the files through the shell | ||
| 1746 | connection using base64 or uu encoding) and the `out-of-band' methods | ||
| 1747 | (which invoke an external copying program such as `rcp' or `scp' or | ||
| 1748 | `rsync' to do the copying). | ||
| 1749 | 1740 | ||
| 1750 | Shell connections can be acquired via `rsh', `ssh', `telnet' and also | 1741 | There is also Global Reveal mode which affects all buffers. |
| 1751 | `su' and `sudo'. Ange-FTP is still supported via the `ftp' method. | ||
| 1752 | 1742 | ||
| 1753 | If you want to disable Tramp you should set | 1743 | ** New minor mode, Visible mode, toggles invisibility in the current buffer. |
| 1744 | When enabled, it makes all invisible text visible. When disabled, it | ||
| 1745 | restores the previous value of `buffer-invisibility-spec'. | ||
| 1754 | 1746 | ||
| 1755 | (setq tramp-default-method "ftp") | 1747 | ** The new package flymake.el does on-the-fly syntax checking of program |
| 1748 | source files. See the Flymake's Info manual for more details. | ||
| 1756 | 1749 | ||
| 1757 | Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x | 1750 | ** savehist saves minibuffer histories between sessions. |
| 1758 | tramp-unload-tramp. | 1751 | To use this feature, turn on savehist-mode in your `.emacs' file. |
| 1759 | 1752 | ||
| 1760 | ** The URL package (which had been part of W3) is now part of Emacs. | 1753 | ** The ruler-mode.el library provides a minor mode for displaying an |
| 1754 | "active" ruler in the header line. You can use the mouse to visually | ||
| 1755 | change the `fill-column', `window-margins' and `tab-stop-list' | ||
| 1756 | settings. | ||
| 1761 | 1757 | ||
| 1762 | ** `cfengine-mode' is a major mode for editing GNU Cfengine | 1758 | ** The file t-mouse.el is now part of Emacs and provides access to mouse |
| 1763 | configuration files. | 1759 | events from the console. It still requires gpm to work but has been updated |
| 1760 | for Emacs 22. In particular, the mode-line is now position sensitive. | ||
| 1761 | |||
| 1762 | ** The new package scroll-lock.el provides the Scroll Lock minor mode | ||
| 1763 | for pager-like scrolling. Keys which normally move point by line or | ||
| 1764 | paragraph will scroll the buffer by the respective amount of lines | ||
| 1765 | instead and point will be kept vertically fixed relative to window | ||
| 1766 | boundaries during scrolling. | ||
| 1767 | |||
| 1768 | ** The new global minor mode `size-indication-mode' (off by default) | ||
| 1769 | shows the size of accessible part of the buffer on the mode line. | ||
| 1764 | 1770 | ||
| 1765 | ** The new package conf-mode.el handles thousands of configuration files, with | 1771 | ** The new package conf-mode.el handles thousands of configuration files, with |
| 1766 | varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, | 1772 | varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, |
| @@ -1771,37 +1777,211 @@ recognized. | |||
| 1771 | 1777 | ||
| 1772 | ** GDB-Script-mode is used for files like .gdbinit. | 1778 | ** GDB-Script-mode is used for files like .gdbinit. |
| 1773 | 1779 | ||
| 1774 | ** The new python.el package is used to edit Python and Jython programs. | 1780 | ** The new package dns-mode.el adds syntax highlighting of DNS master files. |
| 1781 | It is a modern replacement for zone-mode.el, which is now obsolete. | ||
| 1782 | |||
| 1783 | ** `cfengine-mode' is a major mode for editing GNU Cfengine | ||
| 1784 | configuration files. | ||
| 1775 | 1785 | ||
| 1776 | ** The TCL package tcl-mode.el was replaced by tcl.el. | 1786 | ** The TCL package tcl-mode.el was replaced by tcl.el. |
| 1777 | This was actually done in Emacs-21.1, and was not documented. | 1787 | This was actually done in Emacs-21.1, and was not documented. |
| 1778 | |||
| 1779 | ** The new package scroll-lock.el provides the Scroll Lock minor mode | ||
| 1780 | for pager-like scrolling. Keys which normally move point by line or | ||
| 1781 | paragraph will scroll the buffer by the respective amount of lines | ||
| 1782 | instead and point will be kept vertically fixed relative to window | ||
| 1783 | boundaries during scrolling. | ||
| 1784 | |||
| 1785 | ** The file t-mouse.el is now part of Emacs and provides access to mouse | ||
| 1786 | events from the console. It still requires gpm to work but has been updated | ||
| 1787 | for Emacs 22. In particular, the mode-line is now position sensitive. | ||
| 1788 | 1788 | ||
| 1789 | * Changes in Specialized Modes and Packages in Emacs 22.1: | 1789 | * Changes in Specialized Modes and Packages in Emacs 22.1: |
| 1790 | 1790 | ||
| 1791 | ** Changes in Shell Mode | ||
| 1792 | |||
| 1793 | *** Shell output normally scrolls so that the input line is at the | ||
| 1794 | bottom of the window -- thus showing the maximum possible text. (This | ||
| 1795 | is similar to the way sequential output to a terminal works.) | ||
| 1796 | |||
| 1797 | ** Changes in Dired | 1791 | ** Changes in Dired |
| 1798 | 1792 | ||
| 1799 | *** Bindings for Image-Dired added | 1793 | *** Bindings for Image-Dired added. |
| 1800 | Several new keybindings, all starting with the C-t prefix, have been | 1794 | Several new keybindings, all starting with the C-t prefix, have been |
| 1801 | added to Dired. They are all bound to commands in Image-Dired. As a | 1795 | added to Dired. They are all bound to commands in Image-Dired. As a |
| 1802 | starting point, mark some image files in a dired buffer and do C-t d | 1796 | starting point, mark some image files in a dired buffer and do C-t d |
| 1803 | to display thumbnails of them in a separate buffer. | 1797 | to display thumbnails of them in a separate buffer. |
| 1804 | 1798 | ||
| 1799 | ** Info mode changes | ||
| 1800 | |||
| 1801 | *** Images in Info pages are supported. | ||
| 1802 | |||
| 1803 | Info pages show embedded images, in Emacs frames with image support. | ||
| 1804 | Info documentation that includes images, processed with makeinfo | ||
| 1805 | version 4.7 or newer, compiles to Info pages with embedded images. | ||
| 1806 | |||
| 1807 | *** `Info-index' offers completion. | ||
| 1808 | |||
| 1809 | *** http and ftp links in Info are now operational: they look like cross | ||
| 1810 | references and following them calls `browse-url'. | ||
| 1811 | |||
| 1812 | *** isearch in Info uses Info-search and searches through multiple nodes. | ||
| 1813 | |||
| 1814 | Before leaving the initial Info node isearch fails once with the error | ||
| 1815 | message [initial node], and with subsequent C-s/C-r continues through | ||
| 1816 | other nodes. When isearch fails for the rest of the manual, it wraps | ||
| 1817 | around the whole manual to the top/final node. The user option | ||
| 1818 | `Info-isearch-search' controls whether to use Info-search for isearch, | ||
| 1819 | or the default isearch search function that wraps around the current | ||
| 1820 | Info node. | ||
| 1821 | |||
| 1822 | *** New search commands: `Info-search-case-sensitively' (bound to S), | ||
| 1823 | `Info-search-backward', and `Info-search-next' which repeats the last | ||
| 1824 | search without prompting for a new search string. | ||
| 1825 | |||
| 1826 | *** New command `info-apropos' searches the indices of the known | ||
| 1827 | Info files on your system for a string, and builds a menu of the | ||
| 1828 | possible matches. | ||
| 1829 | |||
| 1830 | *** New command `Info-history-forward' (bound to r and new toolbar icon) | ||
| 1831 | moves forward in history to the node you returned from after using | ||
| 1832 | `Info-history-back' (renamed from `Info-last'). | ||
| 1833 | |||
| 1834 | *** New command `Info-history' (bound to L) displays a menu of visited nodes. | ||
| 1835 | |||
| 1836 | *** New command `Info-toc' (bound to T) creates a node with table of contents | ||
| 1837 | from the tree structure of menus of the current Info file. | ||
| 1838 | |||
| 1839 | *** New command `Info-copy-current-node-name' (bound to w) copies | ||
| 1840 | the current Info node name into the kill ring. With a zero prefix | ||
| 1841 | arg, puts the node name inside the `info' function call. | ||
| 1842 | |||
| 1843 | *** New face `info-xref-visited' distinguishes visited nodes from unvisited | ||
| 1844 | and a new option `Info-fontify-visited-nodes' to control this. | ||
| 1845 | |||
| 1846 | *** A numeric prefix argument of `info' selects an Info buffer | ||
| 1847 | with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). | ||
| 1848 | |||
| 1849 | *** Info now hides node names in menus and cross references by default. | ||
| 1850 | |||
| 1851 | If you prefer the old behavior, you can set the new user option | ||
| 1852 | `Info-hide-note-references' to nil. | ||
| 1853 | |||
| 1854 | *** The default value for `Info-scroll-prefer-subnodes' is now nil. | ||
| 1855 | |||
| 1856 | ** Emacs server changes | ||
| 1857 | |||
| 1858 | *** You can have several Emacs servers on the same machine. | ||
| 1859 | |||
| 1860 | % emacs --eval '(setq server-name "foo")' -f server-start & | ||
| 1861 | % emacs --eval '(setq server-name "bar")' -f server-start & | ||
| 1862 | % emacsclient -s foo file1 | ||
| 1863 | % emacsclient -s bar file2 | ||
| 1864 | |||
| 1865 | *** The `emacsclient' command understands the options `--eval' and | ||
| 1866 | `--display' which tell Emacs respectively to evaluate the given Lisp | ||
| 1867 | expression and to use the given display when visiting files. | ||
| 1868 | |||
| 1869 | *** User option `server-mode' can be used to start a server process. | ||
| 1870 | |||
| 1871 | ** Locate changes | ||
| 1872 | |||
| 1873 | *** By default, reverting the *Locate* buffer now just runs the last | ||
| 1874 | `locate' command back over again without offering to update the locate | ||
| 1875 | database (which normally only works if you have root privileges). If | ||
| 1876 | you prefer the old behavior, set the new customizable option | ||
| 1877 | `locate-update-when-revert' to t. | ||
| 1878 | |||
| 1879 | ** Desktop package | ||
| 1880 | |||
| 1881 | *** Desktop saving is now a minor mode, `desktop-save-mode'. | ||
| 1882 | |||
| 1883 | *** The variable `desktop-enable' is obsolete. | ||
| 1884 | |||
| 1885 | Customize `desktop-save-mode' to enable desktop saving. | ||
| 1886 | |||
| 1887 | *** Buffers are saved in the desktop file in the same order as that in the | ||
| 1888 | buffer list. | ||
| 1889 | |||
| 1890 | *** The desktop package can be customized to restore only some buffers | ||
| 1891 | immediately, remaining buffers are restored lazily (when Emacs is | ||
| 1892 | idle). | ||
| 1893 | |||
| 1894 | *** New command line option --no-desktop | ||
| 1895 | |||
| 1896 | *** New commands: | ||
| 1897 | - desktop-revert reverts to the last loaded desktop. | ||
| 1898 | - desktop-change-dir kills current desktop and loads a new. | ||
| 1899 | - desktop-save-in-desktop-dir saves desktop in the directory from which | ||
| 1900 | it was loaded. | ||
| 1901 | - desktop-lazy-complete runs the desktop load to completion. | ||
| 1902 | - desktop-lazy-abort aborts lazy loading of the desktop. | ||
| 1903 | |||
| 1904 | *** New customizable variables: | ||
| 1905 | - desktop-save. Determines whether the desktop should be saved when it is | ||
| 1906 | killed. | ||
| 1907 | - desktop-file-name-format. Format in which desktop file names should be saved. | ||
| 1908 | - desktop-path. List of directories in which to lookup the desktop file. | ||
| 1909 | - desktop-locals-to-save. List of local variables to save. | ||
| 1910 | - desktop-globals-to-clear. List of global variables that `desktop-clear' will clear. | ||
| 1911 | - desktop-clear-preserve-buffers-regexp. Regexp identifying buffers that `desktop-clear' | ||
| 1912 | should not delete. | ||
| 1913 | - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are | ||
| 1914 | restored lazily (when Emacs is idle). | ||
| 1915 | - desktop-lazy-verbose. Verbose reporting of lazily created buffers. | ||
| 1916 | - desktop-lazy-idle-delay. Idle delay before starting to create buffers. | ||
| 1917 | |||
| 1918 | *** New hooks: | ||
| 1919 | - desktop-after-read-hook run after a desktop is loaded. | ||
| 1920 | - desktop-no-desktop-file-hook run when no desktop file is found. | ||
| 1921 | |||
| 1922 | ** Recentf changes | ||
| 1923 | |||
| 1924 | The recent file list is now automatically cleaned up when recentf mode is | ||
| 1925 | enabled. The new option `recentf-auto-cleanup' controls when to do | ||
| 1926 | automatic cleanup. | ||
| 1927 | |||
| 1928 | The ten most recent files can be quickly opened by using the shortcut | ||
| 1929 | keys 1 to 9, and 0, when the recent list is displayed in a buffer via | ||
| 1930 | the `recentf-open-files', or `recentf-open-more-files' commands. | ||
| 1931 | |||
| 1932 | The `recentf-keep' option replaces `recentf-keep-non-readable-files-p' | ||
| 1933 | and provides a more general mechanism to customize which file names to | ||
| 1934 | keep in the recent list. | ||
| 1935 | |||
| 1936 | With the more advanced option `recentf-filename-handlers', you can | ||
| 1937 | specify functions that successively transform recent file names. For | ||
| 1938 | example, if set to `file-truename' plus `abbreviate-file-name', the | ||
| 1939 | same file will not be in the recent list with different symbolic | ||
| 1940 | links, and the file name will be abbreviated. | ||
| 1941 | |||
| 1942 | To follow naming convention, `recentf-menu-append-commands-flag' | ||
| 1943 | replaces the misnamed option `recentf-menu-append-commands-p'. The | ||
| 1944 | old name remains available as alias, but has been marked obsolete. | ||
| 1945 | |||
| 1946 | ** Auto-Revert changes | ||
| 1947 | |||
| 1948 | *** You can now use Auto Revert mode to `tail' a file. | ||
| 1949 | |||
| 1950 | If point is at the end of a file buffer before reverting, Auto Revert | ||
| 1951 | mode keeps it at the end after reverting. Similarly if point is | ||
| 1952 | displayed at the end of a file buffer in any window, it stays at | ||
| 1953 | the end of the buffer in that window. This allows to tail a file: | ||
| 1954 | just put point at the end of the buffer and it stays there. This | ||
| 1955 | rule applies to file buffers. For non-file buffers, the behavior can | ||
| 1956 | be mode dependent. | ||
| 1957 | |||
| 1958 | If you are sure that the file will only change by growing at the end, | ||
| 1959 | then you can tail the file more efficiently by using the new minor | ||
| 1960 | mode Auto Revert Tail mode. The function `auto-revert-tail-mode' | ||
| 1961 | toggles this mode. | ||
| 1962 | |||
| 1963 | *** Auto Revert mode is now more careful to avoid excessive reverts and | ||
| 1964 | other potential problems when deciding which non-file buffers to | ||
| 1965 | revert. This matters especially if Global Auto Revert mode is enabled | ||
| 1966 | and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert | ||
| 1967 | mode only reverts a non-file buffer if the buffer has a non-nil | ||
| 1968 | `revert-buffer-function' and a non-nil `buffer-stale-function', which | ||
| 1969 | decides whether the buffer should be reverted. Currently, this means | ||
| 1970 | that auto reverting works for Dired buffers (although this may not | ||
| 1971 | work properly on all operating systems) and for the Buffer Menu. | ||
| 1972 | |||
| 1973 | *** If the new user option `auto-revert-check-vc-info' is non-nil, Auto | ||
| 1974 | Revert mode reliably updates version control info (such as the version | ||
| 1975 | control number in the mode line), in all version controlled buffers in | ||
| 1976 | which it is active. If the option is nil, the default, then this info | ||
| 1977 | only gets updated whenever the buffer gets reverted. | ||
| 1978 | |||
| 1979 | ** Changes in Shell Mode | ||
| 1980 | |||
| 1981 | *** Shell output normally scrolls so that the input line is at the | ||
| 1982 | bottom of the window -- thus showing the maximum possible text. (This | ||
| 1983 | is similar to the way sequential output to a terminal works.) | ||
| 1984 | |||
| 1805 | ** Changes in Hi Lock | 1985 | ** Changes in Hi Lock |
| 1806 | 1986 | ||
| 1807 | *** hi-lock-mode now only affects a single buffer, and a new function | 1987 | *** hi-lock-mode now only affects a single buffer, and a new function |
| @@ -1815,6 +1995,19 @@ behavior in older versions of Emacs). | |||
| 1815 | 1995 | ||
| 1816 | ** Changes in Allout | 1996 | ** Changes in Allout |
| 1817 | 1997 | ||
| 1998 | *** Topic cryptography added, enabling easy gpg topic encryption and | ||
| 1999 | decryption. Per-topic basis enables interspersing encrypted-text and | ||
| 2000 | clear-text within a single file to your heart's content, using symmetric | ||
| 2001 | and/or public key modes. Time-limited key caching, user-provided | ||
| 2002 | symmetric key hinting and consistency verification, auto-encryption of | ||
| 2003 | pending topics on save, and more, make it easy to use encryption in | ||
| 2004 | powerful ways. Encryption behavior customization is collected in the | ||
| 2005 | allout-encryption customization group. | ||
| 2006 | |||
| 2007 | *** Default command prefix was changed to "\C-c " (control-c space), to | ||
| 2008 | avoid intruding on user's keybinding space. Customize the | ||
| 2009 | `allout-command-prefix' variable to your preference. | ||
| 2010 | |||
| 1818 | *** Some previously rough topic-header format edge cases are reconciled. | 2011 | *** Some previously rough topic-header format edge cases are reconciled. |
| 1819 | Level 1 topics use the mode's comment format, and lines starting with the | 2012 | Level 1 topics use the mode's comment format, and lines starting with the |
| 1820 | asterisk - for instance, the comment close of some languages (eg, c's "*/" | 2013 | asterisk - for instance, the comment close of some languages (eg, c's "*/" |
| @@ -1843,15 +2036,6 @@ other hand, allout now operates gracefully with existing containment | |||
| 1843 | discontinuities, revealing excessively contained topics rather than either | 2036 | discontinuities, revealing excessively contained topics rather than either |
| 1844 | leaving them hidden or raising an error. | 2037 | leaving them hidden or raising an error. |
| 1845 | 2038 | ||
| 1846 | *** Topic cryptography added, enabling easy gpg topic encryption and | ||
| 1847 | decryption. Per-topic basis enables interspersing encrypted-text and | ||
| 1848 | clear-text within a single file to your heart's content, using symmetric | ||
| 1849 | and/or public key modes. Time-limited key caching, user-provided | ||
| 1850 | symmetric key hinting and consistency verification, auto-encryption of | ||
| 1851 | pending topics on save, and more, make it easy to use encryption in | ||
| 1852 | powerful ways. Encryption behavior customization is collected in the | ||
| 1853 | allout-encryption customization group. | ||
| 1854 | |||
| 1855 | *** Navigation within an item is easier. Repeated beginning-of-line and | 2039 | *** Navigation within an item is easier. Repeated beginning-of-line and |
| 1856 | end-of-line key commands (usually, ^A and ^E) cycle through the | 2040 | end-of-line key commands (usually, ^A and ^E) cycle through the |
| 1857 | beginning/end-of-line and then beginning/end of topic, etc. See new | 2041 | beginning/end-of-line and then beginning/end of topic, etc. See new |
| @@ -1877,10 +2061,6 @@ coordinating with deactivation of allout-mode. Both that and the mode | |||
| 1877 | activation hook, `allout-mode-hook' are now run after the `allout-mode' | 2061 | activation hook, `allout-mode-hook' are now run after the `allout-mode' |
| 1878 | variable is changed, rather than before. | 2062 | variable is changed, rather than before. |
| 1879 | 2063 | ||
| 1880 | *** Default command prefix was changed to "\C-c " (control-c space), to | ||
| 1881 | avoid intruding on user's keybinding space. Customize the | ||
| 1882 | `allout-command-prefix' variable to your preference. | ||
| 1883 | |||
| 1884 | *** Allout now uses text overlay's `invisible' property for concealed text, | 2064 | *** Allout now uses text overlay's `invisible' property for concealed text, |
| 1885 | instead of selective-display. This simplifies the code, in particular | 2065 | instead of selective-display. This simplifies the code, in particular |
| 1886 | avoiding the need for kludges for isearch dynamic-display, discretionary | 2066 | avoiding the need for kludges for isearch dynamic-display, discretionary |
| @@ -1911,149 +2091,274 @@ handling of edits of concealed text, undo concerns, etc. | |||
| 1911 | - many, many other, more minor tweaks, fixes, and refinements. | 2091 | - many, many other, more minor tweaks, fixes, and refinements. |
| 1912 | - version number incremented to 2.2 | 2092 | - version number incremented to 2.2 |
| 1913 | 2093 | ||
| 1914 | ** The variable `woman-topic-at-point' is renamed | 2094 | ** Hideshow mode changes |
| 1915 | to `woman-use-topic-at-point' and behaves differently: if this | ||
| 1916 | variable is non-nil, the `woman' command uses the word at point | ||
| 1917 | automatically, without asking for a confirmation. Otherwise, the word | ||
| 1918 | at point is suggested as default, but not inserted at the prompt. | ||
| 1919 | 2095 | ||
| 1920 | ** Changes to cmuscheme | 2096 | *** New variable `hs-set-up-overlay' allows customization of the overlay |
| 2097 | used to effect hiding for hideshow minor mode. Integration with isearch | ||
| 2098 | handles the overlay property `display' specially, preserving it during | ||
| 2099 | temporary overlay showing in the course of an isearch operation. | ||
| 1921 | 2100 | ||
| 1922 | *** Emacs now offers to start Scheme if the user tries to | 2101 | *** New variable `hs-allow-nesting' non-nil means that hiding a block does |
| 1923 | evaluate a Scheme expression but no Scheme subprocess is running. | 2102 | not discard the hidden state of any "internal" blocks; when the parent |
| 2103 | block is later shown, the internal blocks remain hidden. Default is nil. | ||
| 1924 | 2104 | ||
| 1925 | *** If the file ~/.emacs_NAME or ~/.emacs.d/init_NAME.scm (where NAME | 2105 | ** FFAP changes |
| 1926 | is the name of the Scheme interpreter) exists, its contents are sent | ||
| 1927 | to the Scheme subprocess upon startup. | ||
| 1928 | 2106 | ||
| 1929 | *** There are new commands to instruct the Scheme interpreter to trace | 2107 | *** New ffap commands and keybindings: |
| 1930 | procedure calls (`scheme-trace-procedure') and to expand syntactic forms | ||
| 1931 | (`scheme-expand-current-form'). The commands actually sent to the Scheme | ||
| 1932 | subprocess are controlled by the user options `scheme-trace-command', | ||
| 1933 | `scheme-untrace-command' and `scheme-expand-current-form'. | ||
| 1934 | 2108 | ||
| 1935 | ** Changes in Makefile mode | 2109 | C-x C-r (`ffap-read-only'), |
| 2110 | C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'), | ||
| 2111 | C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), | ||
| 2112 | C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). | ||
| 1936 | 2113 | ||
| 1937 | *** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. | 2114 | *** FFAP accepts wildcards in a file name by default. |
| 1938 | 2115 | ||
| 1939 | The former two couldn't be differentiated before, and the latter three | 2116 | C-x C-f passes the file name to `find-file' with non-nil WILDCARDS |
| 1940 | are new. Font-locking is robust now and offers new customizable | 2117 | argument, which visits multiple files, and C-x d passes it to `dired'. |
| 1941 | faces. | ||
| 1942 | 2118 | ||
| 1943 | *** The variable `makefile-query-one-target-method' has been renamed | 2119 | ** Changes in Skeleton |
| 1944 | to `makefile-query-one-target-method-function'. The old name is still | ||
| 1945 | available as alias. | ||
| 1946 | 2120 | ||
| 1947 | ** In Outline mode, `hide-body' no longer hides lines at the top | 2121 | *** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. |
| 1948 | of the file that precede the first header line. | ||
| 1949 | 2122 | ||
| 1950 | ** Telnet now prompts you for a port number with C-u M-x telnet. | 2123 | `@' has reverted to only setting `skeleton-positions' and no longer |
| 2124 | sets `skeleton-point'. Skeletons which used @ to mark | ||
| 2125 | `skeleton-point' independent of `_' should now use `-' instead. The | ||
| 2126 | updated `skeleton-insert' docstring explains these new features along | ||
| 2127 | with other details of skeleton construction. | ||
| 1951 | 2128 | ||
| 1952 | ** The terminal emulation code in term.el has been improved; it can | 2129 | *** The variables `skeleton-transformation', `skeleton-filter', and |
| 1953 | run most curses applications now. | 2130 | `skeleton-pair-filter' have been renamed to |
| 2131 | `skeleton-transformation-function', `skeleton-filter-function', and | ||
| 2132 | `skeleton-pair-filter-function'. The old names are still available | ||
| 2133 | as aliases. | ||
| 1954 | 2134 | ||
| 1955 | ** M-x diff uses Diff mode instead of Compilation mode. | 2135 | ** HTML/SGML changes |
| 1956 | 2136 | ||
| 1957 | ** Diff mode key bindings changed. | 2137 | *** Emacs now tries to set up buffer coding systems for HTML/XML files |
| 2138 | automatically. | ||
| 1958 | 2139 | ||
| 1959 | These are the new bindings: | 2140 | *** SGML mode has indentation and supports XML syntax. |
| 2141 | The new variable `sgml-xml-mode' tells SGML mode to use XML syntax. | ||
| 2142 | When this option is enabled, SGML tags are inserted in XML style, | ||
| 2143 | i.e., there is always a closing tag. | ||
| 2144 | By default, its setting is inferred on a buffer-by-buffer basis | ||
| 2145 | from the file name or buffer contents. | ||
| 1960 | 2146 | ||
| 1961 | C-c C-e diff-ediff-patch (old M-A) | 2147 | *** The variable `sgml-transformation' has been renamed to |
| 1962 | C-c C-n diff-restrict-view (old M-r) | 2148 | `sgml-transformation-function'. The old name is still available as |
| 1963 | C-c C-r diff-reverse-direction (old M-R) | 2149 | alias. |
| 1964 | C-c C-u diff-context->unified (old M-U) | ||
| 1965 | C-c C-w diff-refine-hunk (old C-c C-r) | ||
| 1966 | 2150 | ||
| 1967 | To convert unified to context format, use C-u C-c C-u. | 2151 | *** `xml-mode' is now an alias for `sgml-mode', which has XML support. |
| 1968 | In addition, C-c C-u now operates on the region | ||
| 1969 | in Transient Mark mode when the mark is active. | ||
| 1970 | 2152 | ||
| 1971 | ** You can now customize `fill-nobreak-predicate' to control where | 2153 | ** TeX modes |
| 1972 | filling can break lines. The value is now normally a list of | ||
| 1973 | functions, but it can also be a single function, for compatibility. | ||
| 1974 | 2154 | ||
| 1975 | Emacs provide two predicates, `fill-single-word-nobreak-p' and | 2155 | *** New major mode Doctex mode, for *.dtx files. |
| 1976 | `fill-french-nobreak-p', for use as the value of | ||
| 1977 | `fill-nobreak-predicate'. | ||
| 1978 | 2156 | ||
| 1979 | ** M-x view-file and commands that use it now avoid interfering | 2157 | *** C-c C-c prompts for a command to run, and tries to offer a good default. |
| 1980 | with special modes such as Tar mode. | ||
| 1981 | 2158 | ||
| 1982 | ** Commands `winner-redo' and `winner-undo', from winner.el, are now | 2159 | *** The user option `tex-start-options-string' has been replaced |
| 1983 | bound to C-c <left> and C-c <right>, respectively. This is an | 2160 | by two new user options: `tex-start-options', which should hold |
| 1984 | incompatible change. | 2161 | command-line options to feed to TeX, and `tex-start-commands' which should hold |
| 2162 | TeX commands to use at startup. | ||
| 1985 | 2163 | ||
| 1986 | ** `global-whitespace-mode' is a new alias for `whitespace-global-mode'. | 2164 | *** verbatim environments are now highlighted in courier by font-lock |
| 2165 | and super/sub-scripts are made into super/sub-scripts. | ||
| 1987 | 2166 | ||
| 1988 | ** M-x compare-windows now can automatically skip non-matching text to | 2167 | ** RefTeX mode changes |
| 1989 | resync points in both windows. | ||
| 1990 | 2168 | ||
| 1991 | ** New user option `add-log-always-start-new-record'. | 2169 | *** Changes to RefTeX's table of contents |
| 1992 | 2170 | ||
| 1993 | When this option is enabled, M-x add-change-log-entry always | 2171 | The new command keys "<" and ">" in the TOC buffer promote/demote the |
| 1994 | starts a new record regardless of when the last record is. | 2172 | section at point or all sections in the current region, with full |
| 2173 | support for multifile documents. | ||
| 1995 | 2174 | ||
| 1996 | ** PO translation files are decoded according to their MIME headers | 2175 | The new command `reftex-toc-recenter' (`C-c -') shows the current |
| 1997 | when Emacs visits them. | 2176 | section in the TOC buffer without selecting the TOC window. |
| 2177 | Recentering can happen automatically in idle time when the option | ||
| 2178 | `reftex-auto-recenter-toc' is turned on. The highlight in the TOC | ||
| 2179 | buffer stays when the focus moves to a different window. A dedicated | ||
| 2180 | frame can show the TOC with the current section always automatically | ||
| 2181 | highlighted. The frame is created and deleted from the toc buffer | ||
| 2182 | with the `d' key. | ||
| 1998 | 2183 | ||
| 1999 | ** Info mode changes: | 2184 | The toc window can be split off horizontally instead of vertically. |
| 2185 | See new option `reftex-toc-split-windows-horizontally'. | ||
| 2000 | 2186 | ||
| 2001 | *** A numeric prefix argument of `info' selects an Info buffer | 2187 | Labels can be renamed globally from the table of contents using the |
| 2002 | with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). | 2188 | key `M-%'. |
| 2003 | 2189 | ||
| 2004 | *** isearch in Info uses Info-search and searches through multiple nodes. | 2190 | The new command `reftex-goto-label' jumps directly to a label |
| 2191 | location. | ||
| 2005 | 2192 | ||
| 2006 | Before leaving the initial Info node isearch fails once with the error | 2193 | *** Changes related to citations and BibTeX database files |
| 2007 | message [initial node], and with subsequent C-s/C-r continues through | ||
| 2008 | other nodes. When isearch fails for the rest of the manual, it wraps | ||
| 2009 | around the whole manual to the top/final node. The user option | ||
| 2010 | `Info-isearch-search' controls whether to use Info-search for isearch, | ||
| 2011 | or the default isearch search function that wraps around the current | ||
| 2012 | Info node. | ||
| 2013 | 2194 | ||
| 2014 | *** New search commands: `Info-search-case-sensitively' (bound to S), | 2195 | Commands that insert a citation now prompt for optional arguments when |
| 2015 | `Info-search-backward', and `Info-search-next' which repeats the last | 2196 | called with a prefix argument. Related new options are |
| 2016 | search without prompting for a new search string. | 2197 | `reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'. |
| 2017 | 2198 | ||
| 2018 | *** New command `Info-history-forward' (bound to r and new toolbar icon) | 2199 | The new command `reftex-create-bibtex-file' creates a BibTeX database |
| 2019 | moves forward in history to the node you returned from after using | 2200 | with all entries referenced in the current document. The keys "e" and |
| 2020 | `Info-history-back' (renamed from `Info-last'). | 2201 | "E" allow to produce a BibTeX database file from entries marked in a |
| 2202 | citation selection buffer. | ||
| 2021 | 2203 | ||
| 2022 | *** New command `Info-history' (bound to L) displays a menu of visited nodes. | 2204 | The command `reftex-citation' uses the word in the buffer before the |
| 2205 | cursor as a default search string. | ||
| 2023 | 2206 | ||
| 2024 | *** New command `Info-toc' (bound to T) creates a node with table of contents | 2207 | The support for chapterbib has been improved. Different chapters can |
| 2025 | from the tree structure of menus of the current Info file. | 2208 | now use BibTeX or an explicit `thebibliography' environment. |
| 2026 | 2209 | ||
| 2027 | *** New command `info-apropos' searches the indices of the known | 2210 | The macros which specify the bibliography file (like \bibliography) |
| 2028 | Info files on your system for a string, and builds a menu of the | 2211 | can be configured with the new option `reftex-bibliography-commands'. |
| 2029 | possible matches. | ||
| 2030 | 2212 | ||
| 2031 | *** New command `Info-copy-current-node-name' (bound to w) copies | 2213 | Support for jurabib has been added. |
| 2032 | the current Info node name into the kill ring. With a zero prefix | ||
| 2033 | arg, puts the node name inside the `info' function call. | ||
| 2034 | 2214 | ||
| 2035 | *** New face `info-xref-visited' distinguishes visited nodes from unvisited | 2215 | *** Global index matched may be verified with a user function. |
| 2036 | and a new option `Info-fontify-visited-nodes' to control this. | ||
| 2037 | 2216 | ||
| 2038 | *** http and ftp links in Info are now operational: they look like cross | 2217 | During global indexing, a user function can verify an index match. |
| 2039 | references and following them calls `browse-url'. | 2218 | See new option `reftex-index-verify-function'. |
| 2040 | 2219 | ||
| 2041 | *** Info now hides node names in menus and cross references by default. | 2220 | *** Parsing documents with many labels can be sped up. |
| 2042 | 2221 | ||
| 2043 | If you prefer the old behavior, you can set the new user option | 2222 | Operating in a document with thousands of labels can be sped up |
| 2044 | `Info-hide-note-references' to nil. | 2223 | considerably by allowing RefTeX to derive the type of a label directly |
| 2224 | from the label prefix like `eq:' or `fig:'. The option | ||
| 2225 | `reftex-trust-label-prefix' needs to be configured in order to enable | ||
| 2226 | this feature. While the speed-up is significant, this may reduce the | ||
| 2227 | quality of the context offered by RefTeX to describe a label. | ||
| 2045 | 2228 | ||
| 2046 | *** Images in Info pages are supported. | 2229 | *** Miscellaneous changes |
| 2047 | 2230 | ||
| 2048 | Info pages show embedded images, in Emacs frames with image support. | 2231 | The macros which input a file in LaTeX (like \input, \include) can be |
| 2049 | Info documentation that includes images, processed with makeinfo | 2232 | configured in the new option `reftex-include-file-commands'. |
| 2050 | version 4.7 or newer, compiles to Info pages with embedded images. | ||
| 2051 | 2233 | ||
| 2052 | *** The default value for `Info-scroll-prefer-subnodes' is now nil. | 2234 | RefTeX supports global incremental search. |
| 2053 | 2235 | ||
| 2054 | *** `Info-index' offers completion. | 2236 | ** BibTeX mode |
| 2237 | |||
| 2238 | *** The new command `bibtex-url' browses a URL for the BibTeX entry at | ||
| 2239 | point (bound to C-c C-l and mouse-2, RET on clickable fields). | ||
| 2240 | |||
| 2241 | *** The new command `bibtex-entry-update' (bound to C-c C-u) updates | ||
| 2242 | an existing BibTeX entry by inserting fields that may occur but are not | ||
| 2243 | present. | ||
| 2244 | |||
| 2245 | *** New `bibtex-entry-format' option `required-fields', enabled by default. | ||
| 2246 | |||
| 2247 | *** `bibtex-maintain-sorted-entries' can take values `plain', | ||
| 2248 | `crossref', and `entry-class' which control the sorting scheme used | ||
| 2249 | for BibTeX entries. `bibtex-sort-entry-class' controls the sorting | ||
| 2250 | scheme `entry-class'. TAB completion for reference keys and | ||
| 2251 | automatic detection of duplicates does not require anymore that | ||
| 2252 | `bibtex-maintain-sorted-entries' is non-nil. | ||
| 2253 | |||
| 2254 | *** The new command `bibtex-complete' completes word fragment before | ||
| 2255 | point according to context (bound to M-tab). | ||
| 2256 | |||
| 2257 | *** In BibTeX mode the command `fill-paragraph' (M-q) fills | ||
| 2258 | individual fields of a BibTeX entry. | ||
| 2259 | |||
| 2260 | *** The new variable `bibtex-autofill-types' contains a list of entry | ||
| 2261 | types for which fields are filled automatically (if possible). | ||
| 2262 | |||
| 2263 | *** The new commands `bibtex-find-entry' and `bibtex-find-crossref' | ||
| 2264 | locate entries and crossref'd entries (bound to C-c C-s and C-c C-x). | ||
| 2265 | Crossref fields are clickable (bound to mouse-2, RET). | ||
| 2266 | |||
| 2267 | *** The new variables `bibtex-files' and `bibtex-file-path' define a set | ||
| 2268 | of BibTeX files that are searched for entry keys. | ||
| 2269 | |||
| 2270 | *** The new command `bibtex-validate-globally' checks for duplicate keys | ||
| 2271 | in multiple BibTeX files. | ||
| 2272 | |||
| 2273 | *** If the new variable `bibtex-autoadd-commas' is non-nil, | ||
| 2274 | automatically add missing commas at end of BibTeX fields. | ||
| 2275 | |||
| 2276 | *** The new command `bibtex-copy-summary-as-kill' pushes summary | ||
| 2277 | of BibTeX entry to kill ring (bound to C-c C-t). | ||
| 2055 | 2278 | ||
| 2056 | ** Lisp mode changes: | 2279 | *** If the new variable `bibtex-parse-keys-fast' is non-nil, |
| 2280 | use fast but simplified algorithm for parsing BibTeX keys. | ||
| 2281 | |||
| 2282 | *** The new variables bibtex-expand-strings and | ||
| 2283 | bibtex-autokey-expand-strings control the expansion of strings when | ||
| 2284 | extracting the content of a BibTeX field. | ||
| 2285 | |||
| 2286 | *** The variables `bibtex-autokey-name-case-convert' and | ||
| 2287 | `bibtex-autokey-titleword-case-convert' have been renamed to | ||
| 2288 | `bibtex-autokey-name-case-convert-function' and | ||
| 2289 | `bibtex-autokey-titleword-case-convert-function'. The old names are | ||
| 2290 | still available as aliases. | ||
| 2291 | |||
| 2292 | ** GUD changes | ||
| 2293 | |||
| 2294 | *** The new package gdb-ui.el provides an enhanced graphical interface to | ||
| 2295 | GDB. You can interact with GDB through the GUD buffer in the usual way, but | ||
| 2296 | there are also further buffers which control the execution and describe the | ||
| 2297 | state of your program. It can separate the input/output of your program from | ||
| 2298 | that of GDB and watches expressions in the speedbar. It also uses features of | ||
| 2299 | Emacs 21/22 such as the toolbar, and bitmaps in the fringe to indicate | ||
| 2300 | breakpoints. | ||
| 2301 | |||
| 2302 | To use this package just type M-x gdb. See the Emacs manual if you want the | ||
| 2303 | old behaviour. | ||
| 2304 | |||
| 2305 | *** GUD mode has its own tool bar for controlling execution of the inferior | ||
| 2306 | and other common debugger commands. | ||
| 2307 | |||
| 2308 | *** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program | ||
| 2309 | counter to the specified source line (the one where point is). | ||
| 2310 | |||
| 2311 | *** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be | ||
| 2312 | toggled independently of normal tooltips with the minor mode | ||
| 2313 | `gud-tooltip-mode'. | ||
| 2314 | |||
| 2315 | *** In graphical mode, with a C program, GUD Tooltips have been extended to | ||
| 2316 | display the #define directive associated with an identifier when program is | ||
| 2317 | not executing. | ||
| 2318 | |||
| 2319 | *** GUD mode improvements for jdb: | ||
| 2320 | |||
| 2321 | **** Search for source files using jdb classpath and class information. | ||
| 2322 | Fast startup since there is no need to scan all source files up front. | ||
| 2323 | There is also no need to create and maintain lists of source | ||
| 2324 | directories to scan. Look at `gud-jdb-use-classpath' and | ||
| 2325 | `gud-jdb-classpath' customization variables documentation. | ||
| 2326 | |||
| 2327 | **** The previous method of searching for source files has been | ||
| 2328 | preserved in case someone still wants/needs to use it. | ||
| 2329 | Set `gud-jdb-use-classpath' to nil. | ||
| 2330 | |||
| 2331 | **** Supports the standard breakpoint (gud-break, gud-clear) | ||
| 2332 | set/clear operations from Java source files under the classpath, stack | ||
| 2333 | traversal (gud-up, gud-down), and run until current stack finish | ||
| 2334 | (gud-finish). | ||
| 2335 | |||
| 2336 | **** Supports new jdb (Java 1.2 and later) in addition to oldjdb | ||
| 2337 | (Java 1.1 jdb). | ||
| 2338 | |||
| 2339 | *** Added jdb Customization Variables | ||
| 2340 | |||
| 2341 | **** `gud-jdb-command-name'. What command line to use to invoke jdb. | ||
| 2342 | |||
| 2343 | **** `gud-jdb-use-classpath'. Allows selection of java source file searching | ||
| 2344 | method: set to t for new method, nil to scan `gud-jdb-directories' for | ||
| 2345 | java sources (previous method). | ||
| 2346 | |||
| 2347 | **** `gud-jdb-directories'. List of directories to scan and search for Java | ||
| 2348 | classes using the original gud-jdb method (if `gud-jdb-use-classpath' | ||
| 2349 | is nil). | ||
| 2350 | |||
| 2351 | *** Minor Improvements | ||
| 2352 | |||
| 2353 | **** The STARTTLS wrapper (starttls.el) can now use GNUTLS | ||
| 2354 | instead of the OpenSSL based `starttls' tool. For backwards | ||
| 2355 | compatibility, it prefers `starttls', but you can toggle | ||
| 2356 | `starttls-use-gnutls' to switch to GNUTLS (or simply remove the | ||
| 2357 | `starttls' tool). | ||
| 2358 | |||
| 2359 | **** Do not allow debugger output history variable to grow without bounds. | ||
| 2360 | |||
| 2361 | ** Lisp mode changes | ||
| 2057 | 2362 | ||
| 2058 | *** Lisp mode now uses `font-lock-doc-face' for doc strings. | 2363 | *** Lisp mode now uses `font-lock-doc-face' for doc strings. |
| 2059 | 2364 | ||
| @@ -2070,33 +2375,46 @@ by the new function `eval-expression-print-format'. The same | |||
| 2070 | function also defines the result format for `eval-expression' (M-:), | 2375 | function also defines the result format for `eval-expression' (M-:), |
| 2071 | `eval-print-last-sexp' (C-j) and some edebug evaluation functions. | 2376 | `eval-print-last-sexp' (C-j) and some edebug evaluation functions. |
| 2072 | 2377 | ||
| 2073 | ** CC mode changes. | 2378 | ** Changes to cmuscheme |
| 2074 | 2379 | ||
| 2075 | *** The CC Mode manual has been extensively revised. | 2380 | *** Emacs now offers to start Scheme if the user tries to |
| 2076 | The information about using CC Mode has been separated from the larger | 2381 | evaluate a Scheme expression but no Scheme subprocess is running. |
| 2077 | and more difficult chapters about configuration. | ||
| 2078 | 2382 | ||
| 2079 | *** Changes in Key Sequences | 2383 | *** If the file ~/.emacs_NAME or ~/.emacs.d/init_NAME.scm (where NAME |
| 2080 | **** c-toggle-auto-hungry-state is no longer bound to C-c C-t. | 2384 | is the name of the Scheme interpreter) exists, its contents are sent |
| 2385 | to the Scheme subprocess upon startup. | ||
| 2081 | 2386 | ||
| 2082 | **** c-toggle-hungry-state is no longer bound to C-c C-d. | 2387 | *** There are new commands to instruct the Scheme interpreter to trace |
| 2083 | This binding has been taken over by c-hungry-delete-forwards. | 2388 | procedure calls (`scheme-trace-procedure') and to expand syntactic forms |
| 2389 | (`scheme-expand-current-form'). The commands actually sent to the Scheme | ||
| 2390 | subprocess are controlled by the user options `scheme-trace-command', | ||
| 2391 | `scheme-untrace-command' and `scheme-expand-current-form'. | ||
| 2084 | 2392 | ||
| 2085 | **** c-toggle-auto-state (C-c C-t) has been renamed to c-toggle-auto-newline. | 2393 | ** Ewoc changes |
| 2086 | c-toggle-auto-state remains as an alias. | ||
| 2087 | 2394 | ||
| 2088 | **** The new commands c-hungry-backspace and c-hungry-delete-forwards | 2395 | *** The new function `ewoc-delete' deletes specified nodes. |
| 2089 | have key bindings C-c C-DEL (or C-c DEL, for the benefit of TTYs) and | ||
| 2090 | C-c C-d (or C-c C-<delete> or C-c <delete>) respectively. These | ||
| 2091 | commands delete entire blocks of whitespace with a single | ||
| 2092 | key-sequence. [N.B. "DEL" is the <backspace> key.] | ||
| 2093 | 2396 | ||
| 2094 | **** The new command c-toggle-electric-mode is bound to C-c C-l. | 2397 | *** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of |
| 2398 | a newline after each pretty-printed entry and after the header and footer. | ||
| 2399 | This allows you to create multiple-entry ewocs on a single line and to | ||
| 2400 | effect "invisible" nodes by arranging for the pretty-printer to not print | ||
| 2401 | anything for those nodes. | ||
| 2095 | 2402 | ||
| 2096 | **** The new command c-subword-mode is bound to C-c C-w. | 2403 | For example, these two sequences of expressions behave identically: |
| 2097 | 2404 | ||
| 2098 | *** C-c C-s (`c-show-syntactic-information') now highlights the anchor | 2405 | ;; NOSEP nil |
| 2099 | position(s). | 2406 | (defun PP (data) (insert (format "%S" data))) |
| 2407 | (ewoc-create 'PP "start\n") | ||
| 2408 | |||
| 2409 | ;; NOSEP t | ||
| 2410 | (defun PP (data) (insert (format "%S\n" data))) | ||
| 2411 | (ewoc-create 'PP "start\n\n" "\n" t) | ||
| 2412 | |||
| 2413 | ** CC mode changes | ||
| 2414 | |||
| 2415 | *** The CC Mode manual has been extensively revised. | ||
| 2416 | The information about using CC Mode has been separated from the larger | ||
| 2417 | and more difficult chapters about configuration. | ||
| 2100 | 2418 | ||
| 2101 | *** New Minor Modes | 2419 | *** New Minor Modes |
| 2102 | **** Electric Minor Mode toggles the electric action of non-alphabetic keys. | 2420 | **** Electric Minor Mode toggles the electric action of non-alphabetic keys. |
| @@ -2110,15 +2428,41 @@ disconcerting. Its current state is displayed in the mode line with an | |||
| 2110 | letters in StudlyCapsIdentifiers. You enable this feature by C-c C-w. It can | 2428 | letters in StudlyCapsIdentifiers. You enable this feature by C-c C-w. It can |
| 2111 | also be used in non-CC Mode buffers. :-) Contributed by Masatake YAMATO. | 2429 | also be used in non-CC Mode buffers. :-) Contributed by Masatake YAMATO. |
| 2112 | 2430 | ||
| 2113 | *** New clean-ups | 2431 | *** Support for the AWK language. |
| 2432 | Support for the AWK language has been introduced. The implementation is | ||
| 2433 | based around GNU AWK version 3.1, but it should work pretty well with | ||
| 2434 | any AWK. As yet, not all features of CC Mode have been adapted for AWK. | ||
| 2435 | Here is a summary: | ||
| 2114 | 2436 | ||
| 2115 | **** `comment-close-slash'. | 2437 | **** Indentation Engine |
| 2116 | With this clean-up, a block (i.e. c-style) comment can be terminated by | 2438 | The CC Mode indentation engine fully supports AWK mode. |
| 2117 | typing a slash at the start of a line. | ||
| 2118 | 2439 | ||
| 2119 | **** `c-one-liner-defun' | 2440 | AWK mode handles code formatted in the conventional AWK fashion: `{'s |
| 2120 | This clean-up compresses a short enough defun (for example, an AWK | 2441 | which start actions, user-defined functions, or compound statements are |
| 2121 | pattern/action pair) onto a single line. "Short enough" is configurable. | 2442 | placed on the same line as the associated construct; the matching `}'s |
| 2443 | are normally placed under the start of the respective pattern, function | ||
| 2444 | definition, or structured statement. | ||
| 2445 | |||
| 2446 | The predefined line-up functions haven't yet been adapted for AWK | ||
| 2447 | mode, though some of them may work serendipitously. There shouldn't | ||
| 2448 | be any problems writing custom indentation functions for AWK mode. | ||
| 2449 | |||
| 2450 | **** Font Locking | ||
| 2451 | There is a single level of font locking in AWK mode, rather than the | ||
| 2452 | three distinct levels the other modes have. There are several | ||
| 2453 | idiosyncrasies in AWK mode's font-locking due to the peculiarities of | ||
| 2454 | the AWK language itself. | ||
| 2455 | |||
| 2456 | **** Comment and Movement Commands | ||
| 2457 | These commands all work for AWK buffers. The notion of "defun" has | ||
| 2458 | been augmented to include AWK pattern-action pairs - the standard | ||
| 2459 | "defun" commands on key sequences C-M-a, C-M-e, and C-M-h use this | ||
| 2460 | extended definition. | ||
| 2461 | |||
| 2462 | **** "awk" style, Auto-newline Insertion and Clean-ups | ||
| 2463 | A new style, "awk" has been introduced, and this is now the default | ||
| 2464 | style for AWK code. With auto-newline enabled, the clean-up | ||
| 2465 | c-one-liner-defun (see above) is useful. | ||
| 2122 | 2466 | ||
| 2123 | *** Font lock support. | 2467 | *** Font lock support. |
| 2124 | CC Mode now provides font lock support for all its languages. This | 2468 | CC Mode now provides font lock support for all its languages. This |
| @@ -2181,41 +2525,27 @@ The special "@" declarations in Objective-C are handled correctly. | |||
| 2181 | All the keywords used in CORBA IDL, PSDL, and CIDL are recognized and | 2525 | All the keywords used in CORBA IDL, PSDL, and CIDL are recognized and |
| 2182 | handled correctly, also wrt indentation. | 2526 | handled correctly, also wrt indentation. |
| 2183 | 2527 | ||
| 2184 | *** Support for the AWK language. | 2528 | *** Changes in Key Sequences |
| 2185 | Support for the AWK language has been introduced. The implementation is | 2529 | **** c-toggle-auto-hungry-state is no longer bound to C-c C-t. |
| 2186 | based around GNU AWK version 3.1, but it should work pretty well with | ||
| 2187 | any AWK. As yet, not all features of CC Mode have been adapted for AWK. | ||
| 2188 | Here is a summary: | ||
| 2189 | 2530 | ||
| 2190 | **** Indentation Engine | 2531 | **** c-toggle-hungry-state is no longer bound to C-c C-d. |
| 2191 | The CC Mode indentation engine fully supports AWK mode. | 2532 | This binding has been taken over by c-hungry-delete-forwards. |
| 2192 | 2533 | ||
| 2193 | AWK mode handles code formatted in the conventional AWK fashion: `{'s | 2534 | **** c-toggle-auto-state (C-c C-t) has been renamed to c-toggle-auto-newline. |
| 2194 | which start actions, user-defined functions, or compound statements are | 2535 | c-toggle-auto-state remains as an alias. |
| 2195 | placed on the same line as the associated construct; the matching `}'s | ||
| 2196 | are normally placed under the start of the respective pattern, function | ||
| 2197 | definition, or structured statement. | ||
| 2198 | 2536 | ||
| 2199 | The predefined line-up functions haven't yet been adapted for AWK | 2537 | **** The new commands c-hungry-backspace and c-hungry-delete-forwards |
| 2200 | mode, though some of them may work serendipitously. There shouldn't | 2538 | have key bindings C-c C-DEL (or C-c DEL, for the benefit of TTYs) and |
| 2201 | be any problems writing custom indentation functions for AWK mode. | 2539 | C-c C-d (or C-c C-<delete> or C-c <delete>) respectively. These |
| 2540 | commands delete entire blocks of whitespace with a single | ||
| 2541 | key-sequence. [N.B. "DEL" is the <backspace> key.] | ||
| 2202 | 2542 | ||
| 2203 | **** Font Locking | 2543 | **** The new command c-toggle-electric-mode is bound to C-c C-l. |
| 2204 | There is a single level of font locking in AWK mode, rather than the | ||
| 2205 | three distinct levels the other modes have. There are several | ||
| 2206 | idiosyncrasies in AWK mode's font-locking due to the peculiarities of | ||
| 2207 | the AWK language itself. | ||
| 2208 | 2544 | ||
| 2209 | **** Comment and Movement Commands | 2545 | **** The new command c-subword-mode is bound to C-c C-w. |
| 2210 | These commands all work for AWK buffers. The notion of "defun" has | ||
| 2211 | been augmented to include AWK pattern-action pairs - the standard | ||
| 2212 | "defun" commands on key sequences C-M-a, C-M-e, and C-M-h use this | ||
| 2213 | extended definition. | ||
| 2214 | 2546 | ||
| 2215 | **** "awk" style, Auto-newline Insertion and Clean-ups | 2547 | *** C-c C-s (`c-show-syntactic-information') now highlights the anchor |
| 2216 | A new style, "awk" has been introduced, and this is now the default | 2548 | position(s). |
| 2217 | style for AWK code. With auto-newline enabled, the clean-up | ||
| 2218 | c-one-liner-defun (see above) is useful. | ||
| 2219 | 2549 | ||
| 2220 | *** New syntactic symbols in IDL mode. | 2550 | *** New syntactic symbols in IDL mode. |
| 2221 | The top level constructs "module" and "composition" (from CIDL) are | 2551 | The top level constructs "module" and "composition" (from CIDL) are |
| @@ -2346,6 +2676,16 @@ cases (something which was hardcoded earlier). | |||
| 2346 | *** New function `c-context-open-line'. | 2676 | *** New function `c-context-open-line'. |
| 2347 | It's the open-line equivalent of `c-context-line-break'. | 2677 | It's the open-line equivalent of `c-context-line-break'. |
| 2348 | 2678 | ||
| 2679 | *** New clean-ups | ||
| 2680 | |||
| 2681 | **** `comment-close-slash'. | ||
| 2682 | With this clean-up, a block (i.e. c-style) comment can be terminated by | ||
| 2683 | typing a slash at the start of a line. | ||
| 2684 | |||
| 2685 | **** `c-one-liner-defun' | ||
| 2686 | This clean-up compresses a short enough defun (for example, an AWK | ||
| 2687 | pattern/action pair) onto a single line. "Short enough" is configurable. | ||
| 2688 | |||
| 2349 | *** New lineup functions | 2689 | *** New lineup functions |
| 2350 | 2690 | ||
| 2351 | **** `c-lineup-string-cont' | 2691 | **** `c-lineup-string-cont' |
| @@ -2368,6 +2708,10 @@ Provides better indentation inside asm blocks. | |||
| 2368 | **** `c-lineup-argcont' | 2708 | **** `c-lineup-argcont' |
| 2369 | Lines up continued function arguments after the preceding comma. | 2709 | Lines up continued function arguments after the preceding comma. |
| 2370 | 2710 | ||
| 2711 | *** Added toggle for syntactic indentation. | ||
| 2712 | The function `c-toggle-syntactic-indentation' can be used to toggle | ||
| 2713 | syntactic indentation. | ||
| 2714 | |||
| 2371 | *** Better caching of the syntactic context. | 2715 | *** Better caching of the syntactic context. |
| 2372 | CC Mode caches the positions of the opening parentheses (of any kind) | 2716 | CC Mode caches the positions of the opening parentheses (of any kind) |
| 2373 | of the lists surrounding the point. Those positions are used in many | 2717 | of the lists surrounding the point. Those positions are used in many |
| @@ -2393,386 +2737,194 @@ point doesn't have to be immediately before the block to indent. | |||
| 2393 | Also, only the block and the closing line is indented; the current | 2737 | Also, only the block and the closing line is indented; the current |
| 2394 | line is left untouched. | 2738 | line is left untouched. |
| 2395 | 2739 | ||
| 2396 | *** Added toggle for syntactic indentation. | 2740 | ** Changes in Makefile mode |
| 2397 | The function `c-toggle-syntactic-indentation' can be used to toggle | ||
| 2398 | syntactic indentation. | ||
| 2399 | |||
| 2400 | ** In sh-script, a continuation line is only indented if the backslash was | ||
| 2401 | preceded by a SPC or a TAB. | ||
| 2402 | |||
| 2403 | ** Perl mode has a new variable `perl-indent-continued-arguments'. | ||
| 2404 | |||
| 2405 | ** The old Octave mode bindings C-c f and C-c i have been changed | ||
| 2406 | to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate | ||
| 2407 | bindings on control characters--thus, C-c C-i C-b is the same as | ||
| 2408 | C-c C-i b, and so on. | ||
| 2409 | |||
| 2410 | ** Fortran mode changes: | ||
| 2411 | |||
| 2412 | *** Fortran mode does more font-locking by default. Use level 3 | ||
| 2413 | highlighting for the old default. | ||
| 2414 | |||
| 2415 | *** Fortran mode has a new variable `fortran-directive-re'. | ||
| 2416 | Adapt this to match the format of any compiler directives you use. | ||
| 2417 | Lines that match are never indented, and are given distinctive font-locking. | ||
| 2418 | |||
| 2419 | *** F90 mode and Fortran mode have new navigation commands | ||
| 2420 | `f90-end-of-block', `f90-beginning-of-block', `f90-next-block', | ||
| 2421 | `f90-previous-block', `fortran-end-of-block', | ||
| 2422 | `fortran-beginning-of-block'. | ||
| 2423 | |||
| 2424 | *** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow). | ||
| 2425 | It cannot deal with every code format, but ought to handle a sizeable | ||
| 2426 | majority. | ||
| 2427 | |||
| 2428 | *** The new function `f90-backslash-not-special' can be used to change | ||
| 2429 | the syntax of backslashes in F90 buffers. | ||
| 2430 | |||
| 2431 | ** Reftex mode changes | ||
| 2432 | |||
| 2433 | *** Changes to RefTeX's table of contents | ||
| 2434 | |||
| 2435 | The new command keys "<" and ">" in the TOC buffer promote/demote the | ||
| 2436 | section at point or all sections in the current region, with full | ||
| 2437 | support for multifile documents. | ||
| 2438 | |||
| 2439 | The new command `reftex-toc-recenter' (`C-c -') shows the current | ||
| 2440 | section in the TOC buffer without selecting the TOC window. | ||
| 2441 | Recentering can happen automatically in idle time when the option | ||
| 2442 | `reftex-auto-recenter-toc' is turned on. The highlight in the TOC | ||
| 2443 | buffer stays when the focus moves to a different window. A dedicated | ||
| 2444 | frame can show the TOC with the current section always automatically | ||
| 2445 | highlighted. The frame is created and deleted from the toc buffer | ||
| 2446 | with the `d' key. | ||
| 2447 | |||
| 2448 | The toc window can be split off horizontally instead of vertically. | ||
| 2449 | See new option `reftex-toc-split-windows-horizontally'. | ||
| 2450 | |||
| 2451 | Labels can be renamed globally from the table of contents using the | ||
| 2452 | key `M-%'. | ||
| 2453 | |||
| 2454 | The new command `reftex-goto-label' jumps directly to a label | ||
| 2455 | location. | ||
| 2456 | |||
| 2457 | *** Changes related to citations and BibTeX database files | ||
| 2458 | |||
| 2459 | Commands that insert a citation now prompt for optional arguments when | ||
| 2460 | called with a prefix argument. Related new options are | ||
| 2461 | `reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'. | ||
| 2462 | |||
| 2463 | The new command `reftex-create-bibtex-file' creates a BibTeX database | ||
| 2464 | with all entries referenced in the current document. The keys "e" and | ||
| 2465 | "E" allow to produce a BibTeX database file from entries marked in a | ||
| 2466 | citation selection buffer. | ||
| 2467 | |||
| 2468 | The command `reftex-citation' uses the word in the buffer before the | ||
| 2469 | cursor as a default search string. | ||
| 2470 | |||
| 2471 | The support for chapterbib has been improved. Different chapters can | ||
| 2472 | now use BibTeX or an explicit `thebibliography' environment. | ||
| 2473 | |||
| 2474 | The macros which specify the bibliography file (like \bibliography) | ||
| 2475 | can be configured with the new option `reftex-bibliography-commands'. | ||
| 2476 | |||
| 2477 | Support for jurabib has been added. | ||
| 2478 | |||
| 2479 | *** Global index matched may be verified with a user function | ||
| 2480 | |||
| 2481 | During global indexing, a user function can verify an index match. | ||
| 2482 | See new option `reftex-index-verify-function'. | ||
| 2483 | |||
| 2484 | *** Parsing documents with many labels can be sped up. | ||
| 2485 | |||
| 2486 | Operating in a document with thousands of labels can be sped up | ||
| 2487 | considerably by allowing RefTeX to derive the type of a label directly | ||
| 2488 | from the label prefix like `eq:' or `fig:'. The option | ||
| 2489 | `reftex-trust-label-prefix' needs to be configured in order to enable | ||
| 2490 | this feature. While the speed-up is significant, this may reduce the | ||
| 2491 | quality of the context offered by RefTeX to describe a label. | ||
| 2492 | |||
| 2493 | *** Miscellaneous changes | ||
| 2494 | |||
| 2495 | The macros which input a file in LaTeX (like \input, \include) can be | ||
| 2496 | configured in the new option `reftex-include-file-commands'. | ||
| 2497 | |||
| 2498 | RefTeX supports global incremental search. | ||
| 2499 | |||
| 2500 | ** Prolog mode has a new variable `prolog-font-lock-keywords' | ||
| 2501 | to support use of font-lock. | ||
| 2502 | |||
| 2503 | ** HTML/SGML changes: | ||
| 2504 | |||
| 2505 | *** Emacs now tries to set up buffer coding systems for HTML/XML files | ||
| 2506 | automatically. | ||
| 2507 | |||
| 2508 | *** SGML mode has indentation and supports XML syntax. | ||
| 2509 | The new variable `sgml-xml-mode' tells SGML mode to use XML syntax. | ||
| 2510 | When this option is enabled, SGML tags are inserted in XML style, | ||
| 2511 | i.e., there is always a closing tag. | ||
| 2512 | By default, its setting is inferred on a buffer-by-buffer basis | ||
| 2513 | from the file name or buffer contents. | ||
| 2514 | |||
| 2515 | *** The variable `sgml-transformation' has been renamed to | ||
| 2516 | `sgml-transformation-function'. The old name is still available as | ||
| 2517 | alias. | ||
| 2518 | |||
| 2519 | *** `xml-mode' is now an alias for `sgml-mode', which has XML support. | ||
| 2520 | |||
| 2521 | ** TeX modes: | ||
| 2522 | |||
| 2523 | *** C-c C-c prompts for a command to run, and tries to offer a good default. | ||
| 2524 | |||
| 2525 | *** The user option `tex-start-options-string' has been replaced | ||
| 2526 | by two new user options: `tex-start-options', which should hold | ||
| 2527 | command-line options to feed to TeX, and `tex-start-commands' which should hold | ||
| 2528 | TeX commands to use at startup. | ||
| 2529 | |||
| 2530 | *** verbatim environments are now highlighted in courier by font-lock | ||
| 2531 | and super/sub-scripts are made into super/sub-scripts. | ||
| 2532 | |||
| 2533 | *** New major mode Doctex mode, for *.dtx files. | ||
| 2534 | |||
| 2535 | ** BibTeX mode: | ||
| 2536 | |||
| 2537 | *** The new command `bibtex-url' browses a URL for the BibTeX entry at | ||
| 2538 | point (bound to C-c C-l and mouse-2, RET on clickable fields). | ||
| 2539 | |||
| 2540 | *** The new command `bibtex-entry-update' (bound to C-c C-u) updates | ||
| 2541 | an existing BibTeX entry by inserting fields that may occur but are not | ||
| 2542 | present. | ||
| 2543 | |||
| 2544 | *** New `bibtex-entry-format' option `required-fields', enabled by default. | ||
| 2545 | |||
| 2546 | *** `bibtex-maintain-sorted-entries' can take values `plain', | ||
| 2547 | `crossref', and `entry-class' which control the sorting scheme used | ||
| 2548 | for BibTeX entries. `bibtex-sort-entry-class' controls the sorting | ||
| 2549 | scheme `entry-class'. TAB completion for reference keys and | ||
| 2550 | automatic detection of duplicates does not require anymore that | ||
| 2551 | `bibtex-maintain-sorted-entries' is non-nil. | ||
| 2552 | |||
| 2553 | *** If the new variable `bibtex-parse-keys-fast' is non-nil, | ||
| 2554 | use fast but simplified algorithm for parsing BibTeX keys. | ||
| 2555 | |||
| 2556 | *** If the new variable `bibtex-autoadd-commas' is non-nil, | ||
| 2557 | automatically add missing commas at end of BibTeX fields. | ||
| 2558 | |||
| 2559 | *** The new variable `bibtex-autofill-types' contains a list of entry | ||
| 2560 | types for which fields are filled automatically (if possible). | ||
| 2561 | 2741 | ||
| 2562 | *** The new command `bibtex-complete' completes word fragment before | 2742 | *** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. |
| 2563 | point according to context (bound to M-tab). | ||
| 2564 | 2743 | ||
| 2565 | *** The new commands `bibtex-find-entry' and `bibtex-find-crossref' | 2744 | The former two couldn't be differentiated before, and the latter three |
| 2566 | locate entries and crossref'd entries (bound to C-c C-s and C-c C-x). | 2745 | are new. Font-locking is robust now and offers new customizable |
| 2567 | Crossref fields are clickable (bound to mouse-2, RET). | 2746 | faces. |
| 2568 | 2747 | ||
| 2569 | *** In BibTeX mode the command `fill-paragraph' (M-q) fills | 2748 | *** The variable `makefile-query-one-target-method' has been renamed |
| 2570 | individual fields of a BibTeX entry. | 2749 | to `makefile-query-one-target-method-function'. The old name is still |
| 2750 | available as alias. | ||
| 2571 | 2751 | ||
| 2572 | *** The new variables `bibtex-files' and `bibtex-file-path' define a set | 2752 | ** Sql changes |
| 2573 | of BibTeX files that are searched for entry keys. | ||
| 2574 | 2753 | ||
| 2575 | *** The new command `bibtex-validate-globally' checks for duplicate keys | 2754 | *** The variable `sql-product' controls the highlighting of different |
| 2576 | in multiple BibTeX files. | 2755 | SQL dialects. This variable can be set globally via Customize, on a |
| 2756 | buffer-specific basis via local variable settings, or for the current | ||
| 2757 | session using the new SQL->Product submenu. (This menu replaces the | ||
| 2758 | SQL->Highlighting submenu.) | ||
| 2577 | 2759 | ||
| 2578 | *** The new command `bibtex-copy-summary-as-kill' pushes summary | 2760 | The following values are supported: |
| 2579 | of BibTeX entry to kill ring (bound to C-c C-t). | ||
| 2580 | 2761 | ||
| 2581 | *** The new variables bibtex-expand-strings and | 2762 | ansi ANSI Standard (default) |
| 2582 | bibtex-autokey-expand-strings control the expansion of strings when | 2763 | db2 DB2 |
| 2583 | extracting the content of a BibTeX field. | 2764 | informix Informix |
| 2765 | ingres Ingres | ||
| 2766 | interbase Interbase | ||
| 2767 | linter Linter | ||
| 2768 | ms Microsoft | ||
| 2769 | mysql MySQL | ||
| 2770 | oracle Oracle | ||
| 2771 | postgres Postgres | ||
| 2772 | solid Solid | ||
| 2773 | sqlite SQLite | ||
| 2774 | sybase Sybase | ||
| 2584 | 2775 | ||
| 2585 | *** The variables `bibtex-autokey-name-case-convert' and | 2776 | The current product name will be shown on the mode line following the |
| 2586 | `bibtex-autokey-titleword-case-convert' have been renamed to | 2777 | SQL mode indicator. |
| 2587 | `bibtex-autokey-name-case-convert-function' and | ||
| 2588 | `bibtex-autokey-titleword-case-convert-function'. The old names are | ||
| 2589 | still available as aliases. | ||
| 2590 | 2778 | ||
| 2591 | ** In Artist mode the variable `artist-text-renderer' has been | 2779 | The technique of setting `sql-mode-font-lock-defaults' directly in |
| 2592 | renamed to `artist-text-renderer-function'. The old name is still | 2780 | your `.emacs' will no longer establish the default highlighting -- Use |
| 2593 | available as alias. | 2781 | `sql-product' to accomplish this. |
| 2594 | 2782 | ||
| 2595 | ** In Enriched mode, `set-left-margin' and `set-right-margin' are now | 2783 | ANSI keywords are always highlighted. |
| 2596 | by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' | ||
| 2597 | and `C-c C-r'. | ||
| 2598 | 2784 | ||
| 2599 | ** GUD changes: | 2785 | *** The function `sql-add-product-keywords' can be used to add |
| 2786 | font-lock rules to the product specific rules. For example, to have | ||
| 2787 | all identifiers ending in `_t' under MS SQLServer treated as a type, | ||
| 2788 | you would use the following line in your .emacs file: | ||
| 2600 | 2789 | ||
| 2601 | *** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program | 2790 | (sql-add-product-keywords 'ms |
| 2602 | counter to the specified source line (the one where point is). | 2791 | '(("\\<\\w+_t\\>" . font-lock-type-face))) |
| 2603 | 2792 | ||
| 2604 | *** GUD mode has its own tool bar for controlling execution of the inferior | 2793 | *** Oracle support includes keyword highlighting for Oracle 9i. |
| 2605 | and other common debugger commands. | ||
| 2606 | 2794 | ||
| 2607 | *** The new package gdb-ui.el provides an enhanced graphical interface to | 2795 | Most SQL and PL/SQL keywords are implemented. SQL*Plus commands are |
| 2608 | GDB. You can interact with GDB through the GUD buffer in the usual way, but | 2796 | highlighted in `font-lock-doc-face'. |
| 2609 | there are also further buffers which control the execution and describe the | ||
| 2610 | state of your program. It can separate the input/output of your program from | ||
| 2611 | that of GDB and watches expressions in the speedbar. It also uses features of | ||
| 2612 | Emacs 21/22 such as the toolbar, and bitmaps in the fringe to indicate | ||
| 2613 | breakpoints. | ||
| 2614 | 2797 | ||
| 2615 | To use this package just type M-x gdb. See the Emacs manual if you want the | 2798 | *** Microsoft SQLServer support has been significantly improved. |
| 2616 | old behaviour. | ||
| 2617 | 2799 | ||
| 2618 | *** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be | 2800 | Keyword highlighting for SqlServer 2000 is implemented. |
| 2619 | toggled independently of normal tooltips with the minor mode | 2801 | sql-interactive-mode defaults to use osql, rather than isql, because |
| 2620 | `gud-tooltip-mode'. | 2802 | osql flushes its error stream more frequently. Thus error messages |
| 2803 | are displayed when they occur rather than when the session is | ||
| 2804 | terminated. | ||
| 2621 | 2805 | ||
| 2622 | *** In graphical mode, with a C program, GUD Tooltips have been extended to | 2806 | If the username and password are not provided to `sql-ms', osql is |
| 2623 | display the #define directive associated with an identifier when program is | 2807 | called with the `-E' command line argument to use the operating system |
| 2624 | not executing. | 2808 | credentials to authenticate the user. |
| 2625 | 2809 | ||
| 2626 | ** GUD mode improvements for jdb: | 2810 | *** Postgres support is enhanced. |
| 2811 | Keyword highlighting of Postgres 7.3 is implemented. Prompting for | ||
| 2812 | the username and the pgsql `-U' option is added. | ||
| 2627 | 2813 | ||
| 2628 | *** Search for source files using jdb classpath and class information. | 2814 | *** MySQL support is enhanced. |
| 2629 | Fast startup since there is no need to scan all source files up front. | 2815 | Keyword highlighting of MySql 4.0 is implemented. |
| 2630 | There is also no need to create and maintain lists of source | ||
| 2631 | directories to scan. Look at `gud-jdb-use-classpath' and | ||
| 2632 | `gud-jdb-classpath' customization variables documentation. | ||
| 2633 | 2816 | ||
| 2634 | *** Supports the standard breakpoint (gud-break, gud-clear) | 2817 | *** Imenu support has been enhanced to locate tables, views, indexes, |
| 2635 | set/clear operations from Java source files under the classpath, stack | 2818 | packages, procedures, functions, triggers, sequences, rules, and |
| 2636 | traversal (gud-up, gud-down), and run until current stack finish | 2819 | defaults. |
| 2637 | (gud-finish). | ||
| 2638 | 2820 | ||
| 2639 | *** Supports new jdb (Java 1.2 and later) in addition to oldjdb | 2821 | *** Added SQL->Start SQLi Session menu entry which calls the |
| 2640 | (Java 1.1 jdb). | 2822 | appropriate `sql-interactive-mode' wrapper for the current setting of |
| 2823 | `sql-product'. | ||
| 2641 | 2824 | ||
| 2642 | *** The previous method of searching for source files has been | 2825 | *** sql.el supports the SQLite interpreter--call 'sql-sqlite'. |
| 2643 | preserved in case someone still wants/needs to use it. | ||
| 2644 | Set `gud-jdb-use-classpath' to nil. | ||
| 2645 | 2826 | ||
| 2646 | *** Added Customization Variables | 2827 | ** Fortran mode changes |
| 2647 | 2828 | ||
| 2648 | **** `gud-jdb-command-name'. What command line to use to invoke jdb. | 2829 | *** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow). |
| 2830 | It cannot deal with every code format, but ought to handle a sizeable | ||
| 2831 | majority. | ||
| 2649 | 2832 | ||
| 2650 | **** `gud-jdb-use-classpath'. Allows selection of java source file searching | 2833 | *** F90 mode and Fortran mode have new navigation commands |
| 2651 | method: set to t for new method, nil to scan `gud-jdb-directories' for | 2834 | `f90-end-of-block', `f90-beginning-of-block', `f90-next-block', |
| 2652 | java sources (previous method). | 2835 | `f90-previous-block', `fortran-end-of-block', |
| 2836 | `fortran-beginning-of-block'. | ||
| 2653 | 2837 | ||
| 2654 | **** `gud-jdb-directories'. List of directories to scan and search for Java | 2838 | *** Fortran mode does more font-locking by default. Use level 3 |
| 2655 | classes using the original gud-jdb method (if `gud-jdb-use-classpath' | 2839 | highlighting for the old default. |
| 2656 | is nil). | ||
| 2657 | 2840 | ||
| 2658 | *** Minor Improvements | 2841 | *** Fortran mode has a new variable `fortran-directive-re'. |
| 2842 | Adapt this to match the format of any compiler directives you use. | ||
| 2843 | Lines that match are never indented, and are given distinctive font-locking. | ||
| 2659 | 2844 | ||
| 2660 | **** The STARTTLS wrapper (starttls.el) can now use GNUTLS | 2845 | *** The new function `f90-backslash-not-special' can be used to change |
| 2661 | instead of the OpenSSL based `starttls' tool. For backwards | 2846 | the syntax of backslashes in F90 buffers. |
| 2662 | compatibility, it prefers `starttls', but you can toggle | ||
| 2663 | `starttls-use-gnutls' to switch to GNUTLS (or simply remove the | ||
| 2664 | `starttls' tool). | ||
| 2665 | 2847 | ||
| 2666 | **** Do not allow debugger output history variable to grow without bounds. | 2848 | ** Miscellaneous programming mode changes |
| 2667 | 2849 | ||
| 2668 | ** Auto-Revert changes: | 2850 | *** In sh-script, a continuation line is only indented if the backslash was |
| 2851 | preceded by a SPC or a TAB. | ||
| 2669 | 2852 | ||
| 2670 | *** You can now use Auto Revert mode to `tail' a file. | 2853 | *** Perl mode has a new variable `perl-indent-continued-arguments'. |
| 2671 | 2854 | ||
| 2672 | If point is at the end of a file buffer before reverting, Auto Revert | 2855 | *** The old Octave mode bindings C-c f and C-c i have been changed |
| 2673 | mode keeps it at the end after reverting. Similarly if point is | 2856 | to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate |
| 2674 | displayed at the end of a file buffer in any window, it stays at | 2857 | bindings on control characters--thus, C-c C-i C-b is the same as |
| 2675 | the end of the buffer in that window. This allows to tail a file: | 2858 | C-c C-i b, and so on. |
| 2676 | just put point at the end of the buffer and it stays there. This | ||
| 2677 | rule applies to file buffers. For non-file buffers, the behavior can | ||
| 2678 | be mode dependent. | ||
| 2679 | 2859 | ||
| 2680 | If you are sure that the file will only change by growing at the end, | 2860 | *** Prolog mode has a new variable `prolog-font-lock-keywords' |
| 2681 | then you can tail the file more efficiently by using the new minor | 2861 | to support use of font-lock. |
| 2682 | mode Auto Revert Tail mode. The function `auto-revert-tail-mode' | ||
| 2683 | toggles this mode. | ||
| 2684 | 2862 | ||
| 2685 | *** Auto Revert mode is now more careful to avoid excessive reverts and | 2863 | ** VC Changes |
| 2686 | other potential problems when deciding which non-file buffers to | ||
| 2687 | revert. This matters especially if Global Auto Revert mode is enabled | ||
| 2688 | and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert | ||
| 2689 | mode only reverts a non-file buffer if the buffer has a non-nil | ||
| 2690 | `revert-buffer-function' and a non-nil `buffer-stale-function', which | ||
| 2691 | decides whether the buffer should be reverted. Currently, this means | ||
| 2692 | that auto reverting works for Dired buffers (although this may not | ||
| 2693 | work properly on all operating systems) and for the Buffer Menu. | ||
| 2694 | 2864 | ||
| 2695 | *** If the new user option `auto-revert-check-vc-info' is non-nil, Auto | 2865 | *** New backends for Subversion and Meta-CVS. |
| 2696 | Revert mode reliably updates version control info (such as the version | ||
| 2697 | control number in the mode line), in all version controlled buffers in | ||
| 2698 | which it is active. If the option is nil, the default, then this info | ||
| 2699 | only gets updated whenever the buffer gets reverted. | ||
| 2700 | 2866 | ||
| 2701 | ** recentf changes. | 2867 | *** The new variable `vc-cvs-global-switches' specifies switches that |
| 2868 | are passed to any CVS command invoked by VC. | ||
| 2702 | 2869 | ||
| 2703 | The recent file list is now automatically cleaned up when recentf mode is | 2870 | These switches are used as "global options" for CVS, which means they |
| 2704 | enabled. The new option `recentf-auto-cleanup' controls when to do | 2871 | are inserted before the command name. For example, this allows you to |
| 2705 | automatic cleanup. | 2872 | specify a compression level using the `-z#' option for CVS. |
| 2706 | 2873 | ||
| 2707 | The ten most recent files can be quickly opened by using the shortcut | 2874 | *** The key C-x C-q only changes the read-only state of the buffer |
| 2708 | keys 1 to 9, and 0, when the recent list is displayed in a buffer via | 2875 | (toggle-read-only). It no longer checks files in or out. |
| 2709 | the `recentf-open-files', or `recentf-open-more-files' commands. | ||
| 2710 | 2876 | ||
| 2711 | The `recentf-keep' option replaces `recentf-keep-non-readable-files-p' | 2877 | We made this change because we held a poll and found that many users |
| 2712 | and provides a more general mechanism to customize which file names to | 2878 | were unhappy with the previous behavior. If you do prefer this |
| 2713 | keep in the recent list. | 2879 | behavior, you can bind `vc-toggle-read-only' to C-x C-q in your |
| 2880 | `.emacs' file: | ||
| 2714 | 2881 | ||
| 2715 | With the more advanced option `recentf-filename-handlers', you can | 2882 | (global-set-key "\C-x\C-q" 'vc-toggle-read-only) |
| 2716 | specify functions that successively transform recent file names. For | ||
| 2717 | example, if set to `file-truename' plus `abbreviate-file-name', the | ||
| 2718 | same file will not be in the recent list with different symbolic | ||
| 2719 | links, and the file name will be abbreviated. | ||
| 2720 | 2883 | ||
| 2721 | To follow naming convention, `recentf-menu-append-commands-flag' | 2884 | The function `vc-toggle-read-only' will continue to exist. |
| 2722 | replaces the misnamed option `recentf-menu-append-commands-p'. The | ||
| 2723 | old name remains available as alias, but has been marked obsolete. | ||
| 2724 | 2885 | ||
| 2725 | ** Desktop package | 2886 | *** VC-Annotate mode enhancements |
| 2726 | 2887 | ||
| 2727 | *** Desktop saving is now a minor mode, `desktop-save-mode'. | 2888 | In VC-Annotate mode, you can now use the following key bindings for |
| 2889 | enhanced functionality to browse the annotations of past revisions, or | ||
| 2890 | to view diffs or log entries directly from vc-annotate-mode: | ||
| 2728 | 2891 | ||
| 2729 | *** The variable `desktop-enable' is obsolete. | 2892 | P: annotates the previous revision |
| 2893 | N: annotates the next revision | ||
| 2894 | J: annotates the revision at line | ||
| 2895 | A: annotates the revision previous to line | ||
| 2896 | D: shows the diff of the revision at line with its previous revision | ||
| 2897 | L: shows the log of the revision at line | ||
| 2898 | W: annotates the workfile (most up to date) version | ||
| 2730 | 2899 | ||
| 2731 | Customize `desktop-save-mode' to enable desktop saving. | 2900 | ** pcl-cvs changes |
| 2732 | 2901 | ||
| 2733 | *** Buffers are saved in the desktop file in the same order as that in the | 2902 | *** In pcl-cvs mode, there is a new `d y' command to view the diffs |
| 2734 | buffer list. | 2903 | between the local version of the file and yesterday's head revision |
| 2904 | in the repository. | ||
| 2735 | 2905 | ||
| 2736 | *** The desktop package can be customized to restore only some buffers | 2906 | *** In pcl-cvs mode, there is a new `d r' command to view the changes |
| 2737 | immediately, remaining buffers are restored lazily (when Emacs is | 2907 | anyone has committed to the repository since you last executed |
| 2738 | idle). | 2908 | `checkout', `update' or `commit'. That means using cvs diff options |
| 2909 | -rBASE -rHEAD. | ||
| 2739 | 2910 | ||
| 2740 | *** New commands: | 2911 | ** Diff changes |
| 2741 | - desktop-revert reverts to the last loaded desktop. | ||
| 2742 | - desktop-change-dir kills current desktop and loads a new. | ||
| 2743 | - desktop-save-in-desktop-dir saves desktop in the directory from which | ||
| 2744 | it was loaded. | ||
| 2745 | - desktop-lazy-complete runs the desktop load to completion. | ||
| 2746 | - desktop-lazy-abort aborts lazy loading of the desktop. | ||
| 2747 | 2912 | ||
| 2748 | *** New customizable variables: | 2913 | *** M-x diff uses Diff mode instead of Compilation mode. |
| 2749 | - desktop-save. Determines whether the desktop should be saved when it is | ||
| 2750 | killed. | ||
| 2751 | - desktop-file-name-format. Format in which desktop file names should be saved. | ||
| 2752 | - desktop-path. List of directories in which to lookup the desktop file. | ||
| 2753 | - desktop-locals-to-save. List of local variables to save. | ||
| 2754 | - desktop-globals-to-clear. List of global variables that `desktop-clear' will clear. | ||
| 2755 | - desktop-clear-preserve-buffers-regexp. Regexp identifying buffers that `desktop-clear' | ||
| 2756 | should not delete. | ||
| 2757 | - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are | ||
| 2758 | restored lazily (when Emacs is idle). | ||
| 2759 | - desktop-lazy-verbose. Verbose reporting of lazily created buffers. | ||
| 2760 | - desktop-lazy-idle-delay. Idle delay before starting to create buffers. | ||
| 2761 | 2914 | ||
| 2762 | *** New command line option --no-desktop | 2915 | *** Diff mode key bindings changed. |
| 2763 | 2916 | ||
| 2764 | *** New hooks: | 2917 | These are the new bindings: |
| 2765 | - desktop-after-read-hook run after a desktop is loaded. | ||
| 2766 | - desktop-no-desktop-file-hook run when no desktop file is found. | ||
| 2767 | 2918 | ||
| 2768 | ** The saveplace.el package now filters out unreadable files. | 2919 | C-c C-e diff-ediff-patch (old M-A) |
| 2920 | C-c C-n diff-restrict-view (old M-r) | ||
| 2921 | C-c C-r diff-reverse-direction (old M-R) | ||
| 2922 | C-c C-u diff-context->unified (old M-U) | ||
| 2923 | C-c C-w diff-refine-hunk (old C-c C-r) | ||
| 2769 | 2924 | ||
| 2770 | When you exit Emacs, the saved positions in visited files no longer | 2925 | To convert unified to context format, use C-u C-c C-u. |
| 2771 | include files that aren't readable, e.g. files that don't exist. | 2926 | In addition, C-c C-u now operates on the region |
| 2772 | Customize the new option `save-place-forget-unreadable-files' to nil | 2927 | in Transient Mark mode when the mark is active. |
| 2773 | to get the old behavior. The new options `save-place-save-skipped' | ||
| 2774 | and `save-place-skip-check-regexp' allow further fine-tuning of this | ||
| 2775 | feature. | ||
| 2776 | 2928 | ||
| 2777 | ** EDiff changes. | 2929 | ** EDiff changes. |
| 2778 | 2930 | ||
| @@ -2827,26 +2979,33 @@ per line. Lines beginning with space or tab are ignored. | |||
| 2827 | 2979 | ||
| 2828 | *** New language parsing features | 2980 | *** New language parsing features |
| 2829 | 2981 | ||
| 2982 | **** New language HTML. | ||
| 2983 | |||
| 2984 | Tags are generated for `title' as well as `h1', `h2', and `h3'. Also, | ||
| 2985 | when `name=' is used inside an anchor and whenever `id=' is used. | ||
| 2986 | |||
| 2987 | **** New language PHP. | ||
| 2988 | |||
| 2989 | Functions, classes and defines are tags. If the --members option is | ||
| 2990 | specified to etags, variables are tags also. | ||
| 2991 | |||
| 2992 | **** New language Lua. | ||
| 2993 | |||
| 2994 | All functions are tagged. | ||
| 2995 | |||
| 2830 | **** The `::' qualifier triggers C++ parsing in C file. | 2996 | **** The `::' qualifier triggers C++ parsing in C file. |
| 2831 | 2997 | ||
| 2832 | Previously, only the `template' and `class' keywords had this effect. | 2998 | Previously, only the `template' and `class' keywords had this effect. |
| 2833 | 2999 | ||
| 2834 | **** The GCC __attribute__ keyword is now recognized and ignored. | 3000 | **** The GCC __attribute__ keyword is now recognized and ignored. |
| 2835 | 3001 | ||
| 2836 | **** New language HTML. | 3002 | **** In C and derived languages, etags creates tags for #undef |
| 2837 | |||
| 2838 | Tags are generated for `title' as well as `h1', `h2', and `h3'. Also, | ||
| 2839 | when `name=' is used inside an anchor and whenever `id=' is used. | ||
| 2840 | 3003 | ||
| 2841 | **** In Makefiles, constants are tagged. | 3004 | **** In Makefiles, constants are tagged. |
| 2842 | 3005 | ||
| 2843 | If you want the old behavior instead, thus avoiding to increase the | 3006 | If you want the old behavior instead, thus avoiding to increase the |
| 2844 | size of the tags file, use the --no-globals option. | 3007 | size of the tags file, use the --no-globals option. |
| 2845 | 3008 | ||
| 2846 | **** New language Lua. | ||
| 2847 | |||
| 2848 | All functions are tagged. | ||
| 2849 | |||
| 2850 | **** In Perl, packages are tags. | 3009 | **** In Perl, packages are tags. |
| 2851 | 3010 | ||
| 2852 | Subroutine tags are named from their package. You can jump to sub tags | 3011 | Subroutine tags are named from their package. You can jump to sub tags |
| @@ -2855,18 +3014,11 @@ package::sub. | |||
| 2855 | 3014 | ||
| 2856 | **** In Prolog, etags creates tags for rules in addition to predicates. | 3015 | **** In Prolog, etags creates tags for rules in addition to predicates. |
| 2857 | 3016 | ||
| 2858 | **** New language PHP. | ||
| 2859 | |||
| 2860 | Functions, classes and defines are tags. If the --members option is | ||
| 2861 | specified to etags, variables are tags also. | ||
| 2862 | |||
| 2863 | **** New default keywords for TeX. | 3017 | **** New default keywords for TeX. |
| 2864 | 3018 | ||
| 2865 | The new keywords are def, newcommand, renewcommand, newenvironment and | 3019 | The new keywords are def, newcommand, renewcommand, newenvironment and |
| 2866 | renewenvironment. | 3020 | renewenvironment. |
| 2867 | 3021 | ||
| 2868 | **** In C and derived languages, etags creates tags for #undef | ||
| 2869 | |||
| 2870 | *** Honor #line directives. | 3022 | *** Honor #line directives. |
| 2871 | 3023 | ||
| 2872 | When Etags parses an input file that contains C preprocessor's #line | 3024 | When Etags parses an input file that contains C preprocessor's #line |
| @@ -2891,70 +3043,7 @@ struct members in C, members variables in C++ and variables in PHP. | |||
| 2891 | 3043 | ||
| 2892 | *** Ctags now allows duplicate tags | 3044 | *** Ctags now allows duplicate tags |
| 2893 | 3045 | ||
| 2894 | ** VC Changes | 3046 | ** Rmail changes |
| 2895 | |||
| 2896 | *** The key C-x C-q only changes the read-only state of the buffer | ||
| 2897 | (toggle-read-only). It no longer checks files in or out. | ||
| 2898 | |||
| 2899 | We made this change because we held a poll and found that many users | ||
| 2900 | were unhappy with the previous behavior. If you do prefer this | ||
| 2901 | behavior, you can bind `vc-toggle-read-only' to C-x C-q in your | ||
| 2902 | `.emacs' file: | ||
| 2903 | |||
| 2904 | (global-set-key "\C-x\C-q" 'vc-toggle-read-only) | ||
| 2905 | |||
| 2906 | The function `vc-toggle-read-only' will continue to exist. | ||
| 2907 | |||
| 2908 | *** The new variable `vc-cvs-global-switches' specifies switches that | ||
| 2909 | are passed to any CVS command invoked by VC. | ||
| 2910 | |||
| 2911 | These switches are used as "global options" for CVS, which means they | ||
| 2912 | are inserted before the command name. For example, this allows you to | ||
| 2913 | specify a compression level using the `-z#' option for CVS. | ||
| 2914 | |||
| 2915 | *** New backends for Subversion and Meta-CVS. | ||
| 2916 | |||
| 2917 | *** VC-Annotate mode enhancements | ||
| 2918 | |||
| 2919 | In VC-Annotate mode, you can now use the following key bindings for | ||
| 2920 | enhanced functionality to browse the annotations of past revisions, or | ||
| 2921 | to view diffs or log entries directly from vc-annotate-mode: | ||
| 2922 | |||
| 2923 | P: annotates the previous revision | ||
| 2924 | N: annotates the next revision | ||
| 2925 | J: annotates the revision at line | ||
| 2926 | A: annotates the revision previous to line | ||
| 2927 | D: shows the diff of the revision at line with its previous revision | ||
| 2928 | L: shows the log of the revision at line | ||
| 2929 | W: annotates the workfile (most up to date) version | ||
| 2930 | |||
| 2931 | ** pcl-cvs changes: | ||
| 2932 | |||
| 2933 | *** In pcl-cvs mode, there is a new `d y' command to view the diffs | ||
| 2934 | between the local version of the file and yesterday's head revision | ||
| 2935 | in the repository. | ||
| 2936 | |||
| 2937 | *** In pcl-cvs mode, there is a new `d r' command to view the changes | ||
| 2938 | anyone has committed to the repository since you last executed | ||
| 2939 | `checkout', `update' or `commit'. That means using cvs diff options | ||
| 2940 | -rBASE -rHEAD. | ||
| 2941 | |||
| 2942 | ** The new variable `mail-default-directory' specifies | ||
| 2943 | `default-directory' for mail buffers. This directory is used for | ||
| 2944 | auto-save files of mail buffers. It defaults to "~/". | ||
| 2945 | |||
| 2946 | ** The mode line can indicate new mail in a directory or file. | ||
| 2947 | |||
| 2948 | See the documentation of the user option | ||
| 2949 | `display-time-mail-directory'. | ||
| 2950 | |||
| 2951 | ** Rmail changes: | ||
| 2952 | |||
| 2953 | *** Rmail now displays 5-digit message ids in its summary buffer. | ||
| 2954 | |||
| 2955 | *** The new commands rmail-end-of-message and rmail-summary end-of-message, | ||
| 2956 | by default bound to `/', go to the end of the current mail message in | ||
| 2957 | Rmail and Rmail summary buffers. | ||
| 2958 | 3047 | ||
| 2959 | *** Support for `movemail' from GNU mailutils was added to Rmail. | 3048 | *** Support for `movemail' from GNU mailutils was added to Rmail. |
| 2960 | 3049 | ||
| @@ -2964,6 +3053,12 @@ without TLS encryption. If GNU mailutils is installed on the system | |||
| 2964 | and its version of `movemail' can be found in exec-path, it will be | 3053 | and its version of `movemail' can be found in exec-path, it will be |
| 2965 | used instead of the native one. | 3054 | used instead of the native one. |
| 2966 | 3055 | ||
| 3056 | *** The new commands rmail-end-of-message and rmail-summary end-of-message, | ||
| 3057 | by default bound to `/', go to the end of the current mail message in | ||
| 3058 | Rmail and Rmail summary buffers. | ||
| 3059 | |||
| 3060 | *** Rmail now displays 5-digit message ids in its summary buffer. | ||
| 3061 | |||
| 2967 | ** Gnus package | 3062 | ** Gnus package |
| 2968 | 3063 | ||
| 2969 | *** Gnus now includes Sieve and PGG | 3064 | *** Gnus now includes Sieve and PGG |
| @@ -2980,13 +3075,17 @@ See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. | |||
| 2980 | Upgraded to MH-E version 8.0.3. There have been major changes since | 3075 | Upgraded to MH-E version 8.0.3. There have been major changes since |
| 2981 | version 5.0.2; see MH-E-NEWS for details. | 3076 | version 5.0.2; see MH-E-NEWS for details. |
| 2982 | 3077 | ||
| 2983 | ** Calendar changes: | 3078 | ** Miscellaneous mail changes |
| 2984 | 3079 | ||
| 2985 | *** The meanings of C-x < and C-x > have been interchanged. | 3080 | *** The new variable `mail-default-directory' specifies |
| 2986 | < means to scroll backward in time, and > means to scroll forward. | 3081 | `default-directory' for mail buffers. This directory is used for |
| 3082 | auto-save files of mail buffers. It defaults to "~/". | ||
| 2987 | 3083 | ||
| 2988 | *** You can now use < and >, instead of C-x < and C-x >, to scroll | 3084 | *** The mode line can indicate new mail in a directory or file. |
| 2989 | the calendar left or right. | 3085 | |
| 3086 | See the documentation of the user option `display-time-mail-directory'. | ||
| 3087 | |||
| 3088 | ** Calendar changes | ||
| 2990 | 3089 | ||
| 2991 | *** There is a new calendar package, icalendar.el, that can be used to | 3090 | *** There is a new calendar package, icalendar.el, that can be used to |
| 2992 | convert Emacs diary entries to/from the iCalendar format. | 3091 | convert Emacs diary entries to/from the iCalendar format. |
| @@ -2994,6 +3093,21 @@ convert Emacs diary entries to/from the iCalendar format. | |||
| 2994 | *** The new package cal-html.el writes HTML files with calendar and | 3093 | *** The new package cal-html.el writes HTML files with calendar and |
| 2995 | diary entries. | 3094 | diary entries. |
| 2996 | 3095 | ||
| 3096 | *** The new functions `diary-from-outlook', `diary-from-outlook-gnus', | ||
| 3097 | and `diary-from-outlook-rmail' can be used to import diary entries | ||
| 3098 | from Outlook-format appointments in mail messages. The variable | ||
| 3099 | `diary-outlook-formats' can be customized to recognize additional | ||
| 3100 | formats. | ||
| 3101 | |||
| 3102 | *** The procedure for activating appointment reminders has changed: | ||
| 3103 | use the new function `appt-activate'. The new variable | ||
| 3104 | `appt-display-format' controls how reminders are displayed, replacing | ||
| 3105 | `appt-issue-message', `appt-visible', and `appt-msg-window'. | ||
| 3106 | |||
| 3107 | *** The function `simple-diary-display' now by default sets a header line. | ||
| 3108 | This can be controlled through the variables `diary-header-line-flag' | ||
| 3109 | and `diary-header-line-format'. | ||
| 3110 | |||
| 2997 | *** Diary sexp entries can have custom marking in the calendar. | 3111 | *** Diary sexp entries can have custom marking in the calendar. |
| 2998 | Diary sexp functions which only apply to certain days (such as | 3112 | Diary sexp functions which only apply to certain days (such as |
| 2999 | `diary-block' or `diary-cyclic') now take an optional parameter MARK, | 3113 | `diary-block' or `diary-cyclic') now take an optional parameter MARK, |
| @@ -3004,6 +3118,12 @@ day in the calendar. Specifying a face highlights the day with that | |||
| 3004 | face. This lets you have different colors or markings for vacations, | 3118 | face. This lets you have different colors or markings for vacations, |
| 3005 | appointments, paydays or anything else using a sexp. | 3119 | appointments, paydays or anything else using a sexp. |
| 3006 | 3120 | ||
| 3121 | *** The meanings of C-x < and C-x > have been interchanged. | ||
| 3122 | < means to scroll backward in time, and > means to scroll forward. | ||
| 3123 | |||
| 3124 | *** You can now use < and >, instead of C-x < and C-x >, to scroll | ||
| 3125 | the calendar left or right. | ||
| 3126 | |||
| 3007 | *** The new function `calendar-goto-day-of-year' (g D) prompts for a | 3127 | *** The new function `calendar-goto-day-of-year' (g D) prompts for a |
| 3008 | year and day number, and moves to that date. Negative day numbers | 3128 | year and day number, and moves to that date. Negative day numbers |
| 3009 | count backward from the end of the year. | 3129 | count backward from the end of the year. |
| @@ -3012,37 +3132,19 @@ count backward from the end of the year. | |||
| 3012 | prompts for a year and a week number, and moves to the first | 3132 | prompts for a year and a week number, and moves to the first |
| 3013 | day of that ISO week. | 3133 | day of that ISO week. |
| 3014 | 3134 | ||
| 3015 | *** The new variable `calendar-minimum-window-height' affects the | ||
| 3016 | window generated by the function `generate-calendar-window'. | ||
| 3017 | |||
| 3018 | *** The functions `holiday-easter-etc' and `holiday-advent' now take | 3135 | *** The functions `holiday-easter-etc' and `holiday-advent' now take |
| 3019 | optional arguments, in order to only report on the specified holiday | 3136 | optional arguments, in order to only report on the specified holiday |
| 3020 | rather than all. This makes customization of variables such as | 3137 | rather than all. This makes customization of variables such as |
| 3021 | `christian-holidays' simpler. | 3138 | `christian-holidays' simpler. |
| 3022 | 3139 | ||
| 3023 | *** The function `simple-diary-display' now by default sets a header line. | 3140 | *** The new variable `calendar-minimum-window-height' affects the |
| 3024 | This can be controlled through the variables `diary-header-line-flag' | 3141 | window generated by the function `generate-calendar-window'. |
| 3025 | and `diary-header-line-format'. | ||
| 3026 | |||
| 3027 | *** The procedure for activating appointment reminders has changed: | ||
| 3028 | use the new function `appt-activate'. The new variable | ||
| 3029 | `appt-display-format' controls how reminders are displayed, replacing | ||
| 3030 | `appt-issue-message', `appt-visible', and `appt-msg-window'. | ||
| 3031 | |||
| 3032 | *** The new functions `diary-from-outlook', `diary-from-outlook-gnus', | ||
| 3033 | and `diary-from-outlook-rmail' can be used to import diary entries | ||
| 3034 | from Outlook-format appointments in mail messages. The variable | ||
| 3035 | `diary-outlook-formats' can be customized to recognize additional | ||
| 3036 | formats. | ||
| 3037 | 3142 | ||
| 3038 | ** Speedbar changes: | 3143 | ** Speedbar changes |
| 3039 | 3144 | ||
| 3040 | *** Speedbar items can now be selected by clicking mouse-1, based on | 3145 | *** Speedbar items can now be selected by clicking mouse-1, based on |
| 3041 | the `mouse-1-click-follows-link' mechanism. | 3146 | the `mouse-1-click-follows-link' mechanism. |
| 3042 | 3147 | ||
| 3043 | *** SPC and DEL are no longer bound to scroll up/down in the speedbar | ||
| 3044 | keymap. | ||
| 3045 | |||
| 3046 | *** The new command `speedbar-toggle-line-expansion', bound to SPC, | 3148 | *** The new command `speedbar-toggle-line-expansion', bound to SPC, |
| 3047 | contracts or expands the line under the cursor. | 3149 | contracts or expands the line under the cursor. |
| 3048 | 3150 | ||
| @@ -3053,6 +3155,9 @@ contracts or expands the line under the cursor. | |||
| 3053 | respectively, expand and contract the line under cursor with all of | 3155 | respectively, expand and contract the line under cursor with all of |
| 3054 | its descendents. | 3156 | its descendents. |
| 3055 | 3157 | ||
| 3158 | *** The new user option `speedbar-use-tool-tips-flag', if non-nil, | ||
| 3159 | means to display tool-tips for speedbar items. | ||
| 3160 | |||
| 3056 | *** The new user option `speedbar-query-confirmation-method' controls | 3161 | *** The new user option `speedbar-query-confirmation-method' controls |
| 3057 | how querying is performed for file operations. A value of 'always | 3162 | how querying is performed for file operations. A value of 'always |
| 3058 | means to always query before file operations; 'none-but-delete means | 3163 | means to always query before file operations; 'none-but-delete means |
| @@ -3065,8 +3170,8 @@ value of 'attached means to use the attached frame (the frame that | |||
| 3065 | speedbar was started from.) A number such as 1 or -1 means to pass | 3170 | speedbar was started from.) A number such as 1 or -1 means to pass |
| 3066 | that number to `other-frame'. | 3171 | that number to `other-frame'. |
| 3067 | 3172 | ||
| 3068 | *** The new user option `speedbar-use-tool-tips-flag', if non-nil, | 3173 | *** SPC and DEL are no longer bound to scroll up/down in the speedbar |
| 3069 | means to display tool-tips for speedbar items. | 3174 | keymap. |
| 3070 | 3175 | ||
| 3071 | *** The frame management code in speedbar.el has been split into a new | 3176 | *** The frame management code in speedbar.el has been split into a new |
| 3072 | `dframe' library. Emacs Lisp code that makes use of the speedbar | 3177 | `dframe' library. Emacs Lisp code that makes use of the speedbar |
| @@ -3078,230 +3183,136 @@ should use `dframe-attached-frame' instead of | |||
| 3078 | `speedbar-update-speed' and `speedbar-navigating-speed' are also | 3183 | `speedbar-update-speed' and `speedbar-navigating-speed' are also |
| 3079 | obsolete; use `dframe-update-speed' instead. | 3184 | obsolete; use `dframe-update-speed' instead. |
| 3080 | 3185 | ||
| 3081 | ** sql changes. | 3186 | ** battery.el changes |
| 3082 | |||
| 3083 | *** The variable `sql-product' controls the highlighting of different | ||
| 3084 | SQL dialects. This variable can be set globally via Customize, on a | ||
| 3085 | buffer-specific basis via local variable settings, or for the current | ||
| 3086 | session using the new SQL->Product submenu. (This menu replaces the | ||
| 3087 | SQL->Highlighting submenu.) | ||
| 3088 | |||
| 3089 | The following values are supported: | ||
| 3090 | |||
| 3091 | ansi ANSI Standard (default) | ||
| 3092 | db2 DB2 | ||
| 3093 | informix Informix | ||
| 3094 | ingres Ingres | ||
| 3095 | interbase Interbase | ||
| 3096 | linter Linter | ||
| 3097 | ms Microsoft | ||
| 3098 | mysql MySQL | ||
| 3099 | oracle Oracle | ||
| 3100 | postgres Postgres | ||
| 3101 | solid Solid | ||
| 3102 | sqlite SQLite | ||
| 3103 | sybase Sybase | ||
| 3104 | |||
| 3105 | The current product name will be shown on the mode line following the | ||
| 3106 | SQL mode indicator. | ||
| 3107 | |||
| 3108 | The technique of setting `sql-mode-font-lock-defaults' directly in | ||
| 3109 | your `.emacs' will no longer establish the default highlighting -- Use | ||
| 3110 | `sql-product' to accomplish this. | ||
| 3111 | |||
| 3112 | ANSI keywords are always highlighted. | ||
| 3113 | 3187 | ||
| 3114 | *** The function `sql-add-product-keywords' can be used to add | 3188 | *** display-battery-mode replaces display-battery. |
| 3115 | font-lock rules to the product specific rules. For example, to have | ||
| 3116 | all identifiers ending in `_t' under MS SQLServer treated as a type, | ||
| 3117 | you would use the following line in your .emacs file: | ||
| 3118 | |||
| 3119 | (sql-add-product-keywords 'ms | ||
| 3120 | '(("\\<\\w+_t\\>" . font-lock-type-face))) | ||
| 3121 | |||
| 3122 | *** Oracle support includes keyword highlighting for Oracle 9i. | ||
| 3123 | |||
| 3124 | Most SQL and PL/SQL keywords are implemented. SQL*Plus commands are | ||
| 3125 | highlighted in `font-lock-doc-face'. | ||
| 3126 | |||
| 3127 | *** Microsoft SQLServer support has been significantly improved. | ||
| 3128 | |||
| 3129 | Keyword highlighting for SqlServer 2000 is implemented. | ||
| 3130 | sql-interactive-mode defaults to use osql, rather than isql, because | ||
| 3131 | osql flushes its error stream more frequently. Thus error messages | ||
| 3132 | are displayed when they occur rather than when the session is | ||
| 3133 | terminated. | ||
| 3134 | |||
| 3135 | If the username and password are not provided to `sql-ms', osql is | ||
| 3136 | called with the `-E' command line argument to use the operating system | ||
| 3137 | credentials to authenticate the user. | ||
| 3138 | 3189 | ||
| 3139 | *** Postgres support is enhanced. | 3190 | *** battery.el now works on recent versions of OS X. |
| 3140 | Keyword highlighting of Postgres 7.3 is implemented. Prompting for | ||
| 3141 | the username and the pgsql `-U' option is added. | ||
| 3142 | 3191 | ||
| 3143 | *** MySQL support is enhanced. | 3192 | ** Games |
| 3144 | Keyword highlighting of MySql 4.0 is implemented. | ||
| 3145 | 3193 | ||
| 3146 | *** Imenu support has been enhanced to locate tables, views, indexes, | 3194 | *** The game `mpuz' is enhanced. |
| 3147 | packages, procedures, functions, triggers, sequences, rules, and | ||
| 3148 | defaults. | ||
| 3149 | 3195 | ||
| 3150 | *** Added SQL->Start SQLi Session menu entry which calls the | 3196 | `mpuz' now allows the 2nd factor not to have two identical digits. By |
| 3151 | appropriate `sql-interactive-mode' wrapper for the current setting of | 3197 | default, all trivial operations involving whole lines are performed |
| 3152 | `sql-product'. | 3198 | automatically. The game uses faces for better visual feedback. |
| 3153 | |||
| 3154 | *** sql.el supports the SQLite interpreter--call 'sql-sqlite'. | ||
| 3155 | 3199 | ||
| 3156 | ** FFAP changes: | 3200 | ** Obsolete and deleted packages |
| 3157 | 3201 | ||
| 3158 | *** New ffap commands and keybindings: | 3202 | *** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. |
| 3159 | 3203 | ||
| 3160 | C-x C-r (`ffap-read-only'), | 3204 | *** iso-acc.el is now obsolete. Use one of the latin input methods instead. |
| 3161 | C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'), | ||
| 3162 | C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), | ||
| 3163 | C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). | ||
| 3164 | 3205 | ||
| 3165 | *** FFAP accepts wildcards in a file name by default. | 3206 | *** zone-mode.el is now obsolete. Use dns-mode.el instead. |
| 3166 | 3207 | ||
| 3167 | C-x C-f passes the file name to `find-file' with non-nil WILDCARDS | 3208 | *** cplus-md.el has been deleted. |
| 3168 | argument, which visits multiple files, and C-x d passes it to `dired'. | ||
| 3169 | 3209 | ||
| 3170 | ** Changes in Skeleton | 3210 | ** Miscellaneous |
| 3171 | 3211 | ||
| 3172 | *** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. | 3212 | *** The variable `woman-topic-at-point' is renamed |
| 3213 | to `woman-use-topic-at-point' and behaves differently: if this | ||
| 3214 | variable is non-nil, the `woman' command uses the word at point | ||
| 3215 | automatically, without asking for a confirmation. Otherwise, the word | ||
| 3216 | at point is suggested as default, but not inserted at the prompt. | ||
| 3173 | 3217 | ||
| 3174 | `@' has reverted to only setting `skeleton-positions' and no longer | 3218 | *** You can now customize `fill-nobreak-predicate' to control where |
| 3175 | sets `skeleton-point'. Skeletons which used @ to mark | 3219 | filling can break lines. The value is now normally a list of |
| 3176 | `skeleton-point' independent of `_' should now use `-' instead. The | 3220 | functions, but it can also be a single function, for compatibility. |
| 3177 | updated `skeleton-insert' docstring explains these new features along | ||
| 3178 | with other details of skeleton construction. | ||
| 3179 | 3221 | ||
| 3180 | *** The variables `skeleton-transformation', `skeleton-filter', and | 3222 | Emacs provide two predicates, `fill-single-word-nobreak-p' and |
| 3181 | `skeleton-pair-filter' have been renamed to | 3223 | `fill-french-nobreak-p', for use as the value of |
| 3182 | `skeleton-transformation-function', `skeleton-filter-function', and | 3224 | `fill-nobreak-predicate'. |
| 3183 | `skeleton-pair-filter-function'. The old names are still available | ||
| 3184 | as aliases. | ||
| 3185 | 3225 | ||
| 3186 | ** Hideshow mode changes | 3226 | *** M-x view-file and commands that use it now avoid interfering |
| 3227 | with special modes such as Tar mode. | ||
| 3187 | 3228 | ||
| 3188 | *** New variable `hs-set-up-overlay' allows customization of the overlay | 3229 | *** `global-whitespace-mode' is a new alias for `whitespace-global-mode'. |
| 3189 | used to effect hiding for hideshow minor mode. Integration with isearch | ||
| 3190 | handles the overlay property `display' specially, preserving it during | ||
| 3191 | temporary overlay showing in the course of an isearch operation. | ||
| 3192 | 3230 | ||
| 3193 | *** New variable `hs-allow-nesting' non-nil means that hiding a block does | 3231 | *** The saveplace.el package now filters out unreadable files. |
| 3194 | not discard the hidden state of any "internal" blocks; when the parent | ||
| 3195 | block is later shown, the internal blocks remain hidden. Default is nil. | ||
| 3196 | 3232 | ||
| 3197 | ** `hide-ifdef-mode' now uses overlays rather than selective-display | 3233 | When you exit Emacs, the saved positions in visited files no longer |
| 3198 | to hide its text. This should be mostly transparent but slightly | 3234 | include files that aren't readable, e.g. files that don't exist. |
| 3199 | changes the behavior of motion commands like C-e and C-p. | 3235 | Customize the new option `save-place-forget-unreadable-files' to nil |
| 3236 | to get the old behavior. The new options `save-place-save-skipped' | ||
| 3237 | and `save-place-skip-check-regexp' allow further fine-tuning of this | ||
| 3238 | feature. | ||
| 3200 | 3239 | ||
| 3201 | ** `partial-completion-mode' now handles partial completion on directory names. | 3240 | *** Commands `winner-redo' and `winner-undo', from winner.el, are now |
| 3241 | bound to C-c <left> and C-c <right>, respectively. This is an | ||
| 3242 | incompatible change. | ||
| 3202 | 3243 | ||
| 3203 | ** The type-break package now allows `type-break-file-name' to be nil | 3244 | *** The type-break package now allows `type-break-file-name' to be nil |
| 3204 | and if so, doesn't store any data across sessions. This is handy if | 3245 | and if so, doesn't store any data across sessions. This is handy if |
| 3205 | you don't want the `.type-break' file in your home directory or are | 3246 | you don't want the `.type-break' file in your home directory or are |
| 3206 | annoyed by the need for interaction when you kill Emacs. | 3247 | annoyed by the need for interaction when you kill Emacs. |
| 3207 | 3248 | ||
| 3208 | ** `ps-print' can now print characters from the mule-unicode charsets. | 3249 | *** `ps-print' can now print characters from the mule-unicode charsets. |
| 3209 | 3250 | ||
| 3210 | Printing text with characters from the mule-unicode-* sets works with | 3251 | Printing text with characters from the mule-unicode-* sets works with |
| 3211 | `ps-print', provided that you have installed the appropriate BDF | 3252 | `ps-print', provided that you have installed the appropriate BDF |
| 3212 | fonts. See the file INSTALL for URLs where you can find these fonts. | 3253 | fonts. See the file INSTALL for URLs where you can find these fonts. |
| 3213 | 3254 | ||
| 3214 | ** New command `strokes-global-set-stroke-string'. | 3255 | *** New command `strokes-global-set-stroke-string'. |
| 3215 | This is like `strokes-global-set-stroke', but it allows you to bind | 3256 | This is like `strokes-global-set-stroke', but it allows you to bind |
| 3216 | the stroke directly to a string to insert. This is convenient for | 3257 | the stroke directly to a string to insert. This is convenient for |
| 3217 | using strokes as an input method. | 3258 | using strokes as an input method. |
| 3218 | 3259 | ||
| 3219 | ** Emacs server changes: | 3260 | *** In Outline mode, `hide-body' no longer hides lines at the top |
| 3220 | 3261 | of the file that precede the first header line. | |
| 3221 | *** You can have several Emacs servers on the same machine. | ||
| 3222 | 3262 | ||
| 3223 | % emacs --eval '(setq server-name "foo")' -f server-start & | 3263 | *** `hide-ifdef-mode' now uses overlays rather than selective-display |
| 3224 | % emacs --eval '(setq server-name "bar")' -f server-start & | 3264 | to hide its text. This should be mostly transparent but slightly |
| 3225 | % emacsclient -s foo file1 | 3265 | changes the behavior of motion commands like C-e and C-p. |
| 3226 | % emacsclient -s bar file2 | ||
| 3227 | 3266 | ||
| 3228 | *** The `emacsclient' command understands the options `--eval' and | 3267 | *** In Artist mode the variable `artist-text-renderer' has been |
| 3229 | `--display' which tell Emacs respectively to evaluate the given Lisp | 3268 | renamed to `artist-text-renderer-function'. The old name is still |
| 3230 | expression and to use the given display when visiting files. | 3269 | available as alias. |
| 3231 | 3270 | ||
| 3232 | *** User option `server-mode' can be used to start a server process. | 3271 | *** In Enriched mode, `set-left-margin' and `set-right-margin' are now |
| 3272 | by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' | ||
| 3273 | and `C-c C-r'. | ||
| 3233 | 3274 | ||
| 3234 | ** LDAP support now defaults to ldapsearch from OpenLDAP version 2. | 3275 | *** `partial-completion-mode' now handles partial completion on directory names. |
| 3235 | 3276 | ||
| 3236 | ** You can now disable pc-selection-mode after enabling it. | 3277 | *** You can now disable pc-selection-mode after enabling it. |
| 3237 | 3278 | ||
| 3238 | M-x pc-selection-mode behaves like a proper minor mode, and with no | 3279 | M-x pc-selection-mode behaves like a proper minor mode, and with no |
| 3239 | argument it toggles the mode. Turning off PC-Selection mode restores | 3280 | argument it toggles the mode. Turning off PC-Selection mode restores |
| 3240 | the global key bindings that were replaced by turning on the mode. | 3281 | the global key bindings that were replaced by turning on the mode. |
| 3241 | 3282 | ||
| 3242 | ** `uniquify-strip-common-suffix' tells uniquify to prefer | 3283 | *** `uniquify-strip-common-suffix' tells uniquify to prefer |
| 3243 | `file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. | 3284 | `file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. |
| 3244 | 3285 | ||
| 3245 | ** Support for `magic cookie' standout modes has been removed. | 3286 | *** New user option `add-log-always-start-new-record'. |
| 3246 | |||
| 3247 | Emacs still works on terminals that require magic cookies in order to | ||
| 3248 | use standout mode, but they can no longer display mode-lines in | ||
| 3249 | inverse-video. | ||
| 3250 | |||
| 3251 | ** The game `mpuz' is enhanced. | ||
| 3252 | 3287 | ||
| 3253 | `mpuz' now allows the 2nd factor not to have two identical digits. By | 3288 | When this option is enabled, M-x add-change-log-entry always |
| 3254 | default, all trivial operations involving whole lines are performed | 3289 | starts a new record regardless of when the last record is. |
| 3255 | automatically. The game uses faces for better visual feedback. | ||
| 3256 | 3290 | ||
| 3257 | ** battery.el changes: | 3291 | *** M-x compare-windows now can automatically skip non-matching text to |
| 3292 | resync points in both windows. | ||
| 3258 | 3293 | ||
| 3259 | *** display-battery-mode replaces display-battery. | 3294 | *** PO translation files are decoded according to their MIME headers |
| 3295 | when Emacs visits them. | ||
| 3260 | 3296 | ||
| 3261 | *** battery.el now works on recent versions of OS X. | 3297 | *** Telnet now prompts you for a port number with C-u M-x telnet. |
| 3262 | 3298 | ||
| 3263 | ** calculator.el now has radix grouping mode. | 3299 | *** calculator.el now has radix grouping mode. |
| 3264 | 3300 | ||
| 3265 | To enable this, set `calculator-output-radix' non-nil. In this mode a | 3301 | To enable this, set `calculator-output-radix' non-nil. In this mode a |
| 3266 | separator character is used every few digits, making it easier to see | 3302 | separator character is used every few digits, making it easier to see |
| 3267 | byte boundaries etc. For more info, see the documentation of the | 3303 | byte boundaries etc. For more info, see the documentation of the |
| 3268 | variable `calculator-radix-grouping-mode'. | 3304 | variable `calculator-radix-grouping-mode'. |
| 3269 | 3305 | ||
| 3270 | ** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. | 3306 | *** LDAP support now defaults to ldapsearch from OpenLDAP version 2. |
| 3271 | |||
| 3272 | ** iso-acc.el is now obsolete. Use one of the latin input methods instead. | ||
| 3273 | |||
| 3274 | ** zone-mode.el is now obsolete. Use dns-mode.el instead. | ||
| 3275 | |||
| 3276 | ** cplus-md.el has been deleted. | ||
| 3277 | |||
| 3278 | ** Ewoc changes | ||
| 3279 | |||
| 3280 | *** The new function `ewoc-delete' deletes specified nodes. | ||
| 3281 | |||
| 3282 | *** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of | ||
| 3283 | a newline after each pretty-printed entry and after the header and footer. | ||
| 3284 | This allows you to create multiple-entry ewocs on a single line and to | ||
| 3285 | effect "invisible" nodes by arranging for the pretty-printer to not print | ||
| 3286 | anything for those nodes. | ||
| 3287 | |||
| 3288 | For example, these two sequences of expressions behave identically: | ||
| 3289 | |||
| 3290 | ;; NOSEP nil | ||
| 3291 | (defun PP (data) (insert (format "%S" data))) | ||
| 3292 | (ewoc-create 'PP "start\n") | ||
| 3293 | 3307 | ||
| 3294 | ;; NOSEP t | 3308 | *** The terminal emulation code in term.el has been improved; it can |
| 3295 | (defun PP (data) (insert (format "%S\n" data))) | 3309 | run most curses applications now. |
| 3296 | (ewoc-create 'PP "start\n\n" "\n" t) | ||
| 3297 | 3310 | ||
| 3298 | ** Locate changes | 3311 | *** Support for `magic cookie' standout modes has been removed. |
| 3299 | 3312 | ||
| 3300 | *** By default, reverting the *Locate* buffer now just runs the last | 3313 | Emacs still works on terminals that require magic cookies in order to |
| 3301 | `locate' command back over again without offering to update the locate | 3314 | use standout mode, but they can no longer display mode-lines in |
| 3302 | database (which normally only works if you have root privileges). If | 3315 | inverse-video. |
| 3303 | you prefer the old behavior, set the new customizable option | ||
| 3304 | `locate-update-when-revert' to t. | ||
| 3305 | 3316 | ||
| 3306 | 3317 | ||
| 3307 | * Changes in Emacs 22.1 on non-free operating systems | 3318 | * Changes in Emacs 22.1 on non-free operating systems |
| @@ -3320,29 +3331,6 @@ This change means that users can now have their own `.emacs' files on | |||
| 3320 | shared computers, and the default HOME directory is less likely to be | 3331 | shared computers, and the default HOME directory is less likely to be |
| 3321 | read-only on computers that are administered by someone else. | 3332 | read-only on computers that are administered by someone else. |
| 3322 | 3333 | ||
| 3323 | ** Passing resources on the command line now works on MS Windows. | ||
| 3324 | |||
| 3325 | You can use --xrm to pass resource settings to Emacs, overriding any | ||
| 3326 | existing values. For example: | ||
| 3327 | |||
| 3328 | emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20" | ||
| 3329 | |||
| 3330 | will start up Emacs on an initial frame of 100x20 with red background, | ||
| 3331 | irrespective of geometry or background setting on the Windows registry. | ||
| 3332 | |||
| 3333 | ** On MS Windows, the "system caret" now follows the cursor. | ||
| 3334 | |||
| 3335 | This enables Emacs to work better with programs that need to track the | ||
| 3336 | cursor, for example screen magnifiers and text to speech programs. | ||
| 3337 | When such a program is in use, the system caret is made visible | ||
| 3338 | instead of Emacs drawing its own cursor. This seems to be required by | ||
| 3339 | some programs. The new variable w32-use-visible-system-caret allows | ||
| 3340 | the caret visibility to be manually toggled. | ||
| 3341 | |||
| 3342 | ** Tooltips now work on MS Windows. | ||
| 3343 | |||
| 3344 | See the Emacs 21.1 NEWS entry for tooltips for details. | ||
| 3345 | |||
| 3346 | ** Images are now supported on MS Windows. | 3334 | ** Images are now supported on MS Windows. |
| 3347 | 3335 | ||
| 3348 | PBM and XBM images are supported out of the box. Other image formats | 3336 | PBM and XBM images are supported out of the box. Other image formats |
| @@ -3359,9 +3347,9 @@ as AU, AIFF and MP3 may be supported in the more recent versions of | |||
| 3359 | Windows, or when other software provides hooks into the system level | 3347 | Windows, or when other software provides hooks into the system level |
| 3360 | sound support for those formats. | 3348 | sound support for those formats. |
| 3361 | 3349 | ||
| 3362 | ** Different shaped mouse pointers are supported on MS Windows. | 3350 | ** Tooltips now work on MS Windows. |
| 3363 | 3351 | ||
| 3364 | The mouse pointer changes shape depending on what is under the pointer. | 3352 | See the Emacs 21.1 NEWS entry for tooltips for details. |
| 3365 | 3353 | ||
| 3366 | ** Pointing devices with more than 3 buttons are now supported on MS Windows. | 3354 | ** Pointing devices with more than 3 buttons are now supported on MS Windows. |
| 3367 | 3355 | ||
| @@ -3369,6 +3357,16 @@ The new variable `w32-pass-extra-mouse-buttons-to-system' controls | |||
| 3369 | whether Emacs should handle the extra buttons itself (the default), or | 3357 | whether Emacs should handle the extra buttons itself (the default), or |
| 3370 | pass them to Windows to be handled with system-wide functions. | 3358 | pass them to Windows to be handled with system-wide functions. |
| 3371 | 3359 | ||
| 3360 | ** Passing resources on the command line now works on MS Windows. | ||
| 3361 | |||
| 3362 | You can use --xrm to pass resource settings to Emacs, overriding any | ||
| 3363 | existing values. For example: | ||
| 3364 | |||
| 3365 | emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20" | ||
| 3366 | |||
| 3367 | will start up Emacs on an initial frame of 100x20 with red background, | ||
| 3368 | irrespective of geometry or background setting on the Windows registry. | ||
| 3369 | |||
| 3372 | ** Emacs takes note of colors defined in Control Panel on MS-Windows. | 3370 | ** Emacs takes note of colors defined in Control Panel on MS-Windows. |
| 3373 | 3371 | ||
| 3374 | The Control Panel defines some default colors for applications in much | 3372 | The Control Panel defines some default colors for applications in much |
| @@ -3379,14 +3377,6 @@ some of them to initialize some of the default faces. | |||
| 3379 | `list-colors-display' shows the list of System color names, in case | 3377 | `list-colors-display' shows the list of System color names, in case |
| 3380 | you wish to use them in other faces. | 3378 | you wish to use them in other faces. |
| 3381 | 3379 | ||
| 3382 | ** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. | ||
| 3383 | |||
| 3384 | Those systems use Unicode internally, so this allows Emacs to share | ||
| 3385 | multilingual text with other applications. On other versions of | ||
| 3386 | MS Windows, Emacs now uses the appropriate locale coding-system, so | ||
| 3387 | the clipboard should work correctly for your local language without | ||
| 3388 | any customizations. | ||
| 3389 | |||
| 3390 | ** Running in a console window in Windows now uses the console size. | 3380 | ** Running in a console window in Windows now uses the console size. |
| 3391 | 3381 | ||
| 3392 | Previous versions of Emacs erred on the side of having a usable Emacs | 3382 | Previous versions of Emacs erred on the side of having a usable Emacs |
| @@ -3400,6 +3390,27 @@ defaults to 80x25. If you use such a telnet server regularly at a size | |||
| 3400 | other than 80x25, you can still manually set | 3390 | other than 80x25, you can still manually set |
| 3401 | w32-use-full-screen-buffer to t. | 3391 | w32-use-full-screen-buffer to t. |
| 3402 | 3392 | ||
| 3393 | ** Different shaped mouse pointers are supported on MS Windows. | ||
| 3394 | |||
| 3395 | The mouse pointer changes shape depending on what is under the pointer. | ||
| 3396 | |||
| 3397 | ** On MS Windows, the "system caret" now follows the cursor. | ||
| 3398 | |||
| 3399 | This enables Emacs to work better with programs that need to track the | ||
| 3400 | cursor, for example screen magnifiers and text to speech programs. | ||
| 3401 | When such a program is in use, the system caret is made visible | ||
| 3402 | instead of Emacs drawing its own cursor. This seems to be required by | ||
| 3403 | some programs. The new variable w32-use-visible-system-caret allows | ||
| 3404 | the caret visibility to be manually toggled. | ||
| 3405 | |||
| 3406 | ** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. | ||
| 3407 | |||
| 3408 | Those systems use Unicode internally, so this allows Emacs to share | ||
| 3409 | multilingual text with other applications. On other versions of | ||
| 3410 | MS Windows, Emacs now uses the appropriate locale coding-system, so | ||
| 3411 | the clipboard should work correctly for your local language without | ||
| 3412 | any customizations. | ||
| 3413 | |||
| 3403 | ** On Mac OS, `keyboard-coding-system' changes based on the keyboard script. | 3414 | ** On Mac OS, `keyboard-coding-system' changes based on the keyboard script. |
| 3404 | 3415 | ||
| 3405 | ** The variable `mac-keyboard-text-encoding' and the constants | 3416 | ** The variable `mac-keyboard-text-encoding' and the constants |
| @@ -3411,22 +3422,6 @@ w32-use-full-screen-buffer to t. | |||
| 3411 | 3422 | ||
| 3412 | * Incompatible Lisp Changes in Emacs 22.1 | 3423 | * Incompatible Lisp Changes in Emacs 22.1 |
| 3413 | 3424 | ||
| 3414 | ** The `read-file-name' function now returns a null string if the | ||
| 3415 | user just types RET. | ||
| 3416 | |||
| 3417 | ** The function find-operation-coding-system may be called with a cons | ||
| 3418 | (FILENAME . BUFFER) in the second argument if the first argument | ||
| 3419 | OPERATION is `insert-file-contents', and thus a function registered in | ||
| 3420 | `file-coding-system-alist' is also called with such an argument. | ||
| 3421 | |||
| 3422 | ** The variables post-command-idle-hook and post-command-idle-delay have | ||
| 3423 | been removed. Use run-with-idle-timer instead. | ||
| 3424 | |||
| 3425 | ** `suppress-keymap' now works by remapping `self-insert-command' to | ||
| 3426 | the command `undefined'. (In earlier Emacs versions, it used | ||
| 3427 | `substitute-key-definition' to rebind self inserting characters to | ||
| 3428 | `undefined'.) | ||
| 3429 | |||
| 3430 | ** Mode line display ignores text properties as well as the | 3425 | ** Mode line display ignores text properties as well as the |
| 3431 | :propertize and :eval forms in the value of a variable whose | 3426 | :propertize and :eval forms in the value of a variable whose |
| 3432 | `risky-local-variable' property is nil. | 3427 | `risky-local-variable' property is nil. |
| @@ -3439,14 +3434,11 @@ Callers sending input not from the user should use bind the 3rd | |||
| 3439 | argument `artificial' to a non-nil value, to prevent Emacs from | 3434 | argument `artificial' to a non-nil value, to prevent Emacs from |
| 3440 | deleting the part of subprocess output that matches the input. | 3435 | deleting the part of subprocess output that matches the input. |
| 3441 | 3436 | ||
| 3442 | ** Support for Mocklisp has been removed. | 3437 | ** The `read-file-name' function now returns a null string if the |
| 3443 | 3438 | user just types RET. | |
| 3444 | ** The variable `memory-full' now remains t until | ||
| 3445 | there is no longer a shortage of memory. | ||
| 3446 | 3439 | ||
| 3447 | ** When Emacs receives a USR1 or USR2 signal, this generates | 3440 | ** The variables post-command-idle-hook and post-command-idle-delay have |
| 3448 | input events: sigusr1 or sigusr2. Use special-event-map to | 3441 | been removed. Use run-with-idle-timer instead. |
| 3449 | handle these events. | ||
| 3450 | 3442 | ||
| 3451 | ** A hex or octal escape in a string constant forces the string to | 3443 | ** A hex or octal escape in a string constant forces the string to |
| 3452 | be multibyte or unibyte, respectively. | 3444 | be multibyte or unibyte, respectively. |
| @@ -3459,6 +3451,25 @@ Instead, the new functions `make-glyph-code', `glyph-char', and | |||
| 3459 | `glyph-face' must be used to create and decode glyph codes in | 3451 | `glyph-face' must be used to create and decode glyph codes in |
| 3460 | display tables. | 3452 | display tables. |
| 3461 | 3453 | ||
| 3454 | ** `suppress-keymap' now works by remapping `self-insert-command' to | ||
| 3455 | the command `undefined'. (In earlier Emacs versions, it used | ||
| 3456 | `substitute-key-definition' to rebind self inserting characters to | ||
| 3457 | `undefined'.) | ||
| 3458 | |||
| 3459 | ** The function find-operation-coding-system may be called with a cons | ||
| 3460 | (FILENAME . BUFFER) in the second argument if the first argument | ||
| 3461 | OPERATION is `insert-file-contents', and thus a function registered in | ||
| 3462 | `file-coding-system-alist' is also called with such an argument. | ||
| 3463 | |||
| 3464 | ** When Emacs receives a USR1 or USR2 signal, this generates | ||
| 3465 | input events: sigusr1 or sigusr2. Use special-event-map to | ||
| 3466 | handle these events. | ||
| 3467 | |||
| 3468 | ** The variable `memory-full' now remains t until | ||
| 3469 | there is no longer a shortage of memory. | ||
| 3470 | |||
| 3471 | ** Support for Mocklisp has been removed. | ||
| 3472 | |||
| 3462 | 3473 | ||
| 3463 | * Lisp Changes in Emacs 22.1 | 3474 | * Lisp Changes in Emacs 22.1 |
| 3464 | 3475 | ||
| @@ -3484,17 +3495,29 @@ of MATHEMATICAL ITALIC CAPITAL ALPHA (the latter is greater than | |||
| 3484 | 3495 | ||
| 3485 | This syntax works for both character constants and strings. | 3496 | This syntax works for both character constants and strings. |
| 3486 | 3497 | ||
| 3487 | *** The function `expt' handles negative exponents differently. | 3498 | *** New function `unsafep' determines whether a Lisp form is safe. |
| 3488 | The value for `(expt A B)', if both A and B are integers and B is | 3499 | |
| 3489 | negative, is now a float. For example: (expt 2 -2) => 0.25. | 3500 | It returns nil if the given Lisp form can't possibly do anything |
| 3501 | dangerous; otherwise it returns a reason why the form might be unsafe | ||
| 3502 | (calls unknown function, alters global variable, etc.). | ||
| 3490 | 3503 | ||
| 3491 | *** The function `eql' is now available without requiring the CL package. | 3504 | *** The function `eql' is now available without requiring the CL package. |
| 3492 | 3505 | ||
| 3493 | *** The new function `memql' is like `memq', but uses `eql' for comparison, | 3506 | *** The new function `memql' is like `memq', but uses `eql' for comparison, |
| 3494 | that is, floats are compared by value and other elements with `eq'. | 3507 | that is, floats are compared by value and other elements with `eq'. |
| 3495 | 3508 | ||
| 3509 | *** New functions `string-or-null-p' and `booleanp'. | ||
| 3510 | |||
| 3511 | `string-or-null-p' returns non-nil iff OBJECT is a string or nil. | ||
| 3512 | `booleanp' returns non-nil iff OBJECT is t or nil. | ||
| 3513 | |||
| 3496 | *** `makehash' is now obsolete. Use `make-hash-table' instead. | 3514 | *** `makehash' is now obsolete. Use `make-hash-table' instead. |
| 3497 | 3515 | ||
| 3516 | *** Minor change in the function `format'. | ||
| 3517 | |||
| 3518 | Some flags that were accepted but not implemented (such as "*") are no | ||
| 3519 | longer accepted. | ||
| 3520 | |||
| 3498 | *** `add-to-list' takes an optional third argument, APPEND. | 3521 | *** `add-to-list' takes an optional third argument, APPEND. |
| 3499 | 3522 | ||
| 3500 | If APPEND is non-nil, the new element gets added at the end of the | 3523 | If APPEND is non-nil, the new element gets added at the end of the |
| @@ -3504,6 +3527,14 @@ Emacs 21.1, but was not documented then. | |||
| 3504 | *** New function `add-to-ordered-list' is like `add-to-list' but | 3527 | *** New function `add-to-ordered-list' is like `add-to-list' but |
| 3505 | associates a numeric ordering of each element added to the list. | 3528 | associates a numeric ordering of each element added to the list. |
| 3506 | 3529 | ||
| 3530 | *** New function `add-to-history' adds an element to a history list. | ||
| 3531 | |||
| 3532 | Lisp packages should use this function to add elements to their | ||
| 3533 | history lists. | ||
| 3534 | |||
| 3535 | If `history-delete-duplicates' is non-nil, it removes duplicates of | ||
| 3536 | the new element from the history list it updates. | ||
| 3537 | |||
| 3507 | *** New function `copy-tree' makes a copy of a tree. | 3538 | *** New function `copy-tree' makes a copy of a tree. |
| 3508 | 3539 | ||
| 3509 | It recursively copies through both CARs and CDRs. | 3540 | It recursively copies through both CARs and CDRs. |
| @@ -3514,35 +3545,11 @@ It modifies the list destructively, like `delete'. Of several `equal' | |||
| 3514 | occurrences of an element in the list, the one that's kept is the | 3545 | occurrences of an element in the list, the one that's kept is the |
| 3515 | first one. | 3546 | first one. |
| 3516 | 3547 | ||
| 3517 | *** New function `add-to-history' adds an element to a history list. | ||
| 3518 | |||
| 3519 | Lisp packages should use this function to add elements to their | ||
| 3520 | history lists. | ||
| 3521 | |||
| 3522 | If `history-delete-duplicates' is non-nil, it removes duplicates of | ||
| 3523 | the new element from the history list it updates. | ||
| 3524 | |||
| 3525 | *** New function `rassq-delete-all'. | 3548 | *** New function `rassq-delete-all'. |
| 3526 | 3549 | ||
| 3527 | (rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose | 3550 | (rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose |
| 3528 | CDR is `eq' to the specified value. | 3551 | CDR is `eq' to the specified value. |
| 3529 | 3552 | ||
| 3530 | *** The function `number-sequence' makes a list of equally-separated numbers. | ||
| 3531 | |||
| 3532 | For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By | ||
| 3533 | default, the separation is 1, but you can specify a different | ||
| 3534 | separation as the third argument. (number-sequence 1.5 6 2) returns | ||
| 3535 | (1.5 3.5 5.5). | ||
| 3536 | |||
| 3537 | *** New variables `most-positive-fixnum' and `most-negative-fixnum'. | ||
| 3538 | |||
| 3539 | They hold the largest and smallest possible integer values. | ||
| 3540 | |||
| 3541 | *** Minor change in the function `format'. | ||
| 3542 | |||
| 3543 | Some flags that were accepted but not implemented (such as "*") are no | ||
| 3544 | longer accepted. | ||
| 3545 | |||
| 3546 | *** Functions `get' and `plist-get' no longer give errors for bad plists. | 3553 | *** Functions `get' and `plist-get' no longer give errors for bad plists. |
| 3547 | 3554 | ||
| 3548 | They return nil for a malformed property list or if the list is | 3555 | They return nil for a malformed property list or if the list is |
| @@ -3553,20 +3560,20 @@ cyclic. | |||
| 3553 | They are like `plist-get' and `plist-put', except that they compare | 3560 | They are like `plist-get' and `plist-put', except that they compare |
| 3554 | the property name using `equal' rather than `eq'. | 3561 | the property name using `equal' rather than `eq'. |
| 3555 | 3562 | ||
| 3556 | *** New variable `print-continuous-numbering'. | 3563 | *** The function `number-sequence' makes a list of equally-separated numbers. |
| 3557 | 3564 | ||
| 3558 | When this is non-nil, successive calls to print functions use a single | 3565 | For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By |
| 3559 | numbering scheme for circular structure references. This is only | 3566 | default, the separation is 1, but you can specify a different |
| 3560 | relevant when `print-circle' is non-nil. | 3567 | separation as the third argument. (number-sequence 1.5 6 2) returns |
| 3568 | (1.5 3.5 5.5). | ||
| 3561 | 3569 | ||
| 3562 | When you bind `print-continuous-numbering' to t, you should | 3570 | *** New variables `most-positive-fixnum' and `most-negative-fixnum'. |
| 3563 | also bind `print-number-table' to nil. | ||
| 3564 | 3571 | ||
| 3565 | *** New function `macroexpand-all' expands all macros in a form. | 3572 | They hold the largest and smallest possible integer values. |
| 3566 | 3573 | ||
| 3567 | It is similar to the Common-Lisp function of the same name. | 3574 | *** The function `expt' handles negative exponents differently. |
| 3568 | One difference is that it guarantees to return the original argument | 3575 | The value for `(expt A B)', if both A and B are integers and B is |
| 3569 | if no expansion is done, which can be tested using `eq'. | 3576 | negative, is now a float. For example: (expt 2 -2) => 0.25. |
| 3570 | 3577 | ||
| 3571 | *** The function `atan' now accepts an optional second argument. | 3578 | *** The function `atan' now accepts an optional second argument. |
| 3572 | 3579 | ||
| @@ -3574,12 +3581,10 @@ When called with 2 arguments, as in `(atan Y X)', `atan' returns the | |||
| 3574 | angle in radians between the vector [X, Y] and the X axis. (This is | 3581 | angle in radians between the vector [X, Y] and the X axis. (This is |
| 3575 | equivalent to the standard C library function `atan2'.) | 3582 | equivalent to the standard C library function `atan2'.) |
| 3576 | 3583 | ||
| 3577 | *** A function or macro's doc string can now specify the calling pattern. | 3584 | *** New macro `with-case-table' |
| 3578 | 3585 | ||
| 3579 | You put this info in the doc string's last line. It should be | 3586 | This executes the body with the case table temporarily set to a given |
| 3580 | formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't | 3587 | case table. |
| 3581 | specify this explicitly, Emacs determines it from the actual argument | ||
| 3582 | names. Usually that default is right, but not always. | ||
| 3583 | 3588 | ||
| 3584 | *** New macro `with-local-quit' temporarily allows quitting. | 3589 | *** New macro `with-local-quit' temporarily allows quitting. |
| 3585 | 3590 | ||
| @@ -3594,31 +3599,37 @@ inside timer functions and `post-command-hook' functions. | |||
| 3594 | 3599 | ||
| 3595 | This combines `defalias' and `make-obsolete'. | 3600 | This combines `defalias' and `make-obsolete'. |
| 3596 | 3601 | ||
| 3597 | *** New macro `with-case-table' | ||
| 3598 | |||
| 3599 | This executes the body with the case table temporarily set to a given | ||
| 3600 | case table. | ||
| 3601 | |||
| 3602 | *** New function `unsafep' determines whether a Lisp form is safe. | ||
| 3603 | |||
| 3604 | It returns nil if the given Lisp form can't possibly do anything | ||
| 3605 | dangerous; otherwise it returns a reason why the form might be unsafe | ||
| 3606 | (calls unknown function, alters global variable, etc.). | ||
| 3607 | |||
| 3608 | *** New macro `eval-at-startup' specifies expressions to | 3602 | *** New macro `eval-at-startup' specifies expressions to |
| 3609 | evaluate when Emacs starts up. If this is done after startup, | 3603 | evaluate when Emacs starts up. If this is done after startup, |
| 3610 | it evaluates those expressions immediately. | 3604 | it evaluates those expressions immediately. |
| 3611 | 3605 | ||
| 3612 | This is useful in packages that can be preloaded. | 3606 | This is useful in packages that can be preloaded. |
| 3613 | 3607 | ||
| 3614 | *** `list-faces-display' takes an optional argument, REGEXP. | 3608 | *** New function `macroexpand-all' expands all macros in a form. |
| 3615 | 3609 | ||
| 3616 | If it is non-nil, the function lists only faces matching this regexp. | 3610 | It is similar to the Common-Lisp function of the same name. |
| 3611 | One difference is that it guarantees to return the original argument | ||
| 3612 | if no expansion is done, which can be tested using `eq'. | ||
| 3617 | 3613 | ||
| 3618 | *** New functions `string-or-null-p' and `booleanp'. | 3614 | *** A function or macro's doc string can now specify the calling pattern. |
| 3619 | 3615 | ||
| 3620 | `string-or-null-p' returns non-nil iff OBJECT is a string or nil. | 3616 | You put this info in the doc string's last line. It should be |
| 3621 | `booleanp' returns non-nil iff OBJECT is t or nil. | 3617 | formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't |
| 3618 | specify this explicitly, Emacs determines it from the actual argument | ||
| 3619 | names. Usually that default is right, but not always. | ||
| 3620 | |||
| 3621 | *** New variable `print-continuous-numbering'. | ||
| 3622 | |||
| 3623 | When this is non-nil, successive calls to print functions use a single | ||
| 3624 | numbering scheme for circular structure references. This is only | ||
| 3625 | relevant when `print-circle' is non-nil. | ||
| 3626 | |||
| 3627 | When you bind `print-continuous-numbering' to t, you should | ||
| 3628 | also bind `print-number-table' to nil. | ||
| 3629 | |||
| 3630 | *** `list-faces-display' takes an optional argument, REGEXP. | ||
| 3631 | |||
| 3632 | If it is non-nil, the function lists only faces matching this regexp. | ||
| 3622 | 3633 | ||
| 3623 | *** New hook `command-error-function'. | 3634 | *** New hook `command-error-function'. |
| 3624 | 3635 | ||
| @@ -3670,6 +3681,9 @@ changes the value of BASE-VAR. | |||
| 3670 | DOCSTRING, if present, is the documentation for ALIAS-VAR; else it has | 3681 | DOCSTRING, if present, is the documentation for ALIAS-VAR; else it has |
| 3671 | the same documentation as BASE-VAR. | 3682 | the same documentation as BASE-VAR. |
| 3672 | 3683 | ||
| 3684 | *** The macro `define-obsolete-variable-alias' combines `defvaralias' and | ||
| 3685 | `make-obsolete-variable'. | ||
| 3686 | |||
| 3673 | *** New function: indirect-variable VARIABLE | 3687 | *** New function: indirect-variable VARIABLE |
| 3674 | 3688 | ||
| 3675 | This function returns the variable at the end of the chain of aliases | 3689 | This function returns the variable at the end of the chain of aliases |
| @@ -3679,9 +3693,6 @@ defined as an alias, the function returns VARIABLE. | |||
| 3679 | It might be noteworthy that variables aliases work for all kinds of | 3693 | It might be noteworthy that variables aliases work for all kinds of |
| 3680 | variables, including buffer-local and frame-local variables. | 3694 | variables, including buffer-local and frame-local variables. |
| 3681 | 3695 | ||
| 3682 | *** The macro `define-obsolete-variable-alias' combines `defvaralias' and | ||
| 3683 | `make-obsolete-variable'. | ||
| 3684 | |||
| 3685 | ** defcustom changes: | 3696 | ** defcustom changes: |
| 3686 | 3697 | ||
| 3687 | *** The package-version keyword has been added to provide | 3698 | *** The package-version keyword has been added to provide |
| @@ -3697,22 +3708,22 @@ variable `customize-package-emacs-version-alist'. | |||
| 3697 | 3708 | ||
| 3698 | *** An octal escape in a string constant forces the string to be unibyte. | 3709 | *** An octal escape in a string constant forces the string to be unibyte. |
| 3699 | 3710 | ||
| 3711 | *** New function `string-to-multibyte' converts a unibyte string to a | ||
| 3712 | multibyte string with the same individual character codes. | ||
| 3713 | |||
| 3700 | *** `split-string' now includes null substrings in the returned list if | 3714 | *** `split-string' now includes null substrings in the returned list if |
| 3701 | the optional argument SEPARATORS is non-nil and there are matches for | 3715 | the optional argument SEPARATORS is non-nil and there are matches for |
| 3702 | SEPARATORS at the beginning or end of the string. If SEPARATORS is | 3716 | SEPARATORS at the beginning or end of the string. If SEPARATORS is |
| 3703 | nil, or if the new optional third argument OMIT-NULLS is non-nil, all | 3717 | nil, or if the new optional third argument OMIT-NULLS is non-nil, all |
| 3704 | empty matches are omitted from the returned list. | 3718 | empty matches are omitted from the returned list. |
| 3705 | 3719 | ||
| 3706 | *** New function `string-to-multibyte' converts a unibyte string to a | ||
| 3707 | multibyte string with the same individual character codes. | ||
| 3708 | |||
| 3709 | *** New function `substring-no-properties' returns a substring without | ||
| 3710 | text properties. | ||
| 3711 | |||
| 3712 | *** The new function `assoc-string' replaces `assoc-ignore-case' and | 3720 | *** The new function `assoc-string' replaces `assoc-ignore-case' and |
| 3713 | `assoc-ignore-representation', which are still available, but have | 3721 | `assoc-ignore-representation', which are still available, but have |
| 3714 | been declared obsolete. | 3722 | been declared obsolete. |
| 3715 | 3723 | ||
| 3724 | *** New function `substring-no-properties' returns a substring without | ||
| 3725 | text properties. | ||
| 3726 | |||
| 3716 | ** Displaying warnings to the user. | 3727 | ** Displaying warnings to the user. |
| 3717 | 3728 | ||
| 3718 | See the functions `warn' and `display-warning', or the Lisp Manual. | 3729 | See the functions `warn' and `display-warning', or the Lisp Manual. |
| @@ -3749,32 +3760,32 @@ It defaults to 1. | |||
| 3749 | 3760 | ||
| 3750 | It defaults to 1. | 3761 | It defaults to 1. |
| 3751 | 3762 | ||
| 3752 | *** New function `mouse-on-link-p' tests if a position is in a clickable link. | 3763 | *** `field-beginning' and `field-end' take new optional argument, LIMIT. |
| 3753 | 3764 | ||
| 3754 | This is the function used by the new `mouse-1-click-follows-link' | 3765 | This argument tells them not to search beyond LIMIT. Instead they |
| 3755 | functionality. | 3766 | give up and return LIMIT. |
| 3767 | |||
| 3768 | *** New function `window-line-height' is an efficient way to get | ||
| 3769 | information about a specific text line in a window provided that the | ||
| 3770 | window's display is up-to-date. | ||
| 3756 | 3771 | ||
| 3757 | *** New function `line-number-at-pos' returns the line number of a position. | 3772 | *** New function `line-number-at-pos' returns the line number of a position. |
| 3758 | 3773 | ||
| 3759 | It an optional buffer position argument that defaults to point. | 3774 | It an optional buffer position argument that defaults to point. |
| 3760 | 3775 | ||
| 3761 | *** `field-beginning' and `field-end' take new optional argument, LIMIT. | ||
| 3762 | |||
| 3763 | This argument tells them not to search beyond LIMIT. Instead they | ||
| 3764 | give up and return LIMIT. | ||
| 3765 | |||
| 3766 | *** Function `pos-visible-in-window-p' now returns the pixel coordinates | 3776 | *** Function `pos-visible-in-window-p' now returns the pixel coordinates |
| 3767 | and partial visibility state of the corresponding row, if the PARTIALLY | 3777 | and partial visibility state of the corresponding row, if the PARTIALLY |
| 3768 | arg is non-nil. | 3778 | arg is non-nil. |
| 3769 | 3779 | ||
| 3770 | *** New function `window-line-height' is an efficient way to get | ||
| 3771 | information about a specific text line in a window provided that the | ||
| 3772 | window's display is up-to-date. | ||
| 3773 | |||
| 3774 | *** New functions `posn-at-point' and `posn-at-x-y' return | 3780 | *** New functions `posn-at-point' and `posn-at-x-y' return |
| 3775 | click-event-style position information for a given visible buffer | 3781 | click-event-style position information for a given visible buffer |
| 3776 | position or for a given window pixel coordinate. | 3782 | position or for a given window pixel coordinate. |
| 3777 | 3783 | ||
| 3784 | *** New function `mouse-on-link-p' tests if a position is in a clickable link. | ||
| 3785 | |||
| 3786 | This is the function used by the new `mouse-1-click-follows-link' | ||
| 3787 | functionality. | ||
| 3788 | |||
| 3778 | ** Text modification: | 3789 | ** Text modification: |
| 3779 | 3790 | ||
| 3780 | *** The new function `buffer-chars-modified-tick' returns a buffer's | 3791 | *** The new function `buffer-chars-modified-tick' returns a buffer's |
| @@ -3886,17 +3897,17 @@ finished. | |||
| 3886 | 3897 | ||
| 3887 | ** Buffer-related changes: | 3898 | ** Buffer-related changes: |
| 3888 | 3899 | ||
| 3900 | *** The new function `buffer-local-value' returns the buffer-local | ||
| 3901 | binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not | ||
| 3902 | have a buffer-local binding in buffer BUFFER, it returns the default | ||
| 3903 | value of VARIABLE instead. | ||
| 3904 | |||
| 3889 | *** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. | 3905 | *** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. |
| 3890 | 3906 | ||
| 3891 | If it is non-nil, it specifies which buffers to list. | 3907 | If it is non-nil, it specifies which buffers to list. |
| 3892 | 3908 | ||
| 3893 | *** `kill-buffer-hook' is now a permanent local. | 3909 | *** `kill-buffer-hook' is now a permanent local. |
| 3894 | 3910 | ||
| 3895 | *** The new function `buffer-local-value' returns the buffer-local | ||
| 3896 | binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not | ||
| 3897 | have a buffer-local binding in buffer BUFFER, it returns the default | ||
| 3898 | value of VARIABLE instead. | ||
| 3899 | |||
| 3900 | *** The function `frame-or-buffer-changed-p' now lets you maintain | 3911 | *** The function `frame-or-buffer-changed-p' now lets you maintain |
| 3901 | various status records in parallel. | 3912 | various status records in parallel. |
| 3902 | 3913 | ||
| @@ -3941,8 +3952,6 @@ These match the beginning and end of a symbol. A symbol is a | |||
| 3941 | non-empty sequence of either word or symbol constituent characters, as | 3952 | non-empty sequence of either word or symbol constituent characters, as |
| 3942 | specified by the syntax table. | 3953 | specified by the syntax table. |
| 3943 | 3954 | ||
| 3944 | *** rx.el has new corresponding `symbol-start' and `symbol-end' elements. | ||
| 3945 | |||
| 3946 | *** `skip-chars-forward' and `skip-chars-backward' now handle | 3955 | *** `skip-chars-forward' and `skip-chars-backward' now handle |
| 3947 | character classes such as `[:alpha:]', along with individual | 3956 | character classes such as `[:alpha:]', along with individual |
| 3948 | characters and ranges. | 3957 | characters and ranges. |
| @@ -3958,6 +3967,8 @@ accepts such a list for restoring the match state. | |||
| 3958 | argument `reseat'. When non-nil, all markers in the match data list | 3967 | argument `reseat'. When non-nil, all markers in the match data list |
| 3959 | passed to these functions will be reseated to point to nowhere. | 3968 | passed to these functions will be reseated to point to nowhere. |
| 3960 | 3969 | ||
| 3970 | *** rx.el has new corresponding `symbol-start' and `symbol-end' elements. | ||
| 3971 | |||
| 3961 | *** The default value of `sentence-end' is now defined using the new | 3972 | *** The default value of `sentence-end' is now defined using the new |
| 3962 | variable `sentence-end-without-space', which contains such characters | 3973 | variable `sentence-end-without-space', which contains such characters |
| 3963 | that end a sentence without following spaces. | 3974 | that end a sentence without following spaces. |
| @@ -3984,7 +3995,9 @@ range BEG...END and increased the buffer size by DELTA. | |||
| 3984 | `undo-outer-limit', garbage collection empties it. This is to prevent | 3995 | `undo-outer-limit', garbage collection empties it. This is to prevent |
| 3985 | it from using up the available memory and choking Emacs. | 3996 | it from using up the available memory and choking Emacs. |
| 3986 | 3997 | ||
| 3987 | ** New `yank-handler' text property can be used to control how | 3998 | ** Killing and yanking changes: |
| 3999 | |||
| 4000 | *** New `yank-handler' text property can be used to control how | ||
| 3988 | previously killed text on the kill ring is reinserted. | 4001 | previously killed text on the kill ring is reinserted. |
| 3989 | 4002 | ||
| 3990 | The value of the `yank-handler' property must be a list with one to four | 4003 | The value of the `yank-handler' property must be a list with one to four |
| @@ -4028,7 +4041,8 @@ string. The old behavior is available if you call | |||
| 4028 | 4041 | ||
| 4029 | ** Syntax table changes: | 4042 | ** Syntax table changes: |
| 4030 | 4043 | ||
| 4031 | *** The macro `with-syntax-table' no longer copies the syntax table. | 4044 | *** The new function `syntax-ppss' provides an efficient way to find the |
| 4045 | current syntactic context at point. | ||
| 4032 | 4046 | ||
| 4033 | *** The new function `syntax-after' returns the syntax code | 4047 | *** The new function `syntax-after' returns the syntax code |
| 4034 | of the character after a specified buffer position, taking account | 4048 | of the character after a specified buffer position, taking account |
| @@ -4037,58 +4051,53 @@ of text properties as well as the character code. | |||
| 4037 | *** `syntax-class' extracts the class of a syntax code (as returned | 4051 | *** `syntax-class' extracts the class of a syntax code (as returned |
| 4038 | by `syntax-after'). | 4052 | by `syntax-after'). |
| 4039 | 4053 | ||
| 4040 | *** The new function `syntax-ppss' provides an efficient way to find the | 4054 | *** The macro `with-syntax-table' no longer copies the syntax table. |
| 4041 | current syntactic context at point. | ||
| 4042 | 4055 | ||
| 4043 | ** File operation changes: | 4056 | ** File operation changes: |
| 4044 | 4057 | ||
| 4045 | *** New vars `exec-suffixes' and `load-suffixes' used when | 4058 | *** New vars `exec-suffixes' and `load-suffixes' used when |
| 4046 | searching for an executable or an Emacs Lisp file. | 4059 | searching for an executable or an Emacs Lisp file. |
| 4047 | 4060 | ||
| 4048 | *** The new primitive `set-file-times' sets a file's access and | 4061 | *** New function `locate-file' searches for a file in a list of directories. |
| 4049 | modification times. Magic file name handlers can handle this | 4062 | `locate-file' accepts a name of a file to search (a string), and two |
| 4050 | operation. | 4063 | lists: a list of directories to search in and a list of suffixes to |
| 4064 | try; typical usage might use `exec-path' and `load-path' for the list | ||
| 4065 | of directories, and `exec-suffixes' and `load-suffixes' for the list | ||
| 4066 | of suffixes. The function also accepts a predicate argument to | ||
| 4067 | further filter candidate files. | ||
| 4068 | |||
| 4069 | One advantage of using this function is that the list of suffixes in | ||
| 4070 | `exec-suffixes' is OS-dependant, so this function will find | ||
| 4071 | executables without polluting Lisp code with OS dependencies. | ||
| 4051 | 4072 | ||
| 4052 | *** The new function `file-remote-p' tests a file name and returns | 4073 | *** The new function `file-remote-p' tests a file name and returns |
| 4053 | non-nil if it specifies a remote file (one that Emacs accesses using | 4074 | non-nil if it specifies a remote file (one that Emacs accesses using |
| 4054 | its own special methods and not directly through the file system). | 4075 | its own special methods and not directly through the file system). |
| 4055 | The value in that case is an identifier for the remote file system. | 4076 | The value in that case is an identifier for the remote file system. |
| 4056 | 4077 | ||
| 4057 | *** `buffer-auto-save-file-format' is the new name for what was | 4078 | *** The new hook `before-save-hook' is invoked by `basic-save-buffer' |
| 4058 | formerly called `auto-save-file-format'. It is now a permanent local. | 4079 | before saving buffers. This allows packages to perform various final |
| 4059 | 4080 | tasks. For example, it can be used by the copyright package to make | |
| 4060 | *** Functions `file-name-sans-extension' and `file-name-extension' now | 4081 | sure saved files have the current year in any copyright headers. |
| 4061 | ignore the leading dots in file names, so that file names such as | ||
| 4062 | `.emacs' are treated as extensionless. | ||
| 4063 | |||
| 4064 | *** `visited-file-modtime' and `calendar-time-from-absolute' now return | ||
| 4065 | a list of two integers, instead of a cons. | ||
| 4066 | 4082 | ||
| 4067 | *** `file-chase-links' now takes an optional second argument LIMIT which | 4083 | *** `file-chase-links' now takes an optional second argument LIMIT which |
| 4068 | specifies the maximum number of links to chase through. If after that | 4084 | specifies the maximum number of links to chase through. If after that |
| 4069 | many iterations the file name obtained is still a symbolic link, | 4085 | many iterations the file name obtained is still a symbolic link, |
| 4070 | `file-chase-links' returns it anyway. | 4086 | `file-chase-links' returns it anyway. |
| 4071 | 4087 | ||
| 4072 | *** The new hook `before-save-hook' is invoked by `basic-save-buffer' | 4088 | *** Functions `file-name-sans-extension' and `file-name-extension' now |
| 4073 | before saving buffers. This allows packages to perform various final | 4089 | ignore the leading dots in file names, so that file names such as |
| 4074 | tasks. For example, it can be used by the copyright package to make | 4090 | `.emacs' are treated as extensionless. |
| 4075 | sure saved files have the current year in any copyright headers. | ||
| 4076 | 4091 | ||
| 4077 | *** If `buffer-save-without-query' is non-nil in some buffer, | 4092 | *** If `buffer-save-without-query' is non-nil in some buffer, |
| 4078 | `save-some-buffers' will always save that buffer without asking (if | 4093 | `save-some-buffers' will always save that buffer without asking (if |
| 4079 | it's modified). | 4094 | it's modified). |
| 4080 | 4095 | ||
| 4081 | *** New function `locate-file' searches for a file in a list of directories. | 4096 | *** `buffer-auto-save-file-format' is the new name for what was |
| 4082 | `locate-file' accepts a name of a file to search (a string), and two | 4097 | formerly called `auto-save-file-format'. It is now a permanent local. |
| 4083 | lists: a list of directories to search in and a list of suffixes to | ||
| 4084 | try; typical usage might use `exec-path' and `load-path' for the list | ||
| 4085 | of directories, and `exec-suffixes' and `load-suffixes' for the list | ||
| 4086 | of suffixes. The function also accepts a predicate argument to | ||
| 4087 | further filter candidate files. | ||
| 4088 | 4098 | ||
| 4089 | One advantage of using this function is that the list of suffixes in | 4099 | *** `visited-file-modtime' and `calendar-time-from-absolute' now return |
| 4090 | `exec-suffixes' is OS-dependant, so this function will find | 4100 | a list of two integers, instead of a cons. |
| 4091 | executables without polluting Lisp code with OS dependencies. | ||
| 4092 | 4101 | ||
| 4093 | *** The precedence of file name handlers has been changed. | 4102 | *** The precedence of file name handlers has been changed. |
| 4094 | 4103 | ||
| @@ -4114,8 +4123,16 @@ name handlers. This will be exploited for remote files mainly. | |||
| 4114 | *** The function `file-name-completion' accepts an optional argument | 4123 | *** The function `file-name-completion' accepts an optional argument |
| 4115 | PREDICATE, and rejects completion candidates that don't satisfy PREDICATE. | 4124 | PREDICATE, and rejects completion candidates that don't satisfy PREDICATE. |
| 4116 | 4125 | ||
| 4126 | *** The new primitive `set-file-times' sets a file's access and | ||
| 4127 | modification times. Magic file name handlers can handle this | ||
| 4128 | operation. | ||
| 4129 | |||
| 4117 | ** Input changes: | 4130 | ** Input changes: |
| 4118 | 4131 | ||
| 4132 | *** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that | ||
| 4133 | display a prompt but don't use the minibuffer, now display the prompt | ||
| 4134 | using the text properties (esp. the face) of the prompt string. | ||
| 4135 | |||
| 4119 | *** The functions `read-event', `read-char', and `read-char-exclusive' | 4136 | *** The functions `read-event', `read-char', and `read-char-exclusive' |
| 4120 | have a new optional argument SECONDS. If non-nil, this specifies a | 4137 | have a new optional argument SECONDS. If non-nil, this specifies a |
| 4121 | maximum time to wait for input, in seconds. If no input arrives after | 4138 | maximum time to wait for input, in seconds. If no input arrives after |
| @@ -4129,10 +4146,6 @@ previous `k' or `K' argument was a down-event; otherwise nil is used. | |||
| 4129 | much like `F', but if the input is a directory name (even defaulted), | 4146 | much like `F', but if the input is a directory name (even defaulted), |
| 4130 | it returns just the directory name. | 4147 | it returns just the directory name. |
| 4131 | 4148 | ||
| 4132 | *** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that | ||
| 4133 | display a prompt but don't use the minibuffer, now display the prompt | ||
| 4134 | using the text properties (esp. the face) of the prompt string. | ||
| 4135 | |||
| 4136 | *** (while-no-input BODY...) runs BODY, but only so long as no input | 4149 | *** (while-no-input BODY...) runs BODY, but only so long as no input |
| 4137 | arrives. If the user types or clicks anything, BODY stops as if a | 4150 | arrives. If the user types or clicks anything, BODY stops as if a |
| 4138 | quit had occurred. `while-no-input' returns the value of BODY, if BODY | 4151 | quit had occurred. `while-no-input' returns the value of BODY, if BODY |
| @@ -4209,16 +4222,20 @@ If completion is requested in the minibuffer, FUN will be called in the buffer | |||
| 4209 | from which the minibuffer was entered. The return value of | 4222 | from which the minibuffer was entered. The return value of |
| 4210 | `lazy-completion-table' must be used to initialize the value of VAR. | 4223 | `lazy-completion-table' must be used to initialize the value of VAR. |
| 4211 | 4224 | ||
| 4212 | ** Enhancements to keymaps. | 4225 | ** Abbrev changes: |
| 4213 | 4226 | ||
| 4214 | *** New keymaps for typing file names | 4227 | *** `define-abbrev' now accepts an optional argument SYSTEM-FLAG. |
| 4215 | 4228 | ||
| 4216 | Two new keymaps, `minibuffer-local-filename-completion-map' and | 4229 | If non-nil, this marks the abbrev as a "system" abbrev, which means |
| 4217 | `minibuffer-local-must-match-filename-map', apply whenever | 4230 | that it won't be stored in the user's abbrevs file if he saves the |
| 4218 | Emacs reads a file name in the minibuffer. These key maps override | 4231 | abbrevs. Major modes that predefine some abbrevs should always |
| 4219 | the usual binding of SPC to `minibuffer-complete-word' (so that file | 4232 | specify this flag. |
| 4220 | names with embedded spaces could be typed without the need to quote | 4233 | |
| 4221 | the spaces). | 4234 | *** The new function `copy-abbrev-table' copies an abbrev table. |
| 4235 | |||
| 4236 | It returns a new abbrev table that is a copy of a given abbrev table. | ||
| 4237 | |||
| 4238 | ** Enhancements to keymaps. | ||
| 4222 | 4239 | ||
| 4223 | *** Cleaner way to enter key sequences. | 4240 | *** Cleaner way to enter key sequences. |
| 4224 | 4241 | ||
| @@ -4285,6 +4302,26 @@ The following changes have been made to provide command remapping: | |||
| 4285 | command before remapping. It is equal to `this-command' when the | 4302 | command before remapping. It is equal to `this-command' when the |
| 4286 | command was not remapped. | 4303 | command was not remapped. |
| 4287 | 4304 | ||
| 4305 | *** The definition of a key-binding passed to define-key can use XEmacs-style | ||
| 4306 | key-sequences, such as [(control a)]. | ||
| 4307 | |||
| 4308 | *** New keymaps for typing file names | ||
| 4309 | |||
| 4310 | Two new keymaps, `minibuffer-local-filename-completion-map' and | ||
| 4311 | `minibuffer-local-must-match-filename-map', apply whenever | ||
| 4312 | Emacs reads a file name in the minibuffer. These key maps override | ||
| 4313 | the usual binding of SPC to `minibuffer-complete-word' (so that file | ||
| 4314 | names with embedded spaces could be typed without the need to quote | ||
| 4315 | the spaces). | ||
| 4316 | |||
| 4317 | *** New function `current-active-maps' returns a list of currently | ||
| 4318 | active keymaps. | ||
| 4319 | |||
| 4320 | *** New function `describe-buffer-bindings' inserts the list of all | ||
| 4321 | defined keys and their definitions. | ||
| 4322 | |||
| 4323 | *** New function `keymap-prompt' returns the prompt string of a keymap. | ||
| 4324 | |||
| 4288 | *** If text has a `keymap' property, that keymap takes precedence | 4325 | *** If text has a `keymap' property, that keymap takes precedence |
| 4289 | over minor mode keymaps. | 4326 | over minor mode keymaps. |
| 4290 | 4327 | ||
| @@ -4298,21 +4335,8 @@ sequence is started with a mouse event. Instead of letting the click | |||
| 4298 | position be determined from the key sequence itself, it is also | 4335 | position be determined from the key sequence itself, it is also |
| 4299 | possible to specify it with an optional argument explicitly. | 4336 | possible to specify it with an optional argument explicitly. |
| 4300 | 4337 | ||
| 4301 | *** Dense keymaps now handle inheritance correctly. | ||
| 4302 | |||
| 4303 | Previously a dense keymap would hide all of the simple-char key | ||
| 4304 | bindings of the parent keymap. | ||
| 4305 | |||
| 4306 | *** `define-key-after' now accepts keys longer than 1. | 4338 | *** `define-key-after' now accepts keys longer than 1. |
| 4307 | 4339 | ||
| 4308 | *** New function `current-active-maps' returns a list of currently | ||
| 4309 | active keymaps. | ||
| 4310 | |||
| 4311 | *** New function `describe-buffer-bindings' inserts the list of all | ||
| 4312 | defined keys and their definitions. | ||
| 4313 | |||
| 4314 | *** New function `keymap-prompt' returns the prompt string of a keymap. | ||
| 4315 | |||
| 4316 | *** (map-keymap FUNCTION KEYMAP) applies the function to each binding | 4340 | *** (map-keymap FUNCTION KEYMAP) applies the function to each binding |
| 4317 | in the keymap. | 4341 | in the keymap. |
| 4318 | 4342 | ||
| @@ -4322,23 +4346,30 @@ Lisp packages using many minor mode keymaps can now maintain their own | |||
| 4322 | keymap alist separate from `minor-mode-map-alist' by adding their | 4346 | keymap alist separate from `minor-mode-map-alist' by adding their |
| 4323 | keymap alist to this list. | 4347 | keymap alist to this list. |
| 4324 | 4348 | ||
| 4325 | *** The definition of a key-binding passed to define-key can use XEmacs-style | 4349 | *** Dense keymaps now handle inheritance correctly. |
| 4326 | key-sequences, such as [(control a)]. | ||
| 4327 | 4350 | ||
| 4328 | ** Abbrev changes: | 4351 | Previously a dense keymap would hide all of the simple-char key |
| 4352 | bindings of the parent keymap. | ||
| 4329 | 4353 | ||
| 4330 | *** The new function `copy-abbrev-table' copies an abbrev table. | 4354 | ** Enhancements to process support |
| 4331 | 4355 | ||
| 4332 | It returns a new abbrev table that is a copy of a given abbrev table. | 4356 | *** Adaptive read buffering of subprocess output. |
| 4333 | 4357 | ||
| 4334 | *** `define-abbrev' now accepts an optional argument SYSTEM-FLAG. | 4358 | On some systems, when Emacs reads the output from a subprocess, the |
| 4359 | output data is read in very small blocks, potentially resulting in | ||
| 4360 | very poor performance. This behavior can be remedied to some extent | ||
| 4361 | by setting the new variable `process-adaptive-read-buffering' to a | ||
| 4362 | non-nil value (the default), as it will automatically delay reading | ||
| 4363 | from such processes, allowing them to produce more output before | ||
| 4364 | Emacs tries to read it. | ||
| 4335 | 4365 | ||
| 4336 | If non-nil, this marks the abbrev as a "system" abbrev, which means | 4366 | *** Processes now have an associated property list where programs can |
| 4337 | that it won't be stored in the user's abbrevs file if he saves the | 4367 | maintain process state and other per-process related information. |
| 4338 | abbrevs. Major modes that predefine some abbrevs should always | ||
| 4339 | specify this flag. | ||
| 4340 | 4368 | ||
| 4341 | ** Enhancements to process support | 4369 | Use the new functions `process-get' and `process-put' to access, add, |
| 4370 | and modify elements on this property list. Use the new functions | ||
| 4371 | `process-plist' and `set-process-plist' to access and replace the | ||
| 4372 | entire property list of a process. | ||
| 4342 | 4373 | ||
| 4343 | *** Function `list-processes' now has an optional argument; if non-nil, | 4374 | *** Function `list-processes' now has an optional argument; if non-nil, |
| 4344 | it lists only the processes whose query-on-exit flag is set. | 4375 | it lists only the processes whose query-on-exit flag is set. |
| @@ -4349,16 +4380,16 @@ These replace the old function `process-kill-without-query'. That | |||
| 4349 | function is still supported, but new code should use the new | 4380 | function is still supported, but new code should use the new |
| 4350 | functions. | 4381 | functions. |
| 4351 | 4382 | ||
| 4352 | *** Function `signal-process' now accepts a process object or process | 4383 | *** The new function `call-process-shell-command'. |
| 4353 | name in addition to a process id to identify the signaled process. | ||
| 4354 | 4384 | ||
| 4355 | *** Processes now have an associated property list where programs can | 4385 | This executes a shell command synchronously in a separate process. |
| 4356 | maintain process state and other per-process related information. | ||
| 4357 | 4386 | ||
| 4358 | Use the new functions `process-get' and `process-put' to access, add, | 4387 | *** The new function `process-file' is similar to `call-process', but |
| 4359 | and modify elements on this property list. Use the new functions | 4388 | obeys file handlers. The file handler is chosen based on |
| 4360 | `process-plist' and `set-process-plist' to access and replace the | 4389 | `default-directory'. |
| 4361 | entire property list of a process. | 4390 | |
| 4391 | *** Function `signal-process' now accepts a process object or process | ||
| 4392 | name in addition to a process id to identify the signaled process. | ||
| 4362 | 4393 | ||
| 4363 | *** Function `accept-process-output' has a new optional fourth arg | 4394 | *** Function `accept-process-output' has a new optional fourth arg |
| 4364 | JUST-THIS-ONE. If non-nil, only output from the specified process | 4395 | JUST-THIS-ONE. If non-nil, only output from the specified process |
| @@ -4367,24 +4398,6 @@ integer, also inhibit running timers. This feature is generally not | |||
| 4367 | recommended, but may be necessary for specific applications, such as | 4398 | recommended, but may be necessary for specific applications, such as |
| 4368 | speech synthesis. | 4399 | speech synthesis. |
| 4369 | 4400 | ||
| 4370 | *** Adaptive read buffering of subprocess output. | ||
| 4371 | |||
| 4372 | On some systems, when Emacs reads the output from a subprocess, the | ||
| 4373 | output data is read in very small blocks, potentially resulting in | ||
| 4374 | very poor performance. This behavior can be remedied to some extent | ||
| 4375 | by setting the new variable `process-adaptive-read-buffering' to a | ||
| 4376 | non-nil value (the default), as it will automatically delay reading | ||
| 4377 | from such processes, allowing them to produce more output before | ||
| 4378 | Emacs tries to read it. | ||
| 4379 | |||
| 4380 | *** The new function `call-process-shell-command'. | ||
| 4381 | |||
| 4382 | This executes a shell command synchronously in a separate process. | ||
| 4383 | |||
| 4384 | *** The new function `process-file' is similar to `call-process', but | ||
| 4385 | obeys file handlers. The file handler is chosen based on | ||
| 4386 | `default-directory'. | ||
| 4387 | |||
| 4388 | *** A process filter function gets the output as multibyte string | 4401 | *** A process filter function gets the output as multibyte string |
| 4389 | if the process specifies t for its filter's multibyteness. | 4402 | if the process specifies t for its filter's multibyteness. |
| 4390 | 4403 | ||
| @@ -4427,19 +4440,6 @@ To test for the availability of a given feature, use featurep like this: | |||
| 4427 | 4440 | ||
| 4428 | *** The old `open-network-stream' now uses `make-network-process'. | 4441 | *** The old `open-network-stream' now uses `make-network-process'. |
| 4429 | 4442 | ||
| 4430 | *** New functions `process-datagram-address', `set-process-datagram-address'. | ||
| 4431 | |||
| 4432 | These functions are used with datagram-based network processes to get | ||
| 4433 | and set the current address of the remote partner. | ||
| 4434 | |||
| 4435 | *** New function `format-network-address'. | ||
| 4436 | |||
| 4437 | This function reformats the Lisp representation of a network address | ||
| 4438 | to a printable string. For example, an IP address A.B.C.D and port | ||
| 4439 | number P is represented as a five element vector [A B C D P], and the | ||
| 4440 | printable string returned for this vector is "A.B.C.D:P". See the doc | ||
| 4441 | string for other formatting options. | ||
| 4442 | |||
| 4443 | *** `process-contact' has an optional KEY argument. | 4443 | *** `process-contact' has an optional KEY argument. |
| 4444 | 4444 | ||
| 4445 | Depending on this argument, you can get the complete list of network | 4445 | Depending on this argument, you can get the complete list of network |
| @@ -4456,6 +4456,14 @@ connection. For a server process, no connections are accepted in the | |||
| 4456 | stopped state. For a client process, no input is received in the | 4456 | stopped state. For a client process, no input is received in the |
| 4457 | stopped state. | 4457 | stopped state. |
| 4458 | 4458 | ||
| 4459 | *** New function `format-network-address'. | ||
| 4460 | |||
| 4461 | This function reformats the Lisp representation of a network address | ||
| 4462 | to a printable string. For example, an IP address A.B.C.D and port | ||
| 4463 | number P is represented as a five element vector [A B C D P], and the | ||
| 4464 | printable string returned for this vector is "A.B.C.D:P". See the doc | ||
| 4465 | string for other formatting options. | ||
| 4466 | |||
| 4459 | *** New function `network-interface-list'. | 4467 | *** New function `network-interface-list'. |
| 4460 | 4468 | ||
| 4461 | This function returns a list of network interface names and their | 4469 | This function returns a list of network interface names and their |
| @@ -4466,6 +4474,11 @@ current network addresses. | |||
| 4466 | This function returns the network address, hardware address, current | 4474 | This function returns the network address, hardware address, current |
| 4467 | status, and other information about a specific network interface. | 4475 | status, and other information about a specific network interface. |
| 4468 | 4476 | ||
| 4477 | *** New functions `process-datagram-address', `set-process-datagram-address'. | ||
| 4478 | |||
| 4479 | These functions are used with datagram-based network processes to get | ||
| 4480 | and set the current address of the remote partner. | ||
| 4481 | |||
| 4469 | *** Deleting a network process with `delete-process' calls the sentinel. | 4482 | *** Deleting a network process with `delete-process' calls the sentinel. |
| 4470 | 4483 | ||
| 4471 | The status message passed to the sentinel for a deleted network | 4484 | The status message passed to the sentinel for a deleted network |
| @@ -4475,11 +4488,6 @@ connection is closed by the remote peer has been changed to | |||
| 4475 | 4488 | ||
| 4476 | ** Using window objects: | 4489 | ** Using window objects: |
| 4477 | 4490 | ||
| 4478 | *** New function `window-body-height'. | ||
| 4479 | |||
| 4480 | This is like `window-height' but does not count the mode line or the | ||
| 4481 | header line. | ||
| 4482 | |||
| 4483 | *** You can now make a window as short as one line. | 4491 | *** You can now make a window as short as one line. |
| 4484 | 4492 | ||
| 4485 | A window that is just one line tall does not display either a mode | 4493 | A window that is just one line tall does not display either a mode |
| @@ -4496,6 +4504,14 @@ the mode line. | |||
| 4496 | *** The new functions `window-pixel-edges' and `window-inside-pixel-edges' | 4504 | *** The new functions `window-pixel-edges' and `window-inside-pixel-edges' |
| 4497 | return window edges in units of pixels, rather than columns and lines. | 4505 | return window edges in units of pixels, rather than columns and lines. |
| 4498 | 4506 | ||
| 4507 | *** New function `window-body-height'. | ||
| 4508 | |||
| 4509 | This is like `window-height' but does not count the mode line or the | ||
| 4510 | header line. | ||
| 4511 | |||
| 4512 | *** The new function `adjust-window-trailing-edge' moves the right | ||
| 4513 | or bottom edge of a window. It does not move other window edges. | ||
| 4514 | |||
| 4499 | *** The new macro `with-selected-window' temporarily switches the | 4515 | *** The new macro `with-selected-window' temporarily switches the |
| 4500 | selected window without impacting the order of `buffer-list'. | 4516 | selected window without impacting the order of `buffer-list'. |
| 4501 | It saves and restores the current buffer, too. | 4517 | It saves and restores the current buffer, too. |
| @@ -4520,11 +4536,18 @@ and scroll-bar settings. | |||
| 4520 | argument `dedicated'. If non-nil, those functions do not ignore | 4536 | argument `dedicated'. If non-nil, those functions do not ignore |
| 4521 | dedicated windows. | 4537 | dedicated windows. |
| 4522 | 4538 | ||
| 4523 | *** The new function `adjust-window-trailing-edge' moves the right | ||
| 4524 | or bottom edge of a window. It does not move other window edges. | ||
| 4525 | |||
| 4526 | ** Customizable fringe bitmaps | 4539 | ** Customizable fringe bitmaps |
| 4527 | 4540 | ||
| 4541 | *** There are new display properties, `left-fringe' and `right-fringe', | ||
| 4542 | that can be used to show a specific bitmap in the left or right fringe | ||
| 4543 | bitmap of the display line. | ||
| 4544 | |||
| 4545 | Format is `display (left-fringe BITMAP [FACE])', where BITMAP is a | ||
| 4546 | symbol identifying a fringe bitmap, either built-in or defined with | ||
| 4547 | `define-fringe-bitmap', and FACE is an optional face name to be used | ||
| 4548 | for displaying the bitmap instead of the default `fringe' face. | ||
| 4549 | When specified, FACE is automatically merged with the `fringe' face. | ||
| 4550 | |||
| 4528 | *** New buffer-local variables `fringe-indicator-alist' and | 4551 | *** New buffer-local variables `fringe-indicator-alist' and |
| 4529 | `fringe-cursor-alist' maps between logical (internal) fringe indicator | 4552 | `fringe-cursor-alist' maps between logical (internal) fringe indicator |
| 4530 | and cursor symbols and the actual fringe bitmaps to be displayed. | 4553 | and cursor symbols and the actual fringe bitmaps to be displayed. |
| @@ -4543,16 +4566,6 @@ used for a specific fringe bitmap. The face is automatically merged | |||
| 4543 | with the `fringe' face, so normally, the face should only specify the | 4566 | with the `fringe' face, so normally, the face should only specify the |
| 4544 | foreground color of the bitmap. | 4567 | foreground color of the bitmap. |
| 4545 | 4568 | ||
| 4546 | *** There are new display properties, `left-fringe' and `right-fringe', | ||
| 4547 | that can be used to show a specific bitmap in the left or right fringe | ||
| 4548 | bitmap of the display line. | ||
| 4549 | |||
| 4550 | Format is `display (left-fringe BITMAP [FACE])', where BITMAP is a | ||
| 4551 | symbol identifying a fringe bitmap, either built-in or defined with | ||
| 4552 | `define-fringe-bitmap', and FACE is an optional face name to be used | ||
| 4553 | for displaying the bitmap instead of the default `fringe' face. | ||
| 4554 | When specified, FACE is automatically merged with the `fringe' face. | ||
| 4555 | |||
| 4556 | *** New function `fringe-bitmaps-at-pos' returns the current fringe | 4569 | *** New function `fringe-bitmaps-at-pos' returns the current fringe |
| 4557 | bitmaps in the display line at a given buffer position. | 4570 | bitmaps in the display line at a given buffer position. |
| 4558 | 4571 | ||
| @@ -4825,26 +4838,16 @@ controlled/overridden via the `pointer' text property. | |||
| 4825 | 4838 | ||
| 4826 | ** Mouse event enhancements: | 4839 | ** Mouse event enhancements: |
| 4827 | 4840 | ||
| 4828 | *** Mouse events for clicks on window fringes now specify `left-fringe' | ||
| 4829 | or `right-fringe' as the area. | ||
| 4830 | |||
| 4831 | *** All mouse events now include a buffer position regardless of where | 4841 | *** All mouse events now include a buffer position regardless of where |
| 4832 | you clicked. For mouse clicks in window margins and fringes, this is | 4842 | you clicked. For mouse clicks in window margins and fringes, this is |
| 4833 | a sensible buffer position corresponding to the surrounding text. | 4843 | a sensible buffer position corresponding to the surrounding text. |
| 4834 | 4844 | ||
| 4835 | *** `posn-point' now returns buffer position for non-text area events. | 4845 | *** Mouse events for clicks on window fringes now specify `left-fringe' |
| 4836 | 4846 | or `right-fringe' as the area. | |
| 4837 | *** Function `mouse-set-point' now works for events outside text area. | ||
| 4838 | |||
| 4839 | *** New function `posn-area' returns window area clicked on (nil means | ||
| 4840 | text area). | ||
| 4841 | 4847 | ||
| 4842 | *** Mouse events include actual glyph column and row for all event types | 4848 | *** Mouse events include actual glyph column and row for all event types |
| 4843 | and all areas. | 4849 | and all areas. |
| 4844 | 4850 | ||
| 4845 | *** New function `posn-actual-col-row' returns the actual glyph coordinates | ||
| 4846 | of the mouse event position. | ||
| 4847 | |||
| 4848 | *** Mouse events can now indicate an image object clicked on. | 4851 | *** Mouse events can now indicate an image object clicked on. |
| 4849 | 4852 | ||
| 4850 | *** Mouse events include relative X and Y pixel coordinates relative to | 4853 | *** Mouse events include relative X and Y pixel coordinates relative to |
| @@ -4853,6 +4856,16 @@ the top left corner of the object (image or character) clicked on. | |||
| 4853 | *** Mouse events include the pixel width and height of the object | 4856 | *** Mouse events include the pixel width and height of the object |
| 4854 | (image or character) clicked on. | 4857 | (image or character) clicked on. |
| 4855 | 4858 | ||
| 4859 | *** Function `mouse-set-point' now works for events outside text area. | ||
| 4860 | |||
| 4861 | *** `posn-point' now returns buffer position for non-text area events. | ||
| 4862 | |||
| 4863 | *** New function `posn-area' returns window area clicked on (nil means | ||
| 4864 | text area). | ||
| 4865 | |||
| 4866 | *** New function `posn-actual-col-row' returns the actual glyph coordinates | ||
| 4867 | of the mouse event position. | ||
| 4868 | |||
| 4856 | *** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'. | 4869 | *** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'. |
| 4857 | 4870 | ||
| 4858 | These return the image or string object of a mouse click, the X and Y | 4871 | These return the image or string object of a mouse click, the X and Y |
| @@ -4914,12 +4927,6 @@ directly in the `face' property instead of using a named face. | |||
| 4914 | defaults that apply to all the subsequent cases (and can be overridden | 4927 | defaults that apply to all the subsequent cases (and can be overridden |
| 4915 | by them). | 4928 | by them). |
| 4916 | 4929 | ||
| 4917 | *** The variable `face-font-rescale-alist' specifies how much larger | ||
| 4918 | (or smaller) font we should use. For instance, if the value is | ||
| 4919 | '((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10 | ||
| 4920 | point, we actually use a font of 13 point if the font matches | ||
| 4921 | SOME-FONTNAME-PATTERN. | ||
| 4922 | |||
| 4923 | *** The function `face-differs-from-default-p' now truly checks | 4930 | *** The function `face-differs-from-default-p' now truly checks |
| 4924 | whether the given face displays differently from the default face or | 4931 | whether the given face displays differently from the default face or |
| 4925 | not (previously it did only a very cursory check). | 4932 | not (previously it did only a very cursory check). |
| @@ -4941,6 +4948,12 @@ releases of Emacs, the order was the opposite. This change was made | |||
| 4941 | so that :inherit face lists operate identically to face lists in text | 4948 | so that :inherit face lists operate identically to face lists in text |
| 4942 | `face' properties. | 4949 | `face' properties. |
| 4943 | 4950 | ||
| 4951 | *** The variable `face-font-rescale-alist' specifies how much larger | ||
| 4952 | (or smaller) font we should use. For instance, if the value is | ||
| 4953 | '((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10 | ||
| 4954 | point, we actually use a font of 13 point if the font matches | ||
| 4955 | SOME-FONTNAME-PATTERN. | ||
| 4956 | |||
| 4944 | *** On terminals, faces with the :inverse-video attribute are displayed | 4957 | *** On terminals, faces with the :inverse-video attribute are displayed |
| 4945 | with swapped foreground and background colors even when one of them is | 4958 | with swapped foreground and background colors even when one of them is |
| 4946 | not specified. In previous releases of Emacs, if either foreground | 4959 | not specified. In previous releases of Emacs, if either foreground |
| @@ -4994,6 +5007,15 @@ of multiline constructs so that such constructs get properly recognized. | |||
| 4994 | 5007 | ||
| 4995 | ** Major mode mechanism changes: | 5008 | ** Major mode mechanism changes: |
| 4996 | 5009 | ||
| 5010 | *** New variable `magic-mode-alist' determines major mode for a file by | ||
| 5011 | looking at the file contents. It takes precedence over `auto-mode-alist'. | ||
| 5012 | |||
| 5013 | *** XML or SGML major mode is selected when file starts with an `<?xml' | ||
| 5014 | or `<!DOCTYPE' declaration. | ||
| 5015 | |||
| 5016 | *** An interpreter magic line (if present) takes precedence over the | ||
| 5017 | file name when setting the major mode. | ||
| 5018 | |||
| 4997 | *** If new variable `auto-mode-case-fold' is set to a non-nil value, | 5019 | *** If new variable `auto-mode-case-fold' is set to a non-nil value, |
| 4998 | Emacs will perform a second case-insensitive search through | 5020 | Emacs will perform a second case-insensitive search through |
| 4999 | `auto-mode-alist' if the first case-sensitive search fails. This | 5021 | `auto-mode-alist' if the first case-sensitive search fails. This |
| @@ -5002,48 +5024,39 @@ PROG.HTML is opened in html-mode. Note however, that independent of | |||
| 5002 | this setting, *.C files are usually recognized as C++ files. It also | 5024 | this setting, *.C files are usually recognized as C++ files. It also |
| 5003 | has no effect on systems with case-insensitive file names. | 5025 | has no effect on systems with case-insensitive file names. |
| 5004 | 5026 | ||
| 5005 | *** New variable `magic-mode-alist' determines major mode for a file by | ||
| 5006 | looking at the file contents. It takes precedence over `auto-mode-alist'. | ||
| 5007 | |||
| 5008 | *** An interpreter magic line (if present) takes precedence over the | ||
| 5009 | file name when setting the major mode. | ||
| 5010 | |||
| 5011 | *** XML or SGML major mode is selected when file starts with an `<?xml' | ||
| 5012 | or `<!DOCTYPE' declaration. | ||
| 5013 | |||
| 5014 | *** Use the new function `run-mode-hooks' to run the major mode's mode hook. | ||
| 5015 | |||
| 5016 | *** All major mode functions should now run the new normal hook | 5027 | *** All major mode functions should now run the new normal hook |
| 5017 | `after-change-major-mode-hook', at their very end, after the mode | 5028 | `after-change-major-mode-hook', at their very end, after the mode |
| 5018 | hooks. `run-mode-hooks' does this automatically. | 5029 | hooks. `run-mode-hooks' does this automatically. |
| 5019 | 5030 | ||
| 5020 | *** If a major mode function has a non-nil `no-clone-indirect' | ||
| 5021 | property, `clone-indirect-buffer' signals an error if you use | ||
| 5022 | it in that buffer. | ||
| 5023 | |||
| 5024 | *** Major modes can define `eldoc-documentation-function' | 5031 | *** Major modes can define `eldoc-documentation-function' |
| 5025 | locally to provide Eldoc functionality by some method appropriate to | 5032 | locally to provide Eldoc functionality by some method appropriate to |
| 5026 | the language. | 5033 | the language. |
| 5027 | 5034 | ||
| 5028 | *** `define-derived-mode' by default creates a new empty abbrev table. | 5035 | *** Use the new function `run-mode-hooks' to run the major mode's mode hook. |
| 5029 | It does not copy abbrevs from the parent mode's abbrev table. | ||
| 5030 | 5036 | ||
| 5031 | *** The new function `run-mode-hooks' and the new macro `delay-mode-hooks' | 5037 | *** The new function `run-mode-hooks' and the new macro `delay-mode-hooks' |
| 5032 | are used by `define-derived-mode' to make sure the mode hook for the | 5038 | are used by `define-derived-mode' to make sure the mode hook for the |
| 5033 | parent mode is run at the end of the child mode. | 5039 | parent mode is run at the end of the child mode. |
| 5034 | 5040 | ||
| 5041 | *** `define-derived-mode' by default creates a new empty abbrev table. | ||
| 5042 | It does not copy abbrevs from the parent mode's abbrev table. | ||
| 5043 | |||
| 5044 | *** If a major mode function has a non-nil `no-clone-indirect' | ||
| 5045 | property, `clone-indirect-buffer' signals an error if you use | ||
| 5046 | it in that buffer. | ||
| 5047 | |||
| 5035 | ** Minor mode changes: | 5048 | ** Minor mode changes: |
| 5036 | 5049 | ||
| 5037 | *** `define-minor-mode' now accepts arbitrary additional keyword arguments | 5050 | *** `define-minor-mode' now accepts arbitrary additional keyword arguments |
| 5038 | and simply passes them to `defcustom', if applicable. | 5051 | and simply passes them to `defcustom', if applicable. |
| 5039 | 5052 | ||
| 5040 | *** `minor-mode-list' now holds a list of minor mode commands. | ||
| 5041 | |||
| 5042 | *** `define-globalized-minor-mode'. | 5053 | *** `define-globalized-minor-mode'. |
| 5043 | 5054 | ||
| 5044 | This is a new name for what was formerly called | 5055 | This is a new name for what was formerly called |
| 5045 | `easy-mmode-define-global-mode'. The old name remains as an alias. | 5056 | `easy-mmode-define-global-mode'. The old name remains as an alias. |
| 5046 | 5057 | ||
| 5058 | *** `minor-mode-list' now holds a list of minor mode commands. | ||
| 5059 | |||
| 5047 | ** Command loop changes: | 5060 | ** Command loop changes: |
| 5048 | 5061 | ||
| 5049 | *** The new function `called-interactively-p' does what many people | 5062 | *** The new function `called-interactively-p' does what many people |
| @@ -5162,6 +5175,41 @@ Reference manual for more detailed documentation. | |||
| 5162 | *** When using non-toolkit scroll bars with the default width, | 5175 | *** When using non-toolkit scroll bars with the default width, |
| 5163 | the `scroll-bar-width' frame parameter value is nil. | 5176 | the `scroll-bar-width' frame parameter value is nil. |
| 5164 | 5177 | ||
| 5178 | ** Mode line changes: | ||
| 5179 | |||
| 5180 | *** New function `format-mode-line'. | ||
| 5181 | |||
| 5182 | This returns the mode line or header line of the selected (or a | ||
| 5183 | specified) window as a string with or without text properties. | ||
| 5184 | |||
| 5185 | *** The new mode-line construct `(:propertize ELT PROPS...)' can be | ||
| 5186 | used to add text properties to mode-line elements. | ||
| 5187 | |||
| 5188 | *** The new `%i' and `%I' constructs for `mode-line-format' can be used | ||
| 5189 | to display the size of the accessible part of the buffer on the mode | ||
| 5190 | line. | ||
| 5191 | |||
| 5192 | *** Mouse-face on mode-line (and header-line) is now supported. | ||
| 5193 | |||
| 5194 | ** Menu manipulation changes: | ||
| 5195 | |||
| 5196 | *** To manipulate the File menu using easy-menu, you must specify the | ||
| 5197 | proper name "file". In previous Emacs versions, you had to specify | ||
| 5198 | "files", even though the menu item itself was changed to say "File" | ||
| 5199 | several versions ago. | ||
| 5200 | |||
| 5201 | *** The dummy function keys made by easy-menu are now always lower case. | ||
| 5202 | If you specify the menu item name "Ada", for instance, it uses `ada' | ||
| 5203 | as the "key" bound by that key binding. | ||
| 5204 | |||
| 5205 | This is relevant only if Lisp code looks for the bindings that were | ||
| 5206 | made with easy-menu. | ||
| 5207 | |||
| 5208 | *** `easy-menu-define' now allows you to use nil for the symbol name | ||
| 5209 | if you don't need to give the menu a name. If you install the menu | ||
| 5210 | into other keymaps right away (MAPS is non-nil), it usually doesn't | ||
| 5211 | need to have a name. | ||
| 5212 | |||
| 5165 | ** Mule changes: | 5213 | ** Mule changes: |
| 5166 | 5214 | ||
| 5167 | *** Already true in Emacs 21.1, but not emphasized clearly enough: | 5215 | *** Already true in Emacs 21.1, but not emphasized clearly enough: |
| @@ -5179,9 +5227,6 @@ the time it takes to convert the format. | |||
| 5179 | 3. For binary files where format conversion would be pointless and | 5227 | 3. For binary files where format conversion would be pointless and |
| 5180 | wasteful. | 5228 | wasteful. |
| 5181 | 5229 | ||
| 5182 | *** `set-buffer-file-coding-system' now takes an additional argument, | ||
| 5183 | NOMODIFY. If it is non-nil, it means don't mark the buffer modified. | ||
| 5184 | |||
| 5185 | *** The new variable `auto-coding-functions' lets you specify functions | 5230 | *** The new variable `auto-coding-functions' lets you specify functions |
| 5186 | to examine a file being visited and deduce the proper coding system | 5231 | to examine a file being visited and deduce the proper coding system |
| 5187 | for it. (If the coding system is detected incorrectly for a specific | 5232 | for it. (If the coding system is detected incorrectly for a specific |
| @@ -5208,40 +5253,8 @@ hash tables defined by the Lisp function `define-translation-hash-table'. | |||
| 5208 | *** New function `quail-find-key' returns a list of keys to type in the | 5253 | *** New function `quail-find-key' returns a list of keys to type in the |
| 5209 | current input method to input a character. | 5254 | current input method to input a character. |
| 5210 | 5255 | ||
| 5211 | ** Mode line changes: | 5256 | *** `set-buffer-file-coding-system' now takes an additional argument, |
| 5212 | 5257 | NOMODIFY. If it is non-nil, it means don't mark the buffer modified. | |
| 5213 | *** New function `format-mode-line'. | ||
| 5214 | |||
| 5215 | This returns the mode line or header line of the selected (or a | ||
| 5216 | specified) window as a string with or without text properties. | ||
| 5217 | |||
| 5218 | *** The new mode-line construct `(:propertize ELT PROPS...)' can be | ||
| 5219 | used to add text properties to mode-line elements. | ||
| 5220 | |||
| 5221 | *** The new `%i' and `%I' constructs for `mode-line-format' can be used | ||
| 5222 | to display the size of the accessible part of the buffer on the mode | ||
| 5223 | line. | ||
| 5224 | |||
| 5225 | *** Mouse-face on mode-line (and header-line) is now supported. | ||
| 5226 | |||
| 5227 | ** Menu manipulation changes: | ||
| 5228 | |||
| 5229 | *** To manipulate the File menu using easy-menu, you must specify the | ||
| 5230 | proper name "file". In previous Emacs versions, you had to specify | ||
| 5231 | "files", even though the menu item itself was changed to say "File" | ||
| 5232 | several versions ago. | ||
| 5233 | |||
| 5234 | *** The dummy function keys made by easy-menu are now always lower case. | ||
| 5235 | If you specify the menu item name "Ada", for instance, it uses `ada' | ||
| 5236 | as the "key" bound by that key binding. | ||
| 5237 | |||
| 5238 | This is relevant only if Lisp code looks for the bindings that were | ||
| 5239 | made with easy-menu. | ||
| 5240 | |||
| 5241 | *** `easy-menu-define' now allows you to use nil for the symbol name | ||
| 5242 | if you don't need to give the menu a name. If you install the menu | ||
| 5243 | into other keymaps right away (MAPS is non-nil), it usually doesn't | ||
| 5244 | need to have a name. | ||
| 5245 | 5258 | ||
| 5246 | ** Operating system access: | 5259 | ** Operating system access: |
| 5247 | 5260 | ||
| @@ -5261,6 +5274,18 @@ formerly used for that purpose is now an alias for locale-coding-system. | |||
| 5261 | *** New function `redirect-debugging-output' can be used to redirect | 5274 | *** New function `redirect-debugging-output' can be used to redirect |
| 5262 | debugging output on the stderr file handle to a file. | 5275 | debugging output on the stderr file handle to a file. |
| 5263 | 5276 | ||
| 5277 | ** GC changes: | ||
| 5278 | |||
| 5279 | *** New variable `gc-cons-percentage' automatically grows the GC cons threshold | ||
| 5280 | as the heap size increases. | ||
| 5281 | |||
| 5282 | *** New variables `gc-elapsed' and `gcs-done' provide extra information | ||
| 5283 | on garbage collection. | ||
| 5284 | |||
| 5285 | *** The normal hook `post-gc-hook' is run at the end of garbage collection. | ||
| 5286 | |||
| 5287 | The hook is run with GC inhibited, so use it with care. | ||
| 5288 | |||
| 5264 | ** Miscellaneous: | 5289 | ** Miscellaneous: |
| 5265 | 5290 | ||
| 5266 | *** A number of hooks have been renamed to better follow the conventions: | 5291 | *** A number of hooks have been renamed to better follow the conventions: |
| @@ -5281,18 +5306,6 @@ Use the LOCAL arg of `add-hook'. | |||
| 5281 | 5306 | ||
| 5282 | *** New function `x-send-client-message' sends a client message when | 5307 | *** New function `x-send-client-message' sends a client message when |
| 5283 | running under X. | 5308 | running under X. |
| 5284 | |||
| 5285 | ** GC changes: | ||
| 5286 | |||
| 5287 | *** New variable `gc-cons-percentage' automatically grows the GC cons threshold | ||
| 5288 | as the heap size increases. | ||
| 5289 | |||
| 5290 | *** New variables `gc-elapsed' and `gcs-done' provide extra information | ||
| 5291 | on garbage collection. | ||
| 5292 | |||
| 5293 | *** The normal hook `post-gc-hook' is run at the end of garbage collection. | ||
| 5294 | |||
| 5295 | The hook is run with GC inhibited, so use it with care. | ||
| 5296 | 5309 | ||
| 5297 | * New Packages for Lisp Programming in Emacs 22.1 | 5310 | * New Packages for Lisp Programming in Emacs 22.1 |
| 5298 | 5311 | ||