4c5d43d2ce0ada4a1fd5155d20631235c3dd7f8c
[chise/xemacs-chise.git.1] / PROBLEMS
1                                                   -*- mode:outline -*-
2
3 This file describes various problems that have been encountered
4 in compiling, installing and running XEmacs.  It has been updated for
5 XEmacs 21.0.
6
7 This file is rather large, but we have tried to sort the entries by
8 their respective relevance for XEmacs, but may have not succeeded
9 completely in that task.  The file is divided into four parts:
10
11  - Problems with building XEmacs
12  - Problems with running XEmacs
13  - Compatibility problems
14  - Mule issues
15
16 Use `C-c C-f' to move to the next equal level of outline, and
17 `C-c C-b' to move to previous equal level.  `C-h m' will give more
18 info about the Outline mode.
19
20 Also, Try finding the things you need using one of the search commands
21 XEmacs provides (e.g. `C-s').
22
23 A general advice:
24     WATCH OUT for .emacs file!  ~/.emacs is your Emacs init file.  If
25     you observe strange problems, invoke XEmacs with the `-q' option
26     and see if you can repeat the problem.
27
28
29 * Problems with building XEmacs
30 ===============================
31
32 ** General
33 *** Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures
34 without also using `-fno-schedule-insns'.
35
36 gcc will generate incorrect code otherwise, typically resulting in
37 crashes in the function skip-syntax-backward.
38
39 *** egcs-1.1
40
41 There have been reports of egcs-1.1 not compiling XEmacs correctly on
42 Alpha Linux.  There have also been reports that egcs-1.0.3a is O.K.
43
44 *** Don't use -O2 or -O3 with Cygwin 1.0, CodeFusion-99070 or gcc 2.7.2 on x86
45 without also using `-fno-strength-reduce'.
46
47 gcc will generate incorrect code otherwise.  This bug is present in at
48 least 2.6.x and 2.7.[0-2].  This bug has been fixed in GCC 2.7.2.1 and
49 later.  This bug is O/S independent, but is limited to x86 architectures.
50
51 This problem is known to be fixed in egcs (or pgcc) 1.0 or later.
52
53 Unfortunately, later releases of Cygnus-released compilers (not the
54 Net-released ones) have a bug with the same `problem signature'.
55
56 If you're lucky, you'll get an error while compiling that looks like:
57
58 event-stream.c:3189: internal error--unrecognizable insn:
59 (insn 256 14 15 (set (reg/v:SI 24)
60         (minus:SI (reg/v:SI 25)
61             (const_int 2))) -1 (insn_list 11 (nil))
62     (nil))
63     0       0 [main]
64
65 If you're unlucky, your code will simply execute incorrectly.
66
67 *** Don't use gcc-2.95.2 with -mcpu=ultrasparc on Solaris 2.6.
68
69 gcc will assume a 64-bit operating system, even though you've
70 merely told it to assume a 64-bit instruction set.
71
72 *** Don't use -O2 with gcc 2.7.2 under Intel architectures without also
73 using `-fno-caller-saves'.
74
75 gcc will generate incorrect code otherwise.  This bug is still
76 present in gcc 2.7.2.3.  There have been no reports to indicate the
77 bug is present in egcs 1.0 (or pgcc 1.0) or later.  This bug is O/S
78 independent, but limited to x86 architectures.
79
80 This problem is known to be fixed in egcs (or pgcc) 1.0 or later.
81
82 *** When using gcc, you get the error message "undefined symbol __fixunsdfsi".
83 When using gcc, you get the error message "undefined symbol __main".
84
85 This means that you need to link with the gcc library.  It may be called
86 "gcc-gnulib" or "libgcc.a"; figure out where it is, and define LIB_GCC in
87 config.h to point to it.
88
89 It may also work to use the GCC version of `ld' instead of the standard one.
90
91 *** Excessive optimization with pgcc can break XEmacs
92
93 It has been reported on some systems that compiling with -O6 can lead
94 to XEmacs failures.  The workaround is to use a lower optimization
95 level.  -O2 and -O4 have been tested extensively.
96
97 All of this depends heavily on the version of pgcc and the version
98 of libc.  Snapshots near the release of pgcc-1.0 have been tested
99 extensively and no sign of breakage has been seen on systems using
100 glibc-2.
101
102 *** src/Makefile and lib-src/Makefile are truncated--most of the file missing.
103
104 This can happen if configure uses GNU sed version 2.03.  That version
105 had a bug.  GNU sed version 2.05 works properly.
106
107 *** When compiling with X11, you get "undefined symbol _XtStrings".
108
109 This means that you are trying to link emacs against the X11r4 version of
110 libXt.a, but you have compiled either Emacs or the code in the lwlib
111 subdirectory with the X11r5 header files.  That doesn't work.
112
113 Remember, you can't compile lwlib for r4 and emacs for r5, or vice versa.
114 They must be in sync.
115
116 *** test-distrib says that the distribution has been clobbered
117 or, temacs prints "Command key out of range 0-127"
118 or, temacs runs and dumps xemacs, but xemacs totally fails to work.
119 or, temacs gets errors dumping xemacs
120
121 This can be because the .elc files have been garbled.  Do not be
122 fooled by the fact that most of a .elc file is text: these are binary
123 files and can contain all 256 byte values.
124
125 In particular `shar' cannot be used for transmitting GNU Emacs.  It
126 typically truncates "lines".  (this does not apply to GNU shar, which
127 uses uuencode to encode binary files.)
128
129 If you have a copy of Emacs that has been damaged in its nonprinting
130 characters, you can fix them by running:
131
132  make all-elc
133
134 This will rebuild all the needed .elc files.
135
136 *** `compress' and `uncompress' not found and XFree86
137
138 XFree86 installs a very old version of libz.a by default ahead of where
139 more modern version of libz might be installed.  This will cause problems
140 when attempting to link against libMagick.  The fix is to remove the old
141 libz.a in the X11 binary directory.
142
143
144 ** AIX
145 *** On AIX 4.3, you must specify --with-dialogs=athena with configure
146
147 *** The libXt shipped with AIX 4.3 up to 4.3.2 is broken.  This causes
148     xemacs -nw to fail in various ways.  The official APAR is this:
149
150 APAR NUMBER: <IX89470>            RESOLVED AS: PROGRAM ERROR
151
152 ABSTRACT:
153 <IX89470>: LIBXT.A INCORRECT HANDLING OF EXCEPTIONS IN XTAPPADDINPUT
154
155     The solution is to install X11.base.lib at version >=4.3.2.5.
156
157 *** On AIX, you get this compiler error message:
158
159     Processing include file ./XMenuInt.h
160         1501-106: (S) Include file X11/Xlib.h not found.
161
162 This means your system was installed with only the X11 runtime i.d
163 libraries.  You have to find your sipo (bootable tape) and install
164 X11Dev... with smit.
165
166 *** On AIX 4.1.2, linker error messages such as
167    ld: 0711-212 SEVERE ERROR: Symbol .__quous, found in the global symbol table
168          of archive /usr/lib/libIM.a, was not defined in archive member shr.o.
169
170 This is a problem in libIM.a.  You can work around it by executing
171 these shell commands in the src subdirectory of the directory where
172 you build Emacs:
173
174     cp /usr/lib/libIM.a .
175     chmod 664 libIM.a
176     ranlib libIM.a
177
178 Then change -lIM to ./libIM.a in the command to link temacs (in
179 Makefile).
180
181 *** Excessive optimization on AIX 4.2 can lead to compiler failure.
182
183 Valdis.Kletnieks@vt.edu writes:
184   At least at the b34 level, and the latest-and-greatest IBM xlc
185   (3.1.4.4), there are problems with -O3.  I haven't investigated
186   further.
187
188
189 ** SunOS/Solaris
190 *** Link failure when using acc on a Sun.
191
192 To use acc, you need additional options just before the libraries, such as
193
194    /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1
195
196 and you need to add -lansi just before -lc.
197
198 The precise file names depend on the compiler version, so we
199 cannot easily arrange to supply them.
200
201 *** Problems finding X11 libraries on Solaris with Openwindows
202
203 Some users have reported problems in this area.  The reported solution
204 is to define the environment variable OPENWINHOME, even if you must set
205 it to `/usr/openwin'.
206
207 *** Sed problems on Solaris 2.5
208
209 There have been reports of Sun sed truncating very lines in the
210 Makefile during configuration.  The workaround is to use GNU sed or,
211 even better, think of a better way to generate Makefile, and send us a 
212 patch. :-)
213
214 *** On Solaris 2 I get undefined symbols from libcurses.a.
215
216 You probably have /usr/ucblib/ on your LD_LIBRARY_PATH.  Do the link with
217 LD_LIBRARY_PATH unset.  Generally, avoid using any ucb* stuff when
218 building XEmacs.
219
220 *** On Solaris 2 I cannot make alloc.o, glyphs.o or process.o.
221
222 The SparcWorks C compiler may have difficulty building those modules
223 with optimization level -xO4.  Try using only "-fast" optimization
224 for just those modules.  (Or use gcc).
225
226 *** Solaris 2.3 /bin/sh coredumps during configuration.
227
228 This only occurs if you have LANG != C.  This is a known bug with
229 /bin/sh fixed by installing Patch-ID# 101613-01.  Or, you can use
230 bash, as a workaround.
231
232 *** On SunOS, you get linker errors
233     ld: Undefined symbol 
234        _get_wmShellWidgetClass
235        _get_applicationShellWidgetClass
236
237 The fix to this is to install patch 100573 for OpenWindows 3.0
238 or link libXmu statically.
239
240 *** On Sunos 4, you get the error ld: Undefined symbol __lib_version.
241
242 This is the result of using cc or gcc with the shared library meant
243 for acc (the Sunpro compiler).  Check your LD_LIBRARY_PATH and delete
244 /usr/lang/SC2.0.1 or some similar directory.
245
246 *** Undefined symbols when linking on Sunos 4.1.
247
248 If you get the undefined symbols _atowc _wcslen, _iswprint, _iswspace,
249 _iswcntrl, _wcscpy, and _wcsncpy, then you need to add -lXwchar after
250 -lXaw in the command that links temacs.
251
252 This problem seems to arise only when the international language
253 extensions to X11R5 are installed.
254
255 *** On a Sun running SunOS 4.1.1, you get this error message from GNU ld:
256
257     /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment 
258
259 The problem is in the Sun shared C library, not in GNU ld.
260
261 The solution is to install Patch-ID# 100267-03 from Sun.
262
263 *** SunOS 4.1.2: undefined symbol _get_wmShellWidgetClass
264
265   Apparently the version of libXmu.so.a that Sun ships is hosed: it's missing
266   some stuff that is in libXmu.a (the static version).  Sun has a patch for 
267   this, but a workaround is to use the static version of libXmu, by changing
268   the link command from "-lXmu" to "-Bstatic -lXmu -Bdynamic".  If you have
269   OpenWindows 3.0, ask Sun for these patches:
270     100512-02       4.1.x OpenWindows 3.0 libXt Jumbo patch
271     100573-03       4.1.x OpenWindows 3.0 undefined symbols with shared libXmu
272
273 *** Random other SunOS 4.1.[12] link errors.
274
275   The X headers and libraries that Sun ships in /usr/{include,lib}/X11 are
276   broken.  Use the ones in /usr/openwin/{include,lib} instead.
277
278 ** Linux
279 *** Under Linux, you get "too many arguments to function `getpgrp'".
280
281 You have probably installed LessTiff under `/usr/local' and `libXm.so'
282 could not be found when linking `getpgrp()' test program, making XEmacs
283 think that `getpgrp()' takes an argument. Try adding `/usr/local/lib'
284 in `/etc/ld.so.conf' and run `ldconfig'. Then run XEmacs's `configure'
285 again.  As with all problems of this type, reading the config.log file
286 generated from configure and seeing the log of how the test failed can
287 prove enlightening.
288
289 *** `Error: No ExtNode to pop!' on Linux systems with Lesstif.
290
291 This error message has been observed with lesstif-0.75a.  It does not
292 appear to cause any harm.
293
294 *** xemacs: can't resolve symbol '__malloc_hook'
295
296 This is a Linux problem where you've compiled the XEmacs binary on a libc
297 5.4 with version higher than 5.4.19 and attempted to run the binary against
298 an earlier version.  The solution is to upgrade your old library.
299
300 ** IRIX
301
302 *** On Irix 6.5, the MIPSpro compiler gets an internal compiler error
303
304 The MIPSpro Compiler (at least version 7.2.1) can't seem to handle the
305 union type properly, and fails to compile src/glyphs.c.  To avoid this
306 problem, always build ---use-union-type=no (but that's the default, so
307 you should only see this problem if you're an XEmacs maintainer).
308
309 *** Linking with -rpath on IRIX.
310
311 Darrell Kindred <dkindred@cmu.edu> writes:
312 There are a couple of problems [with use of -rpath with Irix ld], though:
313
314   1. The ld in IRIX 5.3 ignores all but the last -rpath
315      spec, so the patched configure spits out a warning
316      if --x-libraries or --site-runtime-libraries are
317      specified under irix 5.x, and it only adds -rpath 
318      entries for the --site-runtime-libraries.  This bug was
319      fixed sometime between 5.3 and 6.2.
320
321   2. IRIX gcc 2.7.2 doesn't accept -rpath directly, so
322      it would have to be prefixed by -Xlinker or "-Wl,".
323      This would be fine, except that configure compiles with
324         ${CC-cc} $CFLAGS $LDFLAGS ...
325      rather than quoting $LDFLAGS with prefix-args, like
326      src/Makefile does.  So if you specify --x-libraries
327      or --site-runtime-libraries, you must use --use-gcc=no,
328      or configure will fail.
329
330 *** On Irix 6.3, the SGI ld quits with segmentation fault when linking temacs
331
332 This occurs if you use the SGI linker version 7.1.  Installing the
333 patch SG0001872 fixes this problem.
334
335 *** On Irix 6.0, make tries (and fails) to build a program named unexelfsgi
336
337 A compiler bug inserts spaces into the string "unexelfsgi . o"
338 in src/Makefile.  Edit src/Makefile, after configure is run,
339 find that string, and take out the spaces.
340
341 Compiler fixes in Irix 6.0.1 should eliminate this problem.
342
343 *** On Irix 5.2, unexelfsgi.c can't find cmplrs/stsupport.h.
344
345 The file cmplrs/stsupport.h was included in the wrong file set in the
346 Irix 5.2 distribution.  You can find it in the optional fileset
347 compiler_dev, or copy it from some other Irix 5.2 system.  A kludgy
348 workaround is to change unexelfsgi.c to include sym.h instead of
349 syms.h.
350
351 *** Coredumping in Irix 6.2
352
353 Pete Forman <gsez020@compo.bedford.waii.com> writes:
354 A problem noted by myself and others (I've lost the references) was
355 that XEmacs coredumped when the cut or copy toolbar buttons were
356 pressed.  This has been fixed by loading the SGI patchset (Feb 98)
357 without having to recompile XEmacs.
358
359 My versions are XEmacs 20.3 (problem first noted in 19.15) and IRIX
360 6.2, compiled using -n32.  I'd guess that the relevant individual
361 patch was "SG0002580: multiple fixes for X libraries".  SGI recommends
362 that the complete patch set be installed rather than parts of it.
363
364 ** Digital UNIX/OSF/VMS
365 *** On Digital UNIX, the DEC C compiler might have a problem compiling
366 some files.
367
368 In particular, src/extents.c and src/faces.c might cause the DEC C
369 compiler to abort.  When this happens: cd src, compile the files by
370 hand, cd .., and redo the "make" command.  When recompiling the files by
371 hand, use the old C compiler for the following versions of Digital UNIX:
372   - V3.n: Remove "-migrate" from the compile command.
373   - V4.n: Add "-oldc" to the compile command.
374
375 A related compiler bug has been fixed by the DEC compiler team.  The
376 new versions of the compiler should run fine.
377
378 *** Under some versions of OSF XEmacs runs fine if built without
379 optimization but will crash randomly if built with optimization.
380
381 Using 'cc -g' is not sufficient to eliminate all optimization.  Try
382 'cc -g -O0' instead.
383
384 *** Compilation errors on VMS.
385
386 Sorry, XEmacs does not work under VMS.  You might consider working on
387 the port if you really want to have XEmacs work under VMS.
388
389 ** HP-UX
390 *** On HPUX, the HP C compiler might have a problem compiling some files
391 with optimization.
392
393 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
394
395   Had to drop once again to level 2 optimization, at least to
396   compile lstream.c. Otherwise, I get a "variable is void: \if"
397   problem while dumping (this is a problem I already reported
398   with vanilla hpux 10.01 and 9.07, which went away after
399   applying patches for the C compiler). Trouble is I still
400   haven't found the same patch for hpux 10.10, and I don't
401   remember the patch numbers. I think potential XEmacs builders
402   on HP should be warned about this.
403
404 *** I don't have `xmkmf' and `imake' on my HP.
405
406   You can get these standard X tools by anonymous FTP to
407   hpcvaaz.cv.hp.com.  Essentially all X programs need these.
408
409 *** On HP-UX, problems with make
410
411 Marcus Thiessel <marcus@xemacs.org>
412
413   Some releases of XEmacs (e.g. 20.4) require GNU make to build
414   successfully. You don't need GNU make when building 21.x.
415
416 *** On HP-UX 9.05 XEmacs won't compile or coredump during the build.
417
418 Marcus Thiessel <marcus@xemacs.org>
419
420   This might be a sed problem. For your own safety make sure to use
421   GNU sed while dumping XEmacs.
422
423 *** On HP-UX 11.0 XEmacs causes excessive X11 errors when running. 
424     (also appears on AIX as reported in comp.emacs.xemacs)
425
426 Marcus Thiessel <marcus@xemacs.org>
427
428   Unfortunately, XEmacs releases prior to 21.0 don't work with
429   Motif2.1. It will compile but you will get excessive X11 errors like
430
431   xemacs: X Error of failed request:  BadGC (invalid GC parameter)
432
433   and finally XEmacs gets killed. A workaround is to use the
434   Motif1.2_R6 libraries. You can the following line to your call to
435   configure:
436
437      --x-libraries="/usr/lib/Motif1.2_R6 -L/usr/lib/X11R6"
438  
439   Make sure /usr/lib/Motif1.2_R6/libXm.sl is a link to
440   /usr/lib/Motif1.2_R6/libXm.3.
441
442 *** On HP-UX 11.0: Object "" does not have windowed ancestor
443
444 Marcus Thiessel <marcus@xemacs.org>
445
446   XEmacs dies without core file and reports:
447
448     Error: Object "" does not have windowed ancestor.
449
450   This is a bug. Please apply the patch PHSS_19964 (check if
451   superseded). The other alternative is to link with Motif1.2_R6 (see
452   previous item).
453
454
455 ** SCO OpenServer
456 *** Native cc on SCO OpenServer 5 is now OK.  Icc may still throw you
457 a curve.  Here is what Robert Lipe <robertl@arnet.com> says:
458
459 Unlike XEmacs 19.13, building with the native cc on SCO OpenServer 5 
460 now produces a functional binary.   I will typically build this
461 configuration for COFF with:
462
463         /path_to_xemacs_source/configure --with-gcc=no \
464           --site-includes=/usr/local/include --site-libraries=/usr/local/lib \
465           --with-xpm --with-xface --with-sound=nas
466
467 This version now supports ELF builds.  I highly recommend this to 
468 reduce the in-core footprint of XEmacs.  This is now how I compile 
469 all my test releases.  Build it like this:
470
471         /path_to_XEmacs_source/configure --with-gcc=no \
472           --site-includes=/usr/local/include --site-libraries=/usr/local/lib \
473           --with-xpm --with-xface --with-sound=nas --dynamic
474
475 The compiler known as icc [ supplied with the OpenServer 5 Development 
476 System ] generates a working binary, but it takes forever to generate
477 XEmacs.  ICC also whines more about the code than /bin/cc does.  I do
478 believe all its whining is legitimate, however.    Note that you do
479 have to 'cd src ; make  LD=icc' to avoid linker errors.
480
481 The way I handle the build procedure is:
482
483         /path_to_XEmacs_source/configure --with-gcc=no \
484           --site-includes=/usr/local/include --site-libraries=/usr/local/lib \
485           --with-xpm --with-xface --with-sound=nas --dynamic --compiler="icc"
486
487 NOTE I have the xpm, xface, and audio libraries and includes in 
488         /usr/local/lib, /usr/local/include.  If you don't have these,
489         don't include the "--with-*" arguments in any of my examples.
490
491 In previous versions of XEmacs, you had to override the defaults while 
492 compiling font-lock.o and extents.o when building with icc.  This seems
493 to no longer be true, but I'm including this old information in case it
494 resurfaces.  The process I used was:
495
496         make -k    
497         [ procure pizza, beer, repeat ] 
498         cd src
499         make CC="icc -W0,-mP1COPT_max_tree_size=3000" font-lock.o extents.o
500         make LD=icc
501
502 If you want sound support, get the tls566 supplement from 
503 ftp.sco.com:/TLS or any of its mirrors.  It works just groovy 
504 with XEmacs.
505
506 The M-x manual-entry is known not to work.  If you know Lisp and would
507 like help in making it work, e-mail me at <robertl@dgii.com>.
508 (UNCHECKED for 19.15 -- it might work).
509
510 In earlier releases, gnuserv/gnuclient/gnudoit would open a frame 
511 just fine, but the client would lock up and the server would
512 terminate when you used C-x # to close the frame.   This is now 
513 fixed in XEmacs.
514
515 In etc/ there are two files of note. emacskeys.sco and emacsstrs.sco.
516 The comments at the top of emacskeys.sco describe its function, and
517 the emacstrs.sco is a suitable candidate for /usr/lib/keyboard/strings
518 to take advantage of the keyboard map in emacskeys.sco.
519
520 Note: Much of the above entry is probably not valid for XEmacs 21.0
521 and later.
522
523 ** Cygwin
524 *** In general use etc/check_cygwin_setup.sh to trap environment problems.
525
526 The script etc/check_cygwin_setup.sh will attempt to detect whether
527 you have a suitable environment for building. This script may not work
528 correctly if you are using ash instead of bash (see below).
529
530 *** X11 not detected.
531
532 This is usually because xmkmf is not in your path or because you are
533 using the default cygwin shell. The default cygwin shell (/bin/sh.exe)
534 is ash which appears to work in most circumstances but has some weird
535 failure modes. I recommend replacing sh.exe with bash.exe, this will
536 mean configure is slower but more reliable.
537
538 *** Subprocesses do not work.
539
540 You do not have "tty" in your CYGWIN32 (for b19) or CYGWIN (for b20)
541 environment variable. This must be set in your autoexec.bat (win95) or
542 the system properties (winnt) as it must be read before the cygwin dll
543 initializes.
544
545 *** ^G does not work on hung subprocesses.
546
547 This is a known problem. It can be remedied with cygwin b20 or greater
548 by defining BROKEN_SIGIO in src/s/cygwin32.h, however this currently
549 leads to instability in XEmacs.
550
551 *** The XEmacs executable crashes at startup.
552
553 This can be caused by many things.  
554
555 If you are running with X11 you need to have cygwin b19 or cygwin
556 b20.1 or greater, cygwin b20 will not work.
557
558 If you are running with cygwin b19 make sure you are using egcs 1.0.2
559 rather than vanilla gcc. XEmacs builds by default with -O3 which does
560 not work with the gcc that ships with b19. Alternatively use -O2.
561
562 *** The info files will not build.
563
564 makeinfo that ships with cygwin (all versions) is a noop. You need to
565 obtain makeinfo from somewhere or build it yourself.
566
567 *** I have no graphics.
568
569 You need to obtain the various graphics libraries. Pre-built versions
570 of these and the X libraries are located on the XEmacs website in
571 ftp://ftp.xemacs.org/pub/aux/cygwin*.
572
573 *** There are no images in the toolbar buttons.
574
575 You need version 4.71 of commctrl.dll which does not ship with windows
576 95. You can get this by installing IE 4.0 or downloading it from the
577 microsoft website.
578
579
580 * Problems with running XEmacs
581 ==============================
582 ** General
583 *** C-z just refreshes the screen instead of suspending Emacs.
584
585 You are probably using a shell that doesn't support job control, even
586 though the system itself is capable of it.  Try using a different
587 shell.
588
589 *** You type Control-H (Backspace) expecting to delete characters.
590
591 Emacs has traditionally used Control-H for help; unfortunately this
592 interferes with its use as Backspace on TTY's.  As of XEmacs 21,
593 XEmacs looks at the "erase" setting of TTY structures and maps C-h to
594 backspace when erase is set to C-h.  This is sort of a special hack,
595 but it makes it possible for you to use the standard:
596
597     stty erase ^H
598
599 to get your backspace key to erase characters.  The erase setting is
600 recorded in the Lisp variable `tty-erase-char', which you can use to
601 tune the settings in your .emacs.
602
603 A major drawback of this is that when C-h becomes backspace, it no
604 longer invokes help.  In that case, you need to use f1 for help, or
605 bind another key.  An example of the latter is the following code,
606 which moves help to Meta-? (ESC ?):
607
608     (global-set-key "\M-?" 'help-command)
609
610 *** Mail agents (VM, Gnus, rmail) cannot get new mail
611
612 rmail and VM get new mail from /usr/spool/mail/$USER using a program
613 called `movemail'.  This program interlocks with /bin/mail using the
614 protocol defined by /bin/mail.
615
616 There are two different protocols in general use.  One of them uses
617 the `flock' system call.  The other involves creating a lock file;
618 `movemail' must be able to write in /usr/spool/mail in order to do
619 this.  You control which one is used by defining, or not defining, the
620 macro MAIL_USE_FLOCK in config.h or the m- or s- file it includes.  IF
621 YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR SYSTEM,
622 YOU CAN LOSE MAIL!
623
624 If your system uses the lock file protocol, and fascist restrictions
625 prevent ordinary users from writing the lock files in /usr/spool/mail,
626 you may need to make `movemail' setgid to a suitable group such as
627 `mail'.  To do this, use the following commands (as root) after doing
628 the make install.
629
630         chgrp mail movemail
631         chmod 2755 movemail
632
633 Installation normally copies movemail from the build directory to an
634 installation directory which is usually under /usr/local/lib.  The
635 installed copy of movemail is usually in the directory
636 /usr/local/lib/emacs/VERSION/TARGET.  You must change the group and
637 mode of the installed copy; changing the group and mode of the build
638 directory copy is ineffective.
639
640 *** VM appears to hang in large folders.
641
642 This is normal (trust us) when upgrading to VM-6.22 from earlier
643 versions.  Let VM finish what it is doing and all will be well.
644
645 *** Changes made to .el files do not take effect.
646
647 You may have forgotten to recompile them into .elc files.  Then the
648 old .elc files will be loaded, and your changes will not be seen.  To
649 fix this, do `M-x byte-recompile-directory' and specify the directory
650 that contains the Lisp files.
651
652 Note that you will get a warning when loading a .elc file that is
653 older than the corresponding .el file.
654
655 *** Things which should be bold or italic (such as the initial
656 copyright notice) are not.
657
658 The fonts of the "bold" and "italic" faces are generated from the font
659 of the "default" face; in this way, your bold and italic fonts will
660 have the appropriate size and family.  However, emacs can only be
661 clever in this way if you have specified the default font using the
662 XLFD (X Logical Font Description) format, which looks like
663
664         *-courier-medium-r-*-*-*-120-*-*-*-*-*-*
665
666 if you use any of the other, less strict font name formats, some of
667 which look like:
668
669                 lucidasanstypewriter-12
670 and             fixed
671 and             9x13
672
673 then emacs won't be able to guess the names of the "bold" and "italic"
674 versions.  All X fonts can be referred to via XLFD-style names, so you
675 should use those forms.  See the man pages for X(1), xlsfonts(1), and
676 xfontsel(1).
677
678 *** The dumped Emacs crashes when run, trying to write pure data.
679
680 Two causes have been seen for such problems.
681
682 1) On a system where getpagesize is not a system call, it is defined
683 as a macro.  If the definition (in both unexec.c and malloc.c) is wrong,
684 it can cause problems like this.  You might be able to find the correct
685 value in the man page for a.out (5).
686
687 2) Some systems allocate variables declared static among the
688 initialized variables.  Emacs makes all initialized variables in most
689 of its files pure after dumping, but the variables declared static and
690 not initialized are not supposed to be pure.  On these systems you
691 may need to add "#define static" to the m- or the s- file.
692
693 *** Reading and writing files is very very slow.
694
695 Try evaluating the form (setq lock-directory nil) and see if that helps.
696 There is a problem with file-locking on some systems (possibly related
697 to NFS) that I don't understand.  Please send mail to the address 
698 xemacs@xemacs.org if you figure this one out.
699
700 *** When emacs starts up, I get lots of warnings about unknown keysyms.
701
702 If you are running the prebuilt binaries, the Motif library expects to find
703 certain thing in the XKeysymDB file.  This file is normally in /usr/lib/X11/
704 or in /usr/openwin/lib/.  If you keep yours in a different place, set the
705 environment variable $XKEYSYMDB to point to it before starting emacs.  If 
706 you still have the problem after doing that, perhaps your version of X is 
707 too old.  There is a copy of the MIT X11R5 XKeysymDB file in the emacs `etc'
708 directory.  Try using that one.
709
710 *** My X resources used to work, and now some of them are being ignored.
711
712 Check the resources in .../etc/Emacs.ad (which is the same as the file
713 sample.Xdefaults).  Perhaps some of the default resources built in to 
714 emacs are now overriding your existing resources.  Copy and edit the
715 resources in Emacs.ad as necessary.
716
717 *** I have focus problems when I use `M-o' to switch to another screen
718 without using the mouse.
719
720 The focus issues with a program like XEmacs, which has multiple
721 homogeneous top-level windows, are very complicated, and as a result,
722 most window managers don't implement them correctly.
723
724 The R4/R5 version of twm (and all of its descendants) had buggy focus
725 handling.  Sufficiently recent versions of tvtwm have been fixed.  In
726 addition, if you're using twm, make sure you have not specified
727 "NoTitleFocus" in your .tvtwmrc file.  The very nature of this option
728 makes twm do some illegal focus tricks, even with the patch.
729
730 It is known that olwm and olvwm are buggy, and in different ways.  If
731 you're using click-to-type mode, try using point-to-type, or vice
732 versa.
733
734 In older versions of NCDwm, one could not even type at XEmacs windows.
735 This has been fixed in newer versions (2.4.3, and possibly earlier).
736
737 (Many people suggest that XEmacs should warp the mouse when focusing
738 on another screen in point-to-type mode.  This is not ICCCM-compliant
739 behavior.  Implementing such policy is the responsibility of the
740 window manager itself, it is not legal for a client to do this.)
741
742 *** Emacs spontaneously displays "I-search: " at the bottom of the screen.
743
744 This means that Control-S/Control-Q (XON/XOFF) "flow control" is being
745 used.  C-s/C-q flow control is bad for Emacs editors because it takes
746 away C-s and C-q as user commands.  Since editors do not output long
747 streams of text without user commands, there is no need for a
748 user-issuable "stop output" command in an editor; therefore, a
749 properly designed flow control mechanism would transmit all possible
750 input characters without interference.  Designing such a mechanism is
751 easy, for a person with at least half a brain.
752
753 There are three possible reasons why flow control could be taking place:
754
755   1) Terminal has not been told to disable flow control
756   2) Insufficient padding for the terminal in use
757   3) Some sort of terminal concentrator or line switch is responsible
758
759 First of all, many terminals have a set-up mode which controls whether
760 they generate XON/XOFF flow control characters.  This must be set to
761 "no XON/XOFF" in order for Emacs to work.  Sometimes there is an
762 escape sequence that the computer can send to turn flow control off
763 and on.  If so, perhaps the termcap `ti' string should turn flow
764 control off, and the `te' string should turn it on.
765
766 Once the terminal has been told "no flow control", you may find it
767 needs more padding.  The amount of padding Emacs sends is controlled
768 by the termcap entry for the terminal in use, and by the output baud
769 rate as known by the kernel.  The shell command `stty' will print
770 your output baud rate; `stty' with suitable arguments will set it if
771 it is wrong.  Setting to a higher speed causes increased padding.  If
772 the results are wrong for the correct speed, there is probably a
773 problem in the termcap entry.  You must speak to a local Unix wizard
774 to fix this.  Perhaps you are just using the wrong terminal type.
775
776 For terminals that lack a "no flow control" mode, sometimes just
777 giving lots of padding will prevent actual generation of flow control
778 codes.  You might as well try it.
779
780 If you are really unlucky, your terminal is connected to the computer
781 through a concentrator which sends XON/XOFF flow control to the
782 computer, or it insists on sending flow control itself no matter how
783 much padding you give it.  Unless you can figure out how to turn flow
784 control off on this concentrator (again, refer to your local wizard),
785 you are screwed!  You should have the terminal or concentrator
786 replaced with a properly designed one.  In the mean time, some drastic
787 measures can make Emacs semi-work.
788
789 You can make Emacs ignore C-s and C-q and let the operating system
790 handle them.  To do this on a per-session basis, just type M-x
791 enable-flow-control RET.  You will see a message that C-\ and C-^ are
792 now translated to C-s and C-q.  (Use the same command M-x
793 enable-flow-control to turn *off* this special mode.  It toggles flow
794 control handling.)
795
796 If C-\ and C-^ are inconvenient for you (for example, if one of them
797 is the escape character of your terminal concentrator), you can choose
798 other characters by setting the variables flow-control-c-s-replacement
799 and flow-control-c-q-replacement.  But choose carefully, since all
800 other control characters are already used by emacs.
801
802 IMPORTANT: if you type C-s by accident while flow control is enabled,
803 Emacs output will freeze, and you will have to remember to type C-q in
804 order to continue.
805
806 If you work in an environment where a majority of terminals of a
807 certain type are flow control hobbled, you can use the function
808 `enable-flow-control-on' to turn on this flow control avoidance scheme
809 automatically.  Here is an example:
810
811 (enable-flow-control-on "vt200" "vt300" "vt101" "vt131")
812
813 If this isn't quite correct (e.g. you have a mixture of flow-control hobbled
814 and good vt200 terminals), you can still run enable-flow-control
815 manually.
816
817 I have no intention of ever redesigning the Emacs command set for the
818 assumption that terminals use C-s/C-q flow control.  XON/XOFF flow
819 control technique is a bad design, and terminals that need it are bad
820 merchandise and should not be purchased.  Now that X is becoming
821 widespread, XON/XOFF seems to be on the way out.  If you can get some
822 use out of GNU Emacs on inferior terminals, more power to you, but I
823 will not make Emacs worse for properly designed systems for the sake
824 of inferior systems.
825
826 *** Control-S and Control-Q commands are ignored completely.
827
828 For some reason, your system is using brain-damaged C-s/C-q flow
829 control despite Emacs's attempts to turn it off.  Perhaps your
830 terminal is connected to the computer through a concentrator
831 that wants to use flow control.
832
833 You should first try to tell the concentrator not to use flow control.
834 If you succeed in this, try making the terminal work without
835 flow control, as described in the preceding section.
836
837 If that line of approach is not successful, map some other characters
838 into C-s and C-q using keyboard-translate-table.  The example above
839 shows how to do this with C-^ and C-\.
840
841 *** Control-S and Control-Q commands are ignored completely on a net
842 connection.
843
844 Some versions of rlogin (and possibly telnet) do not pass flow
845 control characters to the remote system to which they connect.
846 On such systems, emacs on the remote system cannot disable flow
847 control on the local system.
848
849 One way to cure this is to disable flow control on the local host
850 (the one running rlogin, not the one running rlogind) using the
851 stty command, before starting the rlogin process.  On many systems,
852 `stty start u stop u' will do this.
853
854 Some versions of tcsh will prevent even this from working.  One way
855 around this is to start another shell before starting rlogin, and
856 issue the stty command to disable flow control from that shell.
857
858 If none of these methods work, the best solution is to type
859 `M-x enable-flow-control' at the beginning of your emacs session, or
860 if you expect the problem to continue, add a line such as the
861 following to your .emacs (on the host running rlogind):
862
863 (enable-flow-control-on "vt200" "vt300" "vt101" "vt131")
864
865 See the entry about spontaneous display of I-search (above) for more
866 info.
867
868 *** TTY redisplay is slow.
869
870 XEmacs has fairly new TTY redisplay support (beginning from 19.12),
871 which doesn't include some basic TTY optimizations -- like using
872 scrolling regions to move around blocks of text.  This is why
873 redisplay on the traditional terminals, or over slow lines can be very 
874 slow.
875
876 If you are interested in fixing this, please let us know at
877 <xemacs@xemacs.org>.
878
879 *** Screen is updated wrong, but only on one kind of terminal.
880
881 This could mean that the termcap entry you are using for that terminal
882 is wrong, or it could mean that Emacs has a bug handing the
883 combination of features specified for that terminal.
884
885 The first step in tracking this down is to record what characters
886 Emacs is sending to the terminal.  Execute the Lisp expression
887 (open-termscript "./emacs-script") to make Emacs write all terminal
888 output into the file ~/emacs-script as well; then do what makes the
889 screen update wrong, and look at the file and decode the characters
890 using the manual for the terminal.  There are several possibilities:
891
892 1) The characters sent are correct, according to the terminal manual.
893
894 In this case, there is no obvious bug in Emacs, and most likely you
895 need more padding, or possibly the terminal manual is wrong.
896
897 2) The characters sent are incorrect, due to an obscure aspect of the
898    terminal behavior not described in an obvious way by termcap.
899
900 This case is hard.  It will be necessary to think of a way for Emacs
901 to distinguish between terminals with this kind of behavior and other
902 terminals that behave subtly differently but are classified the same
903 by termcap; or else find an algorithm for Emacs to use that avoids the
904 difference.  Such changes must be tested on many kinds of terminals.
905
906 3) The termcap entry is wrong.
907
908 See the file etc/TERMS for information on changes that are known to be
909 needed in commonly used termcap entries for certain terminals.
910
911 4) The characters sent are incorrect, and clearly cannot be right for
912    any terminal with the termcap entry you were using.
913
914 This is unambiguously an Emacs bug, and can probably be fixed in
915 termcap.c, terminfo.c, tparam.c, cm.c, redisplay-tty.c,
916 redisplay-output.c, or redisplay.c.
917
918 *** My buffers are full of \000 characters or otherwise corrupt.
919
920 Some compilers have trouble with gmalloc.c and ralloc.c; try recompiling
921 without optimization.  If that doesn't work, try recompiling with
922 SYSTEM_MALLOC defined, and/or with REL_ALLOC undefined.
923
924 *** A position you specified in .Xdefaults is ignored, using twm.
925
926 twm normally ignores "program-specified" positions.
927 You can tell it to obey them with this command in your `.twmrc' file:
928
929   UsePPosition  "on"            #allow clents to request a position
930
931 *** With M-x enable-flow-control, you need to type C-\ twice to do
932 incremental search--a single C-\ gets no response.
933
934 This has been traced to communicating with your machine via kermit,
935 with C-\ as the kermit escape character.  One solution is to use
936 another escape character in kermit.  One user did
937
938    set escape-character 17
939
940 in his .kermrc file, to make C-q the kermit escape character.
941
942 *** The Motif version of Emacs paints the screen a solid color.
943
944 This has been observed to result from the following X resource:
945
946    Emacs*default.attributeFont: -*-courier-medium-r-*-*-*-140-*-*-*-*-iso8859-*
947
948 That the resource has this effect indicates a bug in something, but we
949 do not yet know what.  If it is an Emacs bug, we hope someone can
950 explain what the bug is so we can fix it.  In the mean time, removing
951 the resource prevents the problem.
952
953 *** After running emacs once, subsequent invocations crash.
954
955 Some versions of SVR4 have a serious bug in the implementation of the
956 mmap () system call in the kernel; this causes emacs to run correctly
957 the first time, and then crash when run a second time.
958
959 Contact your vendor and ask for the mmap bug fix; in the mean time,
960 you may be able to work around the problem by adding a line to your
961 operating system description file (whose name is reported by the
962 configure script) that reads:
963 #define SYSTEM_MALLOC
964 This makes Emacs use memory less efficiently, but seems to work around
965 the kernel bug.
966
967 *** Inability to send an Alt-modified key, when Emacs is communicating
968 directly with an X server.
969
970 If you have tried to bind an Alt-modified key as a command, and it
971 does not work to type the command, the first thing you should check is
972 whether the key is getting through to Emacs.  To do this, type C-h c
973 followed by the Alt-modified key.  C-h c should say what kind of event
974 it read.  If it says it read an Alt-modified key, then make sure you
975 have made the key binding correctly.
976
977 If C-h c reports an event that doesn't have the Alt modifier, it may
978 be because your X server has no key for the Alt modifier.  The X
979 server that comes from MIT does not set up the Alt modifier by
980 default.
981
982 If your keyboard has keys named Alt, you can enable them as follows:
983
984     xmodmap -e 'add mod2 = Alt_L'
985     xmodmap -e 'add mod2 = Alt_R'
986
987 If the keyboard has just one key named Alt, then only one of those
988 commands is needed.  The modifier `mod2' is a reasonable choice if you
989 are using an unmodified MIT version of X.  Otherwise, choose any
990 modifier bit not otherwise used.
991
992 If your keyboard does not have keys named Alt, you can use some other
993 keys.  Use the keysym command in xmodmap to turn a function key (or
994 some other 'spare' key) into Alt_L or into Alt_R, and then use the
995 commands show above to make them modifier keys.
996
997 Note that if you have Alt keys but no Meta keys, Emacs translates Alt
998 into Meta.  This is because of the great importance of Meta in Emacs.
999
1000 *** In Shell mode, you get a ^M at the end of every line.
1001
1002 This happens to people who use tcsh, because it is trying to be too
1003 smart.  It sees that the Shell uses terminal type `unknown' and turns
1004 on the flag to output ^M at the end of each line.  You can fix the
1005 problem by adding this to your .cshrc file:
1006
1007     if ($?EMACS) then
1008         if ($EMACS == "t") then
1009             unset edit 
1010             stty  -icrnl -onlcr -echo susp ^Z
1011         endif
1012     endif
1013
1014 *** An error message such as `X protocol error: BadMatch (invalid
1015 parameter attributes) on protocol request 93'.
1016
1017 This comes from having an invalid X resource, such as
1018    emacs*Cursor:   black
1019 (which is invalid because it specifies a color name for something
1020 that isn't a color.)
1021
1022 The fix is to correct your X resources.
1023
1024 *** Once you pull down a menu from the menubar, it won't go away.
1025
1026 It has been claimed that this is caused by a bug in certain very old
1027 (1990?)  versions of the twm window manager.  It doesn't happen with
1028 recent vintages, or with other window managers.
1029
1030 *** Emacs ignores the "help" key when running OLWM.
1031
1032 OLWM grabs the help key, and retransmits it to the appropriate client
1033 using XSendEvent.  Allowing emacs to react to synthetic events is a
1034 security hole, so this is turned off by default.  You can enable it by
1035 setting the variable x-allow-sendevents to t.  You can also cause fix
1036 this by telling OLWM to not grab the help key, with the null binding
1037 "OpenWindows.KeyboardCommand.Help:".
1038
1039 *** Programs running under terminal emulator do not recognize `emacs'
1040 terminal type.
1041
1042 The cause of this is a shell startup file that sets the TERMCAP
1043 environment variable.  The terminal emulator uses that variable to
1044 provide the information on the special terminal type that Emacs
1045 emulates.
1046
1047 Rewrite your shell startup file so that it does not change TERMCAP
1048 in such a case.  You could use the following conditional which sets
1049 it only if it is undefined.
1050
1051     if ( ! ${?TERMCAP} ) setenv TERMCAP ~/my-termcap-file
1052
1053 Or you could set TERMCAP only when you set TERM--which should not
1054 happen in a non-login shell.
1055
1056 *** The popup menu appears at the bottom/right of my screen.
1057
1058 You probably have something like the following in your ~/.Xdefaults
1059
1060         Emacs.geometry:         81x56--9--1
1061
1062 Use the following instead
1063
1064         Emacs*EmacsFrame.geometry:              81x56--9--1
1065
1066
1067 ** AIX
1068 *** Your Delete key sends a Backspace to the terminal, using an AIXterm.
1069
1070 The solution is to include in your .Xdefaults the lines:
1071
1072    *aixterm.Translations: #override <Key>BackSpace: string(0x7f)
1073    aixterm*ttyModes: erase ^?
1074
1075 This makes your Backspace key send DEL (ASCII 127).
1076
1077 *** On AIX 4, some programs fail when run in a Shell buffer
1078 with an error message like No terminfo entry for "unknown".
1079
1080 On AIX, many terminal type definitions are not installed by default.
1081 `unknown' is one of them.  Install the "Special Generic Terminal
1082 Definitions" to make them defined.
1083
1084 *** On AIX, you get this message when running Emacs:
1085
1086     Could not load program emacs
1087     Symbol smtcheckinit in csh is undefined
1088     Error was: Exec format error
1089
1090 or this one:
1091
1092     Could not load program .emacs
1093     Symbol _system_con in csh is undefined
1094     Symbol _fp_trapsta in csh is undefined
1095     Error was: Exec format error
1096
1097 These can happen when you try to run on AIX 3.2.5 a program that was
1098 compiled with 3.2.4.  The fix is to recompile.
1099
1100 *** Trouble using ptys on AIX.
1101
1102 People often install the pty devices on AIX incorrectly.
1103 Use `smit pty' to reinstall them properly.
1104
1105
1106 ** SunOS/Solaris
1107 *** The Emacs window disappears when you type M-q.
1108
1109 Some versions of the Open Look window manager interpret M-q as a quit
1110 command for whatever window you are typing at.  If you want to use
1111 Emacs with that window manager, you should try to configure the window
1112 manager to use some other command.   You can disable the
1113 shortcut keys entirely by adding this line to ~/.OWdefaults:
1114
1115     OpenWindows.WindowMenuAccelerators: False
1116
1117 *** When Emacs tries to ring the bell, you get an error like
1118
1119         audio: sst_open: SETQSIZE" Invalid argument
1120         audio: sst_close: SETREG MMR2, Invalid argument
1121
1122 you have probably compiled using an ANSI C compiler, but with non-ANSI
1123 include files.  In particular, on Suns, the file
1124 /usr/include/sun/audioio.h uses the _IOW macro to define the constant
1125 AUDIOSETQSIZE.  _IOW in turn uses a K&R preprocessor feature that is
1126 now explicitly forbidden in ANSI preprocessors, namely substitution
1127 inside character constants.  All ANSI C compilers must provide a
1128 workaround for this problem.  Lucid's C compiler is shipped with a new
1129 set of system include files.  If you are using GCC, there is a script
1130 called fixincludes that creates new versions of some system include
1131 files that use this obsolete feature.
1132
1133 *** On Solaris 2.6, XEmacs dumps core when exiting.
1134
1135 This happens if you're XEmacs is running on the same machine as the X
1136 server, and the optimized memory transport has been turned on by
1137 setting the environment variable XSUNTRANSPORT.  The crash occurs
1138 during the call to XCloseDisplay.
1139
1140 If this describes your situation, you need to undefine the
1141 XSUNTRANSPORT environment variable.
1142
1143 *** On Solaris, C-x doesn't get through to Emacs when you use the console.
1144
1145 This is a Solaris feature (at least on Intel x86 cpus).  Type C-r
1146 C-r C-t, to toggle whether C-x gets through to Emacs.
1147
1148 *** On Solaris 2.4, Dired hangs and C-g does not work.  Or Emacs hangs
1149 forever waiting for termination of a subprocess that is a zombie.
1150
1151 casper@fwi.uva.nl says the problem is in X11R6.  Rebuild libX11.so
1152 after changing the file xc/config/cf/sunLib.tmpl.  Change the lines
1153
1154     #if ThreadedX
1155     #define SharedX11Reqs -lthread
1156     #endif
1157
1158 to:
1159
1160     #if OSMinorVersion < 4
1161     #if ThreadedX
1162     #define SharedX11Reqs -lthread
1163     #endif
1164     #endif
1165
1166 Be sure also to edit x/config/cf/sun.cf so that OSMinorVersion is 4
1167 (as it should be for Solaris 2.4).  The file has three definitions for
1168 OSMinorVersion: the first is for x86, the second for SPARC under
1169 Solaris, and the third for SunOS 4.  Make sure to update the
1170 definition for your type of machine and system.
1171
1172 Then do `make Everything' in the top directory of X11R6, to rebuild
1173 the makefiles and rebuild X.  The X built this way work only on
1174 Solaris 2.4, not on 2.3.
1175
1176 For multithreaded X to work it necessary to install patch
1177 101925-02 to fix problems in header files [2.4].  You need
1178 to reinstall gcc or re-run just-fixinc after installing that
1179 patch.
1180
1181 However, Frank Rust <frust@iti.cs.tu-bs.de> used a simpler solution:
1182 he changed
1183     #define ThreadedX          YES
1184 to
1185     #define ThreadedX          NO
1186 in sun.cf and did `make World' to rebuild X11R6.  Removing all
1187 `-DXTHREAD*' flags and `-lthread' entries from lib/X11/Makefile and
1188 typing 'make install' in that directory also seemed to work.
1189
1190 *** On SunOS 4.1.3, Emacs unpredictably crashes in _yp_dobind_soft.
1191
1192 This happens if you configure Emacs specifying just `sparc-sun-sunos4'
1193 on a system that is version 4.1.3.  You must specify the precise
1194 version number (or let configure figure out the configuration, which
1195 it can do perfectly well for SunOS).
1196
1197 *** Mail is lost when sent to local aliases.
1198
1199 Many emacs mail user agents (VM and rmail, for instance) use the
1200 sendmail.el library.  This library can arrange for mail to be
1201 delivered by passing messages to the /usr/lib/sendmail (usually)
1202 program .  In doing so, it passes the '-t' flag to sendmail, which
1203 means that the name of the recipient of the message is not on the
1204 command line and, therefore, that sendmail must parse the message to
1205 obtain the destination address.
1206
1207 There is a bug in the SunOS4.1.1 and SunOS4.1.3 versions of sendmail.
1208 In short, when given the -t flag, the SunOS sendmail won't recognize
1209 non-local (i.e. NIS) aliases.  It has been reported that the Solaris
1210 2.x versions of sendmail do not have this bug.  For those using SunOS
1211 4.1, the best fix is to install sendmail V8 or IDA sendmail (which
1212 have other advantages over the regular sendmail as well).  At the time
1213 of this writing, these official versions are available:
1214
1215  Sendmail V8 on ftp.cs.berkeley.edu in /ucb/sendmail:
1216    sendmail.8.6.9.base.tar.Z (the base system source & documentation)
1217    sendmail.8.6.9.cf.tar.Z   (configuration files)
1218    sendmail.8.6.9.misc.tar.Z (miscellaneous support programs)
1219    sendmail.8.6.9.xdoc.tar.Z (extended documentation, with postscript)
1220
1221  IDA sendmail on vixen.cso.uiuc.edu in /pub:
1222    sendmail-5.67b+IDA-1.5.tar.gz
1223
1224 *** Emacs fails to understand most Internet host names, even though
1225 the names work properly with other programs on the same system.
1226   Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.
1227   Gnus can't make contact with the specified host for nntp.
1228
1229 This typically happens on Suns and other systems that use shared
1230 libraries.  The cause is that the site has installed a version of the
1231 shared library which uses a name server--but has not installed a
1232 similar version of the unshared library which Emacs uses.
1233
1234 The result is that most programs, using the shared library, work with
1235 the nameserver, but Emacs does not.
1236
1237 The fix is to install an unshared library that corresponds to what you
1238 installed in the shared library, and then relink Emacs.
1239
1240 On SunOS 4.1, simply define HAVE_RES_INIT.
1241
1242 If you have already installed the name resolver in the file libresolv.a,
1243 then you need to compile Emacs to use that library.  The easiest way to
1244 do this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINE
1245 or LIB_STANDARD which uses -lresolv.  Watch out!  If you redefine a macro
1246 that is already in use in your configuration to supply some other libraries,
1247 be careful not to lose the others.
1248
1249 Thus, you could start by adding this to config.h:
1250
1251 #define LIBS_SYSTEM -lresolv
1252
1253 Then if this gives you an error for redefining a macro, and you see that
1254 the s- file defines LIBS_SYSTEM as -lfoo -lbar, you could change config.h
1255 again to say this:
1256
1257 #define LIBS_SYSTEM -lresolv -lfoo -lbar
1258
1259 *** With process-connection-type set to t, each line of subprocess
1260 output is terminated with a ^M, making ange-ftp and GNUS not work.
1261
1262 On SunOS systems, this problem has been seen to be a result of an
1263 incomplete installation of gcc 2.2 which allowed some non-ANSI
1264 compatible include files into the compilation.  In particular this
1265 affected virtually all ioctl() calls.
1266
1267
1268 ** Linux
1269 *** Mandrake
1270
1271 The Mandrake Linux distribution is attempting to comprehensively
1272 update the user interface, and make it consistent across
1273 applications.  This is very difficult, and will occasionally cause
1274 conflicts with applications like Emacs with their own long-established
1275 interfaces.  Known issues specific to Mandrake or especially common:
1276
1277 Some versions of XEmacs (21.1.9 is known) distributed with Mandrake
1278 were patched to make the Meta and Alt keysyms synonymous.  These
1279 normally work as expected in the Mandrake environment.  However,
1280 custom-built XEmacsen (including all 21.2 betas) will "inexplicably"
1281 not respect the "Alt-invokes-Meta-commands" convention.  See "I want
1282 XEmacs to use the Alt key" below.
1283
1284 The color-gcc wrapper (see below) is in common use on the Mandrake
1285 platform.
1286
1287 *** I want XEmacs to use the Alt key, not the XXX key, for Meta commands
1288
1289 For historical reasons, XEmacs looks for a Meta key, then an Alt key.
1290 It binds Meta commands to the X11 modifier bit attached to the first
1291 of these it finds.  On PCs, the Windows key is often assigned the Meta
1292 bit, but many desktop environments go to great lengths to get all apps
1293 to use the Alt key, and reserve the Windows key to (sensibly enough)
1294 the window manager.
1295
1296 One correct way to implement this was suggested on comp.emacs.xemacs
1297 (by Kilian Foth and in more detail by Michael Piotrowski): unmap the
1298 Meta modifier using xmodmap or xkb, and then map the Meta/Windows key
1299 to the Super or Hyper keysym and an appropriate mod bit.  XEmacs will
1300 not find the Meta keysym, and default to using the Alt key for Meta
1301 keybindings.  Typically few applications use the (X11) Meta modifier;
1302 it is tedious but not too much so to teach the ones you need to use
1303 Super instead of Meta.  There may be further useful hints in the
1304 discussion of keymapping on non-Linux platforms.
1305
1306 *** The color-gcc wrapper
1307
1308 This wrapper colorizes the error messages from gcc.  By default XEmacs
1309 does not interpret the escape sequences used to generate colors,
1310 resulting in a cluttered, hard-to-read buffer.  You can remove the
1311 wrapper, or defeat the wrapper colorization in Emacs process buffers
1312 by editing the "nocolor" attribute in /etc/colorgccrc:
1313
1314 $ diff -u /etc/colorgccrc.old /etc/colorgccrc
1315 --- /etc/colorgccrc.old Tue Dec 26 02:17:46 2000
1316 +++ /etc/colorgccrc     Tue Dec 26 02:15:48 2000
1317 @@ -34,1 +34,1 @@
1318 -nocolor: dumb
1319 +nocolor: dumb emacs
1320
1321 If you want colorization in your Emacs buffers, you may get good
1322 results from the ansi-color.el library:
1323
1324 http://www.geocities.com/kensanata/color-emacs.html#ansicolors
1325
1326 This is written for the mainline GNU Emacs but the author has made
1327 efforts to adapt it to XEmacs.  YMMV.
1328
1329 *** You get crashes in a non-C locale with Linux GNU Libc 2.0.
1330
1331 Internationalization was not the top priority for GNU Libc 2.0.
1332 As of this writing (1998-12-28) you may get crashes while running
1333 XEmacs in a non-C locale.  For example, `LC_ALL=en_US xemacs' crashes
1334 while `LC_ALL=C xemacs' runs fine.  This happens for example with GNU
1335 libc 2.0.7.  Installing libintl.a and libintl.h built from gettext
1336 0.10.35 and re-building XEmacs solves the crashes.  Presumably soon 
1337 everyone will upgrade to GNU Libc 2.1 and this problem will go away.
1338
1339 *** `C-z', or `M-x suspend-emacs' hangs instead of suspending.
1340
1341 If you build with `gpm' support on Linux, you cannot suspend XEmacs
1342 because gpm installs a buggy SIGTSTP handler.  Either compile with
1343 `--with-gpm=no', or don't suspend XEmacs on the Linux console until
1344 this bug is fixed.
1345
1346 *** With certain fonts, when the cursor appears on a character, the
1347 character doesn't appear--you get a solid box instead.
1348
1349 One user on a Linux system reported that this problem went away with
1350 installation of a new X server.  The failing server was XFree86 3.1.1.
1351 XFree86 3.1.2 works.
1352
1353 *** Slow startup on Linux.
1354
1355 People using systems based on the Linux kernel sometimes report that
1356 startup takes 10 to 15 seconds longer than `usual'.  There are two
1357 problems, one older, one newer.
1358
1359 **** Old problem: IPv4 host lookup
1360
1361 On older systems, this is because Emacs looks up the host name when it
1362 starts.  Normally, this takes negligible time; the extra delay is due
1363 to improper system configuration.  (Recent Linux distros usually have
1364 this configuration correct "out of the box".)  This problem can occur
1365 for both networked and non-networked machines.
1366
1367 Here is how to fix the configuration.  It requires being root.
1368
1369 ***** Networked Case
1370
1371 First, make sure the files `/etc/hosts' and `/etc/host.conf' both
1372 exist.  The first line in the `/etc/hosts' file should look like this
1373 (replace HOSTNAME with your host name):
1374
1375     127.0.0.1      localhost HOSTNAME
1376
1377 Also make sure that the `/etc/host.conf' files contains the following
1378 lines:
1379
1380     order hosts, bind 
1381     multi on
1382
1383 Any changes, permanent and temporary, to the host name should be
1384 indicated in the `/etc/hosts' file, since it acts a limited local
1385 database of addresses and names (e.g., some SLIP connections
1386 dynamically allocate ip addresses).
1387
1388 ***** Non-Networked Case
1389
1390 The solution described in the networked case applies here as well.
1391 However, if you never intend to network your machine, you can use a
1392 simpler solution: create an empty `/etc/host.conf' file.  The command
1393 `touch /etc/host.conf' suffices to create the file.  The `/etc/hosts'
1394 file is not necessary with this approach.
1395
1396 **** New problem: IPv6 CNAME lookup
1397
1398 A newer problem is due to XEmacs changing to use the modern
1399 getaddrinfo() interface from the older gethostbyname() interface.  The
1400 solution above is insufficient, because getaddrinfo() by default tries
1401 to get IPv6 information for localhost.  This always involves a dns
1402 lookup to get the CNAME, and the strategies above don't work.  It then
1403 falls back to IPv4 behavior.  This is good[tm]; trust us.
1404
1405 ***** Robust network case
1406
1407 Configure your network so that there are no nameservers configured
1408 until the network is actually running.  getaddrinfo() will not try to
1409 access a nameserver that isn't configured.
1410
1411 ***** Flaky network case
1412
1413 If you have a flaky modem or DSL connection that can be relied on only
1414 to go down whenever you want to bring XEmacs up, you need to force
1415 IPv4 behavior.  Explicitly setting DISPLAY=127.0.0.1:0.0 (or whatever
1416 is appropriate) works in most cases.
1417
1418 If you cannot or do not want to do that, you can hard code IPv4
1419 behavior in src/process-unix.c.  This is bad[tm], on your own head be
1420 it.  In the function unix_canonicalize_host_name() about ten lines
1421 down, change the statement
1422
1423   hints.ai_family = AF_UNSPEC;
1424
1425 to
1426
1427   hints.ai_family = PF_INET;
1428
1429 and rebuild XEmacs.
1430
1431 getaddrinfo() is also called in src/sysdep.c:init_system_name() and in
1432 src/process-unix.c:unix_open_network_stream().  It should not be
1433 useful to make this change in either of those places.
1434
1435
1436 ** IRIX
1437 *** On Irix, I don't see the toolbar icons and I'm getting lots of
1438 entries in the warnings buffer.
1439
1440 SGI ships a really old Xpm library in /usr/lib which does not work at
1441 all well with XEmacs.  The solution is to install your own copy of the
1442 latest version of Xpm somewhere and then use the --site-includes and
1443 --site-libraries flags to tell configure where to find it.
1444
1445 *** Trouble using ptys on IRIX, or running out of ptys.
1446
1447 The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to
1448 be set-UID to root, or non-root programs like Emacs will not be able
1449 to allocate ptys reliably.
1450
1451 *** Motif dialog boxes lose on Irix.
1452
1453 Larry Auton <lda@control.att.com> writes:
1454 Beware of not specifying
1455
1456         --with-dialogs=athena
1457
1458 if it builds with the motif dialogs [boom!] you're a dead man.
1459
1460 *** Beware of the default image & graphics library on Irix
1461
1462 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
1463
1464 You *have* to compile your own jpeg lib. The one delivered with SGI
1465 systems is a C++ lib, which apparently XEmacs cannot cope with.
1466
1467
1468 ** Digital UNIX/OSF/VMS/Ultrix
1469 *** XEmacs crashes on Digital Unix within font-lock, or when dealing
1470 with large compilation buffers.
1471
1472 The default stack size under Digital Unix is rather small (2M as
1473 opposed to Solaris 8M), hosing the regexp code, which uses alloca()
1474 extensively, overflowing the stack when complex regexps are used.
1475 Workarounds:
1476
1477 1) Increase your stack size, using `ulimit -s 8192' or a (t)csh
1478    equivalent;
1479
1480 2) Recompile regex.c with REGEX_MALLOC defined.
1481
1482 *** The `Alt' key doesn't behave as `Meta' when running DECwindows.
1483
1484 The default DEC keyboard mapping has the Alt keys set up to generate the
1485 keysym `Multi_key', which has a meaning to xemacs which is distinct from that
1486 of the `Meta_L' and `Meta-R' keysyms.  A second problem is that certain keys
1487 have the Mod2 modifier attached to them for no adequately explored reason.
1488 The correct fix is to pass this file to xmodmap upon starting X:
1489
1490         clear mod2
1491         keysym Multi_key = Alt_L
1492         add mod1 = Alt_L
1493         add mod1 = Alt_R
1494
1495 *** The Compose key on a DEC keyboard does not work as Meta key.
1496
1497 This shell command should fix it:
1498
1499   xmodmap -e 'keycode 0xb1 = Meta_L'
1500
1501 *** `expand-file-name' fails to work on any but the machine you dumped
1502 Emacs on.
1503
1504 On Ultrix, if you use any of the functions which look up information
1505 in the passwd database before dumping Emacs (say, by using
1506 expand-file-name in site-init.el), then those functions will not work
1507 in the dumped Emacs on any host but the one Emacs was dumped on.
1508
1509 The solution?  Don't use expand-file-name in site-init.el, or in
1510 anything it loads.  Yuck - some solution.
1511
1512 I'm not sure why this happens; if you can find out exactly what is
1513 going on, and perhaps find a fix or a workaround, please let us know.
1514 Perhaps the YP functions cache some information, the cache is included
1515 in the dumped Emacs, and is then inaccurate on any other host.
1516
1517
1518 ** HP-UX
1519 *** I get complaints about the mapping of my HP keyboard at startup,
1520 but I haven't changed anything.
1521
1522 The default HP keymap is set up to have Mod1 assigned to two different keys:
1523 Meta_L and Mode_switch (even though there is not actually a Mode_switch key on
1524 the keyboard -- it uses an "imaginary" keycode.)  There actually is a reason
1525 for this, but it's not a good one.  The correct fix is to execute this command
1526 upon starting X:
1527
1528         xmodmap -e 'remove mod1 = Mode_switch'
1529
1530 *** On HP-UX, you get "poll: Interrupted system call" message in the
1531 window where XEmacs was launched.
1532
1533 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
1534
1535   I get a very strange problem when linking libc.a dynamically: every
1536   event (mouse, keyboard, expose...) results in a "poll: Interrupted
1537   system call" message in the window where XEmacs was
1538   launched. Forcing a static link of libc.a alone by adding
1539   /usr/lib/libc.a at the end of the link line solves this. Note that
1540   my 9.07 build of 19.14b17 and my (old) build of 19.13 both exhibit
1541   the same behavior. I've tried various hpux patches to no avail. If
1542   this problem cannot be solved before the release date, binary kits
1543   for HP *must* be linked statically against libc, otherwise this
1544   problem will show up. (This is directed at whoever will volunteer
1545   for this kit, as I won't be available to do it, unless 19.14 gets
1546   delayed until mid-june ;-). I think this problem will be an FAQ soon
1547   after the release otherwise.
1548
1549 Note: The above entry is probably not valid for XEmacs 21.0 and
1550 later.
1551
1552 *** The right Alt key works wrong on German HP keyboards (and perhaps
1553    other non-English HP keyboards too).
1554
1555 This is because HP-UX defines the modifiers wrong in X.  Here is a
1556 shell script to fix the problem; be sure that it is run after VUE
1557 configures the X server.
1558
1559     xmodmap 2> /dev/null - << EOF
1560     keysym Alt_L = Meta_L
1561     keysym Alt_R = Meta_R
1562     EOF
1563
1564     xmodmap - << EOF
1565     clear mod1
1566     keysym Mode_switch = NoSymbol
1567     add mod1 = Meta_L
1568     keysym Meta_R = Mode_switch
1569     add mod2 = Mode_switch
1570     EOF
1571
1572
1573 *** XEmacs dumps core at startup when native audio is used.  Native
1574 audio does not work with recent versions of HP-UX.
1575
1576 Under HP-UX 10.20 and later (e.g., HP-UX 11.XX), with native audio
1577 enabled, the dumped XEmacs binary ("xemacs") core dumps at startup if
1578 recent versions of the libAlib.sl audio shared library is used.  Note
1579 that "temacs" will run, but "xemacs" will dump core.  This, of course,
1580 causes the XEmacs build to fail.  If GNU malloc is enabled, a stack
1581 trace will show XEmacs to have crashed in the "first" call to malloc().
1582
1583 This bug currently exists in all versions of XEmacs, when the undump
1584 mechanism is used.  It is not known if using the experimental portable
1585 dumper will allow native audio to work.
1586
1587 **** Cause:
1588
1589 Recent versions of the HP-UX 10.20 (and later) audio shared library (in
1590 /opt/audio/lib), pulls in the libdce shared library, which pulls in a
1591 thread (libcma) library.  This prevents the HP-UX undump() routine (in
1592 unexhp9k800.c) from properly working.  What's happening is that some
1593 initialization routines are being called in the libcma library, *BEFORE*
1594 main() is called, and these initialization routines are calling
1595 malloc().  Unfortunately, in order for the undumper to work, XEmacs must
1596 adjust (move upwards) the sbrk() value *BEFORE* the first call to
1597 malloc(); if malloc() is called before XEmacs has properly adjusted sbrk
1598 (which is what is happening), dumped memory that is being used by
1599 XEmacs, is improperly re-allocated for use by malloc() and the dumped
1600 memory is corrupted.  This causes XEmacs to die an horrible death.
1601
1602 It is believed that versions of the audio library past December 1998
1603 will trigger this problem.  Under HP-UX 10.20, you probably have to
1604 install audio library patches to encounter this.  It's probable that
1605 recent "fresh, out-of-the-box" HP-UX 11.XX workstations also have this
1606 problem.  For HP-UX 10.20, it's believed that audio patch PHSS_17121 (or
1607 a superceeding one, like PHSS_17554, PHSS_17971, PHSS_18777, PHSS_21481,
1608 or PHSS_21662, etc.) will trigger this.
1609
1610 To check if your audio library will cause problems for XEmacs, run
1611 "chatr /opt/audio/lib/libAlib.sl".  If "libdce" appears in the displayed
1612 shared library list, XEmacs will probably encounter problems if audio is
1613 enabled.
1614
1615 **** Workaround:
1616
1617 Don't enable native audio.  Re-run configure without native audio
1618 support.
1619
1620 If your site supports it, try using NAS (Network Audio Support).
1621
1622 Try using the experimental portable dumper.  It may work, or it may
1623 not.
1624
1625
1626 *** `Pid xxx killed due to text modification or page I/O error'
1627
1628 On HP-UX, you can get that error when the Emacs executable is on an NFS
1629 file system.  HP-UX responds this way if it tries to swap in a page and
1630 does not get a response from the server within a timeout whose default
1631 value is just ten seconds.
1632
1633 If this happens to you, extend the timeout period.
1634
1635 *** Shell mode on HP-UX gives the message, "`tty`: Ambiguous".
1636
1637 christos@theory.tn.cornell.edu says:
1638
1639 The problem is that in your .cshrc you have something that tries to
1640 execute `tty`. If you are not running the shell on a real tty then tty
1641 will print "not a tty". Csh expects one word in some places, but tty
1642 is giving it back 3.
1643
1644 The solution is to add a pair of quotes around `tty` to make it a
1645 single word:
1646
1647 if (`tty` == "/dev/console") 
1648
1649 should be changed to:
1650
1651 if ("`tty`" == "/dev/console") 
1652
1653 Even better, move things that set up terminal sections out of .cshrc
1654 and into .login.
1655
1656
1657 ** SCO
1658 *** Regular expressions matching bugs on SCO systems.
1659
1660 On SCO, there are problems in regexp matching when Emacs is compiled
1661 with the system compiler.  The compiler version is "Microsoft C
1662 version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; Quick
1663 C Compiler Version 1.00.46 (Beta).  The solution is to compile with
1664 GCC.
1665
1666
1667 ** Windows
1668 *** Emacs exits with "X protocol error" when run with an X server for
1669 Windows.
1670
1671 A certain X server for Windows had a bug which caused this.
1672 Supposedly the newer 32-bit version of this server doesn't have the
1673 problem.
1674
1675
1676
1677 * Compatibility problems (with Emacs 18, GNU Emacs, or previous XEmacs/lemacs)
1678 ==============================================================================
1679
1680 *** "Symbol's value as variable is void: unread-command-char".
1681  "Wrong type argument: arrayp, #<keymap 143 entries>"
1682  "Wrong type argument: stringp, [#<keypress-event return>]"
1683
1684 There are a few incompatible changes in XEmacs, and these are the
1685 symptoms.  Some of the emacs-lisp code you are running needs to be
1686 updated to be compatible with XEmacs.
1687
1688 The code should not treat keymaps as arrays (use `define-key', etc.),
1689 should not use obsolete variables like `unread-command-char' (use
1690 `unread-command-events').  Many (most) of the new ways of doing things
1691 are compatible in GNU Emacs and XEmacs.
1692
1693 Modern Emacs packages (Gnus, VM, W3, efs, etc) are written to support
1694 GNU Emacs and XEmacs.  We have provided modified versions of several
1695 popular emacs packages (dired, etc) which are compatible with this
1696 version of emacs.  Check to make sure you have not set your load-path
1697 so that your private copies of these packages are being found before
1698 the versions in the lisp directory.
1699
1700 Make sure that your load-path and your $EMACSLOADPATH environment
1701 variable are not pointing at an Emacs18 lisp directory.  This will
1702 cripple emacs.
1703
1704 ** Some packages that worked before now cause the error
1705 Wrong type argument: arrayp, #<face ... >
1706
1707 Code which uses the `face' accessor functions must be recompiled with
1708 xemacs 19.9 or later.  The functions whose callers must be recompiled
1709 are: face-font, face-foreground, face-background,
1710 face-background-pixmap, and face-underline-p.  The .elc files
1711 generated by version 19.9 will work in 19.6 and 19.8, but older .elc
1712 files which contain calls to these functions will not work in 19.9.
1713
1714 ** Signaling: (error "Byte code stack underflow (byte compiler bug), pc 38")
1715
1716 This error is given when XEmacs 20 is compiled without MULE support
1717 but is attempting to load a .elc which requires MULE support.  The fix
1718 is to rebytecompile the offending file.
1719
1720 ** Signaling: (wrong-type-argument ...) when loading mail-abbrevs
1721
1722 The is seen when installing the Insidious Big Brother Data Base (bbdb)
1723 which includes an outdated copy of mail-abbrevs.el.  Remove the copy
1724 that comes with bbdb and use the one that comes with XEmacs.
1725
1726
1727 * MULE issues
1728 =============
1729
1730 ** A reminder: XEmacs/Mule work does not currently receive *any*
1731 funding, and all work is done by volunteers.  If you think you can
1732 help, please contact the XEmacs maintainers.
1733
1734 ** XEmacs/Mule doesn't support TTY's satisfactorily.
1735
1736 This is a major problem, which we plan to address in a future release
1737 of XEmacs.  Basically, XEmacs should have primitives to be told
1738 whether the terminal can handle international output, and which
1739 locale.  Also, it should be able to do approximations of characters to
1740 the nearest supported by the locale.
1741
1742 ** Internationalized (Asian) Isearch doesn't work.
1743
1744 Currently, Isearch doesn't directly support any of the input methods
1745 that are not XIM based (like egg, canna and quail) (and there are
1746 potential problems with XIM version too...).  If you're using egg
1747 there is a workaround.  Hitting <RET> right after C-s to invoke
1748 Isearch will put Isearch in string mode, where a complete string can
1749 be typed into the minibuffer and then processed by Isearch afterwards.
1750 Since egg is now supported in the minibuffer using string mode you can
1751 now use egg to input your Japanese, Korean or Chinese string, then hit
1752 return to send that to Isearch and then use standard Isearch commands
1753 from there.
1754
1755 ** Using egg and mousing around while in 'fence' mode screws up my
1756 buffer.
1757
1758 Don't do this. The fence modes of egg and canna are currently very
1759 modal, and messing with where they expect point to be and what they
1760 think is the current buffer is just asking for trouble. If you're
1761 lucky they will realize that something is awry, and simply delete the
1762 fence, but worst case can trash other buffers too. We've tried to
1763 protect against this where we can, but there still are many ways to
1764 shoot yourself in the foot. So just finish what you are typing into
1765 the fence before reaching for the mouse.
1766
1767 ** Not all languages in Quail are supported like Devanagari and Indian
1768 languages, Lao and Tibetan.
1769
1770 Quail requires more work and testing.  Although it has been ported to
1771 XEmacs, it works really well for Japanese and for the European
1772 languages.
1773
1774 ** Right-to-left mode is not yet implemented, so languages like
1775 Arabic, Hebrew and Thai don't work.
1776
1777 Getting this right requires more work.  It may be implemented in a
1778 future XEmacs version, but don't hold your breath.  If you know
1779 someone who is ready to implement this, please let us know.
1780
1781 ** We need more developers and native language testers.  It's extremely
1782 difficult (and not particularly productive) to address languages that
1783 nobody is using and testing.
1784
1785 ** The kWnn and cWnn support for Chinese and Korean needs developers
1786 and testers.  It probably doesn't work.
1787
1788 ** There are no `native XEmacs' TUTORIALs for any Asian languages,
1789 including Japanese.  FSF Emacs and XEmacs tutorials are quite similar, 
1790 so it should be sufficient to skim through the differences and apply
1791 them to the Japanese version.
1792
1793 ** We only have localized menus translated for Japanese, and the
1794 Japanese menus are developing bitrot (the Mule menu appears in
1795 English).
1796
1797 ** XIM is untested for any language other than Japanese.