Announce the MSYS build in etc/NEWS.
[bpt/emacs.git] / etc / NEWS
index 2eda7a5..fc0eaf3 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -23,10 +23,21 @@ so we will look at it and add it to the manual.
 \f
 * Installation Changes in Emacs 24.4
 
-** Emacs can be compiled with POSIX ACL support.
+** Emacs can be compiled with ACL support.
 This happens by default if a suitable support library is found at
 build time, like libacl on GNU/Linux.  To prevent this, use the
-configure option `--without-acl'.
+configure option `--disable-acl'.
+
+** The configure option --with-crt-dir has been removed.
+It is no longer needed, as the crt*.o files are no longer linked
+specially.
+
+** 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.
 
 \f
 * Startup Changes in Emacs 24.4
@@ -34,6 +45,8 @@ configure option `--without-acl'.
 \f
 * Changes in Emacs 24.4
 
+** Key ? also describes prefix bindings like C-h.
+
 +++
 ** `apropos-variable' is now `apropos-user-option'
 `apropos-user-option' shows all user options while `apropos-variable'
@@ -56,6 +69,8 @@ simply disabling Transient Mark mode does the same thing.
 ** `initial-buffer-choice' can now specify a function to set up the
 initial buffer.
 
+** `write-region-inhibit-fsync' now defaults to t in batch mode.
+
 ** ACL support has been added.
 +++
 *** Emacs preserves the ACL entries of files when backing up.
@@ -70,24 +85,74 @@ Available only on X, this option allows to control over-scrolling
 using the scroll bar (i.e. dragging the thumb down even when the end
 of the buffer is visible).
 
+** In compiled Lisp files, the header no longer includes a timestamp.
+
+** Multi-monitor support has been added.
+
+*** New functions `display-monitor-attributes-list' and
+`frame-monitor-attributes' can be used to obtain information about
+each physical monitor on multi-monitor setups.
+
 \f
 * Editing Changes in Emacs 24.4
 
+** `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
+was mistakenly retained.
+
 ** New commands `toggle-frame-fullscreen' and `toggle-frame-maximized',
 bound to <f11> and M-<f10>, respectively.
 
 ** In keymaps where SPC scrolls, S-SPC now scrolls in the reverse direction.
 Eg View mode, etc.
 
+** New command `kmacro-to-register' to store keyboard macros in registers.
+
+** Shell Script mode
+
+*** `sh-mode' now has the mode own `add-log-current-defun-function'.
+You can pick the name of the function and the variables with `C-x 4 a'.
+
 \f
 * Changes in Specialized Modes and Packages in Emacs 24.4
 
+** `remember' can now store notes in separates files
+You can use the new function `remember-store-in-files' within the
+`remember-handler-functions' option.
+
+See `remember-data-directory' and `remember-directory-file-name-format'
+for new options related to this function.
+** `ido-decorations' has been slightly extended to give a bit more control.
+
+** More packages look for ~/.emacs.d/<foo> additionally to ~/.<foo>.
+Affected files:
+~/.emacs.d/timelog     replaces  ~/.timelog
+~/.emacs.d/todo-do     replaces  ~/.todo-do
+~/.emacs.d/todo-done   replaces  ~/.todo-done
+~/.emacs.d/todo-top    replaces  ~/.todo-top
+~/.emacs.d/vip         replaces  ~/.vip
+~/.emacs.d/viper       replaces  ~/.viper
+~/.emacs.d/ido.last    replaces  ~/.ido.last
+~/.emacs.d/kkcrc       replaces  ~/.kkcrc
+~/.emacs.d/quickurls   replaces  ~/.quickurls
+~/.emacs.d/idlwave     replaces  ~/.idlwave
+~/.emacs.d/bdfcache.el replaces  ~/.bdfcache.el
+~/.emacs.d/places      replaces  ~/.emacs-places
+~/.emacs.d/shadows     replaces  ~/.shadows
+~/.emacs.d/shadow_todo replaces  ~/.shadow_todo
+~/.emacs.d/strokes     replaces  ~/.strokes
+~/.emacs.d/notes       replaces  ~/.notes
+~/.emacs.d/type-break  replaces  ~/.type-break
+
 ** Delphi mode is now called OPascal mode.
 *** All delphi-* variables and functions have been renamed to opascal-*.
 *** `delphi-newline-always-indents' is not supported any more
 use `electric-indent-mode' instead.
 *** `delphi-tab' is gone, replaced by `indent-for-tab-command'.
 
+** Eldoc Mode works properly in the minibuffer.
+
 ** jit-lock-debug-mode lets you use the debuggers on code run via jit-lock.
 
 ** completing-read-multiple's separator can now be a regexp.
@@ -97,6 +162,12 @@ The default separator is changed to allow surrounding spaces around the comma.
 
 *** Battery information via the BSD `apm' utility is now supported.
 
+** Calendar and Diary
+
++++
+*** New variable `diary-from-outlook-function', used by the command
+`diary-from-outlook'.
+
 ** cl-lib
 
 *** New macro cl-tagbody.
@@ -120,6 +191,11 @@ on the given date.
 
 *** Support for ISO 8601 dates.
 
+** Desktop
+
+*** `desktop-auto-save-timeout' defines the number of seconds between
+auto-saves of the desktop.
+
 ** Dired
 
 *** New minor mode `dired-hide-details-mode' hides details.
@@ -130,6 +206,9 @@ on the given date.
 If set to a number, this can be used to avoid accidentally paste large
 amounts of data into the ERC input.
 
+---
+** New F90 mode option `f90-smart-end-names'.
+
 ** Icomplete is a bit more like IDO.
 *** key bindings to navigate through and select the completions.
 *** The icomplete-separator is customizable, and its default has changed.
@@ -145,20 +224,24 @@ 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.
 
-*** `image-animated-p' is now `image-multi-frame-p'.
-
 ---
 *** The command `image-mode-fit-frame' deletes other windows.
 When toggling, it restores the frame's previous window configuration.
 It also has an optional frame argument, which can be used by Lisp
 callers to fit the image to a frame other than the selected frame.
 
+** Info
+
+*** New face `info-index-match' is used to highlight matches in index
+entries displayed by `Info-index-next', `Info-virtual-index' and
+`info-apropos'.
+
 ** Isearch
 
 *** `C-x 8 RET' in Isearch mode reads a character by its Unicode name
 and adds it to the search string.
 
-** MH-E has been updated to MH-E version 8.4.
+** MH-E has been updated to MH-E version 8.5.
 See MH-E-NEWS for details.
 
 ---
@@ -195,33 +278,59 @@ leave different number of spaces.
 
 +++
 *** New connection method "adb", which allows to access Android
-devices by the Android Debug Bridge.  The variable `tramp-adb-sdk-dir'
-must be set to the Android SDK installation directory.
+devices by the Android Debug Bridge.  The variable `tramp-adb-program'
+can be used to adapt the path of the "adb" program, if needed.
 
-*** The connection methods "scpc" and "rsyncc" are discontinued.  The
-ssh option "ControlMaster=auto" is set automatically in all ssh-based
-methods, when possible.
+*** The connection methods "plink1", "ssh1", "ssh2", "scp1", "scp2",
+"scpc" and "rsyncc" are discontinued.  The ssh option
+"ControlMaster=auto" is set automatically in all ssh-based methods,
+when possible.
 
 +++
 *** Handlers for `file-acl' and `set-file-acl' for remote machines
 which support POSIX ACLs.
 
+** VHDL mode
+
+*** New options: `vhdl-actual-generic-name', `vhdl-beautify-options'.
+
+*** New commands: `vhdl-fix-statement-region', `vhdl-fix-statement-buffer'.
+
 ** Woman
 
 *** The commands `woman-default-faces' and `woman-monochrome-faces'
 are obsolete.  Customize the `woman-* faces instead.
 
+** Eshell
+
+*** Added Eshell-TRAMP module
+External su and sudo commands are now the default; the internal,
+TRAMP-using variants can still be used by enabling the eshell-tramp
+module.
+
 ** Obsolete packages:
 
 *** longlines.el is obsolete; use visual-line-mode instead.
 
++++
+*** sup-mouse.el.
+
 *** terminal.el is obsolete; use term.el instead.
 
 +++
 *** yow.el is obsolete; use fortune.el or cookie1.el instead.
 
+---
+*** The Info-edit command is obsolete.  Editing Info nodes by hand
+has not been relevant for some time.
+
 \f
 * New Modes and Packages in Emacs 24.4
+** New `superword-mode' in subword.el
+`superword-mode' overrides the default word motion commands to treat
+symbol_words as a single word, similar to what `subword-mode' does and
+using the same internal functions.
+
 ** New nadvice.el package offering lighter-weight advice facilities.
 It is layered as:
 - add-function/remove-function which can be used to add/remove code on any
