aboutsummaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rw-r--r--etc/NEWS936
1 files changed, 401 insertions, 535 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 0139c8da15d..eabb0f266b7 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -231,323 +231,263 @@ directory where Emacs was running.
231 231
232* Installation Changes in Emacs 24.3 232* Installation Changes in Emacs 24.3
233 233
234--- 234** The default X toolkit is now Gtk+ version 3.
235** The default toolkit has been changed to Gtk+ version 3. 235If you don't pass `--with-x-toolkit' to configure, or if you use
236If you don't pass --with-x-toolkit to configure or if you pass 236`--with-x-toolkit=gtk' or `--with-x-toolkit=yes', configure will try
237--with-x-toolkit=gtk or --with-x-toolkit=yes, configure will try to build 237to build with Gtk+ version 3, and if that fails, try Gtk+ version 2.
238with Gtk+ version 3, and if that fails, try Gtk+ version 2.
239You can explicitly require a specific version by passing 238You can explicitly require a specific version by passing
240--with-x-toolkit=gtk2 or --with-x-toolkit=gtk3 to configure. 239`--with-x-toolkit=gtk2' or `--with-x-toolkit=gtk3' to configure.
241
242---
243** New configure option '--without-all' to disable additional features.
244This disables most of the features that are normally enabled by default.
245 240
246--- 241** New configure option `--enable-link-time-optimization', to utilize
247** New configure option '--enable-link-time-optimization' to utilize
248an appropriate feature provided by GCC since version 4.5.0. 242an appropriate feature provided by GCC since version 4.5.0.
249 243
250--- 244** New configure option `--without-all' to disable most of the optional
251** New configure option '--enable-gcc-warnings', intended for developers. 245features (image support, etc.) that are normally enabled by default.
252If building with GCC, this enables compile-time checks that warn about
253possibly-questionable C code. On a recent GNU system there should be
254no warnings; on older and on non-GNU systems the generated warnings
255may be useful.
256 246
257--- 247** New configure option `--enable-gcc-warnings' (for developing/debugging
258** The configure option '--enable-use-lisp-union-type' has been 248Emacs). If building with GCC, this enables compile-time checks that
259renamed to '--enable-check-lisp-object-type', as the resulting 249warn about possibly-questionable C code. On a recent GNU system there
250should be no warnings; on older and on non-GNU systems the generated
251warnings may be useful.
252
253** The configure option `--enable-use-lisp-union-type' has been
254renamed to `--enable-check-lisp-object-type', as the resulting
260Lisp_Object type no longer uses a union to implement the compile time 255Lisp_Object type no longer uses a union to implement the compile time
261check that this option enables. 256check that this option enables.
262 257
263--- 258** The configure option `--disable-maintainer-mode' has been removed,
264** The configure option '--disable-maintainer-mode' has been removed,
265as it was confusingly-named and rarely useful. 259as it was confusingly-named and rarely useful.
266 260
267---
268** You can use `NO_BIN_LINK=t make install' to prevent the installation
269overwriting "emacs" in the installation bin/ directory with a link
270to emacs-VERSION.
271
272---
273** The configure options `--program-prefix', `--program-suffix', and 261** The configure options `--program-prefix', `--program-suffix', and
274`--program-transform-name' apply to more than just the installed 262`--program-transform-name' apply to more than just the installed
275binaries. Now they also affect the man pages, icons, and the 263binaries. Now they also affect the man pages, icons, and the
276etc/emacs.desktop file; but not the info pages, since this would break 264etc/emacs.desktop file; but not the info pages, since this would break
277links between the various manuals. 265links between the various manuals.
278 266
279--- 267** You can use `NO_BIN_LINK=t make install' to prevent the installation
268overwriting "emacs" in the installation bin/ directory with a link
269to "emacs-VERSION".
270
280** Emacs uses libtinfo in preference to libncurses, if available. 271** Emacs uses libtinfo in preference to libncurses, if available.
281 272
282---
283** On FreeBSD and NetBSD, configure no longer adds /usr/local/lib and 273** On FreeBSD and NetBSD, configure no longer adds /usr/local/lib and
284/usr/pkg/lib to the linker search path. You must add them yourself if 274/usr/pkg/lib to the linker search path. You must add them yourself if
285you want them. 275you want them.
286 276
287--- 277** The standalone scripts `rcs-checkin' and `vcdiff' have been removed
288** The standalone scripts rcs-checkin and vcdiff have been removed
289(from the bin and libexec directories, respectively). The former is 278(from the bin and libexec directories, respectively). The former is
290no longer relevant, the latter is replaced by lisp (in vc-sccs.el). 279no longer relevant, the latter is replaced by lisp (in vc-sccs.el).
291 280
292 281
293* Startup Changes in Emacs 24.3 282* Startup Changes in Emacs 24.3
294 283
295+++
296** Emacs no longer searches for `leim-list.el' files beneath the standard 284** Emacs no longer searches for `leim-list.el' files beneath the standard
297lisp/ directory. There should not be any there anyway. If you have 285lisp/ directory. There should not be any there anyway. If you have
298been adding them there, put them somewhere else, eg site-lisp. 286been adding them there, put them somewhere else; e.g., site-lisp.
299 287
300---
301** The `--no-site-lisp' command line option now works for Nextstep builds. 288** The `--no-site-lisp' command line option now works for Nextstep builds.
302 289
303 290
304* Changes in Emacs 24.3 291* Changes in Emacs 24.3
305 292
306+++ 293** Help
307** Most y-or-n prompts now allow you to scroll the selected window.
308Typing C-v or M-v at a y-or-n prompt scrolls forward or backward
309respectively, without exiting from the prompt.
310
311** Mode line changes
312---
313*** New option `mode-line-default-help-echo' specifies the help text
314(shown in a tooltip or in the echo area) for any part of the mode line
315that does not have its own specialized help text.
316+++
317*** You can now click mouse-3 in the coding system indicator to invoke
318`set-buffer-file-coding-system'.
319
320** Help changes
321 294
322+++ 295*** `C-h f' (`describe-function') can now perform autoloading.
323*** `C-h f' (describe-function) can now perform autoloading.
324When this command is called for an autoloaded function whose docstring 296When this command is called for an autoloaded function whose docstring
325contains a key substitution construct, that function's library is 297contains a key substitution construct, that function's library is
326automatically loaded, so that the documentation can be shown 298automatically loaded, so that the documentation can be shown
327correctly. To disable this, set `help-enable-auto-load' to nil. 299correctly. To disable this, set `help-enable-auto-load' to nil.
328 300
329---
330*** `C-h f' now reports previously-autoloaded functions as "autoloaded", 301*** `C-h f' now reports previously-autoloaded functions as "autoloaded",
331even after their associated libraries have been loaded (and the 302even after their associated libraries have been loaded (and the
332autoloads have been redefined as functions). 303autoloads have been redefined as functions).
333 304
334** Minibuffer changes 305** ImageMagick
335---
336*** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the
337next and previous path separator, respectively.
338+++
339*** minibuffer-electric-default-mode can rewrite (default ...) to [...].
340Just set minibuffer-eldef-shorten-default to t before enabling the mode.
341 306
342+++ 307*** Images displayed via ImageMagick now support transparency and the
343** ImageMagick support, if available, is automatically enabled. 308:background image specification property.
309
310*** When available, ImageMagick support is automatically enabled.
344It is no longer necessary to call `imagemagick-register-types' 311It is no longer necessary to call `imagemagick-register-types'
345explicitly to install ImageMagick image types; that function is called 312explicitly to install ImageMagick image types; that function is called
346automatically at startup, or when customizing an imagemagick- option. 313automatically at startup, or when customizing an imagemagick- option.
347+++ 314
348*** Setting `imagemagick-types-inhibit' to t now disables the use of 315*** Setting `imagemagick-types-inhibit' to t now disables the use of
349ImageMagick to view images. You must call imagemagick-register-types 316ImageMagick to view images. (You must call `imagemagick-register-types'
350afterwards if you do not use customize to change this. 317afterwards if you do not use customize to change this.)
351+++ 318
352*** The new variable `imagemagick-enabled-types' also affects which 319*** The new variable `imagemagick-enabled-types' also affects which
353ImageMagick types are treated as images. The function 320ImageMagick types are treated as images. The function
354`imagemagick-filter-types' returns the list of types that will be 321`imagemagick-filter-types' returns the list of types that will be
355treated as images. 322treated as images.
356---
357*** Images displayed via ImageMagick now support transparency and the
358:background image spec property.
359 323
360** Server and client changes 324** Minibuffer
361+++ 325
326*** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the
327next and previous path separator, respectively.
328
329*** `minibuffer-electric-default-mode' can shorten "(default ...)" to "[...]"
330in minibuffer prompts. Just set `minibuffer-eldef-shorten-default'
331non-nil before enabling the mode.
332
333** Mode line
334
335*** New option `mode-line-default-help-echo' specifies the help text
336(shown in a tooltip or in the echo area) for any part of the mode line
337that does not have its own specialized help text.
338
339*** You can now click mouse-3 in the coding system indicator to invoke
340`set-buffer-file-coding-system'.
341
342** Server and client
343
362*** emacsclient now obeys string values for `initial-buffer-choice', 344*** emacsclient now obeys string values for `initial-buffer-choice',
363if it is told to open a new frame without specifying any file to visit 345if it is told to open a new frame without specifying any file to visit
364or expression to evaluate. 346or expression to evaluate.
365---
366*** New option `server-auth-key' specifies a shared server key.
367
368+++
369** In the Package Menu, newly-available packages are listed as "new",
370and sorted above the other "available" packages by default.
371 347
372+++ 348*** New option `server-auth-key' specifies a shared server key.
373** `C-x C-q' is now bound to the new minor mode `read-only-mode'.
374This minor mode replaces `toggle-read-only', which is now obsolete.
375 349
376+++
377** Emacs now generates backtraces on fatal errors. 350** Emacs now generates backtraces on fatal errors.
378On encountering a fatal error, Emacs now outputs a textual description 351On encountering a fatal error, Emacs now outputs a textual description
379of the fatal signal, and a short backtrace on platforms like glibc 352of the fatal signal, and a short backtrace on platforms like glibc
380that support backtraces. 353that support backtraces.
381 354
382--- 355** `C-x C-q' is now bound to the new minor mode `read-only-mode'.
356This minor mode replaces `toggle-read-only', which is now obsolete.
357
358** Most `y-or-n' prompts now allow you to scroll the selected window.
359Typing `C-v' or `M-v' at a y-or-n prompt scrolls forward or backward
360respectively, without exiting from the prompt.
361
362** In the Package Menu, newly-available packages are listed as "new",
363and sorted above the other "available" packages by default.
364
383** If your Emacs was built from a bzr checkout, the new variable 365** If your Emacs was built from a bzr checkout, the new variable
384`emacs-bzr-version' contains information about the bzr revision used. 366`emacs-bzr-version' contains information about the bzr revision used.
385 367
386+++ 368** New option `create-lockfiles' specifies usage of lockfiles.
387** New variable `create-lockfiles' specifies usage of lockfiles.
388It defaults to t. Changing it to nil inhibits the creation of lock 369It defaults to t. Changing it to nil inhibits the creation of lock
389files (use this with caution). 370files (use this with caution).
390 371
391+++ 372** New option `enable-remote-dir-locals', if non-nil, allows directory-local
392** Using "unibyte: t" in Lisp source files is obsolete. 373variables on remote hosts.
393Use "coding: raw-text" instead.
394 374
395+++
396** Setting `enable-remote-dir-locals' to non-nil allows directory
397local variables on remote hosts.
398
399---
400** The entry for PCL-CVS has been removed from the Tools menu. 375** The entry for PCL-CVS has been removed from the Tools menu.
401The PCL-CVS commands are still available via the keyboard. 376The PCL-CVS commands are still available via the keyboard.
402 377
403** Internationalization changes 378** Using "unibyte: t" in Lisp source files is obsolete.
404--- 379Use "coding: raw-text" instead.
380
381** Internationalization
382
405*** New language environment: Persian. 383*** New language environment: Persian.
406--- 384
407*** New input method `vietnamese-vni'. 385*** New input method `vietnamese-vni'.
408 386
409** Nextstep (GNUstep / Mac OS X) port changes 387** Nextstep (GNUstep / Mac OS X) port
410--- 388
411*** Fullscreen and frame parameter fullscreen is supported. 389*** Support for fullscreen and the frame parameter fullscreen.
412--- 390
413*** A file dialog is used for open/save operations initiated from the 391*** A file dialog is used for open/save operations initiated from the
414menu/toolbar. 392menu/toolbar.
415 393
416 394
417* Editing Changes in Emacs 24.3 395* Editing Changes in Emacs 24.3
418 396
419** Navigation command changes 397** Search and Replace
420+++
421*** New binding `M-g c' for `goto-char'.
422+++
423*** New binding `M-g TAB' for `move-to-column'.
424+++
425*** `M-g TAB' (`move-to-column') prompts for a column number if called
426interactively with no prefix arg. Previously, it moved to column 1.
427 398
428** Search and Replace changes
429+++
430*** Non-regexp Isearch now performs "lax" space matching. 399*** Non-regexp Isearch now performs "lax" space matching.
431Each sequence of spaces in the supplied search string may match any 400Each sequence of spaces in the supplied search string may match any
432sequence of one or more whitespace characters, as specified by the 401sequence of one or more whitespace characters, as specified by the
433variable `search-whitespace-regexp'. (This variable is also used by a 402variable `search-whitespace-regexp'. (This variable is also used by a
434similar existing feature for regexp Isearch). 403similar existing feature for regexp Isearch.)
435+++ 404
436*** New Isearch command `M-s SPC' toggles lax space matching. 405*** New Isearch command `M-s SPC' toggles lax space matching.
437This applies to both ordinary and regexp Isearch. 406This applies to both ordinary and regexp Isearch.
438+++ 407
439*** New option `replace-lax-whitespace'. 408*** New option `replace-lax-whitespace'.
440If non-nil, `query-replace' uses flexible whitespace matching too. 409If non-nil, `query-replace' uses flexible whitespace matching too.
441The default is nil. 410The default is nil.
442+++ 411
443*** Global `M-s _' starts a symbol (identifier) incremental search, 412*** Global `M-s _' starts a symbol (identifier) incremental search,
444and `M-s _' in Isearch toggles symbol search mode. 413and `M-s _' in Isearch toggles symbol search mode.
445`M-s c' in Isearch toggles search case-sensitivity. 414`M-s c' in Isearch toggles search case-sensitivity.
446 415
447+++ 416** Navigation commands
448** `C-x 8 RET' is now bound to `insert-char', which is now a command.
449`ucs-insert' is now an obsolete alias for `insert-char'.
450 417
451--- 418*** New binding `M-g c' for `goto-char'.
452** The `z' key no longer has a binding in most special modes. 419
453It used to be bound to `kill-this-buffer', but `z' is too easy to 420*** New binding `M-g TAB' for `move-to-column'.
454accidentally type. 421
422*** `M-g TAB' (`move-to-column') prompts for a column number if called
423interactively with no prefix arg. Previously, it moved to column 1.
424
425** New option `yank-handled-properties' allows processing of text
426properties on yanked text, in ways that are more general than just
427removing them (as is done by `yank-excluded-properties').
455 428
456+++
457** New option `delete-trailing-lines' specifies whether 429** New option `delete-trailing-lines' specifies whether
458M-x delete-trailing-whitespace should delete trailing lines at the end 430M-x delete-trailing-whitespace should delete trailing lines at the end
459of the buffer. It defaults to t. 431of the buffer. It defaults to t.
460 432
461** Register changes
462+++
463*** `C-x r +' is now overloaded to invoke `append-to-register.
464+++
465*** New option `register-separator' specifies the register containing
466the text to put between collected texts for use with M-x
467append-to-register and M-x prepend-to-register.
468
469+++
470** `C-u M-=' now counts lines/words/characters in the entire buffer. 433** `C-u M-=' now counts lines/words/characters in the entire buffer.
471 434
472+++ 435** `C-x 8 RET' is now bound to `insert-char', which is now a command.
473** New command `C-x r M-w' (copy-rectangle-as-kill). 436`ucs-insert' is now an obsolete alias for `insert-char'.
474It copies the region-rectangle as the last rectangle kill.
475
476+++
477** New option `yank-handled-properties' allows processing of text
478properties on yanked text, in more ways that are more general than
479just removing them, as done by `yank-excluded-properties'.
480
481
482* Changes in Specialized Modes and Packages in Emacs 24.3
483 437
484** Apropos 438** The `z' key no longer has a binding in most special modes.
485--- 439It used to be bound to `kill-this-buffer', but `z' is too easy to
486*** The faces used by Apropos are now directly customizable. 440accidentally type.
487These faces are named `apropos-symbol', `apropos-keybinding', and so on;
488see the `apropos' Custom group for details.
489---
490*** The old options whose values specified faces to use were removed
491(i.e. `apropos-symbol-face', `apropos-keybinding-face', etc.).
492 441
493** Buffer Menu 442** New command `C-x r M-w' (`copy-rectangle-as-kill').
494This package has been rewritten to use Tabulated List mode. 443It copies the region-rectangle as the last rectangle kill.
495---
496*** Option `Buffer-menu-buffer+size-width' is now obsolete.
497Use `Buffer-menu-name-width' and `Buffer-menu-size-width' instead.
498 444
499** Calendar 445** Registers
500 446
501+++ 447*** `C-x r +' is now overloaded to invoke `append-to-register'.
502*** You can customize the header text that appears above each calendar month.
503See the variable `calendar-month-header'.
504 448
505+++ 449*** New option `register-separator' specifies the register containing
506*** New LaTeX calendar style, produced by `cal-tex-cursor-week2-summary'. 450the text to put between collected texts for use with
451M-x append-to-register and M-x prepend-to-register.
507 452
508+++ 453
509*** The calendars produced by cal-html include holidays. 454* Changes in Specialized Modes and Packages in Emacs 24.3
510Customize `cal-html-holidays' to change this.
511 455
512** CL 456** Common Lisp emulation (CL)
513 457
514+++
515*** CL's main entry is now (require 'cl-lib). 458*** CL's main entry is now (require 'cl-lib).
516`cl-lib' is like the old `cl' except that it uses the namespace cleanly, 459`cl-lib' is like the old `cl' except that it uses the namespace cleanly;
517i.e. all its definitions have the "cl-" prefix (and internal definitions use 460i.e., all its definitions have the "cl-" prefix (and internal definitions
518the "cl--" prefix). 461use the "cl--" prefix).
519 462
520If `cl' provided a feature under the name `foo', then `cl-lib' provides it 463If `cl' provided a feature under the name `foo', then `cl-lib'
521under the name `cl-foo' instead, with the exceptions of the few definitions 464provides it under the name `cl-foo' instead; with the exceptions of the
522that had to use `foo*' to avoid conflicts with pre-existing Elisp entities, 465few `cl' definitions that had to use `foo*' to avoid conflicts with
523which have not been renamed to `cl-foo*' but just `cl-foo'. 466pre-existing Elisp entities. These have been renamed to `cl-foo'
467rather than `cl-foo*'.
524 468
525The old `cl' is now deprecated and is mainly just a bunch of aliases that 469The old `cl' is now deprecated and is mainly just a bunch of aliases that
526provide the old non-prefixed names. Some exceptions are listed below. 470provide the old, non-prefixed names. Some exceptions are listed below:
527 471
528+++
529*** `cl-flet' is not like `flet' (which is deprecated). 472*** `cl-flet' is not like `flet' (which is deprecated).
530Instead it obeys the behavior of Common-Lisp's `flet'. 473Instead it obeys the behavior of Common-Lisp's `flet'.
531In particular, in cl-flet function definitions are lexically scoped, 474In particular, in cl-flet function definitions are lexically scoped,
532whereas in flet the scoping is dynamic. 475whereas in flet the scoping is dynamic.
533 476
534+++
535*** `cl-labels' is slightly different from `labels'. 477*** `cl-labels' is slightly different from `labels'.
536The difference is that it relies on the `lexical-binding' machinery (as opposed 478The difference is that it relies on the `lexical-binding' machinery
537to the `lexical-let' machinery used previously) to capture definitions in 479(as opposed to the `lexical-let' machinery used previously) to capture
538closures, so such closures will only work if `lexical-binding' is in use. 480definitions in closures, so such closures will only work if `lexical-binding'
481is in use.
539 482
540+++
541*** `cl-letf' is not exactly like `letf'. 483*** `cl-letf' is not exactly like `letf'.
542The only difference is in details that relate to some deprecated usage 484The only difference is in details that relate to some deprecated usage
543of `symbol-function' in place forms. 485of `symbol-function' in place forms.
544 486
545+++
546*** `progv' was rewritten to use the `let' machinery. 487*** `progv' was rewritten to use the `let' machinery.
547A side effect is that vars without corresponding value are bound to nil 488A side effect is that variables without corresponding values are bound
548rather than making them unbound. 489to nil rather than being made unbound.
549 490
550+++
551*** The following methods of extending `setf' are obsolete 491*** The following methods of extending `setf' are obsolete
552(use features from gv.el instead): 492(use features from gv.el instead):
553`define-modify-macro' (use `gv-letplace') 493`define-modify-macro' (use `gv-letplace')
@@ -555,295 +495,281 @@ rather than making them unbound.
555`define-setf-expander' (use `gv-define-setter' or `gv-define-expander') 495`define-setf-expander' (use `gv-define-setter' or `gv-define-expander')
556`get-setf-method' no longer exists (see "Incompatible Lisp Changes") 496`get-setf-method' no longer exists (see "Incompatible Lisp Changes")
557 497
558+++ 498** Diff mode
559** New compilation option `compilation-always-kill'.
560 499
561** Customize 500*** Changes are now highlighted using the same color scheme as in
562--- 501modern VCSes. Deletions are displayed in red (new faces
563*** `custom-reset-button-menu' now defaults to t. 502`diff-refine-removed' and `smerge-refined-removed', and new definition
564--- 503of `diff-removed'), insertions in green (new faces `diff-refine-added'
565*** Non-option variables are never matched in `customize-apropos' and 504and `smerge-refined-added', and new definition of `diff-added').
566`customize-apropos-options' (i.e. the prefix argument does nothing for
567these commands now).
568 505
569--- 506*** The variable `diff-use-changed-face' defines whether to use the
570** `desktop-path' no longer includes the "." directory. 507face `diff-changed', or `diff-removed' and `diff-added' to highlight
571Desktop files are now located in ~/.emacs.d by default. 508changes in context diffs.
509
510*** The new command `diff-delete-trailing-whitespace' removes trailing
511whitespace introduced by a diff.
512
513** Ediff now uses the same color scheme as Diff mode.
514
515** Python mode
516
517A new version of python.el, which provides several new features, including:
518per-buffer shells, better indentation, Python 3 support, and improved
519shell-interaction compatible with iPython (and virtually any other
520text based shell).
521
522*** Some user options have been replaced/renamed, including (old -> new):
523**** python-indent -> python-indent-offset
524**** python-guess-indent -> python-indent-guess-indent-offset
525**** python-pdbtrack-do-tracking-p -> python-pdbtrack-activate
526**** python-use-skeletons -> python-skeleton-autoinsert
527
528*** Some user options have been removed, including:
529
530**** `python-indent-string-contents': Strings are never indented.
531
532**** `python-honour-comment-indentation':
533Comments are always considered as indentation markers.
534
535**** `python-continuation-offset': Indentation is automatically
536calculated in a pep8 compliant way depending on the context.
537
538**** `python-shell-prompt-alist', `python-shell-continuation-prompt-alist':
539Have no direct mapping as the shell interaction is completely different.
540
541**** `python-python-command', `python-jython-command':
542Replaced by `python-shell-interpreter'.
543
544**** `inferior-python-filter-regexp', `python-remove-cwd-from-path',
545`python-pdbtrack-minor-mode-string', `python-source-modes':
546No longer relevant.
547
548*** Some commands have been replaced (old -> new):
549**** python-insert-class -> python-skeleton-class
550**** python-insert-def -> python-skeleton-def
551**** python-insert-for -> python-skeleton-for
552**** python-insert-if -> python-skeleton-if
553**** python-insert-try/except -> python-skeleton-try
554**** python-insert-try/finally -> python-skeleton-try
555**** python-insert-while -> python-skeleton-while
556**** python-find-function -> python-nav-jump-to-defun
557**** python-next-statement -> python-nav-forward-sentence
558**** python-previous-statement -> python-nav-backward-sentence
559**** python-beginning-of-defun-function -> python-nav-beginning-of-defun
560**** python-end-of-defun-function -> python-nav-end-of-defun
561**** python-send-buffer -> python-shell-send-buffer
562**** python-send-defun -> python-shell-send-defun
563**** python-send-region -> python-shell-send-region
564**** python-send-region-and-go -> emulate with python-shell-send-region
565and python-shell-switch-to-shell
566**** python-send-string -> python-shell-send-string
567**** python-switch-to-python -> python-shell-switch-to-shell
568**** python-describe-symbol -> python-eldoc-at-point
572 569
573** D-Bus 570** D-Bus
574 571
575+++
576*** New variables `dbus-compiled-version' and `dbus-runtime-version'. 572*** New variables `dbus-compiled-version' and `dbus-runtime-version'.
577 573
578+++
579*** The D-Bus object manager interface is implemented. 574*** The D-Bus object manager interface is implemented.
580 575
581+++
582*** Variables of type :(u)int32 and :(u)int64 accept floating points, 576*** Variables of type :(u)int32 and :(u)int64 accept floating points,
583if their value does not fit into Emacs's integer range. 577if their value does not fit into Emacs's integer range.
584 578
585+++ 579*** The function `dbus-call-method' is now non-blocking.
586*** The function `dbus-call-method' works non-blocking now, it can be 580It can be interrupted by `C-g'. `dbus-call-method-non-blocking' is obsolete.
587interrupted by C-g. `dbus-call-method-non-blocking' is obsolete.
588 581
589+++ 582*** Signals can also be sent as unicast messages.
590*** Signals can be sent also as unicast message.
591 583
592+++
593*** The argument list of `dbus-register-signal' has been extended, 584*** The argument list of `dbus-register-signal' has been extended,
594according to the new match rule types of D-Bus. See the manual for 585according to the new match rule types of D-Bus.
595details.
596 586
597+++
598*** `dbus-init-bus' supports private connections. 587*** `dbus-init-bus' supports private connections.
599 588
600+++
601*** There is a new function `dbus-setenv'. 589*** There is a new function `dbus-setenv'.
602 590
603** Diff mode 591** `desktop-path' no longer includes the "." directory.
604 592Desktop files are now located in ~/.emacs.d by default.
605---
606*** Changes are now highlighted using the same color scheme as in
607modern VCSes. Deletions are displayed in red (new faces
608`diff-refine-removed' and `smerge-refined-removed', and new definition
609of `diff-removed'), insertions in green (new faces `diff-refine-added'
610and `smerge-refined-added', and new definition of `diff-added').
611
612---
613*** The variable `diff-use-changed-face' defines whether to use the
614face `diff-changed', or `diff-removed' and `diff-added' to highlight
615changes in context diffs.
616
617+++
618*** The new command `diff-delete-trailing-whitespace' removes trailing
619whitespace introduced by a diff.
620 593
621** Dired 594** Dired
622+++ 595
623*** `dired-do-async-shell-command' executes each file sequentially 596*** `dired-do-async-shell-command' executes each file sequentially
624if the command ends in `;' (when operating on multiple files). 597if the command ends in `;' (when operating on multiple files).
625Otherwise, it executes the command on each file in parallel. 598Otherwise, it executes the command on each file in parallel.
626--- 599
627*** Typing M-n in the minibuffer of `dired-do-chmod', `dired-do-chgrp', 600*** Typing `M-n' in the minibuffer of `dired-do-chmod', `dired-do-chgrp',
628`dired-do-chown', `dired-do-touch' pulls the file attributes of the 601`dired-do-chown', and `dired-do-touch' yanks the attributes of the
629file at point. 602file at point.
630+++ 603
631*** When the region is active, `m' (`dired-mark'), `u' (`dired-unmark'), 604*** When the region is active, `m' (`dired-mark'), `u' (`dired-unmark'),
632`DEL' (`dired-unmark-backward'), `d' (`dired-flag-file-deletion') 605`DEL' (`dired-unmark-backward'), and `d' (`dired-flag-file-deletion')
633mark/unmark/flag all files in the active region. 606mark/unmark/flag all files in the active region.
634+++ 607
635*** The minibuffer default for `=' (`dired-diff) has changed. 608*** The minibuffer default for `=' (`dired-diff) has changed.
636It is now the backup file for the file at point, if one exists. 609It is now the backup file for the file at point, if one exists.
637In Transient Mark mode the default is the file at the active mark. 610In Transient Mark mode the default is the file at the active mark.
638+++ 611
639*** `M-=' is no longer bound to `dired-backup-diff' in Dired buffers. 612*** `M-=' is no longer bound to `dired-backup-diff' in Dired buffers.
640The global binding for `M-=', `count-words-region' is in effect. 613The global binding for `M-=', `count-words-region' is in effect.
641 614
642---
643** Ediff now uses the same color scheme as Diff mode.
644
645** ERC 615** ERC
646 616
647+++
648*** New module "notifications", which can send a notification when you 617*** New module "notifications", which can send a notification when you
649receive a private message or your nickname is mentioned. 618receive a private message or your nickname is mentioned.
650 619
651+++
652*** ERC will look up server/channel names via auth-source and use any 620*** ERC will look up server/channel names via auth-source and use any
653channel keys found. 621channel keys found.
654 622
655+++
656*** New option `erc-lurker-hide-list', similar to `erc-hide-list', but 623*** New option `erc-lurker-hide-list', similar to `erc-hide-list', but
657only applies to messages sent by lurkers. 624only applies to messages sent by lurkers.
658 625
659+++ 626** reStructuredText mode
660** Flymake uses fringe bitmaps to indicate errors and warnings.
661See `flymake-fringe-indicator-position', `flymake-error-bitmap' and
662`flymake-warning-bitmap'.
663
664---
665** Follow mode no longer works by using advice.
666The option `follow-intercept-processes' has been removed.
667
668---
669** The FFAP option `ffap-url-unwrap-remote' can now be a list of strings,
670specifying URL types that should be converted to remote file names at
671the FFAP prompt. The default is now '("ftp").
672 627
673--- 628*** Keybindings (see `C-c C-h'), TAB indentation, filling and auto-filling,
674** New Ibuffer `derived-mode' filter, bound to `/ M'. 629fontification, comment handling, and customization have all been revised
675The old binding for `/ M' (filter by used-mode) is now bound to `/ m'. 630and improved.
676 631
677--- 632*** Support for `imenu' and `which-function-mode'.
678** `javascript-generic-mode' is now an obsolete alias for `js-mode'.
679 633
680+++ 634*** The reStructuredText syntax is more closely covered.
681** New option `mouse-avoidance-banish-position' specifies where the 635Sphinx support has been improved.
682`banish' mouse avoidance setting moves the mouse.
683 636
684+++ 637*** `rst-insert-list' inserts new list or continues existing lists.
685** notifications.el supports now version 1.2 of the Notifications API.
686The function `notifications-get-capabilities' returns the supported
687server properties.
688 638
689--- 639*** A negative prefix argument always works for `rst-adjust'.
690** In Perl mode, new option `perl-indent-parens-as-block' causes non-block
691closing brackets to be aligned with the line of the opening bracket.
692 640
693--- 641*** The window configuration is reset after displaying a TOC.
694** In Proced mode, new command `proced-renice' renices marked processes.
695 642
696--- 643*** The constant `rst-version' describes the rst.el package version.
697** Python mode
698 644
699A new version of python.el, which provides several new features, including: 645** Shell Script mode
700per-buffer shells, better indentation, Python 3 support, and improved
701shell-interaction compatible with iPython (and virtually any other
702text based shell).
703 646
704*** Some user options have been replaced/renamed: 647*** Pairing of parens/quotes uses `electric-pair-mode' instead of skeleton-pair.
705Old defcustom: | New defcustom:
706python-indent | python-indent-offset
707python-guess-indent | python-indent-guess-indent-offset
708python-pdbtrack-do-tracking-p | python-pdbtrack-activate
709python-use-skeletons | python-skeleton-autoinsert
710 648
711*** Some user options have been removed: 649*** `sh-electric-here-document-mode' now controls auto-insertion of here-docs.
712 650
713**** `python-indent-string-contents': Strings are never indented. 651*** `sh-use-smie' lets you choose a new indentation and navigation code.
714 652
715**** `python-honour-comment-indentation': 653** VHDL mode
716Comments are never considered as indentation markers themselves.
717 654
718**** `python-continuation-offset': Indentation is automatically 655*** The free software compiler GHDL is supported (and now the default).
719calculated in a pep8 compliant way depending on the context.
720 656
721**** `python-shell-prompt-alist', `python-shell-continuation-prompt-alist': 657*** Support for the VHDL-AMS packages has been added/updated.
722Have no direct mapping as the shell interaction is completely different.
723 658
724**** `python-python-command', `python-jython-command': 659*** Updated to the 2002 revision of the VHDL standard.
725Replaced by `python-shell-interpreter'.
726 660
727**** `inferior-python-filter-regexp', `python-remove-cwd-from-path', 661*** Accepts \r and \f as whitespace.
728`python-pdbtrack-minor-mode-string', `python-source-modes':
729No longer relevant.
730 662
731*** Some commands have been replaced: 663** Apropos
732Old command | New command
733python-insert-class | python-skeleton-class
734python-insert-def | python-skeleton-def
735python-insert-for | python-skeleton-for
736python-insert-if | python-skeleton-if
737python-insert-try/except | python-skeleton-try
738python-insert-try/finally | python-skeleton-try
739python-insert-while | python-skeleton-while
740python-find-function | python-nav-jump-to-defun
741python-next-statement | python-nav-forward-sentence
742python-previous-statement | python-nav-backward-sentence
743python-beginning-of-defun-function | python-nav-beginning-of-defun
744python-end-of-defun-function | python-nav-end-of-defun
745python-send-buffer | python-shell-send-buffer
746python-send-defun | python-shell-send-defun
747python-send-region | python-shell-send-region
748python-send-region-and-go | Emulate with python-shell-send-region and
749 python-shell-switch-to-shell
750python-send-string | python-shell-send-string
751python-switch-to-python | python-shell-switch-to-shell
752python-describe-symbol | python-eldoc-at-point
753 664
754--- 665*** The faces used by Apropos are now directly customizable.
755** reStructuredText mode 666These faces are named `apropos-symbol', `apropos-keybinding', and so on;
667see the `apropos' Custom group for details.
756 668
757*** Keybindings (see `C-c C-h'), TAB indentation, filling and auto-filling, 669*** The old options whose values specified faces to use have been removed
758fontification, comment handling, and customization have all been revised 670(i.e. `apropos-symbol-face', `apropos-keybinding-face', etc.).
759and improved.
760 671
761*** Support for `imenu' and `which-function-mode'. 672** Buffer Menu
762 673
763*** The reStructuredText syntax is more closely covered. 674*** This package has been rewritten to use Tabulated List mode.
764Sphinx support has been improved.
765 675
766*** `rst-insert-list' inserts new list or continues existing lists. 676*** Option `Buffer-menu-buffer+size-width' is now obsolete.
677Use `Buffer-menu-name-width' and `Buffer-menu-size-width' instead.
767 678
768*** A negative prefix argument always works for `rst-adjust'. 679** Calendar
769 680
770*** The window configuration is reset after displaying a TOC. 681*** You can customize the header text that appears above each calendar month.
682See the variable `calendar-month-header'.
771 683
772*** The constant `rst-version' describes the rst.el package version. 684*** New LaTeX calendar style, produced by `cal-tex-cursor-week2-summary'.
773 685
774--- 686*** The calendars produced by cal-html include holidays.
775** Shell Script mode 687Customize `cal-html-holidays' to change this.
776 688
777*** Pairing of parens/quotes uses electric-pair-mode instead of skeleton-pair. 689** Compile has a new option `compilation-always-kill'.
778 690
779*** `sh-electric-here-document-mode' now controls auto-insertion of here-docs. 691** Customize
780 692
781*** `sh-use-smie' lets you choose a new indentation and navigation code. 693*** `custom-reset-button-menu' now defaults to t.
782 694
783+++ 695*** Non-option variables are never matched in `customize-apropos' and
784** New option `async-shell-command-buffer' specifies the buffer to use 696`customize-apropos-options' (i.e., the prefix argument does nothing for
785for a new asynchronous `shell-command' when the default output buffer 697these commands now).
786`*Async Shell Command*' is already in use.
787 698
788--- 699** Term
789** SQL mode has a new option `sql-db2-escape-newlines'.
790If non-nil, newlines sent to the command interpreter will be escaped
791by a backslash. The default does not escape the newlines and assumes
792that the sql statement will be terminated by a semicolon.
793 700
794** Tabulated List and packages derived from it 701*** The variables `term-default-fg-color' and `term-default-bg-color'
795+++ 702are now deprecated in favor of the customizable face `term'.
796*** New command `tabulated-list-sort', bound to `S', sorts the column
797at point, or the Nth column if a numeric prefix argument is given.
798 703
799** Term
800+++
801*** The variables `term-default-fg-color' and `term-default-bg-color' are
802now deprecated in favor of the customizable face `term'.
803+++
804*** You can customize how to display ANSI terminal colors and styles 704*** You can customize how to display ANSI terminal colors and styles
805by customizing the corresponding `term-color-<COLOR>', 705by customizing the corresponding `term-color-<COLOR>',
806`term-color-underline' and `term-color-bold' faces. 706`term-color-underline' and `term-color-bold' faces.
807 707
808** Tramp 708** Tramp
809+++ 709
810*** The syntax has been extended in order to allow ad-hoc proxy definitions. 710*** The syntax has been extended in order to allow ad-hoc proxy definitions.
811See the manual for details. 711
812+++ 712*** Remote processes are now also supported on remote MS-Windows hosts.
813*** Remote processes are now supported also on remote Windows host.
814 713
815** URL 714** URL
816+++ 715
817*** Structs made by `url-generic-parse-url' have nil `attributes' slot. 716*** Structs made by `url-generic-parse-url' have nil `attributes' slot.
818Previously, this slot stored semicolon-separated attribute-value pairs 717Previously, this slot stored semicolon-separated attribute-value pairs
819appended to some imap URLs, but this is not compatible with RFC 3986. 718appended to some imap URLs, but this is not compatible with RFC 3986.
820So now the `filename' slot stores the entire path and query components 719So now the `filename' slot stores the entire path and query components,
821and the `attributes' slot is always nil. 720and the `attributes' slot is always nil.
822+++ 721
823*** New function `url-encode-url' for encoding a URI string. 722*** New function `url-encode-url' for encoding a URI string.
824The `url-retrieve' function now uses this to encode its URL argument, 723The `url-retrieve' function now uses this to encode its URL argument,
825in case that is not properly encoded. 724in case that is not properly encoded.
826 725
827--- 726** notifications.el supports now version 1.2 of the Notifications API.
828** VHDL mode 727The function `notifications-get-capabilities' returns the supported
728server properties.
829 729
830*** The free software compiler GHDL is supported (and now the default). 730** Flymake uses fringe bitmaps to indicate errors and warnings.
731See `flymake-fringe-indicator-position', `flymake-error-bitmap' and
732`flymake-warning-bitmap'.
831 733
832*** Support for the VHDL-AMS packages has been added/updated. 734** The FFAP option `ffap-url-unwrap-remote' can now be a list of strings,
735specifying URL types that should be converted to remote file names at
736the FFAP prompt. The default is now '("ftp").
833 737
834*** Updated to the 2002 revision of the VHDL standard. 738** New Ibuffer `derived-mode' filter, bound to `/ M'.
739The old binding for `/ M' (filter by used-mode) is now bound to `/ m'.
835 740
836*** Accepts \r and \f as whitespace. 741** New option `mouse-avoidance-banish-position' specifies where the
742`banish' mouse avoidance setting moves the mouse.
743
744** In Perl mode, new option `perl-indent-parens-as-block' causes non-block
745closing brackets to be aligned with the line of the opening bracket.
746
747** In Proced mode, new command `proced-renice' renices marked processes.
748
749** New option `async-shell-command-buffer' specifies the buffer to use
750for a new asynchronous `shell-command' when the default output buffer
751`*Async Shell Command*' is already in use.
752
753** SQL mode has a new option `sql-db2-escape-newlines'.
754If non-nil, newlines sent to the command interpreter will be escaped
755by a backslash. The default does not escape the newlines and assumes
756that the sql statement will be terminated by a semicolon.
757
758** New command `tabulated-list-sort', bound to `S' in Tabulated List mode
759(and modes that derive from it), sorts the column at point, or the Nth
760column if a numeric prefix argument is given.
837 761
838+++
839** `which-func-modes' now defaults to t, so Which Function mode, when 762** `which-func-modes' now defaults to t, so Which Function mode, when
840enabled, applies to all applicable major modes. 763enabled, applies to all applicable major modes.
841 764
842--- 765** `winner-mode-hook' now runs when the mode is disabled, as well as when
843** winner-mode-hook now runs when the mode is disabled, as well as when it is 766it is enabled.
844enabled. 767
768** Follow mode no longer works by using advice.
769The option `follow-intercept-processes' has been removed.
770
771** `javascript-generic-mode' is now an obsolete alias for `js-mode'.
845 772
846+++
847** Hooks renamed to avoid obsolete "-hooks" suffix: 773** Hooks renamed to avoid obsolete "-hooks" suffix:
848*** semantic-lex-reset-hooks -> semantic-lex-reset-functions 774*** semantic-lex-reset-hooks -> semantic-lex-reset-functions
849*** semantic-change-hooks -> semantic-change-functions 775*** semantic-change-hooks -> semantic-change-functions
@@ -868,86 +794,68 @@ enabled.
868*** nndiary-request-accept-article-hooks -> nndiary-request-accept-article-functions 794*** nndiary-request-accept-article-hooks -> nndiary-request-accept-article-functions
869*** gnus-subscribe-newsgroup-hooks -> gnus-subscribe-newsgroup-functions 795*** gnus-subscribe-newsgroup-hooks -> gnus-subscribe-newsgroup-functions
870 796
871** Obsolete packages: 797** Obsolete packages
872+++ 798
873*** assoc.el 799*** assoc.el
874In most cases, assoc+member+push+delq work just as well. 800In most cases, assoc+member+push+delq work just as well.
875And in any case it's just a terrible package: ugly semantics, terrible 801And in any case it's just a terrible package: ugly semantics, terrible
876inefficiency, and not namespace-clean. 802inefficiency, and not namespace-clean.
877---
878*** bruce.el 803*** bruce.el
879+++
880*** cust-print.el 804*** cust-print.el
881---
882*** ledit.el 805*** ledit.el
883---
884*** mailpost.el 806*** mailpost.el
885+++
886*** mouse-sel.el 807*** mouse-sel.el
887---
888*** patcomp.el 808*** patcomp.el
889 809
890 810
891* Incompatible Lisp Changes in Emacs 24.3 811* Incompatible Lisp Changes in Emacs 24.3
892 812
893+++ 813** Docstrings starting with `*' no longer indicate user options.
894** set-buffer-multibyte now signals an error in narrowed buffers. 814Only variables defined using `defcustom' are considered user options.
815The function `user-variable-p' is now an obsolete alias for
816`custom-variable-p'.
895 817
896+++ 818** The return values of `defalias', `defun' and `defmacro' have changed,
897** (random) by default now returns a different random sequence in 819and are now undefined. For backwards compatibility, `defun' and
898every Emacs run. Use (random S), where S is a string, to set the 820`defmacro' currently return the name of the newly defined
821function/macro, but this should not be relied upon.
822
823** `random' by default now returns a different random sequence in
824every Emacs run. Use `(random S)', where S is a string, to set the
899random seed to a value based on S, in order to get a repeatable 825random seed to a value based on S, in order to get a repeatable
900sequence in later calls. 826sequence in later calls.
901 827
902---
903** The function `x-select-font' can return a font spec, instead of a
904font name as a string. Whether it returns a font spec or a font name
905depends on the graphical library.
906
907+++
908** If the NEWTEXT arg to `replace-match' contains a substring "\?", 828** If the NEWTEXT arg to `replace-match' contains a substring "\?",
909that substring is inserted literally even if the LITERAL arg is 829that substring is inserted literally even if the LITERAL arg is
910non-nil, instead of causing an error to be signaled. 830non-nil, instead of causing an error to be signaled.
911 831
912+++
913** `select-window' now always makes the window's buffer current. 832** `select-window' now always makes the window's buffer current.
914It does so even if the window was selected before. 833It does so even if the window was selected before.
915 834
916+++ 835** The function `x-select-font' can return a font spec, instead of a
917** Docstrings starting with `*' no longer indicate user options. 836font name as a string. Whether it returns a font spec or a font name
918Only variables defined using `defcustom' are considered user options. 837depends on the graphical library.
919The function `user-variable-p' is now an obsolete alias for
920`custom-variable-p'.
921
922+++
923** The return values of `defalias', `defun' and `defmacro' have changed,
924and are now undefined. For backwards compatibility, `defun' and
925`defmacro' currently return the name of the newly defined
926function/macro, but this should not be relied upon.
927 838
928---
929** `face-spec-set' no longer sets frame-specific attributes when the 839** `face-spec-set' no longer sets frame-specific attributes when the
930third argument is a frame (that usage was obsolete since Emacs 22.2). 840third argument is a frame (that usage was obsolete since Emacs 22.2).
931 841
932+++ 842** `set-buffer-multibyte' now signals an error in narrowed buffers.
933** The arguments of `dbus-register-signal' are no longer just strings,
934but keywords or keyword-string pairs. The old argument list will
935still be supported for Emacs 24.x.
936 843
937+++
938** The CL package's `get-setf-method' function no longer exists. 844** The CL package's `get-setf-method' function no longer exists.
939Generalized variables are now part of core Emacs Lisp, and implemented 845Generalized variables are now part of core Emacs Lisp, and implemented
940differently to the way cl.el used to do it. It is not possible to 846differently to the way cl.el used to do it. It is not possible to
941define a compatible replacement for `get-setf-method'. See the file 847define a compatible replacement for `get-setf-method'. See the file
942gv.el for internal details of the new implementation. 848gv.el for internal details of the new implementation.
943 849
944** Spelling changes. 850** The arguments of `dbus-register-signal' are no longer just strings,
945Some Lisp symbols have been renamed to avoid problems with spelling 851but keywords or keyword-string pairs. The old argument list will
946that is incorrect or inconsistent with how Emacs normally spells a word. 852still be supported for Emacs 24.x.
947 853
948--- 854** Miscellaneous name changes
949*** Renamed functions 855Some Lisp symbols have been renamed to correct their spelling,
856or to be more consistent with standard Emacs terminology.
950 857
858*** Renamed functions
951**** hangul-input-method-inactivate -> hangul-input-method-deactivate 859**** hangul-input-method-inactivate -> hangul-input-method-deactivate
952**** inactivate-input-method -> deactivate-input-method 860**** inactivate-input-method -> deactivate-input-method
953**** quail-inactivate -> quail-deactivate 861**** quail-inactivate -> quail-deactivate
@@ -957,7 +865,6 @@ that is incorrect or inconsistent with how Emacs normally spells a word.
957 viper-deactivate-input-method-action 865 viper-deactivate-input-method-action
958**** ucs-input-inactivate -> ucs-input-deactivate 866**** ucs-input-inactivate -> ucs-input-deactivate
959 867
960---
961*** Renamed hooks 868*** Renamed hooks
962The old hooks are still supported for backward compatibility, but they 869The old hooks are still supported for backward compatibility, but they
963are deprecated and will be removed eventually. 870are deprecated and will be removed eventually.
@@ -965,13 +872,11 @@ are deprecated and will be removed eventually.
965**** robin-inactivate-hook -> robin-deactivate-hook 872**** robin-inactivate-hook -> robin-deactivate-hook
966**** quail-inactivate-hook -> quail-deactivate-hook 873**** quail-inactivate-hook -> quail-deactivate-hook
967 874
968--- 875*** Renamed variables
969*** Renamed Lisp variables
970**** follow-deactive-menu -> follow-inactive-menu 876**** follow-deactive-menu -> follow-inactive-menu
971**** inactivate-current-input-method-function -> 877**** inactivate-current-input-method-function ->
972 deactivate-current-input-method-function 878 deactivate-current-input-method-function
973 879
974+++
975** Some obsolete functions, variables, and faces have been removed: 880** Some obsolete functions, variables, and faces have been removed:
976*** `last-input-char', `last-command-char', `unread-command-char' 881*** `last-input-char', `last-command-char', `unread-command-char'
977*** `facemenu-unlisted-faces' 882*** `facemenu-unlisted-faces'
@@ -996,26 +901,34 @@ are deprecated and will be removed eventually.
996 901
997* Lisp changes in Emacs 24.3 902* Lisp changes in Emacs 24.3
998 903
999** New sampling-based Elisp profiler.
1000Try M-x profiler-start, do some work, and then call M-x profiler-report.
1001When finished, use M-x profiler-stop. The sampling rate can be based on
1002CPU time or memory allocations.
1003
1004+++
1005** CL-style generalized variables are now in core Elisp. 904** CL-style generalized variables are now in core Elisp.
1006`setf' is autoloaded; `push' and `pop' accept generalized variables. 905`setf' is autoloaded; `push' and `pop' accept generalized variables.
1007You can define your own generalized variables using `gv-define-simple-setter', 906You can define your own generalized variables using `gv-define-simple-setter',
1008`gv-define-setter', etc. 907`gv-define-setter', etc.
1009 908
1010+++ 909** Emacs tries to macroexpand interpreted (non-compiled) files during load.
910This can significantly speed up execution of non-byte-compiled code,
911but can also bump into previously unnoticed cyclic dependencies.
912These are generally harmless: they will simply cause the macro calls
913to be left for later expansion (as before), but will result in a
914warning ("Eager macro-expansion skipped due to cycle") describing the cycle.
915You may wish to restructure your code so this does not happen.
916
917** New sampling-based Elisp profiler.
918Try M-x profiler-start, do some work, and then call M-x profiler-report.
919When finished, use M-x profiler-stop. The sampling rate can be based on
920CPU time or memory allocations.
921
1011** `defun' also accepts a (declare DECLS) form, like `defmacro'. 922** `defun' also accepts a (declare DECLS) form, like `defmacro'.
1012The interpretation of the DECLS is determined by `defun-declarations-alist'. 923The interpretation of the DECLS is determined by `defun-declarations-alist'.
1013 924
1014** Minibuffer 925** New macros `setq-local' and `defvar-local'.
1015+++ 926
1016*** `read-regexp' has a new argument HISTORY; the first argument PROMPT 927** Face underlining can now use a wave.
928
929** `read-regexp' has a new argument HISTORY; the first argument PROMPT
1017of `read-regexp' accepts a string ending with a colon and space, and its 930of `read-regexp' accepts a string ending with a colon and space, and its
1018second argument DEFAULTS can be a list of strings accessible via M-n 931second argument DEFAULTS can be a list of strings accessible via `M-n'
1019in the minibuffer ahead of other hard-coded useful regexp-related values. 932in the minibuffer ahead of other hard-coded useful regexp-related values.
1020More commands use `read-regexp' now to read their regexp arguments. 933More commands use `read-regexp' now to read their regexp arguments.
1021 934
@@ -1024,211 +937,164 @@ More commands use `read-regexp' now to read their regexp arguments.
1024*** New function `completion-table-with-quoting' to handle completion 937*** New function `completion-table-with-quoting' to handle completion
1025in the presence of quoting, such as file completion in shell buffers. 938in the presence of quoting, such as file completion in shell buffers.
1026 939
1027+++
1028*** New function `completion-table-subvert' to use an existing completion 940*** New function `completion-table-subvert' to use an existing completion
1029table, but with a different prefix. 941table, but with a different prefix.
1030 942
1031** Debugger changes 943** Debugger
1032 944
1033+++
1034*** New error type and new function `user-error'. 945*** New error type and new function `user-error'.
1035These do not trigger the debugger. 946These do not trigger the debugger.
1036 947
1037+++
1038*** New option `debugger-bury-or-kill', saying what to do with the 948*** New option `debugger-bury-or-kill', saying what to do with the
1039debugger buffer when exiting debug. 949debugger buffer when exiting debug.
1040 950
1041+++
1042*** Set `debug-on-message' to enter the debugger when a certain 951*** Set `debug-on-message' to enter the debugger when a certain
1043message is displayed in the echo area. This can be useful when trying 952message is displayed in the echo area. This can be useful when trying
1044to work out which code is doing something. 953to work out which code is doing something.
1045--- 954
1046*** New var `inhibit-debugger', automatically set to prevent accidental 955*** New var `inhibit-debugger', automatically set to prevent accidental
1047recursive invocations. 956recursive invocations.
1048 957
1049** Window changes 958** Window handling
1050+++ 959
1051*** The functions get-lru-window, get-mru-window and get-largest-window 960*** New command `fit-frame-to-buffer' adjusts the frame height to
1052now accept a third argument to avoid choosing the selected window. 961fit the contents.
1053+++ 962
1054*** Additional values recognized for option `window-combination-limit'. 963*** The command `fit-window-to-buffer' can adjust the frame height
964if the new option `fit-frame-to-buffer' is non-nil.
1055 965
1056+++
1057*** New macro `with-temp-buffer-window', similar to 966*** New macro `with-temp-buffer-window', similar to
1058`with-output-to-temp-buffer'. 967`with-output-to-temp-buffer'.
1059 968
1060---
1061*** `temp-buffer-resize-mode' no longer resizes windows that have been 969*** `temp-buffer-resize-mode' no longer resizes windows that have been
1062reused. 970reused.
1063 971
1064+++ 972*** New option `switch-to-buffer-preserve-window-point' to restore a
1065*** New command `fit-frame-to-buffer' adjusts the frame height to 973window's point when switching buffers.
1066fit the contents.
1067 974
1068+++ 975*** New display action alist entries `window-height' and `window-width'
1069*** The command `fit-window-to-buffer' can adjust the frame height 976specify the size of new windows created by `display-buffer'.
1070if the new option `fit-frame-to-buffer' is non-nil. 977
978*** New display action alist entry `pop-up-frame-parameters', if
979non-nil, specifies frame parameters to give any newly-created frame.
1071 980
1072+++
1073*** New option switch-to-buffer-preserve-window-point to restore a
1074window's point when switching buffers.
1075+++
1076*** New display action functions `display-buffer-below-selected',
1077and `display-buffer-in-previous-window'.
1078+++
1079*** New display action alist entry `inhibit-switch-frame', if non-nil, 981*** New display action alist entry `inhibit-switch-frame', if non-nil,
1080tells display action functions to avoid changing which frame is 982tells display action functions to avoid changing which frame is
1081selected. 983selected.
1082+++ 984
1083*** New display action alist entry `pop-up-frame-parameters', if
1084non-nil, specifies frame parameters to give any newly-created frame.
1085+++
1086*** New display action alist entry `previous-window', if non-nil, 985*** New display action alist entry `previous-window', if non-nil,
1087specifies window to reuse in `display-buffer-in-previous-window'. 986specifies window to reuse in `display-buffer-in-previous-window'.
1088+++ 987
1089*** New display action alist entries `window-height' and `window-width' 988*** New display action functions `display-buffer-below-selected',
1090to specify size of new window created by `display-buffer'. 989and `display-buffer-in-previous-window'.
990
991*** The functions `get-lru-window', `get-mru-window' and `get-largest-window'
992now accept a third argument to avoid choosing the selected window.
993
994*** Additional values recognized for option `window-combination-limit'.
1091 995
1092*** The following variables are obsolete, as they can be replaced by 996*** The following variables are obsolete, as they can be replaced by
1093appropriate entries in the `display-buffer-alist' function introduced 997appropriate entries in the `display-buffer-alist' function introduced
1094in Emacs 24.1: 998in Emacs 24.1:
1095+++ 999**** `dired-shrink-to-fit'
1096**** `display-buffer-reuse-frames' 1000**** `display-buffer-reuse-frames'
1097+++ 1001**** `display-buffer-function'
1098**** `special-display-regexps'
1099+++
1100**** `special-display-frame-alist'
1101+++
1102**** `special-display-buffer-names' 1002**** `special-display-buffer-names'
1103+++ 1003**** `special-display-frame-alist'
1104**** `special-display-function' 1004**** `special-display-function'
1105+++ 1005**** `special-display-regexps'
1106**** `display-buffer-function'
1107---
1108**** `dired-shrink-to-fit'
1109 1006
1110** Time 1007** Time
1111--- 1008
1112*** `current-time-string' no longer requires that its argument's year 1009*** `current-time-string' no longer requires that its argument's year
1113must be in the range 1000..9999. It now works with any year supported 1010must be in the range 1000..9999. It now works with any year supported
1114by the underlying C implementation. 1011by the underlying C implementation.
1115+++ 1012
1116*** `current-time' now returns extended-format time stamps 1013*** `current-time' now returns extended-format time stamps
1117(HIGH LOW USEC PSEC), where the new PSEC slot specifies picoseconds. 1014(HIGH LOW USEC PSEC), where the new PSEC slot specifies picoseconds.
1118PSEC is typically a multiple of 1000 on current machines. Other 1015PSEC is typically a multiple of 1000 on current machines. Other
1119functions that use this format, such as file-attributes and 1016functions that use this format, such as `file-attributes' and
1120format-time-string, have been changed accordingly. Old-format time 1017`format-time-string', have been changed accordingly. Old-format time
1121stamps are still accepted. 1018stamps are still accepted.
1122--- 1019
1123*** The format of timers in timer-list and timer-idle-list is now 1020*** The format of timers in `timer-list' and `timer-idle-list' is now
1124[TRIGGERED-P HI-SECS LO-SECS USECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY PSECS]. 1021[TRIGGERED-P HI-SECS LO-SECS USECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY PSECS].
1125The PSECS slot is new, and uses picosecond resolution. It can be 1022The PSECS slot is new, and uses picosecond resolution. It can be
1126accessed via the new timer--psecs accessor. 1023accessed via the new `timer--psecs' accessor.
1127+++ 1024
1128*** Last-modified time stamps in undo lists now are of the form 1025*** Last-modified time stamps in undo lists now are of the form
1129(t HI-SECS LO-SECS USECS PSECS) instead of (t HI-SECS . LO-SECS). 1026(t HI-SECS LO-SECS USECS PSECS) instead of (t HI-SECS . LO-SECS).
1130 1027
1131+++
1132** Floating point functions now always return special values like NaN, 1028** Floating point functions now always return special values like NaN,
1133instead of signaling errors, if given invalid args, e.g. (log -1.0). 1029instead of signaling errors, if given invalid args; e.g., (log -1.0).
1134Previously, they returned NaNs on some platforms but signaled errors 1030Previously, they returned NaNs on some platforms but signaled errors
1135on others. The affected functions are acos, asin, tan, exp, expt, 1031on others. The affected functions are acos, asin, tan, exp, expt,
1136log, log10, sqrt, and mod. 1032log, log10, sqrt, and mod.
1137 1033
1138+++ 1034** New fringe bitmap `exclamation-mark'.
1139** Emacs tries to macroexpand interpreted (non-compiled) files during load. 1035
1140This can significantly speed up execution of non-byte-compiled code, 1036** Miscellaneous changes to special forms and macros
1141but can also bump into previously unnoticed cyclic dependencies. 1037
1142These are generally harmless: they will simply cause the macro calls 1038*** `defun' and `defmacro' are now macros rather than special forms.
1143to be left for later expansion (as before), but will result in a 1039
1144warning ("Eager macro-expansion skipped due to cycle") describing the cycle. 1040*** `kbd' is now a function rather than a macro.
1145You may wish to restructure your code so this does not happen. 1041
1042** Miscellaneous new functions
1043
1044*** `set-temporary-overlay-map' sets up a temporary keymap that
1045takes precedence over most other maps for a short while (normally one key).
1146 1046
1147** Miscellaneous new functions:
1148+++
1149*** `autoloadp' tests if its argument is an autoloaded object. 1047*** `autoloadp' tests if its argument is an autoloaded object.
1150+++ 1048
1151*** `autoload-do-load' performs the autoloading operation. 1049*** `autoload-do-load' performs the autoloading operation.
1152+++ 1050
1153*** `buffer-narrowed-p' tests if the buffer is narrowed. 1051*** `buffer-narrowed-p' tests if the buffer is narrowed.
1154+++ 1052
1155*** `file-name-base' returns a file name sans directory and extension. 1053*** `file-name-base' returns a file name sans directory and extension.
1156+++ 1054
1157*** `function-get' fetches a function property, following aliases. 1055*** `function-get' fetches a function property, following aliases.
1158+++
1159*** `posnp' tests if an object is a `posn'.
1160+++
1161*** `set-temporary-overlay-map' sets up a temporary keymap that
1162takes precedence over most other maps for a short while (normally one key).
1163+++
1164*** `system-users' returns the user names on the system.
1165+++
1166*** `system-groups' returns the group names on the system.
1167+++
1168*** `tty-top-frame' returns the topmost frame of a text terminal.
1169 1056
1170+++ 1057*** `posnp' tests if an object is a `posn'.
1171** New macros `setq-local' and `defvar-local'.
1172 1058
1173** Changes to special forms and macros 1059*** `system-users' returns the user names on the system.
1174+++
1175*** `defun' and `defmacro' are now macros rather than special forms
1176+++
1177*** `kbd' is now a function rather than a macro.
1178 1060
1179+++ 1061*** `system-groups' returns the group names on the system.
1180** New fringe bitmap `exclamation-mark'.
1181 1062
1182+++ 1063*** `tty-top-frame' returns the topmost frame of a text terminal.
1183** Face underlining can now use a wave.
1184 1064
1185** The following functions and variables are obsolete: 1065** The following functions and variables are obsolete:
1186---
1187*** `automount-dir-prefix' (use `directory-abbrev-alist') 1066*** `automount-dir-prefix' (use `directory-abbrev-alist')
1188+++
1189*** `buffer-has-markers-at' 1067*** `buffer-has-markers-at'
1190---
1191*** `macro-declaration-function' (use `macro-declarations-alist') 1068*** `macro-declaration-function' (use `macro-declarations-alist')
1192---
1193*** `window-system-version' (provides no useful information) 1069*** `window-system-version' (provides no useful information)
1194---
1195*** `dired-pop-to-buffer' (use `dired-mark-pop-up') 1070*** `dired-pop-to-buffer' (use `dired-mark-pop-up')
1196---
1197*** `query-replace-interactive' 1071*** `query-replace-interactive'
1198---
1199*** `font-list-limit' (has had no effect since Emacs < 23) 1072*** `font-list-limit' (has had no effect since Emacs < 23)
1200 1073
1201 1074
1202* Changes in Emacs 24.3 on non-free operating systems 1075* Changes in Emacs 24.3 on non-free operating systems
1203 1076
1204---
1205** Cygwin builds can use the native MS Windows user interface. 1077** Cygwin builds can use the native MS Windows user interface.
1206Pass --with-w32 to configure. The default remains the X11 interface. 1078Pass `--with-w32' to configure. The default remains the X11 interface.
1207 1079
1208+++
1209** Two new functions are available in Cygwin builds: 1080** Two new functions are available in Cygwin builds:
1210`cygwin-convert-file-name-from-windows' and 1081`cygwin-convert-file-name-from-windows' and
1211`cygwin-convert-file-name-to-windows'. These functions allow Lisp 1082`cygwin-convert-file-name-to-windows'. These functions allow Lisp
1212code to access the Cygwin file-name mapping machinery to convert 1083code to access the Cygwin file-name mapping machinery to convert
1213between Cygwin and Windows-native file and directory names. 1084between Cygwin and Windows-native file and directory names.
1214 1085
1215---
1216** When invoked with the -nw switch to run on the Windows text-mode terminal, 1086** When invoked with the -nw switch to run on the Windows text-mode terminal,
1217Emacs now supports `mouse-highlight', help-echo (in the echo area), and 1087Emacs now supports `mouse-highlight', help-echo (in the echo area), and
1218`mouse-autoselect-window'. 1088`mouse-autoselect-window'.
1219 1089
1220+++
1221** On MS Windows Vista and later Emacs now supports symbolic links. 1090** On MS Windows Vista and later Emacs now supports symbolic links.
1222 1091
1223+++ 1092** On MS Windows, you can pass `--without-libxml2' to configure.bat to omit
1224** On MS Windows, you can pass --without-libxml2 to configure.bat to omit
1225support for libxml2, even if its presence is detected. 1093support for libxml2, even if its presence is detected.
1226 1094
1227---
1228** On Mac OS X, the Nextstep port requires OS X 10.4 or later. 1095** On Mac OS X, the Nextstep port requires OS X 10.4 or later.
1229 1096
1230--- 1097** On Mac OS X, configure no longer automatically adds the Fink "/sw"
1231** On Mac OS X, configure no longer automatically adds the Fink /sw
1232directories to the search path. You must add them yourself if you want them. 1098directories to the search path. You must add them yourself if you want them.
1233 1099
1234 1100