Mercurial > hg > xemacs-beta
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 |