X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=PROBLEMS;h=4c5d43d2ce0ada4a1fd5155d20631235c3dd7f8c;hb=af38928b3ca88709a473780697477466c6ab7c5d;hp=0648a24e45f04c0316f2d1a2409e9964d71b5ddb;hpb=d8bd7eee3147c839d3c74d1823c139cd54867a75;p=chise%2Fxemacs-chise.git- diff --git a/PROBLEMS b/PROBLEMS index 0648a24..4c5d43d 100644 --- a/PROBLEMS +++ b/PROBLEMS @@ -298,6 +298,14 @@ This is a Linux problem where you've compiled the XEmacs binary on a libc an earlier version. The solution is to upgrade your old library. ** IRIX + +*** On Irix 6.5, the MIPSpro compiler gets an internal compiler error + +The MIPSpro Compiler (at least version 7.2.1) can't seem to handle the +union type properly, and fails to compile src/glyphs.c. To avoid this +problem, always build ---use-union-type=no (but that's the default, so +you should only see this problem if you're an XEmacs maintainer). + *** Linking with -rpath on IRIX. Darrell Kindred writes: @@ -1258,6 +1266,66 @@ affected virtually all ioctl() calls. ** Linux +*** Mandrake + +The Mandrake Linux distribution is attempting to comprehensively +update the user interface, and make it consistent across +applications. This is very difficult, and will occasionally cause +conflicts with applications like Emacs with their own long-established +interfaces. Known issues specific to Mandrake or especially common: + +Some versions of XEmacs (21.1.9 is known) distributed with Mandrake +were patched to make the Meta and Alt keysyms synonymous. These +normally work as expected in the Mandrake environment. However, +custom-built XEmacsen (including all 21.2 betas) will "inexplicably" +not respect the "Alt-invokes-Meta-commands" convention. See "I want +XEmacs to use the Alt key" below. + +The color-gcc wrapper (see below) is in common use on the Mandrake +platform. + +*** I want XEmacs to use the Alt key, not the XXX key, for Meta commands + +For historical reasons, XEmacs looks for a Meta key, then an Alt key. +It binds Meta commands to the X11 modifier bit attached to the first +of these it finds. On PCs, the Windows key is often assigned the Meta +bit, but many desktop environments go to great lengths to get all apps +to use the Alt key, and reserve the Windows key to (sensibly enough) +the window manager. + +One correct way to implement this was suggested on comp.emacs.xemacs +(by Kilian Foth and in more detail by Michael Piotrowski): unmap the +Meta modifier using xmodmap or xkb, and then map the Meta/Windows key +to the Super or Hyper keysym and an appropriate mod bit. XEmacs will +not find the Meta keysym, and default to using the Alt key for Meta +keybindings. Typically few applications use the (X11) Meta modifier; +it is tedious but not too much so to teach the ones you need to use +Super instead of Meta. There may be further useful hints in the +discussion of keymapping on non-Linux platforms. + +*** The color-gcc wrapper + +This wrapper colorizes the error messages from gcc. By default XEmacs +does not interpret the escape sequences used to generate colors, +resulting in a cluttered, hard-to-read buffer. You can remove the +wrapper, or defeat the wrapper colorization in Emacs process buffers +by editing the "nocolor" attribute in /etc/colorgccrc: + +$ diff -u /etc/colorgccrc.old /etc/colorgccrc +--- /etc/colorgccrc.old Tue Dec 26 02:17:46 2000 ++++ /etc/colorgccrc Tue Dec 26 02:15:48 2000 +@@ -34,1 +34,1 @@ +-nocolor: dumb ++nocolor: dumb emacs + +If you want colorization in your Emacs buffers, you may get good +results from the ansi-color.el library: + +http://www.geocities.com/kensanata/color-emacs.html#ansicolors + +This is written for the mainline GNU Emacs but the author has made +efforts to adapt it to XEmacs. YMMV. + *** You get crashes in a non-C locale with Linux GNU Libc 2.0. Internationalization was not the top priority for GNU Libc 2.0. @@ -1285,16 +1353,20 @@ XFree86 3.1.2 works. *** Slow startup on Linux. People using systems based on the Linux kernel sometimes report that -startup takes 10 to 15 seconds longer than `usual'. +startup takes 10 to 15 seconds longer than `usual'. There are two +problems, one older, one newer. + +**** Old problem: IPv4 host lookup -This is because Emacs looks up the host name when it starts. -Normally, this takes negligible time; the extra delay is due to -improper system configuration. This problem can occur for both -networked and non-networked machines. +On older systems, this is because Emacs looks up the host name when it +starts. Normally, this takes negligible time; the extra delay is due +to improper system configuration. (Recent Linux distros usually have +this configuration correct "out of the box".) This problem can occur +for both networked and non-networked machines. Here is how to fix the configuration. It requires being root. -**** Networked Case +***** Networked Case First, make sure the files `/etc/hosts' and `/etc/host.conf' both exist. The first line in the `/etc/hosts' file should look like this @@ -1313,7 +1385,7 @@ indicated in the `/etc/hosts' file, since it acts a limited local database of addresses and names (e.g., some SLIP connections dynamically allocate ip addresses). -**** Non-Networked Case +***** Non-Networked Case The solution described in the networked case applies here as well. However, if you never intend to network your machine, you can use a @@ -1321,6 +1393,45 @@ simpler solution: create an empty `/etc/host.conf' file. The command `touch /etc/host.conf' suffices to create the file. The `/etc/hosts' file is not necessary with this approach. +**** New problem: IPv6 CNAME lookup + +A newer problem is due to XEmacs changing to use the modern +getaddrinfo() interface from the older gethostbyname() interface. The +solution above is insufficient, because getaddrinfo() by default tries +to get IPv6 information for localhost. This always involves a dns +lookup to get the CNAME, and the strategies above don't work. It then +falls back to IPv4 behavior. This is good[tm]; trust us. + +***** Robust network case + +Configure your network so that there are no nameservers configured +until the network is actually running. getaddrinfo() will not try to +access a nameserver that isn't configured. + +***** Flaky network case + +If you have a flaky modem or DSL connection that can be relied on only +to go down whenever you want to bring XEmacs up, you need to force +IPv4 behavior. Explicitly setting DISPLAY=127.0.0.1:0.0 (or whatever +is appropriate) works in most cases. + +If you cannot or do not want to do that, you can hard code IPv4 +behavior in src/process-unix.c. This is bad[tm], on your own head be +it. In the function unix_canonicalize_host_name() about ten lines +down, change the statement + + hints.ai_family = AF_UNSPEC; + +to + + hints.ai_family = PF_INET; + +and rebuild XEmacs. + +getaddrinfo() is also called in src/sysdep.c:init_system_name() and in +src/process-unix.c:unix_open_network_stream(). It should not be +useful to make this change in either of those places. + ** IRIX *** On Irix, I don't see the toolbar icons and I'm getting lots of