X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/d29d249207dbb944ea93275ea8b8ea07f59c1e82..930fb80f9e2815e599eb1de699668d42e305fa21:/etc/NEWS diff --git a/etc/NEWS b/etc/NEWS index cc29c69a68..796d093568 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -40,10 +40,8 @@ or by sticking with Emacs 24.4. ** The configure option `--with-pkg-config-prog' has been removed. Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to. ---- -** Building Emacs for MS-Windows requires at least Windows XP -or Windows Server 2003. The built binaries still run on all versions -of Windows starting with Windows 9X. +** The configure option '--enable-silent-rules' and the command +'make V=0' now do a better job of suppressing chatter. * Startup Changes in Emacs 24.5 @@ -51,6 +49,8 @@ of Windows starting with Windows 9X. * Changes in Emacs 24.5 +** New var `truncate-string-ellipsis' to choose how to indicate truncation. + --- ** The default value of `history-length' has increased to 100. @@ -64,38 +64,76 @@ when deciding what terminal-specific initialization code to run. main features that Emacs was compiled with. This is mainly intended for use in Emacs bug reports. ++++ +** A password is now hidden also when typed in batch mode. Another +hiding character but the default `.' can be used by let-binding the +variable `read-hide-char'. + +** The new functions `string-collate-lessp' and `string-collate-equalp' +preserve the collation order as defined by the system's locale(1) +environment. For the time being this is implemented for modern POSIX +systems and for MS-Windows, for other systems they fall back to their +counterparts `string-lessp' and `string-equal'. + +*** The ls-lisp package uses `string-collate-lessp' to sort file names. +If you want the old, locale-independent sorting, customize the new +option `ls-lisp-use-string-collate' to a nil value. + +*** The MS-Windows specific variable `w32-collate-ignore-punctuation', +if set to a non-nil value, causes the above 2 functions to ignore +symbol and punctuation characters when collating strings. This +emulates the behavior of modern Posix platforms when the locale's +codeset is "UTF-8" (as in "en_US.UTF-8"). This is needed because +MS-Windows doesn't support UTF-8 as codeset in its locales. + * Editing Changes in Emacs 24.5 -Emacs now supports "bracketed paste mode" when running on a terminal +** Emacs now supports "bracketed paste mode" when running on a terminal that supports it. This facility allows Emacs to understand pasted -chunks of text as strings to be inserted instead of interpreting each -character in the pasted text as actual user input, resulting in a -paste experience similar to that under a window system and significant +chunks of text as strings to be inserted, instead of interpreting each +character in the pasted text as actual user input. This results in a +paste experience similar to that under a window system, and significant performance improvements when pasting large amounts of text. * Changes in Specialized Modes and Packages in Emacs 24.5 -** font-lock -*** New functions font-lock-ensure and font-lock-flush that should be used -instead of font-lock-fontify-buffer when called from Elisp. +** Lisp mode +*** Strings after `:documentation' are highlighted as docstrings. ---- -** The Rmail commands d, C-d and u now handle repeat counts -to delete or undelete multiple messages. +** Rectangle editing +*** Rectangle Mark mode can have corners past EOL or in the middle of a TAB. +*** C-x C-x in rectangle-mark-mode now cycles through the four corners. +*** `string-rectangle' provides on-the-fly preview of the result. + ++++ +** Macro `pcase' now supports vector qpattern. + +** New font-lock functions font-lock-ensure and font-lock-flush, which +should be used instead of font-lock-fontify-buffer when called from Elisp. + +** Macro `minibuffer-with-setup-hook' takes (:append FUN) to mean +appending FUN to `minibuffer-setup-hook'. ** Calendar and diary +++ *** New commands to insert diary entries with Chinese dates: `diary-chinese-insert-anniversary-entry' `diary-chinese-insert-entry' -`diary-chinese-insert-monthly-entry' -`diary-chinese-insert-yearly-entry' +`diary-chinese-insert-monthly-entry', `diary-chinese-insert-yearly-entry'. +++ -*** Calendar can list and mark diary entries with Chinese dates: -`diary-chinese-list-entries' and `diary-chinese-mark-entries'. +*** Calendar can list and mark diary entries with Chinese dates. +See `diary-chinese-list-entries' and `diary-chinese-mark-entries'. + +** New ERT function `ert-summarize-tests-batch-and-exit'. + +--- +** The Rmail commands d, C-d and u now handle repeat counts to delete or +undelete multiple messages. + +** SES now supports local printer functions; see `ses-define-local-printer'. ** In sh-mode, you can now use `sh-shell' as a file-local variable to specify the type of shell in use (bash, csh, etc). @@ -104,33 +142,62 @@ specify the type of shell in use (bash, csh, etc). When `url-handler-mode' is enabled, file operations for these protocols as well as for "telnet" and "ftp" are passed to Tramp. +** Tramp + +*** New connection method "nc", which allows to access dumb busyboxes. + +** VC and related modes + +*** New option `vc-annotate-background-mode' controls whether +the color range from `vc-annotate-color-map' is applied to the +background or to the foreground. + +** Calculator: decimal display mode uses "," groups, so it's more +fitting for use in money calculations; factorial works with +non-integer inputs. + +** HideIfDef mode now support full C/C++ expressions, argumented macro expansions +, interactive macro evaluation and automatic scanning of #defined symbols. + +*** New custom variable `hide-ifdef-header-regexp' to define C/C++ header file +name patterns. Default case-insensitive .h, .hh, .hpp and .hxx. +*** New custom variable `hide-ifdef-expand-reinclusion-protection' to prevent +reinclusion protected header files from being fully hidden. +*** New custom variable `hide-ifdef-exclude-define-regexp' to define symbol +name patterns (e.x. all "FOR_DOXYGEN_ONLY_*") to be excluded. + +** TeX mode + +*** New custom variable `tex-print-file-extension' to help users who +use PDF instead of DVI. + ** Obsolete packages --- *** gulp.el ---- -*** vi.el, vip.el (try M-x viper instead) - --- *** crisp.el, tpu-edt.el, ws-mode.el These emulations of old editors are believed to be no longer relevant - contact emacs-devel@gnu.org if you disagree. +--- +*** vi.el, vip.el (try M-x viper instead) + * New Modes and Packages in Emacs 24.5 * Incompatible Lisp Changes in Emacs 24.5 -** window-configurations do not record the buffers's marks any more. +** window-configurations no longer record the buffers's marks. -** inhibit-modification-hooks now also inhibits lock-file checks as well as +** inhibit-modification-hooks now also inhibits lock-file checks, as well as active region handling. ** deactivate-mark is now buffer-local. -** cl-the now asserts that its argument is of the given type. +** `cl-the' now asserts that its argument is of the given type. +++ ** Mouse click events on mode line or header line no longer include @@ -141,6 +208,9 @@ position list returned for such events is now nil. * Lisp Changes in Emacs 24.5 +*** call-process-shell-command and process-file-shell-command +don't take "&rest args" an more. + ** New function `funcall-interactively', which works like `funcall' but makes `called-interactively-p' treat the function as (you guessed it) called interactively. @@ -149,7 +219,7 @@ called interactively. +++ ** New properties that can be specified with `declare': -*** (interactive-only INSTEAD), tells to use INSTEAD for non-interactive use. +*** (interactive-only INSTEAD), says to use INSTEAD for non-interactive use. *** (pure VAL), if VAL is non-nil, indicates the function is pure. *** (side-effect-free VAL), if VAL is non-nil, indicates the function does not have side effects. @@ -163,9 +233,57 @@ permissions set to temporary values (e.g., for creating private files). ** Functions `rmail-delete-forward' and `rmail-delete-backward' take an optional repeat-count argument. +** Function `sort' can deal with vectors. + +--- +** New utilities in subr-x.el: +*** New macros `if-let' and `when-let' allow defining bindings and to + execute code depending whether all values are true. +*** New macros `thread-first' and `thread-last' allow threading a form + as the first or last argument of subsequent forms. + + +* Changes in Frames and Windows Code in Emacs 24.5 + +** Emacs can now draw horizontal scroll bars on some platforms that +provide toolkit scroll bars, namely Gtk, Lucid, Motif and Windows. +Horizontal scroll bars are turned off by default. +*** New function `horizontal-scroll-bars-available-p' telling whether + horizontal scroll bars are available on the underlying system. +*** New mode `horizontal-scroll-bar-mode' to toggle horizontal scroll + bars on all existing and future frames. +*** New frame parameters `horizontal-scroll-bars' and + `scroll-bar-height' to set horizontal scroll bars and their height + for individual frames and in `default-frame-alist'. +*** New function `frame-scroll-bar-height' to return the height of + horizontal scroll bars on a specific frame. +*** `set-window-scroll-bars' now accepts five parameters where the last + two specify height and type of the window's horizontal scroll bar. + +** The height of a frame's menu and tool bar are no more counted in the +frame's text height. This means that the text height stands only for +the height of the frame's root window plus that of the echo area (if +present). This was already the behavior for frames with external tool +and menu bars (like in the Gtk builds) but has now been extended to all +builds. + +** Frames now do not necessarily preserve the number of columns or lines +they display when setting default font, menu bar, fringe width, or +scroll bars. In particular, maximized and fullscreen frames are +conceptually never resized if such settings change. For fullheight and +fullwidth frames, the behavior may depend on the toolkit used. +*** New option `frame-inhibit-implied-resize' if non-nil, means that + setting default font, menu bar, fringe width, or scroll bars of a + specific frame does not resize that frame in order to preserve the + number of columns or lines it displays. * Changes in Emacs 24.5 on Non-Free Operating Systems +--- +** Building Emacs for MS-Windows requires at least Windows XP +or Windows Server 2003. The built binaries still run on all versions +of Windows starting with Windows 9X. + * Installation Changes in Emacs 24.4 @@ -306,16 +424,7 @@ removed. *** The function `quail-help' is no longer an interactive command. Use `C-h C-\' (`describe-input-method') instead. -** ImageMagick - -*** ImageMagick images now support the :max-width and :max-height keywords. - -*** When using `create-image' with image data, you can pass a :format -attribute (via the property-list argument) in order to help -ImageMagick detect the image type. The value should be a MIME -content-type that is found in the new variable `image-format-suffixes'. - -** Frame and window changes +** Frame and window handling *** New commands `toggle-frame-fullscreen' and `toggle-frame-maximized', bound to and M-, respectively. @@ -413,7 +522,7 @@ bottom of the selected frame. caller of `display-buffer' is ready to handle the case of not displaying the buffer in a window. -** Lisp evaluation changes +** Lisp evaluation *** `eval-defun' on an already defined defcustom calls the :set function, if there is one. @@ -447,7 +556,7 @@ simply disabling Transient Mark mode does the same thing. * Editing Changes in Emacs 24.4 -** Indentation changes +** Indentation *** `electric-indent-mode' is now enabled by default. Typing RET reindents the current line and indents the new line. @@ -705,8 +814,7 @@ the symbol near point. *** New option `hi-lock-auto-select-face'. When non-nil, hi-lock commands will cycle through faces in `hi-lock-face-defaults' without prompting. -** Icomplete -Icomplete is now more similar to Ido. +** Icomplete is now more similar to Ido. *** Icomplete by default now applies to all forms of minibuffer completion. The variable `icomplete-with-completion-tables' (now a user option) @@ -832,6 +940,22 @@ display a "Homepage" header.) ** In Prolog mode, `prolog-use-smie' has been removed, along with the non-SMIE indentation code. +** Python mode + +*** Out of the box support for CPython, iPython and readline based shells. +**** `python-shell-completion-module-string-code' is no longer used. + +*** Automatic shell prompt detection. New user options: +**** `python-shell-interpreter-interactive-arg'. +**** `python-shell-prompt-detect-enabled'. +**** `python-shell-prompt-detect-failure-warning'. +**** `python-shell-prompt-input-regexps'. +**** `python-shell-prompt-output-regexps'. + +*** Python shell support for remote hosts via tramp. + +*** Correct display of line numbers for code sent to the Python shell. + ** Remember *** The new command `remember-notes' creates a buffer that is saved on exit. @@ -1063,8 +1187,8 @@ Also the following files used by the now obsolete otodo-mode.el: * New Modes and Packages in Emacs 24.4 -** New package `eww' is a built-in web browser. -(It is only available if Emacs is compiled with libxml2 support.) +** New package eww.el provides a built-in web browser. +This requires Emacs to have been compiled with libxml2 support. ** New package nadvice.el offers lighter-weight advice facilities. It is layered as: @@ -1075,11 +1199,10 @@ any function-carrying place, such as process filters or `-function' hooks. *** `advice-add'/`advice-remove' to add/remove a piece of advice on a named function, much like `defadvice' does. -** New package frameset.el. -It provides a set of operations to save a frameset (the state of all -or a subset of the existing frames and windows, somewhat similar to a -frame configuration), both in-session and persistently, and restore it -at some point in the future. +** New package frameset.el provides a set of operations to save a frameset +(the state of all or a subset of the existing frames and windows, somewhat +similar to a frame configuration), both in-session and persistently, and +restore it at some point in the future. ** New package filenotify.el provides an interface for file system notifications. It requires that Emacs be compiled with one of the @@ -1089,9 +1212,9 @@ low-level libraries gfilenotify.c, inotify.c or w32notify.c. display specified symbols as composed characters. E.g., in Emacs Lisp mode, this replaces the string "lambda" with the Greek lambda character. -** New minor mode `superword-mode'. -This overrides the default word motion commands to treat "symbol_words" -as a single word, similar to what `subword-mode' does. +** New minor mode `superword-mode', which overrides the default word motion +commands to treat "symbol_words" as a single word, similar to what +`subword-mode' does. * Incompatible Lisp Changes in Emacs 24.4 @@ -1134,11 +1257,11 @@ The new optional CHECK-TIMERS parameter allows for the prior behavior. Some languages match those as »...«, and others as «...», so it is better for Emacs to stay neutral by default. -** `read-event' does not return decoded chars in ttys any more. -As was the case in Emacs 22 and before, the decoding of terminal -input, according to `keyboard-coding-system', is not performed in -`read-event' any more. But unlike in Emacs 22, this decoding is still -done before `input-decode-map', `function-key-map', etc. +** `read-event' does not always decode chars in ttys any more. As was the case +in Emacs 22 and before, `read-event' (and `read-char') by default read raw +bytes from the terminal. If you want to read decoded chars instead (as was +always the case in Emacs-23, for example), pass a non-nil +`inherit-input-method' argument. ** In `symbol-function', nil and "unbound" are indistinguishable. `symbol-function' does not signal a `void-function' error any more. @@ -1329,6 +1452,15 @@ animated images which do not specify a frame delay. *** New functions `image-current-frame' and `image-show-frame' for getting and setting the current frame of a multi-frame image. +** ImageMagick + +*** ImageMagick images now support the :max-width and :max-height keywords. + +*** When using `create-image' with image data, you can pass a :format +attribute (via the property-list argument) in order to help +ImageMagick detect the image type. The value should be a MIME +content-type that is found in the new variable `image-format-suffixes'. + ** Revert and Autorevert *** If Emacs is compiled with file notification support, it uses notifications @@ -1478,10 +1610,13 @@ edited in another Emacs session or by another user. See the node "Interlocking" in the Emacs User Manual for the details. To disable file locking, customize `create-lockfiles' to nil. -** The "generate a backtrace on fatal error" feature now works on MS Windows. +** The "generate a backtrace on fatal error" feature now works on MS-Windows. The backtrace is written to the 'emacs_backtrace.txt' file in the directory where Emacs was running. +** The `network-interface-list' and `network-interface-info' functions +are now available on MS-Windows. + ** The variable `buffer-file-type' is no longer supported. Setting it has no effect, and %t in the mode-line format is ignored. Likewise, `file-name-buffer-file-type-alist' is now obsolete, and