X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/bbf908bc692846db442374a5a91ec9e243390e3d..826b32357739a0ce755a5a2cadb3552b6914f4b3:/etc/NEWS diff --git a/etc/NEWS b/etc/NEWS index dd218624df..ed59f3264a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -21,7 +21,13 @@ When you add a new item, please add it without either +++ or --- so we will look at it and add it to the manual. -* Installation Changes in Emacs 24.2 +* Installation Changes in Emacs 24.3 + +** New configure option '--without-all' to disable additional features. +This disables most of the features that are normally enabled by default. + +** New configure option '--enable-link-time-optimization' to utilize +an appropriate feature provided by GCC since version 4.5.0. ** New configure option '--enable-gcc-warnings', intended for developers. If building with GCC, this enables compile-time checks that warn about @@ -32,6 +38,11 @@ may be useful. ** The configure option '--disable-maintainer-mode' has been removed, as it was confusingly-named and rarely useful. +--- +** You can use `NO_BIN_LINK=t make install' to prevent the installation +overwriting "emacs" in the installation bin/ directory with a link +to emacs-VERSION. + --- ** Emacs uses libtinfo in preference to libncurses, if available. @@ -55,14 +66,29 @@ Lisp_Object type no longer uses a union to implement the compile time check that this option enables. -* Startup Changes in Emacs 24.2 +* Startup Changes in Emacs 24.3 ** Emacs no longer searches for `leim-list.el' files beneath the standard lisp/ directory. There should not be any there anyway. If you have been adding them there, put them somewhere else, eg site-lisp. +--- +** The `--no-site-lisp' command line option now works for Nextstep builds. + -* Changes in Emacs 24.2 +* Changes in Emacs 24.3 + +** Help changes + +*** `C-h f' (describe-function) can now perform autoloading. +When this command is called for an autoloaded function whose docstring +contains a key substitution construct, that function's library is +automatically loaded, so that the documentation can be shown +correctly. To disable this, set `help-enable-auto-load' to nil. + +*** `C-h f' now reports previously-autoloaded functions as "autoloaded", +even after their associated libraries have been loaded (and the +autoloads have been redefined as functions). ** The function `current-time' now returns extended-format time stamps (HIGH LOW USEC PSEC) that use picosecond resolution; the PSEC @@ -71,6 +97,11 @@ machines. Other functions that use this format, such as file-attributes and format-time-string, have been changed accordingly. Old-format time stamps are still accepted. +** Emacs now generates backtraces on fatal errors. +On encountering a fatal error, Emacs now outputs a textual description +of the fatal signal, and a short backtrace on platforms like glibc +that support backtraces. + ** New functions `system-users', `system-groups' return lists of the user name, group names known to the system (where possible). @@ -95,9 +126,15 @@ treated as images. *** Images displayed via ImageMagick now support transparency and the :background image spec property. +** Internationalization changes + +*** New language environment: Persian. + ** Face underlining can now use a wave. See the "Face Attributes" section of the Elisp manual. +** New fringe bitmap exclamation-mark. + ** String values for `initial-buffer-choice' also apply to emacsclient frames, if emacsclient is only told to open a new frame without specifying any file to visit or expression to evaluate. @@ -123,8 +160,27 @@ invokes `set-buffer-file-coding-system'. ** Setting `enable-remote-dir-locals' to non-nil allows directory local variables on remote hosts. ++++ +** `insert-char' is now a command, and `ucs-insert' an obsolete alias +for it. + +** The entry for PCL-CVS has been removed from the Tools menu. +The PCL-CVS commands are still available via the keyboard. + -* Editing Changes in Emacs 24.2 +* Editing Changes in Emacs 24.3 + +** The `z' key no longer has a binding in most special modes. +It used to be bound to `kill-this-buffer', but `z' is too easy to +accidentally type. + +** New option `yank-handled-properties' allows processing of text +properties on yanked text, in more ways that are more general than +just removing them, as done by `yank-excluded-properties'. + +** New option `delete-trailing-lines' specifies whether the M-x +delete-trailing-whitespace command should delete trailing lines at the +end of the buffer. It defaults to t. ** Search changes @@ -132,41 +188,88 @@ local variables on remote hosts. and `M-s _' in Isearch toggles symbol search mode. `M-s c' in Isearch toggles search case-sensitivity. +*** `M-s SPC' in Isearch toggles whitespace matching mode +in both ordinary and regexp incremental search, so that each +sequence of spaces in the search string matches any combination +of one or more whitespace characters defined by the variable +`search-whitespace-regexp'. In ordinary incremental search, +`isearch-toggle-lax-whitespace' toggles the value of the variable +`isearch-lax-whitespace'. In regexp incremental search, it toggles +the value of the variable `isearch-regexp-lax-whitespace'. + +** query-replace changes + +*** When new option `replace-lax-whitespace' is non-nil, +and you enter a space or spaces in the strings or regexps +to be replaced, `query-replace' will match any sequence matched +by the regexp `search-whitespace-regexp'. + ** M-x move-to-column, if called interactively with no prefix arg, now prompts for a column number. ** `mouse-avoidance-banish-position' can now be used to customize `mouse-avoidance-mode' further. +** `C-u M-=' now counts lines/words/characters in the entire buffer. + ** `C-M-f' and `C-M-b' will now move to the path name separator character when doing minibuffer filename prompts. ** `goto-char' is now bound to `M-g c'. +** New command `C-x r M-w' (copy-rectangle-as-kill). +It copies the region-rectangle as the last rectangle kill. + ** New input method `vietnamese-vni'. -* Changes in Specialized Modes and Packages in Emacs 24.2 +* Changes in Specialized Modes and Packages in Emacs 24.3 + +** Compilation has a new `compilation-always-kill' configuration variable. + +** Term changes -** CL's main entry is now (require 'cl-lib). +The variables `term-default-fg-color' and `term-default-bg-color' are +now deprecated in favor of the `term-face' face, that you can +customize. Also, it is now possible to customize how are displayed the +ANSI terminal colors and styles by customizing the corresponding +`term-color-', `term-color-underline' and `term-color-bold' +faces. + +** CL +*** CL's main entry is now (require 'cl-lib). `cl-lib' is like the old `cl' except that it uses the namespace cleanly, -i.e. all its definitions have the "cl-" prefix. +i.e. all its definitions have the "cl-" prefix (and internal definitions use +the "cl--" prefix). If `cl' provided a feature under the name `foo', then `cl-lib' provides it under the name `cl-foo' instead, with the exceptions of the few definitions that had to use `foo*' to avoid conflicts with pre-existing Elisp entities, which have not been renamed to `cl-foo*' but just `cl-foo'. -The old `cl' is now deprecated and is nothing more than a bunch of aliases that +The old `cl' is now deprecated and is just a bunch of aliases that provide the old non-prefixed names. +*** `cl-flet' is not like `flet' (which is deprecated). +Instead it obeys the behavior of Common-Lisp's `flet'. + +*** `cl-labels' is slightly different from `labels'. +The difference is that it relies on the `lexical-binding' machinery (as opposed +to the `lexical-let' machinery used previously) to capture definitions in +closures, so such closures will only work if `lexical-binding' is in use. + +*** `progv' was rewritten to use the `let' machinery. +A side effect is that vars without corresponding value are bound to nil +rather than making them unbound. + ** Desktop *** `desktop-path' no longer includes the "." directory. Desktop files are now located in ~/.emacs.d by default. -** A new mode for Python. -This provides several new features, including: +** Python mode + +A new version of python.el, which provides several new features, including: per-buffer shells, better indentation, Python 3 support, and improved shell-interaction compatible with iPython (and virtually any other text based shell). @@ -219,11 +322,15 @@ python-send-string | python-shell-send-string python-switch-to-python | python-shell-switch-to-shell python-describe-symbol | python-eldoc-at-point -** VHDL-mode -- Support for ghdl (free vhdl compiler). Now default. -- Add/update support for VHDL-AMS packages. -- Update to VHDL'02 standard. -- Accept \r and \f as whitespace. +** VHDL mode + +*** The free software compiler GHDL is supported (and now the default). + +*** Support for the VHDL-AMS packages has been added/updated. + +*** Updated to the 2002 revision of the VHDL standard. + +*** Accepts \r and \f as whitespace. ** Diff mode @@ -239,6 +346,10 @@ to highlight changes in context diffs. ** Ediff now uses the same color scheme as Diff mode on high color displays. +** Flymake uses fringe bitmaps to indicate errors and warnings. +See flymake-fringe-indicator-position, flymake-error-bitmap and +flymake-warning-bitmap. + ** `sh-script' *** Pairing of parens/quotes uses electric-pair-mode instead of skeleton-pair. *** `sh-electric-here-document-mode' now controls auto-insertion of here-docs. @@ -306,6 +417,18 @@ these commands now). ** erc will look up server/channel names via auth-source and use the channel keys found, if any. +** Dired + +*** `dired-do-async-shell-command' executes each file sequentially +if the command ends in `;' (when operating on multiple files). +Otherwise, it executes the command on each file in parallel. + +** Shell + +*** New option `async-shell-command-buffer' specifies what buffer to use +for a new asynchronous shell command when the default output buffer +`*Async Shell Command*' is already taken by another running command. + ** FFAP *** The option `ffap-url-unwrap-remote' can now be a list of strings, @@ -415,9 +538,22 @@ inefficiency, and not namespace-clean. *** cust-print.el -* New Modes and Packages in Emacs 24.2 +* New Modes and Packages in Emacs 24.3 -* Incompatible Lisp Changes in Emacs 24.2 +* Incompatible Lisp Changes in Emacs 24.3 + +** (random) by default now returns a different random sequence in +every Emacs run. Use (random S), where S is a string, to set the +random seed to a value based on S, in order to get a repeatable +sequence in later calls. + +** The function `x-select-font' can return a font spec, instead of a +font name as a string. Whether it returns a font spec or a font name +depends on the graphical library. + +** If the NEWTEXT arg to `replace-match' contains a substring "\?", +that substring is inserted literally even if the LITERAL arg is +non-nil, instead of causing an error to be signaled. +++ ** Docstrings starting with `*' no longer indicate user options. @@ -439,13 +575,61 @@ third argument is a frame (that usage was obsolete since Emacs 22.2). but keywords or keyword-string pairs. The old argument list will still be supported for Emacs 24.x. +** Spelling changes. +Some Lisp symbols have been renamed to avoid problems with spelling +that is incorrect or inconsistent with how Emacs normally spells a word. + +*** Renamed functions + +**** hangul-input-method-inactivate -> hangul-input-method-deactivate +**** inactivate-input-method -> deactivate-input-method +**** quail-inactivate -> quail-deactivate +**** robin-inactivate -> robin-deactivate +**** viper-inactivate-input-method -> viper-deactivate-input-method +**** viper-inactivate-input-method-action -> + viper-deactivate-input-method-action +**** ucs-input-inactivate -> ucs-input-deactivate + +*** Renamed hooks +The old hooks are still supported for backward compatibility, but they +are deprecated and will be removed eventually. + +**** input-method-inactivate-hook -> input-method-deactivate-hook +**** robin-inactivate-hook -> robin-deactivate-hook +**** quail-inactivate-hook -> quail-deactivate-hook + +*** Renamed Lisp variables + +**** follow-deactive-menu -> follow-inactive-menu +**** inactivate-current-input-method-function -> + deactivate-current-input-method-function + ** The following obsolete variables and varaliases have been removed: *** `facemenu-unlisted-faces' *** `rmail-decode-mime-charset' +*** `last-input-char' and `last-command-char' -* Lisp changes in Emacs 24.2 +* Lisp changes in Emacs 24.3 + +** Interpreted files get eagerly macro-expanded during load. +This can significantly speed up execution of non-byte-compiled code, but can +also bump into harmless and previously unnoticed cyclic dependencies. +These should not be fatal: they will simply cause the macro-calls to be left +for later expansion (as before), but will also result in a warning describing +the cycle. + +** New minor mode `read-only-mode' to replace toggle-read-only (now obsolete). + +** New functions `autoloadp' and `autoload-do-load'. + +** New function `posnp' to test if an object is a `posn'. + +** `function-get' fetches the property of a function, following aliases. + +** `toggle-read-only' accepts a second argument specifying whether to +print a message, if called from Lisp. ** CL-style generalized variables are now in core Elisp. `setf' is autoloaded and `push' and `pop' accept generalized variables. @@ -461,9 +645,36 @@ The interpretation of the DECLS is determined by `defun-declarations-alist'. ** New error type and new function `user-error'. Doesn't trigger the debugger. -** The functions get-lru-window, get-mru-window and get-largest-window +** Window changes + +*** The functions get-lru-window, get-mru-window and get-largest-window now accept a third argument to avoid choosing the selected window. +*** New macro with-temp-buffer-window. + +*** New option temp-buffer-resize-frames. + +*** New function fit-frame-to-buffer and new option + fit-frame-to-buffer-bottom-margin. + +*** New display action function display-buffer-below-selected. + +*** New display action alist `inhibit-switch-frame', if non-nil, tells +display action functions to avoid changing which frame is selected. + +*** New display action alist `pop-up-frame-parameters', if non-nil, +specifies frame parameters to give any newly-created frame. + +*** The following variables are obsolete, as they can be replaced by +appropriate entries in the `display-buffer-alist' function introduced +in Emacs 24.1: + +**** `display-buffer-reuse-frames' +**** `special-display-regexps' +**** `special-display-frame-alist' +**** `special-display-buffer-names' +**** `special-display-function' + ** Completion *** New function `completion-table-with-quoting' to handle completion @@ -478,10 +689,14 @@ table, but with a different prefix. must be in the range 1000..9999. It now works with any year supported by the underlying C implementation. +** New function file-name-base. + +** New function `tty-top-frame' returns the topmost frame of a text terminal. + ** `automount-dir-prefix' is obsolete. ** `buffer-has-markers-at' is obsolete. -* Changes in Emacs 24.2 on non-free operating systems +* Changes in Emacs 24.3 on non-free operating systems ** New configure.bat options on MS-Windows: @@ -492,7 +707,11 @@ is detected. Emacs now supports mouse highlight, help-echo (in the echo area), and mouse-autoselect-window. -** New function `tty-top-frame' returns the topmost frame of a text terminal. +** On MS-Windows Vista and later Emacs now supports symbolic links. + +* Changes in Emacs 24.2 + +** This is mainly a bug-fix release. * Installation Changes in Emacs 24.1 @@ -1062,7 +1281,7 @@ buffer was used. The search is performed using `customize-apropos'. To turn off the search field, set `custom-search-field' to nil. -*** Custom options now start out hidden if at their default values. +*** Options in customize group buffers start out hidden if not customized. Use the arrow to the left of the option name to toggle visibility. *** custom-buffer-sort-alphabetically now defaults to t. @@ -1208,6 +1427,10 @@ If you had that set, you need to put in your ~/.authinfo file instead. +*** SMTPmail defaults to using the address in the From: header as the +SMTP MAIL FROM envelope. To override this, set `mail-envelope-from' +to the address you wish to use instead. + ** SQL mode *** New options `sql-port', `sql-connection-alist', `sql-send-terminator', @@ -1705,6 +1928,10 @@ instead of jumping all the way to the top-level. *** Set `debug-on-event' to enter the debugger on events like SIGUSR1. This can be useful when `inhibit-quit' is set. +*** Set `debug-on-message' to enter the debugger when a certain +message is displayed in the echo area. This can be useful when trying +to work out which code is doing something. + ** The new function `server-eval-at' allows evaluation of Lisp forms on named Emacs server instances.