comparison etc/NEWS @ 88:821dec489c24 r20-0

Import from CVS: tag r20-0
author cvs
date Mon, 13 Aug 2007 09:09:59 +0200
parents 131b0175ea99
children 99da576a67e7
comparison
equal deleted inserted replaced
87:7df2982f5c17 88:821dec489c24
125 Well, I don't think the number of volunteers is greater by having 2 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 126 Emacsen. I think your affirmation holds true because of the
127 inhability of the various parties involved to work together and 127 inhability of the various parties involved to work together and
128 compromise. If people could all work together, I don't think there 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 129 would be any benifit in having 2 Emacsen. It may seem profitable
130 right now, but in the long run, I think everyone looses. The time 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 131 everyone spends porting back and forth, and imitating what the other
132 has done is not spent to do new features. I've presonnally 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 133 experienced a project split in the past, and in the end everyone
134 lost. 134 lost.
135 135
136 I don't want to try to blame anybody for the current fiasco. But we do 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 137 have a fiasco. That is unfortunate. There are so many contributors
142 people still using Emacs will continue to curse at the fact that they 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 143 can't start GNUS while typing an E-mail, and the various Emacs
144 contributors will continue to argue among themselves, nitpicking 144 contributors will continue to argue among themselves, nitpicking
145 about how to get the perfect solution, rather than try to move 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 146 forward. Meanwhile, people will enjoy using a new state of the art
147 editor. 147 editor.
148 148
149 Don't think we're just being needlessly perverse by continuing to have 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 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 151 don't think for a minute that we haven't tried (extremely hard, in
152 fact) to come up with a merge. 152 fact) to come up with a merge.
168 consented to all the data abstraction I want provided that I take 168 consented to all the data abstraction I want provided that I take
169 sole responsibility for writing this code (which basically means 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 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 171 code), and provided that he can use this issue as a bargaining
172 chip to get concessions of his own. 172 chip to get concessions of his own.
173
173 2. RMS sees the merge process as a series of mutual concessions 174 2. RMS sees the merge process as a series of mutual concessions
174 traded back and forth. IMHO this is reasonable for a peace treaty 175 traded back and forth. IMHO this is reasonable for a peace treaty
175 but absurd for a piece of software -- we have to have technical 176 but absurd for a piece of software -- we have to have technical
176 agreement on the major issues involved, and the chance of that 177 agreement on the major issues involved, and the chance of that
177 happening is basically nil. 178 happening is basically nil.
179
178 3. RMS has insisted in full backwards compatibility with all aspects 180 3. RMS has insisted in full backwards compatibility with all aspects
179 of FSF Emacs, no matter how ugly; and furthermore, this backwards 181 of FSF Emacs, no matter how ugly; and furthermore, this backwards
180 compatibility must work fast enough to make existing code run 182 compatibility must work fast enough to make existing code run
181 without problem. This basically means that there would have to be 183 without problem. This basically means that there would have to be
182 parallel C implementations of events, keymaps, and many other data 184 parallel C implementations of events, keymaps, and many other data
184 to implement, but poses some fundamental technical problems due to 186 to implement, but poses some fundamental technical problems due to
185 the non-abstractedness of FSF Emacs (e.g. in FSF Emacs keymaps are 187 the non-abstractedness of FSF Emacs (e.g. in FSF Emacs keymaps are
186 conses or vectors and a lot of code depends on this, and 188 conses or vectors and a lot of code depends on this, and
187 reconciling this with XEmacs's primitive keymap type is difficult 189 reconciling this with XEmacs's primitive keymap type is difficult
188 to impossible). 190 to impossible).
191
189 4. RMS will not even consent to neutral names for the two editors. He 192 4. RMS will not even consent to neutral names for the two editors. He
190 objects to call his editor FSF Emacs because for some unfathomable 193 objects to calling his editor FSF Emacs because for some unfathomable
191 reason he finds it insulting. He suggests just Emacs, which I find 194 reason he finds it insulting. He suggests just Emacs, which I find
192 not only insulting (XEmacs is just as much Emacs as is FSF Emacs) 195 not only insulting (XEmacs is just as much Emacs as is FSF Emacs)
193 but also quite confusing. He will not even consent to calling his 196 but also quite confusing. He will not even consent to calling his
194 editor GNU Emacs without also referring to XEmacs as GNU XEmacs -- 197 editor GNU Emacs without also referring to XEmacs as GNU XEmacs --
195 basically a Borg-like assimilation attempt at making XEmacs a GNU 198 basically a Borg-like assimilation attempt at making XEmacs a GNU
205 testing ground for potential features to be added to FSF Emacs. 208 testing ground for potential features to be added to FSF Emacs.
206 All of the developers of Lucid Emacs and XEmacs assert that this 209 All of the developers of Lucid Emacs and XEmacs assert that this
207 is patently false -- so why does RMS continue to insist that this 210 is patently false -- so why does RMS continue to insist that this
208 is the case? 211 is the case?
209 212
210 ben 213 Ben Wing
211 --
212 "... then the day came when the risk to remain tight in a bud was
213 more painful than the risk it took to blossom." -- Anais Nin
214 214
215 215
216 ** Why Another Version of Emacs? (The Lucid, Inc. Point of View) 216 ** Why Another Version of Emacs? (The Lucid, Inc. Point of View)
217 ================================================================= 217 =================================================================
218 218
267 At the same time, Lucid Emacs has been renamed XEmacs to reflect the 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 268 substantial contribution of the University of Illinois with the support of
269 Sun Microsystems. 269 Sun Microsystems.
270 270
271 Certain elements of Lucid Emacs, or derivatives of them, have been ported to 271 Certain elements of Lucid Emacs, or derivatives of them, have been ported to
272 the FSF GNU Emacs. We have not been doing work in this direction, because 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 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 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 275 merging the Free Software Foundation changes into our version than the other
276 way around. 276 way around.
277 277
280 and Lucid Emacs will soon be one and the same thing. Work is being done on 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 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 282 little or no change. (As of 19.8, Lucid Emacs is running a descendant of
283 the Epoch redisplay engine.) 283 the Epoch redisplay engine.)
284 284
285 ** Why Another Version of Emacs? (The SunPro Point of View) 285 ** Why Another Version of Emacs? (The Sun Microsystems, Inc. Point of View)
286 ============================================================ 286 ============================================================
287 287
288 Emacs 18 has been around for a long, long time. Version 19 was supposed to 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 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 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 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 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 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 294 own X-aware Emacsen. The most important of these was probably Epoch, which
295 came from the University of Illinois and was based on v18. 295 came from the University of Illinois ("UofI") and was based on v18.
296 296
297 Around three years ago we decided that we wanted an integrated editor. We 297 Around 1990, the Developer Products group within Sun Microsystems
298 contracted with the University of Illinois to provide a number of basic 298 Inc., decided that it wanted an integrated editor. (This group is now
299 enhancements to the functionality in Epoch. The University of Illinois 299 known as DevPro. It used to be known as SunPro - the name was changed
300 initially was planning to deliver this on top of Epoch code. 300 in mid-1994.) They contracted with the University of Illinois to
301 301 provide a number of basic enhancements to the functionality in Epoch.
302 In the meantime (actually some time before we talked with the University of 302 UofI initially was planning to deliver this on top of Epoch code.
303 Illinois) Lucid had decided that it also wanted to provide an integrated 303
304 environment with an integrated editor. Lucid decided that the Version 19 304 In the meantime, (actually some time before they talked with UofI)
305 basis was a better one than Version 18 and thus decided not to use Epoch but 305 Lucid had decided that it also wanted to provide an integrated
306 instead work with Richard Stallman, the head of the Free Software Foundation 306 environment with an integrated editor. Lucid decided that the Version
307 and principle author of Emacs, on getting Version 19 out. At some point 307 19 base was a better one than Version 18 and thus decided not to use
308 Stallman and Lucid parted ways. Lucid kept working and got a Version 19 out 308 Epoch but instead to work with Richard Stallman, the head of the Free
309 that they called Lucid Emacs 19. 309 Software Foundation and principal author of Emacs, on getting v19 out.
310 310 At some point Stallman and Lucid parted ways. Lucid kept working and
311 After Lucid's v19 came out it became clear to us (the University of Illinois 311 got a v19 out that they called Lucid Emacs 19.
312 and SunPro) that the right thing to do was to push for an integration of 312
313 both Lucid Emacs and Epoch, and to get the deliverables that we were asking 313 After Lucid's v19 came out it became clear to us (the UofI and Sun)
314 from the University of Illinois on top of this integrated platform. Through 314 that the right thing to do was to push for an integration of both
315 the last two years, SunPro has been actively supporting this product and has 315 Lucid Emacs and Epoch, and to get the deliverables that Sun was asking
316 been investing a comparable amount of effort into it as Lucid has. 316 from the University of Illinois on top of this integrated platform.
317 Substantial portions of the current code have originated under the support 317 Until 1994, Sun and Lucid both actively supported XEmacs as part of
318 of SunPro, either directly in SunPro, or in the University of Illinois but 318 their product suite and invested a comparable amount of effort into
319 paid for by us. This code was kept away from Lucid for a while, but later 319 it. Substantial portions of the current code have originated under
320 was made available to them. Initially Lucid didn't know that we were 320 the support of Sun, either directly within Sun, or at UofI but paid
321 supporting UofI, but later we were open about it. 321 for by Sun. This code was kept away from Lucid for a while, but later
322 322 was made available to them. Initially Lucid didn't know that Sun was
323 Eventually, all development source trees were synched up. Currently, there 323 supporting UofI, but later Sun was open about it.
324 is basically no difference in the source trees between what is at the 324
325 University of Illinois and SunPro. 325 Around 1992 DevPro-originated code started showing up in Lucid Emacs,
326 326 starting with the infusion of the Epoch redisplay code. The separate
327 SunPro originally called the integrated product ERA, for "Emacs Rewritten 327 code bases at Lucid, Sun, and the University of Illinois were merged,
328 Again". At some point, SunPro and Lucid came to an agreement to find a name 328 allowing a single XEmacs to evolve from that point on.
329 for the product that was not specific to either company. An additional 329
330 constraint that Lucid placed on the name was that it must contain the word 330 Sun originally called the integrated product "ERA", for "Emacs
331 "Emacs" in it -- thus "ERA" was not acceptable. The agreed-upon name was 331 Rewritten Again". Sun and Lucid eventually came to an agreement to
332 "XEmacs", and this is what the product has been called starting with the 332 find a name for the product that was not specific to either company.
333 19.11 release. 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.
334 342
335 343
336 * What's Different? 344 * What's Different?
337 =================== 345 ===================
338 346
339 347
340 ** Differences between XEmacs and FSF GNU Emacs 19 348 ** Differences between XEmacs and FSF GNU Emacs 19
341 ================================================== 349 ==================================================
350 In XEmacs 20, characters are first-class objects. Characters can be
351 converted to integers, but are not integers. FSF 19, XEmacs 19, and Mule
352 represent them as integers.
342 353
343 In XEmacs, events are first-class objects. FSF 19 represents them as 354 In XEmacs, events are first-class objects. FSF 19 represents them as
344 integers, which obscures the differences between a key gesture and the 355 integers, which obscures the differences between a key gesture and the
345 ancient ASCII code used to represent a particular overlapping subset of them. 356 ancient ASCII code used to represent a particular overlapping subset of them.
346 357
415 426
416 NOTE: All timestamps are measured as milliseconds since Emacs started. 427 NOTE: All timestamps are measured as milliseconds since Emacs started.
417 428
418 key_press_event 429 key_press_event
419 event_channel A token representing which keyboard generated it. 430 event_channel A token representing which keyboard generated it.
420 For this kind of event, this is a frame object. 431 For this kind of event, this is a console object.
421 (This is for eventual support of multiple displays.)
422 timestamp When it happened 432 timestamp When it happened
423 key What keysym this is; an integer or a symbol. 433 key What keysym this is; a character or a symbol.
424 If this is an integer, it will be in the printing 434 If it is a character, it will be a printing
425 ASCII range: >32 and <127. 435 ASCII character.
426 modifiers Bucky-bits on that key: control, meta, etc. 436 modifiers Bucky-bits on that key: control, meta, etc.
427 For most keys, Shift is not a bit; that is implicit 437 For most keys, Shift is not a bit; that is implicit
428 in the keyboard layout. 438 in the keyboard layout.
429 439
430 button_press_event 440 button_press_event
1426 minimal base and a set of optional packages (which will include TM, 1436 minimal base and a set of optional packages (which will include TM,
1427 EFS, and Auc-TeX, as well as all of the large packages currently 1437 EFS, and Auc-TeX, as well as all of the large packages currently
1428 distributed with XEmacs). There will also still be a full distribution 1438 distributed with XEmacs). There will also still be a full distribution
1429 that includes all the optional packages. 1439 that includes all the optional packages.
1430 1440
1431 In the longer term, we are also working on a separate branch of XEmacs that 1441 We are working on improving the Mule support in future releases:
1432 includes full Asian-language ("MULE") support. This work is currently in 1442
1433 beta and is being supported by Sun Microsystems. 1443 -- Other input methods, such as wnn, will be supported.
1444
1445 -- More user-level documentation on using Mule.
1446
1447 ** Major Differences Between 19.14 and 20.0
1448
1449 XEmacs 20.0 is the first public release to have support for MULE
1450 (Multi-Lingual Emacs). The --with-mule configuration flag must be
1451 used to enable Mule support.
1452
1453 Many bugs have been fixed. An effort has been made to eradicate all
1454 XEmacs crashes, although we are not quite done yet. The overall
1455 quality of XEmacs should be higher than any previous release. XEmacs
1456 now compiles with nary a warning with some compilers.
1457
1458 -- Multiple character sets can be displayed in a buffer. The file
1459 mule-doc/demo in the distribution contains a greeting in many
1460 different languages.
1461
1462 -- Although the Mule work is for all languages, particular effort has
1463 been invested in Japanese, with particular focus on Japanese users
1464 of Sun WorkShop. Many menubar labels have been translated into
1465 Japanese. Martin usually runs XEmacs in a Japanese language
1466 environment. Some of the other contributors are Japanese, most
1467 importantly Morioka Tomohiko, author of the TM package, providing
1468 MIME support for Mail and News.
1469
1470 -- Input for complex Asian languages is supported via XIM, a mechanism
1471 introduced in X11R5 to allow applications to get localized input
1472 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
1474 minibuffer-like status window appears attached to various
1475 application windows, and indicates the status of the input method.
1476 Composed input in XEmacs should work the same as with other
1477 applications. If Motif and Mule support is configured into XEmacs,
1478 then XIM support is automatically configured in as well.
1479
1480 -- TM (Tools for Mime) now comes with XEmacs. This provides MIME
1481 (Multi-purpose Internet Multi-media Extensions?) support for Mail
1482 and News. The primary author is Morioka Tomohiko.
1483
1484 -- Japanese input can also be input using the `canna' input method.
1485 This support was contributed by Morioka Tomohiko. Setting up canna
1486 usually requires more user effort (and better knowledge of Japanese!)
1487 than XIM, but provides a better-integrated input method.
1488
1489 -- A mini-tutorial on using Mule:
1490
1491 -- Every time data passes between XEmacs and the rest of the
1492 environment, via file or process input or output, XEmacs must
1493 convert between its internal multi-character representation and
1494 the external representation (`coding system'). Many
1495 difficulties with Mule are related to controlling these coding
1496 system conversions.
1497
1498 -- file-coding-system, file-coding-system-for-read,
1499 overriding-file-coding-system, and file-coding-system-alist
1500 are used to determine the coding systems used on file input
1501 and output.
1502
1503 -- For each process, (set-process-input-coding-system) and
1504 (set-process-output-coding-system) determine the coding
1505 system used for I/O from the process.
1506
1507 -- Many other things are encoded using pathname-coding-system:
1508 -- file and directory names
1509 -- window manager properties: window title, icon name
1510 -- process names and process arguments
1511 -- XIM input.
1512
1513 -- In many cases, you will want to have the same values for all
1514 the above variables in many cases. For example, in a
1515 Japanese environment, you will want to use the 'euc-japan
1516 coding system consistently, except when running certain
1517 processes that do byte-oriented, rather than
1518 character-oriented I/O, such as gzip, or when processing Mail
1519 or News, where ISO2022-based coding systems are the norm,
1520 since they support multiple character sets.
1521
1522 -- To add support for a new language or character set, start by
1523 trying to copy code in japanese-hooks.el.
1524
1525 -- The traditional pre-Mule data conversion is equivalent to the
1526 'binary coding system under Mule. In this case all characters
1527 are treated as iso8859-1 (i.e. characters for English + Western
1528 European languages).
1529
1530 -- many fileio-related commands such as find-file and write-file
1531 take an extra argument, coding-system, which specifies the
1532 encoding to be used with the file on disk. For example, here is
1533 a command that converts from the Japanese EUC to ISO2022 format:
1534
1535 xemacs -batch -eval '(progn (find-file
1536 "locale-start.el.euc" (quote euc-japan)) (write-file
1537 "locale-start.el" nil (quote iso-2022-8-unix)))'
1538
1539 Interactively, you can be prompted for a coding system by
1540 providing a prefix argument to the fileio command. In
1541 particular, C-u C-x C-f is a useful sequence to edit a file
1542 using a particular coding system.
1543
1544 -- In an Asian locale (i.e. if $LANG is set to ja, ko, or zh),
1545 XEmacs automatically sets up a language environment assuming
1546 that the operating system encodes information in the national
1547 version of EUC, which supports English and the national
1548 language, but typically no other character sets.
1549
1550 -- Command line processing should work much better now - no more order
1551 dependencies.
1552
1553 -- Many many package upgraded (thanks go to countless maintainers):
1554
1555 -- ediff 2.64 (Michael Kifer)
1556 -- w3 3.0.51 (Bill Perry)
1557 -- ilisp 5.8
1558 -- VM 5.97 (Kyle Jones)
1559 -- etags 11.78 (Francesco Potorti`)
1560 -- ksh-mode.el 2.9
1561 -- vhdl-mode.el 2.73 (Rod Whitby)
1562 -- id-select.el (Bob Weiner)
1563 -- EDT/TPU emulation modes should work now for the first time.
1564 -- viper 2.92 (Michael Kifer) is now the `official' vi emulator for XEmacs.
1565 -- big-menubar should work much better now.
1566 -- mode-motion+.el 3.16
1567 -- backup-dir 2.0 (Greg Klanderman)
1568 -- ps-print.el-3.05 (Jacques Duthen Prestataire)
1569 -- lazy-lock-1.15
1570 -- reporter 3.3
1571 -- hm--html-menus 5.0 (Heiko Muenkel)
1572 -- cc-mode 4.322 (Barry Warsaw)
1573 -- elp 2.37 (Barry Warsaw)
1574
1575
1576 -- Many new packages have been added:
1577 -- m4-mode 1.8 (Andrew Csillag)
1578 -- crisp.el - crisp/brief emulation (Gary D. Foster)
1579 -- Johan Vroman's iso-acc.el has been ported to XEmacs by Alexandre Oliva
1580 -- psgml-1.01
1581 -- python-mode.el 2.83 (Barry Warsaw)
1582 -- vrml-mode.el (Ben Wing)
1583 -- enriched.el, face-menu.el (Michael Sperber)
1584
1585 -- New function x-keysym-on-keyboard-p helps determine keyboard
1586 characteristics for key rebinding:
1587
1588 x-keysym-on-keyboard-p: (KEYSYM &optional DEVICE)
1589 -- a built-in function.
1590 Return true if KEYSYM names a key on the keyboard of DEVICE.
1591 More precisely, return true if pressing a physical key
1592 on the keyboard of DEVICE without any modifier keys generates KEYSYM.
1593 Valid keysyms are listed in the files /usr/include/X11/keysymdef.h and in
1594 /usr/lib/X11/XKeysymDB, or whatever the equivalents are on your system.
1595
1596 -- Installed info files are now compressed (support courtesy of Joseph J Nuspl)
1597
1598 -- (load-average) works on Solaris, even if you're not root. Thanks to
1599 Hrvoje Niksic.
1600
1601 -- OffiX drag-and-drop support added
1602
1603 -- lots of syncing with 19.34 elisp files, most by Steven Baur
1434 1604
1435 1605
1436 ** Major Differences Between 19.13 and 19.14 1606 ** Major Differences Between 19.13 and 19.14
1437 ============================================ 1607 ============================================
1438 1608