comparison etc/NEWS @ 96230:07ecdd924140

Re-order items.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 24 Jun 2008 17:27:10 +0000
parents aeddd501f019
children 2f2e5059ea17
comparison
equal deleted inserted replaced
96229:f0fef621a168 96230:07ecdd924140
25 25
26 26
27 * Installation Changes in Emacs 23.1 27 * Installation Changes in Emacs 23.1
28 28
29 ** The default X toolkit is now Gtk+, rather than Lucid. 29 ** The default X toolkit is now Gtk+, rather than Lucid.
30 30 The configure option `--with-gtk' has been removed. Gtk is now the
31 ** Fonts are handled by new code capable of dealing with multiple font 31 default toolkit, but you can use --with-x-toolkit=gtk if necessary.
32 backends. This requires the freetype and fontconfig libraries, and 32
33 supports local fonts (fonts installed on the machine where Emacs is 33 ** New font code.
34 running). Additionally, the Xft library can be used for antialiasing 34 Fonts are handled by new code capable of dealing with multiple font
35 support, the otf library for complex text layout by OpenType fonts, 35 backends. This requires the freetype and fontconfig libraries
36 and the m17n library for text shaping. Emacs now accepts font names 36
37 supplied in the fontconfig format (e.g. "monospace-12:bold") and GTK 37 *** Emacs now accepts font names supplied in the fontconfig format
38 format (e.g. "Monospace Bold 12"). 38 (e.g. "monospace-12:bold") and GTK format (e.g. "Monospace Bold 12").
39
40 *** Added support for local fonts (fonts installed on the machine
41 where Emacs is running).
42
43 *** Added support for the Xft library for antialiasing.
44
45 *** Added support for the otf library for complex text layout by
46 OpenType fonts.
47
48 *** Added support for the m17n library for text shaping.
49
50 ** Changes to image support
51
52 *** configure now checks for libgif before libungif when searching for
53 a GIF library.
54
55 *** Emacs now supports the SVG image format through librsvg2.
56
57 ** The Mac Carbon port is no longer supported.
58 Instead, use... [FIXME what?]
39 59
40 ** The new configuration option "--with-dbus" enables D-Bus language 60 ** The new configuration option "--with-dbus" enables D-Bus language
41 bindings for Emacs. 61 bindings for Emacs.
42 62
43 ** The Mac Carbon port is no longer supported.
44 Instead, use... [FIXME what?]
45
46 ** configure now checks for libgif before libungif when searching for
47 a GIF library.
48
49 ** Support for systems without alloca has been removed.
50
51 ** Support for Sun windows has been removed.
52
53 ** Support for many obsolete platforms has been removed. 63 ** Support for many obsolete platforms has been removed.
54 See the list at the end of etc/MACHINES for details. 64 See the list at the end of etc/MACHINES for details.
65
66 *** Support for systems without alloca has been removed.
67
68 *** Support for Sun windows has been removed.
55 69
56 ** The `emacstool' utility has been removed. 70 ** The `emacstool' utility has been removed.
57 71
58 ** The configure options `--with-gcc', `--without-gcc' have been removed. 72 ** The configure options `--with-gcc', `--without-gcc' have been removed.
59 Configure will use gcc by default. Set the CC environment variable if 73 Configure will use gcc by default. Set the CC environment variable if
60 you need control over which C compiler is used. 74 you need control over which C compiler is used.
61 75
62 ** The configure option `--with-gtk' has been removed. Gtk is now the 76 ** The refcards are now shipped as PDF files.
63 default toolkit, but you can use --with-x-toolkit=gtk if necessary. 77
78 ** Emacs 23 comes with a new set of default icons.
79 Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png.
80 The Emacs 22 icon is available as `emacs22.png' in the same location.
64 81
65 * Changes in Emacs 23.1 82 * Changes in Emacs 23.1
66 83
67 ** `underline-minimum-offset' keeps the underline away from the baseline. 84 ** Improved X Window System support
68 85
69 ** Info displays breadcrumbs in the header of the page. 86 *** Emacs now supports using both X displays and ttys in one session.
70 See Info-breadcrumbs-depth to control it. 87 With an Emacs server active (M-x server-start), `emacsclient -t'
88 creates a tty frame connected to the running emacs server. You can
89 use any number of different ttys. `emacsclient -c' creates a new X11
90 frame on the current $DISPLAY (or a tty frame if $DISPLAY is not set).
91
92 You can test for the presence of this feature in your Lisp code by
93 testing for the `multi-tty' feature.
94
95 **** Emacsclient can now open new terminal frames.
96 Now, the default behavior is to open a new Emacs frame by default.
97 Use the -c option to get the old behavior of opening files in the
98 currently selected Emacs frame.
99
100 *** The new command close-display-connection closes a connection to a
101 remote display.
102
103 *** Emacs now supports the XEmbed specification.
104 You can embed Emacs in another application on X11. The new command line
105 option --parent-id is used to pass the parent window id to Emacs. See
106 http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html
107 for details about XEmbed.
108
109 *** Emacs can now set the frame opacity.
110 The opacity of a frame can be controlled by setting the `alpha' frame
111 parameter. This only takes effect on a compositing window manager for
112 the X Window System, such as Compiz, Beryl and Compiz Fusion.
113
114 The alpha parameter should be an integer between 0 (transparent) and
115 100 (opaque), or a float number between 0.0 and 1.0. It can also be a
116 cons cell (ACTIVE . INACTIVE), where ACTIVE is the opacity of an
117 active frame and INACTIVE is the opactity of non-active frames.
118
119 The variable `frame-alpha-lower-limit' defines a lower bound for the
120 opacity; the default is 20.
121
122 ** Internationalization changes
123
124 *** The Emacs character set is now a superset of Unicode.
125 (It has about four times the code space, which should be plenty).
126
127 The internal encoding used for buffers and strings is now
128 Unicode-based and called `utf-8-emacs'. This encoding is backwards
129 compatible with Unicode's UTF-8 encoding. The internal encoding
130 previously used by Emacs, `emacs-mule', is still available.
131
132 During byte-compilation, Emacs 23 uses `utf-8-emacs' to write files.
133 As a result, byte-compiled files containing non-ASCII characters can't
134 be read by earlier versions of Emacs. Files compiled by Emacs 20, 21,
135 or 22 are loaded correctly as emacs-mule (whether or not they contain
136 multibyte characters). This takes somewhat more time, so it may be
137 worth recompiling existing .elc files which don't need to be shared
138 with older Emacsen.
139
140 *** There are new coding systems/aliases; see M-x list-coding-systems.
141
142 *** There is a new charset implementation with many new charsets.
143 See M-x list-character-sets. New charsets can be defined conveniently
144 as tables of unicodes.
145
146 **** The dimension of a charset is now 1, 2, 3, or 4, and the size of
147 each dimension is no longer limited to 94 or 96.
148
149 **** A dynamic charset priority list is used to infer the charset of
150 characters for display.
151
152 *** There are new language environments for Chinese-GBK,
153 Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu,
154 Sinhala, and TaiViet.
155
156 *** The minor modes unify-8859-on-encoding-mode and
157 unify-8859-on-decoding-mode are obsolete.
71 158
72 ** Emacs now supports serial port access on GNU/Linux, Unix, and 159 ** Emacs now supports serial port access on GNU/Linux, Unix, and
73 Windows. `serial-term' starts an interactive terminal, 160 Windows. `serial-term' starts an interactive terminal,
74 `make-serial-process' and `serial-process-configure' provide a Lisp 161 `make-serial-process' and `serial-process-configure' provide a Lisp
75 interface. The serial port can be configured at runtime with the 162 interface. The serial port can be configured at runtime with the
76 mode-line mouse menu. 163 mode-line mouse menu.
77 164
78 ** Apropos
79 *** `apropos-library' describes the elements defined in a given library.
80 *** Set `apropos-compact-layout' is you want a more compact (but wider) layout.
81
82 ** scroll-preserve-screen-position also preserves the column position.
83 ** Completion.
84 *** `completion-styles' can be customized to choose your favorite completion.
85 *** The default completion styles include a form of partial-completion.
86 *** The new command `minibuffer-force-complete chooses one of the possible
87 completions, rather than stopping at the common prefix.
88 *** `completion-auto-help' can be set to `lazy' to list the completions only
89 if you repeat the completion. This was already supported in
90 `partial-completion-mode'.
91
92 ** Emacs now supports using both X displays and ttys in one session.
93 Start the server (M-x server-start). Then `emacsclient -t' creates a
94 tty frame connected to the running emacs server. You can also use any
95 number of different ttys. `emacsclient -c' creates a new X11 frame on
96 the current $DISPLAY or a tty frame if $DISPLAY is not set.
97
98 You can test for the presence of this feature in your Lisp code by
99 testing for the `multi-tty' feature.
100
101 ** The Emacs character set is now a superset of Unicode.
102 (It has about four times the code space, which should be plenty).
103
104 The internal encoding used for buffers and strings is now
105 Unicode-based and called `utf-8-emacs'. utf-8-emacs is backwards
106 compatible with the UTF-8 encoding of Unicode. The `emacs-mule'
107 coding system can still read and write data in the old internal encoding.
108
109 Since the internal encoding is also used by default for byte-compiled
110 files -- i.e. the normal coding system for byte-compiled Lisp files is
111 now utf-8-Emacs -- Lisp containing non-ASCII characters which is
112 compiled by Emacs 23 can't be read by earlier versions of Emacs. Files
113 compiled by Emacs 20, 21, or 22 are loaded correctly as emacs-mule
114 (whether or not they contain multibyte characters), which makes loading
115 them somewhat slower than Emacs 23-compiled files. Thus it may be worth
116 recompiling existing .elc files which don't need to be shared with older
117 Emacsen.
118
119 ** There are assorted new coding systems/aliases -- see M-x list-coding-systems.
120
121 ** There is a new charset implementation with many new charsets.
122 See M-x list-character-sets. New charsets can be defined conveniently
123 as tables of unicodes.
124
125 The dimension of a charset is now 1, 2, 3, or 4, and the size of each
126 dimension is no longer limited to 94 or 96.
127
128 A dynamic charset priority list is used to infer the charset of
129 characters for display.
130
131 ** There are new Chinese-GBK, Chinese-GB18030, Khmer, Bengali,
132 Punjabi, Gujarati, Oriya, Telugu, Sinhala, and TaiViet language
133 environments.
134
135 ** Emacs now supports the XEmbed specification.
136 You can embed Emacs in another application on X11. The new command line option
137 --parent-id is used to pass the parent window id to Emacs. See
138 http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html
139 for details about XEmbed.
140
141 ** Controlling the frame opacity
142 The opacity of a frame can now be controlled by setting
143 the `alpha' frame parameter, on a compositing window manager
144 (e.g. Compiz, Beryl and Compiz Fusion) for the X Window System.
145
146 The alpha parameter should be an integer between 0 (transparent) and
147 100 (opaque) or a float number between 0.0 and 1.0. Optionally, the
148 opacity can be set by a cons cell; the first item controls the
149 opacity of an active frame, and the second item controls that of
150 non-active frames.
151
152 (set-frame-parameter nil 'alpha 80)
153 (set-frame-parameter nil 'alpha 0.8)
154 (set-frame-parameter nil 'alpha '(100 70)) ; (<active> [<inactive>])
155 (set-frame-parameter nil 'alpha nil)
156
157 Note that the threshold opacity of a frame is defined by the variable
158 `frame-alpha-lower-limit' (default 20), so that the user may not lose
159 control of the frame.
160
161 ** Emacs comes with a new set of default icons.
162 Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png.
163 The Emacs 22 icon is available as `emacs22.png' in the same location.
164
165 ** Built-in functions (subr) can now have an interactive specification
166 that is not a prompt string. If the `intspec' parameter of a `DEFUN'
167 starts with a `(', the string is evaluated as a Lisp form.
168
169 ** set-file-modes is now interactive and can take the mode value in
170 symbolic notation thanks to auxiliary functions.
171
172 ** Changes affecting display-buffer
173 *** New value nil for split-height-threshold inhibits vertical splitting
174 unless there's no other window.
175 *** New option split-width-threshold controls horizontal splitting.
176 *** A window can be split horizontally even when it's not full-width.
177 *** New option split-window-preferred-function can be set to a function
178 to override the default splitting mechanism of display-buffer.
179
180 ** Menu Bar changes 165 ** Menu Bar changes
181
182 *** The Options menu contains a new entry to turn on Longlines mode.
183 166
184 *** In the Options menu, the "Set Default Font" item applies the 167 *** In the Options menu, the "Set Default Font" item applies the
185 selected font to the `default' face on all frames, not just the 168 selected font to the `default' face on all frames, not just the
186 current frame. This font setting will be saved if the "Save Options" 169 current frame. Furthermore, if Emacs is compiled with both GTK and
187 item is used. Furthermore, if Emacs is compiled with both GTK and
188 Fontconfig support, the "Set Default Font" item uses the GTK font 170 Fontconfig support, the "Set Default Font" item uses the GTK font
189 selection dialog instead of an Emacs pop-up menu. 171 selection dialog instead of an Emacs pop-up menu.
190 172
191 ** Emacsclient has been extended to support opening a new terminal 173 *** The font setting chosen by "Set Default Font" is saved if the
192 frame. Its behavior has been changed to open a new Emacs frame by 174 "Save Options" item is used.
193 default. Use the -c option to get the old behavior of opening files in 175
194 the currently selected Emacs frame. 176 *** The Options menu contains a new entry to turn on Longlines mode.
195 177
196 ** The refcards are now shipped as PDF files. 178 ** Mode-line changes
197 179
198 ** Emacs now supports the SVG image format through librsvg2. 180 *** The mode-line displays a `@', instead of `-', if the
199 181 default-directory for the current buffer is on a remote machine.
200 ** If you set find-file-confirm-nonexistent-file to t, then C-x C-f 182
201 requires confirmation before opening a non-existent file. 183 *** The mode-line displays a mode menu when mouse-1 is clicked on a
202 184 minor mode, in the same way as it already did for major modes.
203 ** If the gpm mouse server is running and t-mouse-mode enabled, Emacs uses a 185
204 Unix socket in a GNU/Linux console to talk to server, rather than faking events 186 *** The `mode-line-emphasis' face is used to highlight certain
205 using the client program mev. This C level approach provides mouse 187 mode-line information (e.g. waiting for a VC command to finish).
206 highlighting, and help echoing in the minibuffer. 188
207 189 ** Directory-local variables can now be defined.
208 ** Recentering changes 190 By default, Emacs looks in .dir-settings.el for directory-local
209 191 variables. For more information, see `set-directory-project' and
210 *** The new variable next-error-recenter specifies how next-error should 192 `define-project-bindings'.
211 recenter the visited source file. Its value can be a number (for example,
212 0 for top line, -1 for bottom line), or nil for no recentering.
213
214 *** New command recenter-top-bottom moves the current line to window
215 center, top and bottom on successive invokations.
216
217 *** C-l is bound to the new command recenter-top-bottom, rather than recenter.
218
219 ** The mode-line displays a `@' if the default-directory for the current buffer
220 is on a remote machine, or a hyphen otherwise.
221
222 ** The mode-line displays a mode menu when mouse-1 is clicked on a minor mode,
223 in the same way as it already did for major modes.
224
225 ** The new command balance-windows-area balances windows both vertically
226 and horizontally.
227
228 ** The new command close-display-connection can be used to close a connection
229 to a remote display, e.g. because the display is about to become unreachable.
230
231 ** The command shell prompts for the default directory, when it is
232 called with a prefix, and the default directory is a remote file name.
233 This is because some file name handlers (like ange-ftp) are not able to
234 run processes remotely.
235
236 ** The new command `display-time-world' starts an updating time display
237 using several time zones, in a buffer.
238
239 ** Directory-local variables are now found in .dir-settings.el. See
240 also `set-directory-project' and `define-project-bindings'.
241
242 ** The new function `format-seconds' converts a number of seconds into a
243 readable string of days, hours, etc.
244
245 ** The new variables `before-init-time' and `after-init-time' record the
246 value of `current-time' before and after Emacs loads the init files.
247
248 ** The new function `emacs-uptime' returns the uptime of an Emacs instance.
249
250 ** The new function `emacs-init-time' returns the duration of the
251 Emacs initialization.
252
253 ** The minor modes unify-8859-on-encoding-mode, unify-8859-on-decoding-mode
254 are obsolete.
255
256 ** The new commands `pp-macroexpand-expression' and `pp-macroexpand-last-sexp'
257 pretty-print macro expansions.
258 193
259 194
260 * Startup Changes in Emacs 23.1 195 * Startup Changes in Emacs 23.1
261 196
262 ** The option `inhibit-startup-screen' (with aliases to old names 197 ** The option `inhibit-startup-screen' (with aliases to old names
291 identical. 226 identical.
292 227
293 228
294 * Editing Changes in Emacs 23.1 229 * Editing Changes in Emacs 23.1
295 230
231 ** C-x C-c now invokes `save-buffers-kill-terminal', and C-z now
232 invokes `suspend-frame'. This change is for compatibility with the
233 new multi-tty support (see `Improved X Window System support' above).
234
296 ** Mark changes 235 ** Mark changes
297
298 +++ 236 +++
299 *** Transient Mark mode is now on by default. 237 *** Transient Mark mode is now on by default.
300
301 +++ 238 +++
302 *** mark-even-if-inactive now defaults to t 239 *** mark-even-if-inactive now defaults to t
303
304 +++ 240 +++
305 *** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without activating it. 241 *** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without activating it.
306
307 +++ 242 +++
308 *** When Transient Mark mode is on, M-q now fills the region if the 243 *** When Transient Mark mode is on, M-q now fills the region if the
309 region is active. Otherwise, it fills the current paragraph. 244 region is active. Otherwise, it fills the current paragraph.
310
311 +++ 245 +++
312 *** When Transient Mark mode is on, M-$ now checks spelling of the 246 *** When Transient Mark mode is on, M-$ now checks spelling of the
313 region if the region is active. Otherwise, it checks spelling of the 247 region if the region is active. Otherwise, it checks spelling of the
314 word at point. 248 word at point.
315
316 *** When Transient Mark mode is on, TAB now indents the region if the 249 *** When Transient Mark mode is on, TAB now indents the region if the
317 region is active. 250 region is active.
318
319 *** `use-empty-active-region' controls whether an empty active region 251 *** `use-empty-active-region' controls whether an empty active region
320 in Transient Mark mode should make commands operate on that empty 252 in Transient Mark mode should make commands operate on that empty
321 region. 253 region.
322 254
323 ** Temporarily active regions 255 ** Temporarily active regions
332 They are only deactivated after point motion commands that are not 264 They are only deactivated after point motion commands that are not
333 shift-translated, or after commands that would ordinarily deactivate 265 shift-translated, or after commands that would ordinarily deactivate
334 the mark in Transient Mark mode (e.g., any command that modifies the 266 the mark in Transient Mark mode (e.g., any command that modifies the
335 buffer). 267 buffer).
336 268
337 +++
338 ** C-M-% now shows replacement as it would look in the buffer, with
339 `\N' and `\&' substituted according to the match. Old behavior can be
340 restored by customizing `query-replace-show-replacement'.
341
342 ** C-z now invokes `suspend-frame', C-x C-c now invokes
343 `save-buffers-kill-terminal'.
344
345 ** New command kill-matching-buffers kills buffers whose name matches a regexp.
346
347 ** You can disable kill ring commands from accessing the primary selection
348 by setting `x-select-enable-primary' to nil.
349
350 ** If `select-active-regions' is t, setting the mark automatically
351 makes the new region into the primary selection (for interaction with
352 other window applications). If you enable this, you might want to bind
353 `mouse-yank-primary' to Mouse-2.
354
355 ** If `yank-pop-change-selection' is t, rotating the kill ring
356 also updates the selection or clipboard to the current yank,
357 just as M-w would do so with the text it copies to the kill ring.
358
359 ** Minibuffer changes 269 ** Minibuffer changes
360 270
361 *** Minibuffer input of shell commands now comes with completion. 271 *** Operations like C-x b and C-x C-f, which use switch-to-buffer, do
362 272 not fail any more when used in a minibuffer or a dedicated window.
363 *** Operations like C-x b and C-x C-f which use switch-to-buffer do not fail 273 Instead, they fallback on using pop-to-buffer, which will use some
364 any more when used in a minibuffer or a dedicated window. Instead, they 274 other window.
365 fallback on using pop-to-buffer which will use some other window.
366 275
367 *** When M-n in the minibuffer reaches the end of the list of defaults, 276 *** When M-n in the minibuffer reaches the end of the list of defaults,
368 it adds the completion list to the end, so next M-n continues putting 277 it adds the completion list to the end, so next M-n continues putting
369 completion items to the minibuffer. The same principle applies to 278 completion items to the minibuffer. The same principle applies to
370 incremental search commands as well: C-s or C-M-s starts searching 279 incremental search commands as well: C-s or C-M-s starts searching
371 the default values and after the end of defaults they continue 280 the default values and after the end of defaults they continue
372 searching minibuffer completion items. 281 searching minibuffer completion items.
373 282
374 *** In C-x d, if you type M-n you get the visited file name of the 283 *** Minibuffer input of shell commands now comes with completion.
375 current buffer. 284
376 285 *** In the `C-x d' (Dired) prompt, typing M-n gives the visited file
377 *** A list of default commands extracted from mailcap according to 286 name of the current buffer.
378 file extensions are available in the list of default values 287
379 accessible by M-n in the minibuffer that reads a shell command 288 *** In the M-! (shell-command) prompt, M-n provides some default commands.
380 for M-! (shell-command) and fills a list of commands for the current 289 These are guessed using the file extension of the current file, based
381 file, and in Dired for ! (dired-do-shell-command) that fills a list of 290 on the file-handlers specified in the operating system's `mailcap'
382 commands for the intersection of file types of marked Dired files. 291 file. The ! command in Dired (dired-do-shell-command) works
292 similarly, using the file displayed on the current line.
383 293
384 *** A list of regexp default values is available via M-n for `occur', 294 *** A list of regexp default values is available via M-n for `occur',
385 `keep-lines', `flush-lines' and `how-many'. This list includes the active 295 `keep-lines', `flush-lines' and `how-many'. This list includes the active
386 region in transient-mark-mode, the word under the cursor, the last isearch 296 region in transient-mark-mode, the word under the cursor, the last isearch
387 regexp, the last isearch string and the last replacement regexp. 297 regexp, the last isearch string and the last replacement regexp.
392 next history elements. When the reverse search reaches the first history 302 next history elements. When the reverse search reaches the first history
393 element, it wraps to the last history element, and the forward search 303 element, it wraps to the last history element, and the forward search
394 wraps to the first history element. When the search is terminated, the 304 wraps to the first history element. When the search is terminated, the
395 history element containing the search string becomes the current. 305 history element containing the search string becomes the current.
396 306
397 ** New faces
398
399 *** `mode-line-emphasis' is used to highlight certain mode-line information;
400 for example while waiting for a VC command to finish.
401
402 ** Face changes 307 ** Face changes
403 308
404 *** The new function `face-all-attributes' returns an alist describing 309 *** The new function `face-all-attributes' returns an alist describing
405 all the basic attributes of a given face. 310 all the basic attributes of a given face.
406 311
408 and text size of the default face in the current buffer. The face is 313 and text size of the default face in the current buffer. The face is
409 changed via face remapping (see below). 314 changed via face remapping (see below).
410 315
411 *** FIXME face-remap 316 *** FIXME face-remap
412 317
318 ** Primary selection changes
319
320 *** If `select-active-regions' is t, setting the mark automatically
321 makes the new region into the primary selection (for interaction with
322 other window applications). If you enable this, you might want to
323 bind `mouse-yank-primary' to Mouse-2.
324
325 *** You can disable kill ring commands from accessing the primary selection
326 by setting `x-select-enable-primary' to nil.
327
328 ** Completion changes
329
330 *** `completion-styles' can be customized to choose your favorite
331 completion style.
332
333 *** The default completion styles include a form of partial-completion.
334
335 *** The new command `minibuffer-force-complete' chooses one of the
336 possible completions, rather than stopping at the common prefix.
337
338 *** `completion-auto-help' can be set to `lazy' to list the completions only
339 if you repeat the completion. This was already supported in
340 `partial-completion-mode'.
341
342 ** Miscellaneous changes:
343
344 *** C-l is bound to the new command recenter-top-bottom, rather than recenter.
345 This moves the current line to window center, top and bottom on
346 successive invokations.
347
348 *** scroll-preserve-screen-position also preserves the column position.
349
350 *** The new command balance-windows-area balances windows both
351 vertically and horizontally.
352
353 *** If `yank-pop-change-selection' is t, rotating the kill ring also
354 updates the selection or clipboard to the current yank, just as M-w
355 would do so with the text it copies to the kill ring.
356
357 +++
358 *** C-M-% now shows replacement as it would look in the buffer, with
359 `\N' and `\&' substituted according to the match. Old behavior can be
360 restored by customizing `query-replace-show-replacement'.
361
362 *** The command shell prompts for the default directory, when it is
363 called with a prefix and the default directory is a remote file name.
364 This is because some file name handlers (like ange-ftp) are not able to
365 run processes remotely.
366
367 *** The new command kill-matching-buffers kills buffers whose name
368 matches a regexp.
369
370 *** The new commands `pp-macroexpand-expression' and `pp-macroexpand-last-sexp'
371 pretty-print macro expansions.
372
413 373
414 * New Modes and Packages in Emacs 23.1 374 * New Modes and Packages in Emacs 23.1
415
416 ** rst-mode for ReSTructured-Text files.
417 375
418 ** FIXME add details of new packages imported from lisp/gnus. 376 ** FIXME add details of new packages imported from lisp/gnus.
419 [Maybe some information from doc/misc/gnus-coding.texi can be reused] 377 [Maybe some information from doc/misc/gnus-coding.texi can be reused]
420 378
421 ** The package doc-view.el has been added. It supports viewing of PDF, 379 ** Auto Composition Mode is a minor mode that composes characters
422 PostScript and DVI documents inside an Emacs buffer by converting the 380 automatically when they are displayed. It is globally on by default.
423 document to a set of PNG images first. One can also search for a 381 It uses `auto-composition-function' (default `auto-compose-chars').
424 regular expression in the document. The commentary of the file explains 382
425 its usage. 383 ** Bubbles, a new game, is similar to SameGame.
426 384
427 ** The nXML package has been added. It is a new mode for editing XML 385 ** bug-reference.el provides clickable links to bug reports.
428 documents. nXML mode allows a schema to be associated with the XML 386
429 document being edited. nXML mode uses Relax NG as its schema 387 ** copyright.el adds utilities for specifying copyright holders' names.
430 language. The schema is used to provide two key features: 388
389 *** Only copyright lines with holders matching copyright-names-regexp
390 will be considered for update.
391
392 *** The Copyright package looks for copyright at the end of the buffer
393 if `copyright-at-end-flag' is non-nil (change-log-mode sets this).
394
395 ** dbus.el provides D-Bus language bindings.
396 D-Bus is an inter-process communication mechanism for applications
397 residing on the same host, based on messages. See the manual for
398 details.
399
400 ** Doc View Mode supports viewing of PDF, PostScript and DVI documents
401 inside an Emacs buffer. It works by converting the document to a set
402 of PNG images first. One can also search for a regular expression in
403 the document. The commentary in doc-view.el explains its usage.
404
405 ** EasyPG is an all-in-one GnuPG interface.
406 It includes GnuPG keyring browser, cryptographic operations on regions
407 and files, and automatic encryption of *.gpg files. For details, see
408 the EasyPG Assistant User's Manual.
409
410 ** json.el is a library for parsing and generating JSON
411 (JavaScript Object Notation), a lightweight data-interchange format.
412
413 ** linum.el is a new minor mode to display line numbers for the
414 current buffer.
415
416 ** minibuffer-indicate-depth-mode shows the minibuffer depth in the prompt.
417
418 ** nXML Mode
419 This is a new mode for editing XML documents. It allows a schema to
420 be associated with the XML document being edited, using Relax NG as
421 the schema language. The schema is used to provide two key features:
431 422
432 *** Continuous validation. nXML validates as you type, highlighting 423 *** Continuous validation. nXML validates as you type, highlighting
433 any invalid parts of your document. 424 any invalid parts of your document.
434 425
435 *** Completion. nXML can assist you in entering an element name, 426 *** Completion. nXML can assist you in entering an element name,
436 attribute name or data value by using information about what is 427 attribute name or data value by using information about what is
437 allowed by the schema in that context. 428 allowed by the schema in that context.
438 429
439 ** A new game called `bubbles' has been added. This is a version of 430 ** proced.el provides a Dired-like interface for operating on processes.
440 the "Same Game" with configurable difficulty level. 431 Proced makes an Emacs buffer containing a listing of the current
441 432 processes (using ps(1)). You can use the normal Emacs commands to
442 ** minibuffer-indicate-depth-mode shows the minibuffer depth in the prompt. 433 move around in this buffer, and special Proced commands to operate on
443 434 the processes listed.
444 ** Remember Mode (remember.el) is now included with Emacs. It is a 435
445 mode for quickly jotting down things to remember. Included with 436 ** Remember Mode is a mode for jotting down things to remember.
446 remember.el is a backend that can save notes to a Diary file. Please 437 Notes can be saved to a Diary file. For details, see the Remember
447 consult the Remember Manual for usage details. 438 Manual.
448 439
449 ** D-Bus language bindings for Elisp are provided by the package 440 ** RST mode is a major mode for editing ReSTructured-Text files.
450 dbus.el and by extensions to the C modules of Emacs. D-Bus is an 441
451 inter-process communication mechanism for applications residing on the 442 ** A new `whitespace' package has been installed, and the pre-existing one
452 same host, based on messages. See the manual for further details. 443 renamed to `old-whitespace'.
444 [FIXME someone explain why this is good, if it is...]
453 445
454 ** zeroconf.el offers service discovery and service publishing 446 ** zeroconf.el offers service discovery and service publishing
455 interfaces according to the zeroconf specification. It communicates 447 interfaces according to the zeroconf specification. It communicates
456 with Avahi, a zeroconf implementation, via D-Bus messages on systems 448 with Avahi, a zeroconf implementation, via D-Bus messages on systems
457 which have installed this software. 449 which have installed this software.
458 450
459 ** EasyPG is now part of the Emacs distribution. It is an all-in-one
460 GnuPG interface which includes GnuPG keyring browser, cryptographic
461 operations on regions and files, and automatic encryption of *.gpg
462 files. See the EasyPG Assistant User's Manual for further details.
463
464 ** json.el is now included with Emacs. It is a library for parsing
465 and generating JSON (JavaScript Object Notation). JSON is a
466 lightweight data-interchange format.
467
468 ** Auto Composition Mode is a minor mode that composes characters
469 automatically when they are displayed. It is globally on by default.
470 It uses `auto-composition-function' (default `auto-compose-chars').
471
472 ** The package linum.el is now included with Emacs. It it a new minor
473 mode to display line numbers for the current buffer.
474
475 ** proced.el has been added. It operates on processes like dired.
476 Proced makes an Emacs buffer containing a listing of the current processes
477 (using ps(1)). You can use the normal Emacs commands to move around in
478 this buffer, and special Proced commands to operate on the processes listed.
479
480 ** bug-reference.el provides clickable links to bug reports.
481
482 451
483 * Changes in Specialized Modes and Packages in Emacs 23.1 452 * Changes in Specialized Modes and Packages in Emacs 23.1
484 453
485 ** Icomplete: `icomplete-prospects-height' supercedes `icomplete-prospects-length'. 454 ** Abbrev has been rewritten in Elisp and extended with more flexibility.
486
487 ** A new `whitespace' package has been installed, and the pre-existing one
488 renamed to `old-whitespace'.
489 [FIXME someone explain why this is good, if it is...]
490
491 ** abbrev was rewritten in Elisp and extended with more flexibility.
492 *** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put, 455 *** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put,
493 abbrev-table-p, abbrev-insert, abbrev-table-menu. 456 abbrev-table-p, abbrev-insert, abbrev-table-menu.
494 *** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'. 457 *** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'.
495 *** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take 458 *** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take
496 extra arguments for arbitrary properties. 459 extra arguments for arbitrary properties.
500 `:count', `:system', `:enable-function', `:case-fixed'. 463 `:count', `:system', `:enable-function', `:case-fixed'.
501 *** Abbrev-tables have now the following special properties: 464 *** Abbrev-tables have now the following special properties:
502 `:parents', `:case-fixed', `:enable-function', `:regexp', 465 `:parents', `:case-fixed', `:enable-function', `:regexp',
503 `abbrev-table-modiff'. 466 `abbrev-table-modiff'.
504 467
468 ** Apropos
469 *** `apropos-library' describes the elements defined in a given library.
470 *** Set `apropos-compact-layout' is you want a more compact (but wider) layout.
471
472 ** Archive Mode has basic support to browse Rar archives.
473
474 ** BibTeX mode
475
476 *** New command `bibtex-initialize' (re)initializes BibTeX buffers.
477
478 *** New `bibtex-entry-format' options `whitespace', `braces', and
479 `string', disabled by default.
480
481 *** New variable `bibtex-cite-matcher-alist' contains rules to
482 identify cited keys in BibTeX entries, used by `bibtex-find-crossref'.
483
484 *** Command `bibtex-url' allows multiple URLs per entry.
485
486 ** Calendar and diary
487
488 +++
489 *** There is a new date style, `iso', essentially year/month/day.
490 The variable `european-calendar-style' is obsolete - use `calendar-date-style'.
491 Similarly, the commands `american-calendar' and `european-calendar'
492 should be replaced by `calendar-set-date-style'.
493
494 +++
495 *** The calendar namespace has been rationalized.
496 All functions and variables now begin with a `calendar-', `diary-', or
497 `holiday-' prefix. The various calendar systems have secondary
498 prefixes, eg `calendar-french-'. The old names you are likely to use
499 directly still exist, for the time being, as aliases, but please start
500 using the new names.
501
502 *** The function `holiday-chinese' computes holidays on the Chinese calendar.
503 It has been used to add items to the list `holiday-oriental-holidays'.
504
505 *** `diary-remind' accepts a negative number -DAYS as a shorthand for
506 the list (1 2 ... DAYS).
507
508 ** Compile and grep modes
509
510 *** The mode-line entry for the *compilation* and *grep* buffer is color coded.
511 It has different colors for to show that: (a) the command is still
512 running, (b) successful completion, (c) error.
513
514 *** compilation-auto-jump-to-first-error tells `compile' to jump to
515 the first error encountered during compilations.
516
517 ** Custom
518 +++
519 *** defcustom accepts new keyword arguments, `:safe' and `:risky', which
520 set a variable's `safe-local-variable' and `risky-local-variable' property.
521
522 ** Diff mode
523
524 *** diff-refine-hunk highlights word-level details of changes in a diff hunk.
525 It's used automatically as you move through hunks, see
526 diff-auto-refine. It is bound to `C-c C-b'.
527
528 *** diff-add-change-log-entries-other-window iterates through the diff
529 buffer and tries to create ChangeLog entries for each change.
530 It is bound to `C-x 4 A'.
531
532 ** Fortran
533 *** The variable `fortran-line-length' can change the fixed-form line-length.
534
535 *** In Fortran mode, M-; is now bound to the standard comment-dwim,
536 rather than fortran-indent-comment.
537
538 +++
539 *** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax.
540
541 ** Gnus
542
543 *** The Gnus package has been updated
544 There are many news features, bug fixes and improvements; see the file
545 GNUS-NEWS or the node "No Gnus" in the Gnus manual for details.
546
547 *** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for
548 saving articles drafts and ~/.newsrc.eld. These file may not be read
549 correctly in Emacs 22 and below. If you want to Gnus across different Emacs
550 versions, you may set `mm-auto-save-coding-system' to `emacs-mule'.
551
505 ** Help mode 552 ** Help mode
506 *** New macro `with-help-window' should set up help windows better 553 *** New macro `with-help-window' should set up help windows better
507 than `with-output-to-temp-buffer' with `print-help-return-message'. 554 than `with-output-to-temp-buffer' with `print-help-return-message'.
508 *** New option `help-window-select' permits to customize whether help 555 *** New option `help-window-select' permits to customize whether help
509 window shall be automatically selected when invoking help. 556 window shall be automatically selected when invoking help.
510 *** New variable `help-window-point-marker' permits to specify new 557 *** New variable `help-window-point-marker' permits to specify new
511 position of point in help window (for example in `view-lossage'). 558 position of point in help window (for example in `view-lossage').
512 559
513 ** view-remove-frame-by-deleting is now by default t 560 ** Isearch
514 since users found iconification of view-mode frames distracting.
515
516 ** Isearch mode
517 561
518 *** New command `isearch-occur' bound to `M-s o' in isearch mode 562 *** New command `isearch-occur' bound to `M-s o' in isearch mode
519 runs `occur' with the current search string. 563 runs `occur' with the current search string.
520 564
521 *** isearch can now search through multiple ChangeLog files. 565 *** isearch can now search through multiple ChangeLog files.
532 `C-h b' displays all isearch key bindings, `C-h k' displays the full 576 `C-h b' displays all isearch key bindings, `C-h k' displays the full
533 documentation of the given isearch key sequence, `C-h m' displays 577 documentation of the given isearch key sequence, `C-h m' displays
534 documentation of isearch mode. All the rest Help commands exit isearch mode 578 documentation of isearch mode. All the rest Help commands exit isearch mode
535 and execute their global definitions. 579 and execute their global definitions.
536 580
537 ** archive-mode has basic support to browse Rar archives. 581 *** When started in the minibuffer, Isearch searches in the minibuffer
538 582 history. See `Minibuffer changes', above.
539 ** talk.el has been extended for multiple tty support. 583
540 584 ** Python
541 ** Compile and grep modes 585 *** The file etc/emacs.py now supports both Python 2 and 3, meaning
542 586 that either version can be used as inferior Python by python.el.
543 *** The mode-line entry for the *compilation* and *grep* buffer is color coded. 587
544 It has different colors for to show that: (a) the command is still 588 *** Python mode now has `pdbtrack' functionality. When using pdb to
545 running, (b) successful completion, (c) error. 589 debug a Python program, pdbtrack notices the pdb prompt and displays
546 590 the source file and line that the program is stopped at, much the same
547 *** compilation-auto-jump-to-first-error tells `compile' to jump to 591 way as gud-mode does for debugging C programs with gdb.
548 the first error encountered during compilations. 592
549 593 ** T-mouse Mode
550 ** In the `copyright' package, you can specify your copyright holders' names. 594
551 Only copyright lines with holders matching copyright-names-regexp will be 595 *** If the gpm mouse server is running and t-mouse-mode is enabled,
552 considered for update. 596 Emacs uses a Unix socket in a GNU/Linux console to talk to server,
553 597 rather than faking events using the client program mev. This C level
554 ** The `copyright' package looks for copyright at the end of the buffer 598 approach provides mouse highlighting and help echoing in the
555 if `copyright-at-end-flag' is non-nil (change-log-mode sets this). 599 minibuffer.
556 600
557 ** eldoc highlights the function argument under point 601 +++
558 with the face `eldoc-highlight-function-argument'. 602 ** Tramp
559 603
560 ** hide-ifdef-mode permits to shadow ifdef-blocks instead of hiding them. 604 *** New connection methods.
561 See option `hide-ifdef-shadow' and function `hide-ifdef-toggle-shadowing'. 605 The new methods "plinkx", "plink2", "psftp", "sftp" and "fish" have
562 606 been introduced. There are also new so-called gateway methods
563 +++ 607 "tunnel" and "socks".
564 ** defcustom accepts new keyword arguments, `:safe' and `:risky', which 608
565 set a variable's `safe-local-variable' and `risky-local-variable' property. 609 *** Multihop syntax has been removed.
566 610 The pseudo-method "multi" has been removed. Instead of, multi hops
567 ** Etags changes 611 can be specified by the new variable `tramp-default-proxies-alist'.
568 *** The --members option is now the default. 612
569 613 *** More default settings.
570 Use --no-members if you want the old default behaviour of not tagging 614 Default values can be set via the variables `tramp-default-user',
571 struct members in C, members variables in C++ and variables in PHP. 615 `tramp-default-user-alist' and `tramp-default-host'.
616
617 *** Connection information is cached.
618 In order to reduce connection setup, information about used
619 connections are kept persistent in a file. The name of this file is
620 defined in the variable `tramp-persistency-file-name'.
621
622 *** Control of remote processes.
623 Running processes on a remote host can be controlled by settings in
624 `tramp-remote-path' and `tramp-remote-process-environment'.
625
626 *** Success of remote copy is checked.
627 When the variable `file-precious-flag' is set, the success of a remote
628 file copy is checked via the file's checksum.
629
630 *** Passwords can be read from an authentification file.
631 Tramp uses the package `auth-source' to read passwords from a file, if
632 necessary.
572 633
573 ** VC 634 ** VC
574 635
575 *** VC now supports applying VC operations to a set of files at a time. 636 *** VC now supports applying VC operations to a set of files at a time.
576 This enables VC to work much more effectively with changeset-oriented 637 This enables VC to work much more effectively with changeset-oriented
610 by typing the D key or using the "Changeset Diff" menu entry. 671 by typing the D key or using the "Changeset Diff" menu entry.
611 672
612 *** VC Support for Meta-CVS has been removed for lack of maintainer able 673 *** VC Support for Meta-CVS has been removed for lack of maintainer able
613 to update it to the new VC. 674 to update it to the new VC.
614 675
615 ** smerge-refine highlights word-level details of changes in conflict. 676 ** Miscellaneous
677
678 *** In Change Log mode, the new command C-c C-f (change-log-find-file)
679 finds the file associated with the current log entry.
680
681 *** comint-mode uses `start-file-process' now (see Lisp Changes).
682 If `default-directory' is a remote file name, subprocesses are started
683 on the corresponding remote system.
684
685 *** In Dired, C-x C-q now runs the command wdired-change-to-wdired-mode,
686 and C-x C-q in wdired-mode exits it with asking a question about
687 saving changes.
688
689 *** Eldoc highlights the function argument under point
690 with the face `eldoc-highlight-function-argument'.
691
692 *** In Etags, the --members option is now the default.
693 Use --no-members if you want the old default behaviour of not tagging
694 struct members in C, members variables in C++ and variables in PHP.
695
696 *** The `gdb' command only works with the graphical interface now.
697 Use `gud-gdb' if you want the (old) text command mode.
698
699 *** goto-address.el provides two new minor modes, goto-address-mode and
700 goto-address-prog-mode, which buttonize URLS and email addresses.
701
702 *** The new command `eshell/info' runs info in an eshell buffer.
703
704 *** The new variable `ffap-rfc-directories' specifies a list of local
705 directories in which `ffap-rfc' will first search for RFCs.
706
707 *** hide-ifdef-mode allows shadowing ifdef-blocks instead of hiding them.
708 See option `hide-ifdef-shadow' and function `hide-ifdef-toggle-shadowing'.
709
710 *** `icomplete-prospects-height' now supercedes `icomplete-prospects-length'.
711
712 *** Info displays breadcrumbs in the header of the page.
713 See Info-breadcrumbs-depth to control it.
714
715 *** In Log Edit mode, C-c C-d now shows the diff for the files involved.
716
717 *** net-utils has an `iwconfig' command, similar to the existing `ifconfig'.
718 It is used to configure wireless interfaces.
719
720 *** The pcmpl-unix package supports hostname completion for ssh and scp.
721
722 *** sgml-electric-tag-pair-mode lets you simultaneously edit matched tag pairs.
723
724 *** smerge-refine highlights word-level details of changes in conflict.
616 It's used automatically as you move through conflicts, see smerge-auto-refine. 725 It's used automatically as you move through conflicts, see smerge-auto-refine.
617 726
618 ** Diff mode 727 *** talk.el has been extended for multiple tty support.
619 728
620 *** diff-refine-hunk highlights word-level details of changes in a diff hunk. 729 *** A new command `display-time-world' has been added to the Time
621 It's used automatically as you move through hunks, see 730 package. It creates a buffer with an updating time display using
622 diff-auto-refine. It is bound to `C-c C-b'. 731 several time zones.
623 732
624 *** diff-add-change-log-entries-other-window iterates through the diff 733 *** The appearance of superscript and subscript in TeX is more customizable.
625 buffer and tries to create ChangeLog entries for each change.
626 It is bound to `C-x 4 A'.
627
628 ** log-edit now has a command bound to C-c C-d to show the diff for
629 the files involved.
630
631 ** In Change Log mode, the new function `change-log-find-file', bound to
632 C-c C-f, finds the file associated with the current log entry.
633
634 ** sgml-electric-tag-pair-mode lets you simultaneously edit matched tag pairs.
635
636 ** The appearance of superscript and subscript in TeX is more customizable.
637 See the documentation of the variables: tex-fontify-script, 734 See the documentation of the variables: tex-fontify-script,
638 tex-font-script-display, tex-suscript-height-ratio, and 735 tex-font-script-display, tex-suscript-height-ratio, and
639 tex-suscript-height-minimum. 736 tex-suscript-height-minimum.
640 737
641 ** BibTeX mode 738 *** view-remove-frame-by-deleting is now by default t
642 739 since users found iconification of view-mode frames distracting.
643 *** New command `bibtex-initialize' (re)initializes BibTeX buffers.
644
645 *** New `bibtex-entry-format' options `whitespace', `braces', and
646 `string', disabled by default.
647
648 *** New variable `bibtex-cite-matcher-alist' contains rules to
649 identify cited keys in BibTeX entries, used by `bibtex-find-crossref'.
650
651 *** Command `bibtex-url' allows multiple URLs per entry.
652
653 +++
654 ** Tramp
655
656 *** New connection methods.
657 The new methods "plinkx", "plink2", "psftp", "sftp" and "fish" have
658 been introduced. There are also new so-called gateway methods
659 "tunnel" and "socks".
660
661 *** Multihop syntax has been removed.
662 The pseudo-method "multi" has been removed. Instead of, multi hops
663 can be specified by the new variable `tramp-default-proxies-alist'.
664
665 *** More default settings.
666 Default values can be set via the variables `tramp-default-user',
667 `tramp-default-user-alist' and `tramp-default-host'.
668
669 *** Connection information is cached.
670 In order to reduce connection setup, information about used
671 connections are kept persistent in a file. The name of this file is
672 defined in the variable `tramp-persistency-file-name'.
673
674 *** Control of remote processes.
675 Running processes on a remote host can be controlled by settings in
676 `tramp-remote-path' and `tramp-remote-process-environment'.
677
678 *** Success of remote copy is checked.
679 When the variable `file-precious-flag' is set, the success of a remote
680 file copy is checked via the file's checksum.
681
682 *** Passwords can be read from an authentification file.
683 Tramp uses the package `auth-source' to read passwords from a file, if
684 necessary.
685
686 ** Calendar and diary
687
688 +++
689 *** There is a new date style, `iso', essentially year/month/day.
690 The variable `european-calendar-style' is obsolete - use `calendar-date-style'.
691 Similarly, the commands `american-calendar' and `european-calendar'
692 should be replaced by `calendar-set-date-style'.
693
694 +++
695 *** The calendar namespace has been rationalized.
696 All functions and variables now begin with a `calendar-', `diary-', or
697 `holiday-' prefix. The various calendar systems have secondary
698 prefixes, eg `calendar-french-'. The old names you are likely to use
699 directly still exist, for the time being, as aliases, but please start
700 using the new names.
701
702 *** The function `holiday-chinese' computes holidays on the Chinese calendar.
703 It has been used to add items to the list `holiday-oriental-holidays'.
704
705 *** `diary-remind' accepts a negative number -DAYS as a shorthand for
706 the list (1 2 ... DAYS).
707
708 ** Miscellaneous programming mode changes
709
710 *** The file etc/emacs.py now supports both Python 2 and 3, meaning
711 that either version can be used as inferior Python by python.el.
712
713 *** Python mode now has `pdbtrack' functionality. When using pdb to
714 debug a Python program, pdbtrack notices the pdb prompt and displays
715 the source file and line that the program is stopped at, much the same
716 way as gud-mode does for debugging C programs with gdb.
717
718 *** The variable `fortran-line-length' can change the fixed-form line-length.
719
720 *** In Fortran mode, M-; is now bound to the standard comment-dwim,
721 rather than fortran-indent-comment.
722
723 +++
724 *** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax.
725
726 *** The function `gdb' only works with the graphical interface now.
727 Use `gud-gdb' if you want the (old) text command mode.
728
729 ** Gnus package
730
731 *** The Gnus package has been updated
732
733 *** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for
734 saving articles drafts and ~/.newsrc.eld. These file may not be read
735 correctly in Emacs 22 and below. If you want to Gnus across different Emacs
736 versions, you may set `mm-auto-save-coding-system' to `emacs-mule'.
737
738 *** There are many news features, bug fixes and improvements.
739
740 See the file GNUS-NEWS or the node "No Gnus" in the Gnus manual for details.
741
742 ** Miscellaneous
743
744 *** goto-address.el provides two new minor modes, goto-address-mode and
745 goto-address-prog-mode, which buttonize URLS and email addresses.
746
747 *** comint-mode uses `start-file-process' now (see Lisp Changes).
748 If `default-directory' is a remote file name, subprocesses are started
749 on the corresponding remote system.
750
751 *** C-x C-q in dired-mode now runs the command wdired-change-to-wdired-mode,
752 and C-x C-q in wdired-mode exits it with asking a question about
753 saving changes.
754
755 *** The new command `eshell/info' runs info in an eshell buffer.
756
757 *** The pcmpl-unix package supports hostname completion for ssh and scp.
758 740
759 *** WoMan tries to add locale-specific manual page directories to the 741 *** WoMan tries to add locale-specific manual page directories to the
760 search path. This can be disabled by setting `woman-locale' to nil. 742 search path. This can be disabled by setting `woman-locale' to nil.
761
762 *** The new variable `ffap-rfc-directories' specifies a list of local
763 directories in which `ffap-rfc' will first search for RFCs.
764
765 *** net-utils has an `iwconfig' command, similar to the existing `ifconfig'.
766 It is used to configure wireless interfaces.
767 743
768 744
769 * Changes in Emacs 23.1 on non-free operating systems 745 * Changes in Emacs 23.1 on non-free operating systems
770 746
771 ** Case is now considered significant in completion on MS-Windows. 747 ** Case is now considered significant in completion on MS-Windows.
868 functions and variables (formerly used for Tamil script). 844 functions and variables (formerly used for Tamil script).
869 845
870 846
871 * Lisp Changes in Emacs 23.1 847 * Lisp Changes in Emacs 23.1
872 848
849 ** The new variable next-error-recenter specifies how next-error should
850 recenter the visited source file. Its value can be a number (for example,
851 0 for top line, -1 for bottom line), or nil for no recentering.
852
853 ** Emacs session information
854
855 *** The new variables `before-init-time' and `after-init-time' record the
856 value of `current-time' before and after Emacs loads the init files.
857
858 *** The new function `emacs-uptime' returns the uptime of an Emacs instance.
859
860 *** The new function `emacs-init-time' returns the duration of the
861 Emacs initialization.
862
863 ** The new function `format-seconds' converts a number of seconds into a
864 readable string of days, hours, etc.
865
866 ** set-file-modes is now interactive and can take the mode value in
867 symbolic notation thanks to auxiliary functions.
868
869 ** If you set find-file-confirm-nonexistent-file to t, then C-x C-f
870 requires confirmation before opening a non-existent file.
871
872 ** Built-in functions (subr) can now have an interactive specification
873 that is not a prompt string. If the `intspec' parameter of a `DEFUN'
874 starts with a `(', the string is evaluated as a Lisp form.
875
876 ** Changes affecting display-buffer
877 *** New value nil for split-height-threshold inhibits vertical splitting
878 unless there's no other window.
879 *** New option split-width-threshold controls horizontal splitting.
880 *** A window can be split horizontally even when it's not full-width.
881 *** New option split-window-preferred-function can be set to a function
882 to override the default splitting mechanism of display-buffer.
883
873 ** The variable window-point-insertion-type determines the insertion-type 884 ** The variable window-point-insertion-type determines the insertion-type
874 of the marker used for window-point. 885 of the marker used for window-point.
875 886
876 ** minibuffer-local-must-match-filename-map is now named 887 ** minibuffer-local-must-match-filename-map is now named
877 minibuffer-local-filename-must-match-map. 888 minibuffer-local-filename-must-match-map.
1182 *** In addition to the global function-key-map, Emacs has terminal-local 1193 *** In addition to the global function-key-map, Emacs has terminal-local
1183 local-function-key-map variables, and uses them instead of the 1194 local-function-key-map variables, and uses them instead of the
1184 global keymaps to set up translations and function key sequences 1195 global keymaps to set up translations and function key sequences
1185 relevant to a specific terminal device. 1196 relevant to a specific terminal device.
1186 1197
1198 *** `underline-minimum-offset' keeps the underline away from the baseline.
1187 1199
1188 ** You can now also pass the value of the `invisible' property to invisible-p 1200 ** You can now also pass the value of the `invisible' property to invisible-p
1189 to check whether it would cause the text to be invisible. Convenient when 1201 to check whether it would cause the text to be invisible. Convenient when
1190 checking invisibility of text which has no buffer position 1202 checking invisibility of text which has no buffer position
1191 (e.g. in before/after-strings). 1203 (e.g. in before/after-strings).