X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/313546eb796f4588c1c9af60f08f2bd122ef0bdb..cc24ef09f8c050808f9f4989e49122b206e8c934:/etc/NEWS?ds=sidebyside diff --git a/etc/NEWS b/etc/NEWS index f5f6e48639..7f9aeffa5c 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -34,6 +34,10 @@ build time. To prevent this, use the configure option `--with-file-notification-no'. See below for file-notify features. FIXME? This feature is not available for the Nextstep port. (?) +** The configure option `without-compress-info' has been generalized, +and renamed to `without-compress-install'. It now prevents compression +of _any_ files during installation. + ** The configure option --with-crt-dir has been removed. It is no longer needed, as the crt*.o files are no longer linked specially. @@ -43,18 +47,55 @@ no longer created during installation. ** Emacs can be compiled with zlib support. If this library is present (which it normally is on most systems), the function -`decompress-gzipped-region' becomes available. +`zlib-decompress-region' becomes available, which can decompress gzip- +and zlib-format compressed data. --- ** Emacs for NS (OSX, GNUStep) can be built with ImageMagick support. pkg-config is required to find ImageMagick libraries. +** For OSX >= 10.5, the Core text based font backend from the Mac port is used. +For GNUStep and OSX 10.4 the old backend is used. +To use the old backend by default, do on the command line: +% defaults write org.gnu.Emacs FontBackend ns + * Startup Changes in Emacs 24.4 ++++ +** When initializing `load-path', an empty element in the EMACSLOADPATH +environment variable (either leading, e.g., ":/foo"; trailing, e.g., +"/foo:"; or embedded, e.g., "/foo::/bar") is replaced with the default +load-path (the one that would have been used if EMACSLOADPATH was unset). +This makes it easier to _extend_ the load-path via EMACSLOADPATH +(previously, EMACSLOADPATH had to specify the complete load-path, +including the defaults). (In older versions of Emacs, an empty element +was replaced by ".", so use an explicit "." now if that is what you want.) + ++++ +** The -L option, which normally prepends its argument to load-path, +will instead append, if the argument begins with `:' (or `;' on MS Windows; +i.e., `path-separator'). + * Changes in Emacs 24.4 ++++ +** Emacs now supports menus on text-mode terminals. +If the terminal supports a mouse, clicking on the menu bar, or on +sensitive portions of the mode line or header line, will drop down the +menu defined at that position. Likewise, clicking C-mouse-2 or +C-mouse-2 or C-mouse-3 on the text area will pop up the menus defined +for those locations. + +If the text terminal does not support a mouse, you can activate the +first menu-bar menu by typing F10, which invokes `menu-bar-open'. + +If you want the previous behavior, whereby F10 invoked `tmm-menubar', +customize the option `tty-menu-open-use-tmm' to a non-nil value. +(Typing M-` will always invoke `tmm-menubar', even if +`tty-menu-open-use-tmm' is nil.) + ** Key ? also describes prefix bindings like C-h. +++ @@ -83,6 +124,10 @@ simply disabling Transient Mark mode does the same thing. ** `initial-buffer-choice' can now specify a function to set up the initial buffer. +** The *Messages* buffer is created in a new major mode `messages-buffer-mode', +and read-only. Code that might create the *Messages* buffer should +call the function `messages-buffer' to do so and set the mode. + ** `remember-notes' creates a buffer whose content is saved on kill-emacs. You may think of it as a *scratch* buffer whose content is preserved. In fact, it was designed as a replacement for *scratch* buffer and can @@ -126,10 +171,13 @@ monitor, use the new functions above. Similar notes also apply to `x-display-pixel-width', `x-display-pixel-height', `display-mm-width', `display-mm-height', `x-display-mm-width', and `x-display-mm-height'. -** New macro `alternatives-define' can be used to define generic commands. +** New macro `define-alternatives' can be used to define generic commands. Generic commands are interactive functions whose implementation can be selected among several alternatives, as a matter of user preference. +** New hooks `focus-in-hook', `focus-out-hook'. +These are normal hooks run when an Emacs frame gains or loses input focus. + ** The blink cursor stops blinking after 10 blinks (default) on X and NS. You can change the default by customizing the variable blink-cursor-blinks. Also timers for blinking are stopped when no blinking is done, so Emacs does @@ -140,9 +188,35 @@ not consume CPU cycles. some enhancements, like the ability to restore deleted frames. Command `frame-configuration-to-register' is still available, but unbound. +** The command `quail-help' is deleted. Use `C-h C-\' +(`describe-input-method') instead. + +** The default value of `comment-use-global-state' is changed to t, +and this variable has been marked obsolete. + +** `fill-single-char-nobreak-p' prevents fill from breaking a line after +a 1-letter word, which is an error according to Polish and +Czech typography rules. To globally enable this feature, evaluate: + + (add-hook 'fill-nobreak-predicate 'fill-single-char-nobreak-p) + * Editing Changes in Emacs 24.4 +** `electric-indent-mode' is enabled by default. + +** Uniquify is enabled by default. + +** Command `rectangle-mark-mode' bound to C-x SPC makes a rectangular region. +Most commands are still unaware of it, but kill/yank do work on the rectangle. + +** C-x TAB enters a transient interactive mode. +You can then use the left/right cursor keys to move the block of text. + +** `tab-stop-list' is now implicitly extended to infinity by repeating +the last step. Its default value is changed to nil which means a tab +stop every `tab-width' columns. + ** `split-window' is no longer a command, just a non-interactive function. As a command it was a special case of `split-window-below', and as such superfluous. After being reimplemented in Lisp, its interactive form @@ -161,6 +235,8 @@ visual order of characters on the screen: always moves to the left, always moves to the right, disregarding the surrounding bidirectional context. +** All register commands can now show help with preview. + ** New command `kmacro-to-register' to store keyboard macros in registers. ** Shell Script mode @@ -171,6 +247,16 @@ You can pick the name of the function and the variables with `C-x 4 a'. * Changes in Specialized Modes and Packages in Emacs 24.4 +** The backtrace debugger can display local vars with `v'. + +** prolog-use-smie has been removed, along with the non-SMIE indentation code. + +** SMIE indentation can be customized via `smie-config'. +The customization can be guessed by Emacs by providing a sample indented +file and letting SMIE learn from it. + +** sh-script now uses its SMIE indentation algorithm by default. + ** The debugger's `e' command evaluates the code in the context at point. This includes using the lexical environment at point, which means that `e' now lets you access lexical variables as well. @@ -261,8 +347,15 @@ whole tree revisions. *** In VC directory mode, `L' lists the change log for the current VC controlled tree in a window. -*** `C-x v G' (globally) and `G' (in VC directory mode) ignores a -file under current version control system. +*** In VC directory mode, `I' shows a log of changes that will be +received with a pull operation. + +*** `C-x v G' (globally) and `G' (in VC directory mode) ignores a file +under current version control system. When called with a prefix +argument, you can remove a file from the ignored file list. + +*** `cvs-append-to-ignore' has been renamed to `vc-cvs-append-to-ignore' +because it is moved to vc-cvs.el. ** cl-lib @@ -330,6 +423,18 @@ This is useful to avoid a query when you have no key for that name. *** key bindings to navigate through and select the completions. *** The icomplete-separator is customizable, and its default has changed. *** Removed icomplete-show-key-bindings. +*** Icomplete-mode by defaults applies to all forms of minibuffer completion. +(setq icomplete-with-completion-tables '(internal-complete-buffer)) +will revert to the old behavior. + + +** New features for Octave mode: +*** Font locking for texinfo comments and new keywords +*** Completion in Octave file buffers +*** Eldoc support +*** Jump to definition +*** Documentation lookup/search +*** Code cleanup and various bug fixes ** Ido *** Ido has a manual now. @@ -346,6 +451,8 @@ directory, respectively. `f' (`image-next-frame') and `b' (`image-previous-frame') visit the next or previous frame. `F' (`image-goto-frame') shows a specific frame. +*** New commands to speed up, slow down, or reverse animation. + --- *** The command `image-mode-fit-frame' deletes other windows. When toggling, it restores the frame's previous window configuration. @@ -457,6 +564,8 @@ todo-mode.el has been made obsolete and renamed otodo-mode.el. ** Tramp +*** The experimental url syntax for remote file names is withdrawn. + +++ *** New connection method "adb", which allows to access Android devices by the Android Debug Bridge. The variable `tramp-adb-program' @@ -493,10 +602,21 @@ External su and sudo commands are now the default; the internal, Tramp-using variants can still be used by enabling the eshell-tramp module. +** Package + +*** The format of `archive-contents' files, generated by package +repositories, has changed to allow a new (fifth) element in the data +vectors, containing an associative list with extra properties. + +*** `describe-package' buffer uses the `:url' extra property to +display a `Homepage' header, if it's present. + ** New term.el option `term-suppress-hard-newline'. ** Obsolete packages: +*** Iswitchb is made obsolete by icomplete-mode. + *** longlines.el is obsolete; use visual-line-mode instead. +++ @@ -522,6 +642,36 @@ During initialization, Emacs no longer expends a process to decide whether it is safe to use Bash's --noediting option. These days --noediting is ubiquitous; it was introduced in 1996 in Bash version 2. ++++ +** There is a new macro `skip-unless' for skipping ERT tests. See the manual. + +** Imenu + +*** New option `imenu-generic-skip-comments-and-strings'. + +** Ruby mode + +*** New option `ruby-encoding-magic-comment-style'. + +*** New option `ruby-custom-encoding-magic-comment-template'. + +*** New mode menu. + +*** Improved syntax highlighting and indentation. + +*** Add more Ruby file types to `auto-mode-alist'. + +** JS Mode + +*** Better indentation of multiple-variable declarations. +If declaration spans several lines, variables on the following lines +are lined up to the first one. + +*** We now recognize and better indent continuations in array +comprehensions. + +*** New option `js-switch-indent-offset`. + * New Modes and Packages in Emacs 24.4 @@ -551,6 +701,11 @@ low-level libraries gfilenotify.c, inotify.c or w32notify.c. * Incompatible Lisp Changes in Emacs 24.4 +** `kill-region' lost its `yank-handler' optional argument. + +** `(input-pending-p)' no longer runs other timers which are ready to +run. The new optional CHECK-TIMERS param allows for the prior behavior. + ** `defvar' and `defcustom' in a let-binding affect the "external" default. ** The syntax of ?» and ?« is now punctuation instead of matched parens. @@ -600,9 +755,44 @@ file using `set-file-extended-attributes'. ** `visited-file-modtime' now returns -1 for nonexistent files. Formerly it returned a list (-1 LOW USEC PSEC), but this was ambiguous in the presence of files with negative time stamps. + +** The cars of the elements in `interpreter-mode-alist' are now treated +as regexps rather than literal strings. Technically this is an +incompatible change, but unless you are using interpreter-mode-alist +for something (not just adding elements to it), it ought not to affect you. + * Lisp Changes in Emacs 24.4 +** New function get-pos-property. + +** New hook `pre-redisplay-function'. + ++++ +** Functions that pop up menus and dialogs now work on all terminal types, +including TTYs. +This includes `x-popup-menu', `x-popup-dialog', `message-box', +`yes-or-no-p', etc. + +The function `display-popup-menus-p' will now return non-nil for a +display or frame whenever a mouse is supported on that display or +frame. + +** New bool-vector set operation functions: +*** `bool-vector-exclusive-or' +*** `bool-vector-union' +*** `bool-vector-intersection' +*** `bool-vector-set-difference' +*** `bool-vector-not' +*** `bool-vector-subsetp' +*** `bool-vector-count-consecutive' +*** `bool-vector-count-population' + +** Comparison functions =, <, >, <=, >= now take many arguments. + +** The second argument of `eval' can now be a lexical-environment. + +** `with-demoted-errors' takes an additional argument `format'. +++ ** New function `define-error'. @@ -611,6 +801,17 @@ in the presence of files with negative time stamps. +++ ** New macro with-eval-after-load. Like eval-after-load, but better behaved. +** New library helpers.el for misc helper functions +*** `hash-table-keys' +*** `hash-table-values' +*** `string-blank-p` +*** `string-empty-p` +*** `string-join` +*** `string-reverse` +*** `string-trim-left' +*** `string-trim-right' +*** `string-trim' + ** Obsoleted functions: *** `log10' *** `dont-compile' @@ -627,10 +828,15 @@ The few hooks that used with-wrapper-hook are replaced as follows: *** `completion-in-region-function' obsoletes `completion-in-region-functions'. *** `filter-buffer-substring-function' obsoletes `filter-buffer-substring-functions'. +** `byte-compile-interactive-only-functions' is now obsolete. +It has been replaced by the symbol property 'interactive-only. + ** `split-string' now takes an optional argument TRIM. The value, if non-nil, is a regexp that specifies what to trim from the start and end of each substring. +** New function `string-suffix-p'. + ** `get-upcase-table' is obsoleted by the new `case-table-get-table'. ** Support for filesystem notifications. @@ -667,6 +873,10 @@ rather than inheriting from it (as do face specs set via Customize). *** New face characteristic (supports :underline (:style wave)) specifies whether or not the terminal can display a wavy line. +*** New face spec attribute :distant-foreground +specifies foreground to use if background color is near the foreground +color that would otherwise have been used. + ** Image API +++ @@ -682,6 +892,8 @@ Emacs uses `image-default-frame-delay'. *** New functions `image-current-frame' and `image-show-frame' for getting and setting the current frame of a multi-frame image. +*** You can change the speed of animated images. + ** Changes in encoding and decoding of text --- @@ -748,6 +960,11 @@ used in place of the 9th element of `file-attributes'. `preserve-extended-attributes' as it now handles both SELinux context and ACL entries. +** The `common-substring' argument of display-completion-list is obsolete. +Either use `completion-all-completions' which already returns highlighted +strings (including for partial or substring completion) or call +`completion-hilit-commonality' to add the highlight. + ** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4 *** The package descriptor and name of global variables, constants, @@ -757,12 +974,10 @@ meant to be used by other packages. * Changes in Emacs 24.4 on Non-Free Operating Systems -** Emacs for MS-Windows can now be built by running the configure script -using the MSYS environment and MinGW development tools. -This is from now on the preferred method of building Emacs on -MS-Windows. The Windows-specific configure.bat and makefile.w32-in -files are deprecated. See the file nt/INSTALL.MSYS for detailed -instructions. +** The procedure for building Emacs on MS-Windows has changed. +It is now built by running the same configure script as on all other +platforms. This requires the MSYS environment and MinGW development +tools. See the updated instructions in nt/INSTALL for details. Using the Posix configure script and Makefile's also means a change in the directory structure of the Emacs installation on Windows. It is @@ -776,6 +991,14 @@ files are in share/emacs/VERSION/etc. (Emacs knows about all these directories and will find the files in there automatically; there's no need to set any variables due to this change.) ++++ +** Emacs on Windows 2000 and later can now access files and directories +whose names cannot be encoded in the current system codepage. + +The new variable `w32-unicode-filenames' controls this feature: if it +is t, Emacs uses Unicode APIs to pass file names to system calls, +which lifts the limitation of file names to the current locale. + +++ ** 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 @@ -895,6 +1118,10 @@ treated as images. *** ImageMagick images now support the :max-width and :max-height keywords. +*** Some data types aren't auto-detected by ImageMagick. Adding +:format to `create-image' may help if the content type is in the +new variable `image-format-suffixes'. + ** Minibuffer *** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the @@ -1640,6 +1867,13 @@ reused. *** New option `switch-to-buffer-preserve-window-point' to restore a window's point when switching buffers. +*** New display action function `display-buffer-no-window' to not +display the buffer in a window. + +*** New display action alist entry `allow-no-window' to indicate the +caller of `display-buffer' is ready to handle the case of not +displaying the buffer in a window. + *** New display action alist entries `window-height' and `window-width' specify the size of new windows created by `display-buffer'.