(woman-dired-define-keys): Use `mapc' rather than `mapcar'.
[bpt/emacs.git] / etc / NEWS
CommitLineData
29b7722a 1GNU Emacs NEWS -- history of user-visible changes.
5b87ad55 2
0bfd685e 3Copyright (C) 2007 Free Software Foundation, Inc.
5b87ad55 4See the end of the file for license conditions.
a933dad1 5
3f7194ed 6Please send Emacs bug reports to emacs-pretest-bug@gnu.org.
9a21d88b
KS
7If possible, use M-x report-emacs-bug.
8
0bfd685e 9This file is about changes in Emacs version 23.
9a21d88b 10
0bfd685e
GM
11See files NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17
12for changes in older Emacs versions.
9a21d88b
KS
13
14You can narrow news to a specific version by calling `view-emacs-news'
15with a prefix argument or by typing C-u C-h C-n.
3f7194ed
GM
16
17Temporary note:
18 +++ indicates that the appropriate manual has already been updated.
19 --- means no change in the manuals is called for.
20When you add a new item, please add it without either +++ or ---
21so we will look at it and add it to the manual.
22
05197f40 23\f
9c576ea0
KS
24* About external Lisp packages
25
9c576ea0 26\f
0bfd685e 27* Installation Changes in Emacs 23.1
c58dccad 28
3f7194ed
GM
29** The default X toolkit is now Gtk+, rather than Lucid.
30
9d3cc9b2
GM
31** configure now checks for libgif before libungif when searching for
32a GIF library.
b5ac89f8 33
36e625ec
GM
34** Support for systems without alloca has been removed.
35
48a8be40
GM
36** The `emacstool' utility has been removed.
37
4e5cdb4f 38\f
6dadd99f
NR
39* Changes in Emacs 23.1
40
780d7bb9
RS
41** Emacs now supports using both X displays and ttys in one session.
42You can also use any number of different ttys.
43
44You can test for the presence of this feature in your Lisp code by
45testing for the `multi-tty' feature.
46
251ad2de
TTN
47** Emacs comes with a new set of icons for Mac OS X.
48OS-X-style icons (an application icon and a relevant document icon)
49were contributed by Kentaro Ohkouchi.
50Source files for these icons can be found in Emacs.app/Contents/Resources.
51
f664fee9
MC
52** Built-in functions (subr) can now have an interactive specification
53that is not a prompt string. If the `intspec' parameter of a `DEFUN'
54starts with a `(', the string is evaluated as a Lisp form.
55
56** set-file-modes is now interactive and can take the mode value in
57symbolic notation thanks to auxiliary functions.
58
90ab5c62
SM
59** split-window-preferred-function specifies whether display-buffer should
60split windows vertically or horizontally.
61
24cdde13
GM
62** Emacsclient has been extended to support opening a new terminal
63frame. Its behavior has been changed to open a new Emacs frame by
64default. Use the -c option to get the old behavior of opening files in
65the currently selected Emacs frame.
66
c0dadae9
MC
67** The refcards are now shipped as PDF files.
68
795a2a94
GM
69** Emacs now supports the SVG image format through librsvg2.
70
75f6af19 71** If you set find-file-confirm-nonexistent-file to t, then C-x C-f
0a963185
SM
72requires confirmation before opening a non-existent file.
73
6dadd99f
NR
74** If the gpm mouse server is running and t-mouse-mode enabled, Emacs uses a
75Unix socket in a GNU/Linux console to talk to server, rather than faking events
76using the client program mev. This C level approach provides mouse
77highlighting, and help echoing in the minibuffer.
78
c2e8590b
TTN
79** The new variable next-error-recenter specifies how next-error should
80recenter the visited source file. Its value can be a number (for example,
810 for top line, -1 for bottom line), or nil for no recentering.
82
1f2e1c75
NR
83** The mode-line display a `@' if the default-directory for the current buffer
84is on a remote machine, or a hyphen otherwise.
6c5d503f 85
62e3c31f
SM
86** The new command balance-window-area balances windows both vertically
87and horizontally.
d466e9fc
SM
88
89** The new command close-display-connection can be used to close a connection
90to a remote display, e.g. because the display is about to become unreachable.
6c5d503f
MA
91
92** The command shell prompts for the default directory, when it is
93called with a prefix, and the default directory is a remote file name.
94This is because some file name handler (like ange-ftp) are not able to
95run processes remotely.
aff2ba04
RS
96
97** The new command `display-time-world' starts an updating time display
98using several time zones, in a buffer.
6dadd99f 99\f
0bfd685e 100* Startup Changes in Emacs 23.1
21f7b9d8 101
56e1896b
JL
102** New user option `initial-buffer-choice' specifies what to display
103after starting Emacs: startup screen, *scratch* buffer, visiting a
104file or directory.
105
c44da964 106\f
0bfd685e 107* Incompatible Editing Changes in Emacs 23.1
b58cb59f 108
406c0f12 109\f
0bfd685e 110* Editing Changes in Emacs 23.1
406c0f12 111
6dd697d9
DN
112** TAB now indents the region if the region is active and
113`transient-mark-mode' is turned on.
114
24cdde13
GM
115** C-z now invokes `suspend-frame', C-x C-c now invokes
116`save-buffers-kill-terminal'.
117
a151f82c
SS
118** New command kill-matching-buffers kills buffers whose name matches a regexp.
119
297b8ccd
JL
120** Minibuffer changes:
121
122*** isearch started in the minibuffer searches in the minibuffer history.
123Reverse isearch commands (C-r, C-M-r) search in previous minibuffer
124history elements, and forward isearch commands (C-s, C-M-s) search in
125next history elements. When the reverse search reaches the first history
126element, it wraps to the last history element, and the forward search
127wraps to the first history element. When the search is terminated, the
128history element containing the search string becomes the current.
129
0bfd685e
GM
130\f
131* New Modes and Packages in Emacs 23.1
0091c67e 132
1816bda7
MC
133** The package doc-view.el has been added. It supports viewing of PDF,
134PostScript and DVI documents inside an Emacs buffer by converting the
135document to a set of PNG images first. One can also search for a
136regular expression in the document. The commentary of the file explains
137its usage.
138
ddc961c5 139** A new game called `bubbles' has been added.
a0818148 140
dcd6e8d7 141** minibuffer-indicate-depth-mode shows the minibuffer depth in the prompt.
3f7194ed 142
0bfd685e
GM
143\f
144* Changes in Specialized Modes and Packages in Emacs 23.1
61d244ca 145
e6a01e4e 146** archive-mode has basic support to browse Rar archives.
24cdde13
GM
147** talk.el has been extended for multiple tty support.
148
813fb3fe
SM
149** compilation-auto-jump-to-first-error tells `compile' to jump to
150the first error encountered during compilations.
151
b649d2e4
SM
152** In the `copyright' package, you can specify your copyright holders's names.
153Only copyright lines with holders matching copyright-names-regexp will be
154considered for update.
155
e7ce8577
GM
156** eldoc highlights the function argument under point
157with the face `eldoc-highlight-function-argument'.
158
56dada42 159** VC
397c4757
DN
160*** Clicking on the VC mode-line entry now pops the VC menu.
161
9372a958 162*** The VC mode-line entry now has a tooltip that explains the VC file status.
cb223bba 163
082c5622
DN
164*** VC now supports applying VC operations to a set of files at a time.
165
5d503af9
SM
166** sgml-electric-tag-pair-mode lets you simultaneously edit matched tag pairs.
167
2793c9bb
RW
168** BibTeX mode:
169
170*** New `bibtex-entry-format' options `whitespace', `braces', and
171`string', disabled by default.
172
173*** New variable `bibtex-cite-matcher-alist' contains rules to
174identify cited keys in BibTeX entries, used by `bibtex-find-crossref.
175
176*** Command `bibtex-url' now allows multiple URLs per entry.
177
cc213f24
MA
178+++
179** Tramp
180
181*** New connection methods.
182The new methods "plinkx", "plink2", "psftp", "sftp" and "fish" have
183been introduced. There are also new so-called gateway methods
184"tunnel" and "socks".
185
186*** Multihop syntax has been removed.
187The pseudo-method "multi" has been removed. Instead of, multi hops
188can be specified by the new variable `tramp-default-proxies-alist'.
189
190*** More default settings.
191Default values can be set via the variables `tramp-default-user',
192`tramp-default-user-alist' and `tramp-default-host'.
193
194*** Connection information is cached.
195In order to reduce connection setup, information about used
196connections are kept persistent in a file. The name of this file is
197defined in the variable `tramp-persistency-file-name'.
198
199*** Control of remote processes.
200Running processes on a remote host can be controlled by settings in
201`tramp-remote-path' and `tramp-remote-process-environment'.
202
203*** Success of remote copy is checked.
204When the variable `file-precious-flag' is set, the success of a remote
205file copy is checked via the file's checksum.
206
d15f7b68
GM
207** Miscellaneous programming mode changes
208
da26ea8d
GM
209*** The file etc/emacs.py now supports both Python 2 and 3, meaning
210that either version can be used as inferior Python by python.el.
c3f01f42 211
d15f7b68
GM
212*** The variable `fortran-line-length' can change the fixed-form line-length.
213
214** Miscellaneous
215
216*** comint-mode uses `start-file-process' now (see Lisp Changes).
cc213f24
MA
217If `default-directory' is a remote file name, subprocesses are started
218on the corresponding remote system.
219
d15f7b68 220*** C-x C-q in dired-mode now runs the command wdired-change-to-wdired-mode,
40aa8257
JL
221and C-x C-q in wdired-mode exits it with asking a question about
222saving changes.
d15f7b68 223
4596901f
GM
224*** The new command `eshell/info' runs info in an eshell buffer.
225
0bfd685e
GM
226\f
227* Changes in Emacs 23.1 on non-free operating systems
8ab314f9 228
672f99b6
JR
229---
230** IPv6 is supported on MS-Windows.
231Emacs now supports IPv6 on Windows XP and later, and earlier versions
232of Windows with third party IPv6 stacks installed. Previously IPv6 was
233supported on other platforms, but not on Windows due to using the winsock
2341.1 header file, even though Emacs was linking to the winsock 2 library.
235
0bfd685e
GM
236\f
237* Incompatible Lisp Changes in Emacs 23.1
8ec65cd7 238
03605a28
MA
239+++
240** The function `dired-call-process' has been removed.
241
0bfd685e
GM
242\f
243* Lisp Changes in Emacs 23.1
8ab314f9 244
24cdde13
GM
245** Changes related to multiple tty support.
246
b12f6e85
SM
247*** $TERM is now set to `dumb' for subprocesses. If you want to know the
248$TERM inherited by Emacs you will have to look inside initial-environment.
249
6168122d
SM
250*** $DISPLAY is now dynamically inherited from the frame's `display'.
251
24cdde13
GM
252*** The `window-system' variable has been made frame-local. The new
253`initial-window-system' variable contains the `window-system' value
254for the first frame.
255
256*** You can specify a terminal device (`tty' parameter) and a terminal
257type (`tty-type' parameter) to `make-terminal-frame'.
258
259*** The new function `make-frame-on-tty' allows you to create a new
260frame on another tty device interactively.
261
262*** The function `make-frame-on-display' now works during a tty
263session, and `make-frame-on-tty' works during a graphical session.
264
da406961 265*** New functions: `delete-tty', `suspend-tty', `resume-tty'.
24cdde13 266
419f8f49
SM
267*** A new data type for terminals with functions: `get-device-terminal',
268`terminal-parameters', `terminal-parameter', `set-terminal-parameter'.
24cdde13 269
1816bda7 270*** New hooks: `suspend-tty-functions' and `resume-tty-functions'
92cd6a7c 271are called after a tty frame has been suspended or resumed,
e4019195 272respectively. The functions are called with the terminal id of the frame
92cd6a7c
DN
273being suspended/resumed as a parameter.
274
da406961
RS
275*** New functions: `environment', `let-environment'.
276
277*** New variables: `local-key-translation-map', `local-function-key-map'.
278These are in addition to the global key-translation-map and
279function-key-map variables that already existed.
280
281??? How do the new variables relate to the old ones?
282
82866ad5
SM
283*** `initial-environment' holds the environment inherited from Emacs's parent.
284
24cdde13
GM
285*** The `keyboard-translate-table' variable and the terminal and
286keyboard coding systems have been made terminal-local.
287
288*** In addition to the global key-translation-map and
289function-key-map, Emacs has terminal-local local-key-translation-map
290and local-function-key-map variables, and uses them instead of the
291global keymaps to set up translations and function key sequences
292relevant to a specific terminal device.
293
294
90ab5c62
SM
295** You can now also pass the value of the `invisible' property to invisible-p
296to check whether it would cause the text to be invisible. Convenient when
297checking invisibility of text which has no buffer position
298(e.g. in before/after-strings).
9f44d41a 299
ea2e3ef4
RS
300** Non-breaking space now acts as whitespace.
301
41bd52f7 302+++
8d371994
RS
303** In `condition-case', a handler can specify "let the debugger run first".
304
305You do this by writing `debug' in the list of conditions to be handled,
306like this:
307
308 (condition-case nil
309 (foo bar)
310 ((debug error) nil))
311
0a963185
SM
312** The `require-match' argument to `completing-read' accepts a new value
313`confirm-only'.
314
c69b0314
SM
315+++
316** The regexp form \(?<num>:<regexp>\) specifies the group number explicitly.
317
9f44d41a
RS
318** New function `window-full-width-p' returns t if a window is as wide
319as its frame.
320
321** The new function `split-string-and-unquote' does (what?)
322
323** The new function `combine-and-quote-strings' does (what?)
324
325** The new function `image-refresh' refreshes all images associated
326with a given image specification.
327
abf13a8b
CY
328+++
329** New variable `user-emacs-directory'.
330Use this instead of "~/.emacs.d".
331
b2b387f9
MA
332+++
333** The new function `start-file-process is similar to `start-process',
334but obeys file handlers. The file handler is chosen based on
6dbe7eb4
MA
335`default-directory'. The functions `start-file-process-shell-command'
336and `process-file-shell-command' are also new; they call internally
337`start-file-process and `process-file', respectively.
b2b387f9 338
64639e26 339+++
41bd52f7
MA
340** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED.
341IDENTIFICATION specifies which part of the remote identifier has to be
342returned. With CONNECTED passed non-nil, it is checked whether a
343remote connection has been established already.
64639e26 344
45595a4f
RS
345** The two new functions `looking-at-p' and `string-match-p' can do
346the same matching as `looking-at' and `string-match' without changing
347the match data.
89835619
SM
348
349** The interactive-form of a function can be added post-facto via the
350`interactive-form' symbol property. Mostly useful to add complex interactive
351forms to subroutines.
9bae34bf 352\f
0bfd685e 353* New Packages for Lisp Programming in Emacs 23.1
efeb796b 354
d53a60a6
TTN
355** The new package avl-tree.el deals with the AVL tree data structure.
356
05197f40 357\f
a933dad1 358----------------------------------------------------------------------
5b87ad55 359This file is part of GNU Emacs.
a933dad1 360
5b87ad55
GM
361GNU Emacs is free software; you can redistribute it and/or modify
362it under the terms of the GNU General Public License as published by
64be3a42 363the Free Software Foundation; either version 3, or (at your option)
5b87ad55
GM
364any later version.
365
366GNU Emacs is distributed in the hope that it will be useful,
367but WITHOUT ANY WARRANTY; without even the implied warranty of
368MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
369GNU General Public License for more details.
a933dad1 370
5b87ad55
GM
371You should have received a copy of the GNU General Public License
372along with GNU Emacs; see the file COPYING. If not, write to the
373Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
374Boston, MA 02110-1301, USA.
a933dad1 375
05197f40 376\f
a933dad1
DL
377Local variables:
378mode: outline
379paragraph-separate: "[ \f]*$"
380end:
ab5796a9 381
a533413c 382arch-tag: e759449d-88b3-4de4-9900-3a6c3dfa23e2