Suppress address randomization on Darwin (Bug#8395).
[bpt/emacs.git] / etc / NEWS
CommitLineData
29b7722a 1GNU Emacs NEWS -- history of user-visible changes.
5b87ad55 2
73b0cd50 3Copyright (C) 2010-2011 Free Software Foundation, Inc.
5b87ad55 4See the end of the file for license conditions.
a933dad1 5
893db5bc 6Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
9a21d88b
KS
7If possible, use M-x report-emacs-bug.
8
eb199145 9This file is about changes in Emacs version 24.
9a21d88b 10
eb199145
GM
11See files NEWS.23, NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18,
12and NEWS.1-17 for changes in older Emacs versions.
9a21d88b
KS
13
14You can narrow news to a specific version by calling `view-emacs-news'
15with a prefix argument or by typing C-u C-h C-n.
3f7194ed 16
adce950d
CY
17
18Temporary note:
19 +++ indicates that the appropriate manual has already been updated.
20 --- means no change in the manuals is called for.
21When you add a new item, please add it without either +++ or ---
22so we will look at it and add it to the manual.
23
24\f
eb199145 25* Installation Changes in Emacs 24.1
09e18d03 26
338648ad
GM
27** Configure links against libselinux if it is found.
28You can disable this by using --without-selinux.
29
30---
31** By default, the installed Info and man pages are compressed.
32You can disable this by configuring --without-compress-info.
33
aded53ff
GM
34---
35** There are new configure options:
36--with-mmdf, --with-mail-unlink, --with-mailhost.
37These provide no new functionality, they just remove the need to edit
38lib-src/Makefile by hand in order to use the associated features.
39
e547b051 40---
30c4d8dc 41** Emacs can be compiled against Gtk+ 3.0 if you pass --with-x-toolkit=gtk3
e547b051
J
42to configure. Note that other libraries used by Emacs, RSVG and GConf,
43also depend on Gtk+. You can disable them with --without-rsvg and
44--without-gconf.
45
d9170db5
DN
46** There is a new configure option --enable-use-lisp-union-type.
47This is only useful for Emacs developers to debug certain types of bugs.
b2957ea8 48This is not a new feature; only the configure flag is new.
d9170db5 49
81eafe29
PE
50** There is a new configure option --with-wide-int.
51With it, Emacs integers typically have 62 bits, even on 32-bit machines.
52
d064e6a6 53---
f042970d 54** New translation of the Emacs Tutorial in Hebrew is available.
d064e6a6
EZ
55Type `C-u C-h t' to choose it in case your language setup doesn't
56automatically select it.
57
0bfd685e 58\f
eb199145 59* Startup Changes in Emacs 24.1
4a263588 60
198a7a97 61** The --unibyte, --multibyte, --no-multibyte, and --no-unibyte
adbf62ff
GM
62command line arguments, and the EMACS_UNIBYTE environment variable, no
63longer have any effect. (They were declared obsolete in Emacs 23.)
198a7a97 64
66b7b0fe
GM
65** New command line option `--no-site-lisp' removes site-lisp directories
66from load-path. -Q now implies this.
67
71edd0ec
JB
68** On Windows, Emacs now warns when the obsolete _emacs init file is used,
69and also when HOME is set to C:\ by default.
8a05b668 70
0bfd685e 71\f
eb199145 72* Changes in Emacs 24.1
7841339b 73
fd6fa53f
SM
74** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'.
75This is handy for minibuffer-only frames, and is also used for the "mouse-1
76pops up *Messages*" feature, which can now easily be changed.
77
2a847524
CY
78** emacsclient changes
79
80*** New emacsclient argument --parent-id ID can be used to open a
0191e222
CY
81client frame in parent X window ID, via XEmbed. This works like the
82--parent-id argument to Emacs.
83
15a7a774 84+++
d862b746
GM
85*** New emacsclient argument -q/--quiet suppresses some status messages.
86
18a4ce5e
AR
87+++
88*** New emacsclient argument --frame-parameters can be used to set the
89frame parameters of a newly-created graphical frame.
90
2a847524
CY
91*** If emacsclient shuts down as a result of Emacs signalling an
92error, its exit status is 1.
93
a2a25d24 94** Completion
e17d9003
SM
95*** shell-mode uses pcomplete rules, with the standard completion UI.
96
a2a25d24
SM
97*** Many packages have been changed to use completion-at-point rather than
98their own completion code.
99
100*** Completion in a non-minibuffer now tries to detect the end of completion
101and pops down the *Completions* buffer accordingly.
102
103*** Completion can cycle, depending on completion-cycle-threshold.
902a6d8d 104
a2a25d24
SM
105*** New completion style `substring'.
106
620c53a6
SM
107*** Completion style can be set per-category `completion-category-overrides'.
108
109*** Completion of buffers now uses substring completion by default.
110
a2a25d24 111*** `completing-read' can be customized using the new variable
f042970d 112`completing-read-function'.
3ec03f7e 113
3349e122
SM
114*** minibuffer-local-filename-must-match-map is not used any more.
115Instead, the bindings in minibuffer-local-filename-completion-map are combined
116with minibuffer-local-must-match-map.
117
2372f278
SM
118** auto-mode-case-fold is now enabled by default.
119
6870aaef
LMI
120** Mail changes
121
122The default of `send-mail-function' has changed from
123`sendmail-send-it' (on GNU/Linux and other Unix-like systems) or
124`mailclient-send-it' (on Windows) to `sendmail-query-once'. This new
125default will ask the user (once) whether to use the internal smtpmail
126package to send email, or to use the old, external defaults.
127
95f41d9a
LMI
128** smtpmail changes
129
6870aaef 130*** smtpmail has been largely rewritten to upgrade to STARTTLS if
95f41d9a
LMI
131possible, and uses the auth-source framework for getting credentials.
132The rewrite should be largely compatible with previous versions of
133smtpmail, but there are two major incompatibilities:
134
6870aaef 135*** `smtpmail-auth-credentials' no longer exists. That variable used
e2430e31 136to be be either ~/.authinfo (in which case you won't see any
95f41d9a 137difference), but if it were a direct list of user names and passwords,
e2430e31
LMI
138it will be ignored, and you will be prompted for the user name and the
139password instead. They will then be saved to ~/.authinfo.
140
141If you wish to copy over all the credentials from
142`smtpmail-auth-credentials' to your ~/.authinfo file manually, instead
143of letting smtpmail prompt you for these values, that's also possible.
144
145If you had, for instance,
146
147(setq smtpmail-auth-credentials
148 '(("mail.example.org" 25 "jim" "s!cret")))
149
150then the equivalent line in ~/.authinfo would be
151
152machine mail.example.org port 25 login jim password s!cret
95f41d9a 153
6870aaef 154*** Similarly, `smtpmail-starttls-credentials' no longer exists. If
e2430e31 155you had that set, then then you need to put
95f41d9a 156
e2430e31
LMI
157machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert
158"~/.my_smtp_tls.cert"
95f41d9a
LMI
159
160in your ~/.authinfo file instead.
161
d0ce9f8c
MB
162** Internationalization changes
163
f4b6ba46 164+++
d0ce9f8c 165*** Emacs now supports display and editing of bidirectional text.
f4b6ba46
EZ
166
167See the node "Bidirectional Editing" in the Emacs Manual for some
168initial documentation.
169
170To turn this on in any given buffer, set the buffer-local variable
171`bidi-display-reordering' to a non-nil value. The default is nil.
172
173The buffer-local variable `bidi-paragraph-direction', if non-nil,
174forces each paragraph in the buffer to have its base direction
175according to the value of this variable. Possible values are
176`right-to-left' and `left-to-right'. If the value is nil (the
177default), Emacs determines the base direction of each paragraph from
178its text, as specified by the Unicode Bidirectional Algorithm.
179
d20e1419
EZ
180The function `current-bidi-paragraph-direction' returns the actual
181value of paragraph base direction at point.
182
f4b6ba46
EZ
183Reordering of bidirectional text for display in Emacs is a "Full
184bidirectionality" class implementation of the Unicode Bidirectional
185Algorithm.
186
46759717
EZ
187Note that some advanced display features, such as overlay strings and
188`display' text properties, do not yet work correctly when
189bidirectional text is reordered for display.
190
d0ce9f8c
MB
191+++
192*** Enhanced support for characters that have no glyphs in available fonts.
193If a character has no glyphs in any of the available fonts, Emacs by
194default will display it either as a hexadecimal code in a box or as a
195thin 1-pixel space. In addition to these two methods, Emacs can
196display these characters as empty box, as an acronym, or not display
197them at all. To change how these characters are displayed, customize
198the variable `glyphless-char-display-control'.
199
200On character terminals these methods are used for characters that
201cannot be encoded by the `terminal-coding-system'.
202
203*** There are two new input methods for Persian/Farsi: farsi and farsi-translit.
204
303500aa 205** GTK scroll-bars are now placed on the right by default.
52834b6b
CY
206Use `set-scroll-bar-mode' to change this.
207
20fe03ad 208** GTK tool bars can have just text, just images or images and text.
d8004abe 209Customize `tool-bar-style' to choose style. On a Gnome desktop, the default
20fe03ad
JD
210is taken from the desktop settings.
211
8b2dd508
JD
212** GTK tool bars can be placed on the left/right or top/bottom of the frame.
213The frame-parameter tool-bar-position controls this. It takes the values
1c0d77cc 214top, left, right or bottom. The Options => Show/Hide menu has entries
8b2dd508
JD
215for this.
216
8740c12d 217** ImageMagick support.
b2fa3a09
GM
218It is now possible to use the ImageMagick library to load many new
219image formats in Emacs. By default, Emacs links with the ImageMagick
f5b06c35
GM
220libraries if they are present at build time. This needs ImageMagick
2216.2.8 or newer (versions newer than 6.0.7 _may_ work but have not been
222tested). To disable ImageMagick support, use the configure option
fa6996bc 223`--without-imagemagick'.
16a91140 224
8740c12d
GM
225The new function `imagemagick-types' returns a list of image file
226extensions that your installation of ImageMagick supports. The
227function `imagemagick-register-types' enables ImageMagick support for
b2957ea8 228these image types, minus those listed in `imagemagick-types-inhibit'.
16a91140 229
8740c12d 230See the Emacs Lisp Reference Manual for more information.
16a91140 231
3a46642b
J
232** The colors for selected text (the region face) are taken from the GTK
233theme when Emacs is built with GTK.
234
aa1859f5
J
235** Emacs uses GTK tooltips by default if built with GTK. You can turn that
236off by customizing x-gtk-use-system-tooltips.
237
1ecb2d3f 238** Lucid menus and dialogs can display antialiased fonts if Emacs is built
3928f2b6
JD
239with Xft. To change font, use the X resource font, for example:
240Emacs.pane.menubar.font: Courier-12
99852628 241
917794d5 242** On graphical displays, the mode-line no longer ends in dashes.
1dd3c2d9
CY
243Also, the first dash (which does not indicate anything) is just
244displayed as a space.
917794d5 245
5ffb62aa 246** On Nextstep/OSX, the menu bar can be hidden by customizing
f042970d 247ns-auto-hide-menu-bar.
5ffb62aa 248
b7d65a5f
GM
249** Basic SELinux support has been added.
250This requires Emacs to be linked with libselinux at build time.
251
d8004abe
GM
252*** Emacs preserves the SELinux file context when backing up, and
253optionally when copying files. To this end, copy-file has an extra
254optional argument, and backup-buffer and friends include the SELinux
255context in their return values.
b7d65a5f
GM
256
257*** The new functions file-selinux-context and set-file-selinux-context
258get and set the SELinux context of a file.
259
a5bee597
MA
260*** Tramp offers handlers for file-selinux-context and set-file-selinux-context
261for remote machines which support SELinux.
262
a4180391
PE
263+++
264** The function format-time-string now supports the %N directive, for
265higher-resolution time stamps.
266
9c524fcb 267** The function kill-emacs is now run upon receipt of the signals SIGTERM
383ebd15 268and SIGHUP, and upon SIGINT in batch mode.
9c524fcb
GM
269
270** kill-emacs-hook is now also run in batch mode.
63c72eeb
GM
271If you have code that adds something to kill-emacs-hook, you should
272consider if it is still appropriate to add it in the noninteractive case.
9c524fcb 273
79ce172a 274** New scrolling commands `scroll-up-command' and `scroll-down-command'
0a19a6f8
JB
275(bound to C-v/[next] and M-v/[prior]) do not signal errors at top/bottom
276of buffer at first key-press (instead move to top/bottom of buffer)
7b05466f 277when a new variable `scroll-error-top-bottom' is non-nil.
79ce172a 278
5a97d2da
JL
279** New scrolling commands `scroll-up-line' and `scroll-down-line'
280scroll a line instead of full screen.
281
a4b000fb 282** New property `scroll-command' should be set on a command's symbol to
b2957ea8 283define it as a scroll command affected by `scroll-preserve-screen-position'.
9013a7f8 284
d0f69533
EZ
285+++
286** If you customize `scroll-conservatively' to a value greater than 100,
287Emacs will never recenter point in the window when it scrolls due to
288cursor motion commands or commands that move point (e.f., `M-g M-g').
289Previously, you needed to use `most-positive-fixnum' as the value of
290`scroll-conservatively' to achieve the same effect.
291
292---
293** ``Aggressive'' scrolling now honors the scroll margins.
294If you customize `scroll-up-aggressively' or
295`scroll-down-aggressively' and move point off the window, Emacs now
296scrolls the window so as to avoid positioning point inside the scroll
297margin.
298
f1a5d776
CY
299** Trash changes
300
301*** `delete-by-moving-to-trash' now only affects commands that specify
302trashing. This avoids inadvertently trashing temporary files.
303
304*** Calling `delete-file' or `delete-directory' with a prefix argument
305now forces true deletion, regardless of `delete-by-moving-to-trash'.
306
f0bf7c8e
JL
307** New option `list-colors-sort' defines the color sort order
308for `list-colors-display'.
309
44198b6e
CY
310** An Emacs Lisp package manager is now included.
311This is a convenient way to download and install additional packages,
42d9cffa 312from a package repository at elpa.gnu.org.
cb6c4991
CY
313
314*** `M-x list-packages' shows a list of packages, which can be
315selected for installation.
316
317*** New command `describe-package', bound to `C-h P'.
44198b6e
CY
318
319*** By default, all installed packages are loaded and activated
320automatically when Emacs starts up. To disable this, set
321`package-enable-at-startup' to nil. To change which packages are
322loaded, customize `package-load-list'.
323
d221e780
CO
324** An Emacs Lisp testing tool is now included.
325Emacs Lisp developers can use this tool to write automated tests for
326their code. See the ERT info manual for details.
327
f065864f
CY
328** Custom Themes
329
330*** `M-x customize-themes' lists Custom themes which can be enabled.
331
782b5e8d
CY
332*** New option `custom-theme-load-path' is the load path for themes.
333Emacs no longer looks for custom themes in `load-path'. The default
334is to search in `custom-theme-directory', followed by a built-in theme
335directory named "themes/" in `data-directory'.
336
b7617f6d
CY
337*** New option `custom-safe-themes' records known-safe theme files.
338If a theme is not in this list, Emacs queries before loading it, and
339offers to save the theme to `custom-safe-themes' automatically. By
340default, all themes included in Emacs are treated as safe.
278f6845 341
4ddf410a
MA
342** The user option `remote-file-name-inhibit-cache' controls whether
343the remote file-name cache is used for read access.
344
b8f82dc1
GM
345+++
346** The use of a "mode: minor" specification in a file local variables section
f0da764a 347to enable a minor-mode is deprecated. Instead, use "eval: (minor-mode 1)".
b8f82dc1 348
17284e30
GM
349** The standalone programs lib-src/digest-doc and sorted-doc have been
350replaced with Lisp commands `doc-file-to-man' and `doc-file-to-info'.
351
c136e5cd
GM
352---
353** The standalone program `fakemail' has been removed.
354If you need it, feedmail.el ought to provide a superset of the functionality.
355
f13183cf
CY
356** The variable `focus-follows-mouse' now always defaults to nil.
357
7f3f739f
LL
358** New primitive `secure-hash' that supports many secure hash algorithms
359including md5, sha-1 and sha-2 (sha-224, sha-256, sha-384 and sha-512).
42d4bcc8
LL
360The elisp implementation sha1.el is removed. Feature sha1 is provided
361by default.
362
5d907d6c
DA
363** Menu-bar changes
364
365*** `menu-bar-select-buffer-function' lets you choose another operation
366instead of `switch-to-buffer' when selecting an item in the Buffers menu.
367
0bfd685e 368\f
eb199145 369* Editing Changes in Emacs 24.1
b350bdf2 370
892777ba
CY
371** Search changes
372
373+++
374*** C-y in Isearch is now bound to isearch-yank-kill, instead of
375isearch-yank-line.
376
25666126
LL
377---
378*** M-y in Isearch is now bound to isearch-yank-pop, instead of
379isearch-yank-kill.
380
892777ba
CY
381+++
382*** M-s C-e in Isearch is now bound to isearch-yank-line.
383
ea4f7750
GM
384+++
385** There is a new command `count-words-region', which does what you expect.
386
67027b49 387** completion-at-point now handles tags and semantic completion.
a982c7ec 388
d74cba8f
MA
389** The default value of `backup-by-copying-when-mismatch' is now t.
390
1c708c1a
CY
391** The command `just-one-space' (C-SPC), if given a negative argument,
392also deletes newlines around point.
393
b9229673
CY
394** Deletion changes
395
396*** New option `delete-active-region'.
397If non-nil, C-d, [delete], and DEL delete the region if it is active
398and no prefix argument is given. If set to `kill', these commands
399kill instead.
400
401*** New command `delete-forward-char', bound to C-d and [delete].
42d9cffa
CY
402This is meant for interactive use, and obeys `delete-active-region'.
403The command `delete-char' does not obey `delete-active-region'.
b9229673
CY
404
405*** `delete-backward-char' is now a Lisp function.
406Apart from obeying `delete-active-region', its behavior is unchanged.
407However, the byte compiler now warns if it is called from Lisp; you
408should use delete-char with a negative argument instead.
409
410*** The option `mouse-region-delete-keys' has been deleted.
411
f9d71b42
CY
412** Selection changes.
413
b1ab31ae
CY
414The default handling of clipboard and primary selections was changed
415to conform with modern X applications. In short, most commands for
416killing and yanking text now use the clipboard, while mouse commands
417use the primary selection.
418
419In the following, we provide a list of these changes, followed by a
420list of steps to get the old behavior back if you prefer that.
421
963578d3 422+++
b1ab31ae
CY
423*** `select-active-regions' now defaults to t.
424Merely selecting text (e.g. with drag-mouse-1) no longer puts it in
963578d3 425the kill ring. The selected text is put in the primary selection, if
b1ab31ae
CY
426the system possesses a separate primary selection facility (e.g. X).
427
963578d3 428+++
b1ab31ae
CY
429**** `select-active-regions' also accepts a new value, `only'.
430This means to only set the primary selection for temporarily active
431regions (usually made by mouse-dragging or shift-selection);
432"ordinary" active regions, such as those made with C-SPC followed by
433point motion, do not alter the primary selection.
434
963578d3
CY
435---
436**** `mouse-drag-copy-region' now defaults to nil.
437
438+++
b1ab31ae
CY
439*** mouse-2 is now bound to `mouse-yank-primary'.
440This pastes from the primary selection, ignoring the kill-ring.
441Previously, mouse-2 was bound to `mouse-yank-at-click'.
442
963578d3 443+++
b1ab31ae 444*** `x-select-enable-clipboard' now defaults to t on all platforms.
963578d3 445+++
b1ab31ae
CY
446*** `x-select-enable-primary' now defaults to nil.
447Thus, commands that kill text or copy it to the kill-ring (such as
448M-w, C-w, and C-k) also use the clipboard---not the primary selection.
449
963578d3 450---
b1ab31ae
CY
451**** The "Copy", "Cut", and "Paste" items in the "Edit" menu are now
452exactly equivalent to, respectively M-w, C-w, and C-y.
453
963578d3 454---
b1ab31ae
CY
455**** Note that on MS-Windows, `x-select-enable-clipboard' was already
456non-nil by default, as Windows does not support the primary selection
457between applications.
458
963578d3 459---
b1ab31ae 460*** To return to the previous behavior, do the following:
104c2fe9 461**** Change `select-active-regions' to nil.
b1ab31ae
CY
462**** Change `mouse-drag-copy-region' to t.
463**** Change `x-select-enable-primary' to t (on X only).
464**** Change `x-select-enable-clipboard' to nil.
465**** Bind `mouse-yank-at-click' to mouse-2.
f9d71b42 466
963578d3 467+++
084e6df3
JD
468*** Support for X cut buffers has been removed.
469
1dd3c2d9
CY
470*** Support for X clipboard managers has been added.
471
4b80f674
CY
472**** To inhibit use of the clipboard manager, set
473`x-select-enable-clipboard-manager' to nil.
474
99f053cf
JA
475** New command `rectangle-number-lines', bound to `C-x r N', numbers
476the lines in the current rectangle. With an prefix argument, this
477prompts for a number to count from and for a format string.
478
70436396
MA
479** The command shell prompts for the shell path name, when the default
480directory is a remote file name and neither environment variable
481$ESHELL nor variable `explicit-shell-file-name' is set.
482
9bae34bf 483\f
eb199145 484* Changes in Specialized Modes and Packages in Emacs 24.1
efeb796b 485
d76674bb
BW
486** MH-E
487
488*** Upgraded to MH-E version 8.2.90. See MH-E-NEWS for details.
489
c0a193ea
SM
490** comint and modes derived from it use the generic completion code.
491
d9c54a06
CY
492** Compilation mode
493
494*** Compilation mode can be used without font-lock-mode.
9ffae6d0
SM
495`compilation-parse-errors-function' is now obsolete.
496
d9c54a06
CY
497*** `compilation-filter-start' is let-bound to the start of the text
498inserted by the compilation filter function, when calling
499compilation-filter-hook.
500
4d0143e6
JA
501** The Landmark game is now invoked with `landmark', not `lm'.
502
04380ff1 503** Prolog mode has been completely revamped, with lots of additional
86485587 504functionality such as more intelligent indentation, electricity, support for
04380ff1
SM
505more variants, including Mercury, and a lot more.
506
78835dd0
SM
507** shell-mode can track your cwd by reading it from your prompt.
508Just set shell-dir-cookie-re to an appropriate regexp.
509
cbf83ce9
SM
510** Modula-2 mode provides auto-indentation.
511
b7c3692a
RW
512** BibTeX mode
513
2de69e00
RW
514*** BibTeX mode now supports biblatex.
515Use the variable bibtex-dialect to select support for different BibTeX dialects.
516bibtex-entry-field-alist is now an obsolete alias for
517bibtex-BibTeX-entry-alist.
518
34699b85
RW
519*** New command `bibtex-search-entries' bound to C-c C-a.
520
b7c3692a
RW
521*** New `bibtex-entry-format' option `sort-fields', disabled by default.
522
022fe7ce
RW
523*** New variable `bibtex-search-entry-globally'.
524
b879a6e2
SM
525** latex-electric-env-pair-mode keeps \begin..\end matched on the fly.
526
360ac530 527** FIXME: xdg-open for browse-url and reportbug, 2010/08.
0ac3effe 528
ac89b32c 529** Archive Mode has basic support to browse and update 7z archives.
b3671a51 530
876d1684 531** browse-url has gotten a new variable that is used for mailto: URLs,
0a19a6f8 532`browse-url-mailto-function', which defaults to `browse-url-mail'.
876d1684 533
7deebf1b
LMI
534** `url-queue-retrieve' downloads web pages asynchronously, but allow
535controlling the degree of parallelism.
536
817b48a7
GM
537** Directory local variables can apply to file-less buffers, in certain modes
538(eg dired, vc-dir, log-edit). For example, adding
539"(diff-mode . ((mode . whitespace)))" to your .dir-locals.el file,
540will turn on `whitespace-mode' for *vc-diff* buffers. Modes should
541call `hack-dir-local-variables-non-file-buffer' to support this.
542
6640b281
GM
543+++
544** You can prevent directory local variables from applying to subdirectories.
545Add an element (subdirs . nil) to the alist portion of any variables
546settings to indicate said section should not be applied to subdirectories.
547
8a8d54cd
VD
548** ERC changes
549
550*** New vars `erc-autojoin-timing' and `erc-autojoin-delay'.
551If the value of `erc-autojoin-timing' is 'ident, ERC autojoins after a
552successful NickServ identification, or after `erc-autojoin-delay'
553seconds. The default value, 'ident, means to autojoin immediately
554after connecting.
555
5c0c0f77
LMI
556*** New variable `erc-coding-system-precedence': If we use `undecided'
557as the server coding system, this variable will then be consulted.
558The default is to decode strings that can be decoded as utf-8 as
559utf-8, and do the normal `undecided' decoding for the rest.
560
c0e505e5
CY
561** Eshell changes
562
563*** The default value of eshell-directory-name is a directory named
564"eshell" in `user-emacs-directory'. If the old "~/.eshell/" directory
565exists, that is used instead.
566
27d3cd56
CY
567** In ido-mode, C-v is no longer bound to ido-toggle-vc.
568The reason is that this interferes with cua-mode.
569
c1e25821 570** partial-completion-mode is now obsolete.
79ccd68f
SM
571You can get a comparable behavior with:
572(setq completion-styles '(partial-completion initials))
573(setq completion-pcm-complete-word-inserts-delimiters t)
c1e25821 574
18c812bd 575** mpc.el: Can use pseudo tags of the form tag1|tag2 as a union of two tags.
b2957ea8 576
1d83b0e9
GM
577** server can listen on a specific port using the server-port option.
578
cf16af42
GM
579** Calendar, Diary, and Appt
580
548d0a63
GM
581+++
582*** Diary entries can contain non-printing `comments'.
583See the variable `diary-comment-start'.
584
5006e634
GM
585+++
586*** Appointments can specify their individual warning times.
587See the variable `appt-warning-time-regexp'.
588
0a2bb1a9
GM
589---
590*** The function specified by `appt-disp-window-function' may be passed
591lists of arguments if multiple appointments are due at similar times.
592If you are using a custom function for this, you should update it.
593
d306b4da 594+++
7454f200
GM
595*** New function `diary-hebrew-birthday'.
596
e565dd37
GM
597---
598*** Elements of `calendar-day-abbrev-array' and `calendar-month-abbrev-array'
599may no longer be nil, but must all be strings.
600
cf16af42
GM
601---
602*** The obsolete (since Emacs 22.1) method of enabling the appt package
603by adding appt-make-list to diary-hook has been removed. Use appt-activate.
604
605---
606*** Some appt variables (obsolete since Emacs 22.1) have been removed:
607appt-issue-message (use the function appt-activate)
608appt-visible/appt-msg-window (use the variable appt-display-format)
609
610---
611*** Some diary function aliases (obsolete since Emacs 22.1) have been removed:
612view-diary-entries, list-diary-entries, show-all-diary-entries
613
52834b6b
CY
614** Customize
615
616*** Customize buffers now contain a search field.
617The search is performed using `customize-apropos'.
42d9cffa 618To turn off the search field, set custom-search-field to nil.
52834b6b
CY
619
620*** Custom options now start out hidden if at their default values.
621Use the arrow to the left of the option name to toggle visibility.
622
623*** custom-buffer-sort-alphabetically now defaults to t.
624
625*** The color widget now has a "Choose" button, which allows you to
626choose a color via list-colors-display.
627
f5d6548a
JL
628** Dired-x
629
630*** dired-jump and dired-jump-other-window called with a prefix argument
631read a file name from the minibuffer instead of using buffer-file-name.
632
817b48a7
GM
633+++
634*** The `dired local variables' feature provided by Dired-x is obsolete.
635The standard directory local variables feature replaces it.
8117868f 636
7492acc9
MM
637** SQL Mode enhancements.
638
9250002f
MM
639*** `sql-dialect' is a synonym for `sql-product'.
640
74790210 641*** Added ability to login with a port on MySQL and Postgres.
7492acc9 642The custom variable `sql-port' can be specified for connection to
74790210
MM
643MySQL or Postgres servers. By default, the port is not listed in
644either login parameter, but will be added to the command line if set
645to a non-zero value.
7492acc9 646
9250002f
MM
647*** Dynamic selection of product in an SQL interactive session.
648If you use `sql-product-interactive' to start an SQL interactive
649session it uses the current value of `sql-product'. Preceding the
650invocation with C-u will force it to ask for the product before
651creating the session.
652
653*** Renaming a SQL interactive buffer when it is created.
654Prefixing the SQL interactive commands (`sql-sqlite', `sql-postgres',
655`sql-mysql', etc.) with C-u will force a new interactive session to be
656started and will prompt for the new name. This will reduce the need
657for `sql-rename-buffer' is most common use cases.
658
3bd2cfef
MM
659*** Command continuation prompts in SQL interactive mode are suppressed.
660Multiple line commands in SQL interactive mode, generate command
661continuation prompts which needlessly confuse the output. These
662prompts are now filtered out from the output. This change impacts
663multiple line SQL statements entered with C-j between each line,
664statements yanked into the buffer and statements sent with
665`sql-send-*' functions.
666
7492acc9
MM
667*** Custom variables control prompting for login parameters.
668Each supported product has a custom variable `sql-*-login-params'
669which is a list of the parameters to be prompted for before a
670connection is established.
671
74790210
MM
672The lists consist of the following five tokens: `user', `password',
673`database', `server', and `port'. The order in which they appear is
674the order in which they are prompted. The tokens symbols can be
675replaced by a sublist starting with the token and followed by a plist
676which control the prompting for values. The tokens `user',
677`database', and `server' each can take a property of :default which
678specifies the value to be used if no value is entered. The
679`database', `server', and `port' tokens handle the :completion
680property which restricts the entry to either one of the values in the
681list or to one of the values returned by the function provided as the
682property value. The `database' and `server' tokens also accept the
683:file property whose value is a regexp to identify useful file names.
684
685 (user :default DEF)
686 (database :default DEF
687 :file FILEPAT
688 :completion COMPLETE)
689 (server :default DEF
690 :file FILEPAT
691 :completion COMPLETE)
692
693The FILEPAT when :file is specified is a regexp that will match valid
694file names (without the directory portion). Generally these strings
695will be of the form ".+\.SUF" where SUF is the desired file suffix.
696
697When :completion is specified, the COMPLETE corresponds to the
698PREDICATE argument to the `completing-read' function (a list of
699possible values or a function returning such a list).
5474c40f 700
30c4d8dc
MM
701*** Added `sql-connection-alist' to record login parameter values.
702An alist for recording different username, database and server
703values. If there are multiple databases that you connect to the
704parameters needed can be stored in this alist.
705
706For example, the following might be set in the user's init.el:
707
708 (setq sql-connection-alist
709 '((dev (sql-product 'sqlite)
710 (sql-database "/home/mmaug/dev.db"))
711 (prd (sql-product 'oracle)
712 (sql-user "mmaug")
713 (sql-database "iprd2a"))))
714
715This defines two connections named "dev" and "prd".
716
717*** Added `sql-connect' to use predefined connections.
718Sets the login parameters based on the values in the
719`sql-connection-alist' and start a SQL interactive session. Any
720values specified in the connection will not be prompted for.
721
722In the example above, if the user were to invoke M-x sql-connect, they
723would be prompted for the connection. The user can respond with
724either "dev" or "prd". The "dev" connection would connect to the
725SQLite database without prompting; the "prd" connection would prompt
726for the users password and then connect to the Oracle database.
727
d26b0ea9 728**** Added SQL->Start... submenu when connections are defined.
b2957ea8 729When connections have been defined, there is a submenu available that
d26b0ea9
MM
730allows the user to select one to start a SQLi session. The "Start
731SQLi Session" item moves to the "Start..." submenu when cnnections
732have been defined.
733
734**** Added "Save Connection" menu item in SQLi buffers.
735When a SQLi session is not started by a connection then
736`sql-save-connection' will gather the login params specified for the
737session and save them as a new connection.
738
74790210
MM
739*** List database objects and details.
740Once a SQL interactive session has been started, you can get a list of
741the objects in the database and see details of those objects. The
742objects shown and the details available are product specific.
743
744**** List all objects.
745Using `M-x sql-list-all', `C-c C-l a' or selecting "SQL->List all
746objects" will list all the objects in the database. At a minimum it
86485587 747lists the tables and views in the database. Preceding the command by
74790210
MM
748universal argument may provide additional details or extend the
749listing to include other schemas objects. The list will appear in a
750separate window in view-mode.
751
752**** List Table details.
753Using `M-x sql-list-table', `C-c C-l t' or selecting "SQL->List Table
754details" will ask for the name of a database table or view and display
86485587 755the list of columns in the relation. Preceding the command with the
74790210
MM
756universal argument may provide additional details about each column.
757The list will appear in a separate window in view-mode.
758
7492acc9
MM
759*** Added option `sql-send-terminator'.
760When set makes sure that each command sent with `sql-send-*' commands
761are properly terminated and submitted to the SQL processor.
762
763*** Added option `sql-oracle-scan-on'.
764When set commands sent to Oracle's SQL*Plus are scanned for strings
30c4d8dc
MM
765starting with an ampersand and the user is asked for replacement text.
766In general, the SQL*Plus option SCAN should always be set OFF under
767SQL interactive mode and this option used in its place.
7492acc9
MM
768
769*** SQL interactive mode will replace tabs with spaces.
86485587 770This prevents the command interpreter for MySQL and Postgres from
7492acc9
MM
771listing object name completions when being sent text via
772`sql-send-*' functions.
773
774*** An API for manipulating SQL product definitions has been added.
775
18af70d0
CY
776** Image mode
777
778*** RET (`image-toggle-animation') toggles animation, if the displayed
779image can be animated.
780
781*** Option `image-animate-loop', if non-nil, loops the animation.
782If nil, `image-toggle-animation' plays the animation once.
783
723ee192
SM
784** sregex.el is now obsolete, since rx.el is a strict superset.
785
6ca94a0b 786** s-region.el and pc-select are now declared obsolete,
86485587 787superseded by shift-select-mode enabled by default in 23.1.
6ca94a0b 788** pc-mode.el is also declared obsolete.
691cf4a0
NR
789** gdb-mi
790
791*** GDB User Interface migrated to GDB Machine Interface and now
792supports multithread non-stop debugging and debugging of several
793threads simultaneously.
794
37221432
MA
795** D-Bus
796
797*** It is possible now, to access alternative buses than the default
798system or session bus.
799
3c3d4f5b
MA
800*** dbus-register-{service,method,property}
801The -method and -property functions do not automatically register
802names anymore.
803
804The new function dbus-register-service registers a service known name
805on a D-Bus without simultaneously registering a property or a method.
412b9ee5 806
459bba37
MA
807** Tramp
808
a808d31f
MA
809*** There exists a new inline access method "ksu" (kerberized su).
810
459bba37 811*** The following access methods are discontinued: "ssh1_old",
ea843702 812"ssh2_old", "scp1_old", "scp2_old", "imap", "imaps" and "fish".
459bba37 813
58f74fe4
MA
814*** The option `ange-ftp-binary-file-name-regexp' has changed its
815default value to "".
816
0c32ce32
CY
817** VC and related modes
818
819*** Support for pulling on distributed version control systems.
659114fd 820The vc-pull command runs a "pull" operation, if it is supported.
0c32ce32 821This updates the current branch from upstream. A prefix argument
659114fd 822means to prompt the user for specifics, e.g. a pull location.
0c32ce32 823
7d93eca9 824**** `vc-update' is now an alias for `vc-pull'.
0c32ce32 825
659114fd 826**** Currently supported by Bzr, Git, and Mercurial.
0c32ce32
CY
827
828*** Support for merging on distributed version control systems.
829The vc-merge command now runs a "merge" operation, if it is supported.
659114fd
CY
830This merges another branch into the current one. This command prompts
831the user for specifics, e.g. a merge source.
0c32ce32 832
33f6cf7b 833**** Currently supported for Bzr, Git, and Mercurial.
0c32ce32 834
2afef60a 835*** New option `vc-revert-show-diff' controls whether `vc-revert'
bbe43420 836shows a diff while querying the user. It defaults to t.
2afef60a 837
d4eb88c7
CY
838*** Log entries in some Log View buffers can be toggled to display a
839longer description by typing RET (log-view-toggle-entry-display).
840In the Log View buffers made by `C-x v L' (vc-print-root-log), you can
841use this to display the full log entry for the revision at point.
842
33f6cf7b 843**** Currently supported for Bzr, Git, and Mercurial.
d4eb88c7
CY
844
845**** Packages using Log View mode can enable this functionality by
846binding `log-view-expanded-log-entry-function' to a suitable function.
847
1c6c854e
CS
848*** New command `vc-ediff' allows visual comparison of two revisions
849of a file similar to `vc-diff', but using ediff backend.
850
ca5eed61
AM
851** CC Mode (C, C++, etc.)
852
853*** New feature to "guess" the style in an existing buffer.
854
0fe719e6
GM
855** Miscellaneous
856
9f678528
GM
857+++
858*** f90.el has some support for Fortran 2008 syntax.
859
0fe719e6
GM
860---
861*** `copyright-fix-years' can optionally convert consecutive years to ranges.
862
5b3e6db8
GM
863*** New command `nato-region' converts text to NATO phonetic alphabet.
864
0f0c1f27
EZ
865*** The new command `info-display-manual' will display an Info manual
866specified by its name. If that manual is already visited in some Info
867buffer within the current session, the command will display that
868buffer. Otherwise, it will load the manual and display it. This is
869handy if you have many manuals in many Info buffers, and don't
870remember the name of the buffer visiting the manual you want to
871consult.
872
eb199145
GM
873\f
874* New Modes and Packages in Emacs 24.1
d445b3f8 875
60e56523
LL
876** Occur Edit mode applies edits made in *Occur* buffers to the
877original buffers. It is bound to C-x C-q in Occur mode.
878
7100ff98
SM
879** New global minor modes electric-pair-mode, electric-indent-mode,
880and electric-layout-mode.
3b843809 881
a83ec3c9
CY
882** tabulated-list.el provides a generic major mode for tabulated data,
883from which other modes can be derived.
884
d02c9bcd
SM
885** pcase.el provides the ML-style pattern matching macro `pcase'.
886
7725ebb7
MA
887** secrets.el is an implementation of the Secret Service API, an
888interface to password managers like GNOME Keyring or KDE Wallet. The
065f2743
MA
889Secret Service API requires D-Bus for communication. The command
890`secrets-show-secrets' offers a buffer with a visualization of the
891secrets.
7725ebb7 892
f9e78150
MA
893** notifications.el provides an implementation of the Desktop
894Notifications API. It requires D-Bus for communication.
895
12fe5bcc
MA
896** soap-client.el supports access to SOAP web services from Emacs.
897soap-inspect.el is an interactive inspector for SOAP WSDL structures.
898
ad7d6ecb
GM
899** xmodmap-generic-mode for xmodmap files.
900
53bbe3ad
JB
901** New emacs-lock.el package.
902(The pre-existing one has been renamed to old-emacs-lock.el and moved
903to obsolete/.) Now, Emacs Lock is a proper minor mode
904`emacs-lock-mode'. Protection against exiting Emacs and killing the
905buffer can be set separately. The mechanism for auto turning off
906protection for buffers with inferior processes has been generalized.
907
eb199145
GM
908\f
909* Incompatible Lisp Changes in Emacs 24.1
6dfcbe31 910
fa6996bc
EZ
911---
912** `char-direction-table' and the associated function `char-direction'
913were deleted. They were buggy and inferior to the new support of
914bidirectional editing introduced in Emacs 24. If you need the
915bidirectional properties of a character, use `get-char-code-property'
916with the last argument `bidi-class'.
917
470d996d
TV
918** `copy-directory' now copies the source directory as a subdirectory
919of the target directory, if the latter is an existing directory. The
920new optional arg COPY-CONTENTS, if non-nil, makes the function copy
921the contents directly into a pre-existing target directory.
922
25ca2e61
CY
923** `compose-mail' now accepts an optional 8th arg, RETURN-ACTION, and
924passes it to the mail user agent function. This argument specifies an
925action for returning to the caller after finishing with the mail.
926This is currently used by Rmail to delete a mail window.
927
9173a8fb
CY
928** For mouse click input events in the text area, the Y pixel
929coordinate in the POSITION list now counts from the top of the text
930area, excluding any header line. Previously, it counted from the top
931of the header line.
932
c4d17d50
SM
933** Remove obsolete name `e' (use `float-e' instead).
934
288cf4e9
SM
935** A backquote not followed by a space is now always treated as new-style.
936
fd5c9dfa 937** Test for special mode-class was moved from view-file to view-buffer.
288cf4e9
SM
938FIXME: This only says what was changed, but not what are the
939programmer-visible consequences.
fd5c9dfa 940
3b7e1d5f 941** Passing a nil argument to a minor mode function now turns the mode
0a19a6f8 942ON unconditionally.
6431f2e6
CY
943
944** During startup, Emacs no longer adds entries for `menu-bar-lines'
0a19a6f8
JB
945and `tool-bar-lines' to `default-frame-alist' and `initial-frame-alist'.
946With these alist entries omitted, `make-frame' checks the value of the
947variable `menu-bar-mode'/`tool-bar-mode' to determine whether to create
948a menu-bar or tool-bar, respectively. If the alist entries are added,
949they override the value of `menu-bar-mode'/`tool-bar-mode'.
6431f2e6 950
fe0aa820
CY
951** Regions created by mouse dragging are now normal active regions,
952similar to the ones created by shift-selection. In previous Emacs
953versions, these regions were delineated by `mouse-drag-overlay', which
954has now been removed.
d6d8ee7a 955
4583e796
GM
956** cl.el no longer provides `cl-19'.
957
3226d6ca
GM
958** The following functions and aliases, obsolete since at least Emacs 21.1,
959have been removed:
960comint-kill-output, decompose-composite-char, outline-visible,
961internal-find-face, internal-get-face, frame-update-faces,
962frame-update-face-colors, x-frob-font-weight, x-frob-font-slant,
963x-make-font-bold, x-make-font-demibold, x-make-font-unbold
964x-make-font-italic, x-make-font-oblique, x-make-font-unitalic
965x-make-font-bold-italic, mldrag-drag-mode-line, mldrag-drag-vertical-line,
922ad43e
GM
966iswitchb-default-keybindings, char-bytes, isearch-return-char,
967make-local-hook
3226d6ca
GM
968
969** The following variables and aliases, obsolete since at least Emacs 21.1,
970have been removed:
6aecca99
GM
971checkdoc-minor-keymap, vc-header-alist, directory-sep-char,
972font-lock-defaults-alist
3226d6ca 973
7b0e3048
GM
974** The following files, obsolete since at least Emacs 21.1, have been removed:
975sc.el, x-menu.el, rnews.el, rnewspost.el
976
33658d4e
CY
977** FIXME finder-inf.el changes.
978
eb199145
GM
979\f
980* Lisp changes in Emacs 24.1
9097e8af 981
a2a25d24
SM
982** Completion
983*** New variable completion-extra-properties used to specify extra properties
984of the current completion:
985- :annotate-function, same as the old completion-annotate-function.
986- :exit-function, function to call after completion took place.
987
988*** Functions on completion-at-point-functions can return any of the properties
989valid for completion-extra-properties.
990
991*** completion-annotate-function is obsolete.
992
620c53a6
SM
993*** New `metadata' method for completion tables. The metadata thus returned
994can specify various details of the data returned by `all-completions':
995- `category' is the kind of objects returned (e.g., `buffer', `file', ...),
996 used to select a style in completion-category-overrides.
997- `annotation-function' to add annotations in *Completions*.
998- `display-sort-function' to specify how to sort entries in *Completions*.
999- `cycle-sort-function' to specify how to sort entries when cycling.
1000
f042970d 1001** `glyphless-char-display' can now distinguish between graphical and
16a43933
CY
1002text terminal display, via a char-table entry that is a cons cell.
1003
da91b5f2
CY
1004** `open-network-stream' can now be used to open an encrypted stream.
1005It now accepts an optional `:type' parameter for initiating a TLS
1006connection, directly or via STARTTLS. To do STARTTLS, additional
1007parameters (`:end-of-command', `:success', `:capabilities-command')
1008must also be supplied.
1009
03408648
SM
1010** Code can now use lexical scoping by default instead of dynamic scoping.
1011The `lexical-binding' variable lets code use lexical scoping for local
1012variables. It is typically set via file-local variables, in which case it
1013applies to all the code in that file.
1014
1015*** `eval' takes a new optional argument `lexical' to choose the new lexical
1016binding instead of the old dynamic binding mode.
1017
1018*** Lexically scoped interpreted functions are represented with a new form
1019of function value which looks like (closure ENV ARGS &rest BODY).
1020
1021*** New macro `letrec' to define recursive local functions.
1022
1023*** New function `special-variable-p' to check whether a variable is
1024declared as dynamically bound.
1025
f6d62986
SM
1026** pre/post-command-hook are not reset to nil upon error.
1027Instead, the offending function is removed.
1028
1029** New low-level function run-hook-wrapped.
1030
7deebf1b
LMI
1031** `server-eval-at' is provided to allow evaluating forms on different
1032Emacs server instances.
1033
1034** `call-process' allows a `(:file "file")' spec to redirect STDOUT to
1035a file.
1036
53cfe624 1037** byte-compile-disable-print-circle is obsolete.
78f64af0 1038** deferred-action-list and deferred-action-function are obsolete.
e7f7fbaa
SM
1039** Removed the stack-trace-on-error variable.
1040Also the debugger can now "continue" from an error, which means it will jump
1041to the error handler as if the debugger had not been invoked instead of
1042jumping all the way to the top-level.
1043
3ef01959
CY
1044** New function `read-char-choice' reads a restricted set of characters,
1045discarding any inputs not inside the set.
1046
2e288d54
JB
1047** `image-library-alist' is renamed to `dynamic-library-alist'.
1048The variable is now used to load all kind of supported dynamic libraries,
1049not just image libraries. The previous name is still available as an
1050obsolete alias.
1051
cf38dd42
SM
1052** New variable syntax-propertize-function to set syntax-table properties.
1053Replaces font-lock-syntactic-keywords which are now obsolete.
1054This allows syntax-table properties to be set independently from font-lock:
1055just call syntax-propertize to make sure the text is propertized.
1056Together with this new variable come a new hook
1057syntax-propertize-extend-region-functions, as well as two helper functions:
1058syntax-propertize-via-font-lock to reuse old font-lock-syntactic-keywords
1059as-is; and syntax-propertize-rules which provides a new way to specify
1060syntactic rules.
1061
a2e5caf7
SM
1062** New hook post-self-insert-hook run at the end of self-insert-command.
1063
7cf78aac 1064+++
c5683ceb 1065** Syntax tables support a new "comment style c" additionally to style b.
4e2db1fe 1066** frame-local variables cannot be let-bound any more.
10dcc561 1067** prog-mode is a new major-mode meant to be the parent of programming mode.
f44379e7
SM
1068** define-minor-mode accepts a new keyword :variable.
1069
b2957ea8 1070** `delete-file' and `delete-directory' now accept optional arg TRASH.
f1a5d776
CY
1071Trashing is performed if TRASH and `delete-by-moving-to-trash' are
1072both non-nil. Interactively, TRASH defaults to t, unless a prefix
1073argument is supplied (see Trash changes, above).
53967e09 1074
8f92b8ad
SM
1075** buffer-substring-filters is obsoleted by filter-buffer-substring-functions.
1076
9317e499
CY
1077** `facemenu-read-color' is now an alias for `read-color'.
1078The command `read-color' now requires a match for a color name or RGB
1079triplet, instead of signalling an error if the user provides a invalid
1080input.
1081
4039c786
CY
1082** Tool-bars can display separators.
1083Tool-bar separators are handled like menu separators in menu-bar maps,
94975270 1084i.e. via menu entries of the form `(menu-item "--")'.
9317e499 1085
00fe2df1
JL
1086** Image API
1087
18af70d0
CY
1088*** Animated images support (currently animated gifs only).
1089
1090**** `image-animated-p' returns non-nil if an image can be animated.
1091
1092**** `image-animate' animates a supplied image spec.
1093
1094**** `image-animate-timer' returns the timer object for an image that
1095is being animated.
00fe2df1 1096
1546c559
JL
1097*** `image-extension-data' is renamed to `image-metadata'.
1098
71c17aec
LMI
1099** XML and HTML parsing
1100
1101*** If Emacs is compiled with libxml2 support (which is the default),
4b9832a6 1102two new Emacs Lisp-level functions are defined:
84156e94
MA
1103`libxml-parse-html-region' (which will parse "real world" HTML)
1104and `libxml-parse-xml-region' (which parses XML). Both return an
4b9832a6
CY
1105Emacs Lisp parse tree.
1106
1107FIXME: These should be front-ended by xml.el.
1108
e2574f2c
TZ
1109** GnuTLS
1110
1111*** Emacs can be compiled with libgnutls support
1112This is the default. You will then be able to use the functionality
1113in gnutls.el, namely the `open-gnutls-stream' and `gnutls-negotiate'
1114functions. It's easiest to use these functions through
1115`open-network-stream' because it can upgrade connections through
1116STARTTLS opportunistically or use plain SSL, depending on your needs.
1117
1118Only versions 2.8.x and higher or GnuTLS have been tested.
1119
1120*** gnutls-log-level
1121Set `gnutls-log-level' higher than 0 to get debug output. 1 is for
1122important messages, 2 is for debug data, and higher numbers are as per
1123the GnuTLS logging conventions. The output is in *Messages*.
71c17aec 1124
a6020335
MH
1125** Isearch
1126
1127*** New hook `isearch-update-post-hook' that runs in `isearch-update'.
1128
9326ba26
CY
1129** Progress reporters can now "spin".
1130The MIN-VALUE and MAX-VALUE arguments of `make-progress-reporter' can
1131now be nil, or omitted. This makes a "non-numeric" reporter. Each
1132time you call `progress-reporter-update' on that progress reporter,
1133with a nil or omitted VALUE argument, the reporter message is
1134displayed with a "spinning bar".
1135
3e214b50
JB
1136** New variable `revert-buffer-in-progress-p' is true while a buffer is
1137being reverted, even if the buffer has a local `revert-buffer-function'.
1138
638f053a
JB
1139** New variables `delayed-warnings-list' and `delayed-warnings-hook' allow
1140deferring warnings until the main command loop is executed.
1141
e145f188
GM
1142+++
1143** `set-auto-mode' now respects mode: local variables at the end of files,
1144as well as those in the -*- line.
1145
6420d28b
CY
1146---
1147** rx.el has a new `group-n' construct for explicitly numbered groups.
1148
3349e122 1149** keymaps can inherit from multiple parents.
eb199145
GM
1150\f
1151* Changes in Emacs 24.1 on non-free operating systems
d53a60a6 1152
0a19a6f8 1153** New configure.bat option --enable-checking builds Emacs with extra
04779484
JB
1154runtime checks.
1155
e3aef5c6 1156** New configure.bat option --distfiles to specify files to be
0a19a6f8 1157included in binary distribution.
e3aef5c6 1158
e2574f2c
TZ
1159** New configure.bat option --without-gnutls to disable automatic
1160GnuTLS detection.
1161
1162** New configure.bat option --lib for general library linkage, works
1163with the USER_LIBS build variable.
1164
0a19a6f8 1165** New make target `dist' to create binary distribution for MS Windows.
e3aef5c6 1166
05197f40 1167\f
a933dad1 1168----------------------------------------------------------------------
5b87ad55 1169This file is part of GNU Emacs.
a933dad1 1170
ab73e885 1171GNU Emacs is free software: you can redistribute it and/or modify
5b87ad55 1172it under the terms of the GNU General Public License as published by
ab73e885
GM
1173the Free Software Foundation, either version 3 of the License, or
1174(at your option) any later version.
5b87ad55
GM
1175
1176GNU Emacs is distributed in the hope that it will be useful,
1177but WITHOUT ANY WARRANTY; without even the implied warranty of
1178MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1179GNU General Public License for more details.
a933dad1 1180
5b87ad55 1181You should have received a copy of the GNU General Public License
ab73e885 1182along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
a933dad1 1183
05197f40 1184\f
a933dad1
DL
1185Local variables:
1186mode: outline
1187paragraph-separate: "[ \f]*$"
1188end: