Handle system default font and changing font parameters.
[bpt/emacs.git] / etc / NEWS
index ccd13a5..aad0d2a 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -22,8 +22,45 @@ When you add a new item, please add it without either +++ or ---
 so we will look at it and add it to the manual.
 
 \f
+* Installation Changes in Emacs 23.2
+
+** New configure options for Emacs developers
+These are not new features; only the configure flags are new.
+
+*** --enable-profiling builds Emacs with profiling enabled.
+This might not work on all platforms.
+
+*** --enable-checking[=OPTIONS] builds emacs with extra runtime checks.
+
+---
+** `make install' now consistently ignores umask, creating a
+world-readable install.
+
+* Startup Changes in Emacs 23.2
+
+** Command-line option -Q (--quick) now also disables loading X resources.
+Note however that this does not affect Lucid or Motif widgets, if you
+are using those toolkits.  On Windows, this option causes Emacs to
+ignore Registry settings, though environment variables set on the
+Registry are still honored.
+
+*** The new variable `inhibit-x-resources' shows whether X resources
+were loaded.
+
 * Changes in Emacs 23.2
 
+** The maximum size of buffers (as well as the largest fixnum) is doubled.
+On typical 32bit systems, buffers can now be up to 512MB.
+
+** Function arguments in *Help* buffers are now in uppercase by default.
+You can customize the new variable `help-downcase-arguments' to change it.
+
+** Unibyte sessions are now considered obsolete.
+I.e. the use of the environment variable EMACS_UNIBYTE, or command line
+arguments --unibyte, --multibyte, --no-multibyte, and --no-unibyte
+is deprecated.  Similarly for custom-izing enable-multibyte-characters, or
+setting default-enable-multibyte-characters.
+
 ** The default value of `trash-directory' has changed to nil, which
 means that `move-file-to-trash' trashes files according to
 freedesktop.org specifications, the same method used by the Gnome,
@@ -41,28 +78,22 @@ frame parameter fullscreen makes the Emacs frame maximized.
 ** The pointer now becomes invisible when typing.
 Customize make-pointer-invisible to turn it off.
 
----
-** On MS-Windows, `display-time' now displays the system load average
-as well as the time, as it does on GNU and Unix.
-
-** configure options for emacs developers
-*** --enable-profiling will build emacs with profiling enabled.
-This might not work on all platforms.  It is not a new feature, just
-the configure flag is new.
-
-*** --enable-checking[=OPTIONS] will build emacs with various extra runtime checks.
-It is not a new feature, just the configure flag is new.
+** Emacs can use the system default monospaced font in Gnome.
+The use of the system default font can be turned on or off by customizing
+the variable 'font-use-system-font'.  It is off by default.
+If the system default is changed, Emacs changes also.
+This requires that gconf-support is built in.  If configure finds the
+gconf-libraries, that support is included. Gconf-support can be
+turned off with the configure option --without-gconf.
 