@@ -232,6 +341,14 @@ It is layered as:
 \f
 * Incompatible Lisp Changes in Emacs 24.4
 
+** Default process filers and sentinels are not nil any more.
+Instead they default to a function which does what the nil value used to do.
+
+** `read-event' does not return decoded chars in ttys any more.
+Just as was the case in Emacs-22 and before, decoding of tty input according to
+keyboard-coding-system is not performed in read-event any more.  But contrary
+to that past, it is still done before input-decode-map/function-key-map/...
+
 ** Removed inhibit-local-menu-bar-menus.
 
 ** frame-local variables that affect redisplay do not work any more.
@@ -258,6 +375,21 @@ file using `set-file-extended-attributes'.
 \f
 * Lisp Changes in Emacs 24.4
 
+** Obsoleted functions:
+*** `dont-compile'
+*** `lisp-complete-symbol'
+*** `field-complete'
+*** `minibuffer-completion-contents'
+
+** `with-wrapper-hook' is obsoleted by `add-function'.
+The few hooks that used with-wrapper-hook are replaced as follows:
+*** `abbrev-expand-function' obsoletes `abbrev-expand-functions'.
+*** `completion-in-region-function' obsoletes `completion-in-region-functions'.
+*** `filter-buffer-substring-function' obsoletes `filter-buffer-substring-functions'.
+
+
+** `get-upcase-table' is obsoleted by the new `case-table-get-table'.
+
 ** Support for filesystem notifications.
 Emacs now supports notifications of filesystem changes, such as
 creation, modification, and deletion of files.  This requires the
@@ -291,6 +423,21 @@ 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.
 
+** Image API
+
++++
+*** `image-animated-p' is now `image-multi-frame-p'.
+It returns non-nil for any image that contains multiple frames,
+whether or not it specifies a frame delay.
+
++++
+*** When animating images that do not specify a frame delay,
+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.
+
 ** time-to-seconds is not obsolete any more.
 ** New function special-form-p.
 ** Docstrings can be made dynamic by adding a `dynamic-docstring-function'
@@ -299,6 +446,17 @@ text-property on the first char.
 ** The `defalias-fset-function' property lets you catch calls to defalias
 and redirect them to your own function instead of `fset'.
 
+** The lock for 'DIR/FILE' is now 'DIR/.#FILE' and may be a regular file.
+When you edit DIR/FILE, Emacs normally creates a symbolic link
+DIR/.#FILE as a lock that warns other instances of Emacs that DIR/FILE
+is being edited.  Formerly, if there was already a non-symlink file
+named DIR/.#FILE, Emacs fell back on the lock names DIR/.#FILE.0
+through DIR/.#FILE.9.  These fallbacks have been removed, so that
+Emacs now no longer locks DIR/FILE in that case.
+
+On file systems that do not support symbolic links, the lock is now a
+regular file with contents being what would have been in the symlink.
+
 ** The 9th element returned by `file-attributes' is now unspecified.
 Formerly, it was t if the file's gid would change if file were deleted
 and recreated.  This value has been inaccurate for years on many
@@ -314,6 +472,12 @@ used in place of the 9th element of `file-attributes'.
 `preserve-extended-attributes' as it now handles both SELinux context
 and ACL entries.
 
+** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4
+
+*** The package descriptor and name of global variables, constants,
+and functions should be separated by two hyphens if the symbol is not
+meant to be used by other packages.
+
 \f
 * Changes in Emacs 24.4 on Non-Free Operating Systems
 
@@ -328,6 +492,13 @@ 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
 modifying it has no effect.
 
+---
+** Lock files now work on MS-Windows.
+This allows to avoid losing your edits if the same file is being
+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.
+
 ** Improved fullscreen support on Mac OS X.
 Both native (>= OSX 10.7) and "old style" fullscreen are supported.
 Customize `ns-use-native-fullscreen' to change style.  For >= 10.7
@@ -752,6 +923,29 @@ Sphinx support has been improved.
 
 *** The constant `rst-version' describes the rst.el package version.
 
