Mercurial > hg > xemacs-beta
comparison PROBLEMS @ 845:77624ff6e2da
[xemacs-hg @ 2002-05-16 15:11:22 by stephent]
docs <87d6vwrv2k.fsf@tleepslib.sk.tsukuba.ac.jp>
author | stephent |
---|---|
date | Thu, 16 May 2002 15:11:23 +0000 |
parents | e7ad6587a7a0 |
children | 52c2a7139db0 |
comparison
equal
deleted
inserted
replaced
844:047d37eb70d7 | 845:77624ff6e2da |
---|---|
1335 compatible include files into the compilation. In particular this | 1335 compatible include files into the compilation. In particular this |
1336 affected virtually all ioctl() calls. | 1336 affected virtually all ioctl() calls. |
1337 | 1337 |
1338 | 1338 |
1339 ** Linux | 1339 ** Linux |
1340 *** Mandrake | 1340 *** XEmacs crashes on startup, in make-frame. |
1341 | 1341 |
1342 The Mandrake Linux distribution is attempting to comprehensively | 1342 Typically the Lisp backtrace includes |
1343 update the user interface, and make it consistent across | 1343 |
1344 applications. This is very difficult, and will occasionally cause | 1344 make-frame(nil #<x-device on ":0.0" 0x2558>) |
1345 conflicts with applications like Emacs with their own long-established | 1345 |
1346 interfaces. Known issues specific to Mandrake or especially common: | 1346 somewhere near the top. The problem is due to an improvement in GNU |
1347 | 1347 ld that sorts the ELF reloc sections in the executable, giving |
1348 Some versions of XEmacs (21.1.9 is known) distributed with Mandrake | 1348 dramatic speedups in startup for large executables. It also confuses |
1349 were patched to make the Meta and Alt keysyms synonymous. These | 1349 the traditional unexec code in XEmacs, leading to the core dump. The |
1350 normally work as expected in the Mandrake environment. However, | 1350 solution is to use the --pdump or --ldflags='-z nocombreloc' options |
1351 custom-built XEmacsen (including all 21.2 betas) will "inexplicably" | 1351 to configure. Recent 21.4 and 12.5 autodetect this in configure. |
1352 not respect the "Alt-invokes-Meta-commands" convention. See "I want | 1352 |
1353 XEmacs to use the Alt key" below. | 1353 Red Hat and SuSE (at least) distributed a prerelease version of ld |
1354 | 1354 (versions around 2.11.90.x.y) where autodetection is impossible. The |
1355 The color-gcc wrapper (see below) is in common use on the Mandrake | 1355 recommended procedure is to upgrade to binutils >= 2.12 and rerun |
1356 platform. | 1356 configure. Otherwise you must apply the flags by hand. --pdump is |
1357 recommended. | |
1357 | 1358 |
1358 *** I want XEmacs to use the Alt key, not the XXX key, for Meta commands | 1359 *** I want XEmacs to use the Alt key, not the XXX key, for Meta commands |
1359 | 1360 |
1360 For historical reasons, XEmacs looks for a Meta key, then an Alt key. | 1361 For historical reasons, XEmacs looks for a Meta key, then an Alt key. |
1361 It binds Meta commands to the X11 modifier bit attached to the first | 1362 It binds Meta commands to the X11 modifier bit attached to the first |
1395 http://www.geocities.com/kensanata/color-emacs.html#ansicolors | 1396 http://www.geocities.com/kensanata/color-emacs.html#ansicolors |
1396 | 1397 |
1397 This is written for the mainline GNU Emacs but the author has made | 1398 This is written for the mainline GNU Emacs but the author has made |
1398 efforts to adapt it to XEmacs. YMMV. | 1399 efforts to adapt it to XEmacs. YMMV. |
1399 | 1400 |
1401 *** Slow startup on Linux. | |
1402 | |
1403 People using systems based on the Linux kernel sometimes report that | |
1404 startup takes 10 to 15 seconds longer than `usual'. There are two | |
1405 problems, one older, one newer. | |
1406 | |
1407 **** Old problem: IPv4 host lookup | |
1408 | |
1409 On older systems, this is because Emacs looks up the host name when it | |
1410 starts. Normally, this takes negligible time; the extra delay is due | |
1411 to improper system configuration. (Recent Linux distros usually have | |
1412 this configuration correct "out of the box".) This problem can occur | |
1413 for both networked and non-networked machines. | |
1414 | |
1415 Here is how to fix the configuration. It requires being root. | |
1416 | |
1417 ***** Networked Case | |
1418 | |
1419 First, make sure the files `/etc/hosts' and `/etc/host.conf' both | |
1420 exist. The first line in the `/etc/hosts' file should look like this | |
1421 (replace HOSTNAME with your host name): | |
1422 | |
1423 127.0.0.1 localhost HOSTNAME | |
1424 | |
1425 Also make sure that the `/etc/host.conf' files contains the following | |
1426 lines: | |
1427 | |
1428 order hosts, bind | |
1429 multi on | |
1430 | |
1431 Any changes, permanent and temporary, to the host name should be | |
1432 indicated in the `/etc/hosts' file, since it acts a limited local | |
1433 database of addresses and names (e.g., some SLIP connections | |
1434 dynamically allocate ip addresses). | |
1435 | |
1436 ***** Non-Networked Case | |
1437 | |
1438 The solution described in the networked case applies here as well. | |
1439 However, if you never intend to network your machine, you can use a | |
1440 simpler solution: create an empty `/etc/host.conf' file. The command | |
1441 `touch /etc/host.conf' suffices to create the file. The `/etc/hosts' | |
1442 file is not necessary with this approach. | |
1443 | |
1444 **** New problem: IPv6 CNAME lookup | |
1445 | |
1446 A newer problem is due to XEmacs changing to use the modern | |
1447 getaddrinfo() interface from the older gethostbyname() interface. The | |
1448 solution above is insufficient, because getaddrinfo() by default tries | |
1449 to get IPv6 information for localhost. This always involves a dns | |
1450 lookup to get the CNAME, and the strategies above don't work. It then | |
1451 falls back to IPv4 behavior. This is good[tm] according the people at | |
1452 WIDE who know about IPv6. | |
1453 | |
1454 ***** Robust network case | |
1455 | |
1456 Configure your network so that there are no nameservers configured | |
1457 until the network is actually running. getaddrinfo() will not try to | |
1458 access a nameserver that isn't configured. | |
1459 | |
1460 ***** Flaky network case | |
1461 | |
1462 If you have a flaky modem or DSL connection that can be relied on only | |
1463 to go down whenever you want to bring XEmacs up, you need to force | |
1464 IPv4 behavior. Explicitly setting DISPLAY=127.0.0.1:0.0 (or whatever | |
1465 is appropriate) works in most cases. | |
1466 | |
1467 If you cannot or do not want to do that, you can hard code IPv4 | |
1468 behavior in src/process-unix.c. This is bad[tm], on your own head be | |
1469 it. Use the configure option `--with-ipv6-cname=no'. | |
1470 | |
1471 *** Mandrake | |
1472 | |
1473 The Mandrake Linux distribution is attempting to comprehensively | |
1474 update the user interface, and make it consistent across | |
1475 applications. This is very difficult, and will occasionally cause | |
1476 conflicts with applications like Emacs with their own long-established | |
1477 interfaces. Known issues specific to Mandrake or especially common: | |
1478 | |
1479 Some versions of XEmacs (21.1.9 is known) distributed with Mandrake | |
1480 were patched to make the Meta and Alt keysyms synonymous. These | |
1481 normally work as expected in the Mandrake environment. However, | |
1482 custom-built XEmacsen (including all 21.2 betas) will "inexplicably" | |
1483 not respect the "Alt-invokes-Meta-commands" convention. See "I want | |
1484 XEmacs to use the Alt key" below. | |
1485 | |
1486 The color-gcc wrapper (see below) is in common use on the Mandrake | |
1487 platform. | |
1488 | |
1400 *** You get crashes in a non-C locale with Linux GNU Libc 2.0. | 1489 *** You get crashes in a non-C locale with Linux GNU Libc 2.0. |
1401 | 1490 |
1402 Internationalization was not the top priority for GNU Libc 2.0. | 1491 Internationalization was not the top priority for GNU Libc 2.0. |
1403 As of this writing (1998-12-28) you may get crashes while running | 1492 As of this writing (1998-12-28) you may get crashes while running |
1404 XEmacs in a non-C locale. For example, `LC_ALL=en_US xemacs' crashes | 1493 XEmacs in a non-C locale. For example, `LC_ALL=en_US xemacs' crashes |
1418 character doesn't appear--you get a solid box instead. | 1507 character doesn't appear--you get a solid box instead. |
1419 | 1508 |
1420 One user on a Linux system reported that this problem went away with | 1509 One user on a Linux system reported that this problem went away with |
1421 installation of a new X server. The failing server was XFree86 3.1.1. | 1510 installation of a new X server. The failing server was XFree86 3.1.1. |
1422 XFree86 3.1.2 works. | 1511 XFree86 3.1.2 works. |
1423 | |
1424 *** Slow startup on Linux. | |
1425 | |
1426 People using systems based on the Linux kernel sometimes report that | |
1427 startup takes 10 to 15 seconds longer than `usual'. There are two | |
1428 problems, one older, one newer. | |
1429 | |
1430 **** Old problem: IPv4 host lookup | |
1431 | |
1432 On older systems, this is because Emacs looks up the host name when it | |
1433 starts. Normally, this takes negligible time; the extra delay is due | |
1434 to improper system configuration. (Recent Linux distros usually have | |
1435 this configuration correct "out of the box".) This problem can occur | |
1436 for both networked and non-networked machines. | |
1437 | |
1438 Here is how to fix the configuration. It requires being root. | |
1439 | |
1440 ***** Networked Case | |
1441 | |
1442 First, make sure the files `/etc/hosts' and `/etc/host.conf' both | |
1443 exist. The first line in the `/etc/hosts' file should look like this | |
1444 (replace HOSTNAME with your host name): | |
1445 | |
1446 127.0.0.1 localhost HOSTNAME | |
1447 | |
1448 Also make sure that the `/etc/host.conf' files contains the following | |
1449 lines: | |
1450 | |
1451 order hosts, bind | |
1452 multi on | |
1453 | |
1454 Any changes, permanent and temporary, to the host name should be | |
1455 indicated in the `/etc/hosts' file, since it acts a limited local | |
1456 database of addresses and names (e.g., some SLIP connections | |
1457 dynamically allocate ip addresses). | |
1458 | |
1459 ***** Non-Networked Case | |
1460 | |
1461 The solution described in the networked case applies here as well. | |
1462 However, if you never intend to network your machine, you can use a | |
1463 simpler solution: create an empty `/etc/host.conf' file. The command | |
1464 `touch /etc/host.conf' suffices to create the file. The `/etc/hosts' | |
1465 file is not necessary with this approach. | |
1466 | |
1467 **** New problem: IPv6 CNAME lookup | |
1468 | |
1469 A newer problem is due to XEmacs changing to use the modern | |
1470 getaddrinfo() interface from the older gethostbyname() interface. The | |
1471 solution above is insufficient, because getaddrinfo() by default tries | |
1472 to get IPv6 information for localhost. This always involves a dns | |
1473 lookup to get the CNAME, and the strategies above don't work. It then | |
1474 falls back to IPv4 behavior. This is good[tm] according the people at | |
1475 WIDE who know about IPv6. | |
1476 | |
1477 ***** Robust network case | |
1478 | |
1479 Configure your network so that there are no nameservers configured | |
1480 until the network is actually running. getaddrinfo() will not try to | |
1481 access a nameserver that isn't configured. | |
1482 | |
1483 ***** Flaky network case | |
1484 | |
1485 If you have a flaky modem or DSL connection that can be relied on only | |
1486 to go down whenever you want to bring XEmacs up, you need to force | |
1487 IPv4 behavior. Explicitly setting DISPLAY=127.0.0.1:0.0 (or whatever | |
1488 is appropriate) works in most cases. | |
1489 | |
1490 If you cannot or do not want to do that, you can hard code IPv4 | |
1491 behavior in src/process-unix.c. This is bad[tm], on your own head be | |
1492 it. Use the configure option `--with-ipv6-cname=no'. | |
1493 | 1512 |
1494 ** IRIX | 1513 ** IRIX |
1495 *** On Irix, I don't see the toolbar icons and I'm getting lots of | 1514 *** On Irix, I don't see the toolbar icons and I'm getting lots of |
1496 entries in the warnings buffer. | 1515 entries in the warnings buffer. |
1497 | 1516 |