diff options
| author | Gerd Moellmann | 2001-01-31 15:19:32 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-01-31 15:19:32 +0000 |
| commit | 2eba3201c78d2058c45f93ed1e64bb66a79f0379 (patch) | |
| tree | 3a64230a2ed69ffd75ee77a3636a033d326023cc | |
| parent | 60dc655805a9dc6b926f5a7fa81d1e28dcd4e55c (diff) | |
| download | emacs-2eba3201c78d2058c45f93ed1e64bb66a79f0379.tar.gz emacs-2eba3201c78d2058c45f93ed1e64bb66a79f0379.zip | |
Move 19.x news from NEWS here.
| -rw-r--r-- | etc/ONEWS | 779 |
1 files changed, 777 insertions, 2 deletions
| @@ -1,9 +1,784 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 1992. | 1 | GNU Emacs NEWS -- history of user-visible changes. 1992. |
| 2 | Copyright (C) 1995 Free Software Foundation, Inc. | 2 | Copyright (C) 1995, 2001 Free Software Foundation, Inc. |
| 3 | See the end for copying conditions. | 3 | See the end for copying conditions. |
| 4 | 4 | ||
| 5 | For older news, see the file ONEWS.4. | 5 | For older news, see the file ONEWS.4. |
| 6 | 6 | ||
| 7 | * Emacs 19.34 is a bug-fix release with no user-visible changes. | ||
| 8 | |||
| 9 | * Changes in Emacs 19.33. | ||
| 10 | |||
| 11 | ** Bibtex mode no longer turns on Auto Fill automatically. (No major | ||
| 12 | mode should do that--it is the user's choice.) | ||
| 13 | |||
| 14 | ** The variable normal-auto-fill-function specifies the function to | ||
| 15 | use for auto-fill-function, if and when Auto Fill is turned on. | ||
| 16 | Major modes can set this locally to alter how Auto Fill works. | ||
| 17 | |||
| 18 | * Editing Changes in Emacs 19.32 | ||
| 19 | |||
| 20 | ** C-x f with no argument now signals an error. | ||
| 21 | To set the fill column at the current column, use C-u C-x f. | ||
| 22 | |||
| 23 | ** Expanding dynamic abbrevs with M-/ is now smarter about case | ||
| 24 | conversion. If you type the abbreviation with mixed case, and it | ||
| 25 | matches the beginning of the expansion including case, then the | ||
| 26 | expansion is copied verbatim. Using SPC M-/ to copy an additional | ||
| 27 | word always copies it verbatim except when the previous copied word is | ||
| 28 | all caps. | ||
| 29 | |||
| 30 | ** On a non-windowing terminal, which can display only one Emacs frame | ||
| 31 | at a time, creating a new frame with C-x 5 2 also selects that frame. | ||
| 32 | |||
| 33 | When using a display that can show multiple frames at once, C-x 5 2 | ||
| 34 | does make the frame visible, but does not select it. This is the same | ||
| 35 | as in previous Emacs versions. | ||
| 36 | |||
| 37 | ** You can use C-x 5 2 to create multiple frames on MSDOS, just as on a | ||
| 38 | non-X terminal on Unix. Of course, only one frame is visible at any | ||
| 39 | time, since your terminal doesn't have the ability to display multiple | ||
| 40 | frames. | ||
| 41 | |||
| 42 | ** On Windows, set win32-pass-alt-to-system to a non-nil value | ||
| 43 | if you would like tapping the Alt key to invoke the Windows menu. | ||
| 44 | This feature is not enabled by default; since the Alt key is also the | ||
| 45 | Meta key, it is too easy and painful to activate this feature by | ||
| 46 | accident. | ||
| 47 | |||
| 48 | ** The command apply-macro-to-region-lines repeats the last defined | ||
| 49 | keyboard macro once for each complete line within the current region. | ||
| 50 | It does this line by line, by moving point to the beginning of that | ||
| 51 | line and then executing the macro. | ||
| 52 | |||
| 53 | This command is not new, but was never documented before. | ||
| 54 | |||
| 55 | ** You can now use Mouse-1 to place the region around a string constant | ||
| 56 | (something surrounded by doublequote characters or other delimiter | ||
| 57 | characters of like syntax) by double-clicking on one of the delimiting | ||
| 58 | characters. | ||
| 59 | |||
| 60 | ** Font Lock mode | ||
| 61 | |||
| 62 | *** Font Lock support modes | ||
| 63 | |||
| 64 | Font Lock can be configured to use Fast Lock mode and Lazy Lock mode (see | ||
| 65 | below) in a flexible way. Rather than adding the appropriate function to the | ||
| 66 | hook font-lock-mode-hook, you can use the new variable font-lock-support-mode | ||
| 67 | to control which modes have Fast Lock mode or Lazy Lock mode turned on when | ||
| 68 | Font Lock mode is enabled. | ||
| 69 | |||
| 70 | For example, to use Fast Lock mode when Font Lock mode is turned on, put: | ||
| 71 | |||
| 72 | (setq font-lock-support-mode 'fast-lock-mode) | ||
| 73 | |||
| 74 | in your ~/.emacs. | ||
| 75 | |||
| 76 | *** lazy-lock | ||
| 77 | |||
| 78 | The lazy-lock package speeds up Font Lock mode by making fontification occur | ||
| 79 | only when necessary, such as when a previously unfontified part of the buffer | ||
| 80 | becomes visible in a window. When you create a buffer with Font Lock mode and | ||
| 81 | Lazy Lock mode turned on, the buffer is not fontified. When certain events | ||
| 82 | occur (such as scrolling), Lazy Lock makes sure that the visible parts of the | ||
| 83 | buffer are fontified. Lazy Lock also defers on-the-fly fontification until | ||
| 84 | Emacs has been idle for a given amount of time. | ||
| 85 | |||
| 86 | To use this package, put in your ~/.emacs: | ||
| 87 | |||
| 88 | (setq font-lock-support-mode 'lazy-lock-mode) | ||
| 89 | |||
| 90 | To control the package behaviour, see the documentation for `lazy-lock-mode'. | ||
| 91 | |||
| 92 | ** Changes in BibTeX mode. | ||
| 93 | |||
| 94 | *** For all entries allow spaces and tabs between opening brace or | ||
| 95 | paren and key. | ||
| 96 | |||
| 97 | *** Non-escaped double-quoted characters (as in `Sch"of') are now | ||
| 98 | supported. | ||
| 99 | |||
| 100 | ** Gnus changes. | ||
| 101 | |||
| 102 | Gnus, the Emacs news reader, has undergone further rewriting. Many new | ||
| 103 | commands and variables have been added. There should be no | ||
| 104 | significant incompatibilities between this Gnus version and the | ||
| 105 | previously released version, except in the message composition area. | ||
| 106 | |||
| 107 | Below is a list of the more user-visible changes. Coding changes | ||
| 108 | between Gnus 5.1 and 5.2 are more extensive. | ||
| 109 | |||
| 110 | *** A new message composition mode is used. All old customization | ||
| 111 | variables for mail-mode, rnews-reply-mode and gnus-msg are now | ||
| 112 | obsolete. | ||
| 113 | |||
| 114 | *** Gnus is now able to generate "sparse" threads -- threads where | ||
| 115 | missing articles are represented by empty nodes. | ||
| 116 | |||
| 117 | (setq gnus-build-sparse-threads 'some) | ||
| 118 | |||
| 119 | *** Outgoing articles are stored on a special archive server. | ||
| 120 | |||
| 121 | To disable this: (setq gnus-message-archive-group nil) | ||
| 122 | |||
| 123 | *** Partial thread regeneration now happens when articles are | ||
| 124 | referred. | ||
| 125 | |||
| 126 | *** Gnus can make use of GroupLens predictions: | ||
| 127 | |||
| 128 | (setq gnus-use-grouplens t) | ||
| 129 | |||
| 130 | *** A trn-line tree buffer can be displayed. | ||
| 131 | |||
| 132 | (setq gnus-use-trees t) | ||
| 133 | |||
| 134 | *** An nn-like pick-and-read minor mode is available for the summary | ||
| 135 | buffers. | ||
| 136 | |||
| 137 | (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode) | ||
| 138 | |||
| 139 | *** In binary groups you can use a special binary minor mode: | ||
| 140 | |||
| 141 | `M-x gnus-binary-mode' | ||
| 142 | |||
| 143 | *** Groups can be grouped in a folding topic hierarchy. | ||
| 144 | |||
| 145 | (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) | ||
| 146 | |||
| 147 | *** Gnus can re-send and bounce mail. | ||
| 148 | |||
| 149 | Use the `S D r' and `S D b'. | ||
| 150 | |||
| 151 | *** Groups can now have a score, and bubbling based on entry frequency | ||
| 152 | is possible. | ||
| 153 | |||
| 154 | (add-hook 'gnus-summary-exit-hook 'gnus-summary-bubble-group) | ||
| 155 | |||
| 156 | *** Groups can be process-marked, and commands can be performed on | ||
| 157 | groups of groups. | ||
| 158 | |||
| 159 | *** Caching is possible in virtual groups. | ||
| 160 | |||
| 161 | *** nndoc now understands all kinds of digests, mail boxes, rnews news | ||
| 162 | batches, ClariNet briefs collections, and just about everything else. | ||
| 163 | |||
| 164 | *** Gnus has a new backend (nnsoup) to create/read SOUP packets. | ||
| 165 | |||
| 166 | *** The Gnus cache is much faster. | ||
| 167 | |||
| 168 | *** Groups can be sorted according to many criteria. | ||
| 169 | |||
| 170 | For instance: (setq gnus-group-sort-function 'gnus-group-sort-by-rank) | ||
| 171 | |||
| 172 | *** New group parameters have been introduced to set list-address and | ||
| 173 | expiration times. | ||
| 174 | |||
| 175 | *** All formatting specs allow specifying faces to be used. | ||
| 176 | |||
| 177 | *** There are several more commands for setting/removing/acting on | ||
| 178 | process marked articles on the `M P' submap. | ||
| 179 | |||
| 180 | *** The summary buffer can be limited to show parts of the available | ||
| 181 | articles based on a wide range of criteria. These commands have been | ||
| 182 | bound to keys on the `/' submap. | ||
| 183 | |||
| 184 | *** Articles can be made persistent -- as an alternative to saving | ||
| 185 | articles with the `*' command. | ||
| 186 | |||
| 187 | *** All functions for hiding article elements are now toggles. | ||
| 188 | |||
| 189 | *** Article headers can be buttonized. | ||
| 190 | |||
| 191 | (add-hook 'gnus-article-display-hook 'gnus-article-add-buttons-to-head) | ||
| 192 | |||
| 193 | *** All mail backends support fetching articles by Message-ID. | ||
| 194 | |||
| 195 | *** Duplicate mail can now be treated properly. See the | ||
| 196 | `nnmail-treat-duplicates' variable. | ||
| 197 | |||
| 198 | *** All summary mode commands are available directly from the article | ||
| 199 | buffer. | ||
| 200 | |||
| 201 | *** Frames can be part of `gnus-buffer-configuration'. | ||
| 202 | |||
| 203 | *** Mail can be re-scanned by a daemonic process. | ||
| 204 | |||
| 205 | *** Gnus can make use of NoCeM files to filter spam. | ||
| 206 | |||
| 207 | (setq gnus-use-nocem t) | ||
| 208 | |||
| 209 | *** Groups can be made permanently visible. | ||
| 210 | |||
| 211 | (setq gnus-permanently-visible-groups "^nnml:") | ||
| 212 | |||
| 213 | *** Many new hooks have been introduced to make customizing easier. | ||
| 214 | |||
| 215 | *** Gnus respects the Mail-Copies-To header. | ||
| 216 | |||
| 217 | *** Threads can be gathered by looking at the References header. | ||
| 218 | |||
| 219 | (setq gnus-summary-thread-gathering-function | ||
| 220 | 'gnus-gather-threads-by-references) | ||
| 221 | |||
| 222 | *** Read articles can be stored in a special backlog buffer to avoid | ||
| 223 | refetching. | ||
| 224 | |||
| 225 | (setq gnus-keep-backlog 50) | ||
| 226 | |||
| 227 | *** A clean copy of the current article is always stored in a separate | ||
| 228 | buffer to allow easier treatment. | ||
| 229 | |||
| 230 | *** Gnus can suggest where to save articles. See `gnus-split-methods'. | ||
| 231 | |||
| 232 | *** Gnus doesn't have to do as much prompting when saving. | ||
| 233 | |||
| 234 | (setq gnus-prompt-before-saving t) | ||
| 235 | |||
| 236 | *** gnus-uu can view decoded files asynchronously while fetching | ||
| 237 | articles. | ||
| 238 | |||
| 239 | (setq gnus-uu-grabbed-file-functions 'gnus-uu-grab-view) | ||
| 240 | |||
| 241 | *** Filling in the article buffer now works properly on cited text. | ||
| 242 | |||
| 243 | *** Hiding cited text adds buttons to toggle hiding, and how much | ||
| 244 | cited text to hide is now customizable. | ||
| 245 | |||
| 246 | (setq gnus-cited-lines-visible 2) | ||
| 247 | |||
| 248 | *** Boring headers can be hidden. | ||
| 249 | |||
| 250 | (add-hook 'gnus-article-display-hook 'gnus-article-hide-boring-headers) | ||
| 251 | |||
| 252 | *** Default scoring values can now be set from the menu bar. | ||
| 253 | |||
| 254 | *** Further syntax checking of outgoing articles have been added. | ||
| 255 | |||
| 256 | The Gnus manual has been expanded. It explains all these new features | ||
| 257 | in greater detail. | ||
| 258 | |||
| 259 | * Lisp Changes in Emacs 19.32 | ||
| 260 | |||
| 261 | ** The function set-visited-file-name now accepts an optional | ||
| 262 | second argument NO-QUERY. If it is non-nil, then the user is not | ||
| 263 | asked for confirmation in the case where the specified file already | ||
| 264 | exists. | ||
| 265 | |||
| 266 | ** The variable print-length applies to printing vectors and bitvectors, | ||
| 267 | as well as lists. | ||
| 268 | |||
| 269 | ** The new function keymap-parent returns the parent keymap | ||
| 270 | of a given keymap. | ||
| 271 | |||
| 272 | ** The new function set-keymap-parent specifies a new parent for a | ||
| 273 | given keymap. The arguments are KEYMAP and PARENT. PARENT must be a | ||
| 274 | keymap or nil. | ||
| 275 | |||
| 276 | ** Sometimes menu keymaps use a command name, a symbol, which is really | ||
| 277 | an automatically generated alias for some other command, the "real" | ||
| 278 | name. In such a case, you should give that alias symbol a non-nil | ||
| 279 | menu-alias property. That property tells the menu system to look for | ||
| 280 | equivalent keys for the real name instead of equivalent keys for the | ||
| 281 | alias. | ||
| 282 | |||
| 283 | * Editing Changes in Emacs 19.31 | ||
| 284 | |||
| 285 | ** Freedom of the press restricted in the United States. | ||
| 286 | |||
| 287 | Emacs has been censored in accord with the Communications Decency Act. | ||
| 288 | This includes removing some features of the doctor program. That law | ||
| 289 | was described by its supporters as a ban on pornography, but it bans | ||
| 290 | far more than that. The Emacs distribution has never contained any | ||
| 291 | pornography, but parts of it were nonetheless prohibited. | ||
| 292 | |||
| 293 | For information on US government censorship of the Internet, and what | ||
| 294 | you can do to bring back freedom of the press, see the web site | ||
| 295 | `http://www.vtw.org/'. | ||
| 296 | |||
| 297 | ** A note about C mode indentation customization. | ||
| 298 | |||
| 299 | The old (Emacs 19.29) ways of specifying a C indentation style | ||
| 300 | do not normally work in the new implementation of C mode. | ||
| 301 | It has its own methods of customizing indentation, which are | ||
| 302 | much more powerful than the old C mode. See the Editing Programs | ||
| 303 | chapter of the manual for details. | ||
| 304 | |||
| 305 | However, you can load the library cc-compat to make the old | ||
| 306 | customization variables take effect. | ||
| 307 | |||
| 308 | ** Marking with the mouse. | ||
| 309 | |||
| 310 | When you mark a region with the mouse, the region now remains | ||
| 311 | highlighted until the next input event, regardless of whether you are | ||
| 312 | using M-x transient-mark-mode. | ||
| 313 | |||
| 314 | ** Improved Windows NT/95 support. | ||
| 315 | |||
| 316 | *** Emacs now supports scroll bars on Windows NT and Windows 95. | ||
| 317 | |||
| 318 | *** Emacs now supports subprocesses on Windows 95. (Subprocesses used | ||
| 319 | to work on NT only and not on 95.) | ||
| 320 | |||
| 321 | *** There are difficulties with subprocesses, though, due to problems | ||
| 322 | in Windows, beyond the control of Emacs. They work fine as long as | ||
| 323 | you run Windows applications. The problems arise when you run a DOS | ||
| 324 | application in a subprocesses. Since current shells run as DOS | ||
| 325 | applications, these problems are significant. | ||
| 326 | |||
| 327 | If you run a DOS application in a subprocess, then the application is | ||
| 328 | likely to busy-wait, which means that your machine will be 100% busy. | ||
| 329 | However, if you don't mind the temporary heavy load, the subprocess | ||
| 330 | will work OK as long as you tell it to terminate before you start any | ||
| 331 | other DOS application as a subprocess. | ||
| 332 | |||
| 333 | Emacs is unable to terminate or interrupt a DOS subprocess. | ||
| 334 | You have to do this by providing input directly to the subprocess. | ||
| 335 | |||
| 336 | If you run two DOS applications at the same time in two separate | ||
| 337 | subprocesses, even if one of them is asynchronous, you will probably | ||
| 338 | have to reboot your machine--until then, it will remain 100% busy. | ||
| 339 | Windows simply does not cope when one Windows process tries to run two | ||
| 340 | separate DOS subprocesses. Typing CTL-ALT-DEL and then choosing | ||
| 341 | Shutdown seems to work although it may take a few minutes. | ||
| 342 | |||
| 343 | ** M-x resize-minibuffer-mode. | ||
| 344 | |||
| 345 | This command, not previously mentioned in NEWS, toggles a mode in | ||
| 346 | which the minibuffer window expands to show as many lines as the | ||
| 347 | minibuffer contains. | ||
| 348 | |||
| 349 | ** `title' frame parameter and resource. | ||
| 350 | |||
| 351 | The `title' X resource now specifies just the frame title, nothing else. | ||
| 352 | It does not affect the name used for looking up other X resources. | ||
| 353 | It works by setting the new `title' frame parameter, which likewise | ||
| 354 | affects just the displayed title of the frame. | ||
| 355 | |||
| 356 | The `name' parameter continues to do what it used to do: | ||
| 357 | it specifies the frame name for looking up X resources, | ||
| 358 | and also serves as the default for the displayed title | ||
| 359 | when the `title' parameter is unspecified or nil. | ||
| 360 | |||
| 361 | ** Emacs now uses the X toolkit by default, if you have a new | ||
| 362 | enough version of X installed (X11R5 or newer). | ||
| 363 | |||
| 364 | ** When you compile Emacs with the Motif widget set, Motif handles the | ||
| 365 | F10 key by activating the menu bar. To avoid confusion, the usual | ||
| 366 | Emacs binding of F10 is replaced with a no-op when using Motif. | ||
| 367 | |||
| 368 | If you want to be able to use F10 in Emacs, you can rebind the Motif | ||
| 369 | menubar to some other key which you don't use. To do so, add | ||
| 370 | something like this to your X resources file. This example rebinds | ||
| 371 | the Motif menu bar activation key to S-F12: | ||
| 372 | |||
| 373 | Emacs*defaultVirtualBindings: osfMenuBar : Shift<Key>F12 | ||
| 374 | |||
| 375 | ** In overwrite mode, DEL now inserts spaces in most cases | ||
| 376 | to replace the characters it "deletes". | ||
| 377 | |||
| 378 | ** The Rmail summary now shows the number of lines in each message. | ||
| 379 | |||
| 380 | ** Rmail has a new command M-x unforward-rmail-message, which extracts | ||
| 381 | a forwarded message from the message that forwarded it. To use it, | ||
| 382 | select a message which contains a forwarded message and then type the command. | ||
| 383 | It inserts the forwarded message as a separate Rmail message | ||
| 384 | immediately after the selected one. | ||
| 385 | |||
| 386 | This command also undoes the textual modifications that are standardly | ||
| 387 | made, as part of forwarding, by Rmail and other mail reader programs. | ||
| 388 | |||
| 389 | ** Turning off saving of .saves-... files in your home directory. | ||
| 390 | |||
| 391 | Each Emacs session writes a file named .saves-... in your home | ||
| 392 | directory to record which files M-x recover-session should recover. | ||
| 393 | If you exit Emacs normally with C-x C-c, it deletes that file. If | ||
| 394 | Emacs or the operating system crashes, the file remains for M-x | ||
| 395 | recover-session. | ||
| 396 | |||
| 397 | You can turn off the writing of these files by setting | ||
| 398 | auto-save-list-file-name to nil. If you do this, M-x recover-session | ||
| 399 | will not work. | ||
| 400 | |||
| 401 | Some previous Emacs versions failed to delete these files even on | ||
| 402 | normal exit. This is fixed now. If you are thinking of turning off | ||
| 403 | this feature because of past experiences with versions that had this | ||
| 404 | bug, it would make sense to check whether you still want to do so | ||
| 405 | now that the bug is fixed. | ||
| 406 | |||
| 407 | ** Changes to Version Control (VC) | ||
| 408 | |||
| 409 | There is a new variable, vc-follow-symlinks. It indicates what to do | ||
| 410 | when you visit a link to a file that is under version control. | ||
| 411 | Editing the file through the link bypasses the version control system, | ||
| 412 | which is dangerous and probably not what you want. | ||
| 413 | |||
| 414 | If this variable is t, VC follows the link and visits the real file, | ||
| 415 | telling you about it in the echo area. If it is `ask' (the default), | ||
| 416 | VC asks for confirmation whether it should follow the link. If nil, | ||
| 417 | the link is visited and a warning displayed. | ||
| 418 | |||
| 419 | ** iso-acc.el now lets you specify a choice of language. | ||
| 420 | Languages include "latin-1" (the default) and "latin-2" (which | ||
| 421 | is designed for entering ISO Latin-2 characters). | ||
| 422 | |||
| 423 | There are also choices for specific human languages such as French and | ||
| 424 | Portuguese. These are subsets of Latin-1, which differ in that they | ||
| 425 | enable only the accent characters needed for particular language. | ||
| 426 | The other accent characters, not needed for the chosen language, | ||
| 427 | remain normal. | ||
| 428 | |||
| 429 | ** Posting articles and sending mail now has M-TAB completion on various | ||
| 430 | header fields (Newsgroups, To, CC, ...). | ||
| 431 | |||
| 432 | Completion in the Newsgroups header depends on the list of groups | ||
| 433 | known to your news reader. Completion in the Followup-To header | ||
| 434 | offers those groups which are in the Newsgroups header, since | ||
| 435 | Followup-To usually just holds one of those. | ||
| 436 | |||
| 437 | Completion in fields that hold mail addresses works based on the list | ||
| 438 | of local users plus your aliases. Additionally, if your site provides | ||
| 439 | a mail directory or a specific host to use for any unrecognized user | ||
| 440 | name, you can arrange to query that host for completion also. (See the | ||
| 441 | documentation of variables `mail-directory-process' and | ||
| 442 | `mail-directory-stream'.) | ||
| 443 | |||
| 444 | ** A greatly extended sgml-mode offers new features such as (to be configured) | ||
| 445 | skeletons with completing read for tags and attributes, typing named | ||
| 446 | characters including optionally all 8bit characters, making tags invisible | ||
| 447 | with optional alternate display text, skipping and deleting tag(pair)s. | ||
| 448 | |||
| 449 | Note: since Emacs' syntax feature cannot limit the special meaning of ', " and | ||
| 450 | - to inside <>, for some texts the result, especially of font locking, may be | ||
| 451 | wrong (see `sgml-specials' if you get wrong results). | ||
| 452 | |||
| 453 | The derived html-mode configures this with tags and attributes more or | ||
| 454 | less HTML3ish. It also offers optional quick keys like C-c 1 for | ||
| 455 | headline or C-c u for unordered list (see `html-quick-keys'). Edit / | ||
| 456 | Text Properties / Face or M-g combinations create tags as applicable. | ||
| 457 | Outline minor mode is supported and level 1 font-locking tries to | ||
| 458 | fontify tag contents (which only works when they fit on one line, due | ||
| 459 | to a limitation in font-lock). | ||
| 460 | |||
| 461 | External viewing via browse-url can occur automatically upon saving. | ||
| 462 | |||
| 463 | ** M-x imenu-add-to-menubar now adds to the menu bar for the current | ||
| 464 | buffer only. If you want to put an Imenu item in the menu bar for all | ||
| 465 | buffers that use a particular major mode, use the mode hook, as in | ||
| 466 | this example: | ||
| 467 | |||
| 468 | (add-hook 'emacs-lisp-mode-hook | ||
| 469 | '(lambda () (imenu-add-to-menubar "Index"))) | ||
| 470 | |||
| 471 | ** Changes in BibTeX mode. | ||
| 472 | |||
| 473 | *** Field names may now contain digits, hyphens, and underscores. | ||
| 474 | |||
| 475 | *** Font Lock mode is now supported. | ||
| 476 | |||
| 477 | *** bibtex-make-optional-field is no longer interactive. | ||
| 478 | |||
| 479 | *** If bibtex-maintain-sorted-entries is non-nil, inserting new | ||
| 480 | entries is now done with a faster algorithm. However, inserting | ||
| 481 | will fail in this case if the buffer contains invalid entries or | ||
| 482 | isn't in sorted order, so you should finish each entry with C-c C-c | ||
| 483 | (bibtex-close-entry) after you have inserted or modified it. | ||
| 484 | The default value of bibtex-maintain-sorted-entries is nil. | ||
| 485 | |||
| 486 | *** Function `show-all' is no longer bound to a key, since C-u C-c C-q | ||
| 487 | does the same job. | ||
| 488 | |||
| 489 | *** Entries with quotes inside quote-delimited fields (as `author = | ||
| 490 | "Stefan Sch{\"o}f"') are now supported. | ||
| 491 | |||
| 492 | *** Case in field names doesn't matter anymore when searching for help | ||
| 493 | text. | ||
| 494 | |||
| 495 | ** Font Lock mode | ||
| 496 | |||
| 497 | *** Global Font Lock mode | ||
| 498 | |||
| 499 | Font Lock mode can be turned on globally, in buffers that support it, by the | ||
| 500 | new command global-font-lock-mode. You can use the new variable | ||
| 501 | font-lock-global-modes to control which modes have Font Lock mode automagically | ||
| 502 | turned on. By default, this variable is set so that Font Lock mode is turned | ||
| 503 | on globally where the buffer mode supports it. | ||
| 504 | |||
| 505 | For example, to automagically turn on Font Lock mode where supported, put: | ||
| 506 | |||
| 507 | (global-font-lock-mode t) | ||
| 508 | |||
| 509 | in your ~/.emacs. | ||
| 510 | |||
| 511 | *** Local Refontification | ||
| 512 | |||
| 513 | In Font Lock mode, editing a line automatically refontifies that line only. | ||
| 514 | However, if your change alters the syntactic context for following lines, | ||
| 515 | those lines remain incorrectly fontified. To refontify them, use the new | ||
| 516 | command M-g M-g (font-lock-fontify-block). | ||
| 517 | |||
| 518 | In certain major modes, M-g M-g refontifies the entire current function. | ||
| 519 | (The variable font-lock-mark-block-function controls how to find the | ||
| 520 | current function.) In other major modes, M-g M-g refontifies 16 lines | ||
| 521 | above and below point. | ||
| 522 | |||
| 523 | With a prefix argument N, M-g M-g refontifies N lines above and below point. | ||
| 524 | |||
| 525 | ** Follow mode | ||
| 526 | |||
| 527 | Follow mode is a new minor mode combining windows showing the same | ||
| 528 | buffer into one tall "virtual window". The windows are typically two | ||
| 529 | side-by-side windows. Follow mode makes them scroll together as if | ||
| 530 | they were a unit. To use it, go to a frame with just one window, | ||
| 531 | split it into two side-by-side windows using C-x 3, and then type M-x | ||
| 532 | follow-mode. | ||
| 533 | |||
| 534 | M-x follow-mode turns off Follow mode if it is already enabled. | ||
| 535 | |||
| 536 | To display two side-by-side windows and activate Follow mode, use the | ||
| 537 | command M-x follow-delete-other-windows-and-split. | ||
| 538 | |||
| 539 | ** hide-show changes. | ||
| 540 | |||
| 541 | The hooks hs-hide-hooks and hs-show-hooks have been renamed | ||
| 542 | to hs-hide-hook and hs-show-hook, to follow the convention for | ||
| 543 | normal hooks. | ||
| 544 | |||
| 545 | ** Simula mode now has a menu containing the most important commands. | ||
| 546 | The new command simula-indent-exp is bound to C-M-q. | ||
| 547 | |||
| 548 | ** etags can now handle programs written in Erlang. Files are | ||
| 549 | recognised by the extensions .erl and .hrl. The tagged lines are | ||
| 550 | those that begin a function, record, or macro. | ||
| 551 | |||
| 552 | ** MSDOS Changes | ||
| 553 | |||
| 554 | *** It is now possible to compile Emacs with the version 2 of DJGPP. | ||
| 555 | Compilation with DJGPP version 1 also still works. | ||
| 556 | |||
| 557 | *** The documentation of DOS-specific aspects of Emacs was rewritten | ||
| 558 | and expanded; see the ``MS-DOS'' node in the on-line docs. | ||
| 559 | |||
| 560 | *** Emacs now uses ~ for backup file names, not .bak. | ||
| 561 | |||
| 562 | *** You can simulate mouse-3 on two-button mice by simultaneously | ||
| 563 | pressing both mouse buttons. | ||
| 564 | |||
| 565 | *** A number of packages and commands which previously failed or had | ||
| 566 | restricted functionality on MS-DOS, now work. The most important ones | ||
| 567 | are: | ||
| 568 | |||
| 569 | **** Printing (both with `M-x lpr-buffer' and with `ps-print' package) | ||
| 570 | now works. | ||
| 571 | |||
| 572 | **** `Ediff' works (in a single-frame mode). | ||
| 573 | |||
| 574 | **** `M-x display-time' can be used on MS-DOS (due to the new | ||
| 575 | implementation of Emacs timers, see below). | ||
| 576 | |||
| 577 | **** `Dired' supports Unix-style shell wildcards. | ||
| 578 | |||
| 579 | **** The `c-macro-expand' command now works as on other platforms. | ||
| 580 | |||
| 581 | **** `M-x recover-session' works. | ||
| 582 | |||
| 583 | **** `M-x list-colors-display' displays all the available colors. | ||
| 584 | |||
| 585 | **** The `TPU-EDT' package works. | ||
| 586 | |||
| 587 | * Lisp changes in Emacs 19.31. | ||
| 588 | |||
| 589 | ** The function using-unix-filesystems on Windows NT and Windows 95 | ||
| 590 | tells Emacs to read and write files assuming that they reside on a | ||
| 591 | remote Unix filesystem. No CR/LF translation is done on any files in | ||
| 592 | this case. Invoking using-unix-filesystems with t activates this | ||
| 593 | behavior, and invoking it with any other value deactivates it. | ||
| 594 | |||
| 595 | ** Change in system-type and system-configuration values. | ||
| 596 | |||
| 597 | The value of system-type on a Linux-based GNU system is now `lignux', | ||
| 598 | not `linux'. This means that some programs which use `system-type' | ||
| 599 | need to be changed. The value of `system-configuration' will also | ||
| 600 | be different. | ||
| 601 | |||
| 602 | It is generally recommended to use `system-configuration' rather | ||
| 603 | than `system-type'. | ||
| 604 | |||
| 605 | See the file LINUX-GNU in this directory for more about this. | ||
| 606 | |||
| 607 | ** The functions shell-command and dired-call-process | ||
| 608 | now run file name handlers for default-directory, if it has them. | ||
| 609 | |||
| 610 | ** Undoing the deletion of text now restores the positions of markers | ||
| 611 | that pointed into or next to the deleted text. | ||
| 612 | |||
| 613 | ** Timers created with run-at-time now work internally to Emacs, and | ||
| 614 | no longer use a separate process. Therefore, they now work more | ||
| 615 | reliably and can be used for shorter time delays. | ||
| 616 | |||
| 617 | The new function run-with-timer is a convenient way to set up a timer | ||
| 618 | to run a specified amount of time after the present. A call looks | ||
| 619 | like this: | ||
| 620 | |||
| 621 | (run-with-timer SECS REPEAT FUNCTION ARGS...) | ||
| 622 | |||
| 623 | SECS says how many seconds should elapse before the timer happens. | ||
| 624 | It may be an integer or a floating point number. When the timer | ||
| 625 | becomes ripe, the action is to call FUNCTION with arguments ARGS. | ||
| 626 | |||
| 627 | REPEAT gives the interval for repeating the timer (measured in | ||
| 628 | seconds). It may be an integer or a floating point number. nil or 0 | ||
| 629 | means don't repeat at all--call FUNCTION just once. | ||
| 630 | |||
| 631 | *** with-timeout provides an easy way to do something but give | ||
| 632 | up if too much time passes. | ||
| 633 | |||
| 634 | (with-timeout (SECONDS TIMEOUT-FORMS...) BODY...) | ||
| 635 | |||
| 636 | This executes BODY, but gives up after SECONDS seconds. | ||
| 637 | If it gives up, it runs the TIMEOUT-FORMS and returns the value | ||
| 638 | of the last one of them. Normally it returns the value of the last | ||
| 639 | form in BODY. | ||
| 640 | |||
| 641 | *** You can now arrange to call a function whenever Emacs is idle for | ||
| 642 | a certain length of time. To do this, call run-with-idle-timer. A | ||
| 643 | call looks like this: | ||
| 644 | |||
| 645 | (run-with-idle-timer SECS REPEAT FUNCTION ARGS...) | ||
| 646 | |||
| 647 | SECS says how many seconds of idleness should elapse before the timer | ||
| 648 | runs. It may be an integer or a floating point number. When the | ||
| 649 | timer becomes ripe, the action is to call FUNCTION with arguments | ||
| 650 | ARGS. | ||
| 651 | |||
| 652 | Emacs becomes idle whenever it finishes executing a keyboard or mouse | ||
| 653 | command. It remains idle until it receives another keyboard or mouse | ||
| 654 | command. | ||
| 655 | |||
| 656 | REPEAT, if non-nil, means this timer should be activated again each | ||
| 657 | time Emacs becomes idle and remains idle for SECS seconds The timer | ||
| 658 | does not repeat if Emacs *remains* idle; it runs at most once after | ||
| 659 | each time Emacs becomes idle. | ||
| 660 | |||
| 661 | If REPEAT is nil, the timer runs just once, the first time Emacs is | ||
| 662 | idle for SECS seconds. | ||
| 663 | |||
| 664 | *** post-command-idle-hook is now obsolete; you shouldn't use it at | ||
| 665 | all, because it interferes with the idle timer mechanism. If your | ||
| 666 | programs use post-command-idle-hook, convert them to use idle timers | ||
| 667 | instead. | ||
| 668 | |||
| 669 | *** y-or-n-p-with-timeout lets you ask a question but give up if | ||
| 670 | there is no answer within a certain time. | ||
| 671 | |||
| 672 | (y-or-n-p-with-timeout PROMPT SECONDS DEFAULT-VALUE) | ||
| 673 | |||
| 674 | asks the question PROMPT (just like y-or-n-p). If the user answers | ||
| 675 | within SECONDS seconds, it returns the answer that the user gave. | ||
| 676 | Otherwise it gives up after SECONDS seconds, and returns DEFAULT-VALUE. | ||
| 677 | |||
| 678 | ** Minor change to `encode-time': you can now pass more than seven | ||
| 679 | arguments. If you do that, the first six arguments have the usual | ||
| 680 | meaning, the last argument is interpreted as the time zone, and the | ||
| 681 | arguments in between are ignored. | ||
| 682 | |||
| 683 | This means that it works to use the list returned by `decode-time' as | ||
| 684 | the list of arguments for `encode-time'. | ||
| 685 | |||
| 686 | ** The default value of load-path now includes the directory | ||
| 687 | /usr/local/share/emacs/VERSION/site-lisp In addition to | ||
| 688 | /usr/local/share/emacs/site-lisp. You can use this new directory for | ||
| 689 | site-specific Lisp packages that belong with a particular Emacs | ||
| 690 | version. | ||
| 691 | |||
| 692 | It is not unusual for a Lisp package that works well in one Emacs | ||
| 693 | version to cause trouble in another. Sometimes packages need updating | ||
| 694 | for incompatible changes; sometimes they look at internal data that | ||
| 695 | has changed; sometimes the package has been installed in Emacs itself | ||
| 696 | and the installed version should be used. Whatever the reason for the | ||
| 697 | problem, this new feature makes it easier to solve. | ||
| 698 | |||
| 699 | ** When your program contains a fixed file name (like .completions or | ||
| 700 | .abbrev.defs), the file name usually needs to be different on operating | ||
| 701 | systems with limited file name syntax. | ||
| 702 | |||
| 703 | Now you can avoid ad-hoc conditionals by using the function | ||
| 704 | convert-standard-filename to convert the file name to a proper form | ||
| 705 | for each operating system. Here is an example of use, from the file | ||
| 706 | completions.el: | ||
| 707 | |||
| 708 | (defvar save-completions-file-name | ||
| 709 | (convert-standard-filename "~/.completions") | ||
| 710 | "*The filename to save completions to.") | ||
| 711 | |||
| 712 | This sets the variable save-completions-file-name to a value that | ||
| 713 | depends on the operating system, because the definition of | ||
| 714 | convert-standard-filename depends on the operating system. On | ||
| 715 | Unix-like systems, it returns the specified file name unchanged. On | ||
| 716 | MS-DOS, it adapts the name to fit the limitations of that system. | ||
| 717 | |||
| 718 | ** The interactive spec N now returns the numeric prefix argument | ||
| 719 | rather than the raw prefix argument. (It still reads a number using the | ||
| 720 | minibuffer if there is no prefix argument at all.) | ||
| 721 | |||
| 722 | ** When a process is deleted, this no longer disconnects the process | ||
| 723 | marker from its buffer position. | ||
| 724 | |||
| 725 | ** The variable garbage-collection-messages now controls whether | ||
| 726 | Emacs displays a message at the beginning and end of garbage collection. | ||
| 727 | The default is nil, meaning there are no messages. | ||
| 728 | |||
| 729 | ** The variable debug-ignored-errors specifies certain kinds of errors | ||
| 730 | that should not enter the debugger. Its value is a list of error | ||
| 731 | condition symbols and/or regular expressions. If the error has any | ||
| 732 | of the condition symbols listed, or if any of the regular expressions | ||
| 733 | matches the error message, then that error does not enter the debugger, | ||
| 734 | regardless of the value of debug-on-error. | ||
| 735 | |||
| 736 | This variable is initialized to match certain common but uninteresting | ||
| 737 | errors that happen often during editing. | ||
| 738 | |||
| 739 | ** The new function error-message-string converts an error datum | ||
| 740 | into its error message. The error datum is what condition-case | ||
| 741 | puts into the variable, to describe the error that happened. | ||
| 742 | |||
| 743 | ** Anything that changes which buffer appears in a given window | ||
| 744 | now runs the window-scroll-functions for that window. | ||
| 745 | |||
| 746 | ** The new function get-buffer-window-list returns a list of windows displaying | ||
| 747 | a buffer. The function is called with the buffer (a buffer object or a buffer | ||
| 748 | name) and two optional arguments specifying the minibuffer windows and frames | ||
| 749 | to search. Therefore this function takes optional args like next-window etc., | ||
| 750 | and not get-buffer-window. | ||
| 751 | |||
| 752 | ** buffer-substring now runs the hook buffer-access-fontify-functions, | ||
| 753 | calling each function with two arguments--the range of the buffer | ||
| 754 | being accessed. buffer-substring-no-properties does not call them. | ||
| 755 | |||
| 756 | If you use this feature, you should set the variable | ||
| 757 | buffer-access-fontified-property to a non-nil symbol, which is a | ||
| 758 | property name. Then, if all the characters in the buffer range have a | ||
| 759 | non-nil value for that property, the buffer-access-fontify-functions | ||
| 760 | are not called. When called, these functions should put a non-nil | ||
| 761 | property on the text that they fontify, so that they won't get called | ||
| 762 | over and over for the same text. | ||
| 763 | |||
| 764 | ** Changes in lisp-mnt.el | ||
| 765 | |||
| 766 | *** The lisp-mnt package can now recognize file headers that are written | ||
| 767 | in the formats used by the `what' command and the RCS `ident' command: | ||
| 768 | |||
| 769 | ;; @(#) HEADER: text | ||
| 770 | ;; $HEADER: text $ | ||
| 771 | |||
| 772 | in addition to the normal | ||
| 773 | |||
| 774 | ;; HEADER: text | ||
| 775 | |||
| 776 | *** The commands lm-verify and lm-synopsis are now interactive. lm-verify | ||
| 777 | checks that the library file has proper sections and headers, and | ||
| 778 | lm-synopsis extracts first line "synopsis'"information. | ||
| 779 | |||
| 780 | |||
| 781 | |||
| 7 | * Editing Changes in Emacs 19.30. | 782 | * Editing Changes in Emacs 19.30. |
| 8 | 783 | ||
| 9 | ** Be sure to recompile your byte-compiled Emacs Lisp files | 784 | ** Be sure to recompile your byte-compiled Emacs Lisp files |
| @@ -254,7 +1029,7 @@ your working file with the latest version from the master. | |||
| 254 | *** RCS customization. | 1029 | *** RCS customization. |
| 255 | 1030 | ||
| 256 | There is a new variable vc-consult-headers. If it is t (the default), | 1031 | There is a new variable vc-consult-headers. If it is t (the default), |
| 257 | VC searches for RCS headers in working files (like `$Id: ONEWS,v 1.3 2000/11/02 13:34:50 gerd Exp $') and | 1032 | VC searches for RCS headers in working files (like `$Id: ONEWS,v 1.4 2000/11/20 16:15:34 gerd Exp $') and |
| 258 | determines the state of the file from them, not from the master file. | 1033 | determines the state of the file from them, not from the master file. |
| 259 | This is fast and more reliable when you use branches. (The variable | 1034 | This is fast and more reliable when you use branches. (The variable |
| 260 | was already present in Emacs 19.29, but didn't get mentioned in the | 1035 | was already present in Emacs 19.29, but didn't get mentioned in the |