comparison PROBLEMS @ 197:acd284d43ca1 r20-3b25

Import from CVS: tag r20-3b25
author cvs
date Mon, 13 Aug 2007 10:00:02 +0200
parents 0132846995bd
children 850242ba4a81
comparison
equal deleted inserted replaced
196:58e0786448ca 197:acd284d43ca1
1 -*- mode:outline; minor-mode:outl-mouse -*- 1 -*- mode:outline; minor-mode:outl-mouse -*-
2 This file describes various problems that have been encountered 2 This file describes various problems that have been encountered
3 in compiling, installing and running XEmacs. 3 in compiling, installing and running XEmacs. It has been updated for
4 XEmacs 20.3.
4 5
5 This file is large, but we have tried to sort the entries by their 6 This file is large, but we have tried to sort the entries by their
6 respective relevance for XEmacs, but may have not succeeded completely 7 respective relevance for XEmacs, but may have not succeeded completely
7 in that task. Try finding the things you need using one of the search 8 in that task. The file is divided into four parts:
8 commands XEmacs provides (e.g. `C-s'). 9
9 10 - Problems with building XEmacs
10 (updated for 20.2) 11 - Problems with running XEmacs
11 12 - Compatibility problems
12 * Watch out for .emacs file 13 - Mule issues
13 14
14 ~/.emacs is your Emacs init file. If you observe strange problems, 15 Use `C-c C-f' to move to the next equal level of outline, and
15 invoke XEmacs with the `-q' option and see if you can repeat the 16 `C-c C-f' to move to previous equal level. `C-h m' will give more
16 problem. 17 advice about the Outline mode.
18
19 Also, Try finding the things you need using one of the search commands
20 XEmacs provides (e.g. `C-s').
21
22 A general advice:
23 WATCH OUT for .emacs file! ~/.emacs is your Emacs init file. If
24 you observe strange problems, invoke XEmacs with the `-q' option
25 and see if you can repeat the problem.
26
17 27
18 * Problems with building XEmacs 28 * Problems with building XEmacs
19 29 ===============================
20 ** The compiler generates lots and lots of syntax errors.
21
22 Are you using an ANSI C compiler, like lcc or gcc? The SunOS 4.1 bundled cc
23 is not ANSI.
24
25 If X has not been configured to compile itself using lcc, gcc, or another ANSI
26 compiler, then you will have to hack the automatically-generated makefile in
27 the `lwlib' directory by hand to make it use an ANSI compiler.
28
29 ** test-distrib says that the distribution has been clobbered
30 ** or, temacs prints "Command key out of range 0-127"
31 ** or, temacs runs and dumps xemacs, but xemacs totally fails to work.
32 ** or, temacs gets errors dumping xemacs
33
34 This can be because the .elc files have been garbled. Do not be
35 fooled by the fact that most of a .elc file is text: these are
36 binary files and can contain all 256 byte values.
37
38 In particular `shar' cannot be used for transmitting GNU Emacs.
39 It typically truncates "lines". What appear to be "lines" in
40 a binary file can of course be of any length. Even once `shar'
41 itself is made to work correctly, `sh' discards null characters
42 when unpacking the shell archive.
43
44 I have also seen character \177 changed into \377. I do not know
45 what transfer means caused this problem. Various network
46 file transfer programs are suspected of clobbering the high bit.
47
48 If you have a copy of Emacs that has been damaged in its
49 nonprinting characters, you can fix them:
50
51 1) Record the names of all the .elc files.
52 2) Delete all the .elc files.
53 3) Recompile alloc.c with a value of PURESIZE twice as large.
54 You might as well save the old alloc.o.
55 4) Remake xemacs. It should work now.
56 5) Running xemacs, do Meta-x byte-compile-file repeatedly
57 to recreate all the .elc files that used to exist.
58 You may need to increase the value of the variable
59 max-lisp-eval-depth to succeed in running the compiler interpreted
60 on certain .el files. 400 was sufficient as of last report.
61 6) Reinstall the old alloc.o (undoing changes to alloc.c if any)
62 and remake temacs.
63 7) Remake xemacs. It should work now, with valid .elc files.
64
65 ** temacs prints "Pure Lisp storage exhausted"
66
67 This means that the Lisp code loaded from the .elc and .el
68 files during temacs -l loadup inc dump took up more
69 space than was allocated.
70
71 This could be caused by
72 1) adding code to the preloaded Lisp files
73 2) adding more preloaded files in loadup.el
74 3) having a site-init.el or site-load.el which loads files.
75 Note that ANY site-init.el or site-load.el is nonstandard;
76 if you have received Emacs from some other site
77 and it contains a site-init.el or site-load.el file, consider
78 deleting that file.
79 4) getting the wrong .el or .elc files
80 (not from the directory you expected).
81 5) deleting some .elc files that are supposed to exist.
82 This would cause the source files (.el files) to be
83 loaded instead. They take up more room, so you lose.
84 6) a bug in the Emacs distribution which underestimates
85 the space required.
86
87 If the need for more space is legitimate, use the --puresize option
88 to `configure' to specify more pure space.
89
90 But in some of the cases listed above, this problem is a consequence
91 of something else that is wrong. Be sure to check and fix the real
92 problem.
93 30
94 ** Don't use -O2 with gcc 2.7.2 under Linux without also using 31 ** Don't use -O2 with gcc 2.7.2 under Linux without also using
95 `-fno-strength-reduce'. 32 `-fno-strength-reduce'.
96 33
97 gcc will generate incorrect code otherwise. This bug is present in at 34 gcc will generate incorrect code otherwise. This bug is present in at
98 least 2.6.x and 2.7.[0-2]. This bug has been fixed in GCC 2.7.2.1 and 35 least 2.6.x and 2.7.[0-2]. This bug has been fixed in GCC 2.7.2.1 and
99 later. 36 later.
100 37
101 ** `Error: No ExtNode to pop!' on Linux systems with Lesstif.
102
103 This error message has been observed with lesstif-0.75a. It does not
104 appear to cause any harm.
105
106 ** Movemail on Linux doesn't work any more
107
108 Linux now defaults to using .lock mail locking. To get back to the
109 previous flock locking, edit src/s/linux.h and uncomment out the
110 `# define MAIL_USE_FLOCK' line.
111
112 ** Sparc Linux -vs- libXmu.
113
114 There have been reports of configure not detecting libXmu on
115 SparcLinux. The fix is to add -lXmu to the link flags.
116
117 ** Debian Linux and Berkeley db include files.
118
119 Debian Linux puts the Berkeley db include files in /usr/include/db
120 instead of /usr/include. The fix is to use
121 --site-includes=/usr/include/db with configure.
122
123 ** alloc.c will not compile without -P on HP-UX 9.05
124
125 Pekka Marjola <pema@iki.fi> writes:
126 Gcc (2.7.2, with cpplib IIRC) required something (-P worked :) to
127 get it to compile. Otherwise it failed on those DEFUN macros with
128 comments inside parameter lists (like buffer.c, line 296).
129
130 ** Excessive optimization with pgcc can break XEmacs 38 ** Excessive optimization with pgcc can break XEmacs
131 39
132 It has been reported on some systems that compiling with -O6 can lead 40 It has been reported on some systems that compiling with -O6 can lead
133 to XEmacs failures. The workaround is to use a lower optimization 41 to XEmacs failures. The workaround is to use a lower optimization
134 level. -O2 and -O4 have been tested extensively. 42 level. -O2 and -O4 have been tested extensively.
135 43
136 ** -O2 optimization on Irix 5.3 can cause compiler complaint. 44 All of this depends heavily on the version of pgcc.
137
138 Nick J. Crabtree <nickc@scopic.com> writes:
139 Comes up OK on a tty (all I have available over this slow link). Ill
140 give it a hammering tomorrow. The -O2 optimisation complained about
141 sizes exceeding thresholds; I haven't bothered to use the -Olimit
142 option it recommends.
143 45
144 ** Excessive optimization on AIX 4.2 can lead to compiler failure. 46 ** Excessive optimization on AIX 4.2 can lead to compiler failure.
145 47
146 Valdis.Kletnieks@vt.edu writes: 48 Valdis.Kletnieks@vt.edu writes:
147 At least at the b34 level, and the latest-and-greatest IBM xlc 49 At least at the b34 level, and the latest-and-greatest IBM xlc
152 54
153 There have been reports of Sun sed truncating very lines in the 55 There have been reports of Sun sed truncating very lines in the
154 Makefile during configuration. The workaround is to use GNU sed or, 56 Makefile during configuration. The workaround is to use GNU sed or,
155 even better, think of a better way to generate Makefile, and send us a 57 even better, think of a better way to generate Makefile, and send us a
156 patch. :-) 58 patch. :-)
59
60 ** test-distrib says that the distribution has been clobbered
61 or, temacs prints "Command key out of range 0-127"
62 or, temacs runs and dumps xemacs, but xemacs totally fails to work.
63 or, temacs gets errors dumping xemacs
64
65 This can be because the .elc files have been garbled. Do not be
66 fooled by the fact that most of a .elc file is text: these are binary
67 files and can contain all 256 byte values.
68
69 In particular `shar' cannot be used for transmitting GNU Emacs. It
70 typically truncates "lines". (this does not apply to GNU shar, which
71 uses uuencode to encode binary files.)
72
73 If you have a copy of Emacs that has been damaged in its nonprinting
74 characters, you can fix them by running:
75
76 make all-elc
77
78 This will rebuild all the needed .elc files.
79
80 ** `Error: No ExtNode to pop!' on Linux systems with Lesstif.
81
82 This error message has been observed with lesstif-0.75a. It does not
83 appear to cause any harm.
84
85 ### Does this happen in any of the more recent versions of
86 Lesstif/XEmacs?
157 87
158 ** Linking with -rpath on IRIX. 88 ** Linking with -rpath on IRIX.
159 89
160 Darrell Kindred <dkindred@cmu.edu> writes: 90 Darrell Kindred <dkindred@cmu.edu> writes:
161 There are a couple of problems [with use of -rpath with Irix ld], though: 91 There are a couple of problems [with use of -rpath with Irix ld], though:
174 rather than quoting $LDFLAGS with prefix-args, like 104 rather than quoting $LDFLAGS with prefix-args, like
175 src/Makefile does. So if you specify --x-libraries 105 src/Makefile does. So if you specify --x-libraries
176 or --site-runtime-libraries, you must use --use-gcc=no, 106 or --site-runtime-libraries, you must use --use-gcc=no,
177 or configure will fail. 107 or configure will fail.
178 108
109 ### Is this valid in 20.3?
110
179 ** On Irix 5.x and 6.x, the dumped XEmacs (xemacs) core dumps when executed 111 ** On Irix 5.x and 6.x, the dumped XEmacs (xemacs) core dumps when executed
180 on another machine, or after newer SGI IRIX patches have been installed. 112 on another machine, or after newer SGI IRIX patches have been installed.
181 113
182 The xemacs binary must be executed with the same "libc.so" file which 114 The xemacs binary must be executed with the same "libc.so" file which
183 was used when the xemacs binary was dumped. Some SGI IRIX patches 115 was used when the xemacs binary was dumped. Some SGI IRIX patches
184 update this file. Make sure that all machines using the xemacs binary 116 update this file. Make sure that all machines using the xemacs binary
185 are using the same set of IRIX patches. If xemacs core dumps after a 117 are using the same set of IRIX patches. If xemacs core dumps after a
186 patch upgrade then you will have to redump it from temacs. 118 patch upgrade then you will have to redump it from temacs.
187 119
120 We don't know what causes this tight dependency, but we hope to fix it
121 in the future.
122
188 ** xemacs: can't resolve symbol '__malloc_hook' 123 ** xemacs: can't resolve symbol '__malloc_hook'
189 124
190 This is a Linux problem where you've compiled the XEmacs binary on a libc 125 This is a Linux problem where you've compiled the XEmacs binary on a libc
191 5.4 with version higher than 5.4.19 and attempted to run the binary against 126 5.4 with version higher than 5.4.19 and attempted to run the binary against
192 an earlier version. The solution is to upgrade your old library. 127 an earlier version. The solution is to upgrade your old library.
194 ** Compilation errors on VMS. 129 ** Compilation errors on VMS.
195 130
196 Sorry, XEmacs does not work under VMS. You might consider working on 131 Sorry, XEmacs does not work under VMS. You might consider working on
197 the port if you really want to have XEmacs work under VMS. 132 the port if you really want to have XEmacs work under VMS.
198 133
199 ** On HP/UX configure selects gcc even though it isn't actually present. 134 ** On Solaris 2 I get undefined symbols from libcurses.a.
200
201 Some versions of SoftBench have an executable called 'gcc' that is not
202 actually the GNU C compiler. Use the --with-gcc=no flag when running
203 configure.
204
205 ** On Solaris 2.* I get undefined symbols from libcurses.a.
206 135
207 You probably have /usr/ucblib/ on your LD_LIBRARY_PATH. Do the link with 136 You probably have /usr/ucblib/ on your LD_LIBRARY_PATH. Do the link with
208 LD_LIBRARY_PATH unset. 137 LD_LIBRARY_PATH unset. Generally, avoid using any ucb* stuff when
209 138 building XEmacs.
210 ** On Solaris 2.* I cannot make alloc.o, glyphs.o or process.o. 139
140 ** On Solaris 2 I cannot make alloc.o, glyphs.o or process.o.
211 141
212 The SparcWorks C compiler may have difficulty building those modules 142 The SparcWorks C compiler may have difficulty building those modules
213 with optimization level -xO4. Try using only "-fast" optimization 143 with optimization level -xO4. Try using only "-fast" optimization
214 for just those modules. (Or use gcc). 144 for just those modules. (Or use gcc).
215 145
216 ** On Digital UNIX, the DEC C compiler might have a problem compiling 146 ** On Digital UNIX, the DEC C compiler might have a problem compiling
217 some files. 147 some files.
218 148
219 In particular, src/extents.c and src/faces.c might cause the DEC C 149 In particular, src/extents.c and src/faces.c might cause the DEC C
220 compiler to abort. When this happens: cd src, compile the files by 150 compiler to abort. When this happens: cd src, compile the files by
221 hand, cd .., and redo the "make" command. When recompiling the files by 151 hand, cd .., and redo the "make" command. When recompiling the files by
222 hand, use the old C compiler for the following versions of Digital UNIX: 152 hand, use the old C compiler for the following versions of Digital UNIX:
223 - V3.n: Remove "-migrate" from the compile command. 153 - V3.n: Remove "-migrate" from the compile command.
224 - V4.n: Add "-oldc" to the compile command. 154 - V4.n: Add "-oldc" to the compile command.
225 155
226 ** On Digital UNIX, TOOLTALK gets misdetected and misconfigured 156 A related compiler bug has been fixed by the DEC compiler team. The
227 157 new versions of the compiler should run fine.
228 This problem manifested itself in the beta cycle as putting a literal
229 LIB_TOOLTALK string into the Makefile.
230 158
231 ** On HPUX, the HP C compiler might have a problem compiling some files 159 ** On HPUX, the HP C compiler might have a problem compiling some files
232 with optimization. 160 with optimization.
233 161
234 Richard Cognot <cognot@ensg.u-nancy.fr> writes: 162 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
240 applying patches for the C compiler). Trouble is I still 168 applying patches for the C compiler). Trouble is I still
241 haven't found the same patch for hpux 10.10, and I don't 169 haven't found the same patch for hpux 10.10, and I don't
242 remember the patch numbers. I think potential XEmacs builders 170 remember the patch numbers. I think potential XEmacs builders
243 on HP should be warned about this. 171 on HP should be warned about this.
244 172
173 ### Fixed in 20.3?
174
245 ** I don't have `xmkmf' and `imake' on my HP. 175 ** I don't have `xmkmf' and `imake' on my HP.
246 176
247 You can get these standard X tools by anonymous FTP to hpcvaaz.cv.hp.com. 177 You can get these standard X tools by anonymous FTP to hpcvaaz.cv.hp.com.
248 Essentially all X programs need these. 178 Essentially all X programs need these.
249 179
250 ** Solaris 2.3 /bin/sh coredumps during configuration. 180 ** Solaris 2.3 /bin/sh coredumps during configuration.
251 181
252 This only occurs if you have LANG != C. This is a known bug with 182 This only occurs if you have LANG != C. This is a known bug with
253 /bin/sh fixed by installing Patch-ID# 101613-01. 183 /bin/sh fixed by installing Patch-ID# 101613-01. Or, you can use
184 bash, as a workaround.
254 185
255 ** On Irix 6.0, make tries (and fails) to build a program named unexelfsgi 186 ** On Irix 6.0, make tries (and fails) to build a program named unexelfsgi
256 187
257 A compiler bug inserts spaces into the string "unexelfsgi . o" 188 A compiler bug inserts spaces into the string "unexelfsgi . o"
258 in src/Makefile. Edit src/Makefile, after configure is run, 189 in src/Makefile. Edit src/Makefile, after configure is run,
259 find that string, and take out the spaces. 190 find that string, and take out the spaces.
260 191
261 Compiler fixes in Irix 6.0.1 should eliminate this problem. 192 Compiler fixes in Irix 6.0.1 should eliminate this problem.
262 193
194 ### Fixed in 20.3?
195
263 ** Native cc on SCO OpenServer 5 is now OK. Icc may still throw you 196 ** Native cc on SCO OpenServer 5 is now OK. Icc may still throw you
264 a curve. Here is what Robert Lipe <robertl@arnet.com> says: 197 a curve. Here is what Robert Lipe <robertl@arnet.com> says:
265 198
266 Unlike XEmacs 19.13, building with the native cc on SCO OpenServer 5 199 Unlike XEmacs 19.13, building with the native cc on SCO OpenServer 5
267 now produces a functional binary. I will typically build this 200 now produces a functional binary. I will typically build this
268 configuration for COFF with: 201 configuration for COFF with:
269 202
270 /path_to_XEmacs_source/configure --with-gcc=no \ 203 /path_to_xemacs_source/configure --with-gcc=no \
271 --site-includes=/usr/local/include --site-libraries=/usr/local/lib \ 204 --site-includes=/usr/local/include --site-libraries=/usr/local/lib \
272 --with-xpm --with-xface --with-sound=nas 205 --with-xpm --with-xface --with-sound=nas
273 206
274 This version now supports ELF builds. I highly recommend this to 207 This version now supports ELF builds. I highly recommend this to
275 reduce the in-core footprint of XEmacs. This is now how I compile 208 reduce the in-core footprint of XEmacs. This is now how I compile
322 In etc/ there are two files of note. emacskeys.sco and emacsstrs.sco. 255 In etc/ there are two files of note. emacskeys.sco and emacsstrs.sco.
323 The comments at the top of emacskeys.sco describe its function, and 256 The comments at the top of emacskeys.sco describe its function, and
324 the emacstrs.sco is a suitable candidate for /usr/lib/keyboard/strings 257 the emacstrs.sco is a suitable candidate for /usr/lib/keyboard/strings
325 to take advantage of the keyboard map in emacskeys.sco. 258 to take advantage of the keyboard map in emacskeys.sco.
326 259
260 ### Is this valid in 20.3?
261
327 ** Under some versions of OSF XEmacs runs fine if built without 262 ** Under some versions of OSF XEmacs runs fine if built without
328 optimization but will crash randomly if built with optimization. 263 optimization but will crash randomly if built with optimization.
329 264
330 Using 'cc -g' is not sufficient to eliminate all optimization. Try 265 Using 'cc -g' is not sufficient to eliminate all optimization. Try
331 'cc -g -O0' instead. 266 'cc -g -O0' instead.
332 267
333 ** On SunOS, you get linker errors 268 ** On SunOS, you get linker errors
386 321
387 cd /lib 322 cd /lib
388 ar xv libc_s.a NLtmtime.o 323 ar xv libc_s.a NLtmtime.o
389 ar dv libc_s.a NLtmtime.o 324 ar dv libc_s.a NLtmtime.o
390 325
391 ** Undefined symbols _dlopen, _dlsym and/or _dlclose on a Sun.
392
393 If you see undefined symbols _dlopen, _dlsym, or _dlclose when linking
394 with -lX11, compile and link against the file mit/util/misc/dlsym.c in
395 the MIT X11R5 distribution. Alternatively, link temacs using shared
396 libraries with s/sunos4shr.h. (This doesn't work if you use the X
397 toolkit.)
398
399 If you get the additional error that the linker could not find
400 lib_version.o, try extracting it from X11/usr/lib/X11/libvim.a in
401 X11R4, then use it in the link.
402
403 ** Undefined symbols when linking on Sunos 4.1. 326 ** Undefined symbols when linking on Sunos 4.1.
404 327
405 If you get the undefined symbols _atowc _wcslen, _iswprint, _iswspace, 328 If you get the undefined symbols _atowc _wcslen, _iswprint, _iswspace,
406 _iswcntrl, _wcscpy, and _wcsncpy, then you need to add -lXwchar after 329 _iswcntrl, _wcscpy, and _wcsncpy, then you need to add -lXwchar after
407 -lXaw in the command that links temacs. 330 -lXaw in the command that links temacs.
424 X11Dev... with smit. 347 X11Dev... with smit.
425 348
426 ** C-z just refreshes the screen instead of suspending Emacs. 349 ** C-z just refreshes the screen instead of suspending Emacs.
427 350
428 You are probably using a shell that doesn't support job control, even 351 You are probably using a shell that doesn't support job control, even
429 though the system itself is capable of it. Either use a different shell, 352 though the system itself is capable of it. Try using a different
430 or set the variable `cannot-suspend' to a non-nil value. 353 shell.
431 354
432 ** On a Sun running SunOS 4.1.1, you get this error message from GNU ld: 355 ** On a Sun running SunOS 4.1.1, you get this error message from GNU ld:
433 356
434 /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment 357 /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment
435 358
451 374
452 The X headers and libraries that Sun ships in /usr/{include,lib}/X11 are 375 The X headers and libraries that Sun ships in /usr/{include,lib}/X11 are
453 broken. Use the ones in /usr/openwin/{include,lib} instead. 376 broken. Use the ones in /usr/openwin/{include,lib} instead.
454 377
455 ** When using gcc, you get the error message "undefined symbol __fixunsdfsi". 378 ** When using gcc, you get the error message "undefined symbol __fixunsdfsi".
456 ** When using gcc, you get the error message "undefined symbol __main". 379 When using gcc, you get the error message "undefined symbol __main".
457 380
458 This means that you need to link with the gcc library. It may be called 381 This means that you need to link with the gcc library. It may be called
459 "gcc-gnulib" or "libgcc.a"; figure out where it is, and define LIB_GCC in 382 "gcc-gnulib" or "libgcc.a"; figure out where it is, and define LIB_GCC in
460 config.h to point to it. 383 config.h to point to it.
461 384
474 397
475 Some users have reported problems in this area. The reported solution 398 Some users have reported problems in this area. The reported solution
476 is to define the environment variable OPENWINHOME, even if you must set 399 is to define the environment variable OPENWINHOME, even if you must set
477 it to `/usr/openwin'. 400 it to `/usr/openwin'.
478 401
402
479 * Problems with running XEmacs 403 * Problems with running XEmacs
404 ==============================
480 405
481 ** You type Control-H (Backspace) expecting to delete characters. 406 ** You type Control-H (Backspace) expecting to delete characters.
482 407
483 Emacs has traditionally used Control-H for help; unfortunately this 408 Emacs has traditionally used Control-H for help; unfortunately this
484 interferes with its use as Backspace on TTY's. One way to solve this 409 interferes with its use as Backspace on TTY's. One way to solve this
485 problem is to put this in your .emacs: 410 problem is to put this in your .emacs:
486 411
487 (keyboard-translate ?\C-h ?\C-?) 412 (when (eq tty-erase-char ?\C-h)
488 (global-set-key "\M-?" 'help-command) 413 (keyboard-translate ?\C-h ?\C-?)
489 414 (global-set-key "\M-?" 'help-command))
490 This makes Control-H (Backspace) work sensibly, and moves help to 415
491 Meta-? (ESC ?). 416 This checks whether the TTY erase char is C-h, and if it is, makes
417 Control-H (Backspace) work sensibly, and moves help to Meta-? (ESC ?).
492 418
493 Note that you can probably also access help using F1. 419 Note that you can probably also access help using F1.
420
421 ** Mail agents (VM, Gnus, rmail) cannot get new mail
422
423 rmail and VM get new mail from /usr/spool/mail/$USER using a program
424 called `movemail'. This program interlocks with /bin/mail using the
425 protocol defined by /bin/mail.
426
427 There are two different protocols in general use. One of them uses
428 the `flock' system call. The other involves creating a lock file;
429 `movemail' must be able to write in /usr/spool/mail in order to do
430 this. You control which one is used by defining, or not defining, the
431 macro MAIL_USE_FLOCK in config.h or the m- or s- file it includes. IF
432 YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR SYSTEM,
433 YOU CAN LOSE MAIL!
434
435 If your system uses the lock file protocol, and fascist restrictions
436 prevent ordinary users from writing the lock files in /usr/spool/mail,
437 you may need to make `movemail' setgid to a suitable group such as
438 `mail'. To do this, use the following commands (as root) after doing
439 the make install.
440
441 chgrp mail movemail
442 chmod 2755 movemail
443
444 Installation normally copies movemail from the build directory to an
445 installation directory which is usually under /usr/local/lib. The
446 installed copy of movemail is usually in the directory
447 /usr/local/lib/emacs/VERSION/TARGET. You must change the group and
448 mode of the installed copy; changing the group and mode of the build
449 directory copy is ineffective.
494 450
495 ** On Solaris, C-x doesn't get through to Emacs when you use the console. 451 ** On Solaris, C-x doesn't get through to Emacs when you use the console.
496 452
497 This is a Solaris feature (at least on Intel x86 cpus). Type C-r 453 This is a Solaris feature (at least on Intel x86 cpus). Type C-r
498 C-r C-t, to toggle whether C-x gets through to Emacs. 454 C-r C-t, to toggle whether C-x gets through to Emacs.
499 455
500 ** VM appears to hang in large folders 456 ** VM appears to hang in large folders.
501 457
502 This is normal (trust us) when upgrading to VM-6.22 from earlier 458 This is normal (trust us) when upgrading to VM-6.22 from earlier
503 versions. Let VM finish what it is doing and all will be well. 459 versions. Let VM finish what it is doing and all will be well.
504 460
505 ** Changes made to .el files do not take effect. 461 ** Changes made to .el files do not take effect.
506 462
507 You may have forgotten to recompile them into .elc files. 463 You may have forgotten to recompile them into .elc files. Then the
508 Then the old .elc files will be loaded, and your changes 464 old .elc files will be loaded, and your changes will not be seen. To
509 will not be seen. To fix this, do M-x byte-recompile-directory 465 fix this, do `M-x byte-recompile-directory' and specify the directory
510 and specify the directory that contains the Lisp files. 466 that contains the Lisp files.
511 467
512 Note that you may get a warning when loading a .elc file that 468 Note that you will get a warning when loading a .elc file that is
513 is older than the corresponding .el file. 469 older than the corresponding .el file.
514 470
515 ** Things which should be bold or italic (such as the initial copyright notice) 471 ** Things which should be bold or italic (such as the initial
516 are not. 472 copyright notice) are not.
517 473
518 The fonts of the "bold" and "italic" faces are generated from the font of 474 The fonts of the "bold" and "italic" faces are generated from the font
519 the "default" face; in this way, your bold and italic fonts will have the 475 of the "default" face; in this way, your bold and italic fonts will
520 appropriate size and family. However, emacs can only be clever in this 476 have the appropriate size and family. However, emacs can only be
521 way if you have specified the default font using the XLFD (X Logical Font 477 clever in this way if you have specified the default font using the
522 Description) format, which looks like 478 XLFD (X Logical Font Description) format, which looks like
523 479
524 *-courier-medium-r-*-*-*-120-*-*-*-*-*-* 480 *-courier-medium-r-*-*-*-120-*-*-*-*-*-*
525 481
526 if you use any of the other, less strict font name formats, some of which 482 if you use any of the other, less strict font name formats, some of
527 look like 483 which look like:
484
528 lucidasanstypewriter-12 485 lucidasanstypewriter-12
529 and fixed 486 and fixed
530 and 9x13 487 and 9x13
531 488
532 then emacs won't be able to guess the names of the "bold" and "italic" 489 then emacs won't be able to guess the names of the "bold" and "italic"
533 versions. All X fonts can be referred to via XLFD-style names, so you 490 versions. All X fonts can be referred to via XLFD-style names, so you
534 should use those forms. See the man pages for X(1), xlsfonts(1), and 491 should use those forms. See the man pages for X(1), xlsfonts(1), and
535 xfontsel(1). 492 xfontsel(1).
536 493
537 ** The dumped Emacs (XEmacs) crashes when run, trying to write pure data. 494 ** The dumped Emacs crashes when run, trying to write pure data.
538 495
539 Two causes have been seen for such problems. 496 Two causes have been seen for such problems.
540 497
541 1) On a system where getpagesize is not a system call, it is defined 498 1) On a system where getpagesize is not a system call, it is defined
542 as a macro. If the definition (in both unexec.c and malloc.c) is wrong, 499 as a macro. If the definition (in both unexec.c and malloc.c) is wrong,
582 ** The Compose key on a DEC keyboard does not work as Meta key. 539 ** The Compose key on a DEC keyboard does not work as Meta key.
583 540
584 This shell command should fix it: 541 This shell command should fix it:
585 542
586 xmodmap -e 'keycode 0xb1 = Meta_L' 543 xmodmap -e 'keycode 0xb1 = Meta_L'
587
588 544
589 ** When emacs starts up, I get lots of warnings about unknown keysyms. 545 ** When emacs starts up, I get lots of warnings about unknown keysyms.
590 546
591 If you are running the prebuilt binaries, the Motif library expects to find 547 If you are running the prebuilt binaries, the Motif library expects to find
592 certain thing in the XKeysymDB file. This file is normally in /usr/lib/X11/ 548 certain thing in the XKeysymDB file. This file is normally in /usr/lib/X11/
601 Check the resources in .../etc/Emacs.ad (which is the same as the file 557 Check the resources in .../etc/Emacs.ad (which is the same as the file
602 sample.Xdefaults). Perhaps some of the default resources built in to 558 sample.Xdefaults). Perhaps some of the default resources built in to
603 emacs are now overriding your existing resources. Copy and edit the 559 emacs are now overriding your existing resources. Copy and edit the
604 resources in Emacs.ad as necessary. 560 resources in Emacs.ad as necessary.
605 561
606 ** I get complaints about the mapping of my HP keyboard at startup, but I 562 ** I get complaints about the mapping of my HP keyboard at startup,
607 haven't changed anything. 563 but I haven't changed anything.
608 564
609 The default HP keymap is set up to have Mod1 assigned to two different keys: 565 The default HP keymap is set up to have Mod1 assigned to two different keys:
610 Meta_L and Mode_switch (even though there is not actually a Mode_switch key on 566 Meta_L and Mode_switch (even though there is not actually a Mode_switch key on
611 the keyboard -- it uses an "imaginary" keycode.) There actually is a reason 567 the keyboard -- it uses an "imaginary" keycode.) There actually is a reason
612 for this, but it's not a good one. The correct fix is to execute this command 568 for this, but it's not a good one. The correct fix is to execute this command
613 upon starting X: 569 upon starting X:
614 570
615 xmodmap -e 'remove mod1 = Mode_switch' 571 xmodmap -e 'remove mod1 = Mode_switch'
616 572
617 ** I have focus problems when I use `M-o' to switch to another screen without 573 ** I have focus problems when I use `M-o' to switch to another screen
618 using the mouse. 574 without using the mouse.
619 575
620 The focus issues with a program like XEmacs, which has multiple homogeneous 576 The focus issues with a program like XEmacs, which has multiple
621 top-level windows, are very complicated, and as a result, most window managers 577 homogeneous top-level windows, are very complicated, and as a result,
622 don't implement them correctly. 578 most window managers don't implement them correctly.
623 579
624 The R4/R5 version of twm (and all of its descendants) had buggy focus 580 The R4/R5 version of twm (and all of its descendants) had buggy focus
625 handling; there is a patch in .../xemacs/etc/twm-patch which fixes this. 581 handling. Sufficiently recent versions of tvtwm have been fixed. In
626 Sufficiently recent versions of tvtwm do not need this patch, but most other 582 addition, if you're using twm, make sure you have not specified
627 versions of twm do. If you need to apply this patch, please try to get it 583 "NoTitleFocus" in your .tvtwmrc file. The very nature of this option
628 integrated by the maintainer of whichever version of twm you're using. 584 makes twm do some illegal focus tricks, even with the patch.
629 585
630 In addition, if you're using twm, make sure you have not specified 586 It is known that olwm and olvwm are buggy, and in different ways. If
631 "NoTitleFocus" in your .tvtwmrc file. The very nature of this option makes 587 you're using click-to-type mode, try using point-to-type, or vice
632 twm do some illegal focus tricks, even with the patch. 588 versa.
633 589
634 It is known that olwm and olvwm are buggy, and in different ways. If you're 590 In older versions of NCDwm, one could not even type at XEmacs windows.
635 using click-to-type mode, try using point-to-type, or vice versa. 591 This has been fixed in newer versions (2.4.3, and possibly earlier).
636 592
637 In older versions of NCDwm, one could not even type at XEmacs windows. This 593 (Many people suggest that XEmacs should warp the mouse when focusing
638 has been fixed in newer versions (2.4.3, and possibly earlier). 594 on another screen in point-to-type mode. This is not ICCCM-compliant
639 595 behavior. Implementing such policy is the responsibility of the
640 (Many people suggest that XEmacs should warp the mouse when focusing on 596 window manager itself, it is not legal for a client to do this.)
641 another screen in point-to-type mode. This is not ICCCM-compliant behavior.
642 Implementing such policy is the responsibility of the window manager itself,
643 it is not legal for a client to do this.)
644
645 ** Mail agents (VM, Gnus, rmail) cannot get new mail
646
647 rmail and VM get new mail from /usr/spool/mail/$USER using a program
648 called `movemail'. This program interlocks with /bin/mail using the
649 protocol defined by /bin/mail.
650
651 There are two different protocols in general use. One of them uses
652 the `flock' system call. The other involves creating a lock file;
653 `movemail' must be able to write in /usr/spool/mail in order to do
654 this. You control which one is used by defining, or not defining, the
655 macro MAIL_USE_FLOCK in config.h or the m- or s- file it includes. IF
656 YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR SYSTEM,
657 YOU CAN LOSE MAIL!
658
659 If your system uses the lock file protocol, and fascist restrictions
660 prevent ordinary users from writing the lock files in /usr/spool/mail,
661 you may need to make `movemail' setgid to a suitable group such as
662 `mail'. To do this, use the following commands (as root) after doing
663 the make install.
664
665 chgrp mail movemail
666 chmod 2755 movemail
667
668 Installation normally copies movemail from the build directory to an
669 installation directory which is usually under /usr/local/lib. The
670 installed copy of movemail is usually in the directory
671 /usr/local/lib/emacs/VERSION/TARGET. You must change the group and
672 mode of the installed copy; changing the group and mode of the build
673 directory copy is ineffective.
674 597
675 ** Emacs spontaneously displays "I-search: " at the bottom of the screen. 598 ** Emacs spontaneously displays "I-search: " at the bottom of the screen.
676 599
677 This means that Control-S/Control-Q (XON/XOFF) "flow control" is being 600 This means that Control-S/Control-Q (XON/XOFF) "flow control" is being
678 used. C-s/C-q flow control is bad for Emacs editors because it takes 601 used. C-s/C-q flow control is bad for Emacs editors because it takes
770 If that line of approach is not successful, map some other characters 693 If that line of approach is not successful, map some other characters
771 into C-s and C-q using keyboard-translate-table. The example above 694 into C-s and C-q using keyboard-translate-table. The example above
772 shows how to do this with C-^ and C-\. 695 shows how to do this with C-^ and C-\.
773 696
774 ** Control-S and Control-Q commands are ignored completely on a net 697 ** Control-S and Control-Q commands are ignored completely on a net
775 connection. 698 connection.
776 699
777 Some versions of rlogin (and possibly telnet) do not pass flow 700 Some versions of rlogin (and possibly telnet) do not pass flow
778 control characters to the remote system to which they connect. 701 control characters to the remote system to which they connect.
779 On such systems, emacs on the remote system cannot disable flow 702 On such systems, emacs on the remote system cannot disable flow
780 control on the local system. 703 control on the local system.
795 718
796 (enable-flow-control-on "vt200" "vt300" "vt101" "vt131") 719 (enable-flow-control-on "vt200" "vt300" "vt101" "vt131")
797 720
798 See the entry about spontaneous display of I-search (above) for more 721 See the entry about spontaneous display of I-search (above) for more
799 info. 722 info.
723
724 ** TTY redisplay is slow.
725
726 XEmacs has fairly new TTY redisplay support (beginning from 19.12),
727 which doesn't include some basic TTY optimizations -- like using
728 scrolling regions to move around blocks of text. This is why
729 redisplay on the traditional terminals, or over slow lines can be very
730 slow.
731
732 If you are interested in fixing this, please let us know at
733 <xemacs@xemacs.org>.
800 734
801 ** Screen is updated wrong, but only on one kind of terminal. 735 ** Screen is updated wrong, but only on one kind of terminal.
802 736
803 This could mean that the termcap entry you are using for that terminal 737 This could mean that the termcap entry you are using for that terminal
804 is wrong, or it could mean that Emacs has a bug handing the 738 is wrong, or it could mean that Emacs has a bug handing the
832 766
833 4) The characters sent are incorrect, and clearly cannot be right for 767 4) The characters sent are incorrect, and clearly cannot be right for
834 any terminal with the termcap entry you were using. 768 any terminal with the termcap entry you were using.
835 769
836 This is unambiguously an Emacs bug, and can probably be fixed in 770 This is unambiguously an Emacs bug, and can probably be fixed in
837 termcap.c, tparam.c, term.c, scroll.c, cm.c or dispnew.c. 771 termcap.c, terminfo.c, tparam.c, cm.c, redisplay-tty.c,
838 772 redisplay-output.c, or redisplay.c.
839 ** Output from Control-V is slow.
840
841 On many bit-map terminals, scrolling operations are fairly slow.
842 Often the termcap entry for the type of terminal in use fails
843 to inform Emacs of this. The two lines at the bottom of the screen
844 before a Control-V command are supposed to appear at the top after
845 the Control-V command. If Emacs thinks scrolling the lines is fast,
846 it will scroll them to the top of the screen.
847
848 If scrolling is slow but Emacs thinks it is fast, the usual reason is
849 that the termcap entry for the terminal you are using does not
850 specify any padding time for the `al' and `dl' strings. Emacs
851 concludes that these operations take only as much time as it takes to
852 send the commands at whatever line speed you are using. You must
853 fix the termcap entry to specify, for the `al' and `dl', as much
854 time as the operations really take.
855
856 Currently Emacs thinks in terms of serial lines which send characters
857 at a fixed rate, so that any operation which takes time for the
858 terminal to execute must also be padded. With bit-map terminals
859 operated across networks, often the network provides some sort of
860 flow control so that padding is never needed no matter how slow
861 an operation is. You must still specify a padding time if you want
862 Emacs to realize that the operation takes a long time. This will
863 cause padding characters to be sent unnecessarily, but they do
864 not really cost much. They will be transmitted while the scrolling
865 is happening and then discarded quickly by the terminal.
866
867 Most bit-map terminals provide commands for inserting or deleting
868 multiple lines at once. Define the `AL' and `DL' strings in the
869 termcap entry to say how to do these things, and you will have
870 fast output without wasted padding characters. These strings should
871 each contain a single %-spec saying how to send the number of lines
872 to be scrolled. These %-specs are like those in the termcap
873 `cm' string.
874
875 You should also define the `IC' and `DC' strings if your terminal
876 has a command to insert or delete multiple characters. These
877 take the number of positions to insert or delete as an argument.
878
879 A `cs' string to set the scrolling region will reduce the amount
880 of motion you see on the screen when part of the screen is scrolled.
881 773
882 ** Your Delete key sends a Backspace to the terminal, using an AIXterm. 774 ** Your Delete key sends a Backspace to the terminal, using an AIXterm.
883 775
884 The solution is to include in your .Xdefaults the lines: 776 The solution is to include in your .Xdefaults the lines:
885 777
887 aixterm*ttyModes: erase ^? 779 aixterm*ttyModes: erase ^?
888 780
889 This makes your Backspace key send DEL (ASCII 127). 781 This makes your Backspace key send DEL (ASCII 127).
890 782
891 ** With certain fonts, when the cursor appears on a character, the 783 ** With certain fonts, when the cursor appears on a character, the
892 character doesn't appear--you get a solid box instead. 784 character doesn't appear--you get a solid box instead.
893 785
894 One user on a Linux system reported that this problem went away with 786 One user on a Linux system reported that this problem went away with
895 installation of a new X server. The failing server was XFree86 3.1.1. 787 installation of a new X server. The failing server was XFree86 3.1.1.
896 XFree86 3.1.2 works. 788 XFree86 3.1.2 works.
897 789
901 on a system that is version 4.1.3. You must specify the precise 793 on a system that is version 4.1.3. You must specify the precise
902 version number (or let configure figure out the configuration, which 794 version number (or let configure figure out the configuration, which
903 it can do perfectly well for SunOS). 795 it can do perfectly well for SunOS).
904 796
905 ** On Irix, I don't see the toolbar icons and I'm getting lots of 797 ** On Irix, I don't see the toolbar icons and I'm getting lots of
906 entries in the warnings buffer. 798 entries in the warnings buffer.
907 799
908 SGI ships a really old Xpm library in /usr/lib which does not work at 800 SGI ships a really old Xpm library in /usr/lib which does not work at
909 all well with XEmacs. The solution is to install your own copy of the 801 all well with XEmacs. The solution is to install your own copy of the
910 latest version of Xpm somewhere and then use the --site-includes and 802 latest version of Xpm somewhere and then use the --site-includes and
911 --site-libraries flags to tell configure where to find it. 803 --site-libraries flags to tell configure where to find it.
912 804
913 ** On HPUX, you get "poll: Interrupted system call" message in the window 805 ** On HPUX, you get "poll: Interrupted system call" message in the
914 where XEmacs was launched. 806 window where XEmacs was launched.
915 807
916 Richard Cognot <cognot@ensg.u-nancy.fr> writes: 808 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
917 809
918 I get a very strange problem when linking libc.a 810 I get a very strange problem when linking libc.a dynamically: every
919 dynamically: every event (mouse, keyboard, expose...) results 811 event (mouse, keyboard, expose...) results in a "poll: Interrupted
920 in a "poll: Interrupted system call" message in the window 812 system call" message in the window where XEmacs was
921 where XEmacs was launched. Forcing a static link of libc.a 813 launched. Forcing a static link of libc.a alone by adding
922 alone by adding /usr/lib/libc.a at the end of the link line 814 /usr/lib/libc.a at the end of the link line solves this. Note that
923 solves this. Note that my 9.07 build of 19.14b17 and my (old) 815 my 9.07 build of 19.14b17 and my (old) build of 19.13 both exhibit
924 build of 19.13 both exhibit the same behaviour. I've tried 816 the same behaviour. I've tried various hpux patches to no avail. If
925 various hpux patches to no avail. If this problem cannot be 817 this problem cannot be solved before the release date, binary kits
926 solved before the release date, binary kits for HP *must* be 818 for HP *must* be linked statically against libc, otherwise this
927 linked statically against libc, otherwise this problem will 819 problem will show up. (This is directed at whoever will volunteer
928 show up. (This is directed at whoever will volunteer for this 820 for this kit, as I won't be available to do it, unless 19.14 gets
929 kit, as I won't be available to do it, unless 19.14 gets 821 delayed until mid-june ;-). I think this problem will be an FAQ soon
930 delayed until mid-june ;-). I think this problem will be an FAQ 822 after the release otherwise.
931 soon after the release otherwise. 823
824 ### Is this valid for 20.3?
932 825
933 ** When Emacs tries to ring the bell, you get an error like 826 ** When Emacs tries to ring the bell, you get an error like
934 827
935 audio: sst_open: SETQSIZE" Invalid argument 828 audio: sst_open: SETQSIZE" Invalid argument
936 audio: sst_close: SETREG MMR2, Invalid argument 829 audio: sst_close: SETREG MMR2, Invalid argument
937 830
938 you have probably compiled using an ANSI C compiler, but with non-ANSI include 831 you have probably compiled using an ANSI C compiler, but with non-ANSI
939 files. In particular, on Suns, the file /usr/include/sun/audioio.h uses the 832 include files. In particular, on Suns, the file
940 _IOW macro to define the constant AUDIOSETQSIZE. _IOW in turn uses a K&R 833 /usr/include/sun/audioio.h uses the _IOW macro to define the constant
941 preprocessor feature that is now explicitly forbidden in ANSI preprocessors, 834 AUDIOSETQSIZE. _IOW in turn uses a K&R preprocessor feature that is
942 namely substitution inside character constants. All ANSI C compilers must 835 now explicitly forbidden in ANSI preprocessors, namely substitution
943 provide a workaround for this problem. Lucid's C compiler is shipped with a 836 inside character constants. All ANSI C compilers must provide a
944 new set of system include files. If you are using GCC, there is a script 837 workaround for this problem. Lucid's C compiler is shipped with a new
945 called fixincludes that creates new versions of some system include files that 838 set of system include files. If you are using GCC, there is a script
946 use this obsolete feature. 839 called fixincludes that creates new versions of some system include
840 files that use this obsolete feature.
947 841
948 ** My buffers are full of \000 characters or otherwise corrupt. 842 ** My buffers are full of \000 characters or otherwise corrupt.
949 843
950 Some compilers have trouble with gmalloc.c and ralloc.c; try recompiling 844 Some compilers have trouble with gmalloc.c and ralloc.c; try recompiling
951 without optimization. If that doesn't work, try recompiling with 845 without optimization. If that doesn't work, try recompiling with
952 SYSTEM_MALLOC defined, and/or with REL_ALLOC undefined. 846 SYSTEM_MALLOC defined, and/or with REL_ALLOC undefined.
953 847
954 ** On AIX 4, some programs fail when run in a Shell buffer 848 ** On AIX 4, some programs fail when run in a Shell buffer
955 with an error message like No terminfo entry for "unknown". 849 with an error message like No terminfo entry for "unknown".
956 850
957 On AIX, many terminal type definitions are not installed by default. 851 On AIX, many terminal type definitions are not installed by default.
958 `unknown' is one of them. Install the "Special Generic Terminal 852 `unknown' is one of them. Install the "Special Generic Terminal
959 Definitions" to make them defined. 853 Definitions" to make them defined.
960 854
961 ** Emacs exits with "X protocol error" when run with an X server for 855 ** Emacs exits with "X protocol error" when run with an X server for
962 Windows. 856 Windows.
963 857
964 A certain X server for Windows had a bug which caused this. 858 A certain X server for Windows had a bug which caused this.
965 Supposedly the newer 32-bit version of this server doesn't have the 859 Supposedly the newer 32-bit version of this server doesn't have the
966 problem. 860 problem.
967 861
990 add mod1 = Meta_L 884 add mod1 = Meta_L
991 keysym Meta_R = Mode_switch 885 keysym Meta_R = Mode_switch
992 add mod2 = Mode_switch 886 add mod2 = Mode_switch
993 EOF 887 EOF
994 888
995 ** Emacs does not notice when you release the mouse.
996
997 There are reports that this happened with (some) Microsoft mice and
998 that replacing the mouse made it stop.
999
1000 ** Trouble using ptys on IRIX, or running out of ptys. 889 ** Trouble using ptys on IRIX, or running out of ptys.
1001 890
1002 The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to 891 The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to
1003 be set-UID to root, or non-root programs like Emacs will not be able 892 be set-UID to root, or non-root programs like Emacs will not be able
1004 to allocate ptys reliably. 893 to allocate ptys reliably.
1005 894
1006 ** Motif dialog boxes lose big time on Irix. 895 ** Motif dialog boxes lose on Irix.
1007 896
1008 Larry Auton <lda@control.att.com> writes: 897 Larry Auton <lda@control.att.com> writes:
1009 Beware of not specifying 898 Beware of not specifying
1010 899
1011 --with-dialogs=athena 900 --with-dialogs=athena
1012 901
1013 if it builds with the motif dialogs [boom!] you're a dead man. 902 if it builds with the motif dialogs [boom!] you're a dead man.
903
904 ### Does this apply to 20.3?
1014 905
1015 ** Beware of the default image & graphics library on Irix 906 ** Beware of the default image & graphics library on Irix
1016 907
1017 Richard Cognot <cognot@ensg.u-nancy.fr> writes: 908 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
1018 You *have* to compile your own jpeg lib. The one delivered with SGI 909 You *have* to compile your own jpeg lib. The one delivered with SGI
1019 systems is a C++ lib, which apparently XEmacs cannot cope with. 910 systems is a C++ lib, which apparently XEmacs cannot cope with.
911
912 ### Does this apply to 20.3?
1020 913
1021 ** Slow startup on Linux. 914 ** Slow startup on Linux.
1022 915
1023 People using systems based on the Linux kernel sometimes report that 916 People using systems based on the Linux kernel sometimes report that
1024 startup takes 10 to 15 seconds longer than `usual'. 917 startup takes 10 to 15 seconds longer than `usual'.
1056 simpler solution: create an empty `/etc/host.conf' file. The command 949 simpler solution: create an empty `/etc/host.conf' file. The command
1057 `touch /etc/host.conf' suffices to create the file. The `/etc/hosts' 950 `touch /etc/host.conf' suffices to create the file. The `/etc/hosts'
1058 file is not necessary with this approach. 951 file is not necessary with this approach.
1059 952
1060 ** On Solaris 2.4, Dired hangs and C-g does not work. Or Emacs hangs 953 ** On Solaris 2.4, Dired hangs and C-g does not work. Or Emacs hangs
1061 forever waiting for termination of a subprocess that is a zombie. 954 forever waiting for termination of a subprocess that is a zombie.
1062 955
1063 casper@fwi.uva.nl says the problem is in X11R6. Rebuild libX11.so 956 casper@fwi.uva.nl says the problem is in X11R6. Rebuild libX11.so
1064 after changing the file xc/config/cf/sunLib.tmpl. Change the lines 957 after changing the file xc/config/cf/sunLib.tmpl. Change the lines
1065 958
1066 #if ThreadedX 959 #if ThreadedX
1098 in sun.cf and did `make World' to rebuild X11R6. Removing all 991 in sun.cf and did `make World' to rebuild X11R6. Removing all
1099 `-DXTHREAD*' flags and `-lthread' entries from lib/X11/Makefile and 992 `-DXTHREAD*' flags and `-lthread' entries from lib/X11/Makefile and
1100 typing 'make install' in that directory also seemed to work. 993 typing 'make install' in that directory also seemed to work.
1101 994
1102 ** With M-x enable-flow-control, you need to type C-\ twice to do 995 ** With M-x enable-flow-control, you need to type C-\ twice to do
1103 incremental search--a single C-\ gets no response. 996 incremental search--a single C-\ gets no response.
1104 997
1105 This has been traced to communicating with your machine via kermit, 998 This has been traced to communicating with your machine via kermit,
1106 with C-\ as the kermit escape character. One solution is to use 999 with C-\ as the kermit escape character. One solution is to use
1107 another escape character in kermit. One user did 1000 another escape character in kermit. One user did
1108 1001
1209 #define SYSTEM_MALLOC 1102 #define SYSTEM_MALLOC
1210 This makes Emacs use memory less efficiently, but seems to work around 1103 This makes Emacs use memory less efficiently, but seems to work around
1211 the kernel bug. 1104 the kernel bug.
1212 1105
1213 ** Inability to send an Alt-modified key, when Emacs is communicating 1106 ** Inability to send an Alt-modified key, when Emacs is communicating
1214 directly with an X server. 1107 directly with an X server.
1215 1108
1216 If you have tried to bind an Alt-modified key as a command, and it 1109 If you have tried to bind an Alt-modified key as a command, and it
1217 does not work to type the command, the first thing you should check is 1110 does not work to type the command, the first thing you should check is
1218 whether the key is getting through to Emacs. To do this, type C-h c 1111 whether the key is getting through to Emacs. To do this, type C-h c
1219 followed by the Alt-modified key. C-h c should say what kind of event 1112 followed by the Alt-modified key. C-h c should say what kind of event
1250 does not get a response from the server within a timeout whose default 1143 does not get a response from the server within a timeout whose default
1251 value is just ten seconds. 1144 value is just ten seconds.
1252 1145
1253 If this happens to you, extend the timeout period. 1146 If this happens to you, extend the timeout period.
1254 1147
1255 ** `expand-file-name' fails to work on any but the machine you dumped Emacs on. 1148 ** `expand-file-name' fails to work on any but the machine you dumped
1149 Emacs on.
1256 1150
1257 On Ultrix, if you use any of the functions which look up information 1151 On Ultrix, if you use any of the functions which look up information
1258 in the passwd database before dumping Emacs (say, by using 1152 in the passwd database before dumping Emacs (say, by using
1259 expand-file-name in site-init.el), then those functions will not work 1153 expand-file-name in site-init.el), then those functions will not work
1260 in the dumped Emacs on any host but the one Emacs was dumped on. 1154 in the dumped Emacs on any host but the one Emacs was dumped on.
1267 Perhaps the YP functions cache some information, the cache is included 1161 Perhaps the YP functions cache some information, the cache is included
1268 in the dumped Emacs, and is then inaccurate on any other host. 1162 in the dumped Emacs, and is then inaccurate on any other host.
1269 1163
1270 ** Emacs fails to understand most Internet host names, even though 1164 ** Emacs fails to understand most Internet host names, even though
1271 the names work properly with other programs on the same system. 1165 the names work properly with other programs on the same system.
1272 ** Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0. 1166 Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.
1273 ** Gnus can't make contact with the specified host for nntp. 1167 Gnus can't make contact with the specified host for nntp.
1274 1168
1275 This typically happens on Suns and other systems that use shared 1169 This typically happens on Suns and other systems that use shared
1276 libraries. The cause is that the site has installed a version of the 1170 libraries. The cause is that the site has installed a version of the
1277 shared library which uses a name server--but has not installed a 1171 shared library which uses a name server--but has not installed a
1278 similar version of the unshared library which Emacs uses. 1172 similar version of the unshared library which Emacs uses.
1300 the s- file defines LIBS_SYSTEM as -lfoo -lbar, you could change config.h 1194 the s- file defines LIBS_SYSTEM as -lfoo -lbar, you could change config.h
1301 again to say this: 1195 again to say this:
1302 1196
1303 #define LIBS_SYSTEM -lresolv -lfoo -lbar 1197 #define LIBS_SYSTEM -lresolv -lfoo -lbar
1304 1198
1305 ** Bus errors on startup when compiled with Sun's "acc" (in the routine
1306 make_string_internal() called from initialize_environment_alist())
1307
1308 The Sun ANSI compiler doesn't place uninitialized static variables in BSS
1309 space like other compilers do. This breaks emacs. If you want to use acc,
1310 you need to make the file "lastfile.o" be the *first* file in the link
1311 command. Better yet, use Lucid C or GCC.
1312
1313 ** Trouble using ptys on AIX. 1199 ** Trouble using ptys on AIX.
1314 1200
1315 People often install the pty devices on AIX incorrectly. 1201 People often install the pty devices on AIX incorrectly.
1316 Use `smit pty' to reinstall them properly. 1202 Use `smit pty' to reinstall them properly.
1317 1203
1318 ** Shell mode on HP/UX gives the message, "`tty`: Ambiguous". 1204 ** Shell mode on HP/UX gives the message, "`tty`: Ambiguous".
1319 1205
1320 christos@theory.tn.cornell.edu says: 1206 christos@theory.tn.cornell.edu says:
1321 1207
1322 The problem is that in your .cshrc you have something that tries to 1208 The problem is that in your .cshrc you have something that tries to
1323 execute `tty`. If you are not running the shell on a real tty then 1209 execute `tty`. If you are not running the shell on a real tty then tty
1324 tty will print "not a tty". Csh expects one word in some places, 1210 will print "not a tty". Csh expects one word in some places, but tty
1325 but tty is giving it back 3. 1211 is giving it back 3.
1326 1212
1327 The solution is to add a pair of quotes around `tty` to make it a single 1213 The solution is to add a pair of quotes around `tty` to make it a
1328 word: 1214 single word:
1329 1215
1330 if (`tty` == "/dev/console") 1216 if (`tty` == "/dev/console")
1331 1217
1332 should be changed to: 1218 should be changed to:
1333 1219
1334 if ("`tty`" == "/dev/console") 1220 if ("`tty`" == "/dev/console")
1335 1221
1336 Even better, move things that set up terminal sections out of .cshrc 1222 Even better, move things that set up terminal sections out of .cshrc
1337 and into .login. 1223 and into .login.
1338 1224
1339 ** With process-connection-type set to t, each line of subprocess output is 1225 ** With process-connection-type set to t, each line of subprocess
1340 terminated with a ^M, making ange-ftp and GNUS not work. 1226 output is terminated with a ^M, making ange-ftp and GNUS not work.
1341 1227
1342 On SunOS systems, this problem has been seen to be a result of an incomplete 1228 On SunOS systems, this problem has been seen to be a result of an
1343 installation of gcc 2.2 which allowed some non-ANSI compatible include files 1229 incomplete installation of gcc 2.2 which allowed some non-ANSI
1344 into the compilation. In particular this affected virtually all ioctl() calls. 1230 compatible include files into the compilation. In particular this
1231 affected virtually all ioctl() calls.
1345 1232
1346 ** Once you pull down a menu from the menubar, it won't go away. 1233 ** Once you pull down a menu from the menubar, it won't go away.
1347 1234
1348 It has been claimed that this is caused by a bug in certain very old (1990?) 1235 It has been claimed that this is caused by a bug in certain very old
1349 versions of the twm window manager. It doesn't happen with recent vintages, 1236 (1990?) versions of the twm window manager. It doesn't happen with
1350 or with other window managers. 1237 recent vintages, or with other window managers.
1351 1238
1352 ** Emacs ignores the "help" key when running OLWM. 1239 ** Emacs ignores the "help" key when running OLWM.
1353 1240
1354 OLWM grabs the help key, and retransmits it to the appropriate client using 1241 OLWM grabs the help key, and retransmits it to the appropriate client
1355 XSendEvent. Allowing emacs to react to synthetic events is a security hole, 1242 using XSendEvent. Allowing emacs to react to synthetic events is a
1356 so this is turned off by default. You can enable it by setting the variable 1243 security hole, so this is turned off by default. You can enable it by
1357 x-allow-sendevents to t. You can also cause fix this by telling OLWM to not 1244 setting the variable x-allow-sendevents to t. You can also cause fix
1358 grab the help key, with the null binding "OpenWindows.KeyboardCommand.Help:". 1245 this by telling OLWM to not grab the help key, with the null binding
1246 "OpenWindows.KeyboardCommand.Help:".
1359 1247
1360 ** Programs running under terminal emulator do not recognize `emacs' 1248 ** Programs running under terminal emulator do not recognize `emacs'
1361 terminal type. 1249 terminal type.
1362 1250
1363 The cause of this is a shell startup file that sets the TERMCAP 1251 The cause of this is a shell startup file that sets the TERMCAP
1364 environment variable. The terminal emulator uses that variable to 1252 environment variable. The terminal emulator uses that variable to
1365 provide the information on the special terminal type that Emacs 1253 provide the information on the special terminal type that Emacs
1366 emulates. 1254 emulates.
1372 if ( ! ${?TERMCAP} ) setenv TERMCAP ~/my-termcap-file 1260 if ( ! ${?TERMCAP} ) setenv TERMCAP ~/my-termcap-file
1373 1261
1374 Or you could set TERMCAP only when you set TERM--which should not 1262 Or you could set TERMCAP only when you set TERM--which should not
1375 happen in a non-login shell. 1263 happen in a non-login shell.
1376 1264
1265
1377 * Compatibility problems (with Emacs 18, GNU Emacs, or previous XEmacs/lemacs) 1266 * Compatibility problems (with Emacs 18, GNU Emacs, or previous XEmacs/lemacs)
1267 ==============================================================================
1378 1268
1379 ** "Symbol's value as variable is void: unread-command-char". 1269 ** "Symbol's value as variable is void: unread-command-char".
1380 ** "Wrong type argument: arrayp, #<keymap 143 entries>" 1270 "Wrong type argument: arrayp, #<keymap 143 entries>"
1381 ** "Wrong type argument: stringp, [#<keypress-event return>]" 1271 "Wrong type argument: stringp, [#<keypress-event return>]"
1382 1272
1383 There are a few incompatible changes in XEmacs, and these are the 1273 There are a few incompatible changes in XEmacs, and these are the
1384 symptoms. Some of the emacs-lisp code you are running needs to be 1274 symptoms. Some of the emacs-lisp code you are running needs to be
1385 updated to be compatible with XEmacs. 1275 updated to be compatible with XEmacs.
1386 1276
1387 The code should not treat keymaps as arrays (use `define-key', etc.), 1277 The code should not treat keymaps as arrays (use `define-key', etc.),
1388 should not use obsolete variables like `unread-command-char' (use 1278 should not use obsolete variables like `unread-command-char' (use
1389 `unread-command-event'). Many (most) of the new ways of doing things 1279 `unread-command-events'). Many (most) of the new ways of doing things
1390 are compatible in GNU Emacs and XEmacs. 1280 are compatible in GNU Emacs and XEmacs.
1391 1281
1392 Modern Emacs packages (Gnus, VM, etc) are written to support GNU Emacs 1282 Modern Emacs packages (Gnus, VM, W3, efs, etc) are written to support
1393 and XEmacs. We have provided modified versions of several popular 1283 GNU Emacs and XEmacs. We have provided modified versions of several
1394 emacs packages (dired, etc) which are compatible with this version of 1284 popular emacs packages (dired, etc) which are compatible with this
1395 emacs. Check to make sure you have not set your load-path so that 1285 version of emacs. Check to make sure you have not set your load-path
1396 your private copies of these packages are being found before the 1286 so that your private copies of these packages are being found before
1397 versions in the lisp directory. 1287 the versions in the lisp directory.
1398 1288
1399 Make sure that your load-path and your $EMACSLOADPATH environment 1289 Make sure that your load-path and your $EMACSLOADPATH environment
1400 variable are not pointing at an Emacs18 lisp directory. This will 1290 variable are not pointing at an Emacs18 lisp directory. This will
1401 cripple emacs. 1291 cripple emacs.
1402 1292
1403 ** Some packages that worked before now cause the error 1293 ** Some packages that worked before now cause the error
1404 Wrong type argument: arrayp, #<face ... > 1294 Wrong type argument: arrayp, #<face ... >
1405 1295
1406 Code which uses the `face' accessor functions must be recompiled with xemacs 1296 Code which uses the `face' accessor functions must be recompiled with
1407 19.9 or later. The functions whose callers must be recompiled are: face-font, 1297 xemacs 19.9 or later. The functions whose callers must be recompiled
1408 face-foreground, face-background, face-background-pixmap, and face-underline-p. 1298 are: face-font, face-foreground, face-background,
1409 The .elc files generated by version 19.9 will work in 19.6 and 19.8, but older 1299 face-background-pixmap, and face-underline-p. The .elc files
1410 .elc files which contain calls to these functions will not work in 19.9. 1300 generated by version 19.9 will work in 19.6 and 19.8, but older .elc
1301 files which contain calls to these functions will not work in 19.9.
1411 1302
1412 ** Signaling: (error "Byte code stack underflow (byte compiler bug), pc 38") 1303 ** Signaling: (error "Byte code stack underflow (byte compiler bug), pc 38")
1413 1304
1414 This error is given when XEmacs 20 is compiled without MULE support 1305 This error is given when XEmacs 20 is compiled without MULE support
1415 but is attempting to load a .elc which requires MULE support. The fix 1306 but is attempting to load a .elc which requires MULE support. The fix
1416 is to rebytecompile the offending file. 1307 is to rebytecompile the offending file.
1417 1308
1418 ** Signaling: (wrong-type-argument ...) when loading mail-abbrevs 1309 ** Signaling: (wrong-type-argument ...) when loading mail-abbrevs
1419 1310
1420 The is seen when installing the Big Brother Data Base (bbdb) which 1311 The is seen when installing the Insidious Big Brother Data Base (bbdb)
1421 includes an outdated copy of mail-abbrevs.el. Remove the copy that 1312 which includes an outdated copy of mail-abbrevs.el. Remove the copy
1422 comes with bbdb and use the one that comes with XEmacs. 1313 that comes with bbdb and use the one that comes with XEmacs.
1314
1423 1315
1424 * MULE issues 1316 * MULE issues
1425 1317 =============
1426 ** Internationalized (Asian) Isearch doesn't work 1318
1319 ** Internationalized (Asian) Isearch doesn't work.
1427 1320
1428 Currently, Isearch doesn't directly support any of the input methods 1321 Currently, Isearch doesn't directly support any of the input methods
1429 that are not XIM based (like egg, canna and quail) (and there are 1322 that are not XIM based (like egg, canna and quail) (and there are
1430 potential problems with XIM version too...). This is something 1323 potential problems with XIM version too...). This is something
1431 we are working on, but for the moment, if you're using egg there is a 1324 we are working on, but for the moment, if you're using egg there is a
1435 supported in the minibuffer using string mode you can now use egg to 1328 supported in the minibuffer using string mode you can now use egg to
1436 input your Japanese, Korean or Chinese string, then hit return to send 1329 input your Japanese, Korean or Chinese string, then hit return to send
1437 that to Isearch and then use standard Isearch commands from there. 1330 that to Isearch and then use standard Isearch commands from there.
1438 1331
1439 ** Using egg or canna and mousing around while in 'fence' mode screws 1332 ** Using egg or canna and mousing around while in 'fence' mode screws
1440 up my buffer 1333 up my buffer.
1441 1334
1442 Don't do this. The fence modes of egg and canna are currently very 1335 Don't do this. The fence modes of egg and canna are currently very
1443 modal, and messing with where they expect point to be and what they 1336 modal, and messing with where they expect point to be and what they
1444 think is the current buffer is just asking for trouble. If you're 1337 think is the current buffer is just asking for trouble. If you're
1445 lucky they will realize that something is awry, and simply delete the 1338 lucky they will realize that something is awry, and simply delete the