-** Killing a buffer with a running process now asks a confirmation.
-You can remove this query in two ways: either removing
-`process-kill-buffer-query-function' from `kill-buffer-query-functions' or
-setting the appropriate process flag with `set-process-query-on-exit-flag'.
+** Emacs now reacts to Xft-changes made by configuration tools on X11.
+Changes to antialias, hinting, hintstyle, RGBA, DPI and lcdfilter are
+handeled.  The XSETTINGS mechanism is used to implement this.
 
-+++
-** If `select-active-regions' is t, any active region automatically
-becomes the primary selection (for interaction with other window
-applications).  If you enable this, you might want to bind
-`mouse-yank-primary' to Mouse-2.
+** Killing a buffer with a running process now asks for confirmation.
+You can remove this query in two ways: either remove
+`process-kill-buffer-query-function' from `kill-buffer-query-functions',
+or set the appropriate process flag with `set-process-query-on-exit-flag'.
 
 ** The variable `load-in-progress' won't get corrupted by binding it
 with `let'.  In certain situations, loading an Emacs Lisp file from
@@ -71,9 +102,85 @@ source while in the midst of loading another file (e.g., with
 to be corrupted once the outer load completed.  Most code doesn't care
 about this, but some (like c-mode) may check it.
 
+** File-local variable changes
+
+*** Specifying a minor mode as a local variables enables that mode,
+unconditionally.  The previous behavior, toggling the mode, was
+neither reliable nor generally desirable.
+
+*** New commands for adding and removing file-local variables:
+`add-file-local-variable', `delete-file-local-variable',
+`add-file-local-variable-prop-line', and
+`delete-file-local-variable-prop-line'.
+
+*** New commands for adding and removing directory-local variables,
+and copying them to and from file-local variable lists:
+`add-dir-local-variable', `delete-dir-local-variable',
+`copy-dir-locals-to-file-locals',
+`copy-dir-locals-to-file-locals-prop-line' and
+`copy-file-locals-to-dir-locals'.
+
+** New coding system `utf-8-hfs' is available in
+international/ucs-normalize.el.  It is suitable for
+default-file-name-coding-system on Mac OS X.
+
+\f
+* Editing Changes in Emacs 23.2
+
+** Selection changes
++++
+*** If `select-active-regions' is t, any active region automatically
+becomes the primary selection (for interaction with other window
+applications).  If you enable this, you might want to bind
+`mouse-yank-primary' to Mouse-2.
+
+*** When `save-interprogram-paste-before-kill' is non-nil, emacs will
+not clobber the the interprogram paste when something is killed in it
+by saving the former in the `kill-ring' before the latter.
+
+** When `kill-do-not-save-duplicates' is non-nil, identical subsequent
+kills are not duplicated in the `kill-ring'.
+
++++
+** The default value for `blink-matching-paren-distance' has been increased.
+
+** The new completion-style `initials' is available.
+For instance, this can complete M-x lch to list-command-history.
+
 \f
 * Changes in Specialized Modes and Packages in Emacs 23.2
 
