GNU Emacs NEWS -- history of user-visible changes.
-Copyright (C) 2010-2012 Free Software Foundation, Inc.
+Copyright (C) 2010-2013 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
build time, like libacl on GNU/Linux. To prevent this, use the
configure option `--without-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.
+
+\f
* Startup Changes in Emacs 24.4
+
+\f
* Changes in Emacs 24.4
++++
+** `apropos-variable' is now `apropos-user-option'
+`apropos-user-option' shows all user options while `apropos-variable'
+shows all variables. When called with a universal prefix argument,
+the two commands swap their behaviors. When `apropos-do-all' is
+non-nil, they output the same results.
+
+++
** `eval-defun' on an already defined defcustom calls the :set function,
if there is one.
+** If the new variable `enable-dir-local-variables' is nil,
+directory local variables are ignored. May be useful for some modes
+that want to ignore directory-locals while still respecting file-locals.
+
** The option `set-mark-default-inactive' has been deleted.
This unfinished feature was introduced by accident in Emacs 23.1;
simply disabling Transient Mark mode does the same thing.
libacl. On MS-Windows, the NT Security APIs are used to emulate the
POSIX ACL interfaces.
+** New option `scroll-bar-adjust-thumb-portion'.
+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).
+
+\f
* Editing Changes in Emacs 24.4
** 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.
+
\f
* Changes in Specialized Modes and Packages in Emacs 24.4
+** 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'.
+
+** 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.
+The default separator is changed to allow surrounding spaces around the comma.
+
** Battery
*** Battery information via the BSD `apm' utility is now supported.
The value (YEAR MONTH DAY) means to start using the Gregorian calendar
on the given date.
+*** Support for ISO 8601 dates.
+
+** Dired
+
+*** New minor mode `dired-hide-details-mode' hides details.
+
** ERC
*** New option `erc-accidental-paste-threshold-seconds'.
*** The icomplete-separator is customizable, and its default has changed.
*** Removed icomplete-show-key-bindings.
+** Image mode
+
+*** New commands `n' (`image-next-file') and `p' (`image-previous-file')
+visit the next image file and the previous image file in the same
+directory, respectively.
+
+*** New commands to show specific frames of multi-frame images.
+`f' (`image-next-frame') and `b' (`image-previous-frame') visit the
+next or previous frame. `F' (`image-goto-frame') shows a specific frame.
+
+---
+*** 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.
+
** Isearch
*** `C-x 8 RET' in Isearch mode reads a character by its Unicode name
it works like the utility `uniq'. Otherwise by default it deletes
duplicate lines everywhere in the region without regard to adjacency.
+** New `cycle-spacing' command allows cycling between having just one
+space, no spaces, or reverting to the original spacing. Like
+`just-one-space' command it can handle or ignore newlines and
+leave different number of spaces.
+
** Tramp
+
+++
*** 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 "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.
*** 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 nadvice.el package offering lighter-weight advice facilities.
- advice-add/advice-remove to add/remove a piece of advice on a named function,
much like `defadvice' does.
+\f
* Incompatible Lisp Changes in Emacs 24.4
+** Removed inhibit-local-menu-bar-menus.
+
** frame-local variables that affect redisplay do not work any more.
More specifically, the redisplay does not bother to check for a frame-local
value when looking up variables.
`file-extended-attributes'. The attributes can be applied to another
file using `set-file-extended-attributes'.
-* Lisp changes in Emacs 24.4
+\f
+* Lisp Changes in Emacs 24.4
** Support for filesystem notifications.
Emacs now supports notifications of filesystem changes, such as
'inotify' API on GNU/Linux systems. On MS-Windows systems, this is
supported for Windows XP and newer versions.
+** Changes in autorevert.el
+
+---
+*** If Emacs is compiled with file notification support, notifications
+are used instead of checking the time stamp of the files. You can
+disable this by setting the user option `auto-revert-use-notify' to
+nil. Alternatively, a regular expression of directories to be
+excluded from file notifications can be specified by
+`auto-revert-notify-exclude-dir-regexp'.
+
+---
+*** The new user option `auto-revert-remote-files' enables reversion
+of remote files when set to non-nil.
+
** Face changes
*** The `face-spec-set' is now analogous to `setq' for face specs.
*** Face specs set via Custom themes now replace the `defface' spec
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'
`preserve-extended-attributes' as it now handles both SELinux context
and ACL entries.
-* Changes in Emacs 24.4 on non-free operating systems
+\f
+* Changes in Emacs 24.4 on Non-Free Operating Systems
+++
** 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 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
+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
+native is the default.
+
\f
* Installation Changes in Emacs 24.3
** New configure option `--enable-gcc-warnings' (for developing/debugging
Emacs). If building with GCC, this enables compile-time checks that
-warn about possibly-questionable C code. On a recent GNU system there
-should be no warnings; on older and on non-GNU systems the generated
-warnings may be useful.
+warn/give errors about possibly-questionable C code. On a recent GNU
+system there should be no warnings; on older and on non-GNU systems
+the results may be useful to developers.
** The configure option `--enable-use-lisp-union-type' has been
renamed to `--enable-check-lisp-object-type', as the resulting
** Using "unibyte: t" in Lisp source files is obsolete.
Use "coding: raw-text" instead.
+** In the buffer made by `M-x report-emacs-bug', the `C-c m' binding
+has been changed to `C-c M-i' (`report-emacs-bug-insert-to-mailer').
+The previous binding, introduced in Emacs 24.1, was a mistake, because
+`C-c LETTER' bindings are reserved for user customizations.
+
** Internationalization
*** New language environment: Persian.
*** 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.
*** Option `Buffer-menu-buffer+size-width' is now obsolete.
Use `Buffer-menu-name-width' and `Buffer-menu-size-width' instead.
+** Calc
+
+*** Algebraic simplification mode is now the default.
+To restrict to the limited simplifications given by the former
+default simplification mode, use `m I'.
+
** Calendar
*** You can customize the header text that appears above each calendar month.
*** 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
*** `vc-checkout-carefully'
\f
-* Lisp changes in Emacs 24.3
+* Lisp Changes in Emacs 24.3
** CL-style generalized variables are now in core Elisp.
`setf' is autoloaded; `push' and `pop' accept generalized variables.
*** 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
*** `font-list-limit' (has had no effect since Emacs < 23)
\f
-* Changes in Emacs 24.3 on non-free operating systems
+* Changes in Emacs 24.3 on Non-Free Operating Systems
** Cygwin builds can use the native MS Windows user interface.
Pass `--with-w32' to configure. The default remains the X11 interface.
(`sendmail-send-it' on GNU/Linux and other Unix-like systems, and
`mailclient-send-it' on Windows).
-*** Typing C-c m in the buffer made by M-x report-emacs-bug transfers
-the report to your desktop's preferred mail client, if there is one.
-This uses either the "xdg-email" utility, or Mac OS's "open" command.
+*** Typing `C-c m' in the buffer made by `M-x report-emacs-bug'
+transfers the report to your desktop's preferred mail client, if there
+is one. This uses either the "xdg-email" utility, or Mac OS's "open"
+command.
*** See Changes in Specialized Modes and Packages for SMTPmail changes
and Mail mode changes
*** The default browser used by the package is now the "xdg-open" program,
on platforms that support it. This calls your desktop's preferred browser.
+** Calc
+
+*** Support for musical notes.
+
+*** Support for logarithmic units.
+
+*** No longer uses the tex prefix for TeX specific unit names when
+using TeX or LaTeX mode.
+
+*** New option to highlight selections using faces.
+
+*** `calc-histogram' has the option of using a vector to determine the bins.
+
+*** New "O" option prefix.
+
+*** Use the "O" prefix to "d r" (`calc-radix') to turn on twos-complement mode.
+
** Calendar, Diary, and Appt
*** Diary entries can contain non-printing "comments".
generates relative names according to the current `load-path'.
\f
-* Lisp changes in Emacs 24.1
+* Lisp Changes in Emacs 24.1
** Code can now use lexical scoping by default instead of dynamic scoping.
The `lexical-binding' variable enables lexical scoping for local
*** `font-lock-maximum-size' is obsolete.
\f
-* Changes in Emacs 24.1 on non-free operating systems
+* Changes in Emacs 24.1 on Non-Free Operating Systems
** On MS Windows, Emacs warns when using the obsolete init file _emacs,
and also when HOME is set to C:\ by default.