aboutsummaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorMiles Bader2007-04-24 21:56:25 +0000
committerMiles Bader2007-04-24 21:56:25 +0000
commit991a760232de757d71d8dbbed47ee12d81e29d53 (patch)
tree2440730c37ae3f167a50f5c3ac5eaeab9b72b7b0 /etc
parent0bb328f8f6fce06a7fc65670c7d5c011b613e1c5 (diff)
parent3851329262d6558d5e1a93157d44777d0a39e38e (diff)
downloademacs-991a760232de757d71d8dbbed47ee12d81e29d53.tar.gz
emacs-991a760232de757d71d8dbbed47ee12d81e29d53.zip
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 698-710) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 216) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-196
Diffstat (limited to 'etc')
-rw-r--r--etc/COOKIES2
-rw-r--r--etc/ChangeLog28
-rw-r--r--etc/DEBUG4
-rw-r--r--etc/DEVEL.HUMOR6
-rw-r--r--etc/FTP8
-rw-r--r--etc/MACHINES12
-rw-r--r--etc/MORE.STUFF29
-rw-r--r--etc/NEWS1031
-rw-r--r--etc/ORDERS2
-rw-r--r--etc/PROBLEMS36
-rw-r--r--etc/SERVICE1376
-rw-r--r--etc/TODO28
-rw-r--r--etc/emacs.167
-rw-r--r--etc/images/icons/emacs_16.pngbin783 -> 705 bytes
-rw-r--r--etc/images/icons/emacs_24.pngbin1068 -> 988 bytes
-rw-r--r--etc/images/icons/emacs_32.pngbin2488 -> 2404 bytes
-rw-r--r--etc/images/icons/emacs_48.pngbin3526 -> 3431 bytes
17 files changed, 284 insertions, 2345 deletions
diff --git a/etc/COOKIES b/etc/COOKIES
index fa8894795f0..1d8c0955d42 100644
--- a/etc/COOKIES
+++ b/etc/COOKIES
@@ -26,7 +26,7 @@ Cream together: 2 cups butter
26Add: 4 eggs 26Add: 4 eggs
27 2 tsp. vanilla 27 2 tsp. vanilla
28 28
29Mis together in 29Mix together in
30separate bowl: 4 cups flour 30separate bowl: 4 cups flour
31 5 cups oatmeal (put small 31 5 cups oatmeal (put small
32 amounts of oatmeal in blender until it turns to 32 amounts of oatmeal in blender until it turns to
diff --git a/etc/ChangeLog b/etc/ChangeLog
index a93960ea9ef..cbe51839529 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,31 @@
12007-04-22 Glenn Morris <rgm@gnu.org>
2
3 * NEWS: Change to EMACS env-var was reverted, so delete this entry.
4
52007-04-19 Glenn Morris <rgm@gnu.org>
6
7 * PROBLEMS: Expand a little on Emacs not knowing fqdn.
8
92007-04-17 David Kastrup <dak@gnu.org>
10
11 * NEWS: Mention `query-replace-regexp-eval' being deprecated.
12
132007-04-15 Glenn Morris <rgm@gnu.org>
14
15 * FTP: Make it a duplicate of ../FTP.
16
172007-04-14 Glenn Morris <rgm@gnu.org>
18
19 * SERVICE: Replace with a pointer to the web version.
20
21 * emacs.1: Update some of the more obsolete information.
22
232007-04-13 Glenn Morris <rgm@gnu.org>
24
25 * MACHINES: emacserver is removed.
26
27 * MORE.STUFF: Update some links, remove some dead ones.
28
12007-04-04 Slawomir Nowaczyk <slawomir.nowaczyk.847@student.lu.se> 292007-04-04 Slawomir Nowaczyk <slawomir.nowaczyk.847@student.lu.se>
2 30
3 * emacs.py (format_exception): New function. 31 * emacs.py (format_exception): New function.
diff --git a/etc/DEBUG b/etc/DEBUG
index 97e1f015a05..ea4e14866ca 100644
--- a/etc/DEBUG
+++ b/etc/DEBUG
@@ -567,7 +567,7 @@ are involved in the crash.
567 567
568Once you discover the corrupted Lisp object or data structure, grep 568Once you discover the corrupted Lisp object or data structure, grep
569the sources for its uses and try to figure out what could cause the 569the sources for its uses and try to figure out what could cause the
570corruption. If looking at the sources doesn;t help, you could try 570corruption. If looking at the sources doesn't help, you could try
571setting a watchpoint on the corrupted data, and see what code modifies 571setting a watchpoint on the corrupted data, and see what code modifies
572it in some invalid way. (Obviously, this technique is only useful for 572it in some invalid way. (Obviously, this technique is only useful for
573data that is modified only very rarely.) 573data that is modified only very rarely.)
@@ -731,7 +731,7 @@ prints the backtrace for a crash. It is usually best to look at the
731disassembly to determine exactly what code is being run--the 731disassembly to determine exactly what code is being run--the
732disassembly will probably show several source lines followed by a 732disassembly will probably show several source lines followed by a
733block of assembler for those lines. The actual point where Emacs 733block of assembler for those lines. The actual point where Emacs
734crashes will be one of those source lines, but not neccesarily the one 734crashes will be one of those source lines, but not necessarily the one
735that the debugger reports. 735that the debugger reports.
736 736
737Another problematic area with the MS debugger is with variables that 737Another problematic area with the MS debugger is with variables that
diff --git a/etc/DEVEL.HUMOR b/etc/DEVEL.HUMOR
index 5a291c458bd..10353c6517a 100644
--- a/etc/DEVEL.HUMOR
+++ b/etc/DEVEL.HUMOR
@@ -178,3 +178,9 @@ still out about that end of time thing."
178constants with anything like the universality of e and pi." 178constants with anything like the universality of e and pi."
179 "42" 179 "42"
180 -- Alan Mackenzie and David Hansen 180 -- Alan Mackenzie and David Hansen
181
182----------------------------------------------------------------------
183
184 "[...] So please do not delete anything."
185 "Done."
186 -- RMS and David Kastrup
diff --git a/etc/FTP b/etc/FTP
index 45048af4160..0337d464c30 100644
--- a/etc/FTP
+++ b/etc/FTP
@@ -1,2 +1,6 @@
1Please refer to <http://www.gnu.org/software/emacs/> for information 1For information about how to obtain GNU Emacs and other GNU software
2about obtaining Emacs. 2by FTP, please see <http://www.gnu.org/order/ftp.html>.
3
4Information about Emacs is also available at
5<http://www.gnu.org/software/emacs/>.
6
diff --git a/etc/MACHINES b/etc/MACHINES
index 09abc4f0770..83723fccbbc 100644
--- a/etc/MACHINES
+++ b/etc/MACHINES
@@ -126,7 +126,7 @@ Apple PowerPC Macintosh running GNU/Linux
126 Emacs distribution, and remove the "#if 0" and "#endif" directives 126 Emacs distribution, and remove the "#if 0" and "#endif" directives
127 which surround the following block near the end of the file: 127 which surround the following block near the end of the file:
128 128
129 #if 0 /* This breaks things on PPC GNU/Linux ecept for Yellowdog, 129 #if 0 /* This breaks things on PPC GNU/Linux except for Yellowdog,
130 even with identical GCC, as, ld. Let's take it out until we 130 even with identical GCC, as, ld. Let's take it out until we
131 know what's really going on here. */ 131 know what's really going on here. */
132 /* GCC 2.95 and newer on GNU/Linux PPC changed the load address to 132 /* GCC 2.95 and newer on GNU/Linux PPC changed the load address to
@@ -156,9 +156,8 @@ Apollo running X Windows (m68k-apollo-bsd)
156 installations may have to edit src/Makefile manually after it is created. 156 installations may have to edit src/Makefile manually after it is created.
157 There are too many versions of both cc and X to automate this easily. 157 There are too many versions of both cc and X to automate this easily.
158 158
159 In `lib-src/Makefile', emacsclient and emacsserver compile and work fine 159 In `lib-src/Makefile', emacsclient compiles and works fine under CC 6.9.
160 under CC 6.9. They now probably work under other versions of the compiler, 160 It now probably works under other versions of the compiler, as well.
161 as well.
162 161
163 The Apollo Domain CC compiler will issue quite a few warning messages, 162 The Apollo Domain CC compiler will issue quite a few warning messages,
164 mostly complaining about incompatible pointers. In general, these are 163 mostly complaining about incompatible pointers. In general, these are
@@ -1395,7 +1394,7 @@ System V rel 3 (usg5.3)
1395 cannot be made to work. Whether or not the GNU relocating malloc is 1394 cannot be made to work. Whether or not the GNU relocating malloc is
1396 used, the symptom is that the first call Emacs makes to sbrk(0) returns 1395 used, the symptom is that the first call Emacs makes to sbrk(0) returns
1397 (char *)-1. Sorry, you're stuck with character-only mode. Try 1396 (char *)-1. Sorry, you're stuck with character-only mode. Try
1398 installing Xfree86 to fix this. 1397 installing XFree86 to fix this.
1399 1398
1400System V rel 4.0.3 and 4.0.4 (usg5.4) 1399System V rel 4.0.3 and 4.0.4 (usg5.4)
1401 1400
@@ -1499,11 +1498,10 @@ Xenix (xenix)
1499 to make the Emacs meta key work. 1498 to make the Emacs meta key work.
1500 1499
1501Local variables: 1500Local variables:
1502mode: indented-text 1501mode: text
1503fill-prefix: " " 1502fill-prefix: " "
1504End: 1503End:
1505 1504
1506
1507This file is part of GNU Emacs. 1505This file is part of GNU Emacs.
1508 1506
1509GNU Emacs is free software; you can redistribute it and/or modify 1507GNU Emacs is free software; you can redistribute it and/or modify
diff --git a/etc/MORE.STUFF b/etc/MORE.STUFF
index 80ef61ec5bf..8d05d1c4d2c 100644
--- a/etc/MORE.STUFF
+++ b/etc/MORE.STUFF
@@ -47,9 +47,6 @@ You might find bug-fixes or enhancements in these places.
47 47
48 * Battery and Info Look: <URL:http://www-cdf.fnal.gov/~sthrlnd/emacs/> 48 * Battery and Info Look: <URL:http://www-cdf.fnal.gov/~sthrlnd/emacs/>
49 49
50 * BibTeX:
51 <URL:http://www.ida.ing.tu-bs.de/people/dirk/bibtex/index.html>
52
53 * BS: <URL:http://www.geekware.de/software/emacs/index.html> 50 * BS: <URL:http://www.geekware.de/software/emacs/index.html>
54 51
55 * Calculator: <URL:http://www.barzilay.org/misc/calculator.el> 52 * Calculator: <URL:http://www.barzilay.org/misc/calculator.el>
@@ -85,26 +82,24 @@ You might find bug-fixes or enhancements in these places.
85 82
86 * MH-E: <URL:http://mh-e.sourceforge.net/> 83 * MH-E: <URL:http://mh-e.sourceforge.net/>
87 84
88 * PC Selection: <URL:ftp://ftp.thp.uni-duisburg.de/pub/source/elisp/>
89
90 * PS mode: <URL:http://odur.let.rug.nl/%7Ekleiweg/postscript/> 85 * PS mode: <URL:http://odur.let.rug.nl/%7Ekleiweg/postscript/>
91 86
92 * PS-print: <URL:http://www.cpqd.com.br/~vinicius/emacs/> 87 * PS-print: <URL:http://www.emacswiki.org/cgi-bin/wiki/PsPrintPackage>
93 88
94 * QuickURL: <URL:http://www.davep.org/emacs/> 89 * QuickURL: <URL:http://www.davep.org/emacs/>
95 90
96 * RefTeX: <URL:http://staff.science.uva.nl/~dominik/Tools/reftex/> 91 * RefTeX: <URL:http://www.gnu.org/software/auctex/reftex.html>
97 92
98 * Speedbar, Checkdoc etc: <URL:http://cedet.sourceforge.net/> 93 * Speedbar, Checkdoc etc: <URL:http://cedet.sourceforge.net/>
99 94
100 * SQL: <URL:http://www.geocities.com/TimesSquare/6120/emacs.html> 95 * SQL: <URL:http://www.emacswiki.org/cgi-bin/wiki/sql.el>
101 96
102 * Tramp: Remote file access via rsh/ssh 97 * Tramp: Remote file access via rsh/ssh
103 <URL:http://savannah.gnu.org/projects/tramp/> 98 <URL:http://savannah.gnu.org/projects/tramp/>
104 99
105 * Webjump: <URL:http://www.neilvandyke.org/webjump> 100 * Webjump: <URL:http://www.neilvandyke.org/webjump>
106 101
107 * Whitespace: <URL:http://www.dsmit.com/lisp/> 102 * Whitespace: <URL:http://www.dsmit.com/lisp/whitespace.el>
108 103
109* Auxiliary files 104* Auxiliary files
110 105
@@ -147,7 +142,7 @@ Several are for Debian GNU/Linux in particular.
147 mirrors of the `CTAN' TeX archives. 142 mirrors of the `CTAN' TeX archives.
148 143
149 * Dismal: spreadsheet: 144 * Dismal: spreadsheet:
150 <URL:http://www.gnu.org/software/dismal/dismal.html> 145 <URL:http://ritter.ist.psu.edu/dismal/dismal.html>
151 146
152 * ECB: Emacs Code Browser: <URL:http://ecb.sourceforge.net/> 147 * ECB: Emacs Code Browser: <URL:http://ecb.sourceforge.net/>
153 148
@@ -177,8 +172,7 @@ Several are for Debian GNU/Linux in particular.
177 <URL:http://emacspeak.sourceforge.net/> 172 <URL:http://emacspeak.sourceforge.net/>
178 173
179 * Emacs-w3m : <URL:http://emacs-w3m.namazu.org/> 174 * Emacs-w3m : <URL:http://emacs-w3m.namazu.org/>
180 A simple Emacs interface to w3m, which is a text-mode 175 A simple Emacs interface to w3m, which is a text-mode WWW browser
181 WWW browser
182 176
183 * Emacs Wiki Mode: <URL:http://www.mwolson.org/projects/EmacsWiki.html> 177 * Emacs Wiki Mode: <URL:http://www.mwolson.org/projects/EmacsWiki.html>
184 A wiki-like publishing tool and personal information manager 178 A wiki-like publishing tool and personal information manager
@@ -198,7 +192,7 @@ Several are for Debian GNU/Linux in particular.
198 HTML-specific editing. Can work with PSGML. 192 HTML-specific editing. Can work with PSGML.
199 193
200 * Hyperbole: 194 * Hyperbole:
201 <URL:http://ftp.gnu.org/pub/gnu/hyperbole/> 195 <URL:http://directory.fsf.org/hyperbole.html>
202 Hyperbole is an open, efficient, programmable information 196 Hyperbole is an open, efficient, programmable information
203 management and hypertext system. 197 management and hypertext system.
204 198
@@ -222,11 +216,11 @@ Several are for Debian GNU/Linux in particular.
222 nXML mode is an addon for GNU Emacs, which makes GNU Emacs into a 216 nXML mode is an addon for GNU Emacs, which makes GNU Emacs into a
223 powerful XML editor. 217 powerful XML editor.
224 218
225 * Planner Mode: <URL:http://www.plannerlove.com/> 219 * Planner Mode: <URL:http://wjsullivan.net/PlannerMode>
226 Planner is an organizer and day planner for Emacs. 220 Planner is an organizer and day planner for Emacs.
227 221
228 * Preview LaTeX: embed preview LaTeX images in source buffer. 222 * Preview LaTeX: embed preview LaTeX images in source buffer.
229 <URL:http://preview-latex.sourceforge.net/> 223 <URL:http://www.gnu.org/software/auctex/preview-latex>
230 224
231 * PSGML: <URL:http://www.lysator.liu.se/projects/about_psgml.html> 225 * PSGML: <URL:http://www.lysator.liu.se/projects/about_psgml.html>
232 DTD-aware serious SGML/XML editing. 226 DTD-aware serious SGML/XML editing.
@@ -253,7 +247,7 @@ Several are for Debian GNU/Linux in particular.
253 247
254 * Tiny Tools: <URL:http://tiny-tools.sourceforge.net/> 248 * Tiny Tools: <URL:http://tiny-tools.sourceforge.net/>
255 249
256 * VM (View Mail): <URL:http://www.wonderworks.com/vm/> Alternative 250 * VM (View Mail): <URL:http://www.nongnu.org/viewmail/> Alternative
257 mail reader. There is a VM newsgroup: <URL:news:gnu.emacs.vm.info> 251 mail reader. There is a VM newsgroup: <URL:news:gnu.emacs.vm.info>
258 252
259 * W3: <URL:http://savannah.gnu.org/projects/w3/> 253 * W3: <URL:http://savannah.gnu.org/projects/w3/>
@@ -269,8 +263,7 @@ Several are for Debian GNU/Linux in particular.
269 shell-script daemon and some LaTeX macros. 263 shell-script daemon and some LaTeX macros.
270 264
271 * X-Symbol: <URL:http://x-symbol.sourceforge.net/> 265 * X-Symbol: <URL:http://x-symbol.sourceforge.net/>
272 Quasi-WYSIWYG editing of TeX & al. (It will be improved to take 266 Quasi-WYSIWYG editing of TeX & al.
273 better advantage of Emacs 21 features.)
274 267
275Local Variables: 268Local Variables:
276mode: text 269mode: text
diff --git a/etc/NEWS b/etc/NEWS
index 33be2c7a3fa..5731dfbf5f3 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,4 +1,4 @@
1GNU Emacs NEWS -- history of user-visible changes. 2006-06-04 1GNU Emacs NEWS -- history of user-visible changes.
2 2
3Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 3Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
4 Free Software Foundation, Inc. 4 Free Software Foundation, Inc.
@@ -110,7 +110,7 @@ any older versions of these packages to ensure that the Emacs 22
110version is used. You can use M-x list-load-path-shadows to find such 110version is used. You can use M-x list-load-path-shadows to find such
111older packages. 111older packages.
112 112
113Some specific packages which are known to cause problems are: 113Some specific packages that are known to cause problems are:
114 114
115** Semantic (used by CEDET, ECB, JDEE): upgrade to latest version. 115** Semantic (used by CEDET, ECB, JDEE): upgrade to latest version.
116** cua.el, cua-mode.el: remove old versions. 116** cua.el, cua-mode.el: remove old versions.
@@ -118,7 +118,10 @@ Some specific packages which are known to cause problems are:
118 118
119* Installation Changes in Emacs 22.1 119* Installation Changes in Emacs 22.1
120 120
121--- 121** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk'
122when you run configure. This requires Gtk+ 2.4 or newer. This port
123provides a way to display multilingual text in menus (with some caveats).
124
122** Emacs comes with a new set of icons. 125** Emacs comes with a new set of icons.
123These icons are displayed on the taskbar and/or titlebar when Emacs 126These icons are displayed on the taskbar and/or titlebar when Emacs
124runs in a graphical environment. Source files for these icons can be 127runs in a graphical environment. Source files for these icons can be
@@ -127,152 +130,117 @@ Emacs by changing these files directly. On X, the icon is compiled
127into the Emacs executable; see gnu.h in the source tree. On MS 130into the Emacs executable; see gnu.h in the source tree. On MS
128Windows, see nt/icons/emacs.ico.) 131Windows, see nt/icons/emacs.ico.)
129 132
130---
131** Emacs now supports new configure options `--program-prefix',
132`--program-suffix' and `--program-transform-name' that affect the names of
133installed programs.
134
135---
136** Emacs can now be built without sound support.
137
138---
139** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk'
140when you run configure. This requires Gtk+ 2.4 or newer. This port
141provides a way to display multilingual text in menus (with some caveats).
142
143---
144** The `emacsserver' program has been removed, replaced with Lisp code.
145
146---
147** The `yow' program has been removed.
148Use the corresponding Emacs feature instead.
149
150---
151** By default, Emacs now uses a setgid helper program to update game
152scores. The directory ${localstatedir}/games/emacs is the normal
153place for game scores to be stored. You can control this with the
154configure option `--with-game-dir'. The specific user that Emacs uses
155to own the game scores is controlled by `--with-game-user'. If access
156to a game user is not available, then scores will be stored separately
157in each user's home directory.
158
159---
160** Leim is now part of the Emacs distribution.
161You no longer need to download a separate tarball in order to build
162Emacs with Leim.
163
164+++
165** The Emacs Lisp Reference Manual is now part of the distribution. 133** The Emacs Lisp Reference Manual is now part of the distribution.
166 134
167The Emacs Lisp Reference Manual in Info format is built as part of the 135The Emacs Lisp Reference Manual in Info format is built as part of the
168Emacs build procedure and installed together with the Emacs User 136Emacs build procedure and installed together with the Emacs User
169Manual. A menu item was added to the menu bar that makes it easy 137Manual. A menu item was added to the menu bar to make it easily
170accessible (Help->More Manuals->Emacs Lisp Reference). 138accessible (Help->More Manuals->Emacs Lisp Reference).
171 139
172---
173** The Introduction to Programming in Emacs Lisp manual is now part of 140** The Introduction to Programming in Emacs Lisp manual is now part of
174the distribution. 141the distribution.
175 142
176This manual is now part of the standard distribution and is installed, 143This manual is now part of the standard distribution and is installed,
177together with the Emacs User Manual, into the Info directory. A menu 144together with the Emacs User Manual, into the Info directory. A menu
178item was added to the menu bar that makes it easy accessible 145item was added to the menu bar to make it easily accessible
179(Help->More Manuals->Introduction to Emacs Lisp). 146(Help->More Manuals->Introduction to Emacs Lisp).
180 147
181--- 148** Leim is now part of the Emacs distribution.
149You no longer need to download a separate tarball in order to build
150Emacs with Leim.
151
182** New translations of the Emacs Tutorial are available in the 152** New translations of the Emacs Tutorial are available in the
183following languages: Brasilian Portuguese, Bulgarian, Chinese (both 153following languages: Brasilian Portuguese, Bulgarian, Chinese (both
184with simplified and traditional characters), French, and Italian. 154with simplified and traditional characters), French, Russian, and
185Type `C-u C-h t' to choose one of them in case your language setup 155Italian. Type `C-u C-h t' to choose one of them in case your language
186doesn't automatically select the right one. 156setup doesn't automatically select the right one.
187 157
188--- 158** New translations of the Emacs reference card are available in the
189** A Portuguese translation of Emacs' reference card has been added. 159Brasilian Portuguese and Russian. The corresponding PostScript files
190Its name is `pt-br-refcard.tex'. The corresponding PostScript file is 160are also included.
191also included.
192 161
193---
194** A French translation of the `Emacs Survival Guide' is available. 162** A French translation of the `Emacs Survival Guide' is available.
195 163
196---
197** Emacs now includes support for loading image libraries on demand. 164** Emacs now includes support for loading image libraries on demand.
198(Currently this feature is only used on MS Windows.) You can configure 165(Currently this feature is only used on MS Windows.) You can configure
199the supported image types and their associated dynamic libraries by 166the supported image types and their associated dynamic libraries by
200setting the variable `image-library-alist'. 167setting the variable `image-library-alist'.
201 168
202--- 169** Support for GNU/Linux systems on X86-64 machines was added.
203** Support for a Cygwin build of Emacs was added.
204
205---
206** Support for FreeBSD/Alpha has been added.
207 170
208---
209** Support for GNU/Linux systems on S390 machines was added. 171** Support for GNU/Linux systems on S390 machines was added.
210 172
211---
212** Support for GNU/Linux systems on Tensilica Xtensa machines was added. 173** Support for GNU/Linux systems on Tensilica Xtensa machines was added.
213 174
214--- 175** Support for FreeBSD/Alpha has been added.
176
177** Support for a Cygwin build of Emacs was added.
178
215** Support for MacOS X was added. 179** Support for MacOS X was added.
216See the files mac/README and mac/INSTALL for build instructions. 180See the files mac/README and mac/INSTALL for build instructions.
217 181
218---
219** Support for GNU/Linux systems on X86-64 machines was added.
220
221---
222** Mac OS 9 port now uses the Carbon API by default. You can also 182** Mac OS 9 port now uses the Carbon API by default. You can also
223create non-Carbon build by specifying `NonCarbon' as a target. See 183create a non-Carbon build by specifying `NonCarbon' as a target. See
224the files mac/README and mac/INSTALL for build instructions. 184the files mac/README and mac/INSTALL for build instructions.
225 185
226--- 186** The `emacsserver' program has been removed, replaced with Lisp code.
187
188** The `yow' program has been removed.
189Use the corresponding Emacs feature instead.
190
191** Emacs now supports new configure options `--program-prefix',
192`--program-suffix' and `--program-transform-name' that affect the names of
193installed programs.
194
195** By default, Emacs now uses a setgid helper program to update game
196scores. The directory ${localstatedir}/games/emacs is the normal
197place for game scores to be stored. You can control this with the
198configure option `--with-game-dir'. The specific user that Emacs uses
199to own the game scores is controlled by `--with-game-user'. If access
200to a game user is not available, then scores will be stored separately
201in each user's home directory.
202
203** Emacs can now be built without sound support.
204
227** Building with -DENABLE_CHECKING does not automatically build with union 205** Building with -DENABLE_CHECKING does not automatically build with union
228types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. 206types any more. Add -DUSE_LISP_UNION_TYPE if you want union types.
229 207
230---
231** When pure storage overflows while dumping, Emacs now prints how 208** When pure storage overflows while dumping, Emacs now prints how
232much pure storage it will approximately need. 209much pure storage it will approximately need.
233 210
234---
235** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the 211** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the
236contents of buffers from a core dump and save them to files easily, should 212contents of buffers from a core dump and save them to files easily, should
237Emacs crash. 213Emacs crash.
238 214
239---
240** The Emacs terminal emulation in term.el uses a different terminfo name. 215** The Emacs terminal emulation in term.el uses a different terminfo name.
241The Emacs terminal emulation in term.el now uses "eterm-color" as its 216The Emacs terminal emulation in term.el now uses "eterm-color" as its
242terminfo name, since term.el now supports color. 217terminfo name, since term.el now supports color.
243 218
244---
245** Emacs Lisp source files are compressed by default if `gzip' is available. 219** Emacs Lisp source files are compressed by default if `gzip' is available.
246 220
247---
248** All images used in Emacs have been consolidated in etc/images and subdirs. 221** All images used in Emacs have been consolidated in etc/images and subdirs.
249See also the changes to `find-image', documented below. 222See also the changes to `find-image', documented below.
250 223
251 224
252* Startup Changes in Emacs 22.1 225* Startup Changes in Emacs 22.1
253 226
254+++
255** New command line option -Q or --quick. 227** New command line option -Q or --quick.
256This is like using -q --no-site-file, but in addition it also disables 228This is like using -q --no-site-file, but in addition it also disables
257the fancy startup screen. 229the fancy startup screen.
258 230
259+++
260** New command line option -D or --basic-display. 231** New command line option -D or --basic-display.
261Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and 232Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and
262the blinking cursor. 233the blinking cursor.
263 234
264+++
265** New command line option -nbc or --no-blinking-cursor disables 235** New command line option -nbc or --no-blinking-cursor disables
266the blinking cursor on graphical terminals. 236the blinking cursor on graphical terminals.
267 237
268+++
269** The option --script FILE runs Emacs in batch mode and loads FILE. 238** The option --script FILE runs Emacs in batch mode and loads FILE.
270It is useful for writing Emacs Lisp shell script files, because they 239It is useful for writing Emacs Lisp shell script files, because they
271can start with this line: 240can start with this line:
272 241
273 #!/usr/bin/emacs --script 242 #!/usr/bin/emacs --script
274 243
275+++
276** The option --directory DIR now modifies `load-path' immediately. 244** The option --directory DIR now modifies `load-path' immediately.
277Directories are added to the front of `load-path' in the order they 245Directories are added to the front of `load-path' in the order they
278appear on the command line. For example, with this command line: 246appear on the command line. For example, with this command line:
@@ -282,69 +250,57 @@ appear on the command line. For example, with this command line:
282Emacs looks for library `foo' in the parent directory, then in /tmp, then 250Emacs looks for library `foo' in the parent directory, then in /tmp, then
283in the other directories in `load-path'. (-L is short for --directory.) 251in the other directories in `load-path'. (-L is short for --directory.)
284 252
285+++
286** The command line option --no-windows has been changed to 253** The command line option --no-windows has been changed to
287--no-window-system. The old one still works, but is deprecated. 254--no-window-system. The old one still works, but is deprecated.
288 255
289---
290** If the environment variable DISPLAY specifies an unreachable X display, 256** If the environment variable DISPLAY specifies an unreachable X display,
291Emacs will now startup as if invoked with the --no-window-system option. 257Emacs will now startup as if invoked with the --no-window-system option.
292 258
293+++
294** The -f option, used from the command line to call a function, 259** The -f option, used from the command line to call a function,
295now reads arguments for the function interactively if it is 260now reads arguments for the function interactively if it is
296an interactively callable function. 261an interactively callable function.
297 262
298+++
299** When you specify a frame size with --geometry, the size applies to 263** When you specify a frame size with --geometry, the size applies to
300all frames you create. A position specified with --geometry only 264all frames you create. A position specified with --geometry only
301affects the initial frame. 265affects the initial frame.
302 266
303---
304** Emacs built for MS-Windows now behaves like Emacs on X does, 267** Emacs built for MS-Windows now behaves like Emacs on X does,
305wrt its frame position: if you don't specify a position (in your 268with respect to its frame position: if you don't specify a position
306.emacs init file, in the Registry, or with the --geometry command-line 269(in your .emacs init file, in the Registry, or with the --geometry
307option), Emacs leaves the frame position to the Windows' window 270command-line option), Emacs leaves the frame position to the Windows'
308manager. 271window manager.
309 272
310+++
311** Emacs can now be invoked in full-screen mode on a windowed display. 273** Emacs can now be invoked in full-screen mode on a windowed display.
312When Emacs is invoked on a window system, the new command-line options 274When Emacs is invoked on a window system, the new command-line options
313`--fullwidth', `--fullheight', and `--fullscreen' produce a frame 275`--fullwidth', `--fullheight', and `--fullscreen' produce a frame
314whose width, height, or both width and height take up the entire 276whose width, height, or both width and height take up the entire
315screen size. (For now, this does not work with some window managers.) 277screen size. (For now, this does not work with some window managers.)
316 278
317+++
318** Emacs now displays a splash screen by default even if command-line 279** Emacs now displays a splash screen by default even if command-line
319arguments were given. The new command-line option --no-splash 280arguments were given. The new command-line option --no-splash
320disables the splash screen; see also the variable 281disables the splash screen; see also the variable
321`inhibit-startup-message' (which is also aliased as 282`inhibit-splash-screen' (which is also aliased as
322`inhibit-splash-screen'). 283`inhibit-startup-message').
323 284
324+++ 285** The default is now to use a bitmap as the icon.
325** The default is now to use a bitmap as the icon, so the command-line options 286The command-line options --icon-type, -i have been replaced with
326--icon-type, -i has been replaced with options --no-bitmap-icon, -nbi to turn 287options --no-bitmap-icon, -nbi to turn the bitmap icon off.
327the bitmap icon off.
328 288
329+++
330** New user option `inhibit-startup-buffer-menu'. 289** New user option `inhibit-startup-buffer-menu'.
331When loading many files, for instance with `emacs *', Emacs normally 290When loading many files, for instance with `emacs *', Emacs normally
332displays a buffer menu. This option turns the buffer menu off. 291displays a buffer menu. This option turns the buffer menu off.
333 292
334+++
335** Init file changes 293** Init file changes
336If the init file ~/.emacs does not exist, Emacs will try 294If the init file ~/.emacs does not exist, Emacs will try
337~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file 295~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file
338~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh. 296~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh.
339 297
340+++
341** Emacs now reads the standard abbrevs file ~/.abbrev_defs 298** Emacs now reads the standard abbrevs file ~/.abbrev_defs
342automatically at startup, if it exists. When Emacs offers to save 299automatically at startup, if it exists. When Emacs offers to save
343modified buffers, it saves the abbrevs too if they have changed. It 300modified buffers, it saves the abbrevs too if they have changed. It
344can do this either silently or asking for confirmation first, 301can do this either silently or asking for confirmation first,
345according to the value of `save-abbrevs'. 302according to the value of `save-abbrevs'.
346 303
347+++
348** If the environment variable EMAIL is defined, Emacs now uses its value 304** If the environment variable EMAIL is defined, Emacs now uses its value
349to compute the default value of `user-mail-address', in preference to 305to compute the default value of `user-mail-address', in preference to
350concatenation of `user-login-name' with the name of your host machine. 306concatenation of `user-login-name' with the name of your host machine.
@@ -352,52 +308,42 @@ concatenation of `user-login-name' with the name of your host machine.
352 308
353* Incompatible Editing Changes in Emacs 22.1 309* Incompatible Editing Changes in Emacs 22.1
354 310
355+++ 311** You can now follow links by clicking Mouse-1 on the link.
312
313See below for more details.
314
356** M-g is now a prefix key. 315** M-g is now a prefix key.
357M-g g and M-g M-g run goto-line. 316M-g g and M-g M-g run goto-line.
358M-g n and M-g M-n run next-error (like C-x `). 317M-g n and M-g M-n run next-error (like C-x `).
359M-g p and M-g M-p run previous-error. 318M-g p and M-g M-p run previous-error.
360 319
361+++
362** C-u M-g M-g switches to the most recent previous buffer, 320** C-u M-g M-g switches to the most recent previous buffer,
363and goes to the specified line in that buffer. 321and goes to the specified line in that buffer.
364 322
365When goto-line starts to execute, if there's a number in the buffer at 323When goto-line starts to execute, if there's a number in the buffer at
366point then it acts as the default argument for the minibuffer. 324point then it acts as the default argument for the minibuffer.
367 325
368+++ 326** M-o now is the prefix key for setting text properties;
327M-o M-o requests refontification.
328
369** The old bindings C-M-delete and C-M-backspace have been deleted, 329** The old bindings C-M-delete and C-M-backspace have been deleted,
370since there are situations where one or the other will shut down 330since there are situations where one or the other will shut down
371the operating system or your X server. 331the operating system or your X server.
372 332
373+++
374** line-move-ignore-invisible now defaults to t.
375
376+++
377** When the undo information of the current command gets really large 333** When the undo information of the current command gets really large
378(beyond the value of `undo-outer-limit'), Emacs discards it and warns 334(beyond the value of `undo-outer-limit'), Emacs discards it and warns
379you about it. 335you about it.
380 336
381+++
382** `apply-macro-to-region-lines' now operates on all lines that begin
383in the region, rather than on all complete lines in the region.
384
385+++
386** A prefix argument is no longer required to repeat a jump to a
387previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u
388C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC
389to set the mark immediately after a jump.
390
391+++
392** The info-search bindings on C-h C-f, C-h C-k and C-h C-i
393have been moved to C-h F, C-h K and C-h S.
394
395+++
396** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special. 337** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special.
397 338
398See below under "incremental search changes". 339See below under "incremental search changes".
399 340
400--- 341** When Emacs prompts for file names, SPC no longer completes the file name.
342This is so filenames with embedded spaces could be input without the
343need to quote the space with a C-q. The underlying changes in the
344keymaps that are active in the minibuffer are described below under
345"New keymaps for typing file names".
346
401** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer 347** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer
402a special case. 348a special case.
403 349
@@ -408,28 +354,10 @@ directory with Dired.
408You can get the old behavior by typing C-x C-f M-n RET, which fetches 354You can get the old behavior by typing C-x C-f M-n RET, which fetches
409the actual file name into the minibuffer. 355the actual file name into the minibuffer.
410 356
411+++
412** The completion commands TAB, SPC and ? in the minibuffer apply only 357** The completion commands TAB, SPC and ? in the minibuffer apply only
413to the text before point. If there is text in the buffer after point, 358to the text before point. If there is text in the buffer after point,
414it remains unchanged. 359it remains unchanged.
415 360
416+++
417** When Emacs prompts for file names, SPC no longer completes the file name.
418This is so filenames with embedded spaces could be input without the
419need to quote the space with a C-q. The underlying changes in the
420keymaps that are active in the minibuffer are described below under
421"New keymaps for typing file names".
422
423+++
424** M-o now is the prefix key for setting text properties;
425M-o M-o requests refontification.
426
427+++
428** You can now follow links by clicking Mouse-1 on the link.
429
430See below for more details.
431
432+++
433** In Dired's ! command (dired-do-shell-command), `*' and `?' now 361** In Dired's ! command (dired-do-shell-command), `*' and `?' now
434control substitution of the file names only when they are surrounded 362control substitution of the file names only when they are surrounded
435by whitespace. This means you can now use them as shell wildcards 363by whitespace. This means you can now use them as shell wildcards
@@ -437,11 +365,22 @@ too. If you want to use just plain `*' as a wildcard, type `*""'; the
437doublequotes make no difference in the shell, but they prevent 365doublequotes make no difference in the shell, but they prevent
438special treatment in `dired-do-shell-command'. 366special treatment in `dired-do-shell-command'.
439 367
440--- 368** A prefix argument is no longer required to repeat a jump to a
369previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u
370C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC
371to set the mark immediately after a jump.
372
373** The info-search bindings on C-h C-f, C-h C-k and C-h C-i
374have been moved to C-h F, C-h K and C-h S.
375
376** `apply-macro-to-region-lines' now operates on all lines that begin
377in the region, rather than on all complete lines in the region.
378
379** line-move-ignore-invisible now defaults to t.
380
441** Adaptive filling misfeature removed. 381** Adaptive filling misfeature removed.
442It no longer treats `NNN.' or `(NNN)' as a prefix. 382It no longer treats `NNN.' or `(NNN)' as a prefix.
443 383
444---
445** The register compatibility key bindings (deprecated since Emacs 19) 384** The register compatibility key bindings (deprecated since Emacs 19)
446have been removed: 385have been removed:
447 C-x / point-to-register (Use: C-x r SPC) 386 C-x / point-to-register (Use: C-x r SPC)
@@ -452,7 +391,6 @@ have been removed:
452 391
453* Editing Changes in Emacs 22.1 392* Editing Changes in Emacs 22.1
454 393
455+++
456** !MEM FULL! at the start of the mode line indicates that Emacs 394** !MEM FULL! at the start of the mode line indicates that Emacs
457cannot get any more memory for Lisp data. This often means it could 395cannot get any more memory for Lisp data. This often means it could
458crash soon if you do things that use more memory. On most systems, 396crash soon if you do things that use more memory. On most systems,
@@ -460,71 +398,57 @@ killing buffers will get out of this state. If killing buffers does
460not make !MEM FULL! disappear, you should save your work and start 398not make !MEM FULL! disappear, you should save your work and start
461a new Emacs. 399a new Emacs.
462 400
463+++
464** The max size of buffers and integers has been doubled. 401** The max size of buffers and integers has been doubled.
465On 32bit machines, it is now 256M (i.e. 268435455). 402On 32bit machines, it is now 256M (i.e. 268435455).
466 403
467+++
468** You can now switch buffers in a cyclic order with C-x C-left 404** You can now switch buffers in a cyclic order with C-x C-left
469(previous-buffer) and C-x C-right (next-buffer). C-x left and 405(previous-buffer) and C-x C-right (next-buffer). C-x left and
470C-x right can be used as well. The functions keep a different buffer 406C-x right can be used as well. The functions keep a different buffer
471cycle for each frame, using the frame-local buffer list. 407cycle for each frame, using the frame-local buffer list.
472 408
473+++
474** `undo-only' does an undo which does not redo any previous undo. 409** `undo-only' does an undo which does not redo any previous undo.
475 410
476+++
477** M-SPC (just-one-space) when given a numeric argument N 411** M-SPC (just-one-space) when given a numeric argument N
478converts whitespace around point to N spaces. 412converts whitespace around point to N spaces.
479 413
480---
481** C-x 5 C-o displays a specified buffer in another frame 414** C-x 5 C-o displays a specified buffer in another frame
482but does not switch to that frame. It's the multi-frame 415but does not switch to that frame. It's the multi-frame
483analogue of C-x 4 C-o. 416analogue of C-x 4 C-o.
484 417
485---
486** New commands to operate on pairs of open and close characters:
487`insert-pair', `delete-pair', `raise-sexp'.
488
489+++
490** New command `kill-whole-line' kills an entire line at once. 418** New command `kill-whole-line' kills an entire line at once.
491By default, it is bound to C-S-<backspace>. 419By default, it is bound to C-S-<backspace>.
492 420
493+++
494** Yanking text now discards certain text properties that can 421** Yanking text now discards certain text properties that can
495be inconvenient when you did not expect them. The variable 422be inconvenient when you did not expect them. The variable
496`yank-excluded-properties' specifies which ones. Insertion 423`yank-excluded-properties' specifies which ones. Insertion
497of register contents and rectangles also discards these properties. 424of register contents and rectangles also discards these properties.
498 425
499+++
500** The default values of paragraph-start and indent-line-function have 426** The default values of paragraph-start and indent-line-function have
501been changed to reflect those used in Text mode rather than those used 427been changed to reflect those used in Text mode rather than those used
502in Indented-Text mode. 428in Indented-Text mode.
503 429
504+++ 430** New commands to operate on pairs of open and close characters:
431`insert-pair', `delete-pair', `raise-sexp'.
432
505** M-x setenv now expands environment variable references. 433** M-x setenv now expands environment variable references.
506 434
507Substrings of the form `$foo' and `${foo}' in the specified new value 435Substrings of the form `$foo' and `${foo}' in the specified new value
508now refer to the value of environment variable foo. To include a `$' 436now refer to the value of environment variable foo. To include a `$'
509in the value, use `$$'. 437in the value, use `$$'.
510 438
511+++
512** `special-display-buffer-names' and `special-display-regexps' now 439** `special-display-buffer-names' and `special-display-regexps' now
513understand two new boolean pseudo-frame-parameters `same-frame' and 440understand two new boolean pseudo-frame-parameters `same-frame' and
514`same-window'. 441`same-window'.
515 442
516+++
517** The default for the paper size (variable ps-paper-type) is taken 443** The default for the paper size (variable ps-paper-type) is taken
518from the locale. 444from the locale.
519 445
520** Mark command changes: 446** Mark command changes:
521 447
522+++
523*** A prefix argument is no longer required to repeat a jump to a 448*** A prefix argument is no longer required to repeat a jump to a
524previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the 449previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the
525mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump. 450mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump.
526 451
527+++
528*** Marking commands extend the region when invoked multiple times. 452*** Marking commands extend the region when invoked multiple times.
529 453
530If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h 454If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h
@@ -537,14 +461,12 @@ the last command. To start a new region with one of marking commands
537in Transient Mark mode, you can deactivate the active region with C-g, 461in Transient Mark mode, you can deactivate the active region with C-g,
538or set the new mark with C-SPC. 462or set the new mark with C-SPC.
539 463
540+++
541*** M-h (mark-paragraph) now accepts a prefix arg. 464*** M-h (mark-paragraph) now accepts a prefix arg.
542 465
543With positive arg, M-h marks the current and the following paragraphs; 466With positive arg, M-h marks the current and the following paragraphs;
544if the arg is negative, it marks the current and the preceding 467if the arg is negative, it marks the current and the preceding
545paragraphs. 468paragraphs.
546 469
547+++
548*** Some commands do something special in Transient Mark mode when the 470*** Some commands do something special in Transient Mark mode when the
549mark is active--for instance, they limit their operation to the 471mark is active--for instance, they limit their operation to the
550region. Even if you don't normally use Transient Mark mode, you might 472region. Even if you don't normally use Transient Mark mode, you might
@@ -562,14 +484,12 @@ deactivate the mark. That typically happens when you type a command
562that alters the buffer, but you can also deactivate the mark by typing 484that alters the buffer, but you can also deactivate the mark by typing
563C-g. 485C-g.
564 486
565+++
566*** Movement commands `beginning-of-buffer', `end-of-buffer', 487*** Movement commands `beginning-of-buffer', `end-of-buffer',
567`beginning-of-defun', `end-of-defun' do not set the mark if the mark 488`beginning-of-defun', `end-of-defun' do not set the mark if the mark
568is already active in Transient Mark mode. 489is already active in Transient Mark mode.
569 490
570** Help command changes: 491** Help command changes:
571 492
572+++
573*** Changes in C-h bindings: 493*** Changes in C-h bindings:
574 494
575C-h e displays the *Messages* buffer. 495C-h e displays the *Messages* buffer.
@@ -603,17 +523,14 @@ to new-kill-line, these commands now report:
603- C-h w and C-h f new-kill-line reports: 523- C-h w and C-h f new-kill-line reports:
604 new-kill-line is on C-k 524 new-kill-line is on C-k
605 525
606---
607*** Help commands `describe-function' and `describe-key' now show function 526*** Help commands `describe-function' and `describe-key' now show function
608arguments in lowercase italics on displays that support it. To change the 527arguments in lowercase italics on displays that support it. To change the
609default, customize face `help-argument-name' or redefine the function 528default, customize face `help-argument-name' or redefine the function
610`help-default-arg-highlight'. 529`help-default-arg-highlight'.
611 530
612+++
613*** C-h v and C-h f commands now include a hyperlink to the C source for 531*** C-h v and C-h f commands now include a hyperlink to the C source for
614variables and functions defined in C (if the C source is available). 532variables and functions defined in C (if the C source is available).
615 533
616+++
617*** Help mode now only makes hyperlinks for faces when the face name is 534*** Help mode now only makes hyperlinks for faces when the face name is
618preceded or followed by the word `face'. It no longer makes 535preceded or followed by the word `face'. It no longer makes
619hyperlinks for variables without variable documentation, unless 536hyperlinks for variables without variable documentation, unless
@@ -624,38 +541,32 @@ anchor' (in addition to earlier `info node' and `Info node'). In
624addition, it now makes hyperlinks to URLs as well if the URL is 541addition, it now makes hyperlinks to URLs as well if the URL is
625enclosed in single quotes and preceded by `URL'. 542enclosed in single quotes and preceded by `URL'.
626 543
627+++
628*** The new command `describe-char' (C-u C-x =) pops up a buffer with 544*** The new command `describe-char' (C-u C-x =) pops up a buffer with
629description various information about a character, including its 545description various information about a character, including its
630encodings and syntax, its text properties, how to input, overlays, and 546encodings and syntax, its text properties, how to input, overlays, and
631widgets at point. You can get more information about some of them, by 547widgets at point. You can get more information about some of them, by
632clicking on mouse-sensitive areas or moving there and pressing RET. 548clicking on mouse-sensitive areas or moving there and pressing RET.
633 549
634+++
635*** The command `list-text-properties-at' has been deleted because 550*** The command `list-text-properties-at' has been deleted because
636C-u C-x = gives the same information and more. 551C-u C-x = gives the same information and more.
637 552
638+++
639*** New command `display-local-help' displays any local help at point 553*** New command `display-local-help' displays any local help at point
640in the echo area. It is bound to `C-h .'. It normally displays the 554in the echo area. It is bound to `C-h .'. It normally displays the
641same string that would be displayed on mouse-over using the 555same string that would be displayed on mouse-over using the
642`help-echo' property, but, in certain cases, it can display a more 556`help-echo' property, but, in certain cases, it can display a more
643keyboard oriented alternative. 557keyboard oriented alternative.
644 558
645+++
646*** New user option `help-at-pt-display-when-idle' allows to 559*** New user option `help-at-pt-display-when-idle' allows to
647automatically show the help provided by `display-local-help' on 560automatically show the help provided by `display-local-help' on
648point-over, after suitable idle time. The amount of idle time is 561point-over, after suitable idle time. The amount of idle time is
649determined by the user option `help-at-pt-timer-delay' and defaults 562determined by the user option `help-at-pt-timer-delay' and defaults
650to one second. This feature is turned off by default. 563to one second. This feature is turned off by default.
651 564
652+++
653*** The apropos commands now accept a list of words to match. 565*** The apropos commands now accept a list of words to match.
654When more than one word is specified, at least two of those words must 566When more than one word is specified, at least two of those words must
655be present for an item to match. Regular expression matching is still 567be present for an item to match. Regular expression matching is still
656available. 568available.
657 569
658+++
659*** The new option `apropos-sort-by-scores' causes the matching items 570*** The new option `apropos-sort-by-scores' causes the matching items
660to be sorted according to their score. The score for an item is a 571to be sorted according to their score. The score for an item is a
661number calculated to indicate how well the item matches the words or 572number calculated to indicate how well the item matches the words or
@@ -665,77 +576,64 @@ matching item.
665 576
666** Incremental Search changes: 577** Incremental Search changes:
667 578
668+++
669*** Vertical scrolling is now possible within incremental search. 579*** Vertical scrolling is now possible within incremental search.
670To enable this feature, customize the new user option 580To enable this feature, customize the new user option
671`isearch-allow-scroll'. User written commands which satisfy stringent 581`isearch-allow-scroll'. User written commands which satisfy stringent
672constraints can be marked as "scrolling commands". See the Emacs manual 582constraints can be marked as "scrolling commands". See the Emacs manual
673for details. 583for details.
674 584
675+++
676*** C-w in incremental search now grabs either a character or a word, 585*** C-w in incremental search now grabs either a character or a word,
677making the decision in a heuristic way. This new job is done by the 586making the decision in a heuristic way. This new job is done by the
678command `isearch-yank-word-or-char'. To restore the old behavior, 587command `isearch-yank-word-or-char'. To restore the old behavior,
679bind C-w to `isearch-yank-word' in `isearch-mode-map'. 588bind C-w to `isearch-yank-word' in `isearch-mode-map'.
680 589
681+++
682*** C-y in incremental search now grabs the next line if point is already 590*** C-y in incremental search now grabs the next line if point is already
683at the end of a line. 591at the end of a line.
684 592
685+++
686*** C-M-w deletes and C-M-y grabs a character in isearch mode. 593*** C-M-w deletes and C-M-y grabs a character in isearch mode.
687Another method to grab a character is to enter the minibuffer by `M-e' 594Another method to grab a character is to enter the minibuffer by `M-e'
688and to type `C-f' at the end of the search string in the minibuffer. 595and to type `C-f' at the end of the search string in the minibuffer.
689 596
690+++
691*** M-% typed in isearch mode invokes `query-replace' or 597*** M-% typed in isearch mode invokes `query-replace' or
692`query-replace-regexp' (depending on search mode) with the current 598`query-replace-regexp' (depending on search mode) with the current
693search string used as the string to replace. 599search string used as the string to replace.
694 600
695+++
696*** Isearch no longer adds `isearch-resume' commands to the command 601*** Isearch no longer adds `isearch-resume' commands to the command
697history by default. To enable this feature, customize the new 602history by default. To enable this feature, customize the new
698user option `isearch-resume-in-command-history'. 603user option `isearch-resume-in-command-history'.
699 604
700** Replace command changes: 605** Replace command changes:
701 606
702---
703*** New user option `query-replace-skip-read-only': when non-nil, 607*** New user option `query-replace-skip-read-only': when non-nil,
704`query-replace' and related functions simply ignore 608`query-replace' and related functions simply ignore
705a match if part of it has a read-only property. 609a match if part of it has a read-only property.
706 610
707+++
708*** When used interactively, the commands `query-replace-regexp' and 611*** When used interactively, the commands `query-replace-regexp' and
709`replace-regexp' allow \,expr to be used in a replacement string, 612`replace-regexp' allow \,expr to be used in a replacement string,
710where expr is an arbitrary Lisp expression evaluated at replacement 613where expr is an arbitrary Lisp expression evaluated at replacement
711time. In many cases, this will be more convenient than using 614time. `\#' in a replacement string now refers to the count of
712`query-replace-regexp-eval'. `\#' in a replacement string now refers 615replacements already made by the replacement command. All regular
713to the count of replacements already made by the replacement command. 616expression replacement commands now allow `\?' in the replacement
714All regular expression replacement commands now allow `\?' in the 617string to specify a position where the replacement string can be
715replacement string to specify a position where the replacement string 618edited for each replacement. `query-replace-regexp-eval' is now
716can be edited for each replacement. 619deprecated since it offers no additional functionality.
717 620
718+++
719*** query-replace uses isearch lazy highlighting when the new user option 621*** query-replace uses isearch lazy highlighting when the new user option
720`query-replace-lazy-highlight' is non-nil. 622`query-replace-lazy-highlight' is non-nil.
721 623
722---
723*** The current match in query-replace is highlighted in new face 624*** The current match in query-replace is highlighted in new face
724`query-replace' which by default inherits from isearch face. 625`query-replace' which by default inherits from isearch face.
725 626
726** Local variables lists: 627** Local variables lists:
727 628
728+++
729*** In processing a local variables list, Emacs strips the prefix and 629*** In processing a local variables list, Emacs strips the prefix and
730suffix from every line before processing all the lines. 630suffix from every line before processing all the lines.
731 631
732+++
733*** Text properties in local variables. 632*** Text properties in local variables.
734 633
735A file local variables list cannot specify a string with text 634A file local variables list cannot specify a string with text
736properties--any specified text properties are discarded. 635properties--any specified text properties are discarded.
737 636
738+++
739*** If the local variables list contains any variable-value pairs that 637*** If the local variables list contains any variable-value pairs that
740are not known to be safe, Emacs shows a prompt asking whether to apply 638are not known to be safe, Emacs shows a prompt asking whether to apply
741the local variables list as a whole. In earlier versions, a prompt 639the local variables list as a whole. In earlier versions, a prompt
@@ -750,21 +648,18 @@ Variables can also be marked as safe with the existing
750However, risky variables will not be added to 648However, risky variables will not be added to
751`safe-local-variable-values' in this way. 649`safe-local-variable-values' in this way.
752 650
753+++
754*** The variable `enable-local-variables' controls how local variable 651*** The variable `enable-local-variables' controls how local variable
755lists are handled. t, the default, specifies the standard querying 652lists are handled. t, the default, specifies the standard querying
756behavior. :safe means use only safe values, and ignore the rest. 653behavior. :safe means use only safe values, and ignore the rest.
757:all means set all variables, whether or not they are safe. 654:all means set all variables, whether or not they are safe.
758nil means ignore them all. Anything else means always query. 655nil means ignore them all. Anything else means always query.
759 656
760+++
761*** The variable `safe-local-eval-forms' specifies a list of forms that 657*** The variable `safe-local-eval-forms' specifies a list of forms that
762are ok to evaluate when they appear in an `eval' local variables 658are ok to evaluate when they appear in an `eval' local variables
763specification. Normally Emacs asks for confirmation before evaluating 659specification. Normally Emacs asks for confirmation before evaluating
764such a form, but if the form appears in this list, no confirmation is 660such a form, but if the form appears in this list, no confirmation is
765needed. 661needed.
766 662
767+++
768*** If a function has a non-nil `safe-local-eval-function' property, 663*** If a function has a non-nil `safe-local-eval-function' property,
769that means it is ok to evaluate some calls to that function when it 664that means it is ok to evaluate some calls to that function when it
770appears in an `eval' local variables specification. If the property 665appears in an `eval' local variables specification. If the property
@@ -777,42 +672,34 @@ confirmation as before.
777 672
778** File operation changes: 673** File operation changes:
779 674
780+++
781*** Unquoted `$' in file names do not signal an error any more when 675*** Unquoted `$' in file names do not signal an error any more when
782the corresponding environment variable does not exist. 676the corresponding environment variable does not exist.
783Instead, the `$ENVVAR' text is left as is, so that `$$' quoting 677Instead, the `$ENVVAR' text is left as is, so that `$$' quoting
784is only rarely needed. 678is only rarely needed.
785 679
786+++
787*** find-file-read-only visits multiple files in read-only mode, 680*** find-file-read-only visits multiple files in read-only mode,
788when the file name contains wildcard characters. 681when the file name contains wildcard characters.
789 682
790+++
791*** find-alternate-file replaces the current file with multiple files, 683*** find-alternate-file replaces the current file with multiple files,
792when the file name contains wildcard characters. It now asks if you 684when the file name contains wildcard characters. It now asks if you
793wish save your changes and not just offer to kill the buffer. 685wish save your changes and not just offer to kill the buffer.
794 686
795+++
796*** Auto Compression mode is now enabled by default. 687*** Auto Compression mode is now enabled by default.
797 688
798---
799*** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case. 689*** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case.
800 690
801Since the default input is the current directory, this has the effect 691Since the default input is the current directory, this has the effect
802of specifying the current directory. Normally that means to visit the 692of specifying the current directory. Normally that means to visit the
803directory with Dired. 693directory with Dired.
804 694
805+++
806*** When you are root, and you visit a file whose modes specify 695*** When you are root, and you visit a file whose modes specify
807read-only, the Emacs buffer is now read-only too. Type C-x C-q if you 696read-only, the Emacs buffer is now read-only too. Type C-x C-q if you
808want to make the buffer writable. (As root, you can in fact alter the 697want to make the buffer writable. (As root, you can in fact alter the
809file.) 698file.)
810 699
811+++
812*** C-x s (save-some-buffers) now offers an option `d' to diff a buffer 700*** C-x s (save-some-buffers) now offers an option `d' to diff a buffer
813against its file, so you can see what changes you would be saving. 701against its file, so you can see what changes you would be saving.
814 702
815+++
816*** The commands copy-file, rename-file, make-symbolic-link and 703*** The commands copy-file, rename-file, make-symbolic-link and
817add-name-to-file, when given a directory as the "new name" argument, 704add-name-to-file, when given a directory as the "new name" argument,
818convert it to a file name by merging in the within-directory part of 705convert it to a file name by merging in the within-directory part of
@@ -820,27 +707,22 @@ the existing file's name. (This is the same convention that shell
820commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET 707commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET
821/tmp RET copies ~/foo to /tmp/foo. 708/tmp RET copies ~/foo to /tmp/foo.
822 709
823---
824*** When used interactively, `format-write-file' now asks for confirmation 710*** When used interactively, `format-write-file' now asks for confirmation
825before overwriting an existing file, unless a prefix argument is 711before overwriting an existing file, unless a prefix argument is
826supplied. This behavior is analogous to `write-file'. 712supplied. This behavior is analogous to `write-file'.
827 713
828---
829*** The variable `auto-save-file-name-transforms' now has a third element that 714*** The variable `auto-save-file-name-transforms' now has a third element that
830controls whether or not the function `make-auto-save-file-name' will 715controls whether or not the function `make-auto-save-file-name' will
831attempt to construct a unique auto-save name (e.g. for remote files). 716attempt to construct a unique auto-save name (e.g. for remote files).
832 717
833+++
834*** The new option `write-region-inhibit-fsync' disables calls to fsync 718*** The new option `write-region-inhibit-fsync' disables calls to fsync
835in `write-region'. This can be useful on laptops to avoid spinning up 719in `write-region'. This can be useful on laptops to avoid spinning up
836the hard drive upon each file save. Enabling this variable may result 720the hard drive upon each file save. Enabling this variable may result
837in data loss, use with care. 721in data loss, use with care.
838 722
839+++
840*** If the user visits a file larger than `large-file-warning-threshold', 723*** If the user visits a file larger than `large-file-warning-threshold',
841Emacs asks for confirmation. 724Emacs asks for confirmation.
842 725
843+++
844*** require-final-newline now has two new possible values: 726*** require-final-newline now has two new possible values:
845 727
846`visit' means add a newline (as an undoable change) if it's needed 728`visit' means add a newline (as an undoable change) if it's needed
@@ -850,7 +732,6 @@ when visiting the file.
850needed when visiting the file, and also add a newline if it's needed 732needed when visiting the file, and also add a newline if it's needed
851when saving the file. 733when saving the file.
852 734
853+++
854*** The new option mode-require-final-newline controls how certain 735*** The new option mode-require-final-newline controls how certain
855major modes enable require-final-newline. Any major mode that's 736major modes enable require-final-newline. Any major mode that's
856designed for a kind of file that should normally end in a newline 737designed for a kind of file that should normally end in a newline
@@ -860,17 +741,14 @@ modes do.
860 741
861** Minibuffer changes: 742** Minibuffer changes:
862 743
863+++
864*** The new file-name-shadow-mode is turned ON by default, so that when 744*** The new file-name-shadow-mode is turned ON by default, so that when
865entering a file name, any prefix which Emacs will ignore is dimmed. 745entering a file name, any prefix which Emacs will ignore is dimmed.
866 746
867+++
868*** There's a new face `minibuffer-prompt'. 747*** There's a new face `minibuffer-prompt'.
869Emacs adds this face to the list of text properties stored in the 748Emacs adds this face to the list of text properties stored in the
870variable `minibuffer-prompt-properties', which is used to display the 749variable `minibuffer-prompt-properties', which is used to display the
871prompt string. 750prompt string.
872 751
873---
874*** Enhanced visual feedback in `*Completions*' buffer. 752*** Enhanced visual feedback in `*Completions*' buffer.
875 753
876Completions lists use faces to highlight what all completions 754Completions lists use faces to highlight what all completions
@@ -891,7 +769,6 @@ listing is triggered at the other normal buffer, you have to pass
891the common prefix of completions to `display-completion-list' as 769the common prefix of completions to `display-completion-list' as
892its second argument. 770its second argument.
893 771
894+++
895*** File-name completion can now ignore specified directories. 772*** File-name completion can now ignore specified directories.
896If an element of the list in `completion-ignored-extensions' ends in a 773If an element of the list in `completion-ignored-extensions' ends in a
897slash `/', it indicates a subdirectory that should be ignored when 774slash `/', it indicates a subdirectory that should be ignored when
@@ -899,19 +776,16 @@ completing file names. Elements of `completion-ignored-extensions'
899which do not end in a slash are never considered when a completion 776which do not end in a slash are never considered when a completion
900candidate is a directory. 777candidate is a directory.
901 778
902+++
903*** The completion commands TAB, SPC and ? in the minibuffer apply only 779*** The completion commands TAB, SPC and ? in the minibuffer apply only
904to the text before point. If there is text in the buffer after point, 780to the text before point. If there is text in the buffer after point,
905it remains unchanged. 781it remains unchanged.
906 782
907+++
908*** New user option `history-delete-duplicates'. 783*** New user option `history-delete-duplicates'.
909If set to t when adding a new history element, all previous identical 784If set to t when adding a new history element, all previous identical
910elements are deleted from the history list. 785elements are deleted from the history list.
911 786
912** Redisplay changes: 787** Redisplay changes:
913 788
914+++
915*** Preemptive redisplay now adapts to current load and bandwidth. 789*** Preemptive redisplay now adapts to current load and bandwidth.
916 790
917To avoid preempting redisplay on fast computers, networks, and displays, 791To avoid preempting redisplay on fast computers, networks, and displays,
@@ -919,20 +793,16 @@ the arrival of new input is now performed at regular intervals during
919redisplay. The new variable `redisplay-preemption-period' specifies 793redisplay. The new variable `redisplay-preemption-period' specifies
920the period; the default is to check for input every 0.1 seconds. 794the period; the default is to check for input every 0.1 seconds.
921 795
922+++
923*** The mode line position information now comes before the major mode. 796*** The mode line position information now comes before the major mode.
924When the file is maintained under version control, that information 797When the file is maintained under version control, that information
925appears between the position information and the major mode. 798appears between the position information and the major mode.
926 799
927+++
928*** New face `escape-glyph' highlights control characters and escape glyphs. 800*** New face `escape-glyph' highlights control characters and escape glyphs.
929 801
930+++
931*** Non-breaking space and hyphens are now displayed with a special 802*** Non-breaking space and hyphens are now displayed with a special
932face, either nobreak-space or escape-glyph. You can turn this off or 803face, either nobreak-space or escape-glyph. You can turn this off or
933specify a different mode by setting the variable `nobreak-char-display'. 804specify a different mode by setting the variable `nobreak-char-display'.
934 805
935+++
936*** The parameters of automatic hscrolling can now be customized. 806*** The parameters of automatic hscrolling can now be customized.
937The variable `hscroll-margin' determines how many columns away from 807The variable `hscroll-margin' determines how many columns away from
938the window edge point is allowed to get before automatic hscrolling 808the window edge point is allowed to get before automatic hscrolling
@@ -948,21 +818,17 @@ gives the fraction of the window's width to scroll the window.
948The variable `automatic-hscrolling' was renamed to 818The variable `automatic-hscrolling' was renamed to
949`auto-hscroll-mode'. The old name is still available as an alias. 819`auto-hscroll-mode'. The old name is still available as an alias.
950 820
951---
952*** Moving or scrolling through images (and other lines) taller than 821*** Moving or scrolling through images (and other lines) taller than
953the window now works sensibly, by automatically adjusting the window's 822the window now works sensibly, by automatically adjusting the window's
954vscroll property. 823vscroll property.
955 824
956+++
957*** New customize option `overline-margin' controls the space between 825*** New customize option `overline-margin' controls the space between
958overline and text. 826overline and text.
959 827
960+++
961*** New variable `x-underline-at-descent-line' controls the relative 828*** New variable `x-underline-at-descent-line' controls the relative
962position of the underline. When set, it overrides the 829position of the underline. When set, it overrides the
963`x-use-underline-position-properties' variables. 830`x-use-underline-position-properties' variables.
964 831
965+++
966*** The new face `mode-line-inactive' is used to display the mode line 832*** The new face `mode-line-inactive' is used to display the mode line
967of non-selected windows. The `mode-line' face is now used to display 833of non-selected windows. The `mode-line' face is now used to display
968the mode line of the currently selected window. 834the mode line of the currently selected window.
@@ -970,14 +836,12 @@ the mode line of the currently selected window.
970The new variable `mode-line-in-non-selected-windows' controls whether 836The new variable `mode-line-in-non-selected-windows' controls whether
971the `mode-line-inactive' face is used. 837the `mode-line-inactive' face is used.
972 838
973+++
974*** You can now customize the use of window fringes. To control this 839*** You can now customize the use of window fringes. To control this
975for all frames, use M-x fringe-mode or the Show/Hide submenu of the 840for all frames, use M-x fringe-mode or the Show/Hide submenu of the
976top-level Options menu, or customize the `fringe-mode' variable. To 841top-level Options menu, or customize the `fringe-mode' variable. To
977control this for a specific frame, use the command M-x 842control this for a specific frame, use the command M-x
978set-fringe-style. 843set-fringe-style.
979 844
980+++
981*** Angle icons in the fringes can indicate the buffer boundaries. In 845*** Angle icons in the fringes can indicate the buffer boundaries. In
982addition, up and down arrow bitmaps in the fringe indicate which ways 846addition, up and down arrow bitmaps in the fringe indicate which ways
983the window can be scrolled. 847the window can be scrolled.
@@ -997,7 +861,6 @@ in left fringe, the bottom angle bitmap in right fringe, and both
997arrow bitmaps in right fringe. To show just the angle bitmaps in the 861arrow bitmaps in right fringe. To show just the angle bitmaps in the
998left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). 862left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)).
999 863
1000+++
1001*** On window systems, lines which are exactly as wide as the window 864*** On window systems, lines which are exactly as wide as the window
1002(not counting the final newline character) are no longer broken into 865(not counting the final newline character) are no longer broken into
1003two lines on the display (with just the newline on the second line). 866two lines on the display (with just the newline on the second line).
@@ -1007,12 +870,10 @@ cursor will be displayed in the fringe when positioned on that newline.
1007The new user option 'overflow-newline-into-fringe' can be set to nil to 870The new user option 'overflow-newline-into-fringe' can be set to nil to
1008revert to the old behavior of continuing such lines. 871revert to the old behavior of continuing such lines.
1009 872
1010+++
1011*** When a window has display margin areas, the fringes are now 873*** When a window has display margin areas, the fringes are now
1012displayed between the margins and the buffer's text area, rather than 874displayed between the margins and the buffer's text area, rather than
1013outside those margins. 875outside those margins.
1014 876
1015+++
1016*** A window can now have individual fringe and scroll-bar settings, 877*** A window can now have individual fringe and scroll-bar settings,
1017in addition to the individual display margin settings. 878in addition to the individual display margin settings.
1018 879
@@ -1020,57 +881,46 @@ Such individual settings are now preserved when windows are split
1020horizontally or vertically, a saved window configuration is restored, 881horizontally or vertically, a saved window configuration is restored,
1021or when the frame is resized. 882or when the frame is resized.
1022 883
1023+++
1024*** The %c and %l constructs are now ignored in frame-title-format. 884*** The %c and %l constructs are now ignored in frame-title-format.
1025Due to technical limitations in how Emacs interacts with windowing 885Due to technical limitations in how Emacs interacts with windowing
1026systems, these constructs often failed to render properly, and could 886systems, these constructs often failed to render properly, and could
1027even cause Emacs to crash. 887even cause Emacs to crash.
1028 888
1029+++
1030*** If value of `auto-resize-tool-bars' is `grow-only', the tool bar 889*** If value of `auto-resize-tool-bars' is `grow-only', the tool bar
1031will expand as needed, but not contract automatically. To contract 890will expand as needed, but not contract automatically. To contract
1032the tool bar, you must type C-l. 891the tool bar, you must type C-l.
1033 892
1034** Cursor display changes: 893** Cursor display changes:
1035 894
1036+++
1037*** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is 895*** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is
1038now controlled by the variable `blink-cursor-alist'. 896now controlled by the variable `blink-cursor-alist'.
1039 897
1040+++
1041*** The X resource cursorBlink can be used to turn off cursor blinking. 898*** The X resource cursorBlink can be used to turn off cursor blinking.
1042 899
1043+++
1044*** Emacs can produce an underscore-like (horizontal bar) cursor. 900*** Emacs can produce an underscore-like (horizontal bar) cursor.
1045The underscore cursor is set by putting `(cursor-type . hbar)' in 901The underscore cursor is set by putting `(cursor-type . hbar)' in
1046default-frame-alist. It supports variable heights, like the `bar' 902default-frame-alist. It supports variable heights, like the `bar'
1047cursor does. 903cursor does.
1048 904
1049+++
1050*** Display of hollow cursors now obeys the buffer-local value (if any) 905*** Display of hollow cursors now obeys the buffer-local value (if any)
1051of `cursor-in-non-selected-windows' in the buffer that the cursor 906of `cursor-in-non-selected-windows' in the buffer that the cursor
1052appears in. 907appears in.
1053 908
1054+++
1055*** The variable `cursor-in-non-selected-windows' can now be set to any 909*** The variable `cursor-in-non-selected-windows' can now be set to any
1056of the recognized cursor types. 910of the recognized cursor types.
1057 911
1058+++
1059*** On text terminals, the variable `visible-cursor' controls whether Emacs 912*** On text terminals, the variable `visible-cursor' controls whether Emacs
1060uses the "very visible" cursor (the default) or the normal cursor. 913uses the "very visible" cursor (the default) or the normal cursor.
1061 914
1062** New faces: 915** New faces:
1063 916
1064+++
1065*** `mode-line-highlight' is the standard face indicating mouse sensitive 917*** `mode-line-highlight' is the standard face indicating mouse sensitive
1066elements on mode-line (and header-line) like `highlight' face on text 918elements on mode-line (and header-line) like `highlight' face on text
1067areas. 919areas.
1068 920
1069+++
1070*** `mode-line-buffer-id' is the standard face for buffer identification 921*** `mode-line-buffer-id' is the standard face for buffer identification
1071parts of the mode line. 922parts of the mode line.
1072 923
1073+++
1074*** `shadow' face defines the appearance of the "shadowed" text, i.e. 924*** `shadow' face defines the appearance of the "shadowed" text, i.e.
1075the text which should be less noticeable than the surrounding text. 925the text which should be less noticeable than the surrounding text.
1076This can be achieved by using shades of grey in contrast with either 926This can be achieved by using shades of grey in contrast with either
@@ -1078,29 +928,13 @@ black or white default foreground color. This generic shadow face
1078allows customization of the appearance of shadowed text in one place, 928allows customization of the appearance of shadowed text in one place,
1079so package-specific faces can inherit from it. 929so package-specific faces can inherit from it.
1080 930
1081+++
1082*** `vertical-border' face is used for the vertical divider between windows. 931*** `vertical-border' face is used for the vertical divider between windows.
1083 932
1084** ebnf2ps changes: 933** Font-Lock (syntax highlighting) changes:
1085
1086+++
1087*** New option `ebnf-arrow-extra-width' which specify extra width for arrow
1088shape drawing.
1089The extra width is used to avoid that the arrowhead and the terminal border
1090overlap. It depens on `ebnf-arrow-shape' and `ebnf-line-width'.
1091 934
1092+++
1093*** New option `ebnf-arrow-scale' which specify the arrow scale.
1094Values lower than 1.0, shrink the arrow.
1095Values greater than 1.0, expand the arrow.
1096
1097** Font-Lock changes:
1098
1099+++
1100*** M-o now is the prefix key for setting text properties; 935*** M-o now is the prefix key for setting text properties;
1101M-o M-o requests refontification. 936M-o M-o requests refontification.
1102 937
1103+++
1104*** All modes now support using M-x font-lock-mode to toggle 938*** All modes now support using M-x font-lock-mode to toggle
1105fontification, even those such as Occur, Info, and comint-derived 939fontification, even those such as Occur, Info, and comint-derived
1106modes that do their own fontification in a special way. 940modes that do their own fontification in a special way.
@@ -1109,7 +943,6 @@ The variable `Info-fontify' is no longer applicable; to disable
1109fontification in Info, remove `turn-on-font-lock' from 943fontification in Info, remove `turn-on-font-lock' from
1110`Info-mode-hook'. 944`Info-mode-hook'.
1111 945
1112+++
1113*** Font-Lock mode: in major modes such as Lisp mode, where some Emacs 946*** Font-Lock mode: in major modes such as Lisp mode, where some Emacs
1114features assume that an open-paren in column 0 is always outside of 947features assume that an open-paren in column 0 is always outside of
1115any string or comment, Font-Lock now highlights any such open-paren in 948any string or comment, Font-Lock now highlights any such open-paren in
@@ -1117,19 +950,15 @@ bold-red if it is inside a string or a comment, to indicate that it
1117can cause trouble. You should rewrite the string or comment so that 950can cause trouble. You should rewrite the string or comment so that
1118the open-paren is not in column 0. 951the open-paren is not in column 0.
1119 952
1120+++
1121*** New standard font-lock face `font-lock-preprocessor-face'. 953*** New standard font-lock face `font-lock-preprocessor-face'.
1122 954
1123+++
1124*** New standard font-lock face `font-lock-comment-delimiter-face'. 955*** New standard font-lock face `font-lock-comment-delimiter-face'.
1125 956
1126+++
1127*** Easy to overlook single character negation can now be font-locked. 957*** Easy to overlook single character negation can now be font-locked.
1128You can use the new variable `font-lock-negation-char-face' and the face of 958You can use the new variable `font-lock-negation-char-face' and the face of
1129the same name to customize this. Currently the cc-modes, sh-script-mode, 959the same name to customize this. Currently the cc-modes, sh-script-mode,
1130cperl-mode and make-mode support this. 960cperl-mode and make-mode support this.
1131 961
1132---
1133*** The default settings for JIT stealth lock parameters are changed. 962*** The default settings for JIT stealth lock parameters are changed.
1134The default value for the user option jit-lock-stealth-time is now nil 963The default value for the user option jit-lock-stealth-time is now nil
1135instead of 3. This setting of jit-lock-stealth-time disables stealth 964instead of 3. This setting of jit-lock-stealth-time disables stealth
@@ -1142,7 +971,6 @@ buffers in the background when it considers the system to be idle.
1142jit-lock-stealth-nice is now 0.5 instead of 0.125 which is supposed to 971jit-lock-stealth-nice is now 0.5 instead of 0.125 which is supposed to
1143cause less load than the old defaults. 972cause less load than the old defaults.
1144 973
1145---
1146*** jit-lock can now be delayed with `jit-lock-defer-time'. 974*** jit-lock can now be delayed with `jit-lock-defer-time'.
1147 975
1148If this variable is non-nil, its value should be the amount of Emacs 976If this variable is non-nil, its value should be the amount of Emacs
@@ -1150,31 +978,25 @@ idle time in seconds to wait before starting fontification. For
1150example, if you set `jit-lock-defer-time' to 0.25, fontification will 978example, if you set `jit-lock-defer-time' to 0.25, fontification will
1151only happen after 0.25s of idle time. 979only happen after 0.25s of idle time.
1152 980
1153---
1154*** contextual refontification is now separate from stealth fontification. 981*** contextual refontification is now separate from stealth fontification.
1155 982
1156jit-lock-defer-contextually is renamed jit-lock-contextually and 983jit-lock-defer-contextually is renamed jit-lock-contextually and
1157jit-lock-context-time determines the delay after which contextual 984jit-lock-context-time determines the delay after which contextual
1158refontification takes place. 985refontification takes place.
1159 986
1160---
1161*** lazy-lock is considered obsolete. 987*** lazy-lock is considered obsolete.
1162 988
1163The `lazy-lock' package is superseded by `jit-lock' and is considered 989The `lazy-lock' package is superseded by `jit-lock' and is considered
1164obsolete. `jit-lock' is activated by default; if you wish to continue 990obsolete. `jit-lock' is activated by default; if you wish to continue
1165using `lazy-lock', activate it in your ~/.emacs like this: 991using `lazy-lock', activate it in your ~/.emacs like this:
1166
1167 (setq font-lock-support-mode 'lazy-lock-mode) 992 (setq font-lock-support-mode 'lazy-lock-mode)
1168 993
1169If you invoke `lazy-lock-mode' directly rather than through 994If you invoke `lazy-lock-mode' directly rather than through
1170`font-lock-support-mode', it now issues a warning: 995`font-lock-support-mode', it now issues a warning:
1171
1172 "Use font-lock-support-mode rather than calling lazy-lock-mode" 996 "Use font-lock-support-mode rather than calling lazy-lock-mode"
1173 997
1174
1175** Menu support: 998** Menu support:
1176 999
1177---
1178*** A menu item "Show/Hide" was added to the top-level menu "Options". 1000*** A menu item "Show/Hide" was added to the top-level menu "Options".
1179This menu allows you to turn various display features on and off (such 1001This menu allows you to turn various display features on and off (such
1180as the fringes, the tool bar, the speedbar, and the menu bar itself). 1002as the fringes, the tool bar, the speedbar, and the menu bar itself).
@@ -1182,68 +1004,44 @@ You can also move the vertical scroll bar to either side here or turn
1182it off completely. There is also a menu-item to toggle displaying of 1004it off completely. There is also a menu-item to toggle displaying of
1183current date and time, current line and column number in the mode-line. 1005current date and time, current line and column number in the mode-line.
1184 1006
1185---
1186*** Speedbar has moved from the "Tools" top level menu to "Show/Hide". 1007*** Speedbar has moved from the "Tools" top level menu to "Show/Hide".
1187 1008
1188---
1189*** You can exit dialog windows and menus by typing C-g. 1009*** You can exit dialog windows and menus by typing C-g.
1190 1010
1191---
1192*** The menu item "Open File..." has been split into two items, "New File..." 1011*** The menu item "Open File..." has been split into two items, "New File..."
1193and "Open File...". "Open File..." now opens only existing files. This is 1012and "Open File...". "Open File..." now opens only existing files. This is
1194to support existing GUI file selection dialogs better. 1013to support existing GUI file selection dialogs better.
1195 1014
1196+++ 1015*** The file selection dialog for Gtk+, Mac, W32 and Motif/LessTif can be
1197*** The file selection dialog for Gtk+, Mac, W32 and Motif/Lesstif can be
1198disabled by customizing the variable `use-file-dialog'. 1016disabled by customizing the variable `use-file-dialog'.
1199 1017
1200---
1201*** The pop up menus for Lucid now stay up if you do a fast click and can 1018*** The pop up menus for Lucid now stay up if you do a fast click and can
1202be navigated with the arrow keys (like Gtk+, Mac and W32). 1019be navigated with the arrow keys (like Gtk+, Mac and W32).
1203 1020
1204+++ 1021*** The menu bar for Motif/LessTif/Lucid/Gtk+ can be navigated with keys.
1205*** The menu bar for Motif/Lesstif/Lucid/Gtk+ can be navigated with keys.
1206Pressing F10 shows the first menu in the menu bar. Navigation is done with 1022Pressing F10 shows the first menu in the menu bar. Navigation is done with
1207the arrow keys, select with the return key and cancel with the escape keys. 1023the arrow keys, select with the return key and cancel with the escape keys.
1208 1024
1209+++
1210*** The Lucid menus can display multilingual text in your locale. You have 1025*** The Lucid menus can display multilingual text in your locale. You have
1211to explicitly specify a fontSet resource for this to work, for example 1026to explicitly specify a fontSet resource for this to work, for example
1212`-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'. 1027`-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'.
1213 1028
1214--- 1029*** Dialogs for Lucid/Athena and LessTif/Motif now pop down on pressing
1215*** Dialogs for Lucid/Athena and Lesstif/Motif now pops down when pressing
1216ESC, like they do for Gtk+, Mac and W32. 1030ESC, like they do for Gtk+, Mac and W32.
1217 1031
1218+++
1219*** For the Gtk+ version, you can make Emacs use the old file dialog 1032*** For the Gtk+ version, you can make Emacs use the old file dialog
1220by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use 1033by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use
1221the new dialog. 1034the new dialog.
1222 1035
1223** Mouse changes: 1036** Mouse changes:
1224 1037
1225+++
1226*** If you set the new variable `mouse-autoselect-window' to a non-nil
1227value, windows are automatically selected as you move the mouse from
1228one Emacs window to another, even within a frame. A minibuffer window
1229can be selected only when it is active.
1230
1231+++
1232*** On X, when the window manager requires that you click on a frame to
1233select it (give it focus), the selected window and cursor position
1234normally changes according to the mouse click position. If you set
1235the variable x-mouse-click-focus-ignore-position to t, the selected
1236window and cursor position do not change when you click on a frame
1237to give it focus.
1238
1239+++
1240*** You can now follow links by clicking Mouse-1 on the link. 1038*** You can now follow links by clicking Mouse-1 on the link.
1241 1039
1242Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2 1040Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2
1243click to follow a link, whereas most other applications use a Mouse-1 1041click to follow a link, whereas most other applications use a Mouse-1
1244click for both purposes, depending on whether you click outside or 1042click for both purposes, depending on whether you click outside or
1245inside a link. Now the behavior of a Mouse-1 click has been changed 1043inside a link. Now the behavior of a Mouse-1 click has been changed
1246to match this context-sentitive dual behavior. (If you prefer the old 1044to match this context-sensitive dual behavior. (If you prefer the old
1247behavior, set the user option `mouse-1-click-follows-link' to nil.) 1045behavior, set the user option `mouse-1-click-follows-link' to nil.)
1248 1046
1249Depending on the current mode, a Mouse-2 click in Emacs can do much 1047Depending on the current mode, a Mouse-2 click in Emacs can do much
@@ -1267,23 +1065,31 @@ drag-mouse-1 action, typically copy the text.
1267You can customize the new Mouse-1 behavior via the new user options 1065You can customize the new Mouse-1 behavior via the new user options
1268`mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'. 1066`mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'.
1269 1067
1270+++ 1068*** If you set the new variable `mouse-autoselect-window' to a non-nil
1069value, windows are automatically selected as you move the mouse from
1070one Emacs window to another, even within a frame. A minibuffer window
1071can be selected only when it is active.
1072
1073*** On X, when the window manager requires that you click on a frame to
1074select it (give it focus), the selected window and cursor position
1075normally changes according to the mouse click position. If you set
1076the variable x-mouse-click-focus-ignore-position to t, the selected
1077window and cursor position do not change when you click on a frame
1078to give it focus.
1079
1271*** Emacs normally highlights mouse sensitive text whenever the mouse 1080*** Emacs normally highlights mouse sensitive text whenever the mouse
1272is over the text. By setting the new variable `mouse-highlight', you 1081is over the text. By setting the new variable `mouse-highlight', you
1273can optionally enable mouse highlighting only after you move the 1082can optionally enable mouse highlighting only after you move the
1274mouse, so that highlighting disappears when you press a key. You can 1083mouse, so that highlighting disappears when you press a key. You can
1275also disable mouse highlighting. 1084also disable mouse highlighting.
1276 1085
1277+++
1278*** You can now customize if selecting a region by dragging the mouse 1086*** You can now customize if selecting a region by dragging the mouse
1279shall not copy the selected text to the kill-ring by setting the new 1087shall not copy the selected text to the kill-ring by setting the new
1280variable mouse-drag-copy-region to nil. 1088variable mouse-drag-copy-region to nil.
1281 1089
1282---
1283*** mouse-wheels can now scroll a specific fraction of the window 1090*** mouse-wheels can now scroll a specific fraction of the window
1284(rather than a fixed number of lines) and the scrolling is `progressive'. 1091(rather than a fixed number of lines) and the scrolling is `progressive'.
1285 1092
1286---
1287*** Emacs ignores mouse-2 clicks while the mouse wheel is being moved. 1093*** Emacs ignores mouse-2 clicks while the mouse wheel is being moved.
1288 1094
1289People tend to push the mouse wheel (which counts as a mouse-2 click) 1095People tend to push the mouse wheel (which counts as a mouse-2 click)
@@ -1291,12 +1097,10 @@ unintentionally while turning the wheel, so these clicks are now
1291ignored. You can customize this with the mouse-wheel-click-event and 1097ignored. You can customize this with the mouse-wheel-click-event and
1292mouse-wheel-inhibit-click-time variables. 1098mouse-wheel-inhibit-click-time variables.
1293 1099
1294+++
1295*** Under X, mouse-wheel-mode is turned on by default. 1100*** Under X, mouse-wheel-mode is turned on by default.
1296 1101
1297** Multilingual Environment (Mule) changes: 1102** Multilingual Environment (Mule) changes:
1298 1103
1299+++
1300*** You can disable character translation for a file using the -*- 1104*** You can disable character translation for a file using the -*-
1301construct. Include `enable-character-translation: nil' inside the 1105construct. Include `enable-character-translation: nil' inside the
1302-*-...-*- to disable any character translation that may happen by 1106-*-...-*- to disable any character translation that may happen by
@@ -1309,14 +1113,12 @@ following header, it is decoded by the coding system `iso-latin-1'
1309without any character translation: 1113without any character translation:
1310;; -*- coding: iso-latin-1!; -*- 1114;; -*- coding: iso-latin-1!; -*-
1311 1115
1312---
1313*** Language environment and various default coding systems are setup 1116*** Language environment and various default coding systems are setup
1314more correctly according to the current locale name. If the locale 1117more correctly according to the current locale name. If the locale
1315name doesn't specify a charset, the default is what glibc defines. 1118name doesn't specify a charset, the default is what glibc defines.
1316This change can result in using the different coding systems as 1119This change can result in using the different coding systems as
1317default in some locale (e.g. vi_VN). 1120default in some locale (e.g. vi_VN).
1318 1121
1319+++
1320*** The keyboard-coding-system is now automatically set based on your 1122*** The keyboard-coding-system is now automatically set based on your
1321current locale settings if you are not using a window system. This 1123current locale settings if you are not using a window system. This
1322can mean that the META key doesn't work but generates non-ASCII 1124can mean that the META key doesn't work but generates non-ASCII
@@ -1326,33 +1128,26 @@ keyboard-coding-system) if you prefer META to work (the old default)
1326or if the locale doesn't describe the character set actually generated 1128or if the locale doesn't describe the character set actually generated
1327by the keyboard. See Info node `Unibyte Mode'. 1129by the keyboard. See Info node `Unibyte Mode'.
1328 1130
1329+++
1330*** The new command `revert-buffer-with-coding-system' (C-x RET r) 1131*** The new command `revert-buffer-with-coding-system' (C-x RET r)
1331revisits the current file using a coding system that you specify. 1132revisits the current file using a coding system that you specify.
1332 1133
1333+++
1334*** New command `recode-region' decodes the region again by a specified 1134*** New command `recode-region' decodes the region again by a specified
1335coding system. 1135coding system.
1336 1136
1337+++
1338*** The new command `recode-file-name' changes the encoding of the name 1137*** The new command `recode-file-name' changes the encoding of the name
1339of a file. 1138of a file.
1340 1139
1341---
1342*** New command `ucs-insert' inserts a character specified by its 1140*** New command `ucs-insert' inserts a character specified by its
1343unicode. 1141unicode.
1344 1142
1345+++
1346*** The new command `set-file-name-coding-system' (C-x RET F) sets 1143*** The new command `set-file-name-coding-system' (C-x RET F) sets
1347coding system for encoding and decoding file names. A new menu item 1144coding system for encoding and decoding file names. A new menu item
1348(Options->Mule->Set Coding Systems->For File Name) invokes this 1145(Options->Mule->Set Coding Systems->For File Name) invokes this
1349command. 1146command.
1350 1147
1351+++
1352*** New command quail-show-key shows what key (or key sequence) to type 1148*** New command quail-show-key shows what key (or key sequence) to type
1353in the current input method to input a character at point. 1149in the current input method to input a character at point.
1354 1150
1355+++
1356*** Limited support for character `unification' has been added. 1151*** Limited support for character `unification' has been added.
1357Emacs now knows how to translate between different representations of 1152Emacs now knows how to translate between different representations of
1358the same characters in various Emacs charsets according to standard 1153the same characters in various Emacs charsets according to standard
@@ -1372,32 +1167,24 @@ into Unicode characters (from the latin-iso8859-1 and
1372mule-unicode-0100-24ff charsets) on decoding. Note that this mode 1167mule-unicode-0100-24ff charsets) on decoding. Note that this mode
1373will often effectively clobber data with an iso-2022 encoding. 1168will often effectively clobber data with an iso-2022 encoding.
1374 1169
1375--- 1170*** New language environments (set up automatically according to the
1376*** There is support for decoding Greek and Cyrillic characters into 1171locale): Belarusian, Bulgarian, Chinese-EUC-TW, Croatian, Esperanto,
1377either Unicode (the mule-unicode charsets) or the iso-8859 charsets, 1172French, Georgian, Italian, Latin-7, Latvian, Lithuanian, Malayalam,
1378when possible. The latter are more space-efficient. This is 1173Russian, Russian, Slovenian, Swedish, Tajik, Tamil, UTF-8,Ukrainian,
1379controlled by user option utf-fragment-on-decoding. 1174Welsh,Latin-6, Windows-1255.
1380
1381---
1382*** New language environments: French, Ukrainian, Tajik,
1383Bulgarian, Belarusian, Ukrainian, UTF-8, Windows-1255, Welsh, Latin-6,
1384Latin-7, Lithuanian, Latvian, Swedish, Slovenian, Croatian, Georgian,
1385Italian, Russian, Malayalam, Tamil, Russian, Chinese-EUC-TW,
1386Esperanto. (Set up automatically according to the locale.)
1387 1175
1388---
1389*** New input methods: latin-alt-postfix, latin-postfix, latin-prefix, 1176*** New input methods: latin-alt-postfix, latin-postfix, latin-prefix,
1390ukrainian-computer, belarusian, bulgarian-bds, russian-computer, 1177belarusian, bulgarian-bds, bulgarian-phonetic, chinese-sisheng (for
1391vietnamese-telex, lithuanian-numeric, lithuanian-keyboard, 1178Chinese Pinyin characters), croatian, dutch, georgian, latvian-keyboard,
1392latvian-keyboard, welsh, georgian, rfc1345, ucs, sgml, 1179lithuanian-numeric, lithuanian-keyboard, malayalam-inscript, rfc1345,
1393bulgarian-phonetic, dutch, slovenian, croatian, malayalam-inscript, 1180russian-computer, sgml, slovenian, tamil-inscript, ukrainian-computer,
1394tamil-inscript. 1181ucs, vietnamese-telex, welsh.
1395 1182
1396--- 1183*** There is support for decoding Greek and Cyrillic characters into
1397*** New input method chinese-sisheng for inputting Chinese Pinyin 1184either Unicode (the mule-unicode charsets) or the iso-8859 charsets,
1398characters. 1185when possible. The latter are more space-efficient.
1186 This is controlled by user option utf-fragment-on-decoding.
1399 1187
1400---
1401*** Improved Thai support. A new minor mode `thai-word-mode' (which is 1188*** Improved Thai support. A new minor mode `thai-word-mode' (which is
1402automatically activated if you select Thai as a language 1189automatically activated if you select Thai as a language
1403environment) changes key bindings of most word-oriented commands to 1190environment) changes key bindings of most word-oriented commands to
@@ -1409,17 +1196,11 @@ versions which recognize Thai words. Affected commands are
1409 M-t (transpose-words) 1196 M-t (transpose-words)
1410 M-q (fill-paragraph) 1197 M-q (fill-paragraph)
1411 1198
1412---
1413*** Indian support has been updated. 1199*** Indian support has been updated.
1414The in-is13194 coding system is now Unicode-based. CDAC fonts are 1200The in-is13194 coding system is now Unicode-based. CDAC fonts are
1415assumed. There is a framework for supporting various 1201assumed. There is a framework for supporting various Indian scripts,
1416Indian scripts, but currently only Devanagari, Malayalam and Tamil are 1202but currently only Devanagari, Malayalam and Tamil are supported.
1417supported.
1418
1419---
1420*** A UTF-7 coding system is available in the library `utf-7'.
1421 1203
1422---
1423*** The utf-8/16 coding systems have been enhanced. 1204*** The utf-8/16 coding systems have been enhanced.
1424By default, untranslatable utf-8 sequences are simply composed into 1205By default, untranslatable utf-8 sequences are simply composed into
1425single quasi-characters. User option `utf-translate-cjk-mode' (it is 1206single quasi-characters. User option `utf-translate-cjk-mode' (it is
@@ -1433,42 +1214,37 @@ coding system now also encodes characters from most of Emacs's
1433one-dimensional internal charsets, specifically the ISO-8859 ones. 1214one-dimensional internal charsets, specifically the ISO-8859 ones.
1434The utf-16 coding system is affected similarly. 1215The utf-16 coding system is affected similarly.
1435 1216
1436--- 1217*** A UTF-7 coding system is available in the library `utf-7'.
1218
1437*** A new coding system `euc-tw' has been added for traditional Chinese 1219*** A new coding system `euc-tw' has been added for traditional Chinese
1438in CNS encoding; it accepts both Big 5 and CNS as input; on saving, 1220in CNS encoding; it accepts both Big 5 and CNS as input; on saving,
1439Big 5 is then converted to CNS. 1221Big 5 is then converted to CNS.
1440 1222
1441---
1442*** Many new coding systems are available in the `code-pages' library. 1223*** Many new coding systems are available in the `code-pages' library.
1443These include complete versions of most of those in codepage.el, based 1224These include complete versions of most of those in codepage.el, based
1444on Unicode mappings. `codepage-setup' is now obsolete and is used 1225on Unicode mappings. `codepage-setup' is now obsolete and is used
1445only in the MS-DOS port of Emacs. All coding systems defined in 1226only in the MS-DOS port of Emacs. All coding systems defined in
1446`code-pages' are auto-loaded. 1227`code-pages' are auto-loaded.
1447 1228
1448---
1449*** New variable `utf-translate-cjk-unicode-range' controls which 1229*** New variable `utf-translate-cjk-unicode-range' controls which
1450Unicode characters to translate in `utf-translate-cjk-mode'. 1230Unicode characters to translate in `utf-translate-cjk-mode'.
1451 1231
1452---
1453*** iso-10646-1 (`Unicode') fonts can be used to display any range of 1232*** iso-10646-1 (`Unicode') fonts can be used to display any range of
1454characters encodable by the utf-8 coding system. Just specify the 1233characters encodable by the utf-8 coding system. Just specify the
1455fontset appropriately. 1234fontset appropriately.
1456 1235
1457** Customize changes: 1236** Customize changes:
1458 1237
1459+++
1460*** Custom themes are collections of customize options. Create a 1238*** Custom themes are collections of customize options. Create a
1461custom theme with M-x customize-create-theme. Use M-x load-theme to 1239custom theme with M-x customize-create-theme. Use M-x load-theme to
1462load and enable a theme, and M-x disable-theme to disable it. Use M-x 1240load and enable a theme, and M-x disable-theme to disable it. Use M-x
1463enable-theme to enable a disabled theme. 1241enable-theme to enable a disabled theme.
1464 1242
1465+++
1466*** The commands M-x customize-face and M-x customize-face-other-window 1243*** The commands M-x customize-face and M-x customize-face-other-window
1467now look at the character after point. If a face or faces are 1244now look at the character after point. If a face or faces are
1468specified for that character, the commands by default customize those 1245specified for that character, the commands by default customize those
1469faces. 1246faces.
1470 1247
1471---
1472*** The face-customization widget has been reworked to be less confusing. 1248*** The face-customization widget has been reworked to be less confusing.
1473In particular, when you enable a face attribute using the corresponding 1249In particular, when you enable a face attribute using the corresponding
1474check-box, there's no longer a redundant `*' option in value selection 1250check-box, there's no longer a redundant `*' option in value selection
@@ -1477,7 +1253,6 @@ sense for the attribute. When an attribute is de-selected by unchecking
1477its check-box, then the (now ignored, but still present temporarily in 1253its check-box, then the (now ignored, but still present temporarily in
1478case you re-select the attribute) value is hidden. 1254case you re-select the attribute) value is hidden.
1479 1255
1480+++
1481*** When you set or reset a variable's value in a Customize buffer, 1256*** When you set or reset a variable's value in a Customize buffer,
1482the previous value becomes the "backup value" of the variable. 1257the previous value becomes the "backup value" of the variable.
1483You can go back to that backup value by selecting "Use Backup Value" 1258You can go back to that backup value by selecting "Use Backup Value"
@@ -1485,17 +1260,14 @@ under the "[State]" button.
1485 1260
1486** Buffer Menu changes: 1261** Buffer Menu changes:
1487 1262
1488+++
1489*** New command `Buffer-menu-toggle-files-only' toggles display of file 1263*** New command `Buffer-menu-toggle-files-only' toggles display of file
1490buffers only in the Buffer Menu. It is bound to T in Buffer Menu 1264buffers only in the Buffer Menu. It is bound to T in Buffer Menu
1491mode. 1265mode.
1492 1266
1493+++
1494*** `buffer-menu' and `list-buffers' now list buffers whose names begin 1267*** `buffer-menu' and `list-buffers' now list buffers whose names begin
1495with a space, when those buffers are visiting files. Normally buffers 1268with a space, when those buffers are visiting files. Normally buffers
1496whose names begin with space are omitted. 1269whose names begin with space are omitted.
1497 1270
1498---
1499*** The new options `buffers-menu-show-directories' and 1271*** The new options `buffers-menu-show-directories' and
1500`buffers-menu-show-status' let you control how buffers are displayed 1272`buffers-menu-show-status' let you control how buffers are displayed
1501in the menu dropped down when you click "Buffers" from the menu bar. 1273in the menu dropped down when you click "Buffers" from the menu bar.
@@ -1515,24 +1287,19 @@ the Buffers menu is regenerated.
1515 1287
1516** Dired mode: 1288** Dired mode:
1517 1289
1518---
1519*** New faces dired-header, dired-mark, dired-marked, dired-flagged, 1290*** New faces dired-header, dired-mark, dired-marked, dired-flagged,
1520dired-ignored, dired-directory, dired-symlink, dired-warning 1291dired-ignored, dired-directory, dired-symlink, dired-warning
1521introduced for Dired mode instead of font-lock faces. 1292introduced for Dired mode instead of font-lock faces.
1522 1293
1523+++
1524*** New Dired command `dired-compare-directories' marks files 1294*** New Dired command `dired-compare-directories' marks files
1525with different file attributes in two dired buffers. 1295with different file attributes in two dired buffers.
1526 1296
1527+++
1528*** New Dired command `dired-do-touch' (bound to T) changes timestamps 1297*** New Dired command `dired-do-touch' (bound to T) changes timestamps
1529of marked files with the value entered in the minibuffer. 1298of marked files with the value entered in the minibuffer.
1530 1299
1531+++
1532*** The Dired command `dired-goto-file' is now bound to j, not M-g. 1300*** The Dired command `dired-goto-file' is now bound to j, not M-g.
1533This is to avoid hiding the global key binding of M-g. 1301This is to avoid hiding the global key binding of M-g.
1534 1302
1535+++
1536*** In Dired's ! command (dired-do-shell-command), `*' and `?' now 1303*** In Dired's ! command (dired-do-shell-command), `*' and `?' now
1537control substitution of the file names only when they are surrounded 1304control substitution of the file names only when they are surrounded
1538by whitespace. This means you can now use them as shell wildcards 1305by whitespace. This means you can now use them as shell wildcards
@@ -1540,11 +1307,9 @@ too. If you want to use just plain `*' as a wildcard, type `*""'; the
1540double quotes make no difference in the shell, but they prevent 1307double quotes make no difference in the shell, but they prevent
1541special treatment in `dired-do-shell-command'. 1308special treatment in `dired-do-shell-command'.
1542 1309
1543+++
1544*** In Dired, the w command now stores the current line's file name 1310*** In Dired, the w command now stores the current line's file name
1545into the kill ring. With a zero prefix arg, it stores the absolute file name. 1311into the kill ring. With a zero prefix arg, it stores the absolute file name.
1546 1312
1547+++
1548*** In Dired-x, Omitting files is now a minor mode, dired-omit-mode. 1313*** In Dired-x, Omitting files is now a minor mode, dired-omit-mode.
1549 1314
1550The mode toggling command is bound to M-o. A new command 1315The mode toggling command is bound to M-o. A new command
@@ -1552,7 +1317,6 @@ dired-mark-omitted, bound to * O, marks omitted files. The variable
1552dired-omit-files-p is obsoleted, use the mode toggling function 1317dired-omit-files-p is obsoleted, use the mode toggling function
1553instead. 1318instead.
1554 1319
1555+++
1556*** The variables dired-free-space-program and dired-free-space-args 1320*** The variables dired-free-space-program and dired-free-space-args
1557have been renamed to directory-free-space-program and 1321have been renamed to directory-free-space-program and
1558directory-free-space-args, and they now apply whenever Emacs puts a 1322directory-free-space-args, and they now apply whenever Emacs puts a
@@ -1560,7 +1324,6 @@ directory listing into a buffer.
1560 1324
1561** Comint changes: 1325** Comint changes:
1562 1326
1563---
1564*** The comint prompt can now be made read-only, using the new user 1327*** The comint prompt can now be made read-only, using the new user
1565option `comint-prompt-read-only'. This is not enabled by default, 1328option `comint-prompt-read-only'. This is not enabled by default,
1566except in IELM buffers. The read-only status of IELM prompts can be 1329except in IELM buffers. The read-only status of IELM prompts can be
@@ -1582,27 +1345,23 @@ not the case, then `comint-kill-region' behaves just like
1582`kill-region' if read-only properties are involved: it copies the text 1345`kill-region' if read-only properties are involved: it copies the text
1583to the kill-ring, but does not delete it. 1346to the kill-ring, but does not delete it.
1584 1347
1585+++
1586*** The new command `comint-insert-previous-argument' in comint-derived 1348*** The new command `comint-insert-previous-argument' in comint-derived
1587modes (shell-mode, etc.) inserts arguments from previous command lines, 1349modes (shell-mode, etc.) inserts arguments from previous command lines,
1588like bash's `ESC .' binding. It is bound by default to `C-c .', but 1350like bash's `ESC .' binding. It is bound by default to `C-c .', but
1589otherwise behaves quite similarly to the bash version. 1351otherwise behaves quite similarly to the bash version.
1590 1352
1591+++
1592*** `comint-use-prompt-regexp-instead-of-fields' has been renamed 1353*** `comint-use-prompt-regexp-instead-of-fields' has been renamed
1593`comint-use-prompt-regexp'. The old name has been kept as an alias, 1354`comint-use-prompt-regexp'. The old name has been kept as an alias,
1594but declared obsolete. 1355but declared obsolete.
1595 1356
1596+++ 1357*** The new INSIDE_EMACS environment variable is set to "t" in subshells
1597*** The new INSIDE_EMACS environment variable is set to "t" in 1358running inside Emacs. This supersedes the EMACS environment variable,
1598subshells running inside Emacs. This supersedes the EMACS environment 1359which will be removed in a future Emacs release. Programs that need
1599variable, which will be removed in a future Emacs release. Programs 1360to know whether they are started inside Emacs should check INSIDE_EMACS
1600that need to know whether they are started inside Emacs should check 1361instead of EMACS.
1601INSIDE_EMACS instead of EMACS.
1602 1362
1603** M-x Compile changes: 1363** M-x Compile changes:
1604 1364
1605---
1606*** M-x compile has become more robust and reliable 1365*** M-x compile has become more robust and reliable
1607 1366
1608Quite a few more kinds of messages are recognized. Messages that are 1367Quite a few more kinds of messages are recognized. Messages that are
@@ -1622,22 +1381,18 @@ that configure outputs and -o options so you see at a glance where you are.
1622 1381
1623The new file etc/compilation.txt gives examples of each type of message. 1382The new file etc/compilation.txt gives examples of each type of message.
1624 1383
1625+++
1626*** New user option `compilation-environment'. 1384*** New user option `compilation-environment'.
1627This option allows you to specify environment variables for inferior 1385This option allows you to specify environment variables for inferior
1628compilation processes without affecting the environment that all 1386compilation processes without affecting the environment that all
1629subprocesses inherit. 1387subprocesses inherit.
1630 1388
1631+++
1632*** New user option `compilation-disable-input'. 1389*** New user option `compilation-disable-input'.
1633If this is non-nil, send end-of-file as compilation process input. 1390If this is non-nil, send end-of-file as compilation process input.
1634 1391
1635+++
1636*** New options `next-error-highlight' and `next-error-highlight-no-select' 1392*** New options `next-error-highlight' and `next-error-highlight-no-select'
1637specify the method of highlighting of the corresponding source line 1393specify the method of highlighting of the corresponding source line
1638in new face `next-error'. 1394in new face `next-error'.
1639 1395
1640+++
1641*** A new minor mode `next-error-follow-minor-mode' can be used in 1396*** A new minor mode `next-error-follow-minor-mode' can be used in
1642compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the 1397compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the
1643modes that can use `next-error'). In this mode, cursor motion in the 1398modes that can use `next-error'). In this mode, cursor motion in the
@@ -1645,33 +1400,24 @@ buffer causes automatic display in another window of the corresponding
1645matches, compilation errors, etc. This minor mode can be toggled with 1400matches, compilation errors, etc. This minor mode can be toggled with
1646C-c C-f. 1401C-c C-f.
1647 1402
1648+++
1649*** When the left fringe is displayed, an arrow points to current message in 1403*** When the left fringe is displayed, an arrow points to current message in
1650the compilation buffer. 1404the compilation buffer.
1651 1405
1652+++
1653*** The new variable `compilation-context-lines' controls lines of leading 1406*** The new variable `compilation-context-lines' controls lines of leading
1654context before the current message. If nil and the left fringe is displayed, 1407context before the current message. If nil and the left fringe is displayed,
1655it doesn't scroll the compilation output window. If there is no left fringe, 1408it doesn't scroll the compilation output window. If there is no left fringe,
1656no arrow is displayed and a value of nil means display the message at the top 1409no arrow is displayed and a value of nil means display the message at the top
1657of the window. 1410of the window.
1658 1411
1659+++
1660*** The EMACS environment variable now defaults to Emacs's absolute
1661file name, instead of to "t".
1662
1663** Occur mode changes: 1412** Occur mode changes:
1664 1413
1665+++
1666*** In the *Occur* buffer, `o' switches to it in another window, and 1414*** In the *Occur* buffer, `o' switches to it in another window, and
1667C-o displays the current line's occurrence in another window without 1415C-o displays the current line's occurrence in another window without
1668switching to it. 1416switching to it.
1669 1417
1670+++
1671*** You can now use next-error (C-x `) and previous-error to advance to 1418*** You can now use next-error (C-x `) and previous-error to advance to
1672the next/previous matching line found by M-x occur. 1419the next/previous matching line found by M-x occur.
1673 1420
1674+++
1675*** The new command `multi-occur' is just like `occur', except it can 1421*** The new command `multi-occur' is just like `occur', except it can
1676search multiple buffers. There is also a new command 1422search multiple buffers. There is also a new command
1677`multi-occur-in-matching-buffers' which allows you to specify the 1423`multi-occur-in-matching-buffers' which allows you to specify the
@@ -1681,21 +1427,18 @@ changes.
1681 1427
1682** Grep changes: 1428** Grep changes:
1683 1429
1684+++
1685*** Grep has been decoupled from compilation mode setup. 1430*** Grep has been decoupled from compilation mode setup.
1686 1431
1687There's a new separate package grep.el, with its own submenu and 1432There's a new separate package grep.el, with its own submenu and
1688customization group. 1433customization group.
1689 1434
1690+++
1691*** `grep-find' is now also available under the name `find-grep' where 1435*** `grep-find' is now also available under the name `find-grep' where
1692people knowing `find-grep-dired' would probably expect it. 1436people knowing `find-grep-dired' would probably expect it.
1693 1437
1694+++
1695*** New commands `lgrep' (local grep) and `rgrep' (recursive grep) are 1438*** New commands `lgrep' (local grep) and `rgrep' (recursive grep) are
1696more user-friendly versions of `grep' and `grep-find', which prompt 1439more user-friendly versions of `grep' and `grep-find', which prompt
1697separately for the regular expression to match, the files to search, 1440separately for the regular expression to match, the files to search,
1698and the base directory for the search. Case sensitivitivy of the 1441and the base directory for the search. Case sensitivity of the
1699search is controlled by the current value of `case-fold-search'. 1442search is controlled by the current value of `case-fold-search'.
1700 1443
1701These commands build the shell commands based on the new variables 1444These commands build the shell commands based on the new variables
@@ -1707,17 +1450,14 @@ Subdirectories listed in `grep-find-ignored-directories' such as those
1707typically used by various version control systems, like CVS and arch, 1450typically used by various version control systems, like CVS and arch,
1708are automatically skipped by `rgrep'. 1451are automatically skipped by `rgrep'.
1709 1452
1710---
1711*** The grep commands provide highlighting support. 1453*** The grep commands provide highlighting support.
1712 1454
1713Hits are fontified in green, and hits in binary files in orange. Grep buffers 1455Hits are fontified in green, and hits in binary files in orange. Grep buffers
1714can be saved and automatically revisited. 1456can be saved and automatically revisited.
1715 1457
1716---
1717*** The new variables `grep-window-height' and `grep-scroll-output' override 1458*** The new variables `grep-window-height' and `grep-scroll-output' override
1718the corresponding compilation mode settings, for grep commands only. 1459the corresponding compilation mode settings, for grep commands only.
1719 1460
1720+++
1721*** New option `grep-highlight-matches' highlights matches in *grep* 1461*** New option `grep-highlight-matches' highlights matches in *grep*
1722buffer. It uses a special feature of some grep programs which accept 1462buffer. It uses a special feature of some grep programs which accept
1723--color option to output markers around matches. When going to the next 1463--color option to output markers around matches. When going to the next
@@ -1725,7 +1465,6 @@ match with `next-error' the exact match is highlighted in the source
1725buffer. Otherwise, if `grep-highlight-matches' is nil, the whole 1465buffer. Otherwise, if `grep-highlight-matches' is nil, the whole
1726source line is highlighted. 1466source line is highlighted.
1727 1467
1728+++
1729*** New key bindings in grep output window: 1468*** New key bindings in grep output window:
1730SPC and DEL scrolls window up and down. C-n and C-p moves to next and 1469SPC and DEL scrolls window up and down. C-n and C-p moves to next and
1731previous match in the grep window. RET jumps to the source line of 1470previous match in the grep window. RET jumps to the source line of
@@ -1734,7 +1473,6 @@ other window, but does not switch buffer. `{' and `}' jumps to the
1734previous or next file in the grep output. TAB also jumps to the next 1473previous or next file in the grep output. TAB also jumps to the next
1735file. 1474file.
1736 1475
1737+++
1738*** M-x grep now tries to avoid appending `/dev/null' to the command line 1476*** M-x grep now tries to avoid appending `/dev/null' to the command line
1739by using GNU grep `-H' option instead. M-x grep automatically 1477by using GNU grep `-H' option instead. M-x grep automatically
1740detects whether this is possible or not the first time it is invoked. 1478detects whether this is possible or not the first time it is invoked.
@@ -1744,12 +1482,10 @@ command lines to be used than was possible before.
1744 1482
1745** X Windows Support: 1483** X Windows Support:
1746 1484
1747+++
1748*** Emacs now supports drag and drop for X. Dropping a file on a window 1485*** Emacs now supports drag and drop for X. Dropping a file on a window
1749 opens it, dropping text inserts the text. Dropping a file on a dired 1486 opens it, dropping text inserts the text. Dropping a file on a dired
1750 buffer copies or moves the file to that directory. 1487 buffer copies or moves the file to that directory.
1751 1488
1752+++
1753*** Under X11, it is possible to swap Alt and Meta (and Super and Hyper). 1489*** Under X11, it is possible to swap Alt and Meta (and Super and Hyper).
1754The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym', 1490The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym',
1755and `x-super-keysym' can be used to choose which keysyms Emacs should 1491and `x-super-keysym' can be used to choose which keysyms Emacs should
@@ -1758,31 +1494,26 @@ Meta and Alt:
1758 (setq x-alt-keysym 'meta) 1494 (setq x-alt-keysym 'meta)
1759 (setq x-meta-keysym 'alt) 1495 (setq x-meta-keysym 'alt)
1760 1496
1761+++
1762*** The X resource useXIM can be used to turn off use of XIM, which can 1497*** The X resource useXIM can be used to turn off use of XIM, which can
1763speed up Emacs with slow networking to the X server. 1498speed up Emacs with slow networking to the X server.
1764 1499
1765If the configure option `--without-xim' was used to turn off use of 1500If the configure option `--without-xim' was used to turn off use of
1766XIM by default, the X resource useXIM can be used to turn it on. 1501XIM by default, the X resource useXIM can be used to turn it on.
1767 1502
1768---
1769*** The new variable `x-select-request-type' controls how Emacs 1503*** The new variable `x-select-request-type' controls how Emacs
1770requests X selection. The default value is nil, which means that 1504requests X selection. The default value is nil, which means that
1771Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING, 1505Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING,
1772and use the more appropriately result. 1506and use the more appropriately result.
1773 1507
1774---
1775*** The scrollbar under LessTif or Motif has a smoother drag-scrolling. 1508*** The scrollbar under LessTif or Motif has a smoother drag-scrolling.
1776On the other hand, the size of the thumb does not represent the actual 1509On the other hand, the size of the thumb does not represent the actual
1777amount of text shown any more (only a crude approximation of it). 1510amount of text shown any more (only a crude approximation of it).
1778 1511
1779** Xterm support: 1512** Xterm support:
1780 1513
1781---
1782*** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks 1514*** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks
1783on the mode line, header line and display margin, when run in an xterm. 1515on the mode line, header line and display margin, when run in an xterm.
1784 1516
1785---
1786*** Improved key bindings support when running in an xterm. 1517*** Improved key bindings support when running in an xterm.
1787When Emacs is running in an xterm more key bindings are available. 1518When Emacs is running in an xterm more key bindings are available.
1788The following should work: 1519The following should work:
@@ -1795,7 +1526,6 @@ resource is set are also supported.
1795 1526
1796** Character terminal color support changes: 1527** Character terminal color support changes:
1797 1528
1798+++
1799*** The new command-line option --color=MODE lets you specify a standard 1529*** The new command-line option --color=MODE lets you specify a standard
1800mode for a tty color support. It is meant to be used on character 1530mode for a tty color support. It is meant to be used on character
1801terminals whose capabilities are not set correctly in the terminal 1531terminals whose capabilities are not set correctly in the terminal
@@ -1806,26 +1536,33 @@ when invoked with "ls --color", so if your terminal can support colors
1806in "ls --color", it will support "emacs --color" as well. See the 1536in "ls --color", it will support "emacs --color" as well. See the
1807user manual for the possible values of the MODE parameter. 1537user manual for the possible values of the MODE parameter.
1808 1538
1809---
1810*** Emacs now supports several character terminals which provide more 1539*** Emacs now supports several character terminals which provide more
1811than 8 colors. For example, for `xterm', 16-color, 88-color, and 1540than 8 colors. For example, for `xterm', 16-color, 88-color, and
1812256-color modes are supported. Emacs automatically notes at startup 1541256-color modes are supported. Emacs automatically notes at startup
1813the extended number of colors, and defines the appropriate entries for 1542the extended number of colors, and defines the appropriate entries for
1814all of these colors. 1543all of these colors.
1815 1544
1816+++
1817*** Emacs now uses the full range of available colors for the default 1545*** Emacs now uses the full range of available colors for the default
1818faces when running on a color terminal, including 16-, 88-, and 1546faces when running on a color terminal, including 16-, 88-, and
1819256-color xterms. This means that when you run "emacs -nw" on an 1547256-color xterms. This means that when you run "emacs -nw" on an
182088-color or 256-color xterm, you will see essentially the same face 154888-color or 256-color xterm, you will see essentially the same face
1821colors as on X. 1549colors as on X.
1822 1550
1823---
1824*** There's a new support for colors on `rxvt' terminal emulator. 1551*** There's a new support for colors on `rxvt' terminal emulator.
1552
1553** ebnf2ps changes:
1554
1555*** New option `ebnf-arrow-extra-width' which specify extra width for arrow
1556shape drawing.
1557The extra width is used to avoid that the arrowhead and the terminal border
1558overlap. It depends on `ebnf-arrow-shape' and `ebnf-line-width'.
1559
1560*** New option `ebnf-arrow-scale' which specify the arrow scale.
1561Values lower than 1.0, shrink the arrow.
1562Values greater than 1.0, expand the arrow.
1825 1563
1826* New Modes and Packages in Emacs 22.1 1564* New Modes and Packages in Emacs 22.1
1827 1565
1828---
1829** ERC is now part of the Emacs distribution. 1566** ERC is now part of the Emacs distribution.
1830 1567
1831ERC is a powerful, modular, and extensible IRC client for Emacs. 1568ERC is a powerful, modular, and extensible IRC client for Emacs.
@@ -1836,7 +1573,6 @@ M-x customize-option erc-modules RET.
1836To start an IRC session with ERC, type M-x erc, and follow the prompts 1573To start an IRC session with ERC, type M-x erc, and follow the prompts
1837for server, port, and nick. 1574for server, port, and nick.
1838 1575
1839---
1840** Rcirc is now part of the Emacs distribution. 1576** Rcirc is now part of the Emacs distribution.
1841 1577
1842Rcirc is an Internet relay chat (IRC) client. It supports 1578Rcirc is an Internet relay chat (IRC) client. It supports
@@ -1850,7 +1586,6 @@ To start an IRC session using the default parameters, type M-x irc.
1850If you type C-u M-x irc, it prompts you for the server, nick, port and 1586If you type C-u M-x irc, it prompts you for the server, nick, port and
1851startup channel parameters before connecting. 1587startup channel parameters before connecting.
1852 1588
1853---
1854** Newsticker is now part of the Emacs distribution. 1589** Newsticker is now part of the Emacs distribution.
1855 1590
1856Newsticker asynchronously retrieves headlines (RSS) from a list of news 1591Newsticker asynchronously retrieves headlines (RSS) from a list of news
@@ -1858,11 +1593,9 @@ sites, prepares these headlines for reading, and allows for loading the
1858corresponding articles in a web browser. Its documentation is in a 1593corresponding articles in a web browser. Its documentation is in a
1859separate manual. 1594separate manual.
1860 1595
1861+++
1862** savehist saves minibuffer histories between sessions. 1596** savehist saves minibuffer histories between sessions.
1863To use this feature, turn on savehist-mode in your `.emacs' file. 1597To use this feature, turn on savehist-mode in your `.emacs' file.
1864 1598
1865+++
1866** Filesets are collections of files. You can define a fileset in 1599** Filesets are collections of files. You can define a fileset in
1867various ways, such as based on a directory tree or based on 1600various ways, such as based on a directory tree or based on
1868program files that include other program files. 1601program files that include other program files.
@@ -1871,7 +1604,6 @@ Once you have defined a fileset, you can perform various operations on
1871all the files in it, such as visiting them or searching and replacing 1604all the files in it, such as visiting them or searching and replacing
1872in them. 1605in them.
1873 1606
1874+++
1875** Calc is now part of the Emacs distribution. 1607** Calc is now part of the Emacs distribution.
1876 1608
1877Calc is an advanced desk calculator and mathematical tool written in 1609Calc is an advanced desk calculator and mathematical tool written in
@@ -1881,11 +1613,9 @@ Emacs manual; within Emacs, type "C-h i m calc RET" to read the
1881manual. A reference card is available in `etc/calccard.tex' and 1613manual. A reference card is available in `etc/calccard.tex' and
1882`etc/calccard.ps'. 1614`etc/calccard.ps'.
1883 1615
1884---
1885** The new package ibuffer provides a powerful, completely 1616** The new package ibuffer provides a powerful, completely
1886customizable replacement for buff-menu.el. 1617customizable replacement for buff-menu.el.
1887 1618
1888---
1889** Ido mode is now part of the Emacs distribution. 1619** Ido mode is now part of the Emacs distribution.
1890 1620
1891The ido (interactively do) package is an extension of the iswitchb 1621The ido (interactively do) package is an extension of the iswitchb
@@ -1893,11 +1623,9 @@ package to do interactive opening of files and directories in addition
1893to interactive buffer switching. Ido is a superset of iswitchb (with 1623to interactive buffer switching. Ido is a superset of iswitchb (with
1894a few exceptions), so don't enable both packages. 1624a few exceptions), so don't enable both packages.
1895 1625
1896+++
1897** Image files are normally visited in Image mode, which lets you toggle 1626** Image files are normally visited in Image mode, which lets you toggle
1898between viewing the image and viewing the text using C-c C-c. 1627between viewing the image and viewing the text using C-c C-c.
1899 1628
1900---
1901** CUA mode is now part of the Emacs distribution. 1629** CUA mode is now part of the Emacs distribution.
1902 1630
1903The new cua package provides CUA-like keybindings using C-x for 1631The new cua package provides CUA-like keybindings using C-x for
@@ -1946,7 +1674,6 @@ versions of cua.el and cua-mode.el. To ensure proper operation, you
1946must remove older versions of cua.el or cua-mode.el as well as the 1674must remove older versions of cua.el or cua-mode.el as well as the
1947loading and customization of those packages from the .emacs file. 1675loading and customization of those packages from the .emacs file.
1948 1676
1949+++
1950** Org mode is now part of the Emacs distribution 1677** Org mode is now part of the Emacs distribution
1951 1678
1952Org mode is a mode for keeping notes, maintaining ToDo lists, and 1679Org mode is a mode for keeping notes, maintaining ToDo lists, and
@@ -1961,11 +1688,9 @@ The documentation for org-mode is in a separate manual; within Emacs,
1961type "C-h i m org RET" to read that manual. A reference card is 1688type "C-h i m org RET" to read that manual. A reference card is
1962available in `etc/orgcard.tex' and `etc/orgcard.ps'. 1689available in `etc/orgcard.tex' and `etc/orgcard.ps'.
1963 1690
1964+++
1965** The new package dns-mode.el adds syntax highlighting of DNS master files. 1691** The new package dns-mode.el adds syntax highlighting of DNS master files.
1966It is a modern replacement for zone-mode.el, which is now obsolete. 1692It is a modern replacement for zone-mode.el, which is now obsolete.
1967 1693
1968---
1969** The new global minor mode `file-name-shadow-mode' modifies the way 1694** The new global minor mode `file-name-shadow-mode' modifies the way
1970filenames being entered by the user in the minibuffer are displayed, so 1695filenames being entered by the user in the minibuffer are displayed, so
1971that it's clear when part of the entered filename will be ignored due to 1696that it's clear when part of the entered filename will be ignored due to
@@ -1973,11 +1698,9 @@ Emacs' filename parsing rules. The ignored portion can be made dim,
1973invisible, or otherwise less visually noticeable. The display method can 1698invisible, or otherwise less visually noticeable. The display method can
1974be displayed by customizing the variable `file-name-shadow-properties'. 1699be displayed by customizing the variable `file-name-shadow-properties'.
1975 1700
1976+++
1977** The new package flymake.el does on-the-fly syntax checking of program 1701** The new package flymake.el does on-the-fly syntax checking of program
1978source files. See the Flymake's Info manual for more details. 1702source files. See the Flymake's Info manual for more details.
1979 1703
1980+++
1981** The new keypad setup package provides several common bindings for 1704** The new keypad setup package provides several common bindings for
1982the numeric keypad which is available on most keyboards. The numeric 1705the numeric keypad which is available on most keyboards. The numeric
1983keypad typically has the digits 0 to 9, a decimal point, keys marked 1706keypad typically has the digits 0 to 9, a decimal point, keys marked
@@ -2002,7 +1725,6 @@ where the keys work like (shifted) arrow keys, home/end, etc., and
2002are left unspecified and can be bound individually through the global 1725are left unspecified and can be bound individually through the global
2003or local keymaps. 1726or local keymaps.
2004 1727
2005+++
2006** Emacs' keyboard macro facilities have been enhanced by the new 1728** Emacs' keyboard macro facilities have been enhanced by the new
2007kmacro package. 1729kmacro package.
2008 1730
@@ -2036,16 +1758,13 @@ Keyboard macros can now be debugged and edited interactively.
2036C-x C-k SPC steps through the last keyboard macro one key sequence 1758C-x C-k SPC steps through the last keyboard macro one key sequence
2037at a time, prompting for the actions to take. 1759at a time, prompting for the actions to take.
2038 1760
2039---
2040** New minor mode, Visible mode, toggles invisibility in the current buffer. 1761** New minor mode, Visible mode, toggles invisibility in the current buffer.
2041When enabled, it makes all invisible text visible. When disabled, it 1762When enabled, it makes all invisible text visible. When disabled, it
2042restores the previous value of `buffer-invisibility-spec'. 1763restores the previous value of `buffer-invisibility-spec'.
2043 1764
2044+++
2045** The wdired.el package allows you to use normal editing commands on Dired 1765** The wdired.el package allows you to use normal editing commands on Dired
2046buffers to change filenames, permissions, etc... 1766buffers to change filenames, permissions, etc...
2047 1767
2048+++
2049** The new package longlines.el provides a minor mode for editing text 1768** The new package longlines.el provides a minor mode for editing text
2050files composed of long lines, based on the `use-hard-newlines' 1769files composed of long lines, based on the `use-hard-newlines'
2051mechanism. The long lines are broken up by inserting soft newlines, 1770mechanism. The long lines are broken up by inserting soft newlines,
@@ -2056,7 +1775,6 @@ referred to as "soft word wrap" in other text editors. This is
2056similar to Refill mode, but more reliable. To turn the word wrap 1775similar to Refill mode, but more reliable. To turn the word wrap
2057feature off, set `longlines-auto-wrap' to nil. 1776feature off, set `longlines-auto-wrap' to nil.
2058 1777
2059+++
2060** The printing package is now part of the Emacs distribution. 1778** The printing package is now part of the Emacs distribution.
2061 1779
2062If you enable the printing package by including (require 'printing) in 1780If you enable the printing package by including (require 'printing) in
@@ -2066,7 +1784,6 @@ ghostview, use ghostscript to print (if you don't have a PostScript
2066printer) or send directly to printer a PostScript code generated by 1784printer) or send directly to printer a PostScript code generated by
2067`ps-print' package. Use M-x pr-help for more information. 1785`ps-print' package. Use M-x pr-help for more information.
2068 1786
2069---
2070** The minor mode Reveal mode makes text visible on the fly as you 1787** The minor mode Reveal mode makes text visible on the fly as you
2071move your cursor into hidden regions of the buffer. 1788move your cursor into hidden regions of the buffer.
2072It should work with any package that uses overlays to hide parts 1789It should work with any package that uses overlays to hide parts
@@ -2074,23 +1791,19 @@ of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ...
2074 1791
2075There is also Global Reveal mode which affects all buffers. 1792There is also Global Reveal mode which affects all buffers.
2076 1793
2077---
2078** The ruler-mode.el library provides a minor mode for displaying an 1794** The ruler-mode.el library provides a minor mode for displaying an
2079"active" ruler in the header line. You can use the mouse to visually 1795"active" ruler in the header line. You can use the mouse to visually
2080change the `fill-column', `window-margins' and `tab-stop-list' 1796change the `fill-column', `window-margins' and `tab-stop-list'
2081settings. 1797settings.
2082 1798
2083+++
2084** SES mode (ses-mode) is a new major mode for creating and editing 1799** SES mode (ses-mode) is a new major mode for creating and editing
2085spreadsheet files. Besides the usual Emacs features (intuitive command 1800spreadsheet files. Besides the usual Emacs features (intuitive command
2086letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers 1801letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers
2087viral immunity and import/export of tab-separated values. 1802viral immunity and import/export of tab-separated values.
2088 1803
2089+++
2090** The new global minor mode `size-indication-mode' (off by default) 1804** The new global minor mode `size-indication-mode' (off by default)
2091shows the size of accessible part of the buffer on the mode line. 1805shows the size of accessible part of the buffer on the mode line.
2092 1806
2093+++
2094** The new package table.el implements editable, WYSIWYG, embedded 1807** The new package table.el implements editable, WYSIWYG, embedded
2095`text tables' in Emacs buffers. It simulates the effect of putting 1808`text tables' in Emacs buffers. It simulates the effect of putting
2096these tables in a special major mode. The package emulates WYSIWYG 1809these tables in a special major mode. The package emulates WYSIWYG
@@ -2098,12 +1811,11 @@ table editing available in modern word processors. The package also
2098can generate a table source in typesetting and markup languages such 1811can generate a table source in typesetting and markup languages such
2099as latex and html from the visually laid out text table. 1812as latex and html from the visually laid out text table.
2100 1813
2101+++ 1814** The image-dired.el package allows you to easily view, tag and in
2102** The tumme.el package allows you to easily view, tag and in other ways 1815other ways manipulate image files and their thumbnails, using dired as
2103manipulate image files and their thumbnails, using dired as the main interface. 1816the main interface. Image-Dired provides functionality to generate
2104Tumme provides functionality to generate simple image galleries. 1817simple image galleries.
2105 1818
2106+++
2107** Tramp is now part of the distribution. 1819** Tramp is now part of the distribution.
2108 1820
2109This package is similar to Ange-FTP: it allows you to edit remote 1821This package is similar to Ange-FTP: it allows you to edit remote
@@ -2126,14 +1838,11 @@ If you want to disable Tramp you should set
2126Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x 1838Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x
2127tramp-unload-tramp. 1839tramp-unload-tramp.
2128 1840
2129---
2130** The URL package (which had been part of W3) is now part of Emacs. 1841** The URL package (which had been part of W3) is now part of Emacs.
2131 1842
2132---
2133** `cfengine-mode' is a major mode for editing GNU Cfengine 1843** `cfengine-mode' is a major mode for editing GNU Cfengine
2134configuration files. 1844configuration files.
2135 1845
2136+++
2137** The new package conf-mode.el handles thousands of configuration files, with 1846** The new package conf-mode.el handles thousands of configuration files, with
2138varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, 1847varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value,
2139var : value, var value or keyword var value) and sections ([section] or 1848var : value, var value or keyword var value) and sections ([section] or
@@ -2141,24 +1850,19 @@ section { }). Many files under /etc/, or with suffixes like .cf through
2141.config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are 1850.config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are
2142recognized. 1851recognized.
2143 1852
2144---
2145** GDB-Script-mode is used for files like .gdbinit. 1853** GDB-Script-mode is used for files like .gdbinit.
2146 1854
2147+++
2148** The new python.el package is used to edit Python and Jython programs. 1855** The new python.el package is used to edit Python and Jython programs.
2149 1856
2150---
2151** The TCL package tcl-mode.el was replaced by tcl.el. 1857** The TCL package tcl-mode.el was replaced by tcl.el.
2152This was actually done in Emacs-21.1, and was not documented. 1858This was actually done in Emacs-21.1, and was not documented.
2153 1859
2154---
2155** The new package scroll-lock.el provides the Scroll Lock minor mode 1860** The new package scroll-lock.el provides the Scroll Lock minor mode
2156for pager-like scrolling. Keys which normally move point by line or 1861for pager-like scrolling. Keys which normally move point by line or
2157paragraph will scroll the buffer by the respective amount of lines 1862paragraph will scroll the buffer by the respective amount of lines
2158instead and point will be kept vertically fixed relative to window 1863instead and point will be kept vertically fixed relative to window
2159boundaries during scrolling. 1864boundaries during scrolling.
2160 1865
2161+++
2162** The file t-mouse.el is now part of Emacs and provides access to mouse 1866** The file t-mouse.el is now part of Emacs and provides access to mouse
2163events from the console. It still requires gpm to work but has been updated 1867events from the console. It still requires gpm to work but has been updated
2164for Emacs 22. In particular, the mode-line is now position sensitive. 1868for Emacs 22. In particular, the mode-line is now position sensitive.
@@ -2167,23 +1871,20 @@ for Emacs 22. In particular, the mode-line is now position sensitive.
2167 1871
2168** Changes in Shell Mode 1872** Changes in Shell Mode
2169 1873
2170---
2171*** Shell output normally scrolls so that the input line is at the 1874*** Shell output normally scrolls so that the input line is at the
2172bottom of the window -- thus showing the maximum possible text. (This 1875bottom of the window -- thus showing the maximum possible text. (This
2173is similar to the way sequential output to a terminal works.) 1876is similar to the way sequential output to a terminal works.)
2174 1877
2175** Changes in Dired 1878** Changes in Dired
2176 1879
2177+++ 1880*** Bindings for Image-Dired added
2178*** Bindings for Tumme added
2179Several new keybindings, all starting with the C-t prefix, have been 1881Several new keybindings, all starting with the C-t prefix, have been
2180added to Dired. They are all bound to commands in Tumme. As a starting 1882added to Dired. They are all bound to commands in Image-Dired. As a
2181point, mark some image files in a dired buffer and do C-t d to display 1883starting point, mark some image files in a dired buffer and do C-t d
2182thumbnails of them in a separate buffer. 1884to display thumbnails of them in a separate buffer.
2183 1885
2184** Changes in Hi Lock 1886** Changes in Hi Lock
2185 1887
2186+++
2187*** hi-lock-mode now only affects a single buffer, and a new function 1888*** hi-lock-mode now only affects a single buffer, and a new function
2188`global-hi-lock-mode' enables Hi Lock in all buffers. By default, if 1889`global-hi-lock-mode' enables Hi Lock in all buffers. By default, if
2189hi-lock-mode is used in what appears to be the initialization file, a 1890hi-lock-mode is used in what appears to be the initialization file, a
@@ -2193,7 +1894,6 @@ using hi-lock-mode in an initialization file will turn on Hi Lock in all
2193buffers and no warning will be issued (for compatibility with the 1894buffers and no warning will be issued (for compatibility with the
2194behavior in older versions of Emacs). 1895behavior in older versions of Emacs).
2195 1896
2196---
2197** Changes in Allout 1897** Changes in Allout
2198 1898
2199*** Some previously rough topic-header format edge cases are reconciled. 1899*** Some previously rough topic-header format edge cases are reconciled.
@@ -2202,7 +1902,7 @@ asterisk - for instance, the comment close of some languages (eg, c's "*/"
2202or mathematica's "*)") - at the beginning of line are no longer are 1902or mathematica's "*)") - at the beginning of line are no longer are
2203interpreted as level 1 topics in those modes. 1903interpreted as level 1 topics in those modes.
2204 1904
2205*** Many or most commonly occuring "accidental" topics are disqualified. 1905*** Many or most commonly occurring "accidental" topics are disqualified.
2206Text in item bodies that looks like a low-depth topic is no longer mistaken 1906Text in item bodies that looks like a low-depth topic is no longer mistaken
2207for one unless its first offspring (or that of its next sibling with 1907for one unless its first offspring (or that of its next sibling with
2208offspring) is only one level deeper. 1908offspring) is only one level deeper.
@@ -2292,14 +1992,12 @@ handling of edits of concealed text, undo concerns, etc.
2292 - many, many other, more minor tweaks, fixes, and refinements. 1992 - many, many other, more minor tweaks, fixes, and refinements.
2293 - version number incremented to 2.2 1993 - version number incremented to 2.2
2294 1994
2295+++ 1995** The variable `woman-topic-at-point' is renamed
2296** The variable `woman-topic-at-point' was renamed
2297to `woman-use-topic-at-point' and behaves differently: if this 1996to `woman-use-topic-at-point' and behaves differently: if this
2298variable is non-nil, the `woman' command uses the word at point 1997variable is non-nil, the `woman' command uses the word at point
2299automatically, without asking for a confirmation. Otherwise, the word 1998automatically, without asking for a confirmation. Otherwise, the word
2300at point is suggested as default, but not inserted at the prompt. 1999at point is suggested as default, but not inserted at the prompt.
2301 2000
2302---
2303** Changes to cmuscheme 2001** Changes to cmuscheme
2304 2002
2305*** Emacs now offers to start Scheme if the user tries to 2003*** Emacs now offers to start Scheme if the user tries to
@@ -2315,7 +2013,6 @@ procedure calls (`scheme-trace-procedure') and to expand syntactic forms
2315subprocess are controlled by the user options `scheme-trace-command', 2013subprocess are controlled by the user options `scheme-trace-command',
2316`scheme-untrace-command' and `scheme-expand-current-form'. 2014`scheme-untrace-command' and `scheme-expand-current-form'.
2317 2015
2318---
2319** Changes in Makefile mode 2016** Changes in Makefile mode
2320 2017
2321*** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. 2018*** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake.
@@ -2328,21 +2025,16 @@ faces.
2328to `makefile-query-one-target-method-function'. The old name is still 2025to `makefile-query-one-target-method-function'. The old name is still
2329available as alias. 2026available as alias.
2330 2027
2331+++
2332** In Outline mode, `hide-body' no longer hides lines at the top 2028** In Outline mode, `hide-body' no longer hides lines at the top
2333of the file that precede the first header line. 2029of the file that precede the first header line.
2334 2030
2335+++
2336** Telnet now prompts you for a port number with C-u M-x telnet. 2031** Telnet now prompts you for a port number with C-u M-x telnet.
2337 2032
2338---
2339** The terminal emulation code in term.el has been improved; it can 2033** The terminal emulation code in term.el has been improved; it can
2340run most curses applications now. 2034run most curses applications now.
2341 2035
2342+++
2343** M-x diff uses Diff mode instead of Compilation mode. 2036** M-x diff uses Diff mode instead of Compilation mode.
2344 2037
2345+++
2346** Diff mode key bindings changed. 2038** Diff mode key bindings changed.
2347 2039
2348These are the new bindings: 2040These are the new bindings:
@@ -2357,7 +2049,6 @@ To convert unified to context format, use C-u C-c C-u.
2357In addition, C-c C-u now operates on the region 2049In addition, C-c C-u now operates on the region
2358in Transient Mark mode when the mark is active. 2050in Transient Mark mode when the mark is active.
2359 2051
2360+++
2361** You can now customize `fill-nobreak-predicate' to control where 2052** You can now customize `fill-nobreak-predicate' to control where
2362filling can break lines. The value is now normally a list of 2053filling can break lines. The value is now normally a list of
2363functions, but it can also be a single function, for compatibility. 2054functions, but it can also be a single function, for compatibility.
@@ -2366,39 +2057,31 @@ Emacs provide two predicates, `fill-single-word-nobreak-p' and
2366`fill-french-nobreak-p', for use as the value of 2057`fill-french-nobreak-p', for use as the value of
2367`fill-nobreak-predicate'. 2058`fill-nobreak-predicate'.
2368 2059
2369---
2370** M-x view-file and commands that use it now avoid interfering 2060** M-x view-file and commands that use it now avoid interfering
2371with special modes such as Tar mode. 2061with special modes such as Tar mode.
2372 2062
2373---
2374** Commands `winner-redo' and `winner-undo', from winner.el, are now 2063** Commands `winner-redo' and `winner-undo', from winner.el, are now
2375bound to C-c <left> and C-c <right>, respectively. This is an 2064bound to C-c <left> and C-c <right>, respectively. This is an
2376incompatible change. 2065incompatible change.
2377 2066
2378---
2379** `global-whitespace-mode' is a new alias for `whitespace-global-mode'. 2067** `global-whitespace-mode' is a new alias for `whitespace-global-mode'.
2380 2068
2381+++
2382** M-x compare-windows now can automatically skip non-matching text to 2069** M-x compare-windows now can automatically skip non-matching text to
2383resync points in both windows. 2070resync points in both windows.
2384 2071
2385+++
2386** New user option `add-log-always-start-new-record'. 2072** New user option `add-log-always-start-new-record'.
2387 2073
2388When this option is enabled, M-x add-change-log-entry always 2074When this option is enabled, M-x add-change-log-entry always
2389starts a new record regardless of when the last record is. 2075starts a new record regardless of when the last record is.
2390 2076
2391---
2392** PO translation files are decoded according to their MIME headers 2077** PO translation files are decoded according to their MIME headers
2393when Emacs visits them. 2078when Emacs visits them.
2394 2079
2395** Info mode changes: 2080** Info mode changes:
2396 2081
2397+++
2398*** A numeric prefix argument of `info' selects an Info buffer 2082*** A numeric prefix argument of `info' selects an Info buffer
2399with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). 2083with the number appended to the `*info*' buffer name (e.g. "*info*<2>").
2400 2084
2401+++
2402*** isearch in Info uses Info-search and searches through multiple nodes. 2085*** isearch in Info uses Info-search and searches through multiple nodes.
2403 2086
2404Before leaving the initial Info node isearch fails once with the error 2087Before leaving the initial Info node isearch fails once with the error
@@ -2409,82 +2092,65 @@ around the whole manual to the top/final node. The user option
2409or the default isearch search function that wraps around the current 2092or the default isearch search function that wraps around the current
2410Info node. 2093Info node.
2411 2094
2412---
2413*** New search commands: `Info-search-case-sensitively' (bound to S), 2095*** New search commands: `Info-search-case-sensitively' (bound to S),
2414`Info-search-backward', and `Info-search-next' which repeats the last 2096`Info-search-backward', and `Info-search-next' which repeats the last
2415search without prompting for a new search string. 2097search without prompting for a new search string.
2416 2098
2417+++
2418*** New command `Info-history-forward' (bound to r and new toolbar icon) 2099*** New command `Info-history-forward' (bound to r and new toolbar icon)
2419moves forward in history to the node you returned from after using 2100moves forward in history to the node you returned from after using
2420`Info-history-back' (renamed from `Info-last'). 2101`Info-history-back' (renamed from `Info-last').
2421 2102
2422---
2423*** New command `Info-history' (bound to L) displays a menu of visited nodes. 2103*** New command `Info-history' (bound to L) displays a menu of visited nodes.
2424 2104
2425---
2426*** New command `Info-toc' (bound to T) creates a node with table of contents 2105*** New command `Info-toc' (bound to T) creates a node with table of contents
2427from the tree structure of menus of the current Info file. 2106from the tree structure of menus of the current Info file.
2428 2107
2429+++
2430*** New command `info-apropos' searches the indices of the known 2108*** New command `info-apropos' searches the indices of the known
2431Info files on your system for a string, and builds a menu of the 2109Info files on your system for a string, and builds a menu of the
2432possible matches. 2110possible matches.
2433 2111
2434---
2435*** New command `Info-copy-current-node-name' (bound to w) copies 2112*** New command `Info-copy-current-node-name' (bound to w) copies
2436the current Info node name into the kill ring. With a zero prefix 2113the current Info node name into the kill ring. With a zero prefix
2437arg, puts the node name inside the `info' function call. 2114arg, puts the node name inside the `info' function call.
2438 2115
2439+++
2440*** New face `info-xref-visited' distinguishes visited nodes from unvisited 2116*** New face `info-xref-visited' distinguishes visited nodes from unvisited
2441and a new option `Info-fontify-visited-nodes' to control this. 2117and a new option `Info-fontify-visited-nodes' to control this.
2442 2118
2443---
2444*** http and ftp links in Info are now operational: they look like cross 2119*** http and ftp links in Info are now operational: they look like cross
2445references and following them calls `browse-url'. 2120references and following them calls `browse-url'.
2446 2121
2447+++
2448*** Info now hides node names in menus and cross references by default. 2122*** Info now hides node names in menus and cross references by default.
2449 2123
2450If you prefer the old behavior, you can set the new user option 2124If you prefer the old behavior, you can set the new user option
2451`Info-hide-note-references' to nil. 2125`Info-hide-note-references' to nil.
2452 2126
2453---
2454*** Images in Info pages are supported. 2127*** Images in Info pages are supported.
2455 2128
2456Info pages show embedded images, in Emacs frames with image support. 2129Info pages show embedded images, in Emacs frames with image support.
2457Info documentation that includes images, processed with makeinfo 2130Info documentation that includes images, processed with makeinfo
2458version 4.7 or newer, compiles to Info pages with embedded images. 2131version 4.7 or newer, compiles to Info pages with embedded images.
2459 2132
2460+++
2461*** The default value for `Info-scroll-prefer-subnodes' is now nil. 2133*** The default value for `Info-scroll-prefer-subnodes' is now nil.
2462 2134
2463---
2464*** `Info-index' offers completion. 2135*** `Info-index' offers completion.
2465 2136
2466** Lisp mode changes: 2137** Lisp mode changes:
2467 2138
2468---
2469*** Lisp mode now uses `font-lock-doc-face' for doc strings. 2139*** Lisp mode now uses `font-lock-doc-face' for doc strings.
2470 2140
2471+++
2472*** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point. 2141*** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point.
2473 2142
2474*** New features in evaluation commands 2143*** New features in evaluation commands
2475 2144
2476+++
2477**** The function `eval-defun' (C-M-x) called on defface reinitializes 2145**** The function `eval-defun' (C-M-x) called on defface reinitializes
2478the face to the value specified in the defface expression. 2146the face to the value specified in the defface expression.
2479 2147
2480+++
2481**** Typing C-x C-e twice prints the value of the integer result 2148**** Typing C-x C-e twice prints the value of the integer result
2482in additional formats (octal, hexadecimal, character) specified 2149in additional formats (octal, hexadecimal, character) specified
2483by the new function `eval-expression-print-format'. The same 2150by the new function `eval-expression-print-format'. The same
2484function also defines the result format for `eval-expression' (M-:), 2151function also defines the result format for `eval-expression' (M-:),
2485`eval-print-last-sexp' (C-j) and some edebug evaluation functions. 2152`eval-print-last-sexp' (C-j) and some edebug evaluation functions.
2486 2153
2487+++
2488** CC mode changes. 2154** CC mode changes.
2489 2155
2490*** The CC Mode manual has been extensively revised. 2156*** The CC Mode manual has been extensively revised.
@@ -2812,14 +2478,11 @@ line is left untouched.
2812The function `c-toggle-syntactic-indentation' can be used to toggle 2478The function `c-toggle-syntactic-indentation' can be used to toggle
2813syntactic indentation. 2479syntactic indentation.
2814 2480
2815---
2816** In sh-script, a continuation line is only indented if the backslash was 2481** In sh-script, a continuation line is only indented if the backslash was
2817preceded by a SPC or a TAB. 2482preceded by a SPC or a TAB.
2818 2483
2819---
2820** Perl mode has a new variable `perl-indent-continued-arguments'. 2484** Perl mode has a new variable `perl-indent-continued-arguments'.
2821 2485
2822---
2823** The old Octave mode bindings C-c f and C-c i have been changed 2486** The old Octave mode bindings C-c f and C-c i have been changed
2824to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate 2487to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate
2825bindings on control characters--thus, C-c C-i C-b is the same as 2488bindings on control characters--thus, C-c C-i C-b is the same as
@@ -2827,34 +2490,27 @@ C-c C-i b, and so on.
2827 2490
2828** Fortran mode changes: 2491** Fortran mode changes:
2829 2492
2830---
2831*** Fortran mode does more font-locking by default. Use level 3 2493*** Fortran mode does more font-locking by default. Use level 3
2832highlighting for the old default. 2494highlighting for the old default.
2833 2495
2834+++
2835*** Fortran mode has a new variable `fortran-directive-re'. 2496*** Fortran mode has a new variable `fortran-directive-re'.
2836Adapt this to match the format of any compiler directives you use. 2497Adapt this to match the format of any compiler directives you use.
2837Lines that match are never indented, and are given distinctive font-locking. 2498Lines that match are never indented, and are given distinctive font-locking.
2838 2499
2839+++
2840*** F90 mode and Fortran mode have new navigation commands 2500*** F90 mode and Fortran mode have new navigation commands
2841`f90-end-of-block', `f90-beginning-of-block', `f90-next-block', 2501`f90-end-of-block', `f90-beginning-of-block', `f90-next-block',
2842`f90-previous-block', `fortran-end-of-block', 2502`f90-previous-block', `fortran-end-of-block',
2843`fortran-beginning-of-block'. 2503`fortran-beginning-of-block'.
2844 2504
2845---
2846*** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow). 2505*** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow).
2847It cannot deal with every code format, but ought to handle a sizeable 2506It cannot deal with every code format, but ought to handle a sizeable
2848majority. 2507majority.
2849 2508
2850---
2851*** The new function `f90-backslash-not-special' can be used to change 2509*** The new function `f90-backslash-not-special' can be used to change
2852the syntax of backslashes in F90 buffers. 2510the syntax of backslashes in F90 buffers.
2853 2511
2854---
2855** Reftex mode changes 2512** Reftex mode changes
2856 2513
2857+++
2858*** Changes to RefTeX's table of contents 2514*** Changes to RefTeX's table of contents
2859 2515
2860The new command keys "<" and ">" in the TOC buffer promote/demote the 2516The new command keys "<" and ">" in the TOC buffer promote/demote the
@@ -2879,7 +2535,6 @@ key `M-%'.
2879The new command `reftex-goto-label' jumps directly to a label 2535The new command `reftex-goto-label' jumps directly to a label
2880location. 2536location.
2881 2537
2882+++
2883*** Changes related to citations and BibTeX database files 2538*** Changes related to citations and BibTeX database files
2884 2539
2885Commands that insert a citation now prompt for optional arguments when 2540Commands that insert a citation now prompt for optional arguments when
@@ -2902,13 +2557,11 @@ can be configured with the new option `reftex-bibliography-commands'.
2902 2557
2903Support for jurabib has been added. 2558Support for jurabib has been added.
2904 2559
2905+++
2906*** Global index matched may be verified with a user function 2560*** Global index matched may be verified with a user function
2907 2561
2908During global indexing, a user function can verify an index match. 2562During global indexing, a user function can verify an index match.
2909See new option `reftex-index-verify-function'. 2563See new option `reftex-index-verify-function'.
2910 2564
2911+++
2912*** Parsing documents with many labels can be sped up. 2565*** Parsing documents with many labels can be sped up.
2913 2566
2914Operating in a document with thousands of labels can be sped up 2567Operating in a document with thousands of labels can be sped up
@@ -2918,7 +2571,6 @@ from the label prefix like `eq:' or `fig:'. The option
2918this feature. While the speed-up is significant, this may reduce the 2571this feature. While the speed-up is significant, this may reduce the
2919quality of the context offered by RefTeX to describe a label. 2572quality of the context offered by RefTeX to describe a label.
2920 2573
2921+++
2922*** Miscellaneous changes 2574*** Miscellaneous changes
2923 2575
2924The macros which input a file in LaTeX (like \input, \include) can be 2576The macros which input a file in LaTeX (like \input, \include) can be
@@ -2926,17 +2578,14 @@ configured in the new option `reftex-include-file-commands'.
2926 2578
2927RefTeX supports global incremental search. 2579RefTeX supports global incremental search.
2928 2580
2929+++
2930** Prolog mode has a new variable `prolog-font-lock-keywords' 2581** Prolog mode has a new variable `prolog-font-lock-keywords'
2931to support use of font-lock. 2582to support use of font-lock.
2932 2583
2933** HTML/SGML changes: 2584** HTML/SGML changes:
2934 2585
2935---
2936*** Emacs now tries to set up buffer coding systems for HTML/XML files 2586*** Emacs now tries to set up buffer coding systems for HTML/XML files
2937automatically. 2587automatically.
2938 2588
2939+++
2940*** SGML mode has indentation and supports XML syntax. 2589*** SGML mode has indentation and supports XML syntax.
2941The new variable `sgml-xml-mode' tells SGML mode to use XML syntax. 2590The new variable `sgml-xml-mode' tells SGML mode to use XML syntax.
2942When this option is enabled, SGML tags are inserted in XML style, 2591When this option is enabled, SGML tags are inserted in XML style,
@@ -2944,33 +2593,26 @@ i.e., there is always a closing tag.
2944By default, its setting is inferred on a buffer-by-buffer basis 2593By default, its setting is inferred on a buffer-by-buffer basis
2945from the file name or buffer contents. 2594from the file name or buffer contents.
2946 2595
2947---
2948*** The variable `sgml-transformation' has been renamed to 2596*** The variable `sgml-transformation' has been renamed to
2949`sgml-transformation-function'. The old name is still available as 2597`sgml-transformation-function'. The old name is still available as
2950alias. 2598alias.
2951 2599
2952+++
2953*** `xml-mode' is now an alias for `sgml-mode', which has XML support. 2600*** `xml-mode' is now an alias for `sgml-mode', which has XML support.
2954 2601
2955** TeX modes: 2602** TeX modes:
2956 2603
2957+++
2958*** C-c C-c prompts for a command to run, and tries to offer a good default. 2604*** C-c C-c prompts for a command to run, and tries to offer a good default.
2959 2605
2960+++
2961*** The user option `tex-start-options-string' has been replaced 2606*** The user option `tex-start-options-string' has been replaced
2962by two new user options: `tex-start-options', which should hold 2607by two new user options: `tex-start-options', which should hold
2963command-line options to feed to TeX, and `tex-start-commands' which should hold 2608command-line options to feed to TeX, and `tex-start-commands' which should hold
2964TeX commands to use at startup. 2609TeX commands to use at startup.
2965 2610
2966---
2967*** verbatim environments are now highlighted in courier by font-lock 2611*** verbatim environments are now highlighted in courier by font-lock
2968and super/sub-scripts are made into super/sub-scripts. 2612and super/sub-scripts are made into super/sub-scripts.
2969 2613
2970+++
2971*** New major mode Doctex mode, for *.dtx files. 2614*** New major mode Doctex mode, for *.dtx files.
2972 2615
2973---
2974** BibTeX mode: 2616** BibTeX mode:
2975 2617
2976*** The new command `bibtex-url' browses a URL for the BibTeX entry at 2618*** The new command `bibtex-url' browses a URL for the BibTeX entry at
@@ -3027,27 +2669,22 @@ extracting the content of a BibTeX field.
3027`bibtex-autokey-titleword-case-convert-function'. The old names are 2669`bibtex-autokey-titleword-case-convert-function'. The old names are
3028still available as aliases. 2670still available as aliases.
3029 2671
3030+++
3031** In Artist mode the variable `artist-text-renderer' has been 2672** In Artist mode the variable `artist-text-renderer' has been
3032renamed to `artist-text-renderer-function'. The old name is still 2673renamed to `artist-text-renderer-function'. The old name is still
3033available as alias. 2674available as alias.
3034 2675
3035+++
3036** In Enriched mode, `set-left-margin' and `set-right-margin' are now 2676** In Enriched mode, `set-left-margin' and `set-right-margin' are now
3037by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' 2677by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l'
3038and `C-c C-r'. 2678and `C-c C-r'.
3039 2679
3040** GUD changes: 2680** GUD changes:
3041 2681
3042+++
3043*** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program 2682*** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program
3044counter to the specified source line (the one where point is). 2683counter to the specified source line (the one where point is).
3045 2684
3046---
3047*** GUD mode has its own tool bar for controlling execution of the inferior 2685*** GUD mode has its own tool bar for controlling execution of the inferior
3048and other common debugger commands. 2686and other common debugger commands.
3049 2687
3050+++
3051*** The new package gdb-ui.el provides an enhanced graphical interface to 2688*** The new package gdb-ui.el provides an enhanced graphical interface to
3052GDB. You can interact with GDB through the GUD buffer in the usual way, but 2689GDB. You can interact with GDB through the GUD buffer in the usual way, but
3053there are also further buffers which control the execution and describe the 2690there are also further buffers which control the execution and describe the
@@ -3059,17 +2696,14 @@ breakpoints.
3059To use this package just type M-x gdb. See the Emacs manual if you want the 2696To use this package just type M-x gdb. See the Emacs manual if you want the
3060old behaviour. 2697old behaviour.
3061 2698
3062---
3063*** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be 2699*** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be
3064toggled independently of normal tooltips with the minor mode 2700toggled independently of normal tooltips with the minor mode
3065`gud-tooltip-mode'. 2701`gud-tooltip-mode'.
3066 2702
3067+++
3068*** In graphical mode, with a C program, GUD Tooltips have been extended to 2703*** In graphical mode, with a C program, GUD Tooltips have been extended to
3069display the #define directive associated with an identifier when program is 2704display the #define directive associated with an identifier when program is
3070not executing. 2705not executing.
3071 2706
3072---
3073** GUD mode improvements for jdb: 2707** GUD mode improvements for jdb:
3074 2708
3075*** Search for source files using jdb classpath and class information. 2709*** Search for source files using jdb classpath and class information.
@@ -3114,7 +2748,6 @@ compatibility, it prefers `starttls', but you can toggle
3114 2748
3115** Auto-Revert changes: 2749** Auto-Revert changes:
3116 2750
3117+++
3118*** You can now use Auto Revert mode to `tail' a file. 2751*** You can now use Auto Revert mode to `tail' a file.
3119 2752
3120If point is at the end of a file buffer before reverting, Auto Revert 2753If point is at the end of a file buffer before reverting, Auto Revert
@@ -3130,7 +2763,6 @@ then you can tail the file more efficiently by using the new minor
3130mode Auto Revert Tail mode. The function `auto-revert-tail-mode' 2763mode Auto Revert Tail mode. The function `auto-revert-tail-mode'
3131toggles this mode. 2764toggles this mode.
3132 2765
3133+++
3134*** Auto Revert mode is now more careful to avoid excessive reverts and 2766*** Auto Revert mode is now more careful to avoid excessive reverts and
3135other potential problems when deciding which non-file buffers to 2767other potential problems when deciding which non-file buffers to
3136revert. This matters especially if Global Auto Revert mode is enabled 2768revert. This matters especially if Global Auto Revert mode is enabled
@@ -3141,14 +2773,12 @@ decides whether the buffer should be reverted. Currently, this means
3141that auto reverting works for Dired buffers (although this may not 2773that auto reverting works for Dired buffers (although this may not
3142work properly on all operating systems) and for the Buffer Menu. 2774work properly on all operating systems) and for the Buffer Menu.
3143 2775
3144+++
3145*** If the new user option `auto-revert-check-vc-info' is non-nil, Auto 2776*** If the new user option `auto-revert-check-vc-info' is non-nil, Auto
3146Revert mode reliably updates version control info (such as the version 2777Revert mode reliably updates version control info (such as the version
3147control number in the mode line), in all version controlled buffers in 2778control number in the mode line), in all version controlled buffers in
3148which it is active. If the option is nil, the default, then this info 2779which it is active. If the option is nil, the default, then this info
3149only gets updated whenever the buffer gets reverted. 2780only gets updated whenever the buffer gets reverted.
3150 2781
3151---
3152** recentf changes. 2782** recentf changes.
3153 2783
3154The recent file list is now automatically cleaned up when recentf mode is 2784The recent file list is now automatically cleaned up when recentf mode is
@@ -3173,27 +2803,21 @@ To follow naming convention, `recentf-menu-append-commands-flag'
3173replaces the misnamed option `recentf-menu-append-commands-p'. The 2803replaces the misnamed option `recentf-menu-append-commands-p'. The
3174old name remains available as alias, but has been marked obsolete. 2804old name remains available as alias, but has been marked obsolete.
3175 2805
3176+++
3177** Desktop package 2806** Desktop package
3178 2807
3179+++
3180*** Desktop saving is now a minor mode, `desktop-save-mode'. 2808*** Desktop saving is now a minor mode, `desktop-save-mode'.
3181 2809
3182+++
3183*** The variable `desktop-enable' is obsolete. 2810*** The variable `desktop-enable' is obsolete.
3184 2811
3185Customize `desktop-save-mode' to enable desktop saving. 2812Customize `desktop-save-mode' to enable desktop saving.
3186 2813
3187---
3188*** Buffers are saved in the desktop file in the same order as that in the 2814*** Buffers are saved in the desktop file in the same order as that in the
3189buffer list. 2815buffer list.
3190 2816
3191+++
3192*** The desktop package can be customized to restore only some buffers 2817*** The desktop package can be customized to restore only some buffers
3193immediately, remaining buffers are restored lazily (when Emacs is 2818immediately, remaining buffers are restored lazily (when Emacs is
3194idle). 2819idle).
3195 2820
3196+++
3197*** New commands: 2821*** New commands:
3198 - desktop-revert reverts to the last loaded desktop. 2822 - desktop-revert reverts to the last loaded desktop.
3199 - desktop-change-dir kills current desktop and loads a new. 2823 - desktop-change-dir kills current desktop and loads a new.
@@ -3202,7 +2826,6 @@ idle).
3202 - desktop-lazy-complete runs the desktop load to completion. 2826 - desktop-lazy-complete runs the desktop load to completion.
3203 - desktop-lazy-abort aborts lazy loading of the desktop. 2827 - desktop-lazy-abort aborts lazy loading of the desktop.
3204 2828
3205---
3206*** New customizable variables: 2829*** New customizable variables:
3207 - desktop-save. Determines whether the desktop should be saved when it is 2830 - desktop-save. Determines whether the desktop should be saved when it is
3208 killed. 2831 killed.
@@ -3217,15 +2840,12 @@ idle).
3217 - desktop-lazy-verbose. Verbose reporting of lazily created buffers. 2840 - desktop-lazy-verbose. Verbose reporting of lazily created buffers.
3218 - desktop-lazy-idle-delay. Idle delay before starting to create buffers. 2841 - desktop-lazy-idle-delay. Idle delay before starting to create buffers.
3219 2842
3220+++
3221*** New command line option --no-desktop 2843*** New command line option --no-desktop
3222 2844
3223---
3224*** New hooks: 2845*** New hooks:
3225 - desktop-after-read-hook run after a desktop is loaded. 2846 - desktop-after-read-hook run after a desktop is loaded.
3226 - desktop-no-desktop-file-hook run when no desktop file is found. 2847 - desktop-no-desktop-file-hook run when no desktop file is found.
3227 2848
3228---
3229** The saveplace.el package now filters out unreadable files. 2849** The saveplace.el package now filters out unreadable files.
3230 2850
3231When you exit Emacs, the saved positions in visited files no longer 2851When you exit Emacs, the saved positions in visited files no longer
@@ -3237,25 +2857,21 @@ feature.
3237 2857
3238** EDiff changes. 2858** EDiff changes.
3239 2859
3240+++
3241*** When comparing directories. 2860*** When comparing directories.
3242Typing D brings up a buffer that lists the differences between the contents of 2861Typing D brings up a buffer that lists the differences between the contents of
3243directories. Now it is possible to use this buffer to copy the missing files 2862directories. Now it is possible to use this buffer to copy the missing files
3244from one directory to another. 2863from one directory to another.
3245 2864
3246+++
3247*** When comparing files or buffers. 2865*** When comparing files or buffers.
3248Typing the = key now offers to perform the word-by-word comparison of the 2866Typing the = key now offers to perform the word-by-word comparison of the
3249currently highlighted regions in an inferior Ediff session. If you answer 'n' 2867currently highlighted regions in an inferior Ediff session. If you answer 'n'
3250then it reverts to the old behavior and asks the user to select regions for 2868then it reverts to the old behavior and asks the user to select regions for
3251comparison. 2869comparison.
3252 2870
3253+++
3254*** The new command `ediff-backup' compares a file with its most recent 2871*** The new command `ediff-backup' compares a file with its most recent
3255backup using `ediff'. If you specify the name of a backup file, 2872backup using `ediff'. If you specify the name of a backup file,
3256`ediff-backup' compares it with the file of which it is a backup. 2873`ediff-backup' compares it with the file of which it is a backup.
3257 2874
3258+++
3259** Etags changes. 2875** Etags changes.
3260 2876
3261*** New regular expressions features 2877*** New regular expressions features
@@ -3358,7 +2974,6 @@ struct members in C, members variables in C++ and variables in PHP.
3358 2974
3359** VC Changes 2975** VC Changes
3360 2976
3361+++
3362*** The key C-x C-q only changes the read-only state of the buffer 2977*** The key C-x C-q only changes the read-only state of the buffer
3363(toggle-read-only). It no longer checks files in or out. 2978(toggle-read-only). It no longer checks files in or out.
3364 2979
@@ -3371,7 +2986,6 @@ behavior, you can bind `vc-toggle-read-only' to C-x C-q in your
3371 2986
3372The function `vc-toggle-read-only' will continue to exist. 2987The function `vc-toggle-read-only' will continue to exist.
3373 2988
3374+++
3375*** The new variable `vc-cvs-global-switches' specifies switches that 2989*** The new variable `vc-cvs-global-switches' specifies switches that
3376are passed to any CVS command invoked by VC. 2990are passed to any CVS command invoked by VC.
3377 2991
@@ -3379,10 +2993,8 @@ These switches are used as "global options" for CVS, which means they
3379are inserted before the command name. For example, this allows you to 2993are inserted before the command name. For example, this allows you to
3380specify a compression level using the `-z#' option for CVS. 2994specify a compression level using the `-z#' option for CVS.
3381 2995
3382+++
3383*** New backends for Subversion and Meta-CVS. 2996*** New backends for Subversion and Meta-CVS.
3384 2997
3385+++
3386*** VC-Annotate mode enhancements 2998*** VC-Annotate mode enhancements
3387 2999
3388In VC-Annotate mode, you can now use the following key bindings for 3000In VC-Annotate mode, you can now use the following key bindings for
@@ -3399,23 +3011,19 @@ to view diffs or log entries directly from vc-annotate-mode:
3399 3011
3400** pcl-cvs changes: 3012** pcl-cvs changes:
3401 3013
3402+++
3403*** In pcl-cvs mode, there is a new `d y' command to view the diffs 3014*** In pcl-cvs mode, there is a new `d y' command to view the diffs
3404between the local version of the file and yesterday's head revision 3015between the local version of the file and yesterday's head revision
3405in the repository. 3016in the repository.
3406 3017
3407+++
3408*** In pcl-cvs mode, there is a new `d r' command to view the changes 3018*** In pcl-cvs mode, there is a new `d r' command to view the changes
3409anyone has committed to the repository since you last executed 3019anyone has committed to the repository since you last executed
3410`checkout', `update' or `commit'. That means using cvs diff options 3020`checkout', `update' or `commit'. That means using cvs diff options
3411-rBASE -rHEAD. 3021-rBASE -rHEAD.
3412 3022
3413+++
3414** The new variable `mail-default-directory' specifies 3023** The new variable `mail-default-directory' specifies
3415`default-directory' for mail buffers. This directory is used for 3024`default-directory' for mail buffers. This directory is used for
3416auto-save files of mail buffers. It defaults to "~/". 3025auto-save files of mail buffers. It defaults to "~/".
3417 3026
3418+++
3419** The mode line can indicate new mail in a directory or file. 3027** The mode line can indicate new mail in a directory or file.
3420 3028
3421See the documentation of the user option 3029See the documentation of the user option
@@ -3423,15 +3031,12 @@ See the documentation of the user option
3423 3031
3424** Rmail changes: 3032** Rmail changes:
3425 3033
3426---
3427*** Rmail now displays 5-digit message ids in its summary buffer. 3034*** Rmail now displays 5-digit message ids in its summary buffer.
3428 3035
3429+++
3430*** The new commands rmail-end-of-message and rmail-summary end-of-message, 3036*** The new commands rmail-end-of-message and rmail-summary end-of-message,
3431by default bound to `/', go to the end of the current mail message in 3037by default bound to `/', go to the end of the current mail message in
3432Rmail and Rmail summary buffers. 3038Rmail and Rmail summary buffers.
3433 3039
3434+++
3435*** Support for `movemail' from GNU mailutils was added to Rmail. 3040*** Support for `movemail' from GNU mailutils was added to Rmail.
3436 3041
3437This version of `movemail' allows to read mail from a wide range of 3042This version of `movemail' allows to read mail from a wide range of
@@ -3442,18 +3047,15 @@ used instead of the native one.
3442 3047
3443** Gnus package 3048** Gnus package
3444 3049
3445---
3446*** Gnus now includes Sieve and PGG 3050*** Gnus now includes Sieve and PGG
3447 3051
3448Sieve is a library for managing Sieve scripts. PGG is a library to handle 3052Sieve is a library for managing Sieve scripts. PGG is a library to handle
3449PGP/MIME. 3053PGP/MIME.
3450 3054
3451---
3452*** There are many news features, bug fixes and improvements. 3055*** There are many news features, bug fixes and improvements.
3453 3056
3454See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. 3057See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details.
3455 3058
3456---
3457** MH-E changes. 3059** MH-E changes.
3458 3060
3459Upgraded to MH-E version 8.0.3. There have been major changes since 3061Upgraded to MH-E version 8.0.3. There have been major changes since
@@ -3461,23 +3063,18 @@ version 5.0.2; see MH-E-NEWS for details.
3461 3063
3462** Calendar changes: 3064** Calendar changes:
3463 3065
3464+++
3465*** The meanings of C-x < and C-x > have been interchanged. 3066*** The meanings of C-x < and C-x > have been interchanged.
3466< means to scroll backward in time, and > means to scroll forward. 3067< means to scroll backward in time, and > means to scroll forward.
3467 3068
3468+++
3469*** You can now use < and >, instead of C-x < and C-x >, to scroll 3069*** You can now use < and >, instead of C-x < and C-x >, to scroll
3470the calendar left or right. 3070the calendar left or right.
3471 3071
3472+++
3473*** There is a new calendar package, icalendar.el, that can be used to 3072*** There is a new calendar package, icalendar.el, that can be used to
3474convert Emacs diary entries to/from the iCalendar format. 3073convert Emacs diary entries to/from the iCalendar format.
3475 3074
3476+++
3477*** The new package cal-html.el writes HTML files with calendar and 3075*** The new package cal-html.el writes HTML files with calendar and
3478diary entries. 3076diary entries.
3479 3077
3480+++
3481*** Diary sexp entries can have custom marking in the calendar. 3078*** Diary sexp entries can have custom marking in the calendar.
3482Diary sexp functions which only apply to certain days (such as 3079Diary sexp functions which only apply to certain days (such as
3483`diary-block' or `diary-cyclic') now take an optional parameter MARK, 3080`diary-block' or `diary-cyclic') now take an optional parameter MARK,
@@ -3488,45 +3085,37 @@ day in the calendar. Specifying a face highlights the day with that
3488face. This lets you have different colors or markings for vacations, 3085face. This lets you have different colors or markings for vacations,
3489appointments, paydays or anything else using a sexp. 3086appointments, paydays or anything else using a sexp.
3490 3087
3491+++
3492*** The new function `calendar-goto-day-of-year' (g D) prompts for a 3088*** The new function `calendar-goto-day-of-year' (g D) prompts for a
3493year and day number, and moves to that date. Negative day numbers 3089year and day number, and moves to that date. Negative day numbers
3494count backward from the end of the year. 3090count backward from the end of the year.
3495 3091
3496+++
3497*** The new Calendar function `calendar-goto-iso-week' (g w) 3092*** The new Calendar function `calendar-goto-iso-week' (g w)
3498prompts for a year and a week number, and moves to the first 3093prompts for a year and a week number, and moves to the first
3499day of that ISO week. 3094day of that ISO week.
3500 3095
3501---
3502*** The new variable `calendar-minimum-window-height' affects the 3096*** The new variable `calendar-minimum-window-height' affects the
3503window generated by the function `generate-calendar-window'. 3097window generated by the function `generate-calendar-window'.
3504 3098
3505---
3506*** The functions `holiday-easter-etc' and `holiday-advent' now take 3099*** The functions `holiday-easter-etc' and `holiday-advent' now take
3507optional arguments, in order to only report on the specified holiday 3100optional arguments, in order to only report on the specified holiday
3508rather than all. This makes customization of variables such as 3101rather than all. This makes customization of variables such as
3509`christian-holidays' simpler. 3102`christian-holidays' simpler.
3510 3103
3511---
3512*** The function `simple-diary-display' now by default sets a header line. 3104*** The function `simple-diary-display' now by default sets a header line.
3513This can be controlled through the variables `diary-header-line-flag' 3105This can be controlled through the variables `diary-header-line-flag'
3514and `diary-header-line-format'. 3106and `diary-header-line-format'.
3515 3107
3516+++
3517*** The procedure for activating appointment reminders has changed: 3108*** The procedure for activating appointment reminders has changed:
3518use the new function `appt-activate'. The new variable 3109use the new function `appt-activate'. The new variable
3519`appt-display-format' controls how reminders are displayed, replacing 3110`appt-display-format' controls how reminders are displayed, replacing
3520`appt-issue-message', `appt-visible', and `appt-msg-window'. 3111`appt-issue-message', `appt-visible', and `appt-msg-window'.
3521 3112
3522+++
3523*** The new functions `diary-from-outlook', `diary-from-outlook-gnus', 3113*** The new functions `diary-from-outlook', `diary-from-outlook-gnus',
3524and `diary-from-outlook-rmail' can be used to import diary entries 3114and `diary-from-outlook-rmail' can be used to import diary entries
3525from Outlook-format appointments in mail messages. The variable 3115from Outlook-format appointments in mail messages. The variable
3526`diary-outlook-formats' can be customized to recognize additional 3116`diary-outlook-formats' can be customized to recognize additional
3527formats. 3117formats.
3528 3118
3529+++
3530** Speedbar changes: 3119** Speedbar changes:
3531 3120
3532*** Speedbar items can now be selected by clicking mouse-1, based on 3121*** Speedbar items can now be selected by clicking mouse-1, based on
@@ -3570,7 +3159,6 @@ should use `dframe-attached-frame' instead of
3570`speedbar-update-speed' and `speedbar-navigating-speed' are also 3159`speedbar-update-speed' and `speedbar-navigating-speed' are also
3571obsolete; use `dframe-update-speed' instead. 3160obsolete; use `dframe-update-speed' instead.
3572 3161
3573---
3574** sql changes. 3162** sql changes.
3575 3163
3576*** The variable `sql-product' controls the highlighting of different 3164*** The variable `sql-product' controls the highlighting of different
@@ -3644,12 +3232,10 @@ defaults.
3644appropriate `sql-interactive-mode' wrapper for the current setting of 3232appropriate `sql-interactive-mode' wrapper for the current setting of
3645`sql-product'. 3233`sql-product'.
3646 3234
3647---
3648*** sql.el supports the SQLite interpreter--call 'sql-sqlite'. 3235*** sql.el supports the SQLite interpreter--call 'sql-sqlite'.
3649 3236
3650** FFAP changes: 3237** FFAP changes:
3651 3238
3652+++
3653*** New ffap commands and keybindings: 3239*** New ffap commands and keybindings:
3654 3240
3655C-x C-r (`ffap-read-only'), 3241C-x C-r (`ffap-read-only'),
@@ -3657,13 +3243,11 @@ C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'),
3657C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), 3243C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'),
3658C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). 3244C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame').
3659 3245
3660---
3661*** FFAP accepts wildcards in a file name by default. 3246*** FFAP accepts wildcards in a file name by default.
3662 3247
3663C-x C-f passes the file name to `find-file' with non-nil WILDCARDS 3248C-x C-f passes the file name to `find-file' with non-nil WILDCARDS
3664argument, which visits multiple files, and C-x d passes it to `dired'. 3249argument, which visits multiple files, and C-x d passes it to `dired'.
3665 3250
3666---
3667** Changes in Skeleton 3251** Changes in Skeleton
3668 3252
3669*** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. 3253*** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction.
@@ -3680,7 +3264,6 @@ with other details of skeleton construction.
3680`skeleton-pair-filter-function'. The old names are still available 3264`skeleton-pair-filter-function'. The old names are still available
3681as aliases. 3265as aliases.
3682 3266
3683---
3684** Hideshow mode changes 3267** Hideshow mode changes
3685 3268
3686*** New variable `hs-set-up-overlay' allows customization of the overlay 3269*** New variable `hs-set-up-overlay' allows customization of the overlay
@@ -3692,28 +3275,23 @@ temporary overlay showing in the course of an isearch operation.
3692not discard the hidden state of any "internal" blocks; when the parent 3275not discard the hidden state of any "internal" blocks; when the parent
3693block is later shown, the internal blocks remain hidden. Default is nil. 3276block is later shown, the internal blocks remain hidden. Default is nil.
3694 3277
3695+++
3696** `hide-ifdef-mode' now uses overlays rather than selective-display 3278** `hide-ifdef-mode' now uses overlays rather than selective-display
3697to hide its text. This should be mostly transparent but slightly 3279to hide its text. This should be mostly transparent but slightly
3698changes the behavior of motion commands like C-e and C-p. 3280changes the behavior of motion commands like C-e and C-p.
3699 3281
3700---
3701** `partial-completion-mode' now handles partial completion on directory names. 3282** `partial-completion-mode' now handles partial completion on directory names.
3702 3283
3703---
3704** The type-break package now allows `type-break-file-name' to be nil 3284** The type-break package now allows `type-break-file-name' to be nil
3705and if so, doesn't store any data across sessions. This is handy if 3285and if so, doesn't store any data across sessions. This is handy if
3706you don't want the `.type-break' file in your home directory or are 3286you don't want the `.type-break' file in your home directory or are
3707annoyed by the need for interaction when you kill Emacs. 3287annoyed by the need for interaction when you kill Emacs.
3708 3288
3709---
3710** `ps-print' can now print characters from the mule-unicode charsets. 3289** `ps-print' can now print characters from the mule-unicode charsets.
3711 3290
3712Printing text with characters from the mule-unicode-* sets works with 3291Printing text with characters from the mule-unicode-* sets works with
3713`ps-print', provided that you have installed the appropriate BDF 3292`ps-print', provided that you have installed the appropriate BDF
3714fonts. See the file INSTALL for URLs where you can find these fonts. 3293fonts. See the file INSTALL for URLs where you can find these fonts.
3715 3294
3716---
3717** New command `strokes-global-set-stroke-string'. 3295** New command `strokes-global-set-stroke-string'.
3718This is like `strokes-global-set-stroke', but it allows you to bind 3296This is like `strokes-global-set-stroke', but it allows you to bind
3719the stroke directly to a string to insert. This is convenient for 3297the stroke directly to a string to insert. This is convenient for
@@ -3721,7 +3299,6 @@ using strokes as an input method.
3721 3299
3722** Emacs server changes: 3300** Emacs server changes:
3723 3301
3724+++
3725*** You can have several Emacs servers on the same machine. 3302*** You can have several Emacs servers on the same machine.
3726 3303
3727 % emacs --eval '(setq server-name "foo")' -f server-start & 3304 % emacs --eval '(setq server-name "foo")' -f server-start &
@@ -3729,36 +3306,29 @@ using strokes as an input method.
3729 % emacsclient -s foo file1 3306 % emacsclient -s foo file1
3730 % emacsclient -s bar file2 3307 % emacsclient -s bar file2
3731 3308
3732+++
3733*** The `emacsclient' command understands the options `--eval' and 3309*** The `emacsclient' command understands the options `--eval' and
3734`--display' which tell Emacs respectively to evaluate the given Lisp 3310`--display' which tell Emacs respectively to evaluate the given Lisp
3735expression and to use the given display when visiting files. 3311expression and to use the given display when visiting files.
3736 3312
3737+++
3738*** User option `server-mode' can be used to start a server process. 3313*** User option `server-mode' can be used to start a server process.
3739 3314
3740---
3741** LDAP support now defaults to ldapsearch from OpenLDAP version 2. 3315** LDAP support now defaults to ldapsearch from OpenLDAP version 2.
3742 3316
3743+++
3744** You can now disable pc-selection-mode after enabling it. 3317** You can now disable pc-selection-mode after enabling it.
3745 3318
3746M-x pc-selection-mode behaves like a proper minor mode, and with no 3319M-x pc-selection-mode behaves like a proper minor mode, and with no
3747argument it toggles the mode. Turning off PC-Selection mode restores 3320argument it toggles the mode. Turning off PC-Selection mode restores
3748the global key bindings that were replaced by turning on the mode. 3321the global key bindings that were replaced by turning on the mode.
3749 3322
3750---
3751** `uniquify-strip-common-suffix' tells uniquify to prefer 3323** `uniquify-strip-common-suffix' tells uniquify to prefer
3752`file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. 3324`file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'.
3753 3325
3754---
3755** Support for `magic cookie' standout modes has been removed. 3326** Support for `magic cookie' standout modes has been removed.
3756 3327
3757Emacs still works on terminals that require magic cookies in order to 3328Emacs still works on terminals that require magic cookies in order to
3758use standout mode, but they can no longer display mode-lines in 3329use standout mode, but they can no longer display mode-lines in
3759inverse-video. 3330inverse-video.
3760 3331
3761---
3762** The game `mpuz' is enhanced. 3332** The game `mpuz' is enhanced.
3763 3333
3764`mpuz' now allows the 2nd factor not to have two identical digits. By 3334`mpuz' now allows the 2nd factor not to have two identical digits. By
@@ -3767,13 +3337,10 @@ automatically. The game uses faces for better visual feedback.
3767 3337
3768** battery.el changes: 3338** battery.el changes:
3769 3339
3770---
3771*** display-battery-mode replaces display-battery. 3340*** display-battery-mode replaces display-battery.
3772 3341
3773---
3774*** battery.el now works on recent versions of OS X. 3342*** battery.el now works on recent versions of OS X.
3775 3343
3776---
3777** calculator.el now has radix grouping mode. 3344** calculator.el now has radix grouping mode.
3778 3345
3779To enable this, set `calculator-output-radix' non-nil. In this mode a 3346To enable this, set `calculator-output-radix' non-nil. In this mode a
@@ -3781,19 +3348,14 @@ separator character is used every few digits, making it easier to see
3781byte boundaries etc. For more info, see the documentation of the 3348byte boundaries etc. For more info, see the documentation of the
3782variable `calculator-radix-grouping-mode'. 3349variable `calculator-radix-grouping-mode'.
3783 3350
3784---
3785** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. 3351** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead.
3786 3352
3787---
3788** iso-acc.el is now obsolete. Use one of the latin input methods instead. 3353** iso-acc.el is now obsolete. Use one of the latin input methods instead.
3789 3354
3790---
3791** zone-mode.el is now obsolete. Use dns-mode.el instead. 3355** zone-mode.el is now obsolete. Use dns-mode.el instead.
3792 3356
3793---
3794** cplus-md.el has been deleted. 3357** cplus-md.el has been deleted.
3795 3358
3796---
3797** Ewoc changes 3359** Ewoc changes
3798 3360
3799*** The new function `ewoc-delete' deletes specified nodes. 3361*** The new function `ewoc-delete' deletes specified nodes.
@@ -3816,7 +3378,6 @@ For example, these two sequences of expressions behave identically:
3816 3378
3817** Locate changes 3379** Locate changes
3818 3380
3819---
3820*** By default, reverting the *Locate* buffer now just runs the last 3381*** By default, reverting the *Locate* buffer now just runs the last
3821`locate' command back over again without offering to update the locate 3382`locate' command back over again without offering to update the locate
3822database (which normally only works if you have root privileges). If 3383database (which normally only works if you have root privileges). If
@@ -3826,7 +3387,6 @@ you prefer the old behavior, set the new customizable option
3826 3387
3827* Changes in Emacs 22.1 on non-free operating systems 3388* Changes in Emacs 22.1 on non-free operating systems
3828 3389
3829+++
3830** The HOME directory defaults to Application Data under the user profile. 3390** The HOME directory defaults to Application Data under the user profile.
3831 3391
3832If you used a previous version of Emacs without setting the HOME 3392If you used a previous version of Emacs without setting the HOME
@@ -3841,7 +3401,6 @@ This change means that users can now have their own `.emacs' files on
3841shared computers, and the default HOME directory is less likely to be 3401shared computers, and the default HOME directory is less likely to be
3842read-only on computers that are administered by someone else. 3402read-only on computers that are administered by someone else.
3843 3403
3844+++
3845** Passing resources on the command line now works on MS Windows. 3404** Passing resources on the command line now works on MS Windows.
3846 3405
3847You can use --xrm to pass resource settings to Emacs, overriding any 3406You can use --xrm to pass resource settings to Emacs, overriding any
@@ -3852,7 +3411,6 @@ existing values. For example:
3852will start up Emacs on an initial frame of 100x20 with red background, 3411will start up Emacs on an initial frame of 100x20 with red background,
3853irrespective of geometry or background setting on the Windows registry. 3412irrespective of geometry or background setting on the Windows registry.
3854 3413
3855---
3856** On MS Windows, the "system caret" now follows the cursor. 3414** On MS Windows, the "system caret" now follows the cursor.
3857 3415
3858This enables Emacs to work better with programs that need to track the 3416This enables Emacs to work better with programs that need to track the
@@ -3862,12 +3420,10 @@ instead of Emacs drawing its own cursor. This seems to be required by
3862some programs. The new variable w32-use-visible-system-caret allows 3420some programs. The new variable w32-use-visible-system-caret allows
3863the caret visibility to be manually toggled. 3421the caret visibility to be manually toggled.
3864 3422
3865---
3866** Tooltips now work on MS Windows. 3423** Tooltips now work on MS Windows.
3867 3424
3868See the Emacs 21.1 NEWS entry for tooltips for details. 3425See the Emacs 21.1 NEWS entry for tooltips for details.
3869 3426
3870---
3871** Images are now supported on MS Windows. 3427** Images are now supported on MS Windows.
3872 3428
3873PBM and XBM images are supported out of the box. Other image formats 3429PBM and XBM images are supported out of the box. Other image formats
@@ -3877,7 +3433,6 @@ http://gnuwin32.sourceforge.net/. Note that libpng also depends on
3877zlib, and tiff depends on the version of jpeg that it was compiled 3433zlib, and tiff depends on the version of jpeg that it was compiled
3878against. For additional information, see nt/INSTALL. 3434against. For additional information, see nt/INSTALL.
3879 3435
3880---
3881** Sound is now supported on MS Windows. 3436** Sound is now supported on MS Windows.
3882 3437
3883WAV format is supported on all versions of Windows, other formats such 3438WAV format is supported on all versions of Windows, other formats such
@@ -3885,19 +3440,16 @@ as AU, AIFF and MP3 may be supported in the more recent versions of
3885Windows, or when other software provides hooks into the system level 3440Windows, or when other software provides hooks into the system level
3886sound support for those formats. 3441sound support for those formats.
3887 3442
3888---
3889** Different shaped mouse pointers are supported on MS Windows. 3443** Different shaped mouse pointers are supported on MS Windows.
3890 3444
3891The mouse pointer changes shape depending on what is under the pointer. 3445The mouse pointer changes shape depending on what is under the pointer.
3892 3446
3893---
3894** Pointing devices with more than 3 buttons are now supported on MS Windows. 3447** Pointing devices with more than 3 buttons are now supported on MS Windows.
3895 3448
3896The new variable `w32-pass-extra-mouse-buttons-to-system' controls 3449The new variable `w32-pass-extra-mouse-buttons-to-system' controls
3897whether Emacs should handle the extra buttons itself (the default), or 3450whether Emacs should handle the extra buttons itself (the default), or
3898pass them to Windows to be handled with system-wide functions. 3451pass them to Windows to be handled with system-wide functions.
3899 3452
3900---
3901** Emacs takes note of colors defined in Control Panel on MS-Windows. 3453** Emacs takes note of colors defined in Control Panel on MS-Windows.
3902 3454
3903The Control Panel defines some default colors for applications in much 3455The Control Panel defines some default colors for applications in much
@@ -3908,7 +3460,6 @@ some of them to initialize some of the default faces.
3908`list-colors-display' shows the list of System color names, in case 3460`list-colors-display' shows the list of System color names, in case
3909you wish to use them in other faces. 3461you wish to use them in other faces.
3910 3462
3911---
3912** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. 3463** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations.
3913 3464
3914Those systems use Unicode internally, so this allows Emacs to share 3465Those systems use Unicode internally, so this allows Emacs to share
@@ -3917,7 +3468,6 @@ MS Windows, Emacs now uses the appropriate locale coding-system, so
3917the clipboard should work correctly for your local language without 3468the clipboard should work correctly for your local language without
3918any customizations. 3469any customizations.
3919 3470
3920---
3921** Running in a console window in Windows now uses the console size. 3471** Running in a console window in Windows now uses the console size.
3922 3472
3923Previous versions of Emacs erred on the side of having a usable Emacs 3473Previous versions of Emacs erred on the side of having a usable Emacs
@@ -3931,46 +3481,37 @@ defaults to 80x25. If you use such a telnet server regularly at a size
3931other than 80x25, you can still manually set 3481other than 80x25, you can still manually set
3932w32-use-full-screen-buffer to t. 3482w32-use-full-screen-buffer to t.
3933 3483
3934---
3935** On Mac OS, `keyboard-coding-system' changes based on the keyboard script. 3484** On Mac OS, `keyboard-coding-system' changes based on the keyboard script.
3936 3485
3937---
3938** The variable `mac-keyboard-text-encoding' and the constants 3486** The variable `mac-keyboard-text-encoding' and the constants
3939`kTextEncodingMacRoman', `kTextEncodingISOLatin1', and 3487`kTextEncodingMacRoman', `kTextEncodingISOLatin1', and
3940`kTextEncodingISOLatin2' are obsolete. 3488`kTextEncodingISOLatin2' are obsolete.
3941 3489
3942+++
3943** The variable `mac-command-key-is-meta' is obsolete. Use 3490** The variable `mac-command-key-is-meta' is obsolete. Use
3944`mac-command-modifier' and `mac-option-modifier' instead. 3491`mac-command-modifier' and `mac-option-modifier' instead.
3945 3492
3946* Incompatible Lisp Changes in Emacs 22.1 3493* Incompatible Lisp Changes in Emacs 22.1
3947 3494
3948+++
3949** The `read-file-name' function now returns a null string if the 3495** The `read-file-name' function now returns a null string if the
3950user just types RET. 3496user just types RET.
3951 3497
3952+++
3953** The function find-operation-coding-system may be called with a cons 3498** The function find-operation-coding-system may be called with a cons
3954(FILENAME . BUFFER) in the second argument if the first argument 3499(FILENAME . BUFFER) in the second argument if the first argument
3955OPERATION is `insert-file-contents', and thus a function registered in 3500OPERATION is `insert-file-contents', and thus a function registered in
3956`file-coding-system-alist' is also called with such an argument. 3501`file-coding-system-alist' is also called with such an argument.
3957 3502
3958---
3959** The variables post-command-idle-hook and post-command-idle-delay have 3503** The variables post-command-idle-hook and post-command-idle-delay have
3960been removed. Use run-with-idle-timer instead. 3504been removed. Use run-with-idle-timer instead.
3961 3505
3962+++
3963** `suppress-keymap' now works by remapping `self-insert-command' to 3506** `suppress-keymap' now works by remapping `self-insert-command' to
3964the command `undefined'. (In earlier Emacs versions, it used 3507the command `undefined'. (In earlier Emacs versions, it used
3965`substitute-key-definition' to rebind self inserting characters to 3508`substitute-key-definition' to rebind self inserting characters to
3966`undefined'.) 3509`undefined'.)
3967 3510
3968+++
3969** Mode line display ignores text properties as well as the 3511** Mode line display ignores text properties as well as the
3970:propertize and :eval forms in the value of a variable whose 3512:propertize and :eval forms in the value of a variable whose
3971`risky-local-variable' property is nil. 3513`risky-local-variable' property is nil.
3972 3514
3973---
3974The function `comint-send-input' now accepts 3 optional arguments: 3515The function `comint-send-input' now accepts 3 optional arguments:
3975 3516
3976 (comint-send-input &optional no-newline artificial) 3517 (comint-send-input &optional no-newline artificial)
@@ -3979,23 +3520,18 @@ Callers sending input not from the user should use bind the 3rd
3979argument `artificial' to a non-nil value, to prevent Emacs from 3520argument `artificial' to a non-nil value, to prevent Emacs from
3980deleting the part of subprocess output that matches the input. 3521deleting the part of subprocess output that matches the input.
3981 3522
3982---
3983** Support for Mocklisp has been removed. 3523** Support for Mocklisp has been removed.
3984 3524
3985+++
3986** The variable `memory-full' now remains t until 3525** The variable `memory-full' now remains t until
3987there is no longer a shortage of memory. 3526there is no longer a shortage of memory.
3988 3527
3989+++
3990** When Emacs receives a USR1 or USR2 signal, this generates 3528** When Emacs receives a USR1 or USR2 signal, this generates
3991input events: sigusr1 or sigusr2. Use special-event-map to 3529input events: sigusr1 or sigusr2. Use special-event-map to
3992handle these events. 3530handle these events.
3993 3531
3994+++
3995** A hex or octal escape in a string constant forces the string to 3532** A hex or octal escape in a string constant forces the string to
3996be multibyte or unibyte, respectively. 3533be multibyte or unibyte, respectively.
3997 3534
3998+++
3999** The explicit method of creating a display table element by 3535** The explicit method of creating a display table element by
4000combining a face number and a character code into a numeric 3536combining a face number and a character code into a numeric
4001glyph code is deprecated. 3537glyph code is deprecated.
@@ -4009,45 +3545,36 @@ display tables.
4009 3545
4010** General Lisp changes: 3546** General Lisp changes:
4011 3547
4012+++
4013*** The function `expt' handles negative exponents differently. 3548*** The function `expt' handles negative exponents differently.
4014The value for `(expt A B)', if both A and B are integers and B is 3549The value for `(expt A B)', if both A and B are integers and B is
4015negative, is now a float. For example: (expt 2 -2) => 0.25. 3550negative, is now a float. For example: (expt 2 -2) => 0.25.
4016 3551
4017+++
4018*** The function `eql' is now available without requiring the CL package. 3552*** The function `eql' is now available without requiring the CL package.
4019 3553
4020+++
4021*** The new function `memql' is like `memq', but uses `eql' for comparison, 3554*** The new function `memql' is like `memq', but uses `eql' for comparison,
4022that is, floats are compared by value and other elements with `eq'. 3555that is, floats are compared by value and other elements with `eq'.
4023 3556
4024+++
4025*** `makehash' is now obsolete. Use `make-hash-table' instead. 3557*** `makehash' is now obsolete. Use `make-hash-table' instead.
4026 3558
4027+++
4028*** `add-to-list' takes an optional third argument, APPEND. 3559*** `add-to-list' takes an optional third argument, APPEND.
4029 3560
4030If APPEND is non-nil, the new element gets added at the end of the 3561If APPEND is non-nil, the new element gets added at the end of the
4031list instead of at the beginning. This change actually occurred in 3562list instead of at the beginning. This change actually occurred in
4032Emacs 21.1, but was not documented then. 3563Emacs 21.1, but was not documented then.
4033 3564
4034+++
4035*** New function `add-to-ordered-list' is like `add-to-list' but 3565*** New function `add-to-ordered-list' is like `add-to-list' but
4036associates a numeric ordering of each element added to the list. 3566associates a numeric ordering of each element added to the list.
4037 3567
4038+++
4039*** New function `copy-tree' makes a copy of a tree. 3568*** New function `copy-tree' makes a copy of a tree.
4040 3569
4041It recursively copies through both CARs and CDRs. 3570It recursively copies through both CARs and CDRs.
4042 3571
4043+++
4044*** New function `delete-dups' deletes `equal' duplicate elements from a list. 3572*** New function `delete-dups' deletes `equal' duplicate elements from a list.
4045 3573
4046It modifies the list destructively, like `delete'. Of several `equal' 3574It modifies the list destructively, like `delete'. Of several `equal'
4047occurrences of an element in the list, the one that's kept is the 3575occurrences of an element in the list, the one that's kept is the
4048first one. 3576first one.
4049 3577
4050+++
4051*** New function `add-to-history' adds an element to a history list. 3578*** New function `add-to-history' adds an element to a history list.
4052 3579
4053Lisp packages should use this function to add elements to their 3580Lisp packages should use this function to add elements to their
@@ -4056,13 +3583,11 @@ history lists.
4056If `history-delete-duplicates' is non-nil, it removes duplicates of 3583If `history-delete-duplicates' is non-nil, it removes duplicates of
4057the new element from the history list it updates. 3584the new element from the history list it updates.
4058 3585
4059+++
4060*** New function `rassq-delete-all'. 3586*** New function `rassq-delete-all'.
4061 3587
4062(rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose 3588(rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose
4063CDR is `eq' to the specified value. 3589CDR is `eq' to the specified value.
4064 3590
4065+++
4066*** The function `number-sequence' makes a list of equally-separated numbers. 3591*** The function `number-sequence' makes a list of equally-separated numbers.
4067 3592
4068For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By 3593For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By
@@ -4070,30 +3595,25 @@ default, the separation is 1, but you can specify a different
4070separation as the third argument. (number-sequence 1.5 6 2) returns 3595separation as the third argument. (number-sequence 1.5 6 2) returns
4071(1.5 3.5 5.5). 3596(1.5 3.5 5.5).
4072 3597
4073+++
4074*** New variables `most-positive-fixnum' and `most-negative-fixnum'. 3598*** New variables `most-positive-fixnum' and `most-negative-fixnum'.
4075 3599
4076They hold the largest and smallest possible integer values. 3600They hold the largest and smallest possible integer values.
4077 3601
4078+++
4079*** Minor change in the function `format'. 3602*** Minor change in the function `format'.
4080 3603
4081Some flags that were accepted but not implemented (such as "*") are no 3604Some flags that were accepted but not implemented (such as "*") are no
4082longer accepted. 3605longer accepted.
4083 3606
4084+++
4085*** Functions `get' and `plist-get' no longer give errors for bad plists. 3607*** Functions `get' and `plist-get' no longer give errors for bad plists.
4086 3608
4087They return nil for a malformed property list or if the list is 3609They return nil for a malformed property list or if the list is
4088cyclic. 3610cyclic.
4089 3611
4090+++
4091*** New functions `lax-plist-get' and `lax-plist-put'. 3612*** New functions `lax-plist-get' and `lax-plist-put'.
4092 3613
4093They are like `plist-get' and `plist-put', except that they compare 3614They are like `plist-get' and `plist-put', except that they compare
4094the property name using `equal' rather than `eq'. 3615the property name using `equal' rather than `eq'.
4095 3616
4096+++
4097*** New variable `print-continuous-numbering'. 3617*** New variable `print-continuous-numbering'.
4098 3618
4099When this is non-nil, successive calls to print functions use a single 3619When this is non-nil, successive calls to print functions use a single
@@ -4103,21 +3623,18 @@ relevant when `print-circle' is non-nil.
4103When you bind `print-continuous-numbering' to t, you should 3623When you bind `print-continuous-numbering' to t, you should
4104also bind `print-number-table' to nil. 3624also bind `print-number-table' to nil.
4105 3625
4106+++
4107*** New function `macroexpand-all' expands all macros in a form. 3626*** New function `macroexpand-all' expands all macros in a form.
4108 3627
4109It is similar to the Common-Lisp function of the same name. 3628It is similar to the Common-Lisp function of the same name.
4110One difference is that it guarantees to return the original argument 3629One difference is that it guarantees to return the original argument
4111if no expansion is done, which can be tested using `eq'. 3630if no expansion is done, which can be tested using `eq'.
4112 3631
4113+++
4114*** The function `atan' now accepts an optional second argument. 3632*** The function `atan' now accepts an optional second argument.
4115 3633
4116When called with 2 arguments, as in `(atan Y X)', `atan' returns the 3634When called with 2 arguments, as in `(atan Y X)', `atan' returns the
4117angle in radians between the vector [X, Y] and the X axis. (This is 3635angle in radians between the vector [X, Y] and the X axis. (This is
4118equivalent to the standard C library function `atan2'.) 3636equivalent to the standard C library function `atan2'.)
4119 3637
4120+++
4121*** A function or macro's doc string can now specify the calling pattern. 3638*** A function or macro's doc string can now specify the calling pattern.
4122 3639
4123You put this info in the doc string's last line. It should be 3640You put this info in the doc string's last line. It should be
@@ -4125,7 +3642,6 @@ formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't
4125specify this explicitly, Emacs determines it from the actual argument 3642specify this explicitly, Emacs determines it from the actual argument
4126names. Usually that default is right, but not always. 3643names. Usually that default is right, but not always.
4127 3644
4128+++
4129*** New macro `with-local-quit' temporarily allows quitting. 3645*** New macro `with-local-quit' temporarily allows quitting.
4130 3646
4131A quit inside the body of `with-local-quit' is caught by the 3647A quit inside the body of `with-local-quit' is caught by the
@@ -4135,55 +3651,45 @@ the code that has inhibited quitting exits.
4135This is for use around potentially blocking or long-running code 3651This is for use around potentially blocking or long-running code
4136inside timer functions and `post-command-hook' functions. 3652inside timer functions and `post-command-hook' functions.
4137 3653
4138+++
4139*** New macro `define-obsolete-function-alias'. 3654*** New macro `define-obsolete-function-alias'.
4140 3655
4141This combines `defalias' and `make-obsolete'. 3656This combines `defalias' and `make-obsolete'.
4142 3657
4143+++
4144*** New macro `with-case-table' 3658*** New macro `with-case-table'
4145 3659
4146This executes the body with the case table temporarily set to a given 3660This executes the body with the case table temporarily set to a given
4147case table. 3661case table.
4148 3662
4149+++
4150*** New function `unsafep' determines whether a Lisp form is safe. 3663*** New function `unsafep' determines whether a Lisp form is safe.
4151 3664
4152It returns nil if the given Lisp form can't possibly do anything 3665It returns nil if the given Lisp form can't possibly do anything
4153dangerous; otherwise it returns a reason why the form might be unsafe 3666dangerous; otherwise it returns a reason why the form might be unsafe
4154(calls unknown function, alters global variable, etc.). 3667(calls unknown function, alters global variable, etc.).
4155 3668
4156+++
4157*** New macro `eval-at-startup' specifies expressions to 3669*** New macro `eval-at-startup' specifies expressions to
4158evaluate when Emacs starts up. If this is done after startup, 3670evaluate when Emacs starts up. If this is done after startup,
4159it evaluates those expressions immediately. 3671it evaluates those expressions immediately.
4160 3672
4161This is useful in packages that can be preloaded. 3673This is useful in packages that can be preloaded.
4162 3674
4163+++
4164*** `list-faces-display' takes an optional argument, REGEXP. 3675*** `list-faces-display' takes an optional argument, REGEXP.
4165 3676
4166If it is non-nil, the function lists only faces matching this regexp. 3677If it is non-nil, the function lists only faces matching this regexp.
4167 3678
4168+++
4169*** New functions `string-or-null-p' and `booleanp'. 3679*** New functions `string-or-null-p' and `booleanp'.
4170 3680
4171`string-or-null-p' returns non-nil iff OBJECT is a string or nil. 3681`string-or-null-p' returns non-nil iff OBJECT is a string or nil.
4172`booleanp' returns non-nil iff OBJECT is t or nil. 3682`booleanp' returns non-nil iff OBJECT is t or nil.
4173 3683
4174+++
4175*** New hook `command-error-function'. 3684*** New hook `command-error-function'.
4176 3685
4177By setting this variable to a function, you can control 3686By setting this variable to a function, you can control
4178how the editor command loop shows the user an error message. 3687how the editor command loop shows the user an error message.
4179 3688
4180+++ 3689*** `debug-on-entry' accepts primitive functions that are not special forms.
4181*** `debug-on-entry' accepts primitive functions that are not special forms
4182now.
4183 3690
4184** Lisp code indentation features: 3691** Lisp code indentation features:
4185 3692
4186+++
4187*** The `defmacro' form can contain indentation and edebug declarations. 3693*** The `defmacro' form can contain indentation and edebug declarations.
4188 3694
4189These declarations specify how to indent the macro calls in Lisp mode 3695These declarations specify how to indent the macro calls in Lisp mode
@@ -4202,12 +3708,10 @@ possible declaration specifiers are:
4202 equivalent to writing a `def-edebug-spec' for the macro, 3708 equivalent to writing a `def-edebug-spec' for the macro,
4203 but this is cleaner.) 3709 but this is cleaner.)
4204 3710
4205---
4206*** cl-indent now allows customization of Indentation of backquoted forms. 3711*** cl-indent now allows customization of Indentation of backquoted forms.
4207 3712
4208See the new user option `lisp-backquote-indentation'. 3713See the new user option `lisp-backquote-indentation'.
4209 3714
4210---
4211*** cl-indent now handles indentation of simple and extended `loop' forms. 3715*** cl-indent now handles indentation of simple and extended `loop' forms.
4212 3716
4213The new user options `lisp-loop-keyword-indentation', 3717The new user options `lisp-loop-keyword-indentation',
@@ -4215,7 +3719,6 @@ The new user options `lisp-loop-keyword-indentation',
4215be used to customize the indentation of keywords and forms in loop 3719be used to customize the indentation of keywords and forms in loop
4216forms. 3720forms.
4217 3721
4218+++
4219** Variable aliases: 3722** Variable aliases:
4220 3723
4221*** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING] 3724*** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING]
@@ -4237,64 +3740,52 @@ defined as an alias, the function returns VARIABLE.
4237It might be noteworthy that variables aliases work for all kinds of 3740It might be noteworthy that variables aliases work for all kinds of
4238variables, including buffer-local and frame-local variables. 3741variables, including buffer-local and frame-local variables.
4239 3742
4240+++
4241*** The macro `define-obsolete-variable-alias' combines `defvaralias' and 3743*** The macro `define-obsolete-variable-alias' combines `defvaralias' and
4242`make-obsolete-variable'. 3744`make-obsolete-variable'.
4243 3745
4244** defcustom changes: 3746** defcustom changes:
4245 3747
4246+++
4247*** The package-version keyword has been added to provide 3748*** The package-version keyword has been added to provide
4248`customize-changed-options' functionality to packages in the future. 3749`customize-changed-options' functionality to packages in the future.
4249Developers who make use of this keyword must also update the new 3750Developers who make use of this keyword must also update the new
4250variable `customize-package-emacs-version-alist'. 3751variable `customize-package-emacs-version-alist'.
4251 3752
4252+++
4253*** The new customization type `float' requires a floating point number. 3753*** The new customization type `float' requires a floating point number.
4254 3754
4255** String changes: 3755** String changes:
4256 3756
4257+++
4258*** The escape sequence \s is now interpreted as a SPACE character. 3757*** The escape sequence \s is now interpreted as a SPACE character.
4259 3758
4260Exception: In a character constant, if it is followed by a `-' in a 3759Exception: In a character constant, if it is followed by a `-' in a
4261character constant (e.g. ?\s-A), it is still interpreted as the super 3760character constant (e.g. ?\s-A), it is still interpreted as the super
4262modifier. In strings, \s is always interpreted as a space. 3761modifier. In strings, \s is always interpreted as a space.
4263 3762
4264+++
4265*** A hex escape in a string constant forces the string to be multibyte. 3763*** A hex escape in a string constant forces the string to be multibyte.
4266 3764
4267+++
4268*** An octal escape in a string constant forces the string to be unibyte. 3765*** An octal escape in a string constant forces the string to be unibyte.
4269 3766
4270+++
4271*** `split-string' now includes null substrings in the returned list if 3767*** `split-string' now includes null substrings in the returned list if
4272the optional argument SEPARATORS is non-nil and there are matches for 3768the optional argument SEPARATORS is non-nil and there are matches for
4273SEPARATORS at the beginning or end of the string. If SEPARATORS is 3769SEPARATORS at the beginning or end of the string. If SEPARATORS is
4274nil, or if the new optional third argument OMIT-NULLS is non-nil, all 3770nil, or if the new optional third argument OMIT-NULLS is non-nil, all
4275empty matches are omitted from the returned list. 3771empty matches are omitted from the returned list.
4276 3772
4277+++
4278*** New function `string-to-multibyte' converts a unibyte string to a 3773*** New function `string-to-multibyte' converts a unibyte string to a
4279multibyte string with the same individual character codes. 3774multibyte string with the same individual character codes.
4280 3775
4281+++
4282*** New function `substring-no-properties' returns a substring without 3776*** New function `substring-no-properties' returns a substring without
4283text properties. 3777text properties.
4284 3778
4285+++
4286*** The new function `assoc-string' replaces `assoc-ignore-case' and 3779*** The new function `assoc-string' replaces `assoc-ignore-case' and
4287`assoc-ignore-representation', which are still available, but have 3780`assoc-ignore-representation', which are still available, but have
4288been declared obsolete. 3781been declared obsolete.
4289 3782
4290+++
4291*** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex. 3783*** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex.
4292Use "\u0428" to specify a string consisting of CYRILLIC CAPITAL LETTER SHA, 3784Use "\u0428" to specify a string consisting of CYRILLIC CAPITAL LETTER SHA,
4293or "\U0001D6E2" to specify one consisting of MATHEMATICAL ITALIC CAPITAL 3785or "\U0001D6E2" to specify one consisting of MATHEMATICAL ITALIC CAPITAL
4294ALPHA (the latter is greater than #xFFFF and thus needs the longer 3786ALPHA (the latter is greater than #xFFFF and thus needs the longer
4295syntax). Also available for characters. 3787syntax). Also available for characters.
4296 3788
4297+++
4298** Displaying warnings to the user. 3789** Displaying warnings to the user.
4299 3790
4300See the functions `warn' and `display-warning', or the Lisp Manual. 3791See the functions `warn' and `display-warning', or the Lisp Manual.
@@ -4302,7 +3793,6 @@ If you want to be sure the warning will not be overlooked, this
4302facility is much better than using `message', since it displays 3793facility is much better than using `message', since it displays
4303warnings in a separate window. 3794warnings in a separate window.
4304 3795
4305+++
4306** Progress reporters. 3796** Progress reporters.
4307 3797
4308These provide a simple and uniform way for commands to present 3798These provide a simple and uniform way for commands to present
@@ -4314,85 +3804,70 @@ See the new functions `make-progress-reporter',
4314 3804
4315** Buffer positions: 3805** Buffer positions:
4316 3806
4317+++
4318*** Function `compute-motion' now calculates the usable window 3807*** Function `compute-motion' now calculates the usable window
4319width if the WIDTH argument is nil. If the TOPOS argument is nil, 3808width if the WIDTH argument is nil. If the TOPOS argument is nil,
4320the usable window height and width is used. 3809the usable window height and width is used.
4321 3810
4322+++
4323*** The `line-move', `scroll-up', and `scroll-down' functions will now 3811*** The `line-move', `scroll-up', and `scroll-down' functions will now
4324modify the window vscroll to scroll through display rows that are 3812modify the window vscroll to scroll through display rows that are
4325taller that the height of the window, for example in the presence of 3813taller that the height of the window, for example in the presence of
4326large images. To disable this feature, bind the new variable 3814large images. To disable this feature, bind the new variable
4327`auto-window-vscroll' to nil. 3815`auto-window-vscroll' to nil.
4328 3816
4329+++
4330*** The argument to `forward-word', `backward-word' is optional. 3817*** The argument to `forward-word', `backward-word' is optional.
4331 3818
4332It defaults to 1. 3819It defaults to 1.
4333 3820
4334+++
4335*** Argument to `forward-to-indentation' and `backward-to-indentation' is optional. 3821*** Argument to `forward-to-indentation' and `backward-to-indentation' is optional.
4336 3822
4337It defaults to 1. 3823It defaults to 1.
4338 3824
4339+++
4340*** New function `mouse-on-link-p' tests if a position is in a clickable link. 3825*** New function `mouse-on-link-p' tests if a position is in a clickable link.
4341 3826
4342This is the function used by the new `mouse-1-click-follows-link' 3827This is the function used by the new `mouse-1-click-follows-link'
4343functionality. 3828functionality.
4344 3829
4345+++
4346*** New function `line-number-at-pos' returns the line number of a position. 3830*** New function `line-number-at-pos' returns the line number of a position.
4347 3831
4348It an optional buffer position argument that defaults to point. 3832It an optional buffer position argument that defaults to point.
4349 3833
4350+++
4351*** `field-beginning' and `field-end' take new optional argument, LIMIT. 3834*** `field-beginning' and `field-end' take new optional argument, LIMIT.
4352 3835
4353This argument tells them not to search beyond LIMIT. Instead they 3836This argument tells them not to search beyond LIMIT. Instead they
4354give up and return LIMIT. 3837give up and return LIMIT.
4355 3838
4356+++
4357*** Function `pos-visible-in-window-p' now returns the pixel coordinates 3839*** Function `pos-visible-in-window-p' now returns the pixel coordinates
4358and partial visibility state of the corresponding row, if the PARTIALLY 3840and partial visibility state of the corresponding row, if the PARTIALLY
4359arg is non-nil. 3841arg is non-nil.
4360 3842
4361+++
4362*** New function `window-line-height' is an efficient way to get 3843*** New function `window-line-height' is an efficient way to get
4363information about a specific text line in a window provided that the 3844information about a specific text line in a window provided that the
4364window's display is up-to-date. 3845window's display is up-to-date.
4365 3846
4366+++
4367*** New functions `posn-at-point' and `posn-at-x-y' return 3847*** New functions `posn-at-point' and `posn-at-x-y' return
4368click-event-style position information for a given visible buffer 3848click-event-style position information for a given visible buffer
4369position or for a given window pixel coordinate. 3849position or for a given window pixel coordinate.
4370 3850
4371** Text modification: 3851** Text modification:
4372 3852
4373+++
4374*** The new function `buffer-chars-modified-tick' returns a buffer's 3853*** The new function `buffer-chars-modified-tick' returns a buffer's
4375tick counter for changes to characters. Each time text in that buffer 3854tick counter for changes to characters. Each time text in that buffer
4376is inserted or deleted, the character-change counter is updated to the 3855is inserted or deleted, the character-change counter is updated to the
4377tick counter (`buffer-modified-tick'). Text property changes leave it 3856tick counter (`buffer-modified-tick'). Text property changes leave it
4378unchanged. 3857unchanged.
4379 3858
4380+++
4381*** The new function `insert-for-yank' normally works like `insert', but 3859*** The new function `insert-for-yank' normally works like `insert', but
4382removes the text properties in the `yank-excluded-properties' list 3860removes the text properties in the `yank-excluded-properties' list
4383and handles the `yank-handler' text property. 3861and handles the `yank-handler' text property.
4384 3862
4385+++
4386*** The new function `insert-buffer-substring-as-yank' is like 3863*** The new function `insert-buffer-substring-as-yank' is like
4387`insert-for-yank' except that it gets the text from another buffer as 3864`insert-for-yank' except that it gets the text from another buffer as
4388in `insert-buffer-substring'. 3865in `insert-buffer-substring'.
4389 3866
4390+++
4391*** The new function `insert-buffer-substring-no-properties' is like 3867*** The new function `insert-buffer-substring-no-properties' is like
4392`insert-buffer-substring', but removes all text properties from the 3868`insert-buffer-substring', but removes all text properties from the
4393inserted substring. 3869inserted substring.
4394 3870
4395+++
4396*** The new function `filter-buffer-substring' extracts a buffer 3871*** The new function `filter-buffer-substring' extracts a buffer
4397substring, passes it through a set of filter functions, and returns 3872substring, passes it through a set of filter functions, and returns
4398the filtered substring. Use it instead of `buffer-substring' or 3873the filtered substring. Use it instead of `buffer-substring' or
@@ -4404,33 +3879,27 @@ The list of filter function is specified by the new variable
4404`buffer-substring-filters' to remove soft newlines from the copied 3879`buffer-substring-filters' to remove soft newlines from the copied
4405text. 3880text.
4406 3881
4407+++
4408*** Function `translate-region' accepts also a char-table as TABLE 3882*** Function `translate-region' accepts also a char-table as TABLE
4409argument. 3883argument.
4410 3884
4411+++
4412*** The new translation table `translation-table-for-input' 3885*** The new translation table `translation-table-for-input'
4413is used for customizing self-insertion. The character to 3886is used for customizing self-insertion. The character to
4414be inserted is translated through it. 3887be inserted is translated through it.
4415 3888
4416---
4417*** Text clones. 3889*** Text clones.
4418 3890
4419The new function `text-clone-create'. Text clones are chunks of text 3891The new function `text-clone-create'. Text clones are chunks of text
4420that are kept identical by transparently propagating changes from one 3892that are kept identical by transparently propagating changes from one
4421clone to the other. 3893clone to the other.
4422 3894
4423---
4424*** The function `insert-string' is now obsolete. 3895*** The function `insert-string' is now obsolete.
4425 3896
4426** Filling changes. 3897** Filling changes.
4427 3898
4428+++
4429*** In determining an adaptive fill prefix, Emacs now tries the function in 3899*** In determining an adaptive fill prefix, Emacs now tries the function in
4430`adaptive-fill-function' _before_ matching the buffer line against 3900`adaptive-fill-function' _before_ matching the buffer line against
4431`adaptive-fill-regexp' rather than _after_ it. 3901`adaptive-fill-regexp' rather than _after_ it.
4432 3902
4433+++
4434** Atomic change groups. 3903** Atomic change groups.
4435 3904
4436To perform some changes in the current buffer "atomically" so that 3905To perform some changes in the current buffer "atomically" so that
@@ -4490,21 +3959,17 @@ finished.
4490 3959
4491** Buffer-related changes: 3960** Buffer-related changes:
4492 3961
4493---
4494*** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. 3962*** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST.
4495 3963
4496If it is non-nil, it specifies which buffers to list. 3964If it is non-nil, it specifies which buffers to list.
4497 3965
4498+++
4499*** `kill-buffer-hook' is now a permanent local. 3966*** `kill-buffer-hook' is now a permanent local.
4500 3967
4501+++
4502*** The new function `buffer-local-value' returns the buffer-local 3968*** The new function `buffer-local-value' returns the buffer-local
4503binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not 3969binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not
4504have a buffer-local binding in buffer BUFFER, it returns the default 3970have a buffer-local binding in buffer BUFFER, it returns the default
4505value of VARIABLE instead. 3971value of VARIABLE instead.
4506 3972
4507---
4508*** The function `frame-or-buffer-changed-p' now lets you maintain 3973*** The function `frame-or-buffer-changed-p' now lets you maintain
4509various status records in parallel. 3974various status records in parallel.
4510 3975
@@ -4524,7 +3989,6 @@ If the variable is itself nil, then `frame-or-buffer-changed-p' uses,
4524for compatibility, an internal variable which exists only for this 3989for compatibility, an internal variable which exists only for this
4525purpose. 3990purpose.
4526 3991
4527+++
4528*** The function `read-buffer' follows the convention for reading from 3992*** The function `read-buffer' follows the convention for reading from
4529the minibuffer with a default value: if DEF is non-nil, the minibuffer 3993the minibuffer with a default value: if DEF is non-nil, the minibuffer
4530prompt provided in PROMPT is edited to show the default value provided 3994prompt provided in PROMPT is edited to show the default value provided
@@ -4532,12 +3996,10 @@ in DEF before the terminal colon and space.
4532 3996
4533** Searching and matching changes: 3997** Searching and matching changes:
4534 3998
4535+++
4536*** New function `looking-back' checks whether a regular expression matches 3999*** New function `looking-back' checks whether a regular expression matches
4537the text before point. Specifying the LIMIT argument bounds how far 4000the text before point. Specifying the LIMIT argument bounds how far
4538back the match can start; this is a way to keep it from taking too long. 4001back the match can start; this is a way to keep it from taking too long.
4539 4002
4540+++
4541*** The new variable `search-spaces-regexp' controls how to search 4003*** The new variable `search-spaces-regexp' controls how to search
4542for spaces in a regular expression. If it is non-nil, it should be a 4004for spaces in a regular expression. If it is non-nil, it should be a
4543regular expression, and any series of spaces stands for that regular 4005regular expression, and any series of spaces stands for that regular
@@ -4546,36 +4008,29 @@ expression. If it is nil, spaces stand for themselves.
4546Spaces inside of constructs such as `[..]' and inside loops such as 4008Spaces inside of constructs such as `[..]' and inside loops such as
4547`*', `+', and `?' are never replaced with `search-spaces-regexp'. 4009`*', `+', and `?' are never replaced with `search-spaces-regexp'.
4548 4010
4549+++
4550*** New regular expression operators, `\_<' and `\_>'. 4011*** New regular expression operators, `\_<' and `\_>'.
4551 4012
4552These match the beginning and end of a symbol. A symbol is a 4013These match the beginning and end of a symbol. A symbol is a
4553non-empty sequence of either word or symbol constituent characters, as 4014non-empty sequence of either word or symbol constituent characters, as
4554specified by the syntax table. 4015specified by the syntax table.
4555 4016
4556---
4557*** rx.el has new corresponding `symbol-start' and `symbol-end' elements. 4017*** rx.el has new corresponding `symbol-start' and `symbol-end' elements.
4558 4018
4559+++
4560*** `skip-chars-forward' and `skip-chars-backward' now handle 4019*** `skip-chars-forward' and `skip-chars-backward' now handle
4561character classes such as `[:alpha:]', along with individual 4020character classes such as `[:alpha:]', along with individual
4562characters and ranges. 4021characters and ranges.
4563 4022
4564---
4565*** In `replace-match', the replacement text no longer inherits 4023*** In `replace-match', the replacement text no longer inherits
4566properties from surrounding text. 4024properties from surrounding text.
4567 4025
4568+++
4569*** The list returned by `(match-data t)' now has the buffer as a final 4026*** The list returned by `(match-data t)' now has the buffer as a final
4570element, if the last match was on a buffer. `set-match-data' 4027element, if the last match was on a buffer. `set-match-data'
4571accepts such a list for restoring the match state. 4028accepts such a list for restoring the match state.
4572 4029
4573+++
4574*** Functions `match-data' and `set-match-data' now have an optional 4030*** Functions `match-data' and `set-match-data' now have an optional
4575argument `reseat'. When non-nil, all markers in the match data list 4031argument `reseat'. When non-nil, all markers in the match data list
4576passed to these functions will be reseated to point to nowhere. 4032passed to these functions will be reseated to point to nowhere.
4577 4033
4578+++
4579*** The default value of `sentence-end' is now defined using the new 4034*** The default value of `sentence-end' is now defined using the new
4580variable `sentence-end-without-space', which contains such characters 4035variable `sentence-end-without-space', which contains such characters
4581that end a sentence without following spaces. 4036that end a sentence without following spaces.
@@ -4588,7 +4043,6 @@ this function returns the regexp constructed from the variables
4588 4043
4589** Undo changes: 4044** Undo changes:
4590 4045
4591+++
4592*** `buffer-undo-list' allows programmable elements. 4046*** `buffer-undo-list' allows programmable elements.
4593 4047
4594These elements have the form (apply FUNNAME . ARGS), where FUNNAME is 4048These elements have the form (apply FUNNAME . ARGS), where FUNNAME is
@@ -4599,12 +4053,10 @@ These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS)
4599which indicates that the change which took place was limited to the 4053which indicates that the change which took place was limited to the
4600range BEG...END and increased the buffer size by DELTA. 4054range BEG...END and increased the buffer size by DELTA.
4601 4055
4602+++
4603*** If the buffer's undo list for the current command gets longer than 4056*** If the buffer's undo list for the current command gets longer than
4604`undo-outer-limit', garbage collection empties it. This is to prevent 4057`undo-outer-limit', garbage collection empties it. This is to prevent
4605it from using up the available memory and choking Emacs. 4058it from using up the available memory and choking Emacs.
4606 4059
4607+++
4608** New `yank-handler' text property can be used to control how 4060** New `yank-handler' text property can be used to control how
4609previously killed text on the kill ring is reinserted. 4061previously killed text on the kill ring is reinserted.
4610 4062
@@ -4649,70 +4101,56 @@ string. The old behavior is available if you call
4649 4101
4650** Syntax table changes: 4102** Syntax table changes:
4651 4103
4652+++
4653*** The macro `with-syntax-table' no longer copies the syntax table. 4104*** The macro `with-syntax-table' no longer copies the syntax table.
4654 4105
4655+++
4656*** The new function `syntax-after' returns the syntax code 4106*** The new function `syntax-after' returns the syntax code
4657of the character after a specified buffer position, taking account 4107of the character after a specified buffer position, taking account
4658of text properties as well as the character code. 4108of text properties as well as the character code.
4659 4109
4660+++
4661*** `syntax-class' extracts the class of a syntax code (as returned 4110*** `syntax-class' extracts the class of a syntax code (as returned
4662by `syntax-after'). 4111by `syntax-after').
4663 4112
4664+++
4665*** The new function `syntax-ppss' provides an efficient way to find the 4113*** The new function `syntax-ppss' provides an efficient way to find the
4666current syntactic context at point. 4114current syntactic context at point.
4667 4115
4668** File operation changes: 4116** File operation changes:
4669 4117
4670+++
4671*** New vars `exec-suffixes' and `load-suffixes' used when 4118*** New vars `exec-suffixes' and `load-suffixes' used when
4672searching for an executable or an Emacs Lisp file. 4119searching for an executable or an Emacs Lisp file.
4673 4120
4674+++
4675*** The new primitive `set-file-times' sets a file's access and 4121*** The new primitive `set-file-times' sets a file's access and
4676modification times. Magic file name handlers can handle this 4122modification times. Magic file name handlers can handle this
4677operation. 4123operation.
4678 4124
4679+++
4680*** The new function `file-remote-p' tests a file name and returns 4125*** The new function `file-remote-p' tests a file name and returns
4681non-nil if it specifies a remote file (one that Emacs accesses using 4126non-nil if it specifies a remote file (one that Emacs accesses using
4682its own special methods and not directly through the file system). 4127its own special methods and not directly through the file system).
4683The value in that case is an identifier for the remote file system. 4128The value in that case is an identifier for the remote file system.
4684 4129
4685+++
4686*** `buffer-auto-save-file-format' is the new name for what was 4130*** `buffer-auto-save-file-format' is the new name for what was
4687formerly called `auto-save-file-format'. It is now a permanent local. 4131formerly called `auto-save-file-format'. It is now a permanent local.
4688 4132
4689+++
4690*** Functions `file-name-sans-extension' and `file-name-extension' now 4133*** Functions `file-name-sans-extension' and `file-name-extension' now
4691ignore the leading dots in file names, so that file names such as 4134ignore the leading dots in file names, so that file names such as
4692`.emacs' are treated as extensionless. 4135`.emacs' are treated as extensionless.
4693 4136
4694+++
4695*** `visited-file-modtime' and `calendar-time-from-absolute' now return 4137*** `visited-file-modtime' and `calendar-time-from-absolute' now return
4696a list of two integers, instead of a cons. 4138a list of two integers, instead of a cons.
4697 4139
4698+++
4699*** `file-chase-links' now takes an optional second argument LIMIT which 4140*** `file-chase-links' now takes an optional second argument LIMIT which
4700specifies the maximum number of links to chase through. If after that 4141specifies the maximum number of links to chase through. If after that
4701many iterations the file name obtained is still a symbolic link, 4142many iterations the file name obtained is still a symbolic link,
4702`file-chase-links' returns it anyway. 4143`file-chase-links' returns it anyway.
4703 4144
4704+++
4705*** The new hook `before-save-hook' is invoked by `basic-save-buffer' 4145*** The new hook `before-save-hook' is invoked by `basic-save-buffer'
4706before saving buffers. This allows packages to perform various final 4146before saving buffers. This allows packages to perform various final
4707tasks. For example, it can be used by the copyright package to make 4147tasks. For example, it can be used by the copyright package to make
4708sure saved files have the current year in any copyright headers. 4148sure saved files have the current year in any copyright headers.
4709 4149
4710+++
4711*** If `buffer-save-without-query' is non-nil in some buffer, 4150*** If `buffer-save-without-query' is non-nil in some buffer,
4712`save-some-buffers' will always save that buffer without asking (if 4151`save-some-buffers' will always save that buffer without asking (if
4713it's modified). 4152it's modified).
4714 4153
4715+++
4716*** New function `locate-file' searches for a file in a list of directories. 4154*** New function `locate-file' searches for a file in a list of directories.
4717`locate-file' accepts a name of a file to search (a string), and two 4155`locate-file' accepts a name of a file to search (a string), and two
4718lists: a list of directories to search in and a list of suffixes to 4156lists: a list of directories to search in and a list of suffixes to
@@ -4725,7 +4163,6 @@ One advantage of using this function is that the list of suffixes in
4725`exec-suffixes' is OS-dependant, so this function will find 4163`exec-suffixes' is OS-dependant, so this function will find
4726executables without polluting Lisp code with OS dependencies. 4164executables without polluting Lisp code with OS dependencies.
4727 4165
4728---
4729*** The precedence of file name handlers has been changed. 4166*** The precedence of file name handlers has been changed.
4730 4167
4731Instead of choosing the first handler that matches, 4168Instead of choosing the first handler that matches,
@@ -4734,7 +4171,6 @@ that matches nearest the end of the file name. More precisely, the
4734handler whose (match-beginning 0) is the largest is chosen. In case 4171handler whose (match-beginning 0) is the largest is chosen. In case
4735of ties, the old "first matched" rule applies. 4172of ties, the old "first matched" rule applies.
4736 4173
4737+++
4738*** A file name handler can declare which operations it handles. 4174*** A file name handler can declare which operations it handles.
4739 4175
4740You do this by putting an `operation' property on the handler name 4176You do this by putting an `operation' property on the handler name
@@ -4745,81 +4181,66 @@ operations.
4745This is useful for autoloaded handlers, to prevent them from being 4181This is useful for autoloaded handlers, to prevent them from being
4746autoloaded when not really necessary. 4182autoloaded when not really necessary.
4747 4183
4748+++
4749*** The function `make-auto-save-file-name' is now handled by file 4184*** The function `make-auto-save-file-name' is now handled by file
4750name handlers. This will be exploited for remote files mainly. 4185name handlers. This will be exploited for remote files mainly.
4751 4186
4752+++
4753*** The function `file-name-completion' accepts an optional argument 4187*** The function `file-name-completion' accepts an optional argument
4754PREDICATE, and rejects completion candidates that don't satisfy PREDICATE. 4188PREDICATE, and rejects completion candidates that don't satisfy PREDICATE.
4755 4189
4756** Input changes: 4190** Input changes:
4757 4191
4758+++
4759*** The functions `read-event', `read-char', and `read-char-exclusive' 4192*** The functions `read-event', `read-char', and `read-char-exclusive'
4760have a new optional argument SECONDS. If non-nil, this specifies a 4193have a new optional argument SECONDS. If non-nil, this specifies a
4761maximum time to wait for input, in seconds. If no input arrives after 4194maximum time to wait for input, in seconds. If no input arrives after
4762this time elapses, the functions stop waiting and return nil. 4195this time elapses, the functions stop waiting and return nil.
4763 4196
4764+++
4765*** An interactive specification can now use the code letter `U' to get 4197*** An interactive specification can now use the code letter `U' to get
4766the up-event that was discarded in case the last key sequence read for a 4198the up-event that was discarded in case the last key sequence read for a
4767previous `k' or `K' argument was a down-event; otherwise nil is used. 4199previous `k' or `K' argument was a down-event; otherwise nil is used.
4768 4200
4769+++
4770*** The new interactive-specification `G' reads a file name 4201*** The new interactive-specification `G' reads a file name
4771much like `F', but if the input is a directory name (even defaulted), 4202much like `F', but if the input is a directory name (even defaulted),
4772it returns just the directory name. 4203it returns just the directory name.
4773 4204
4774---
4775*** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that 4205*** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that
4776display a prompt but don't use the minibuffer, now display the prompt 4206display a prompt but don't use the minibuffer, now display the prompt
4777using the text properties (esp. the face) of the prompt string. 4207using the text properties (esp. the face) of the prompt string.
4778 4208
4779+++
4780*** (while-no-input BODY...) runs BODY, but only so long as no input 4209*** (while-no-input BODY...) runs BODY, but only so long as no input
4781arrives. If the user types or clicks anything, BODY stops as if a 4210arrives. If the user types or clicks anything, BODY stops as if a
4782quit had occurred. `while-no-input' returns the value of BODY, if BODY 4211quit had occurred. `while-no-input' returns the value of BODY, if BODY
4783finishes. It returns nil if BODY was aborted by a quit, and t if 4212finishes. It returns nil if BODY was aborted by a quit, and t if
4784BODY was aborted by arrival of input. 4213BODY was aborted by arrival of input.
4785 4214
4786+++
4787*** `recent-keys' now returns the last 300 keys. 4215*** `recent-keys' now returns the last 300 keys.
4788 4216
4789** Minibuffer changes: 4217** Minibuffer changes:
4790 4218
4791+++
4792*** The new function `minibufferp' returns non-nil if its optional 4219*** The new function `minibufferp' returns non-nil if its optional
4793buffer argument is a minibuffer. If the argument is omitted, it 4220buffer argument is a minibuffer. If the argument is omitted, it
4794defaults to the current buffer. 4221defaults to the current buffer.
4795 4222
4796+++
4797*** New function `minibuffer-selected-window' returns the window which 4223*** New function `minibuffer-selected-window' returns the window which
4798was selected when entering the minibuffer. 4224was selected when entering the minibuffer.
4799 4225
4800+++
4801*** The `read-file-name' function now takes an additional argument which 4226*** The `read-file-name' function now takes an additional argument which
4802specifies a predicate which the file name read must satisfy. The 4227specifies a predicate which the file name read must satisfy. The
4803new variable `read-file-name-predicate' contains the predicate argument 4228new variable `read-file-name-predicate' contains the predicate argument
4804while reading the file name from the minibuffer; the predicate in this 4229while reading the file name from the minibuffer; the predicate in this
4805variable is used by read-file-name-internal to filter the completion list. 4230variable is used by read-file-name-internal to filter the completion list.
4806 4231
4807---
4808*** The new variable `read-file-name-function' can be used by Lisp code 4232*** The new variable `read-file-name-function' can be used by Lisp code
4809to override the built-in `read-file-name' function. 4233to override the built-in `read-file-name' function.
4810 4234
4811+++
4812*** The new variable `read-file-name-completion-ignore-case' specifies 4235*** The new variable `read-file-name-completion-ignore-case' specifies
4813whether completion ignores case when reading a file name with the 4236whether completion ignores case when reading a file name with the
4814`read-file-name' function. 4237`read-file-name' function.
4815 4238
4816+++
4817*** The new function `read-directory-name' is for reading a directory name. 4239*** The new function `read-directory-name' is for reading a directory name.
4818 4240
4819It is like `read-file-name' except that the defaulting works better 4241It is like `read-file-name' except that the defaulting works better
4820for directories, and completion inside it shows only directories. 4242for directories, and completion inside it shows only directories.
4821 4243
4822+++
4823*** The new variable `history-add-new-input' specifies whether to add new 4244*** The new variable `history-add-new-input' specifies whether to add new
4824elements in history. If set to nil, minibuffer reading functions don't 4245elements in history. If set to nil, minibuffer reading functions don't
4825add new elements to the history list, so it is possible to do this 4246add new elements to the history list, so it is possible to do this
@@ -4827,19 +4248,16 @@ afterwards by calling `add-to-history' explicitly.
4827 4248
4828** Completion changes: 4249** Completion changes:
4829 4250
4830+++
4831*** The new function `minibuffer-completion-contents' returns the contents 4251*** The new function `minibuffer-completion-contents' returns the contents
4832of the minibuffer just before point. That is what completion commands 4252of the minibuffer just before point. That is what completion commands
4833operate on. 4253operate on.
4834 4254
4835+++
4836*** The functions `all-completions' and `try-completion' now accept lists 4255*** The functions `all-completions' and `try-completion' now accept lists
4837of strings as well as hash-tables additionally to alists, obarrays 4256of strings as well as hash-tables additionally to alists, obarrays
4838and functions. Furthermore, the function `test-completion' is now 4257and functions. Furthermore, the function `test-completion' is now
4839exported to Lisp. The keys in alists and hash tables can be either 4258exported to Lisp. The keys in alists and hash tables can be either
4840strings or symbols, which are automatically converted with to strings. 4259strings or symbols, which are automatically converted with to strings.
4841 4260
4842+++
4843*** The new macro `dynamic-completion-table' supports using functions 4261*** The new macro `dynamic-completion-table' supports using functions
4844as a dynamic completion table. 4262as a dynamic completion table.
4845 4263
@@ -4852,7 +4270,6 @@ can ignore the value of its argument. If completion is performed in the
4852minibuffer, FUN will be called in the buffer from which the minibuffer was 4270minibuffer, FUN will be called in the buffer from which the minibuffer was
4853entered. `dynamic-completion-table' then computes the completion. 4271entered. `dynamic-completion-table' then computes the completion.
4854 4272
4855+++
4856*** The new macro `lazy-completion-table' initializes a variable 4273*** The new macro `lazy-completion-table' initializes a variable
4857as a lazy completion table. 4274as a lazy completion table.
4858 4275
@@ -4865,7 +4282,6 @@ If completion is requested in the minibuffer, FUN will be called in the buffer
4865from which the minibuffer was entered. The return value of 4282from which the minibuffer was entered. The return value of
4866`lazy-completion-table' must be used to initialize the value of VAR. 4283`lazy-completion-table' must be used to initialize the value of VAR.
4867 4284
4868+++
4869** Enhancements to keymaps. 4285** Enhancements to keymaps.
4870 4286
4871*** New keymaps for typing file names 4287*** New keymaps for typing file names
@@ -4984,12 +4400,10 @@ key-sequences, such as [(control a)].
4984 4400
4985** Abbrev changes: 4401** Abbrev changes:
4986 4402
4987+++
4988*** The new function `copy-abbrev-table' copies an abbrev table. 4403*** The new function `copy-abbrev-table' copies an abbrev table.
4989 4404
4990It returns a new abbrev table that is a copy of a given abbrev table. 4405It returns a new abbrev table that is a copy of a given abbrev table.
4991 4406
4992+++
4993*** `define-abbrev' now accepts an optional argument SYSTEM-FLAG. 4407*** `define-abbrev' now accepts an optional argument SYSTEM-FLAG.
4994 4408
4995If non-nil, this marks the abbrev as a "system" abbrev, which means 4409If non-nil, this marks the abbrev as a "system" abbrev, which means
@@ -4997,7 +4411,6 @@ that it won't be stored in the user's abbrevs file if he saves the
4997abbrevs. Major modes that predefine some abbrevs should always 4411abbrevs. Major modes that predefine some abbrevs should always
4998specify this flag. 4412specify this flag.
4999 4413
5000+++
5001** Enhancements to process support 4414** Enhancements to process support
5002 4415
5003*** Function `list-processes' now has an optional argument; if non-nil, 4416*** Function `list-processes' now has an optional argument; if non-nil,
@@ -5064,7 +4477,6 @@ to multibyte by `string-to-multibyte' then inserted in the buffer.
5064Previously, it was converted to multibyte by `string-as-multibyte', 4477Previously, it was converted to multibyte by `string-as-multibyte',
5065which was not compatible with the behavior of file reading. 4478which was not compatible with the behavior of file reading.
5066 4479
5067+++
5068** Enhanced networking support. 4480** Enhanced networking support.
5069 4481
5070*** The new `make-network-process' function makes network connections. 4482*** The new `make-network-process' function makes network connections.
@@ -5136,13 +4548,11 @@ connection is closed by the remote peer has been changed to
5136 4548
5137** Using window objects: 4549** Using window objects:
5138 4550
5139+++
5140*** New function `window-body-height'. 4551*** New function `window-body-height'.
5141 4552
5142This is like `window-height' but does not count the mode line or the 4553This is like `window-height' but does not count the mode line or the
5143header line. 4554header line.
5144 4555
5145+++
5146*** You can now make a window as short as one line. 4556*** You can now make a window as short as one line.
5147 4557
5148A window that is just one line tall does not display either a mode 4558A window that is just one line tall does not display either a mode
@@ -5151,51 +4561,41 @@ line or a header line, even if the variables `mode-line-format' and
5151cannot display both a mode line and a header line at once; if the 4561cannot display both a mode line and a header line at once; if the
5152variables call for both, only the mode line actually appears. 4562variables call for both, only the mode line actually appears.
5153 4563
5154+++
5155*** The new function `window-inside-edges' returns the edges of the 4564*** The new function `window-inside-edges' returns the edges of the
5156actual text portion of the window, not including the scroll bar or 4565actual text portion of the window, not including the scroll bar or
5157divider line, the fringes, the display margins, the header line and 4566divider line, the fringes, the display margins, the header line and
5158the mode line. 4567the mode line.
5159 4568
5160+++
5161*** The new functions `window-pixel-edges' and `window-inside-pixel-edges' 4569*** The new functions `window-pixel-edges' and `window-inside-pixel-edges'
5162return window edges in units of pixels, rather than columns and lines. 4570return window edges in units of pixels, rather than columns and lines.
5163 4571
5164+++
5165*** The new macro `with-selected-window' temporarily switches the 4572*** The new macro `with-selected-window' temporarily switches the
5166selected window without impacting the order of `buffer-list'. 4573selected window without impacting the order of `buffer-list'.
5167It saves and restores the current buffer, too. 4574It saves and restores the current buffer, too.
5168 4575
5169+++
5170*** `select-window' takes an optional second argument NORECORD. 4576*** `select-window' takes an optional second argument NORECORD.
5171 4577
5172This is like `switch-to-buffer'. 4578This is like `switch-to-buffer'.
5173 4579
5174+++
5175*** `save-selected-window' now saves and restores the selected window 4580*** `save-selected-window' now saves and restores the selected window
5176of every frame. This way, it restores everything that can be changed 4581of every frame. This way, it restores everything that can be changed
5177by calling `select-window'. It also saves and restores the current 4582by calling `select-window'. It also saves and restores the current
5178buffer. 4583buffer.
5179 4584
5180+++
5181*** `set-window-buffer' has an optional argument KEEP-MARGINS. 4585*** `set-window-buffer' has an optional argument KEEP-MARGINS.
5182 4586
5183If non-nil, that says to preserve the window's current margin, fringe, 4587If non-nil, that says to preserve the window's current margin, fringe,
5184and scroll-bar settings. 4588and scroll-bar settings.
5185 4589
5186+++
5187*** The new function `window-tree' returns a frame's window tree. 4590*** The new function `window-tree' returns a frame's window tree.
5188 4591
5189+++
5190*** The functions `get-lru-window' and `get-largest-window' take an optional 4592*** The functions `get-lru-window' and `get-largest-window' take an optional
5191argument `dedicated'. If non-nil, those functions do not ignore 4593argument `dedicated'. If non-nil, those functions do not ignore
5192dedicated windows. 4594dedicated windows.
5193 4595
5194+++
5195*** The new function `adjust-window-trailing-edge' moves the right 4596*** The new function `adjust-window-trailing-edge' moves the right
5196or bottom edge of a window. It does not move other window edges. 4597or bottom edge of a window. It does not move other window edges.
5197 4598
5198+++
5199** Customizable fringe bitmaps 4599** Customizable fringe bitmaps
5200 4600
5201*** New buffer-local variables `fringe-indicator-alist' and 4601*** New buffer-local variables `fringe-indicator-alist' and
@@ -5231,7 +4631,6 @@ bitmaps in the display line at a given buffer position.
5231 4631
5232** Other window fringe features: 4632** Other window fringe features:
5233 4633
5234+++
5235*** Controlling the default left and right fringe widths. 4634*** Controlling the default left and right fringe widths.
5236 4635
5237The default left and right fringe widths for all windows of a frame 4636The default left and right fringe widths for all windows of a frame
@@ -5251,7 +4650,6 @@ width which is the minimum number of pixels necessary to display any
5251of the currently defined fringe bitmaps. The width of the built-in 4650of the currently defined fringe bitmaps. The width of the built-in
5252fringe bitmaps is 8 pixels. 4651fringe bitmaps is 8 pixels.
5253 4652
5254+++
5255*** Per-window fringe and scrollbar settings 4653*** Per-window fringe and scrollbar settings
5256 4654
5257**** Windows can now have their own individual fringe widths and 4655**** Windows can now have their own individual fringe widths and
@@ -5285,25 +4683,20 @@ of the display margins.
5285 4683
5286** Redisplay features: 4684** Redisplay features:
5287 4685
5288+++
5289*** `sit-for' can now be called with args (SECONDS &optional NODISP). 4686*** `sit-for' can now be called with args (SECONDS &optional NODISP).
5290 4687
5291+++
5292*** Iconifying or deiconifying a frame no longer makes sit-for return. 4688*** Iconifying or deiconifying a frame no longer makes sit-for return.
5293 4689
5294+++
5295*** New function `redisplay' causes an immediate redisplay if no input is 4690*** New function `redisplay' causes an immediate redisplay if no input is
5296available, equivalent to (sit-for 0). The call (redisplay t) forces 4691available, equivalent to (sit-for 0). The call (redisplay t) forces
5297an immediate redisplay even if input is pending. 4692an immediate redisplay even if input is pending.
5298 4693
5299+++
5300*** New function `force-window-update' can initiate a full redisplay of 4694*** New function `force-window-update' can initiate a full redisplay of
5301one or all windows. Normally, this is not needed as changes in window 4695one or all windows. Normally, this is not needed as changes in window
5302contents are detected automatically. However, certain implicit 4696contents are detected automatically. However, certain implicit
5303changes to mode lines, header lines, or display properties may require 4697changes to mode lines, header lines, or display properties may require
5304forcing an explicit window update. 4698forcing an explicit window update.
5305 4699
5306+++
5307*** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able 4700*** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able
5308to display CHAR. More precisely, if the selected frame's fontset has 4701to display CHAR. More precisely, if the selected frame's fontset has
5309a font to display the character set that CHAR belongs to. 4702a font to display the character set that CHAR belongs to.
@@ -5311,7 +4704,6 @@ a font to display the character set that CHAR belongs to.
5311Fontsets can specify a font on a per-character basis; when the fontset 4704Fontsets can specify a font on a per-character basis; when the fontset
5312does that, this value cannot be accurate. 4705does that, this value cannot be accurate.
5313 4706
5314+++
5315*** You can define multiple overlay arrows via the new 4707*** You can define multiple overlay arrows via the new
5316variable `overlay-arrow-variable-list'. 4708variable `overlay-arrow-variable-list'.
5317 4709
@@ -5325,7 +4717,6 @@ systems) to display at the corresponding overlay arrow position.
5325If either property is not set, the default `overlay-arrow-string' or 4717If either property is not set, the default `overlay-arrow-string' or
5326'overlay-arrow-fringe-bitmap' will be used. 4718'overlay-arrow-fringe-bitmap' will be used.
5327 4719
5328+++
5329*** New `line-height' and `line-spacing' properties for newline characters 4720*** New `line-height' and `line-spacing' properties for newline characters
5330 4721
5331A newline can now have `line-height' and `line-spacing' text or overlay 4722A newline can now have `line-height' and `line-spacing' text or overlay
@@ -5366,11 +4757,9 @@ the `line-spacing' variable.
5366If the `line-spacing' property is a float or cons, the line spacing 4757If the `line-spacing' property is a float or cons, the line spacing
5367is calculated as specified above for the `line-height' property. 4758is calculated as specified above for the `line-height' property.
5368 4759
5369+++
5370*** The buffer local `line-spacing' variable can now have a float value, 4760*** The buffer local `line-spacing' variable can now have a float value,
5371which is used as a height relative to the default frame line height. 4761which is used as a height relative to the default frame line height.
5372 4762
5373+++
5374*** Enhancements to stretch display properties 4763*** Enhancements to stretch display properties
5375 4764
5376The display property stretch specification form `(space PROPS)', where 4765The display property stretch specification form `(space PROPS)', where
@@ -5427,17 +4816,14 @@ height) of the specified image.
5427The form `(+ EXPR ...)' adds up the value of the expressions. 4816The form `(+ EXPR ...)' adds up the value of the expressions.
5428The form `(- EXPR ...)' negates or subtracts the value of the expressions. 4817The form `(- EXPR ...)' negates or subtracts the value of the expressions.
5429 4818
5430+++
5431*** Normally, the cursor is displayed at the end of any overlay and 4819*** Normally, the cursor is displayed at the end of any overlay and
5432text property string that may be present at the current window 4820text property string that may be present at the current window
5433position. The cursor can now be placed on any character of such 4821position. The cursor can now be placed on any character of such
5434strings by giving that character a non-nil `cursor' text property. 4822strings by giving that character a non-nil `cursor' text property.
5435 4823
5436+++
5437*** The display space :width and :align-to text properties are now 4824*** The display space :width and :align-to text properties are now
5438supported on text terminals. 4825supported on text terminals.
5439 4826
5440+++
5441*** Support for displaying image slices 4827*** Support for displaying image slices
5442 4828
5443**** New display property (slice X Y WIDTH HEIGHT) can be used with 4829**** New display property (slice X Y WIDTH HEIGHT) can be used with
@@ -5449,7 +4835,6 @@ specify image slice (X Y WIDTH HEIGHT).
5449**** New function `insert-sliced-image' inserts a given image as a 4835**** New function `insert-sliced-image' inserts a given image as a
5450specified number of evenly sized slices (rows x columns). 4836specified number of evenly sized slices (rows x columns).
5451 4837
5452+++
5453*** Images can now have an associated image map via the :map property. 4838*** Images can now have an associated image map via the :map property.
5454 4839
5455An image map is an alist where each element has the format (AREA ID PLIST). 4840An image map is an alist where each element has the format (AREA ID PLIST).
@@ -5472,7 +4857,6 @@ When you click the mouse when the mouse pointer is over a hot-spot,
5472an event is composed by combining the ID of the hot-spot with the 4857an event is composed by combining the ID of the hot-spot with the
5473mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'. 4858mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'.
5474 4859
5475+++
5476*** The function `find-image' now searches in etc/images/ and etc/. 4860*** The function `find-image' now searches in etc/images/ and etc/.
5477The new variable `image-load-path' is a list of locations in which to 4861The new variable `image-load-path' is a list of locations in which to
5478search for image files. The default is to search in etc/images, then 4862search for image files. The default is to search in etc/images, then
@@ -5486,80 +4870,62 @@ explicitly; for example, if an image is put in etc/images/foo/bar.xpm:
5486Note that all images formerly located in the lisp directory have been 4870Note that all images formerly located in the lisp directory have been
5487moved to etc/images. 4871moved to etc/images.
5488 4872
5489+++
5490*** New function `image-load-path-for-library' returns a suitable 4873*** New function `image-load-path-for-library' returns a suitable
5491search path for images relative to library. This function is useful in 4874search path for images relative to library. This function is useful in
5492external packages to save users from having to update 4875external packages to save users from having to update
5493`image-load-path'. 4876`image-load-path'.
5494 4877
5495+++
5496*** The new variable `max-image-size' defines the maximum size of 4878*** The new variable `max-image-size' defines the maximum size of
5497images that Emacs will load and display. 4879images that Emacs will load and display.
5498 4880
5499+++
5500*** The new variable `display-mm-dimensions-alist' can be used to 4881*** The new variable `display-mm-dimensions-alist' can be used to
5501override incorrect graphical display dimensions returned by functions 4882override incorrect graphical display dimensions returned by functions
5502`display-mm-height' and `display-mm-width'. 4883`display-mm-height' and `display-mm-width'.
5503 4884
5504** Mouse pointer features: 4885** Mouse pointer features:
5505 4886
5506+++ (lispref)
5507--- (man)
5508*** The mouse pointer shape in void text areas (i.e. after the end of a 4887*** The mouse pointer shape in void text areas (i.e. after the end of a
5509line or below the last line in the buffer) of the text window is now 4888line or below the last line in the buffer) of the text window is now
5510controlled by the new variable `void-text-area-pointer'. The default 4889controlled by the new variable `void-text-area-pointer'. The default
5511is to use the `arrow' (non-text) pointer. Other choices are `text' 4890is to use the `arrow' (non-text) pointer. Other choices are `text'
5512(or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'. 4891(or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'.
5513 4892
5514+++
5515*** The mouse pointer shape over an image can now be controlled by the 4893*** The mouse pointer shape over an image can now be controlled by the
5516:pointer image property. 4894:pointer image property.
5517 4895
5518+++
5519*** The mouse pointer shape over ordinary text or images can now be 4896*** The mouse pointer shape over ordinary text or images can now be
5520controlled/overridden via the `pointer' text property. 4897controlled/overridden via the `pointer' text property.
5521 4898
5522** Mouse event enhancements: 4899** Mouse event enhancements:
5523 4900
5524+++
5525*** Mouse events for clicks on window fringes now specify `left-fringe' 4901*** Mouse events for clicks on window fringes now specify `left-fringe'
5526or `right-fringe' as the area. 4902or `right-fringe' as the area.
5527 4903
5528+++
5529*** All mouse events now include a buffer position regardless of where 4904*** All mouse events now include a buffer position regardless of where
5530you clicked. For mouse clicks in window margins and fringes, this is 4905you clicked. For mouse clicks in window margins and fringes, this is
5531a sensible buffer position corresponding to the surrounding text. 4906a sensible buffer position corresponding to the surrounding text.
5532 4907
5533+++
5534*** `posn-point' now returns buffer position for non-text area events. 4908*** `posn-point' now returns buffer position for non-text area events.
5535 4909
5536+++
5537*** Function `mouse-set-point' now works for events outside text area. 4910*** Function `mouse-set-point' now works for events outside text area.
5538 4911
5539+++
5540*** New function `posn-area' returns window area clicked on (nil means 4912*** New function `posn-area' returns window area clicked on (nil means
5541text area). 4913text area).
5542 4914
5543+++
5544*** Mouse events include actual glyph column and row for all event types 4915*** Mouse events include actual glyph column and row for all event types
5545and all areas. 4916and all areas.
5546 4917
5547+++
5548*** New function `posn-actual-col-row' returns the actual glyph coordinates 4918*** New function `posn-actual-col-row' returns the actual glyph coordinates
5549of the mouse event position. 4919of the mouse event position.
5550 4920
5551+++
5552*** Mouse events can now indicate an image object clicked on. 4921*** Mouse events can now indicate an image object clicked on.
5553 4922
5554+++
5555*** Mouse events include relative X and Y pixel coordinates relative to 4923*** Mouse events include relative X and Y pixel coordinates relative to
5556the top left corner of the object (image or character) clicked on. 4924the top left corner of the object (image or character) clicked on.
5557 4925
5558+++
5559*** Mouse events include the pixel width and height of the object 4926*** Mouse events include the pixel width and height of the object
5560(image or character) clicked on. 4927(image or character) clicked on.
5561 4928
5562+++
5563*** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'. 4929*** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'.
5564 4930
5565These return the image or string object of a mouse click, the X and Y 4931These return the image or string object of a mouse click, the X and Y
@@ -5568,11 +4934,9 @@ the total width and height of that object.
5568 4934
5569** Text property and overlay changes: 4935** Text property and overlay changes:
5570 4936
5571+++
5572*** Arguments for `remove-overlays' are now optional, so that you can 4937*** Arguments for `remove-overlays' are now optional, so that you can
5573remove all overlays in the buffer with just (remove-overlays). 4938remove all overlays in the buffer with just (remove-overlays).
5574 4939
5575+++
5576*** New variable `char-property-alias-alist'. 4940*** New variable `char-property-alias-alist'.
5577 4941
5578This variable allows you to create alternative names for text 4942This variable allows you to create alternative names for text
@@ -5580,14 +4944,12 @@ properties. It works at the same level as `default-text-properties',
5580although it applies to overlays as well. This variable was introduced 4944although it applies to overlays as well. This variable was introduced
5581to implement the `font-lock-face' property. 4945to implement the `font-lock-face' property.
5582 4946
5583+++
5584*** New function `get-char-property-and-overlay' accepts the same 4947*** New function `get-char-property-and-overlay' accepts the same
5585arguments as `get-char-property' and returns a cons whose car is the 4948arguments as `get-char-property' and returns a cons whose car is the
5586return value of `get-char-property' called with those arguments and 4949return value of `get-char-property' called with those arguments and
5587whose cdr is the overlay in which the property was found, or nil if 4950whose cdr is the overlay in which the property was found, or nil if
5588it was found as a text property or not found at all. 4951it was found as a text property or not found at all.
5589 4952
5590+++
5591*** The new function `remove-list-of-text-properties'. 4953*** The new function `remove-list-of-text-properties'.
5592 4954
5593It is like `remove-text-properties' except that it takes a list of 4955It is like `remove-text-properties' except that it takes a list of
@@ -5595,13 +4957,11 @@ property names as argument rather than a property list.
5595 4957
5596** Face changes 4958** Face changes
5597 4959
5598+++
5599*** The variable `facemenu-unlisted-faces' has been removed. 4960*** The variable `facemenu-unlisted-faces' has been removed.
5600Emacs has a lot more faces than in the past, and nearly all of them 4961Emacs has a lot more faces than in the past, and nearly all of them
5601needed to be excluded. The new variable `facemenu-listed-faces' lists 4962needed to be excluded. The new variable `facemenu-listed-faces' lists
5602the faces to include in the face menu. 4963the faces to include in the face menu.
5603 4964
5604+++
5605*** The new face attribute condition `min-colors' can be used to tailor 4965*** The new face attribute condition `min-colors' can be used to tailor
5606the face color to the number of colors supported by a display, and 4966the face color to the number of colors supported by a display, and
5607define the foreground and background colors accordingly so that they 4967define the foreground and background colors accordingly so that they
@@ -5609,7 +4969,6 @@ look best on a terminal that supports at least this many colors. This
5609is now the preferred method for defining default faces in a way that 4969is now the preferred method for defining default faces in a way that
5610makes a good use of the capabilities of the display. 4970makes a good use of the capabilities of the display.
5611 4971
5612+++
5613*** New function `display-supports-face-attributes-p' can be used to test 4972*** New function `display-supports-face-attributes-p' can be used to test
5614whether a given set of face attributes is actually displayable. 4973whether a given set of face attributes is actually displayable.
5615 4974
@@ -5617,43 +4976,36 @@ A new predicate `supports' has also been added to the `defface' face
5617specification language, which can be used to do this test for faces 4976specification language, which can be used to do this test for faces
5618defined with `defface'. 4977defined with `defface'.
5619 4978
5620---
5621*** The special treatment of faces whose names are of the form `fg:COLOR' 4979*** The special treatment of faces whose names are of the form `fg:COLOR'
5622or `bg:COLOR' has been removed. Lisp programs should use the 4980or `bg:COLOR' has been removed. Lisp programs should use the
5623`defface' facility for defining faces with specific colors, or use 4981`defface' facility for defining faces with specific colors, or use
5624the feature of specifying the face attributes :foreground and :background 4982the feature of specifying the face attributes :foreground and :background
5625directly in the `face' property instead of using a named face. 4983directly in the `face' property instead of using a named face.
5626 4984
5627+++
5628*** The first face specification element in a defface can specify 4985*** The first face specification element in a defface can specify
5629`default' instead of frame classification. Then its attributes act as 4986`default' instead of frame classification. Then its attributes act as
5630defaults that apply to all the subsequent cases (and can be overridden 4987defaults that apply to all the subsequent cases (and can be overridden
5631by them). 4988by them).
5632 4989
5633+++
5634*** The variable `face-font-rescale-alist' specifies how much larger 4990*** The variable `face-font-rescale-alist' specifies how much larger
5635(or smaller) font we should use. For instance, if the value is 4991(or smaller) font we should use. For instance, if the value is
5636'((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10 4992'((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10
5637point, we actually use a font of 13 point if the font matches 4993point, we actually use a font of 13 point if the font matches
5638SOME-FONTNAME-PATTERN. 4994SOME-FONTNAME-PATTERN.
5639 4995
5640---
5641*** The function `face-differs-from-default-p' now truly checks 4996*** The function `face-differs-from-default-p' now truly checks
5642whether the given face displays differently from the default face or 4997whether the given face displays differently from the default face or
5643not (previously it did only a very cursory check). 4998not (previously it did only a very cursory check).
5644 4999
5645+++
5646*** `face-attribute', `face-foreground', `face-background', `face-stipple'. 5000*** `face-attribute', `face-foreground', `face-background', `face-stipple'.
5647 5001
5648These now accept a new optional argument, INHERIT, which controls how 5002These now accept a new optional argument, INHERIT, which controls how
5649face inheritance is used when determining the value of a face 5003face inheritance is used when determining the value of a face
5650attribute. 5004attribute.
5651 5005
5652+++
5653*** New functions `face-attribute-relative-p' and `merge-face-attribute' 5006*** New functions `face-attribute-relative-p' and `merge-face-attribute'
5654help with handling relative face attributes. 5007help with handling relative face attributes.
5655 5008
5656+++
5657*** The priority of faces in an :inherit attribute face list is reversed. 5009*** The priority of faces in an :inherit attribute face list is reversed.
5658 5010
5659If a face contains an :inherit attribute with a list of faces, earlier 5011If a face contains an :inherit attribute with a list of faces, earlier
@@ -5662,20 +5014,17 @@ releases of Emacs, the order was the opposite. This change was made
5662so that :inherit face lists operate identically to face lists in text 5014so that :inherit face lists operate identically to face lists in text
5663`face' properties. 5015`face' properties.
5664 5016
5665---
5666*** On terminals, faces with the :inverse-video attribute are displayed 5017*** On terminals, faces with the :inverse-video attribute are displayed
5667with swapped foreground and background colors even when one of them is 5018with swapped foreground and background colors even when one of them is
5668not specified. In previous releases of Emacs, if either foreground 5019not specified. In previous releases of Emacs, if either foreground
5669or background color was unspecified, colors were not swapped. This 5020or background color was unspecified, colors were not swapped. This
5670was inconsistent with the face behavior under X. 5021was inconsistent with the face behavior under X.
5671 5022
5672---
5673*** `set-fontset-font', `fontset-info', `fontset-font' now operate on 5023*** `set-fontset-font', `fontset-info', `fontset-font' now operate on
5674the default fontset if the argument NAME is nil.. 5024the default fontset if the argument NAME is nil..
5675 5025
5676** Font-Lock changes: 5026** Font-Lock changes:
5677 5027
5678+++
5679*** New special text property `font-lock-face'. 5028*** New special text property `font-lock-face'.
5680 5029
5681This property acts like the `face' property, but it is controlled by 5030This property acts like the `face' property, but it is controlled by
@@ -5683,7 +5032,6 @@ M-x font-lock-mode. It is not, strictly speaking, a builtin text
5683property. Instead, it is implemented inside font-core.el, using the 5032property. Instead, it is implemented inside font-core.el, using the
5684new variable `char-property-alias-alist'. 5033new variable `char-property-alias-alist'.
5685 5034
5686+++
5687*** font-lock can manage arbitrary text-properties beside `face'. 5035*** font-lock can manage arbitrary text-properties beside `face'.
5688 5036
5689**** the FACENAME returned in `font-lock-keywords' can be a list of the 5037**** the FACENAME returned in `font-lock-keywords' can be a list of the
@@ -5693,7 +5041,6 @@ properties than `face'.
5693**** `font-lock-extra-managed-props' can be set to make sure those 5041**** `font-lock-extra-managed-props' can be set to make sure those
5694extra properties are automatically cleaned up by font-lock. 5042extra properties are automatically cleaned up by font-lock.
5695 5043
5696---
5697*** jit-lock obeys a new text-property `jit-lock-defer-multiline'. 5044*** jit-lock obeys a new text-property `jit-lock-defer-multiline'.
5698 5045
5699If a piece of text with that property gets contextually refontified 5046If a piece of text with that property gets contextually refontified
@@ -5720,72 +5067,58 @@ of multiline constructs so that such constructs get properly recognized.
5720 5067
5721** Major mode mechanism changes: 5068** Major mode mechanism changes:
5722 5069
5723+++
5724*** If new variable `auto-mode-case-fold' is set to a non-nil value, 5070*** If new variable `auto-mode-case-fold' is set to a non-nil value,
5725Emacs will perform a second case-insensitive search through 5071Emacs will perform a second case-insensitive search through
5726`auto-mode-alist' if the first case-sensitive search fails. 5072`auto-mode-alist' if the first case-sensitive search fails. This
5727This means that a file FILE.TXT is opened in text-mode, and a file PROG.PY 5073means that a file FILE.TXT is opened in text-mode, and a file
5728is opened in python-mode. Note however, that independent of this 5074PROG.HTML is opened in html-mode. Note however, that independent of
5729setting, *.C files are usually recognized as C++ files. 5075this setting, *.C files are usually recognized as C++ files. It also
5730It also has no effect on systems with case-insensitive file names. 5076has no effect on systems with case-insensitive file names.
5731 5077
5732+++
5733*** New variable `magic-mode-alist' determines major mode for a file by 5078*** New variable `magic-mode-alist' determines major mode for a file by
5734looking at the file contents. It takes precedence over `auto-mode-alist'. 5079looking at the file contents. It takes precedence over `auto-mode-alist'.
5735 5080
5736+++
5737*** An interpreter magic line (if present) takes precedence over the 5081*** An interpreter magic line (if present) takes precedence over the
5738file name when setting the major mode. 5082file name when setting the major mode.
5739 5083
5740+++
5741*** XML or SGML major mode is selected when file starts with an `<?xml' 5084*** XML or SGML major mode is selected when file starts with an `<?xml'
5742or `<!DOCTYPE' declaration. 5085or `<!DOCTYPE' declaration.
5743 5086
5744+++
5745*** Use the new function `run-mode-hooks' to run the major mode's mode hook. 5087*** Use the new function `run-mode-hooks' to run the major mode's mode hook.
5746 5088
5747+++
5748*** All major mode functions should now run the new normal hook 5089*** All major mode functions should now run the new normal hook
5749`after-change-major-mode-hook', at their very end, after the mode 5090`after-change-major-mode-hook', at their very end, after the mode
5750hooks. `run-mode-hooks' does this automatically. 5091hooks. `run-mode-hooks' does this automatically.
5751 5092
5752---
5753*** If a major mode function has a non-nil `no-clone-indirect' 5093*** If a major mode function has a non-nil `no-clone-indirect'
5754property, `clone-indirect-buffer' signals an error if you use 5094property, `clone-indirect-buffer' signals an error if you use
5755it in that buffer. 5095it in that buffer.
5756 5096
5757+++
5758*** Major modes can define `eldoc-documentation-function' 5097*** Major modes can define `eldoc-documentation-function'
5759locally to provide Eldoc functionality by some method appropriate to 5098locally to provide Eldoc functionality by some method appropriate to
5760the language. 5099the language.
5761 5100
5762+++
5763*** `define-derived-mode' by default creates a new empty abbrev table. 5101*** `define-derived-mode' by default creates a new empty abbrev table.
5764It does not copy abbrevs from the parent mode's abbrev table. 5102It does not copy abbrevs from the parent mode's abbrev table.
5765 5103
5766+++
5767*** The new function `run-mode-hooks' and the new macro `delay-mode-hooks' 5104*** The new function `run-mode-hooks' and the new macro `delay-mode-hooks'
5768are used by `define-derived-mode' to make sure the mode hook for the 5105are used by `define-derived-mode' to make sure the mode hook for the
5769parent mode is run at the end of the child mode. 5106parent mode is run at the end of the child mode.
5770 5107
5771** Minor mode changes: 5108** Minor mode changes:
5772 5109
5773+++
5774*** `define-minor-mode' now accepts arbitrary additional keyword arguments 5110*** `define-minor-mode' now accepts arbitrary additional keyword arguments
5775and simply passes them to `defcustom', if applicable. 5111and simply passes them to `defcustom', if applicable.
5776 5112
5777+++
5778*** `minor-mode-list' now holds a list of minor mode commands. 5113*** `minor-mode-list' now holds a list of minor mode commands.
5779 5114
5780+++ 5115*** `define-globalized-minor-mode'.
5781*** `define-global-minor-mode'.
5782 5116
5783This is a new name for what was formerly called 5117This is a new name for what was formerly called
5784`easy-mmode-define-global-mode'. The old name remains as an alias. 5118`easy-mmode-define-global-mode'. The old name remains as an alias.
5785 5119
5786** Command loop changes: 5120** Command loop changes:
5787 5121
5788+++
5789*** The new function `called-interactively-p' does what many people 5122*** The new function `called-interactively-p' does what many people
5790have mistakenly believed `interactive-p' to do: it returns t if the 5123have mistakenly believed `interactive-p' to do: it returns t if the
5791calling function was called through `call-interactively'. 5124calling function was called through `call-interactively'.
@@ -5793,14 +5126,12 @@ calling function was called through `call-interactively'.
5793Only use this when you cannot solve the problem by adding a new 5126Only use this when you cannot solve the problem by adding a new
5794INTERACTIVE argument to the command. 5127INTERACTIVE argument to the command.
5795 5128
5796+++
5797*** The function `commandp' takes an additional optional argument. 5129*** The function `commandp' takes an additional optional argument.
5798 5130
5799If it is non-nil, then `commandp' checks for a function that could be 5131If it is non-nil, then `commandp' checks for a function that could be
5800called with `call-interactively', and does not return t for keyboard 5132called with `call-interactively', and does not return t for keyboard
5801macros. 5133macros.
5802 5134
5803+++
5804*** When a command returns, the command loop moves point out from 5135*** When a command returns, the command loop moves point out from
5805within invisible text, in the same way it moves out from within text 5136within invisible text, in the same way it moves out from within text
5806covered by an image or composition property. 5137covered by an image or composition property.
@@ -5811,51 +5142,41 @@ unexpected side-effects since the property applies to everything
5811(including `goto-char', ...) whereas this new code is only run after 5142(including `goto-char', ...) whereas this new code is only run after
5812`post-command-hook' and thus does not care about intermediate states. 5143`post-command-hook' and thus does not care about intermediate states.
5813 5144
5814+++
5815*** If a command sets `transient-mark-mode' to `only', that 5145*** If a command sets `transient-mark-mode' to `only', that
5816enables Transient Mark mode for the following command only. 5146enables Transient Mark mode for the following command only.
5817During that following command, the value of `transient-mark-mode' 5147During that following command, the value of `transient-mark-mode'
5818is `identity'. If it is still `identity' at the end of the command, 5148is `identity'. If it is still `identity' at the end of the command,
5819the next return to the command loop changes to nil. 5149the next return to the command loop changes to nil.
5820 5150
5821+++
5822*** Both the variable and the function `disabled-command-hook' have 5151*** Both the variable and the function `disabled-command-hook' have
5823been renamed to `disabled-command-function'. The variable 5152been renamed to `disabled-command-function'. The variable
5824`disabled-command-hook' has been kept as an obsolete alias. 5153`disabled-command-hook' has been kept as an obsolete alias.
5825 5154
5826+++
5827*** `emacsserver' now runs `pre-command-hook' and `post-command-hook' 5155*** `emacsserver' now runs `pre-command-hook' and `post-command-hook'
5828when it receives a request from emacsclient. 5156when it receives a request from emacsclient.
5829 5157
5830+++
5831*** `current-idle-time' reports how long Emacs has been idle. 5158*** `current-idle-time' reports how long Emacs has been idle.
5832 5159
5833** Lisp file loading changes: 5160** Lisp file loading changes:
5834 5161
5835+++
5836*** `load-history' can now have elements of the form (t . FUNNAME), 5162*** `load-history' can now have elements of the form (t . FUNNAME),
5837which means FUNNAME was previously defined as an autoload (before the 5163which means FUNNAME was previously defined as an autoload (before the
5838current file redefined it). 5164current file redefined it).
5839 5165
5840+++
5841*** `load-history' now records (defun . FUNNAME) when a function is 5166*** `load-history' now records (defun . FUNNAME) when a function is
5842defined. For a variable, it records just the variable name. 5167defined. For a variable, it records just the variable name.
5843 5168
5844+++
5845*** The function `symbol-file' can now search specifically for function, 5169*** The function `symbol-file' can now search specifically for function,
5846variable or face definitions. 5170variable or face definitions.
5847 5171
5848+++
5849*** `provide' and `featurep' now accept an optional second argument 5172*** `provide' and `featurep' now accept an optional second argument
5850to test/provide subfeatures. Also `provide' now checks `after-load-alist' 5173to test/provide subfeatures. Also `provide' now checks `after-load-alist'
5851and runs any code associated with the provided feature. 5174and runs any code associated with the provided feature.
5852 5175
5853---
5854*** The variable `recursive-load-depth-limit' has been deleted. 5176*** The variable `recursive-load-depth-limit' has been deleted.
5855Emacs now signals an error if the same file is loaded with more 5177Emacs now signals an error if the same file is loaded with more
5856than 3 levels of nesting. 5178than 3 levels of nesting.
5857 5179
5858+++
5859** Byte compiler changes: 5180** Byte compiler changes:
5860 5181
5861*** The byte compiler now displays the actual line and character 5182*** The byte compiler now displays the actual line and character
@@ -5892,36 +5213,30 @@ you anything.
5892 5213
5893*** The local variable `no-byte-compile' in Lisp files is now obeyed. 5214*** The local variable `no-byte-compile' in Lisp files is now obeyed.
5894 5215
5895---
5896*** When a Lisp file uses CL functions at run-time, compiling the file 5216*** When a Lisp file uses CL functions at run-time, compiling the file
5897now issues warnings about these calls, unless the file performs 5217now issues warnings about these calls, unless the file performs
5898(require 'cl) when loaded. 5218(require 'cl) when loaded.
5899 5219
5900** Frame operations: 5220** Frame operations:
5901 5221
5902+++
5903*** New functions `frame-current-scroll-bars' and `window-current-scroll-bars'. 5222*** New functions `frame-current-scroll-bars' and `window-current-scroll-bars'.
5904 5223
5905These functions return the current locations of the vertical and 5224These functions return the current locations of the vertical and
5906horizontal scroll bars in a frame or window. 5225horizontal scroll bars in a frame or window.
5907 5226
5908+++
5909*** The new function `modify-all-frames-parameters' modifies parameters 5227*** The new function `modify-all-frames-parameters' modifies parameters
5910for all (existing and future) frames. 5228for all (existing and future) frames.
5911 5229
5912+++
5913*** The new frame parameter `tty-color-mode' specifies the mode to use 5230*** The new frame parameter `tty-color-mode' specifies the mode to use
5914for color support on character terminal frames. Its value can be a 5231for color support on character terminal frames. Its value can be a
5915number of colors to support, or a symbol. See the Emacs Lisp 5232number of colors to support, or a symbol. See the Emacs Lisp
5916Reference manual for more detailed documentation. 5233Reference manual for more detailed documentation.
5917 5234
5918+++
5919*** When using non-toolkit scroll bars with the default width, 5235*** When using non-toolkit scroll bars with the default width,
5920the `scroll-bar-width' frame parameter value is nil. 5236the `scroll-bar-width' frame parameter value is nil.
5921 5237
5922** Mule changes: 5238** Mule changes:
5923 5239
5924+++
5925*** Already true in Emacs 21.1, but not emphasized clearly enough: 5240*** Already true in Emacs 21.1, but not emphasized clearly enough:
5926 5241
5927Multibyte buffers can now faithfully record all 256 character codes 5242Multibyte buffers can now faithfully record all 256 character codes
@@ -5937,72 +5252,58 @@ the time it takes to convert the format.
59373. For binary files where format conversion would be pointless and 52523. For binary files where format conversion would be pointless and
5938wasteful. 5253wasteful.
5939 5254
5940---
5941*** `set-buffer-file-coding-system' now takes an additional argument, 5255*** `set-buffer-file-coding-system' now takes an additional argument,
5942NOMODIFY. If it is non-nil, it means don't mark the buffer modified. 5256NOMODIFY. If it is non-nil, it means don't mark the buffer modified.
5943 5257
5944+++
5945*** The new variable `auto-coding-functions' lets you specify functions 5258*** The new variable `auto-coding-functions' lets you specify functions
5946to examine a file being visited and deduce the proper coding system 5259to examine a file being visited and deduce the proper coding system
5947for it. (If the coding system is detected incorrectly for a specific 5260for it. (If the coding system is detected incorrectly for a specific
5948file, you can put a `coding:' tags to override it.) 5261file, you can put a `coding:' tags to override it.)
5949 5262
5950+++
5951*** The new variable `ascii-case-table' stores the case table for the 5263*** The new variable `ascii-case-table' stores the case table for the
5952ascii character set. Language environments (such as Turkish) may 5264ascii character set. Language environments (such as Turkish) may
5953alter the case correspondences of ASCII characters. This variable 5265alter the case correspondences of ASCII characters. This variable
5954saves the original ASCII case table before any such changes. 5266saves the original ASCII case table before any such changes.
5955 5267
5956---
5957*** The new function `merge-coding-systems' fills in unspecified aspects 5268*** The new function `merge-coding-systems' fills in unspecified aspects
5958of one coding system from another coding system. 5269of one coding system from another coding system.
5959 5270
5960---
5961*** New coding system property `mime-text-unsuitable' indicates that 5271*** New coding system property `mime-text-unsuitable' indicates that
5962the coding system's `mime-charset' is not suitable for MIME text 5272the coding system's `mime-charset' is not suitable for MIME text
5963parts, e.g. utf-16. 5273parts, e.g. utf-16.
5964 5274
5965+++
5966*** New function `decode-coding-inserted-region' decodes a region as if 5275*** New function `decode-coding-inserted-region' decodes a region as if
5967it is read from a file without decoding. 5276it is read from a file without decoding.
5968 5277
5969---
5970*** New CCL functions `lookup-character' and `lookup-integer' access 5278*** New CCL functions `lookup-character' and `lookup-integer' access
5971hash tables defined by the Lisp function `define-translation-hash-table'. 5279hash tables defined by the Lisp function `define-translation-hash-table'.
5972 5280
5973---
5974*** New function `quail-find-key' returns a list of keys to type in the 5281*** New function `quail-find-key' returns a list of keys to type in the
5975current input method to input a character. 5282current input method to input a character.
5976 5283
5977** Mode line changes: 5284** Mode line changes:
5978 5285
5979+++
5980*** New function `format-mode-line'. 5286*** New function `format-mode-line'.
5981 5287
5982This returns the mode line or header line of the selected (or a 5288This returns the mode line or header line of the selected (or a
5983specified) window as a string with or without text properties. 5289specified) window as a string with or without text properties.
5984 5290
5985+++
5986*** The new mode-line construct `(:propertize ELT PROPS...)' can be 5291*** The new mode-line construct `(:propertize ELT PROPS...)' can be
5987used to add text properties to mode-line elements. 5292used to add text properties to mode-line elements.
5988 5293
5989+++
5990*** The new `%i' and `%I' constructs for `mode-line-format' can be used 5294*** The new `%i' and `%I' constructs for `mode-line-format' can be used
5991to display the size of the accessible part of the buffer on the mode 5295to display the size of the accessible part of the buffer on the mode
5992line. 5296line.
5993 5297
5994+++
5995*** Mouse-face on mode-line (and header-line) is now supported. 5298*** Mouse-face on mode-line (and header-line) is now supported.
5996 5299
5997** Menu manipulation changes: 5300** Menu manipulation changes:
5998 5301
5999---
6000*** To manipulate the File menu using easy-menu, you must specify the 5302*** To manipulate the File menu using easy-menu, you must specify the
6001proper name "file". In previous Emacs versions, you had to specify 5303proper name "file". In previous Emacs versions, you had to specify
6002"files", even though the menu item itself was changed to say "File" 5304"files", even though the menu item itself was changed to say "File"
6003several versions ago. 5305several versions ago.
6004 5306
6005---
6006*** The dummy function keys made by easy-menu are now always lower case. 5307*** The dummy function keys made by easy-menu are now always lower case.
6007If you specify the menu item name "Ada", for instance, it uses `ada' 5308If you specify the menu item name "Ada", for instance, it uses `ada'
6008as the "key" bound by that key binding. 5309as the "key" bound by that key binding.
@@ -6010,7 +5311,6 @@ as the "key" bound by that key binding.
6010This is relevant only if Lisp code looks for the bindings that were 5311This is relevant only if Lisp code looks for the bindings that were
6011made with easy-menu. 5312made with easy-menu.
6012 5313
6013---
6014*** `easy-menu-define' now allows you to use nil for the symbol name 5314*** `easy-menu-define' now allows you to use nil for the symbol name
6015if you don't need to give the menu a name. If you install the menu 5315if you don't need to give the menu a name. If you install the menu
6016into other keymaps right away (MAPS is non-nil), it usually doesn't 5316into other keymaps right away (MAPS is non-nil), it usually doesn't
@@ -6018,30 +5318,24 @@ need to have a name.
6018 5318
6019** Operating system access: 5319** Operating system access:
6020 5320
6021+++
6022*** The new primitive `get-internal-run-time' returns the processor 5321*** The new primitive `get-internal-run-time' returns the processor
6023run time used by Emacs since start-up. 5322run time used by Emacs since start-up.
6024 5323
6025+++
6026*** Functions `user-uid' and `user-real-uid' now return floats if the 5324*** Functions `user-uid' and `user-real-uid' now return floats if the
6027user UID doesn't fit in a Lisp integer. Function `user-full-name' 5325user UID doesn't fit in a Lisp integer. Function `user-full-name'
6028accepts a float as UID parameter. 5326accepts a float as UID parameter.
6029 5327
6030+++
6031*** New function `locale-info' accesses locale information. 5328*** New function `locale-info' accesses locale information.
6032 5329
6033---
6034*** On MS Windows, locale-coding-system is used to interact with the OS. 5330*** On MS Windows, locale-coding-system is used to interact with the OS.
6035The Windows specific variable w32-system-coding-system, which was 5331The Windows specific variable w32-system-coding-system, which was
6036formerly used for that purpose is now an alias for locale-coding-system. 5332formerly used for that purpose is now an alias for locale-coding-system.
6037 5333
6038---
6039*** New function `redirect-debugging-output' can be used to redirect 5334*** New function `redirect-debugging-output' can be used to redirect
6040debugging output on the stderr file handle to a file. 5335debugging output on the stderr file handle to a file.
6041 5336
6042** Miscellaneous: 5337** Miscellaneous:
6043 5338
6044+++
6045*** A number of hooks have been renamed to better follow the conventions: 5339*** A number of hooks have been renamed to better follow the conventions:
6046 5340
6047`find-file-hooks' to `find-file-hook', 5341`find-file-hooks' to `find-file-hook',
@@ -6054,50 +5348,41 @@ debugging output on the stderr file handle to a file.
6054 5348
6055In each case the old name remains as an alias for the moment. 5349In each case the old name remains as an alias for the moment.
6056 5350
6057+++
6058*** Variable `local-write-file-hooks' is marked obsolete. 5351*** Variable `local-write-file-hooks' is marked obsolete.
6059 5352
6060Use the LOCAL arg of `add-hook'. 5353Use the LOCAL arg of `add-hook'.
6061 5354
6062---
6063*** New function `x-send-client-message' sends a client message when 5355*** New function `x-send-client-message' sends a client message when
6064running under X. 5356running under X.
6065 5357
6066** GC changes: 5358** GC changes:
6067 5359
6068+++
6069*** New variable `gc-cons-percentage' automatically grows the GC cons threshold 5360*** New variable `gc-cons-percentage' automatically grows the GC cons threshold
6070as the heap size increases. 5361as the heap size increases.
6071 5362
6072+++
6073*** New variables `gc-elapsed' and `gcs-done' provide extra information 5363*** New variables `gc-elapsed' and `gcs-done' provide extra information
6074on garbage collection. 5364on garbage collection.
6075 5365
6076+++
6077*** The normal hook `post-gc-hook' is run at the end of garbage collection. 5366*** The normal hook `post-gc-hook' is run at the end of garbage collection.
6078 5367
6079The hook is run with GC inhibited, so use it with care. 5368The hook is run with GC inhibited, so use it with care.
6080 5369
6081* New Packages for Lisp Programming in Emacs 22.1 5370* New Packages for Lisp Programming in Emacs 22.1
6082 5371
6083+++
6084** The new library button.el implements simple and fast `clickable 5372** The new library button.el implements simple and fast `clickable
6085buttons' in Emacs buffers. Buttons are much lighter-weight than the 5373buttons' in Emacs buffers. Buttons are much lighter-weight than the
6086`widgets' implemented by widget.el, and can be used by lisp code that 5374`widgets' implemented by widget.el, and can be used by lisp code that
6087doesn't require the full power of widgets. Emacs uses buttons for 5375doesn't require the full power of widgets. Emacs uses buttons for
6088such things as help and apropos buffers. 5376such things as help and apropos buffers.
6089 5377
6090---
6091** The new library tree-widget.el provides a widget to display a set 5378** The new library tree-widget.el provides a widget to display a set
6092of hierarchical data as an outline. For example, the tree-widget is 5379of hierarchical data as an outline. For example, the tree-widget is
6093well suited to display a hierarchy of directories and files. 5380well suited to display a hierarchy of directories and files.
6094 5381
6095+++
6096** The new library bindat.el provides functions to unpack and pack 5382** The new library bindat.el provides functions to unpack and pack
6097binary data structures, such as network packets, to and from Lisp 5383binary data structures, such as network packets, to and from Lisp
6098data structures. 5384data structures.
6099 5385
6100---
6101** master-mode.el implements a minor mode for scrolling a slave 5386** master-mode.el implements a minor mode for scrolling a slave
6102buffer without leaving your current buffer, the master buffer. 5387buffer without leaving your current buffer, the master buffer.
6103 5388
@@ -6118,12 +5403,10 @@ SQL buffer.
6118 (function (lambda () 5403 (function (lambda ()
6119 (master-set-slave sql-buffer)))) 5404 (master-set-slave sql-buffer))))
6120 5405
6121+++
6122** The new library benchmark.el does timing measurements on Lisp code. 5406** The new library benchmark.el does timing measurements on Lisp code.
6123 5407
6124This includes measuring garbage collection time. 5408This includes measuring garbage collection time.
6125 5409
6126+++
6127** The new library testcover.el does test coverage checking. 5410** The new library testcover.el does test coverage checking.
6128 5411
6129This is so you can tell whether you've tested all paths in your Lisp 5412This is so you can tell whether you've tested all paths in your Lisp
diff --git a/etc/ORDERS b/etc/ORDERS
index 8c612a1b1b6..e08931e7ead 100644
--- a/etc/ORDERS
+++ b/etc/ORDERS
@@ -8,6 +8,6 @@ For more information, see the order form on the web at
8Your purchases will help support further development of Emacs and 8Your purchases will help support further development of Emacs and
9other free software programs. 9other free software programs.
10 10
11You can also make tax-deductable donations to the Free Software 11You can also make tax-deductible donations to the Free Software
12Foundation, a not-for-profit organization (assuming you pay US taxes) 12Foundation, a not-for-profit organization (assuming you pay US taxes)
13- see <http://www.gnu.org/help/donate.html>. 13- see <http://www.gnu.org/help/donate.html>.
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index be56254dcd7..f42013fc109 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -217,15 +217,15 @@ configuring your compiler to use the native linker instead of GNU ld.
217This happens because of bugs in Gtk+. Gtk+ 2.10 seems to be OK. See bug 217This happens because of bugs in Gtk+. Gtk+ 2.10 seems to be OK. See bug
218http://bugzilla.gnome.org/show_bug.cgi?id=85715. 218http://bugzilla.gnome.org/show_bug.cgi?id=85715.
219 219
220** Emacs compiled with Gtk+ crashes on startup on cygwin. 220** Emacs compiled with Gtk+ crashes on startup on Cygwin.
221 221
222A typical error message is 222A typical error message is
223 ***MEMORY-ERROR***: emacs[5172]: GSlice: failed to allocate 504 bytes 223 ***MEMORY-ERROR***: emacs[5172]: GSlice: failed to allocate 504 bytes
224 (alignment: 512): Function not implemented 224 (alignment: 512): Function not implemented
225 225
226Emacs supplies its own malloc, but glib (part of Gtk+) calls memalign and on 226Emacs supplies its own malloc, but glib (part of Gtk+) calls memalign and on
227cygwin that becomes the cygwin supplied memalign. As malloc is not the 227Cygwin, that becomes the Cygwin supplied memalign. As malloc is not the
228cygwin malloc, the cygwin memalign always returns ENOSYS. A fix for this 228Cygwin malloc, the Cygwin memalign always returns ENOSYS. A fix for this
229problem would be welcome. 229problem would be welcome.
230 230
231* General runtime problems 231* General runtime problems
@@ -390,9 +390,13 @@ again to say this:
390 390
391*** Emacs does not know your host's fully-qualified domain name. 391*** Emacs does not know your host's fully-qualified domain name.
392 392
393For example, (system-name) returns some variation on
394"localhost.localdomain", rather the name you were expecting.
395
393You need to configure your machine with a fully qualified domain name, 396You need to configure your machine with a fully qualified domain name,
394either in /etc/hosts, /etc/hostname, the NIS, or wherever your system 397(i.e. a name with at least one ".") either in /etc/hosts,
395calls for specifying this. 398/etc/hostname, the NIS, or wherever your system calls for specifying
399this.
396 400
397If you cannot fix the configuration, you can set the Lisp variable 401If you cannot fix the configuration, you can set the Lisp variable
398mail-host-address to the value you want. 402mail-host-address to the value you want.
@@ -1202,7 +1206,7 @@ The problems seem to depend on the version of LessTif and the Motif
1202emulation for which it is set up. 1206emulation for which it is set up.
1203 1207
1204Only the Motif 1.2 emulation seems to be stable enough in LessTif. 1208Only the Motif 1.2 emulation seems to be stable enough in LessTif.
1205Lesstif 0.92-17's Motif 1.2 emulation seems to work okay on FreeBSD. 1209LessTif 0.92-17's Motif 1.2 emulation seems to work okay on FreeBSD.
1206On GNU/Linux systems, lesstif-0.92.6 configured with "./configure 1210On GNU/Linux systems, lesstif-0.92.6 configured with "./configure
1207--enable-build-12 --enable-default-12" is reported to be the most 1211--enable-build-12 --enable-default-12" is reported to be the most
1208successful. The binary GNU/Linux package 1212successful. The binary GNU/Linux package
@@ -1299,7 +1303,7 @@ be carried out at the same time:
1299 improves performance dramatically, at the slight expense of correctness 1303 improves performance dramatically, at the slight expense of correctness
1300 of the X protocol. lbxproxy acheives the performance gain by grouping 1304 of the X protocol. lbxproxy acheives the performance gain by grouping
1301 several X requests in one TCP packet and sending them off together, 1305 several X requests in one TCP packet and sending them off together,
1302 instead of requiring a round-trip for each X request in a seperate 1306 instead of requiring a round-trip for each X request in a separate
1303 packet. The switches that seem to work best for emacs are: 1307 packet. The switches that seem to work best for emacs are:
1304 -noatomsfile -nowinattr -cheaterrors -cheatevents 1308 -noatomsfile -nowinattr -cheaterrors -cheatevents
1305 Note that the -nograbcmap option is known to cause problems. 1309 Note that the -nograbcmap option is known to cause problems.
@@ -1405,7 +1409,7 @@ The easy way to do this is to put
1405 1409
1406in your site-init.el file. 1410in your site-init.el file.
1407 1411
1408* Runtime problems on character termunals 1412* Runtime problems on character terminals
1409 1413
1410** Emacs spontaneously displays "I-search: " at the bottom of the screen. 1414** Emacs spontaneously displays "I-search: " at the bottom of the screen.
1411 1415
@@ -2356,7 +2360,7 @@ The relevant switch in this case is "-Xs" (``compile assuming
2356*** Building Emacs over NFS fails with ``Text file busy''. 2360*** Building Emacs over NFS fails with ``Text file busy''.
2357 2361
2358This was reported to happen when building Emacs on a GNU/Linux system 2362This was reported to happen when building Emacs on a GNU/Linux system
2359(RedHat Linux 6.2) using a build directory automounted from Solaris 2363(Red Hat Linux 6.2) using a build directory automounted from Solaris
2360(SunOS 5.6) file server, but it might not be limited to that 2364(SunOS 5.6) file server, but it might not be limited to that
2361configuration alone. Presumably, the NFS server doesn't commit the 2365configuration alone. Presumably, the NFS server doesn't commit the
2362files' data to disk quickly enough, and the Emacs executable file is 2366files' data to disk quickly enough, and the Emacs executable file is
@@ -2443,17 +2447,17 @@ files are installed. Then use:
2443 2447
2444(using the location of the 32-bit X libraries on your system). 2448(using the location of the 32-bit X libraries on your system).
2445 2449
2446*** Building the Cygwin port for MS-Windows can fail with some GCC version 2450*** Building the Cygwin port for MS-Windows can fail with some GCC versions
2447 2451
2448Building Emacs 22 with Cygwin builds of GCC 3.4.4-1 and 3.4.4-2 is 2452Building Emacs 22 with Cygwin builds of GCC 3.4.4-1 and 3.4.4-2 is
2449reported to either fail or cause Emacs to segfault at run time. In 2453reported to either fail or cause Emacs to segfault at run time. In
2450addition, the Cygwin GCC 3.4.4-2 has problems with generating debug 2454addition, the Cygwin GCC 3.4.4-2 has problems with generating debug
2451info. Cygwin users are advised not to use these versions of GCC for 2455info. Cygwin users are advised not to use these versions of GCC for
2452compiling Emacs. GCC versions 4.0.3, 4.1.1, and 4.1.2 reportedly 2456compiling Emacs. GCC versions 4.0.3, 4.0.4, 4.1.1, and 4.1.2
2453build a working Cygwin binary of Emacs, so we recommend these GCC 2457reportedly build a working Cygwin binary of Emacs, so we recommend
2454versions. Note that these three versions of GCC, 4.0.3, 4.1.1, and 2458these GCC versions. Note that these versions of GCC, 4.0.3, 4.0.4,
24554.1.2, are currently the _only_ versions known to succeed in building 24594.1.1, and 4.1.2, are currently the _only_ versions known to succeed
2456Emacs (as of v22.1). 2460in building Emacs (as of v22.1).
2457 2461
2458*** Building the native MS-Windows port with Cygwin GCC can fail. 2462*** Building the native MS-Windows port with Cygwin GCC can fail.
2459 2463
@@ -2604,7 +2608,7 @@ The fix is to install a newer version of ncurses, such as version 4.2.
2604 2608
2605*** Linux: Segfault during `make bootstrap' under certain recent versions of the Linux kernel. 2609*** Linux: Segfault during `make bootstrap' under certain recent versions of the Linux kernel.
2606 2610
2607With certain recent Linux kernels (like the one of Redhat Fedora Core 2611With certain recent Linux kernels (like the one of Red Hat Fedora Core
26081 and newer), the new "Exec-shield" functionality is enabled by default, which 26121 and newer), the new "Exec-shield" functionality is enabled by default, which
2609creates a different memory layout that breaks the emacs dumper. Emacs tries 2613creates a different memory layout that breaks the emacs dumper. Emacs tries
2610to handle this at build time, but if the workaround used fails, these 2614to handle this at build time, but if the workaround used fails, these
diff --git a/etc/SERVICE b/etc/SERVICE
index 4d6009e9f36..3a057b98af1 100644
--- a/etc/SERVICE
+++ b/etc/SERVICE
@@ -1,1378 +1,10 @@
1-*- text -*-
2GNU Service Directory 1GNU Service Directory
3--------------------- 2---------------------
4 3
5See the end of file for copyright information. 4Please see <http://www.fsf.org/resources/service/> for a list of
5people who have asked to be listed as offering support services for
6GNU software, including GNU Emacs, for a fee or in some cases at no
7charge.
6 8
7This is a list of people who have asked to be listed as offering
8support services for GNU software, including GNU Emacs, for a fee
9or in some cases at no charge.
10
11The information comes from the people who asked to be listed;
12we do not include any information we know to be false, but we
13cannot check out any of the information; we are transmitting it to
14you as it was given to us and do not promise it is correct.
15Also, this is not an endorsement of the people listed here.
16We have no opinions and usually no information about the abilities of
17any specific person. We provide this list to enable you to contact
18service providers and decide for yourself whether to hire one.
19
20Before FSF will list your name in the GNU Service Directory, we ask
21that you agree informally to the following terms:
22
231. You will not restrict (except by copyleft) the use or distribution
24of any software, documentation, or other technical information you
25supply anyone in the course of modifying, extending, or supporting GNU
26software. This includes any information specifically designed to
27ameliorate the use of GNU software.
28
292. You will not take advantage of contact made through the Service
30Directory to advertise an unrelated business (e.g., sales of
31non-GNU-related proprietary information). You may spontaneously
32mention your availability for general consulting, but you should not
33promote a specific unrelated business unless the client asks.
34
35Please include some indication of your rates, because otherwise users
36have nothing to go by. Please put each e-mail address inside "<>".
37Please put nothing else inside "<>". Thanks!
38
39For a current copy of this directory, or to have yourself listed, ask:
40 service@gnu.org
41
42** Please keep the entries in this file alphabetical **
43^_
44Aaronsen Group, Ltd. <gnu@aaronsen.com>
45600 Grant St.
46Suite 5345
47Pittsburgh, PA 15219 US
48+1 412 391 6000 voice
49+1 412 361 5991 fax
50http://www.aaronsen.com/gnu
51
52The Aaronsen Group provides several levels of service in the free software
53arena, from simple configuration and installation to large extensions and
54new development. We specialize in unique applications, but have the
55experience to handle all manner of prospects, from database-backed
56web-sites to high-end multiprocessor clusters.
57
58Our service area covers the US, with key offices in Pittsburgh, PA; San
59Jose, CA; and New York, NY.
60
61We are available for both hourly work (at $300 per hour, some qualified
62discounts are available) and fixed-price projects. Work is done on the
63client site, at our offices, or remote via Internet or telephone
64connection
65
66Updated: 2001-05-08
67^_
68Alcôve
69------
70
71Alcôve, Centre Paris Pleyel, 153 bld Anatole France
7293200 Saint-Denis France
73
74Email: <infos@alcove.fr>
75
76Web: http://www.alcove.com
77Tél.: +33 1 49 22 68 00
78Fax: +33 1 49 22 68 01
79
80Founded in 1996, Alcôve's main purpose is to promote and support the
81use of GNU/Linux and OSS on the European market.
82Expertise in OSS innovation is the foundation of all Alcôve's
83activities.
84We provide key accounts and leading businesses in the field of IT with :
85
86 Consultancy
87 Engineering
88 Training
89 Support
90 Technical watching brief
91 OSS Certification - Validation - Guarantee
92 Drivers for the linux kernel
93 Company directory and unified messaging
94 Linux Firewall Security Package
95
96Keys: support services, consulting, open source software, GNU/Linux,
97Apache, Perl, GNU, Samba, Zope, Imp, OpenLDAP
98
99Average daily rate, depending on the job : 1000 euros.
100
101Updated: 2001-06-26
102^_
103Allegro Consultants, Inc. <info@gccsupport.com>
1041072 De Anza Blvd., Suite B101
105San Jose, CA 95129-3532
106USA
107+1 408 252-2330 voice
108+1 408 252-2334 fax
109http://www.gccsupport.com
110
111Allegro Consultants, Inc, in association with DIS International, is
112now offering annual support contracts covering the GNU Compiler
113Collection and related tools, including the GCC C and C++ compilers
114for MPE/iX.
115
116The free GCC C and C++ compilers have been available on MPE/iX for
117several years now, and are used for mission-critical applications by
118many organizations including Hewlett-Packard. Until now, assistance
119was available only from Mark Klein of DIS on a limited, voluntary
120basis. Mark is the person who originally ported GCC to the HP e3000,
121and he continues to maintain the software and port new versions.
122
123Support contracts start at $1,995.00/year for an organization
124(unlimited number of HP e3000 computer systems) with two designated
125callers. Additional options are available for large organizations who
126need to designate more than two authorized callers, or who want the
127additional security of 24x7 coverage.
128
129Updated: 2001-06-12
130^_
131Amazonia Computing
132
133<rick@viclink.com>
134http://www.viclink.com/~rick
135
1361981 NW Thomsen Lane
137McMinnville, OR 97128
138503-474-0572
139
140I provide development and technical support for free software
141and open source systems including embedded programming, GNU/Linux, the
142GNU development suite..
143
144I have over 10 years experience building and maintaining systems ranging
145from medical patient monitoring systems to Linux device drivers for
146custom PCI plug in cards.
147
148Rates range from $75.00/hr to $90/hr USD. Will work for a lower rate
149if in involves working in either Brazil, Vietnam, Indonesia, or Cuba.
150I am also willing to work on fixed price contracts.
151
152Updated: 2001-05-08
153^_
154Dipl.-Inform. Gerd Aschemann <gerd@aschemann.net>
155Osannstr. 49
156D-64285 Darmstadt
157Tel.: +49 173 3264070
158http://www.aschemann.net/
159
160- Consultant
161 + Unix Network and System Administration
162 + Distributed Systems and Middleware Infrastructures
163- former System Administrator (UNIX and NT) at CS Department, TU Darmstadt, Germany
164- 20 years working in the CS field, System administration on different platforms
165- 13 years with UNIX/Networking/FreeWare/GNU/X11
166- 10 years courses on Operating Systems and Distributed Systems
167- Lectures on System and Network Administration
168- Platforms: Solaris, GNU/Linux, SunOS, Ultrix, HP-UX, Digital Unix, AIX, SCO, FreeBSDs
169- Distributed Platforms and Information Systems (CORBA, WWW, Java, SOAP)
170
171Rates are at 180,-- DM (~85 US$) per hour minimum, depending on the job.
172I am willing to travel for sufficiently large jobs.
173
174Updated: 2001-05-09
175^_
176Baker Research, Ltd.
177P. O. Box 10036, Alexandria, VA 22310
178Phone: (703) 960-9500 (Voice)
179 (703) 960-8700 (Fax)
180Web: http://www.baker-research.com
181email: <solutions@baker-research.com>
182Rate: $75.00/hr to $150.00/hr, or fixed-price projects.
183
184Services:
185
186 --Customization of systems for user needs
187 --Software product evaluation and recommendation
188 --Full-lifecycle software development
189 --Programming (C/C++, tcl/tk, bash, perl)
190 --Custom backup and archival systems
191 --GNU/Linux system installation, configuration, and management
192 --Cluster systems support
193 -Installation, configuration, and management
194 -MPI and Myrinet support
195 --Data acquisition, management, visualization, and archival
196
197Updated: 2001-05-11
198^_
199Don Barry, Ph.D. <don@astro.cornell.edu>
200Ithaca, NY
201
202Astrophysicist with extensive and varied hacker background. Substantial
203expertise in mathematical modeling, instrument interface, low-level and
204high-level hardware control, statistical analysis, automated/mathematical
205typesetting. Also fluent in opto/electro/mechanical design. I try to find
206solutions using free software when possible and specialize in GNU/Linux
207platforms. Degrees also in chemistry and mathematics.
208
209Speak: C, APL, Fortran, J, Perl, Emacs Lisp, IDL, variety of machine
210languages from CDC CYBER (!) to x86 families, TeX/LaTeX, sendmail, and
211quite a few others. Experience on platforms from PDP to present.
212
213Rates: $75--$150 per hour + travel (if required) depending on the needs of
214the project, the level of support and availability required, and its
215interest to me.
216
217Services: consulting, design, porting, lecturing, support, project definition,
218system implementation.
219
220Updated: 2001-05-09
221^_
222James Craig Burley
22397 Arrowhead Circle
224Ashland, MA 01721
225Email: <craig@jcb-sc.com>
226Web: http://world.std.com/~burley/
227
228Expertise (mainly Development and Maintenance):
229 Compilers for Imperative Languages (author of GNU Fortran, aka g77)
230 Operating System Kernels
231 Tools/Utilities
232 Microcode (mainly VLIW) and Assembler
233 Software-Development-System Architecture (including APIs, IDEs)
234 Debugging
235 Technical Writing (Manager of Documentation)
236
237Experience:
238 Programming Languages C, PL/I, Fortran, PostScript
239 Operating Systems Unix, GNU/Linux, Solaris, HP-UX, VAX/VMS, PRIMOS,
240 MIT ITS, TOPS-10, TSS/8, IBM MVS
241 Assembler/Microcode Languages for Sun SPARC, HP-PA RISC, Numerix VLIWs,
242 VAX, Pr1me, IBM 360, PDP-10, PDP-8
243 Scripting Languages (many)
244 APIs (many)
245
246Rate: $180/hour
247
248Updated: 2001-05-08
249^_
250 C2V Michel Delval <mfd@c2v.com>
251 82 bd Haussmann Jean-Alain Le Borgne <jalb@c2v.com>
252 75008 Paris
253 France
254 Tel (33 1) 40.08.07.07
255 Fax (33 1) 43.87.35.99
256 http://www.c2v.com/freesoft.htm
257 e-mail: <consult@c2v.com>
258
259 Services: we offer source or source+binary distribution,
260 installation, training, maintenance, technical support,
261 consulting, specific development and followup on the GNU software
262 development environment: Emacs, gcc/g++, binutils, gas, gdb.
263
264 Porting on new platforms, and professionally developing software
265 with the GNU tools in the Unix/X11 environment since they were
266 first available.
267
268 Experience: GNU C Compilation toolchain for the SGS-Thomson D950
269 and ST20 DSP chips.
270
271 GNU C compilation toolchain (cross-compiler, compiler, linker,
272 assembler, debugger) for SparcV7 ERC32 based space systems
273 (Sextant Avionique / Alcatel Espace).
274
275 Feasability study, analysis and prototyping of a complete
276 compilation toolchain based on the GNU programming tools for the
277 CSEM RISC microprocessor family.
278
279 Rates: from 5000 FF/day to 750 000 FF/year, 40% discount for
280 educational institutions, add taxes and expenses. Ask for list.
281
282Updated: 2001-05-09
283^_
284Cendio Systems AB <info@cendio.com>
285Teknikringen 3
286SE-583 30 Linkoping
287SWEDEN
288+46 13 21 46 00 voice
289+46 13 21 47 00 fax
290http://www.cendio.com/ <international site>
291
292Cendio Systems develops, implements and integrates solutions based on
293Open Source Software. We also develop and market the Fuego
294Firewall(TM), an award winning and easy-to-use firewall, based on
295GNU/Linux.
296
297We offer professional services, including support, maintenance,
298integration and development in the following areas:
299
300* Embedded Linux
301* Client/Server Solutions GNU/Linux/BSD
302* Professional Training GNU/Linux, certifications from SAIR Linux/GNU
303* Open Source Strategy
304* Development/Adaptation of free software
305
306Cendio Systems have deep roots in Linkoping University, and was
307founded 1992 as Signum Support. Our headquarters resides in Mjardevi
308Science Park in Linkoping and we have an office in Stockholm. We are
309currently about fifty employees at both locations.
310
311Cendio Systems won the Lotus 'Tux Award' at LotusSphere 2000 for "the
312partner who best exemplifies a unique dedication to Lotus and Linux
313technologies and has successfully executed their vision in the
314marketplace."
315
316Cendio Systems have the following certifications and memberships:
317
318Association of Computing Machinery, Professional Membership
319COMPAQ System Specialist (Intel and Alpha Systems)
320Embedded Linux Consortium, Founding Member
321IBM Value Added Reseller (Netfinity)
322IBM Solution Provider (RS/6000)
323SAIR GNU/Linux, Accredited Center for education
324SGI Systems Integrator
325
326Rates: Please request our price list.
327
328Updated: 2001-05-09
329^_
330Alex Cherepanov
331111 McDade Blvd, Apt. A-205, Folsom, PA 19033
332Phone: 610 529 3475
333email: <alexcher@erols.com>
334Web: http://users.erols.com/alexcher/
335
336Services: Support and maintenance of free PostScript and PDF
337software including Ghostscript, ps2pdf, a2ps, tiff2ps, pdfopt.
338General imaging, font, and PDL consulting.
339
340Experience: 12 years experience in software engineering, 5 years
341in PostScript and digital color printing.
342
343Rates: $50-75/hour, depending on contract length.
344
345Updated: 2001-05-22
346^_
347CodeSourcery, LLC <info@codesourcery.com>
3489978 Granite Point Ct
349Granite Bay, CA 95746
350(650) 364-5360
351http://www.codesourcery.com
352
353CodeSourcery specializes in customization of, enhancements to, and
354support for all GNU software. We have particular experience in the
355field of programming tools, and have been responsible for many
356features in the GNU C and C++ compilers including the implementation
357of member templates and type-based alias analysis. Mark Mitchell, one
358of our co-founders, is a co-maintainer of the GNU Compiler Collection.
359
360We also have experience with GNU tools ranging from emacs to binutils
361to gdb to autoconf, and are willing to work on any and all free
362software projects.
363
364Please see our web page at www.codesourcery.com for more information
365about our products, services, and prices.
366
367Updated: 2001-05-16
368^_
369Stuart Cracraft <cracraft@gnu.org>
370P.O. Box 6061
371Laguna Niguel, CA, 92607, USA
372Phone: 714-347-8106 (prefer email)
373Rate: negotiable
374
375Consultation topics:
376Entire GNU suite - porting, compilation, installation,
377user-training, administrator-training.
378
379Method: via any combination of telephone, dialup, Internet, in-person, email.
380
381Experience: supporting GNU since project inception, original port of
382GNU Emacs to Sun Solaris, original author of GNU Emacs online tutorial.
383Expertise in C, Emacs Lisp, Perl, Expect, Oracle, Informix, SunOS, Solaris,
384NIS, NFS, system-monitoring via paging. Unix System and Database
385administration or development.
386
387Updated: 2000-12-13
388^_
389Bruce Dawson - <jbd@codemeta.com>
390CodeMeta, Inc.
391Manchester, NH USA
392800-354-2209
393
394Specializing in GNU tools such as CVS, gnats, bash, gawk, fileutils...
395
396Services:
397
398 o 800 phone support.
399
400 o Modification and development.
401
402 o Training.
403
404Rate: Fixed rate deliverables or $110/hour for hourly work.
405
406http://www.codemeta.com
407
408Updated: 2001-05-09
409^_
410Martin Deen Consulting
411<sunra@mail.hypermart.net>
412426 Marietta St. #503
413Atlanta, GA 30313
414(V) 404-931-5392
415http://sunra.hypermart.net
416
417Consultant with many years supporting the GNU/Linux environment and
418working with Open Source solutions. Available for hourly and per
419project work. Hourly rates start at $100/hr. Work can be done on
420client site, offsite, or remotely via Internet. Can take engagements
421in Atlanta with little notice, call for arangements elsewhere.
422
423Updated: 2001-04-20
424^_
425DSS Distributed Systems Software, Inc.
4263253 Georgia St. <dss@dss.bc.ca>
427Richmond, British Columbia V7E 2R4 http://www.dss.bc.ca
428CANADA (604) 270-9559
429
430GNU-related services:
431 We specialize in support for GCC (mainly C and C++), including porting,
432 retargeting, and customizing.
433 Also, GNU and other free software that falls within our areas of expertise.
434
435Expertise:
436 DSS provides software design, implementation, and consulting services.
437
438 Distributed systems:
439 o Client/Server architectures, computer networking, communication
440protocols
441 o Directory systems, including X.500 and LDAP
442 o High-performance and special-purpose distributed systems and databases:
443 scalability, reliability, availability, transactions
444 o Computer systems performance analysis
445
446 Compilers, translators, and interpreters, including "small" and
447 special-purpose languages
448
449Rates:
450 Consulting rates are $65-$200 USD per hour, plus
451 applicable taxes. Fixed-cost projects are also possible.
452
453Updated: 2001-05-10
454^_
455John W. Eaton
456<jwe@gnu.org>, <jwe@net66.com>
457
458Experience: Original author and current maintainer of GNU Octave
459 (http://www.octave.org).
460
461 Derivatives of the Unix man utility that I wrote in 1990
462 are currently distributed with several GNU/Linux systems.
463
464 Improved GNU Make's support for VPATH and object
465 libraries on VMS systems.
466
467 Various other enhancements and bug fixes for other free
468 software tools.
469
470 I have more than 18 years experience programming various
471 languages and systems, more than 13 years as a user and
472 system mangler of Unix systems, including Ultrix, SunOS,
473 AIX, HP/UX, BSD, IRIX, Digital Unix, and GNU/Linux.
474 Long-time user of GNU tools on all these platforms.
475
476Programming: Octave, Matlab, C++, C, Fortran, Emacs Lisp, TeX/LaTeX,
477 AWK, M4, Autoconf, Make, Lex & YACC, Unix shell
478 programming, etc.
479
480Services: Anything related to programming and extending Octave.
481 Porting, installation, and customization of GNU/Linux and
482 GNU tools. Unix system administration.
483
484Rates: $100/hour + travel and expenses (if required). Will
485 consider travel for short periods and/or sufficiently
486 interesting jobs, but prefer to work via the net or email.
487 Lower rates for non-profits.
488
489Updated: 2001-05-14
490^_
491 Echo Labs <echo@iinet.net.au>
492 29 Weld St, http://www.iinet.net.au/~echo/
493 Nedlands, WA 6009
494 Perth, Australia
495 +61 (0) 41 356 0008
496
497 Echo Labs is a software consultancy that also provides support and
498 development skills. Specialising in GNU software, particularly Tcl/Tk
499 and Linux. We can deliver systems at a fraction of the cost of those
500 based on more traditional technologies. Internet/intranet, telephony
501 and data communications solutions, for all platforms are undertaken.
502 GUI front-ends done quickly in rapid development process.
503
504 While typically involved in engineering and technical areas, any
505 GNU/Open Source software will be supported.
506
507 For further details see: http://www.iinet.net.au/~echo/
508
509 Experience: 15+ years C/Unix, Sun, SCO, GNU/Linux, Win/NT.
510 Secure WWW servers (Apache SSL), Ecommerce solutions.
511 Systems programming, device drivers, hardware interfacing.
512 GNU tools/utilities, telephony and Embedded & realtime
513 systems. Communications protocols and implementation.
514
515 Degrees: BAppSc (CS) (Distinction), Curtin University, Perth
516
517 Rates: AUS $50-75/hr neg.
518
519Updated: 2001-05-09
520^_
521Noah Friedman <friedman@splode.com>
5226114 La Salle Ave. #739
523Oakland, CA 94611-2802
524
525Author of several Emacs Lisp packages and parts of Emacs, as well as
526numerous network and unix system utilities. Co-maintained GNU Texinfo and
527Autoconf for a couple of years. Experienced unix systems engineer.
528FSF employee Feb 1991--Sep 1994.
529
530I can perform installation, porting, and enhancement of all GNU software
531and any other free software, especially for Linux/GNU systems; design
532high-capacity hardware-redundant servers for production environments;
533provide consulting on the use of version control management with CVS; and I
534am willing to provide handholding for shell programming and Emacs Lisp
535development.
536
537Fees negotiable, averaging $100-$150/hour. I can work in the California
538bay area or anywhere accessible on the Internet. For larger jobs I may be
539willing to travel.
540
541Updated: 2001-05-08
542^_
543Brian Gough <bjg@network-theory.co.uk>
544Network Theory Limited http://www.network-theory.co.uk/
545Bristol, United Kingdom
546
547Tel: 0117 3179309 (in UK), +44 117 3179309 (outside UK)
548
549I provide support and development of free software on a contract
550basis. I can work at your site, over the internet, or by phone/email.
551I have extensive experience with many free software packages,
552particularly for web development.
553
554I can also provide specialized consulting in numerical software
555development for scientific and quantitative applications.
556
557Rate: 40-60 pounds/hour, depending on location.
558
559Updated: 2001-09-05
560^_
561Ronald F. Guilmette <rfg@monkeys.com>
562RG Consulting
5631751 East Roseville Pkwy. #1828
564Roseville, CA 95661
565Tel: +1 916 786 7945
566FAX: +1 916 786 5311
567
568Services: Development & porting of GNU software development tools.
569
570GNU Contributions:
571 Invented, designed, and implemented the protoize and
572 unprotoize tools supplied with GCC2.
573
574 Designed and developed all code to support the generation
575 of Dwarf symbolic debugging information for System V Release
576 4 in GCC2.
577
578 Performed original port of GNU compilers to SVr4 system.
579
580 Finished port of GNU compilers to Intel i860 RISC
581 processor.
582
583Experience: 13+ years UNIX systems experience, all working on compilers
584 and related tools.
585
586 7+ years working professionally on GCC, G++, and GDB under
587 contract to various firms including the Microelectronics
588 and Computer Technology Corporation (MCC), Data General (DG),
589 Network Computing Devices (NCD), and Intel Corp.
590
591Other qualifications:
592 Developer of the RoadTest (tm) C and C++ commercial
593 compiler test suites.
594
595 Former vice-chairman of UNIX International Programming
596 Languages Special Interest Group (UI/PLSIG).
597
598 Bachelor's and a Master's degrees, both in Computer Science.
599
600Rates: Variable depending upon contract duration. Call for quote.
601
602Updated: 2000-12-13
603^_
604IDEALX
60515-17 avenue de ségur
60675007 Paris
607France
608
609Tel - +33144420000 Fax - +33144420001
610http://www.IDEALX.com, http://www.IDEALX.org
611
612IDEALX is involved in the development of Open Source solutions,and
613ensures their deployment and maintenance.
614Development
615Technical support
616Technology watch
617Consulting
618Engineering
619Training
620
621Rates - Variable
622
623Updated: 2000-12-13
624^_
625Ehud Karni <kehud@iname.com>
626Israel
627
628Support of Emacs & Emacs lisp, GNU/Linux, Cygwin.
629
630Fee: $75/hour.
631
632Updated: 2001-05-09
633^_
634Bradley M. Kuhn
635<bkuhn@ebb.org>
636http://www.ebb.org/bkuhn
637
638I am available for part-time system administration, software development
639and training. I have extensive experience with system administration of
640GNU/Linux systems, and Free Software development. I have also taught
641courses in C++ and Perl. As an employee of the FSF, I have a unique
642perspective on the free software community.
643
644Please visit my homepage for more information on my background and skills.
645My resume is also available there.
646
647I am available for both 1099 and W2 on-site contracting in the Boston, MA,
648USA metropolitan area, as well as remote consulting via dialup or Internet
649connection anywhere in the USA. I am not interested in relocation.
650However, temporary (two week maximum) jobs with paid expenses at other
651locations will be considered.
652
653My rate varies greatly (between $25-$60/hour) depending on the
654circumstances. Rates for non-profit organizations will be on the lower end
655of the spectrum, if I support your cause.
656
657Updated: 2001-06-14
658^_
659Paul Gillingwater, CEO
660CSO Lanifex Unternehmensberatungs & Softwareentwicklung GmbH
661Praterstrasse 60
662A-1020 Vienna, Austria
663http://www.lanifex.com
664Phone.: +43/1/2699293-21
665Fax.: +43/1/2699293-13
666Mobile.: +43/699/19223085
667
668 CSO Lanifex is an effective team of software developers who are
669actively implementing Web-based database systems, using a variety of
670Open Source technologies, including GNU/Linux, PHP, MySQL, Perl and
671especially the Midgard Project.
672
673 Our speciality is Web development with content management, especially
674for larger Web portals and e-Commerce systems. We're very much
675in-favour of Free (as in speech) software, and have used it for almost
676all of our customers.
677
678 We have eight staff, with a variety of skills, including RHCE, PHP,
679Perl, C, Java, SQL, network design, security consulting, Internet
680routing, UMS etc. The CEO personally has over 20 years of experience
681with UNIX, and more than 10 years experience with a variety of
682Internet technologies. For a more complete list, please refer to our
683Web site listed below.
684
685For further details see: http://www.lanifex.com
686
687Rates: ATS 1.500/hr neg.
688
689Updated: 2000-12-19
690^_
691Greg Lehey
692LEMIS
693PO Box 460
694Echunga SA 5153
695Australia
696
697Phone: +61-8-8388-8286
698Fax: +61-8-8388-8725
699Mobile: +61-418-838-708
700Mail <grog@lemis.com>
701
702Services: Supply, porting, installation, consultation on all GNU
703products.
704
705Experience: 25 years OS and compiler experience, ports of most GNU
706products. Author of ported software CD-ROM for UNIX System V.4.2,
707"Porting UNIX Software" (O'Reilly), "Installing and Running FreeBSD"
708and "The Complete FreeBSD" (both Walnut Creek).
709
710Rates: Choice of AUD 300 per hour or hotline rates AUD 6 per minute.
711Outside Australia, $US 180 per hour or $US 3.50 per minute. Quick,
712well prepared questions by mail may be free.
713
714Updated: 2001-05-09
715^_
716Alan Lehotsky <apl@alum.mit.edu>
717Quality Software Management
718634 West St
719Carlisle, MA 01741
720
721Phone: (978)287-0435
722Fax: (978)287-0436
723
724Services:
725 - Support for GNU compilers, including rehost/retarget
726 - GNU Binutils rehost/retarget.
727 - cgen/sim
728 - Perl internals hacking
729 - General system software work (SW tools, O/S, device drivers)
730 - runtime library (especially floating point)
731 - project management
732 - software process improvement
733
734Experience: 20+ years of design and implementation of optimizing
735 compilers. "Mr. Bliss" at Digital in the 70's and early
736 80's. Experience with Motorola 68k, PowerPC, SPARC, Intel
737 x86 and IA64 (Merced), MIPS, NS32K, ADI SHARC DSP, VAX, PDP-11,
738 PDP-10. Wrote or maintained compilers for Ada, BLISS, C, C++,
739 FORTRAN, Pascal, Modula/2, O/S experience includes Unix (OSF/1,
740 SunOS, Solaris, AIX, HP/UX), VAX/VMS, Windows/NT, MacOS.
741
742 8 years experience with GCC internals, including major changes to
743 support 8 bit bytes on word-address Analog Devices SHARC DSP and
744 general support of PowerPC code generation. Retargetted gcc/binutils
745 cross-tools to ASIC used in optical switch. Retargeted gcc to 8 bit "internet toaster"
746 micro-computer.
747
748References available
749
750Rates: $110/hr.
751 fixed price possible for well-defined deliverables.
752
753Updated: 2001-05-08
754^_
755Reuven M. Lerner
756Lerner Communications Consulting Ltd.
757PO Box 518
758105 Nahar Ha-Yarden Street
759Modi'in 71700
760Israel <reuven@lerner.co.il>
761
762Phone: 08-973-2225 (within Israel)
763 +972-8-973-2225 (outside of Israel)
764
765Fax: 08-973-0477 (within Israel)
766 +972-8-973-0477 (outside of Israel)
767
768WWW: http://www.lerner.co.il
769
770We specialize in writing custom Web and Internet applications. In
771particular:
772
773- We create database-backed Web sites using Perl, Tcl, Python, Java,
774 Apache, mod_perl, MySQL, PostgreSQL, and (when free software doesn't
775 suffice) Oracle.
776
777- We offer support and service for system administrators who need help
778 with their GNU/Linux systems.
779
780- We offer training in a variety of programming languages (Perl, Tcl,
781 Python, and Java) and in GNU/Linux administration.
782
783Consulting rates: $150/hour, or $100/hour for non-profits
784
785Updated: 2001-05-09
786^_
787Richard Levitte (in TeX: Richard Levitte
788Levitte Programming Levitte Programming
789Spannvagen 38, I Spannv\"agen 28, I
790S-168 35 Bromma S-168 35 Bromma
791Sweden Sweden)
792Tel.nr.: +46 (8) 26 52 47 (there is an answering machine)
793Cellular: +46 (708) 26 53 44
794e-mail: <levitte@lp.se>
795
796What I do:
797 Primarily I work on GNU software for VMS, both VAX and AXP. I've
798 been porting GNU Emacs to VMS since spring 1991. I've ported a
799 bunch of other GNU programs as well. I maintain GNU vmslib.
800 For further info, see http://www.lp.se/~levitte/prof/resume.html
801
802Programs supported:
803 To a varying degree (ranging from extension and porting to
804 installation and simple questions) at the time of updating this
805 entry:
806 - GNU vmslib, emacs, autoconf, zip, diffutils, m4, patch, texinfo,
807 C/C++; on both VMS and Unix.
808 - Other GNU programs to a small degree; on Unix.
809 For further info, look at http://www.lp.se/products/gnu.html
810
811Experience:
812 Fluent in TeX/LaTeX and many programming languages.
813 Modified key elements in Emacs (e.g., memory and process management)
814 to work transparently on VMS. I have very good knowledge in the VMS
815 operating system. I'm also knowledged in the a few Unix flavors.
816 For further info, see http://www.lp.se/~levitte/prof/resume.html
817
818Your Rate:
819 $70-$100/hour (500-800 SEK in sweden), plus expenses. My rates
820 are negotiable, depending on how interesting the project is to me.
821
822Updated: 2000-05-28
823^_
824Gordon Matzigkeit <gord@gnu.org>
825Box 325 http://fig.org/~gord/
826Lumsden, Saskatchewan S0G 3C0 Voice: (306) 731-3011
827CANADA
828
829I will gladly help novice and intermediate computer users to install,
830understand, and use free software, whether or not I have prior
831experience with that software. I know my limitations well, and will
832freely give other contacts if I cannot solve your problem myself.
833
834I have over 5 years of experience with several of the major free OSes:
835GNU/Linux (Debian, Red Hat), NetBSD, FreeBSD, and GNU/Hurd. Some of
836my specialties are networking, Emacs, Automake, Autoconf, C, Perl, and
837shell script programming.
838
839My rates are negotiable depending on the task: usually $40-$60
840(Canadian) per hour. Flat rates preferred.
841
842Updated: 2000-12-19
843^_
844 NetGuide Scandinavia AB <info@netg.se>
845 Tankeg=E5ngen 4
846 S-417 56 G=F6teborg, Sweden
847 +46 31 50 79 00 voice
848 +46 31 50 79 39 fax
849 http://www.netg.se
850
851NetGuide Scandinavia AB is a company that does consultant jobs and holds
852courses in the fields of Unix software, TCP/IP networking and Internet
853applications. The people behind NetGuide Scandinavia AB have many years of
854general Unix experience, both as system administrators and as
855programmers, and also extensive experience in maintaining the GNU
856programs; in administration as well as finding and fixing bugs.
857
858Services offered:
859
860 - Installation and customizing GNU and other free software. We will
861 make free software as easy to install and use as shrink wrapped
862 programs.
863 - Service and support subscriptions.
864 - Warranty protection.
865 - Customization and porting.
866 - Subscriptions to new versions which we will send monthly or with
867 any other interval.
868 - Finding, recommending and investigating free software in any
869 area of the customers choice.
870 - Regular consulting.
871 - Support on Internet service software, especially the free
872 - Support on GNU/Linux.
873 - Freeware based courses in Unix usage, C, C++, or any GNU tools
874
875 Rates: For courses, contact us for a quote,
876 For consulting, $60-120/hour, depending on contract length.
877
878Updated: 2000-12-13
879^_
880Thien-Thi Nguyen
881ttn@glug.org
882San Diego, CA, USA
883
884 - scheme, common lisp, elisp, c, perl, verilog, sh, etc
885 - software architecture / implementation / testing
886 - hardware design / verification
887 - tools flow / environment tweaking / scripting
888 - simulators / transactors / stimulus generators
889 - glue code / integration
890
891Resume: http://www.glug.org/people/ttn/resume.html
892
893Rate: $100/hr, possibly less
894
895Updated: 2001-05-08
896^_
897David Nicol
898Post office box 45163
899Kansas City, Missouri 64171
900<david@tipjar.com>
901http://www.tipjar.com/dnconsult
902
903Unix, GNU/Linux, Perl installation, C, C++, Lisp, Perl programming.
904
905CGI programming.
906
907Installation, porting.
908
909Specification development, design, implementation, documentation.
910
911Rate: $60/hour, or fixed contract. On-site support available in
912greater Kansas City area.
913
914Updated: 2001-05-08
915^_
916Jonas Oberg (TeX: Jonas \"Oberg
917Skalangsgatan 11B Sk\"al\"angsgatan 11B
918S-723 36 Vasteras S-723 36 V\"aster\.as
919Sweden Sweden)
920
921Phone: +46-21-144831
922E-mail: <jonas@gnu.org>
923
924I offer support for most GNU software including the GNU
925Hurd and also do system administration on GNU systems.
926I can do free software development and have a good
927understanding of automake, autoconf, flex, bison, guile,
928texinfo and much more. Rates around USD$100.
929
930Updated: 2001-05-09
931^_
932 Peter Olsen
933 P.O. Box 410
934 Simpsonville, MD 21150
935
936 <p@sigmaxi.org>
937
938 What I do: Mathematical modeling and model building using Gnu
939 and other Free Software. Scientific and engineering
940 analysis, modeling, and programming in FORTRAN, C, LISP,
941 and Java. Statistical analysis. Emacs customization.
942
943 Examples of my previous work:
944 1. I built the model used predict the
945 amount of work required to clean up the Exxon Valdez oil
946 spill. Model was completed in ten days, used to allocate
947 resources for $2 billion summer cleanup, predictions were
948 accurate.
949 2. I built a model applying commercial capital
950 investment standards to a Federal Agency budget, helped
951 support $250 Million budget increase.
952
953 Credo: Engineering is the art of applying a professional
954 knowledge of mathematics and the physical sciences to
955 improve the quality of life.
956
957 Rates: $135/hour (+ travel and expenses) on site,
958 $95/hour remote access.
959
960 Notes: 1. Visiting Lecturer for Society for Industrial and Applied
961 Mathematics: Will speak without fee about Valdez model
962 (or other work) to Educational and not-for-profit
963 organizations (plus most-economical travel and living
964 expenses or travel or living arrangements in kind).
965
966 2. I do not accept offers which pose the danger
967 of conflict of interest with any present or former client
968 or employer.
969
970
971Updated: 2000-12-13
972^_
973 Open Systems Computing AS Open Systems Computing AS
974 Kongensgate 9 Rogaland Kunnskapspark, PB 8034
975 N-0153 Oslo Prof. Olav Hanssensvei 11
976 Norway N-4068 Stavanger
977 Norway
978
979Phone: Fax:
980 +47 22 20 40 50 +47 22 20 02 85
981
982Web: E-mail:
983 http://www.osc.no <gnu-support@osc.no>
984
985Open Systems Computing AS can provide programming support for all
986GNU software -- extending or adopting it to meet customer needs.
987Prices vary with software and project. Hourly fees are in the $80-120
988range. Fixed-priced projects are also available. Phone support is
989available only for customers with support contracts.
990
991Updated: 2001-05-09
992^_
993Francesco Potortì <pot@gnu.org>
994Via S.Stefano, 8
99556123 Pisa, Italy
996Tel. (050)560671
997
998Emacs: installation and maintenance, training and tutorials,
999 customisation, extensions, troubleshooting. Author of some of
1000 the packages in the emacs distribution, has made the porting
1001 of emacs to the Motorola Delta architecture.
1002
1003Other: installation and maintenance of GNU software. Experience with
1004 hylafax, RCS, gperf, etags, smail, indent, diff, gawk, gcc,
1005 screen. Is the current maintainer of etags.
1006
1007Rates: 100 E/hour.
1008 Prefer e-mail communication to telephone.
1009
1010Qualifications: Electronic Engineering degree, Pisa. Full time
1011 researcher in CNUCE-CNR.
1012 Familiar with elisp programming, porting of C programs,
1013 low-level TCP/IP programming for embedded systems.
1014
1015Updated: 2001-05-09
1016^_
1017Quoll Systems Pty Ltd, see http://quoll.com.au
10188 Brown St, Fannie Bay, Darwin, NT, Australia.
1019Phone: +61 8 8941 7150 Fax: +61 8 8941 7151 Mobile: 0409 691 399
1020e-mail: <pjm@gnu.org> or <info@quoll.com.au>
1021
1022QS is a small (4 full-time staff + 15 part-timers) which does a variety
1023of things in the *IX, technical computing area including:
1024
1025 o Systems development/maintainence (in most programming languages)
1026 o Training (GNU/Linux, FreeBSD, OpenBSD, Apache, Perl, ...)
1027 o Consulting in areas such as security, reliability,
1028
1029Recent projects have included wind turbine generator control, water
1030quality databases, remote area satelliate communications, Apache Web
1031serving, ISP configurations, *nix training. Staff have provided some
1032small contributions to the GNU and BSD projects over the years. We
1033also have a bit of expertise in the embedded(inside people) systems
1034area in addition to the standard building work.
1035
1036We can provide local (i.e. southern hemisphere/south east asia) support
1037for most of the vast range of free software systems including: GNU/Linux,
1038FreeBSD, OpenBSD , OpenSSH, Sendmail, various compilers and networking
1039tools. Remote support can also be arranged.
1040
1041Rates: vary depending on the work, period and staff provided but let
1042 us pick 100$US/hr as a starting point for senior staff.
1043
1044Updated: 2000-12-13
1045^_
1046Red Hat, Inc.
1047<embedded-info@redhat.com>
10481325 Chesapeake Terrace
1049Sunnyvale, CA 94089 USA
1050Toll free: 866-2REDHAT ext. 3005
1051+1 408 542 9600 voice
1052+1 408 542 9699 fax
1053
1054GNUPro Tools
1055Red Hat provides supported and maintained versions of gcc, g++, gdb
1056with GUI, GNU linker and GNU macro assembler. In addition, Red Hat
1057provides these GNU software development tools for well over many
1058popular host-target configurations. Support includes bug fixes and
1059semi-annual releases of the toolset. Each release is regression
1060tested and includes substantial improvements and additions to the
1061current release. Support is available through Incident support
1062packages, or Unlimited support for specific user groups. GNUPro is
1063available with standard, custom, and vintage toolchains for both
1064native and embedded application development. New target processors
1065are being added regularly. Rates for support for standard products
1066start at $12,500.
1067
1068Embedded Linux
1069Red Hat offers Red Hat Embedded Linux to companies looking for an open
1070source and royalty-free runtime solution. Red Hat Embedded Linux
1071currently supports certain ARM, StrongARM, and MIPS families of
1072processors. Embedded Linux supports multiple graphics APIs, is
1073compliant with POSIX APIs and thread support, can be configured as low
1074as 512k memory footprint including TCP/IP and NFS built into the
1075kernel, and supports journaling and transparent compression in
1076filesystems. Support for new processors is available via Red Hat
1077Professional Services.
1078
1079Updated: 2001-05-16
1080^_
1081Relogic AB
1082Pipersgatan 26
1083Box 868
1084SE-112 28 Stockholm
1085SWEDEN
1086
1087web http://www.relogic.se
1088e-mail info@relogic.se
1089phone +46 708 800 000
1090fax +46 708 800 580
1091
1092Relogic provides experienced unix developers that know and love GNU
1093products. We can take on anything from single contractor support to
1094full scale projects. We know all programming languages and all Unix
1095dialects.
1096
1097Updated: 2000-12-14
1098^_
1099Phillip Rulon
1100122 Blossom Rd.
1101Westport, MA 02790
1102USA
1103508.672.3007
1104<pjr@gnu.org>
1105
110615 years experience with GNU systems and tools. Available for any free
1107software project. Most useful for network design and construction or
1108dynamic web development. Very good Debian, Perl, and Apache.
1109
1110Boston, travel OK.
1111$100/hr, flat rate possible.
1112
1113Updated: 2000-12-18
1114^_
1115Stanislav Shalunov <shalunov@mccme.ru>
1116
1117Customizing GNU Emacs (new modes OK). Installing and troubleshooting
1118free software. Rate: $60-100/hour. NYC area, telecommuting preferred.
1119References available.
1120
1121Updated: 2000-12-12
1122^_
1123SRA (Software Research Associates, Inc., Japan) <info-wingnut@sra.co.jp>
11241-1-1, Hirakawa-cho, Chiyoda-ku
1125Tokyo 102-8605 Japan
1126
1127+81-3-3234-5610 voice
1128+81-3-3234-5556 fax
1129
1130http://www.sra.co.jp/wingnut/
1131http://www.sra.co.jp/wingnut/chirashi-e.html
1132http://www.sra.co.jp/wingnut/service.html
1133http://osb.sra.co.jp/WingnutSupport/
1134
1135We provide GNU software support at a reasonable charge,
1136aiming to promote the sound growth of free software and to
1137create a new culture in the software world.
1138
1139News:
1140
1141 We have just started "GCC and CVS membership support service".
1142 We provide various support menus. Please refer to
1143 http://osb.sra.co.jp/WingnutSupport/ for details.
1144
1145What we provide is:
1146
1147 1. Research and development of GNU software.
1148 2. Development, porting, and customization of GNU software itself.
1149 3. Helping people who are willing to port and provide GNU software
1150 to their customers, but are unable to do so due to a lack of resources.
1151 4. Providing a variety of educational and training services including
1152 how to port or to customize.
1153 5. The result of the work will become free software covered under the
1154 GNU licenses (GPL or LGPL), so it will be possible not only to share
1155 the results with others but to eliminate unnecessary investment also.
1156 6. Passing the result to the program package maintainers (if needed).
1157 7. Also, making contributions to FSF (Free Software Foundation, Inc.)
1158 which is the organization that develops and distributes GNU software
1159 worldwide.
1160
1161 Furthermore, we provide services *native to Japan*, that is,
1162 services for Japanese-speaking people --- receiving inquiries and
1163 answering in Japanese.
1164
1165Rates:
1166 Determined by estimation.
1167
1168Updated: 2001-05-21
1169^_
1170Andre Spiegel <spiegel@gnu.org>
1171Dipl.-Inform.
1172Berlin, Germany
1173
1174Maintainer of the GNU Emacs version control package (VC).
1175
1176I can provide consulting and practical help for the installation and
1177administration of GNU/Linux systems, in particular Debian. Also
1178knowledgeable on many other Unix derivates, and network technology.
1179Installation, porting and customization of GNU software is possible; I
1180have programming experience in C, C++, Java, and Emacs Lisp, among
1181others. Expertise in version control using RCS or CVS. I also give
1182seminars on the above subjects.
1183
1184Rates: 150 DM/hr (US$ 85)
1185
1186Updated: 2001-05-09
1187^_
1188Name: Julian Stacey <jhs@freebsd.org> <jhs@bim.bsn.com> <jhs@muc.de>
1189Location: Muenchen, Deutschland (Munich, Germany).
1190Qualifications: University Degree, BSc Hons Computers & Cybernetics, 1980.
1191Phone: +49.89.268616 Fax: +49.89.2608126 Data: +49.89.26023276
1192Resume: http://bim.bsn.com/~jhs/ Older: http://www.freebsd.org/~jhs/
1193Time Zone: +01:00
1194Rate: DM 200 - DM 160 / Hour.
1195Specialisation: Unix (Pref. BSD or Linux), C, X-Windows, FSF tools, firewalls,
1196 systems engineering, hardware interfacing, real time/embedded,
1197 custom design & porting. No { Emacs, Cobol, Microsoft }.
1198Free Sources: All BSD sources (updated daily), X-Windows, XFree86, FSF.
1199 Personal sources are here: http://bim.bsn.com/~jhs/src/
1200 Copy Charge dependent on time+postage+media
1201Free GCC-1.40: For Symmetric Computer Systems Model 375 (native cc is broken).
1202Languages: I am English. Ich verstehe Deutsch. Je comprend Francais,
1203 (mais je ecris une response en Anglais). Avoid dialect,
1204 (use Hoch Deutsch, not Bayerisch); Spell slowly & clearly,
1205 (umlauts are not recognised); Use single digits: avoid
1206 inverted German pairs (EG "eight hundred, two and thirty",
1207 & convoluted French ("four twenties and fifteen").
1208Contact: State aprox. days/weeks/months you want professional
1209 consultancy at full commercial rates, .. OR ..
1210Note I am NOT a free help desk !
1211 Post your questions to an Internet newsgroup, & let those with
1212 most time, best knowledge, & inclination answer. If you must
1213 phone me (& I'd much prefer you did Not), Rules apply: First
1214 ask for a few minutes advice "Free Of Charge". (Do not swamp
1215 me with your problem & leave me to deduce you are not a paying
1216 customer). Use some English. Give an email address for
1217 forwarding later info. Volunteer to phone back later to hear
1218 subsequent info/solutions I/friends/net come up with. I do not
1219 pay phone charges to call strangers.
1220
1221Updated: 2001-05-09
1222^_
1223Richard M. Stallman <rms@gnu.org>
1224545 Tech Sq, Rm 430
1225Cambridge, MA 02139
1226
1227Emacs: anything whatever
1228Is anyone interested in courses in using or extending GNU Emacs?
1229
1230Original inventor of Emacs and main author of GNU Emacs and GCC.
1231
1232Rates: $6/min or $250/hr.
1233
1234Updated: 2000-12-13
1235^_
1236Static Free Software
12374119 Alpine Road
1238Portola Valley, Ca 94028
1239(650) 851-2927
1240http://www.staticfreesoft.com
1241
1242Static Free Software developed and supports the "Electric VLSI Design
1243System". Steven Rubin, the founder of the company and author of
1244Electric, is available for enhancements, support, and training.
1245
1246Please see our web page at www.staticfreesoft.com for more information
1247about our products, services, and prices.
1248
1249Updated: 2000-12-12
1250^_
1251Swing Digital Ltd. <hello@swingdigital.com>
125215-17 Middle Street
1253Brighton
1254BN1 1AL
1255United Kingdom
1256Tel +44 (0) 1273 20 11 66
1257Fax +44 (0) 1273 20 11 68
1258http://www.swingdigital.com
1259
1260Swing Digital actively supports the development of the GNU.FREE
1261Internet Voting system. Through this support we have gained the
1262unique expertise to support, install and run GUN.FREE-based Internet
1263votes. We are also available in a consultancy basis to offer advice
1264for organisations wishing to run GNU.FREE themselves.
1265
1266Our consultancy fees start at 900 Euro (550 UK pounds) per day. We
1267are also able to securely host Internet Votes, prices on application.
1268
1269Updated: 2001-07-23
1270^_
1271Kayvan A. Sylvan <kayvan@sylvan.com>
1272Sylvan Associates, Inc.
1273879 Lewiston Drive
1274San Jose, CA 95136-1517
1275Phone: (408) 978-1407
1276Fax: (408) 978-0472
1277
1278I will help you port, install and customize GNU Emacs, GCC, G++, GNUmake,
1279bison, and other GNU tools on almost any architecture and operating
1280system. Questions answered. GNU C/C++, Java and lisp hacking available.
1281
1282I will also do ongoing support and periodic upgrades if you get on my GNU
1283software subscription list.
1284
1285Rates: $100-$125/hour, depending on type and quantity of work.
1286Substantial discounts for long-term contracts and also for educational or
1287non-profit institutions.
1288
1289Experience: Many different Unix systems (2.9BSD to 4.4BSD, Xenix, SVR3 and
1290SVR4, Solaris, Linux, FreeBSD). Systems programming and system
1291administration on all brands of Unix.
1292
1293Kernel hacking experience. Lots of porting experience.
1294
1295Updated: 2001-05-08
1296^_
1297Alfredo Tomasini
1298<alto555@earthlink.net>, <alfredo.tomasini@c-cube.com>
1299
1300GNU/Linux Intel desktop/laptop installation, setup, and networking.
1301Installation of GNU tools on SunOS and GNU/Linux.
1302Sed and Gawk script development.
1303
1304Languages: English and Italian.
1305
1306Fee: $50/hour.
1307
1308Updated: 2000-12-13
1309^_
1310Leonard H. Tower Jr. <tower@ai.mit.edu> <tower@art.net>
131136 Porter Street
1312Somerville, MA 02143-2313
1313USA
1314+1-617-623-7739
1315
1316Will work on most GNU, GPLed, and Open Source software.
1317Installation, handholding, trouble shooting, extensions, teaching, etc.
1318
1319Rates: $ 225.00/hour + travel expenses. Fixed fee quotes available.
1320 Negotiable for non-profits.
1321
1322Experience: Have hacked on over a dozen architectures in many languages. Have
1323system mothered too many varieties of Unixes. Assisted rms with the front end
1324of GCC and its back-end support. Installed and worked with many GNU
1325programs including GNU Emacs. Resume available on request.
1326
1327Updated: 2001-05-10
1328^_
1329Jody Winston
1330xprt Computer Consulting, Inc.
1331731 Voyager
1332Houston, TX, 77062
1333(281) 480-UNIX, <josephwinston@mac.com>
1334
1335We have supported, installed, and used the entire GNU software suite
1336for over 10 years on many different Unix platforms. We have written
1337character device drivers and proc file systems for custom hardware
1338running on GNU/Linux. We have developed extensions for tcl and Python.
1339In addition, we have developed a custom X11 server and X input
1340extensions. Our consulting rate is $150.00 US dollars per hour,
1341negotiable, plus a per diem for out of town work.
1342
1343Updated: 2001-05-08
1344^_
1345The Written Word
1346Web: http://thewrittenword.com
1347Email: info@thewrittenword.com
1348Tel: (800) 372-7476
1349
1350The Written Word provides CDs of pre-compiled Open Source applications
1351on popular UNIX variants. Clients can purchase a one-time CD set
1352($149/set), or a subscription, which provides four quarterly releases.
1353Two types of subscription are available: "media only" ($550/year), or
1354"media and updates" ($1459/year). The "media and updates"
1355subscription entitles the subscriber, via a web site, to patches,
1356security fixes, new releases to existing packages, new packages,
1357online documentation, and changelog information, between releases, and
1358a central bug tracking system for all packages.
1359
1360Updated: 2000-11-27
1361^_
1362
1363For a current copy of this directory, or to have yourself listed, ask:
1364 fsforder@gnu.org
1365
1366A current version should be available on our web site at http://www.gnu.org.
1367
1368** Please keep the entries in this file alphabetical **
1369
1370
1371Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
1372Free Software Foundation, Inc.
1373
1374 Verbatim copying and distribution of this document are permitted
1375 worldwide, without royalty, in any medium, provided this notice is
1376 preserved.
1377 9
1378arch-tag: 1253ce32-1cbd-428a-ac36-70ed9e3999fc 10arch-tag: 1253ce32-1cbd-428a-ac36-70ed9e3999fc
diff --git a/etc/TODO b/etc/TODO
index 427bbe511aa..cb722fdd367 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -14,6 +14,16 @@ to the FSF.
14 14
15* Small but important fixes needed in existing features: 15* Small but important fixes needed in existing features:
16 16
17** Fix compilation when Xaw3d libraries are present but libxaw is not.
18In new X11 versions, xaw3dg-dev does not depend on libxaw-dev, so the
19latter need not be installed. As a result, all the source files that
20look for include files in X11/Xaw should look in X11/Xaw3d if we are
21using Xaw3d.
22
23** Compute the list of active keymaps *after* reading the first event.
24
25** Avoid using "iff" in doc strings.
26
17** mouse-autoselect-window should wait to select the window until 27** mouse-autoselect-window should wait to select the window until
18the mouse is put to rest or after a delay or both, so that moving over 28the mouse is put to rest or after a delay or both, so that moving over
19a window doesn't select it. 29a window doesn't select it.
@@ -82,8 +92,6 @@ current buffer.
82 92
83** Add function to redraw the tool bar. 93** Add function to redraw the tool bar.
84 94
85** Modify allout.el to use overlays, like outline.el.
86
87** M-! M-n should fetch the buffer-file-name as the default. 95** M-! M-n should fetch the buffer-file-name as the default.
88 96
89** Redesign the load-history data structure so it can cope better 97** Redesign the load-history data structure so it can cope better
@@ -92,6 +100,15 @@ current buffer.
92 100
93** make back_comment use syntax-ppss or equivalent. 101** make back_comment use syntax-ppss or equivalent.
94 102
103** Improve configure's treatment of NON_GNU_CPP on Solaris.
104(patch available for after Emacs 22)
105
106** Consider improving src/sysdep.c's search for a fqdn.
107http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00782.html
108
109** Find a proper fix for rcirc multiline nick adding.
110http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00684.html
111
95* Important features: 112* Important features:
96 113
97** Provide user-friendly ways to list all available font families, 114** Provide user-friendly ways to list all available font families,
@@ -509,9 +526,6 @@ when the body only calls primitives.
509** Let LEIM handle the Mode_switch key like XIM does (i.e. a toggle like C-\ 526** Let LEIM handle the Mode_switch key like XIM does (i.e. a toggle like C-\
510but which can also be used as a modifier). 527but which can also be used as a modifier).
511 528
512** Provide the toolbar on ttys. This could map a bit like tmm-menubar
513 for the menubar and buttons could look a bit like those used by customize.
514
515** Improve Help buffers: Change the face of previously visited links (like 529** Improve Help buffers: Change the face of previously visited links (like
516 Info, but also with regard to namespace), add a forward button to make the 530 Info, but also with regard to namespace), add a forward button to make the
517 Help buffer more browser like and gives the value of lisp expressions 531 Help buffer more browser like and gives the value of lisp expressions
@@ -529,7 +543,7 @@ but which can also be used as a modifier).
529 543
530* Internal changes 544* Internal changes
531 545
532** Cleanup all the GC_ mark bit stuff -- there is no longer any distiction 546** Cleanup all the GC_ mark bit stuff -- there is no longer any distinction
533 since the mark bit is no longer stored in the Lisp_Object itself. 547 since the mark bit is no longer stored in the Lisp_Object itself.
534 548
535** Merge ibuffer.el and buff-menu.el. 549** Merge ibuffer.el and buff-menu.el.
@@ -545,7 +559,7 @@ but which can also be used as a modifier).
545 a derived mode of sendmail.el. Or arrange for messages.el to be split 559 a derived mode of sendmail.el. Or arrange for messages.el to be split
546 into a small core and "the rest" so that we use less resources as long as 560 into a small core and "the rest" so that we use less resources as long as
547 we stick to the features provided in sendmail.el. 561 we stick to the features provided in sendmail.el.
548 562
549** Replace gmalloc.c with the modified Doug Lea code from the current 563** Replace gmalloc.c with the modified Doug Lea code from the current
550 GNU libc so that the special mmapping of buffers can be removed -- 564 GNU libc so that the special mmapping of buffers can be removed --
551 that apparently loses under Solaris, at least. [fx has mostly done 565 that apparently loses under Solaris, at least. [fx has mostly done
diff --git a/etc/emacs.1 b/etc/emacs.1
index 4ebcd7c632c..7d90d5a4410 100644
--- a/etc/emacs.1
+++ b/etc/emacs.1
@@ -19,8 +19,7 @@
19.\" Boston, MA 02110-1301, USA. 19.\" Boston, MA 02110-1301, USA.
20.\" 20.\"
21'\" t 21'\" t
22.TH EMACS 1 "2001 November 23" 22.TH EMACS 1 "2007 April 13" "GNU Emacs 22.1"
23.UC 4
24.SH NAME 23.SH NAME
25emacs \- GNU project Emacs 24emacs \- GNU project Emacs
26.SH SYNOPSIS 25.SH SYNOPSIS
@@ -40,11 +39,11 @@ written by the author of the original (PDP-10)
40Richard Stallman. 39Richard Stallman.
41.br 40.br
42The primary documentation of GNU Emacs is in the GNU Emacs Manual, 41The primary documentation of GNU Emacs is in the GNU Emacs Manual,
43which you can read on line using Info, a subsystem of Emacs. Please 42which you can read using Info, either from Emacs or as a standalone
44look there for complete and up-to-date documentation. This man page 43program. Please look there for complete and up-to-date documentation.
45is updated only when someone volunteers to do so; the Emacs 44This man page is updated only when someone volunteers to do so; the
46maintainers' priority goal is to minimize the amount of time this man 45Emacs maintainers' priority goal is to minimize the amount of time
47page takes away from other more useful projects. 46this man page takes away from other more useful projects.
48.br 47.br
49The user functionality of GNU Emacs encompasses 48The user functionality of GNU Emacs encompasses
50everything other 49everything other
@@ -58,7 +57,7 @@ but the facility assumes that you know how to manipulate
58.I Emacs 57.I Emacs
59windows and buffers. 58windows and buffers.
60CTRL-h or F1 enters the Help facility. Help Tutorial (CTRL-h t) 59CTRL-h or F1 enters the Help facility. Help Tutorial (CTRL-h t)
61requests an interactive tutorial which can teach beginners the fundamentals 60starts an interactive tutorial which can teach beginners the fundamentals
62of 61of
63.I Emacs 62.I Emacs
64in a few minutes. 63in a few minutes.
@@ -77,7 +76,7 @@ outline editing (Outline), compiling (Compile), running subshells
77within 76within
78.I Emacs 77.I Emacs
79windows (Shell), running a Lisp read-eval-print loop 78windows (Shell), running a Lisp read-eval-print loop
80(Lisp-Interaction-Mode), and automated psychotherapy (Doctor). 79(Lisp-Interaction-Mode), automated psychotherapy (Doctor), and much more.
81.PP 80.PP
82There is an extensive reference manual, but 81There is an extensive reference manual, but
83users of other Emacses 82users of other Emacses
@@ -201,11 +200,6 @@ Display the
201.I Emacs 200.I Emacs
202window in reverse video. 201window in reverse video.
203.TP 202.TP
204.B \-i
205Use the "kitchen sink" bitmap icon when iconifying the
206.I Emacs
207window.
208.TP
209.BI \-font " font, " \-fn " font" 203.BI \-font " font, " \-fn " font"
210Set the 204Set the
211.I Emacs 205.I Emacs
@@ -262,8 +256,8 @@ with selecting or deselecting the tool bar and menu bar.
262.BI \-fg " color" 256.BI \-fg " color"
263On color displays, sets the color of the text. 257On color displays, sets the color of the text.
264 258
265See the file 259Use the command
266.I /usr/lib/X11/rgb.txt 260.I M-x list-colors-display
267for a list of valid 261for a list of valid
268color names. 262color names.
269.TP 263.TP
@@ -299,7 +293,6 @@ switch when invoking
299from an 293from an
300.IR xterm (1) 294.IR xterm (1)
301window, display is done in that window. 295window, display is done in that window.
302This must be the first option specified in the command line.
303.PP 296.PP
304You can set 297You can set
305.I X 298.I X
@@ -431,43 +424,31 @@ make and distribute copies of the Emacs manual. The TeX source to the
431manual is also included in the Emacs source distribution. 424manual is also included in the Emacs source distribution.
432.PP 425.PP
433.SH FILES 426.SH FILES
434/usr/local/share/info - files for the Info documentation browser 427/usr/local/share/info - files for the Info documentation browser.
435(a subsystem of Emacs) to refer to. Currently not much of Unix 428The complete text of the Emacs reference manual is included in a
436is documented here, but the complete text of the Emacs reference 429convenient tree structured form. Also includes the Emacs Lisp
437manual is included in a convenient tree structured form. 430Reference Manual, useful to anyone wishing to write programs in the
438 431Emacs Lisp extension language.
439/usr/local/share/emacs/$VERSION/src - C source files and object files
440 432
441/usr/local/share/emacs/$VERSION/lisp - Lisp source files and compiled files 433/usr/local/share/emacs/$VERSION/lisp - Lisp source files and compiled files
442that define most editing commands. Some are preloaded; 434that define most editing commands. Some are preloaded;
443others are autoloaded from this directory when used. 435others are autoloaded from this directory when used.
444 436
445/usr/local/share/emacs/$VERSION/etc - various programs that are used with 437/usr/local/libexec/emacs/$VERSION/$ARCH - various programs that are
446GNU Emacs, and some files of information. 438used with GNU Emacs.
439
440/usr/local/share/emacs/$VERSION/etc - various files of information.
447 441
448/usr/local/share/emacs/$VERSION/etc/DOC.* - contains the documentation 442/usr/local/share/emacs/$VERSION/etc/DOC.* - contains the documentation
449strings for the Lisp primitives and preloaded Lisp functions 443strings for the Lisp primitives and preloaded Lisp functions
450of GNU Emacs. They are stored here to reduce the size of 444of GNU Emacs. They are stored here to reduce the size of
451Emacs proper. 445Emacs proper.
452 446
453/usr/local/share/emacs/$VERSION/etc/OTHER.EMACSES discusses GNU Emacs
454vs. other versions of Emacs.
455.br 447.br
456/usr/local/share/emacs/$VERSION/etc/SERVICE lists people offering 448/usr/local/share/emacs/$VERSION/etc/SERVICE lists people offering
457various services to assist users of GNU Emacs, including education, 449various services to assist users of GNU Emacs, including education,
458troubleshooting, porting and customization. 450troubleshooting, porting and customization.
459.br
460These files also have information useful to anyone wishing to write
461programs in the Emacs Lisp extension language, which has not yet been fully
462documented.
463
464/usr/local/com/emacs/lock - holds lock files that are made for all
465files being modified in Emacs, to prevent simultaneous modification
466of one file by two users.
467 451
468.\" START DELETING HERE IF YOU'RE NOT USING X
469/usr/lib/X11/rgb.txt - list of valid X color names.
470.\" STOP DELETING HERE IF YOU'RE NOT USING X
471.PP 452.PP
472.SH BUGS 453.SH BUGS
473There is a mailing list, bug-gnu-emacs@gnu.org, for reporting Emacs 454There is a mailing list, bug-gnu-emacs@gnu.org, for reporting Emacs
@@ -488,9 +469,6 @@ For more information about Emacs mailing lists, see the
488file /usr/local/emacs/etc/MAILINGLISTS. Bugs tend actually to be 469file /usr/local/emacs/etc/MAILINGLISTS. Bugs tend actually to be
489fixed if they can be isolated, so it is in your interest to report 470fixed if they can be isolated, so it is in your interest to report
490them in such a way that they can be easily reproduced. 471them in such a way that they can be easily reproduced.
491.PP
492Bugs that I know about are: shell will not work with programs
493running in Raw mode on some Unix versions.
494.SH UNRESTRICTIONS 472.SH UNRESTRICTIONS
495.PP 473.PP
496.I Emacs 474.I Emacs
@@ -519,11 +497,10 @@ Richard Stallman encourages you to improve and extend
519.I Emacs, 497.I Emacs,
520and urges that 498and urges that
521you contribute your extensions to the GNU library. Eventually GNU 499you contribute your extensions to the GNU library. Eventually GNU
522(Gnu's Not Unix) will be a complete replacement for Berkeley 500(Gnu's Not Unix) will be a complete replacement for Unix.
523Unix.
524Everyone will be free to use, copy, study and change the GNU system. 501Everyone will be free to use, copy, study and change the GNU system.
525.SH SEE ALSO 502.SH SEE ALSO
526X(1), xlsfonts(1), xterm(1), xrdb(1) 503emacsclient(1), etags(1), X(1), xlsfonts(1), xterm(1), xrdb(1)
527.SH AUTHORS 504.SH AUTHORS
528.PP 505.PP
529.I Emacs 506.I Emacs
@@ -532,7 +509,7 @@ Joachim Martillo and Robert Krawitz added the X features.
532.SH COPYING 509.SH COPYING
533Copyright 510Copyright
534.if t \(co 511.if t \(co
535.if n (c) 512.if n (C)
5361995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 5131995, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
537 2006, 2007 Free Software Foundation, Inc. 514 2006, 2007 Free Software Foundation, Inc.
538.PP 515.PP
diff --git a/etc/images/icons/emacs_16.png b/etc/images/icons/emacs_16.png
index ca5122b05b2..b419b01b4ee 100644
--- a/etc/images/icons/emacs_16.png
+++ b/etc/images/icons/emacs_16.png
Binary files differ
diff --git a/etc/images/icons/emacs_24.png b/etc/images/icons/emacs_24.png
index 95c72d3c49f..790ec7e2bff 100644
--- a/etc/images/icons/emacs_24.png
+++ b/etc/images/icons/emacs_24.png
Binary files differ
diff --git a/etc/images/icons/emacs_32.png b/etc/images/icons/emacs_32.png
index 17b4686e182..31fbb47c0d2 100644
--- a/etc/images/icons/emacs_32.png
+++ b/etc/images/icons/emacs_32.png
Binary files differ
diff --git a/etc/images/icons/emacs_48.png b/etc/images/icons/emacs_48.png
index 56c6de6f364..f0df0fb6594 100644
--- a/etc/images/icons/emacs_48.png
+++ b/etc/images/icons/emacs_48.png
Binary files differ