+** lucid.el and levents.el are now declared obsolete.
+
+** pcomplete provides a new command `pcomplete-std-completion' which
+is similar to `pcomplete' but using the standard completion UI code.
+
+** .calc.el and .abbrev_defs obey user-emacs-directory.
+
+** Calc graphing commands (`g f' etc.) now work on MS-Windows,
+if you have the native Windows port of Gnuplot version 3.8 or later
+installed.
+
+** Calendar and diary
+
+*** Fancy diary display is now the default.
+If you prefer the simple display, customize `diary-display-function'.
+
+*** The diary's fancy display now enables view-mode.
+
+---
+*** The command `calendar-current-date' accepts an optional argument
+giving an offset from today.
+
+** Desktop
+---
+*** The default value for `desktop-buffers-not-to-save' is nil.
+This means Desktop will try restoring all buffers, when you restart
+your Emacs session.  Also, `desktop-buffers-not-to-save' is only
+effective for buffers that have no associated file.  If you want to
+exempt buffers that do correspond to files, customize the value of
+`desktop-files-not-to-save' instead.
+
 ** FIXME mail-user-agent change
 This probably affects a lot of documentation.
 
@@ -90,28 +197,69 @@ through a menu structure.
 
 +++
 ** New connection methods in Tramp.
-On systems which support GVFS-Fuse, Tramp offers the new connection
-methods "dav", "davs", "obex" and "synce".
+The new connection methods "rsyncc", "imap" and "imaps" have been
+introduced.  On systems which support GVFS-Fuse, Tramp offers also the
+new connection methods "dav", "davs", "obex" and "synce".
+
+** nXML mode is now the default for editing XML files.
 
 ** VC and related modes
 
+*** When using C-x v v or C-x v i on a unregistered file that is in a
+directory not controlled by any VCS, ask the user what VC backend to
+use to create a repository, create a new repository and register the
+file.
+
+*** FIXME: add info about the new VC functions: vc-root-diff and
+vc-root-print-log once they stabilize.
+
+*** The log functions (C-x v l and C-x v L) do not show the full log
+by default anymore.  The number of entries shown can be chosen
+interactively with a prefix argument, by customizing
+vc-log-show-limit.  The log buffer display buttons that can be used
+to change the number of entries shown.
+RCS, SCCS, CVS and Git do not support this feature.
+
+*** vc-annotate supports annotations through file copies and renames,
+it displays the old names for the files and it can show logs/diffs for
+the corresponding lines.  Currently only Git and Mercurial take
+advantage of this feature.
+
 *** When a file is not found, VC will not try to check it out of RCS anymore.
 
-** Calendar and diary
+*** vc-git changes
+
+**** The new variable vc-git-add-signoff can be used to add a
+Signed-off-by line when committing.
+
+**** Support for operating with stashes has been added to vc-dir: the stash list is
+displayed in the *vc-dir* header, stashes can be created, removed and
+their content displayed.
+
+**** vc-dir displays the stash status
+
+*** log-edit-strip-single-file-name controls whether or not single filenames
+are stripped when copying text from the ChangeLog to the *VC-Log* buffer.
+
+** Elint
 
 ---
-*** The command `calendar-current-date' accepts an optional argument
-giving an offset from today.
+*** Elint now uses compilation-mode.
 
-** Desktop
+---
+*** Elint can now scan individual files and whole directories,
+and can be run in batch mode.
 
 ---
-*** The default value for `desktop-buffers-not-to-save' is nil.
-This means Desktop will try restoring all buffers, when you restart
-your Emacs session.  Also, `desktop-buffers-not-to-save' is only
-effective for buffers that have no associated file.  If you want to
-exempt buffers that do correspond to files, customize the value of
-`desktop-files-not-to-save' instead.
+*** Elint does a more thorough initialization, and recognizes more built-in
+functions and variables.  Customize `elint-scan-preloaded' if you want
+to sacrifice some accuracy for a faster startup.
+
+---
+*** Elint attempts some basic understanding of featurep and (f)boundp tests.
+
+---
+*** Customize `elint-ignored-warnings' to suppress some warnings.
 
 ** Miscellaneous
 
@@ -120,6 +268,118 @@ the command asynchronously without the need to manually add ampersand to
 the end of the command.  Its output appears in the buffer `*Async Shell
 Command*'.
 
++++
+*** Autorevert Tail mode now works now for remote files.
+
+\f
+* New Modes and Packages in Emacs 23.2
+
+** FIXME CEDET
+
+** js.el is a new major mode for JavaScript files.
+
+** imap-hash.el is a new library to address IMAP mailboxes as hashtables.
+
+\f
+* Incompatible Lisp Changes in Emacs 23.2
+
+** Several obsolete functions removed.
+The functions have been obsolete since Emacs 19, and are unlikely to
+be in use:
+
+  time-stamp-month-dd-yyyy, time-stamp-dd/mm/yyyy, time-stamp-mon-dd-yyyy
+  time-stamp-dd-mon-yy, time-stamp-yy/mm/dd, time-stamp-yyyy/mm/dd,
+  time-stamp-yyyy-mm-dd, time-stamp-yymmdd, time-stamp-hh:mm:ss,
+  time-stamp-hhmm, baud-rate
+
+---
+** Support for generating Emacs 18 compatible bytecode (by setting
+the variable `byte-compile-compatibility') has been removed.
+
+\f
+* Lisp changes in Emacs 23.2
+
+** The 4th arg to all-completions (aka hide-spaces) is declared obsolete.
+
+** read-file-name-predicate is obsolete.  It was used to pass the predicate
+to read-file-name-internal because read-file-name-internal abused its `pred'
+argument to pass the current directory, but this hack is not needed
+any more.
+
+** completion-base-size is obsoleted by completion-base-position.
+This change causes a few backward incompatibilities, mostly with
+choose-completion-string-functions where the `mini-p' argument has
+been replaced by a `base-position' argument, and where the `base-size'
+argument is now always nil.
+
+** called-interactively-p now takes one argument and replaces interactive-p
+which is now marked obsolete.
+** New function set-advertised-calling-convention makes it possible
+to obsolete arguments as well as make some arguments mandatory.
+** eval-next-after-load is obsolete.
+** New hook `after-load-functions' run after loading an Elisp file.
+
+** You can control which binding is preferentially shown in menus and
+docstrings by adding a `:advertised-binding' property to the corresponding
+command's symbol.  That property can hold a single binding or a list
+of bindings.
+
+** New macro with-silent-modifications to tweak text properties without
+affecting the buffer's modification state.
+** All the default-FOO variables that hold the default value of the FOO
+variable, are now declared obsolete.
+
+** read-key is a function halfway between read-event and read-key-sequence.
+It reads a single key, but obeys input and escape sequence decoding.
+
+** start-process-shell-command and start-file-process-shell-command
+now only take a single `command' argument.
+
+** The variable `process-file-side-effects' shall be bound to nil, if
+a `process-file' call does not change a remote file.  By this, file
+name handlers like Tramp can apply optimizations.
+
+** Hash tables have a new printed representation that is readable.
+The feature `hashtable-print-readable' identifies this new
+functionality.
+
+** Functions performing Unicode normalization are added.  They are:
+ucs-normalize-NFD-region, ucs-normalize-NFD-string,
+ucs-normalize-NFC-region, ucs-normalize-NFC-string,
+ucs-normalize-NFKD-region, ucs-normalize-NFKD-string,
+ucs-normalize-NFKC-region, ucs-normalize-NFKC-string,
+ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string,
+ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string.
+
+** completion-annotate-function specifies how to compute annotations
+for completions displayed in *Completions*.
+
++++
+** Face aliases can now be marked as obsolete, using the macro
+`define-obsolete-face-alias'.
+
+---
+** Changing the file-names generated by byte-compilation by redefining
+the function `byte-compile-dest-file' before loading bytecomp.el is obsolete.
+Instead, customize byte-compile-dest-file-function.
+
+---
+** `byte-compile-warnings' can have a new member, `constants'.
+
+** `delete-directory' has an optional parameter RECURSIVE.
+
+** New function `copy-directory', which copies a directory recursively.
+
++++
+** New function `window-full-height-p', analogous to the full-width version.
+
+\f
+* Changes in Emacs 23.2 on non-free operating systems
+
+---
+** On MS-Windows, `display-time' now displays the system load average
+as well as the time, as it does on GNU and Unix.
+
 \f
 * Installation Changes in Emacs 23.1
 
@@ -794,6 +1054,12 @@ identify cited keys in BibTeX entries, used by `bibtex-find-crossref'.
 
 *** Command `bibtex-url' allows multiple URLs per entry.
 
+** Bookmarks
+
+*** bookmark.el saves bookmarks in a pre-Emacs-23-incompatible file format
+bookmark.el can read a .emacs.bmk file saved by an older Emacs, but an
+older Emacs cannot read one saved by Emacs 23.
+
 ** Calendar and diary
 
 *** There is a new date style, `iso', essentially year/month/day.
@@ -1932,7 +2198,7 @@ declare-function macros (see Lisp Changes, above).
 ** The package misearch.el has been added.  It allows Isearch to search
 through multiple buffers.  A variable `multi-isearch-next-buffer-function'
 defines the function to call to get the next buffer to search in the series
-of multiple buffers.  Top-level commands `multi-isearch-buffers',
+of multiple buffers.  Top-level functions `multi-isearch-buffers',
 `multi-isearch-buffers-regexp', `multi-isearch-files' and
 `multi-isearch-files-regexp' accept a single argument that specifies
 a list of buffers/files to search for a string/regexp.