+** Ruby mode
+
+*** Support for percent literals and recognition of regular expressions
+in method calls without parentheses with more methods, including Cucumber
+steps definitions.
+
+*** Improved syntax highlighting and indentation.
+
+*** New command `ruby-toggle-block', bound to `C-c {'.
+
+*** Some non-standard keybindings/commands have been removed:
+
+**** `ruby-electric-brace'; use `electric-indent-mode' instead.
+
+**** `ruby-mark-defun'; use `mark-defun'.
+
+**** `ruby-beginning-of-defun' and `ruby-end-of-defun' are replaced by
+appropriate settings for the variables `beginning-of-defun-function'
+and `end-of-defun-function'.
+
+**** Non-standard keybindings for `backward-kill-word', `comment-region',
+`reindent-then-newline-and-indent' and `newline' have been removed.
+
 ** Shell Script mode
 
 *** Pairing of parens/quotes uses `electric-pair-mode' instead of skeleton-pair.
@@ -802,6 +996,63 @@ See the variable `calendar-month-header'.
 *** The calendars produced by cal-html include holidays.
 Customize `cal-html-holidays' to change this.
 
+** CEDET
+
+*** The major modes from the parser generators "Bovine" and "Wisent"
+are now properly integrated in Emacs.  The file suffixes ".by" and ".wy"
+are in `auto-mode-alist', and the corresponding manuals are included.
+
+*** EDE
+
+**** Menu support for the "Configuration" feature.  This allows users to
+choose the active configuration (such as debug or install) from the menu.
+
+**** New command `ede-set' to interactively set project-local variables.
+
+**** Support for compiling, debugging, and running in "generic" projects.
+
+**** Autoconf editing support for M4 macros with complex arguments.
+
+**** Compilation support for the "linux" project type.
+
+**** "simple" projects have been removed; use "generic" projects instead.
+
+*** Semantic
+
+**** Support for parsing #include statements inside a namespace in C/C++.
+
+**** Improved support for 'extern "C"' declarations in C/C++.
+
+**** The ability to ignore more common special C/C++ preprocessor symbols,
+such as '__nonnull' and '__asm'.  Add '__cplusplus' macro when parsing C++.
+If available, include cdefs.h as an additional source of preprocessor symbols.
+
+**** Improved C/C++ function pointer parsing.
+
+**** In Python, support for converting imports to include file names.
+
+**** Ability to dynamically determine the Python load path.
+
+**** Support for the Python 'WITH' and 'AT' keywords.
+
+**** Improved tooltip completion.
+
+*** SRecode
+
+**** The SRecode manual is now included.
+
+**** Tag generation supports constructor/destructor settings and system
+include differentiation.
+
+**** Addition of 'Framework' support: Frameworks are specified when a
+particular kind of library (such as Android) is needed in a common language
+mode (like Java).
+
+**** Support for nested templates and let variables override based on priority.
+
+**** Support for merging tables from multiple related modes, such as
+default -> c++ -> arduino.
+
 ** Compile has a new option `compilation-always-kill'.
 
 ** Customize
@@ -1141,6 +1392,25 @@ accessed via the new `timer--psecs' accessor.
 *** Last-modified time stamps in undo lists now are of the form
 (t HI-SECS LO-SECS USECS PSECS) instead of (t HI-SECS . LO-SECS).
 
+** EIEIO
+
+*** Improved security when handling persistent objects:
+
+**** `eieio-persistent-read' now features optional arguments for specifying
+the class to load, as well as a flag stating whether subclasses are allowed;
+if provided, other classes will be rejected by the reader.  For
+compatibility with existing code, if the class is omitted only a
+warning is issued.
+
+**** New specialized reader for pulling in classes and signaling errors
+without evaluation of suspicious code.
+
+**** All slots that contain objects must have a :type.  Slots with lists
+of objects must use a new type predicate for a list of an object type.
+
+*** Support for `find-function' and similar utilities, through the addition
+of filename support to generated symbols.
+
 ** Floating point functions now always return special values like NaN,
 instead of signaling errors, if given invalid args; e.g., (log -1.0).
 Previously, they returned NaNs on some platforms but signaled errors