comparison etc/NEWS @ 90:99da576a67e7 xemacs-20-0

Import from CVS: tag xemacs-20-0
author cvs
date Mon, 13 Aug 2007 09:10:46 +0200
parents 821dec489c24
children cf808b4c4290
comparison
equal deleted inserted replaced
89:03e0eebe5bb8 90:99da576a67e7
95 Microsystems, Inc.; formerly called SunPro) and the University of Illinois. 95 Microsystems, Inc.; formerly called SunPro) and the University of Illinois.
96 96
97 NOTE: Lucid, Inc. is currently out of business but development on XEmacs 97 NOTE: Lucid, Inc. is currently out of business but development on XEmacs
98 continues strong. Recently, Amdahl Corporation and INS Engineering have 98 continues strong. Recently, Amdahl Corporation and INS Engineering have
99 both contributed significantly to the development of XEmacs. 99 both contributed significantly to the development of XEmacs.
100
101
102 ** Why Haven't XEmacs and FSF GNU Emacs Merged?
103 ===============================================
104
105 This question comes up again and again on comp.emacs.xemacs and other
106 newsgroups and mailing lists. Recently in fact there was a long, heated
107 thread about this issue.
108
109 Here is what one XEmacs developer said about this issue.
110
111 DISCLAIMER: This is provided for informational purposes only and does
112 _NOT_ necessarily represent the opinions of any of the other XEmacs
113 developers or of any of the organizations involved. Keep in mind
114 that this is a highly charged issue with differing and strongly-held
115 opinions held by the various parties involved.
116
117 Subject: Re: elisp code in GNU Emacs/XEmacs
118 From: wing@666.com (Ben Wing)
119 Message-ID: <wingDqGwLH.K6w@netcom.com>
120 Date: Fri, 26 Apr 1996 11:44:05 GMT
121
122 In article <9xo91fmordx.fsf@bcarsf26.nortel.ca>, Stephane Boucher
123 <sbo@bcarsf26.nortel.ca> wrote:
124
125 Well, I don't think the number of volunteers is greater by having 2
126 Emacsen. I think your affirmation holds true because of the
127 inhability of the various parties involved to work together and
128 compromise. If people could all work together, I don't think there
129 would be any benifit in having 2 Emacsen. It may seem profitable
130 right now, but in the long run, I think everyone loses. The time
131 everyone spends porting back and forth, and imitating what the other
132 has done is not spent to do new features. I've personnally
133 experienced a project split in the past, and in the end everyone
134 lost.
135
136 I don't want to try to blame anybody for the current fiasco. But we do
137 have a fiasco. That is unfortunate. There are so many contributors
138 out there that if everyone worked together we might be looking
139 forward to having, say, threads in Emacs. But instead, as someone
140 told me not that long ago, maybe we'll soon see a new editor come out
141 based on Java. Threads will be part of it at no extra cost, and those
142 people still using Emacs will continue to curse at the fact that they
143 can't start GNUS while typing an E-mail, and the various Emacs
144 contributors will continue to argue among themselves, nitpicking
145 about how to get the perfect solution, rather than try to move
146 forward. Meanwhile, people will enjoy using a new state of the art
147 editor.
148
149 Don't think we're just being needlessly perverse by continuing to have
150 XEmacs. I'm well aware of the problems in having a project split, and
151 don't think for a minute that we haven't tried (extremely hard, in
152 fact) to come up with a merge.
153
154 Unfortunately, as I have said before, the odds of this happening are
155 quite low due to severe conflicts (both technical, procedural, and
156 philosophical) between RMS and the XEmacs developers. If we were to
157 assent to even half of what RMS wants in a merged Emacs, it would take
158 years of work to produce the merged Emacs, and the result would be
159 less powerful than the existing XEmacs.
160
161 Since so many people seem so misinformed about this problem, I'll go
162 ahead and state the fundamental dividing issues:
163
164 1. RMS does not believe in data abstraction, and cannot be convinced
165 of the folly of this. This by itself is such a huge division that
166 it makes a merge basically unthinkable. Because of this, FSF Emacs
167 is basically unmaintainable by anyone other than RMS. RMS has
168 consented to all the data abstraction I want provided that I take
169 sole responsibility for writing this code (which basically means
170 I'd have to write almost all of the code or rewrite most of his
171 code), and provided that he can use this issue as a bargaining
172 chip to get concessions of his own.
173
174 2. RMS sees the merge process as a series of mutual concessions
175 traded back and forth. IMHO this is reasonable for a peace treaty
176 but absurd for a piece of software -- we have to have technical
177 agreement on the major issues involved, and the chance of that
178 happening is basically nil.
179
180 3. RMS has insisted in full backwards compatibility with all aspects
181 of FSF Emacs, no matter how ugly; and furthermore, this backwards
182 compatibility must work fast enough to make existing code run
183 without problem. This basically means that there would have to be
184 parallel C implementations of events, keymaps, and many other data
185 structures. This not only will take months or years of extra work
186 to implement, but poses some fundamental technical problems due to
187 the non-abstractedness of FSF Emacs (e.g. in FSF Emacs keymaps are
188 conses or vectors and a lot of code depends on this, and
189 reconciling this with XEmacs's primitive keymap type is difficult
190 to impossible).
191
192 4. RMS will not even consent to neutral names for the two editors. He
193 objects to calling his editor FSF Emacs because for some unfathomable
194 reason he finds it insulting. He suggests just Emacs, which I find
195 not only insulting (XEmacs is just as much Emacs as is FSF Emacs)
196 but also quite confusing. He will not even consent to calling his
197 editor GNU Emacs without also referring to XEmacs as GNU XEmacs --
198 basically a Borg-like assimilation attempt at making XEmacs a GNU
199 product, which it is not. (None of the developers of Lucid Emacs
200 and XEmacs were or are sanctioned by GNU, and none of us got the
201 least bit of assistance or cooperation in doing our work. In fact,
202 RMS actively made it harder by choosing to ignore all work
203 previously done in XEmacs and adding his own incompatible
204 interfaces for functionality already in XEmacs. This makes it
205 quite difficult to track FSF Emacs and keep a sane API.) He has
206 stated many times, and continues to assert, that most or all of
207 the work done on Lucid Emacs and XEmacs was done primarily as a
208 testing ground for potential features to be added to FSF Emacs.
209 All of the developers of Lucid Emacs and XEmacs assert that this
210 is patently false -- so why does RMS continue to insist that this
211 is the case?
212
213 Ben Wing
214
215
216 ** Why Another Version of Emacs? (The Lucid, Inc. Point of View)
217 =================================================================
218
219 Lucid's latest product, Energize, is a C/C++ development environment.
220 Rather than invent (and force our users to learn) a new user-interface, we
221 chose to build part of our environment on top of the world's best editor,
222 GNU Emacs. (Though our product is commercial, the work we did on is
223 free software, and is useful without having to purchase our product.)
224
225 We needed a version of Emacs with mouse-sensitive regions, multiple fonts,
226 the ability to mark sections of a buffer as read-only, the ability to detect
227 which parts of a buffer has been modified, and many other features.
228
229 *** Why Not Epoch or GNU Emacs?
230 -------------------------------
231
232 For our purposes, the existing version of Epoch was not sufficient; it did
233 not allow us to put arbitrary pixmaps/icons in buffers, `undo' did not
234 restore changes to regions, regions did not overlap and merge their
235 attributes in the way we needed, and several other things.
236
237 We could have devoted our time to making Epoch do what we needed (and, in
238 fact, we spent some time doing that in 1990) but, since the Free Software
239 Foundation planned to include Epoch-like features in their Version 19, we
240 decided that our efforts would be better spent improving GNU Emacs
241 instead of Epoch.
242
243 Our original hope was that our changes to GNU Emacs would be
244 incorporated into the "official" v19. However, scheduling conflicts arose,
245 and we found that, given the amount of work still remaining to be done, we
246 didn't have the time or manpower to do the level of coordination that would
247 be necessary to get our changes accepted by the Free Software Foundation.
248 Consequently, we released our work as a forked branch of Emacs, instead of
249 delaying any longer.
250
251 Roughly a year after Lucid Emacs 19.0 was released, a beta version of the
252 Free Software Foundation branch of Emacs 19 was released. This version
253 was better in some areas, and worse in others, as reflects the differing
254 focus of our development efforts.
255
256 We planned to continue developing and supporting Lucid Emacs, and merging in
257 bug fixes and new features from the Free Software Foundation branch as
258 appropriate; we did not plan to discard any of the functionality that we
259 implemented which Richard Stallman of the Free Software Foundation has
260 chosen not to include in his version.
261
262 However, events have overtaken us, and Lucid, Inc. has effectively ceased
263 doing business and is (September 1994) in the process of being sold. Our
264 efforts on Lucid Emacs have also ceased and we've turned over the continued
265 enhancement of Lucid Emacs to the University of Illinois under Chuck
266 Thompson, a member of the Lucid Emacs team and a maintainer of Epoch.
267 At the same time, Lucid Emacs has been renamed XEmacs to reflect the
268 substantial contribution of the University of Illinois with the support of
269 Sun Microsystems.
270
271 Certain elements of Lucid Emacs, or derivatives of them, have been ported to
272 FSF GNU Emacs. We have not been doing work in this direction, because
273 we feel that Lucid Emacs has a cleaner and more extensible substrate, and
274 that any kind of merger between the two branches would be far easier by
275 merging the Free Software Foundation changes into our version than the other
276 way around.
277
278 We were working closely with the Epoch developers to merge in the
279 remaining Epoch functionality which Lucid Emacs does not yet have. Epoch
280 and Lucid Emacs will soon be one and the same thing. Work is being done on
281 a compatibility package which will allow Epoch 4 code to run in XEmacs with
282 little or no change. (As of 19.8, Lucid Emacs is running a descendant of
283 the Epoch redisplay engine.)
284
285 ** Why Another Version of Emacs? (The Sun Microsystems, Inc. Point of View)
286 ============================================================
287
288 Emacs 18 has been around for a long, long time. Version 19 was supposed to
289 be the successor to Emacs 18 with X support. It was going to be available
290 "real soon" for a long time (some people remember hearing about v19 as early
291 as 1984!), but it never came out. v19 development was going very, very
292 slowly, and from the outside it seemed that it was not moving at all. In
293 the meantime other people gave up waiting for v19 and decided to build their
294 own X-aware Emacsen. The most important of these was probably Epoch, which
295 came from the University of Illinois ("UofI") and was based on v18.
296
297 Around 1990, the Developer Products group within Sun Microsystems
298 Inc., decided that it wanted an integrated editor. (This group is now
299 known as DevPro. It used to be known as SunPro - the name was changed
300 in mid-1994.) They contracted with the University of Illinois to
301 provide a number of basic enhancements to the functionality in Epoch.
302 UofI initially was planning to deliver this on top of Epoch code.
303
304 In the meantime, (actually some time before they talked with UofI)
305 Lucid had decided that it also wanted to provide an integrated
306 environment with an integrated editor. Lucid decided that the Version
307 19 base was a better one than Version 18 and thus decided not to use
308 Epoch but instead to work with Richard Stallman, the head of the Free
309 Software Foundation and principal author of Emacs, on getting v19 out.
310 At some point Stallman and Lucid parted ways. Lucid kept working and
311 got a v19 out that they called Lucid Emacs 19.
312
313 After Lucid's v19 came out it became clear to us (the UofI and Sun)
314 that the right thing to do was to push for an integration of both
315 Lucid Emacs and Epoch, and to get the deliverables that Sun was asking
316 from the University of Illinois on top of this integrated platform.
317 Until 1994, Sun and Lucid both actively supported XEmacs as part of
318 their product suite and invested a comparable amount of effort into
319 it. Substantial portions of the current code have originated under
320 the support of Sun, either directly within Sun, or at UofI but paid
321 for by Sun. This code was kept away from Lucid for a while, but later
322 was made available to them. Initially Lucid didn't know that Sun was
323 supporting UofI, but later Sun was open about it.
324
325 Around 1992 DevPro-originated code started showing up in Lucid Emacs,
326 starting with the infusion of the Epoch redisplay code. The separate
327 code bases at Lucid, Sun, and the University of Illinois were merged,
328 allowing a single XEmacs to evolve from that point on.
329
330 Sun originally called the integrated product "ERA", for "Emacs
331 Rewritten Again". Sun and Lucid eventually came to an agreement to
332 find a name for the product that was not specific to either company.
333 An additional constraint that Lucid placed on the name was that it
334 must contain the word "Emacs" in it -- thus "ERA" was not
335 acceptable. The tentatively agreed-upon name was "XEmacs", and this
336 has been the name of the program since version 19.11.)
337
338 As of 1997, Sun is shipping XEmacs as part of its Developer Products
339 integrated programming environment "Sun WorkShop". Sun is
340 continuing to support XEmacs development, with focus on
341 internationalization and quality improvement.
342 100
343 101
344 * What's Different? 102 * What's Different?
345 =================== 103 ===================
346 104
1460 different languages. 1218 different languages.
1461 1219
1462 -- Although the Mule work is for all languages, particular effort has 1220 -- Although the Mule work is for all languages, particular effort has
1463 been invested in Japanese, with particular focus on Japanese users 1221 been invested in Japanese, with particular focus on Japanese users
1464 of Sun WorkShop. Many menubar labels have been translated into 1222 of Sun WorkShop. Many menubar labels have been translated into
1465 Japanese. Martin usually runs XEmacs in a Japanese language 1223 Japanese. Martin Buchholz, the maintainer of MULE features within
1466 environment. Some of the other contributors are Japanese, most 1224 XEmacs normaly runs XEmacs in a Japanese language environment.
1467 importantly Morioka Tomohiko, author of the TM package, providing 1225 Some of the other contributors are Japanese, most importantly
1468 MIME support for Mail and News. 1226 Morioka Tomohiko, author of the TM package, providing MIME support
1227 for Mail and News.
1469 1228
1470 -- Input for complex Asian languages is supported via XIM, a mechanism 1229 -- Input for complex Asian languages is supported via XIM, a mechanism
1471 introduced in X11R5 to allow applications to get localized input 1230 introduced in X11R5 to allow applications to get localized input
1472 without knowledge of the language. The way XIM works is that when 1231 without knowledge of the language. The way XIM works is that when
1473 the locale has a complex character set, such as Japanese, and extra 1232 the locale has a complex character set, such as Japanese, and extra
1551 dependencies. 1310 dependencies.
1552 1311
1553 -- Many many package upgraded (thanks go to countless maintainers): 1312 -- Many many package upgraded (thanks go to countless maintainers):
1554 1313
1555 -- ediff 2.64 (Michael Kifer) 1314 -- ediff 2.64 (Michael Kifer)
1315 -- Gnus 5.2.40 (Lars Magne Ingebrigtsen)
1556 -- w3 3.0.51 (Bill Perry) 1316 -- w3 3.0.51 (Bill Perry)
1557 -- ilisp 5.8 1317 -- ilisp 5.8 (Chris McConnell, Ivan Vasquez, Marco Antoniotti, Rick
1318 Campbell)
1558 -- VM 5.97 (Kyle Jones) 1319 -- VM 5.97 (Kyle Jones)
1559 -- etags 11.78 (Francesco Potorti`) 1320 -- etags 11.78 (Francesco Potorti`)
1560 -- ksh-mode.el 2.9 1321 -- ksh-mode.el 2.9
1561 -- vhdl-mode.el 2.73 (Rod Whitby) 1322 -- vhdl-mode.el 2.73 (Rod Whitby)
1562 -- id-select.el (Bob Weiner) 1323 -- id-select.el (Bob Weiner)
1564 -- viper 2.92 (Michael Kifer) is now the `official' vi emulator for XEmacs. 1325 -- viper 2.92 (Michael Kifer) is now the `official' vi emulator for XEmacs.
1565 -- big-menubar should work much better now. 1326 -- big-menubar should work much better now.
1566 -- mode-motion+.el 3.16 1327 -- mode-motion+.el 3.16
1567 -- backup-dir 2.0 (Greg Klanderman) 1328 -- backup-dir 2.0 (Greg Klanderman)
1568 -- ps-print.el-3.05 (Jacques Duthen Prestataire) 1329 -- ps-print.el-3.05 (Jacques Duthen Prestataire)
1569 -- lazy-lock-1.15 1330 -- lazy-lock-1.15 (Simon Marshall)
1570 -- reporter 3.3 1331 -- reporter 3.3 (Barry Warsaw)
1571 -- hm--html-menus 5.0 (Heiko Muenkel) 1332 -- hm--html-menus 5.0 (Heiko Muenkel)
1572 -- cc-mode 4.322 (Barry Warsaw) 1333 -- cc-mode 4.322 (Barry Warsaw)
1573 -- elp 2.37 (Barry Warsaw) 1334 -- elp 2.37 (Barry Warsaw)
1574 1335
1575 1336
1576 -- Many new packages have been added: 1337 -- Many new packages have been added:
1577 -- m4-mode 1.8 (Andrew Csillag) 1338 -- m4-mode 1.8 (Andrew Csillag)
1578 -- crisp.el - crisp/brief emulation (Gary D. Foster) 1339 -- crisp.el - crisp/brief emulation (Gary D. Foster)
1579 -- Johan Vroman's iso-acc.el has been ported to XEmacs by Alexandre Oliva 1340 -- Johan Vroman's iso-acc.el has been ported to XEmacs by Alexandre Oliva
1580 -- psgml-1.01 1341 -- psgml-1.01 (Lennart Staflin, James Clark)
1581 -- python-mode.el 2.83 (Barry Warsaw) 1342 -- python-mode.el 2.83 (Barry Warsaw)
1582 -- vrml-mode.el (Ben Wing) 1343 -- vrml-mode.el (Ben Wing)
1583 -- enriched.el, face-menu.el (Michael Sperber) 1344 -- enriched.el, face-menu.el (Boris Goldowsky, Michael Sperber)
1345 -- sh-script.el (Daniel Pfeiffer)
1346 -- decipher.el (Christopher J. Madsen)
1584 1347
1585 -- New function x-keysym-on-keyboard-p helps determine keyboard 1348 -- New function x-keysym-on-keyboard-p helps determine keyboard
1586 characteristics for key rebinding: 1349 characteristics for key rebinding:
1587 1350
1588 x-keysym-on-keyboard-p: (KEYSYM &optional DEVICE) 1351 x-keysym-on-keyboard-p: (KEYSYM &optional DEVICE)