Mercurial > emacs
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). |