]> code.delx.au - gnu-emacs/blob - etc/PROBLEMS
*** empty log message ***
[gnu-emacs] / etc / PROBLEMS
1 This file describes various problems that have been encountered
2 in compiling, installing and running GNU Emacs.
3
4 * On systems with shared libraries you might encounter run-time errors
5 from the dynamic linker telling you that it is unable to find some
6 shared libraries, for instance those for Xaw3d or image support.
7 These errors mean Emacs has been linked with a library whose shared
8 library is not in the default search path of the dynamic linker.
9
10 On many systems, it is possible to set LD_LIBRARY_PATH in your
11 environment to specify additional directories where shared libraries
12 can be found.
13
14 Other systems allow to set LD_RUN_PATH in a similar way, but before
15 Emacs is linked. With LD_RUN_PATH set, the linker will include a
16 specified run-time search path in the executable.
17
18 Please refer to the documentation of your dynamic linker for details.
19
20 * On Solaris 2.7, building Emacs with WorkShop Compilers 5.0 98/12/15
21 C 5.0 is known to fail, most probably due to compiler bugs. Using
22 Sun Solaris 2.7 Sun WorkShop 6 update 1 C release was reported
23 to work without problems.
24
25 * On Windows 95/98/ME, subprocesses do not terminate properly.
26
27 This is a limitation of the Operating System, and can cause problems
28 when shutting down Windows. Ensure that all subprocesses are exited
29 cleanly before exiting Emacs. For more details, see the FAQ at
30 ftp://ftp.gnu.org/gnu/windows/emacs/doc/index.html
31
32 * Mail sent through Microsoft Exchange in some encodings appears to be
33 mangled and is not seen correctly in Rmail or Gnus. We don't know
34 exactly what happens, but it isn't an Emacs problem in cases we've
35 seen.
36
37 * On OSF/Dec Unix/Tru64/<whatever it is this year> under X locally or
38 remotely, M-SPC acts as a `compose' key with strange results. See
39 keyboard(5).
40
41 Changing Alt_L to Meta_L fixes it:
42 % xmodmap -e 'keysym Alt_L = Meta_L Alt_L'
43 % xmodmap -e 'keysym Alt_R = Meta_R Alt_R'
44
45 * Error "conflicting types for `initstate'" compiling with GCC on Irix 6.
46
47 Install GCC 2.95 or a newer version, and this problem should go away.
48 It is possible that this problem results from upgrading the operating
49 system without reinstalling GCC; so you could also try reinstalling
50 the same version of GCC, and telling us whether that fixes the problem.
51
52 * On Solaris 7, Emacs gets a segmentation fault when starting up using X.
53
54 This results from Sun patch 107058-01 (SunOS 5.7: Patch for
55 assembler) if you use GCC version 2.7 or later.
56 To work around it, either install patch 106950-03 or later,
57 or uninstall patch 107058-01, or install the GNU Binutils.
58 Then recompile Emacs, and it should work.
59
60 * With X11R6.4, public-patch-3, Emacs crashes at startup.
61
62 Reportedly this patch in X fixes the problem.
63
64 --- xc/lib/X11/imInt.c~ Wed Jun 30 13:31:56 1999
65 +++ xc/lib/X11/imInt.c Thu Jul 1 15:10:27 1999
66 @@ -1,4 +1,4 @@
67 -/* $TOG: imInt.c /main/5 1998/05/30 21:11:16 kaleb $ */
68 +/* $TOG: imInt.c /main/5 1998/05/30 21:11:16 kaleb $ */
69 /******************************************************************
70
71 Copyright 1992, 1993, 1994 by FUJITSU LIMITED
72 @@ -166,8 +166,8 @@
73 _XimMakeImName(lcd)
74 XLCd lcd;
75 {
76 - char* begin;
77 - char* end;
78 + char* begin = NULL;
79 + char* end = NULL;
80 char* ret;
81 int i = 0;
82 char* ximmodifier = XIMMODIFIER;
83 @@ -182,7 +182,11 @@
84 }
85 ret = Xmalloc(end - begin + 2);
86 if (ret != NULL) {
87 - (void)strncpy(ret, begin, end - begin + 1);
88 + if (begin != NULL) {
89 + (void)strncpy(ret, begin, end - begin + 1);
90 + } else {
91 + ret[0] = '\0';
92 + }
93 ret[end - begin + 1] = '\0';
94 }
95 return ret;
96
97
98 * Emacs crashes on Irix 6.5 on the SGI R10K, when compiled with GCC.
99
100 This seems to be fixed in GCC 2.95.
101
102 * Emacs crashes in utmpname on Irix 5.3.
103
104 This problem is fixed in Patch 3175 for Irix 5.3.
105 It is also fixed in Irix versions 6.2 and up.
106
107 * On Solaris, CTRL-t is ignored by Emacs when you use
108 the fr.ISO-8859-15 locale (and maybe other related locales).
109
110 You can fix this by editing the file:
111
112 /usr/openwin/lib/locale/iso8859-15/Compose
113
114 Near the bottom there is a line that reads:
115
116 Ctrl<t> <quotedbl> <Y> : "\276" threequarters
117
118 that should read:
119
120 Ctrl<T> <quotedbl> <Y> : "\276" threequarters
121
122 Note the lower case <t>. Changing this line should make C-t work.
123
124 * Emacs on Digital Unix 4.0 fails to build, giving error message
125 Invalid dimension for the charset-ID 160
126
127 This is due to a bug or an installation problem in GCC 2.8.0.
128 Installing a more recent version of GCC fixes the problem.
129
130 * Buffers from `with-output-to-temp-buffer' get set up in Help mode.
131
132 Changes in Emacs 20.4 to the hooks used by that function cause
133 problems for some packages, specifically BBDB. See the function's
134 documentation for the hooks involved. BBDB 2.00.06 fixes the problem.
135
136 * Under X, C-v and/or other keys don't work.
137
138 These may have been intercepted by your window manager. In
139 particular, AfterStep 1.6 is reported to steal C-v in its default
140 configuration. Various Meta keys are also likely to be taken by the
141 configuration of the `feel'. See the WM's documentation for how to
142 change this.
143
144 * When using Exceed, fonts sometimes appear too tall.
145
146 When the display is set to an Exceed X-server and fonts are specified
147 (either explicitly with the -fn option or implicitly with X resources)
148 then the fonts may appear "too tall". The actual character sizes are
149 correct but there is too much vertical spacing between rows, which
150 gives the appearance of "double spacing".
151
152 To prevent this, turn off the Exceed's "automatic font substitution"
153 feature (in the font part of the configuration window).
154
155 * Failure in unexec while dumping emacs on Digital Unix 4.0
156
157 This problem manifests itself as an error message
158
159 unexec: Bad address, writing data section to ...
160
161 The user suspects that this happened because his X libraries
162 were built for an older system version,
163
164 ./configure --x-includes=/usr/include --x-libraries=/usr/shlib
165
166 made the problem go away.
167
168 * No visible display on mips-sgi-irix6.2 when compiling with GCC 2.8.1.
169
170 This problem went away after installing the latest IRIX patches
171 as of 8 Dec 1998.
172
173 The same problem has been reported on Irix 6.3.
174
175 * As of version 20.4, Emacs doesn't work properly if configured for
176 the Motif toolkit and linked against the free LessTif library. The
177 next Emacs release is expected to work with LessTif.
178
179 * Emacs gives the error, Couldn't find per display information.
180
181 This can result if the X server runs out of memory because Emacs uses
182 a large number of fonts. On systems where this happens, C-h h is
183 likely to cause it.
184
185 We do not know of a way to prevent the problem.
186
187 * Emacs makes HPUX 11.0 crash.
188
189 This is a bug in HPUX; HPUX patch PHKL_16260 is said to fix it.
190
191 * Emacs crashes during dumping on the HPPA machine (HPUX 10.20).
192
193 This seems to be due to a GCC bug; it is fixed in GCC 2.8.1.
194
195 * The Hyperbole package causes *Help* buffers not to be displayed in
196 Help mode due to setting `temp-buffer-show-hook' rather than using
197 `add-hook'. Using `(add-hook 'temp-buffer-show-hook
198 'help-mode-maybe)' after loading Hyperbole should fix this.
199
200 * Versions of the PSGML package earlier than 1.0.3 (stable) or 1.1.2
201 (alpha) fail to parse DTD files correctly in Emacs 20.3 and later.
202 Here is a patch for psgml-parse.el from PSGML 1.0.1 and, probably,
203 earlier versions.
204
205 --- psgml-parse.el 1998/08/21 19:18:18 1.1
206 +++ psgml-parse.el 1998/08/21 19:20:00
207 @@ -2383,7 +2383,7 @@ (defun sgml-push-to-entity (entity &opti
208 (setq sgml-buffer-parse-state nil))
209 (cond
210 ((stringp entity) ; a file name
211 - (save-excursion (insert-file-contents entity))
212 + (insert-file-contents entity)
213 (setq default-directory (file-name-directory entity)))
214 ((consp (sgml-entity-text entity)) ; external id?
215 (let* ((extid (sgml-entity-text entity))
216
217 * Running TeX from AUXTeX package with Emacs 20.3 gives a Lisp error
218 about a read-only tex output buffer.
219
220 This problem appeared for AUC TeX version 9.9j and some earlier
221 versions. Here is a patch for the file tex-buf.el in the AUC TeX
222 package.
223
224 diff -c auctex/tex-buf.el~ auctex/tex-buf.el
225 *** auctex/tex-buf.el~ Wed Jul 29 18:35:32 1998
226 --- auctex/tex-buf.el Sat Sep 5 15:20:38 1998
227 ***************
228 *** 545,551 ****
229 (dir (TeX-master-directory)))
230 (TeX-process-check file) ; Check that no process is running
231 (setq TeX-command-buffer (current-buffer))
232 ! (with-output-to-temp-buffer buffer)
233 (set-buffer buffer)
234 (if dir (cd dir))
235 (insert "Running `" name "' on `" file "' with ``" command "''\n")
236 - --- 545,552 ----
237 (dir (TeX-master-directory)))
238 (TeX-process-check file) ; Check that no process is running
239 (setq TeX-command-buffer (current-buffer))
240 ! (let (temp-buffer-show-function temp-buffer-show-hook)
241 ! (with-output-to-temp-buffer buffer))
242 (set-buffer buffer)
243 (if dir (cd dir))
244 (insert "Running `" name "' on `" file "' with ``" command "''\n")
245
246 * On Irix 6.3, substituting environment variables in file names
247 in the minibuffer gives peculiar error messages such as
248
249 Substituting nonexistent environment variable ""
250
251 This is not an Emacs bug; it is caused by something in SGI patch
252 003082 August 11, 1998.
253
254 * After a while, Emacs slips into unibyte mode.
255
256 The VM mail package, which is not part of Emacs, sometimes does
257 (standard-display-european t)
258 That should be changed to
259 (standard-display-european 1 t)
260
261 * Installing Emacs gets an error running `install-info'.
262
263 You need to install a recent version of Texinfo; that package
264 supplies the `install-info' command.
265
266 * Emacs does not recognize the AltGr key, on HPUX.
267
268 To fix this, set up a file ~/.dt/sessions/sessionetc with executable
269 rights, containing this text:
270
271 --------------------------------
272 xmodmap 2> /dev/null - << EOF
273 keysym Alt_L = Meta_L
274 keysym Alt_R = Meta_R
275 EOF
276
277 xmodmap - << EOF
278 clear mod1
279 keysym Mode_switch = NoSymbol
280 add mod1 = Meta_L
281 keysym Meta_R = Mode_switch
282 add mod2 = Mode_switch
283 EOF
284 --------------------------------
285
286 * Emacs compiled with DJGPP for MS-DOS/MS-Windows cannot access files
287 in the directory with the special name `dev' under the root of any
288 drive, e.g. `c:/dev'.
289
290 This is an unfortunate side-effect of the support for Unix-style
291 device names such as /dev/null in the DJGPP runtime library. A
292 work-around is to rename the problem directory to another name.
293
294 * M-SPC seems to be ignored as input.
295
296 See if your X server is set up to use this as a command
297 for character composition.
298
299 * Emacs startup on GNU/Linux systems (and possibly other systems) is slow.
300
301 This can happen if the system is misconfigured and Emacs can't get the
302 full qualified domain name, FQDN. You should have your FQDN in the
303 /etc/hosts file, something like this:
304
305 127.0.0.1 localhost
306 129.187.137.82 nuc04.t30.physik.tu-muenchen.de nuc04
307
308 The way to set this up may vary on non-GNU systems.
309
310 * Garbled display on non-X terminals when Emacs runs on Digital Unix 4.0.
311
312 So far it appears that running `tset' triggers this problem (when TERM
313 is vt100, at least). If you do not run `tset', then Emacs displays
314 properly. If someone can tell us precisely which effect of running
315 `tset' actually causes the problem, we may be able to implement a fix
316 in Emacs.
317
318 * When you run Ispell from Emacs, it reports a "misalignment" error.
319
320 This can happen if you compiled Ispell to use ASCII characters only
321 and then try to use it from Emacs with non-ASCII characters,
322 specifically Latin-1. The solution is to recompile Ispell with
323 Latin-1 support.
324
325 This can also happen if the version of Ispell installed on your
326 machine is old.
327
328 * On Linux-based GNU systems using libc versions 5.4.19 through
329 5.4.22, Emacs crashes at startup with a segmentation fault.
330
331 This problem happens if libc defines the symbol __malloc_initialized.
332 One known solution is to upgrade to a newer libc version. 5.4.33 is
333 known to work.
334
335 * On Windows, you cannot use the right-hand ALT key and the left-hand
336 CTRL key together to type a Control-Meta character.
337
338 This is a consequence of a misfeature beyond Emacs's control.
339
340 Under Windows, the AltGr key on international keyboards generates key
341 events with the modifiers Right-Alt and Left-Ctrl. Since Emacs cannot
342 distinguish AltGr from an explicit Right-Alt and Left-Ctrl
343 combination, whenever it sees Right-Alt and Left-Ctrl it assumes that
344 AltGr has been pressed.
345
346 * Under some Windows X-servers, Emacs' display is incorrect
347
348 The symptoms are that Emacs does not completely erase blank areas of the
349 screen during scrolling or some other screen operations (e.g., selective
350 display or when killing a region). M-x recenter will cause the screen
351 to be completely redisplayed and the "extra" characters will disappear.
352
353 This is known to occur under Exceed 6, and possibly earlier versions as
354 well. The problem lies in the X-server settings.
355
356 There are reports that you can solve the problem with Exceed by
357 running `Xconfig' from within NT, choosing "X selection", then
358 un-checking the boxes "auto-copy X selection" and "auto-paste to X
359 selection".
360
361 Of this does not work, please inform bug-gnu-emacs@gnu.org. Then
362 please call support for your X-server and see if you can get a fix.
363 If you do, please send it to bug-gnu-emacs@gnu.org so we can list it
364 here.
365
366 * On Solaris 2, Emacs dumps core when built with Motif.
367
368 The Solaris Motif libraries are buggy, at least up through Solaris 2.5.1.
369 Install the current Motif runtime library patch appropriate for your host.
370 (Make sure the patch is current; some older patch versions still have the bug.)
371 You should install the other patches recommended by Sun for your host, too.
372 You can obtain Sun patches from ftp://sunsolve.sun.com/pub/patches/;
373 look for files with names ending in `.PatchReport' to see which patches
374 are currently recommended for your host.
375
376 On Solaris 2.6, Emacs is said to work with Motif when Solaris patch
377 105284-12 is installed, but fail when 105284-15 is installed.
378 105284-18 might fix it again.
379
380 * On Solaris 2.6 and 7, the Compose key does not work.
381
382 This is a bug in Motif in Solaris. Supposedly it has been fixed for
383 the next major release of Solaris. However, if someone with Sun
384 support complains to Sun about the bug, they may release a patch.
385 If you do this, mention Sun bug #4188711.
386
387 One workaround is to use a locale that allows non-ASCII characters.
388 For example, before invoking emacs, set the LC_ALL environment
389 variable to "en_US" (American English). The directory /usr/lib/locale
390 lists the supported locales; any locale other than "C" or "POSIX"
391 should do.
392
393 pen@lysator.liu.se says (Feb 1998) that the Compose key does work
394 if you link with the MIT X11 libraries instead of the Solaris X11
395 libraries.
396
397 * Emacs does not know your host's fully-qualified domain name.
398
399 You need to configure your machine with a fully qualified domain name,
400 either in /etc/hosts, /etc/hostname, the NIS, or wherever your system
401 calls for specifying this.
402
403 If you cannot fix the configuration, you can set the Lisp variable
404 mail-host-address to the value you want.
405
406 * Error 12 (virtual memory exceeded) when dumping Emacs, on UnixWare 2.1
407
408 Paul Abrahams (abrahams@acm.org) reports that with the installed
409 virtual memory settings for UnixWare 2.1.2, an Error 12 occurs during
410 the "make" that builds Emacs, when running temacs to dump emacs. That
411 error indicates that the per-process virtual memory limit has been
412 exceeded. The default limit is probably 32MB. Raising the virtual
413 memory limit to 40MB should make it possible to finish building Emacs.
414
415 You can do this with the command `ulimit' (sh) or `limit' (csh).
416 But you have to be root to do it.
417
418 According to Martin Sohnius, you can also retune this in the kernel:
419
420 # /etc/conf/bin/idtune SDATLIM 33554432 ## soft data size limit
421 # /etc/conf/bin/idtune HDATLIM 33554432 ## hard "
422 # /etc/conf/bin/idtune SVMMSIZE unlimited ## soft process size limit
423 # /etc/conf/bin/idtune HVMMSIZE unlimited ## hard "
424 # /etc/conf/bin/idbuild -B
425
426 (He recommends you not change the stack limit, though.)
427 These changes take effect when you reboot.
428
429 * Redisplay using X11 is much slower than previous Emacs versions.
430
431 We've noticed that certain X servers draw the text much slower when
432 scroll bars are on the left. We don't know why this happens. If this
433 happens to you, you can work around it by putting the scroll bars
434 on the right (as they were in Emacs 19).
435
436 Here's how to do this:
437
438 (set-scroll-bar-mode 'right)
439
440 If you're not sure whether (or how much) this problem affects you,
441 try that and see how much difference it makes. To set things back
442 to normal, do
443
444 (set-scroll-bar-mode 'left)
445
446 * Under X11, some characters appear as hollow boxes.
447
448 Each X11 font covers just a fraction of the characters that Emacs
449 supports. To display the whole range of Emacs characters requires
450 many different fonts, collected into a fontset.
451
452 If some of the fonts called for in your fontset do not exist on your X
453 server, then the characters that have no font appear as hollow boxes.
454 You can remedy the problem by installing additional fonts.
455
456 The intlfonts distribution includes a full spectrum of fonts that can
457 display all the characters Emacs supports.
458
459 * Under X11, some characters appear improperly aligned in their lines.
460
461 You may have bad X11 fonts; try installing the intlfonts distribution.
462
463 * Certain fonts make each line take one pixel more than it "should".
464
465 This is because these fonts contain characters a little taller
466 than the font's nominal height. Emacs needs to make sure that
467 lines do not overlap.
468
469 * You request inverse video, and the first Emacs frame is in inverse
470 video, but later frames are not in inverse video.
471
472 This can happen if you have an old version of the custom library in
473 your search path for Lisp packages. Use M-x list-load-path-shadows to
474 check whether this is true. If it is, delete the old custom library.
475
476 * In FreeBSD 2.1.5, useless symbolic links remain in /tmp or other
477 directories that have the +t bit.
478
479 This is because of a kernel bug in FreeBSD 2.1.5 (fixed in 2.2).
480 Emacs uses symbolic links to implement file locks. In a directory
481 with +t bit, the directory owner becomes the owner of the symbolic
482 link, so that it cannot be removed by anyone else.
483
484 If you don't like those useless links, you can let Emacs not to using
485 file lock by adding #undef CLASH_DETECTION to config.h.
486
487 * When using M-x dbx with the SparcWorks debugger, the `up' and `down'
488 commands do not move the arrow in Emacs.
489
490 You can fix this by adding the following line to `~/.dbxinit':
491
492 dbxenv output_short_file_name off
493
494 * Emacs says it has saved a file, but the file does not actually
495 appear on disk.
496
497 This can happen on certain systems when you are using NFS, if the
498 remote disk is full. It is due to a bug in NFS (or certain NFS
499 implementations), and there is apparently nothing Emacs can do to
500 detect the problem. Emacs checks the failure codes of all the system
501 calls involved in writing a file, including `close'; but in the case
502 where the problem occurs, none of those system calls fails.
503
504 * "Compose Character" key does strange things when used as a Meta key.
505
506 If you define one key to serve as both Meta and Compose Character, you
507 will get strange results. In previous Emacs versions, this "worked"
508 in that the key acted as Meta--that's because the older Emacs versions
509 did not try to support Compose Character. Now Emacs tries to do
510 character composition in the standard X way. This means that you
511 must pick one meaning or the other for any given key.
512
513 You can use both functions (Meta, and Compose Character) if you assign
514 them to two different keys.
515
516 * Emacs gets a segmentation fault at startup, on AIX4.2.
517
518 If you are using IBM's xlc compiler, compile emacs.c
519 without optimization; that should avoid the problem.
520
521 * movemail compiled with POP support can't connect to the POP server.
522
523 Make sure that the `pop' entry in /etc/services, or in the services
524 NIS map if your machine uses NIS, has the same port number as the
525 entry on the POP server. A common error is for the POP server to be
526 listening on port 110, the assigned port for the POP3 protocol, while
527 the client is trying to connect on port 109, the assigned port for the
528 old POP protocol.
529
530 * Emacs crashes in x-popup-dialog.
531
532 This can happen if the dialog widget cannot find the font it wants to
533 use. You can work around the problem by specifying another font with
534 an X resource--for example, `Emacs.dialog*.font: 9x15' (or any font that
535 happens to exist on your X server).
536
537 * Emacs crashes when you use Bibtex mode.
538
539 This happens if your system puts a small limit on stack size. You can
540 prevent the problem by using a suitable shell command (often `ulimit')
541 to raise the stack size limit before you run Emacs.
542
543 Patches to raise the stack size limit automatically in `main'
544 (src/emacs.c) on various systems would be greatly appreciated.
545
546 * Emacs crashes with SIGBUS or SIGSEGV on HPUX 9 after you delete a frame.
547
548 We think this is due to a bug in the X libraries provided by HP. With
549 the alternative X libraries in /usr/contrib/mitX11R5/lib, the problem
550 does not happen.
551
552 * Emacs crashes with SIGBUS or SIGSEGV on Solaris after you delete a frame.
553
554 We suspect that this is a similar bug in the X libraries provided by
555 Sun. There is a report that one of these patches fixes the bug and
556 makes the problem stop:
557
558 105216-01 105393-01 105518-01 105621-01 105665-01 105615-02 105216-02
559 105667-01 105401-08 105615-03 105621-02 105686-02 105736-01 105755-03
560 106033-01 105379-01 105786-01 105181-04 105379-03 105786-04 105845-01
561 105284-05 105669-02 105837-01 105837-02 105558-01 106125-02 105407-01
562
563 Another person using a newer system (kernel patch level Generic_105181-06)
564 suspects that the bug was fixed by one of these more recent patches:
565
566 106040-07 SunOS 5.6: X Input & Output Method patch
567 106222-01 OpenWindows 3.6: filemgr (ff.core) fixes
568 105284-12 Motif 1.2.7: sparc Runtime library patch
569
570 * Problems running Perl under Emacs on Windows NT/95.
571
572 `perl -de 0' just hangs when executed in an Emacs subshell.
573 The fault lies with Perl (indirectly with Windows NT/95).
574
575 The problem is that the Perl debugger explicitly opens a connection to
576 "CON", which is the DOS/NT equivalent of "/dev/tty", for interacting
577 with the user.
578
579 On Unix, this is okay, because Emacs (or the shell?) creates a
580 pseudo-tty so that /dev/tty is really the pipe Emacs is using to
581 communicate with the subprocess.
582
583 On NT, this fails because CON always refers to the handle for the
584 relevant console (approximately equivalent to a tty), and cannot be
585 redirected to refer to the pipe Emacs assigned to the subprocess as
586 stdin.
587
588 A workaround is to modify perldb.pl to use STDIN/STDOUT instead of CON.
589
590 For Perl 4:
591
592 *** PERL/LIB/PERLDB.PL.orig Wed May 26 08:24:18 1993
593 --- PERL/LIB/PERLDB.PL Mon Jul 01 15:28:16 1996
594 ***************
595 *** 68,74 ****
596 $rcfile=".perldb";
597 }
598 else {
599 ! $console = "con";
600 $rcfile="perldb.ini";
601 }
602
603 --- 68,74 ----
604 $rcfile=".perldb";
605 }
606 else {
607 ! $console = "";
608 $rcfile="perldb.ini";
609 }
610
611
612 For Perl 5:
613 *** perl/5.001/lib/perl5db.pl.orig Sun Jun 04 21:13:40 1995
614 --- perl/5.001/lib/perl5db.pl Mon Jul 01 17:00:08 1996
615 ***************
616 *** 22,28 ****
617 $rcfile=".perldb";
618 }
619 elsif (-e "con") {
620 ! $console = "con";
621 $rcfile="perldb.ini";
622 }
623 else {
624 --- 22,28 ----
625 $rcfile=".perldb";
626 }
627 elsif (-e "con") {
628 ! $console = "";
629 $rcfile="perldb.ini";
630 }
631 else {
632
633 * Problems running DOS programs on Windows NT versions earlier than 3.51.
634
635 Some DOS programs, such as pkzip/pkunzip will not work at all, while
636 others will only work if their stdin is redirected from a file or NUL.
637
638 When a DOS program does not work, a new process is actually created, but
639 hangs. It cannot be interrupted from Emacs, and might need to be killed
640 by an external program if Emacs is hung waiting for the process to
641 finish. If Emacs is not waiting for it, you should be able to kill the
642 instance of ntvdm that is running the hung process from Emacs, if you
643 can find out the process id.
644
645 It is safe to run most DOS programs using call-process (eg. M-! and
646 M-|) since stdin is then redirected from a file, but not with
647 start-process since that redirects stdin to a pipe. Also, running DOS
648 programs in a shell buffer prompt without redirecting stdin does not
649 work.
650
651 * Problems on MS-DOG if DJGPP v2.0 is used to compile Emacs:
652
653 There are two DJGPP library bugs which cause problems:
654
655 * Running `shell-command' (or `compile', or `grep') you get
656 `Searching for program: permission denied (EACCES), c:/command.com';
657 * After you shell to DOS, Ctrl-Break kills Emacs.
658
659 To work around these bugs, you can use two files in the msdos
660 subdirectory: `is_exec.c' and `sigaction.c'. Compile them and link
661 them into the Emacs executable `temacs'; then they will replace the
662 incorrect library functions.
663
664 * When compiling with DJGPP on Windows 95, Make fails for some targets
665 like make-docfile.
666
667 This can happen if long file name support (the setting of environment
668 variable LFN) when Emacs distribution was unpacked and during
669 compilation are not the same. See the MSDOG section of INSTALL for
670 the explanation of how to avoid this problem.
671
672 * Emacs compiled for MSDOS cannot find some Lisp files, or other
673 run-time support files, when long filename support is enabled.
674 (Usually, this problem will manifest itself when Emacs exits
675 immediately after flashing the startup screen, because it cannot find
676 the Lisp files it needs to load at startup. Redirect Emacs stdout
677 and stderr to a file to see the error message printed by Emacs.)
678
679 This can happen if the Emacs distribution was unzipped without LFN
680 support, thus causing long filenames to be truncated to the first 6
681 characters and a numeric tail that Windows 95 normally attaches to it.
682 You should unzip the files again with a utility that supports long
683 filenames (such as djtar from DJGPP or InfoZip's UnZip program
684 compiled with DJGPP v2). The MSDOG section of the file INSTALL
685 explains this issue in more detail.
686
687 * Emacs compiled with DJGPP complains at startup:
688
689 "Wrong type of argument: internal-facep, msdos-menu-active-face"
690
691 This can happen if you define an environment variable `TERM'. Emacs
692 on MSDOS uses an internal terminal emulator which is disabled if the
693 value of `TERM' is anything but the string "internal". Emacs then
694 works as if its terminal were a dumb glass teletype that doesn't
695 support faces. To work around this, arrange for `TERM' to be
696 undefined when Emacs runs. The best way to do that is to add an
697 [emacs] section to the DJGPP.ENV file which defines an empty value for
698 `TERM'; this way, only Emacs gets the empty value, while the rest of
699 your system works as before.
700
701 * On Windows 95, Alt-f6 does not get through to Emacs.
702
703 This character seems to be trapped by the kernel in Windows 95.
704 You can enter M-f6 by typing ESC f6.
705
706 * Typing Alt-Shift has strange effects on Windows 95.
707
708 This combination of keys is a command to change keyboard layout. If
709 you proceed to type another non-modifier key before you let go of Alt
710 and Shift, the Alt and Shift act as modifiers in the usual way.
711
712 * `tparam' reported as a multiply-defined symbol when linking with ncurses.
713
714 This problem results from an incompatible change in ncurses, in
715 version 1.9.9e approximately. This version is unable to provide a
716 definition of tparm without also defining tparam. This is also
717 incompatible with Terminfo; as a result, the Emacs Terminfo support
718 does not work with this version of ncurses.
719
720 The fix is to install a newer version of ncurses, such as version 4.2.
721
722 * Strange results from format %d in a few cases, on a Sun.
723
724 Sun compiler version SC3.0 has been found to miscompile part of
725 editfns.c. The workaround is to compile with some other compiler such
726 as GCC.
727
728 * Output from subprocess (such as man or diff) is randomly truncated
729 on GNU/Linux systems.
730
731 This is due to a kernel bug which seems to be fixed in Linux version
732 1.3.75.
733
734 * Error messages `internal facep []' happen on GNU/Linux systems.
735
736 There is a report that replacing libc.so.5.0.9 with libc.so.5.2.16
737 caused this to start happening. People are not sure why, but the
738 problem seems unlikely to be in Emacs itself. Some suspect that it
739 is actually Xlib which won't work with libc.so.5.2.16.
740
741 Using the old library version is a workaround.
742
743 * On Solaris, Emacs crashes if you use (display-time).
744
745 This can happen if you configure Emacs without specifying the precise
746 version of Solaris that you are using.
747
748 * Emacs dumps core on startup, on Solaris.
749
750 Bill Sebok says that the cause of this is Solaris 2.4 vendor patch
751 102303-05, which extends the Solaris linker to deal with the Solaris
752 Common Desktop Environment's linking needs. You can fix the problem
753 by removing this patch and installing patch 102049-02 instead.
754 However, that linker version won't work with CDE.
755
756 Solaris 2.5 comes with a linker that has this bug. It is reported that if
757 you install all the latest patches (as of June 1996), the bug is fixed.
758 We suspect the crucial patch is one of these, but we don't know
759 for certain.
760
761 103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes)
762 102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes)
763 103242-04: [README] SunOS 5.5: linker patch (595363 bytes)
764
765 (One user reports that the bug was fixed by those patches together
766 with patches 102980-04, 103279-01, 103300-02, and 103468-01.)
767
768 If you can determine which patch does fix the bug, please tell
769 bug-gnu-emacs@gnu.org.
770
771 Meanwhile, the GNU linker links Emacs properly on both Solaris 2.4 and
772 Solaris 2.5.
773
774 * Emacs dumps core if lisp-complete-symbol is called, on Solaris.
775
776 If you compile Emacs with the -fast or -xO4 option with version 3.0.2
777 of the Sun C compiler, Emacs dumps core when lisp-complete-symbol is
778 called. The problem does not happen if you compile with GCC.
779
780 * "Cannot find callback list" messages from dialog boxes on HPUX, in
781 Emacs built with Motif.
782
783 This problem resulted from a bug in GCC 2.4.5. Newer GCC versions
784 such as 2.7.0 fix the problem.
785
786 * On Irix 6.0, make tries (and fails) to build a program named unexelfsgi
787
788 A compiler bug inserts spaces into the string "unexelfsgi . o"
789 in src/Makefile. Edit src/Makefile, after configure is run,
790 find that string, and take out the spaces.
791
792 Compiler fixes in Irix 6.0.1 should eliminate this problem.
793
794 * "out of virtual swap space" on Irix 5.3
795
796 This message occurs when the system runs out of swap space due to too
797 many large programs running. The solution is either to provide more
798 swap space or to reduce the number of large programs being run. You
799 can check the current status of the swap space by executing the
800 command `swap -l'.
801
802 You can increase swap space by changing the file /etc/fstab. Adding a
803 line like this:
804
805 /usr/swap/swap.more swap swap pri=3 0 0
806
807 where /usr/swap/swap.more is a file previously created (for instance
808 by using /etc/mkfile), will increase the swap space by the size of
809 that file. Execute `swap -m' or reboot the machine to activate the
810 new swap area. See the manpages for `swap' and `fstab' for further
811 information.
812
813 The objectserver daemon can use up lots of memory because it can be
814 swamped with NIS information. It collects information about all users
815 on the network that can log on to the host.
816
817 If you want to disable the objectserver completely, you can execute
818 the command `chkconfig objectserver off' and reboot. That may disable
819 some of the window system functionality, such as responding CDROM
820 icons.
821
822 You can also remove NIS support from the objectserver. The SGI `admin'
823 FAQ has a detailed description on how to do that; see question 35
824 ("Why isn't the objectserver working?"). The admin FAQ can be found at
825 ftp://viz.tamu.edu/pub/sgi/faq/.
826
827 * With certain fonts, when the cursor appears on a character, the
828 character doesn't appear--you get a solid box instead.
829
830 One user on a Linux-based GNU system reported that this problem went
831 away with installation of a new X server. The failing server was
832 XFree86 3.1.1. XFree86 3.1.2 works.
833
834 * On SunOS 4.1.3, Emacs unpredictably crashes in _yp_dobind_soft.
835
836 This happens if you configure Emacs specifying just `sparc-sun-sunos4'
837 on a system that is version 4.1.3. You must specify the precise
838 version number (or let configure figure out the configuration, which
839 it can do perfectly well for SunOS).
840
841 * On SunOS 4, Emacs processes keep going after you kill the X server
842 (or log out, if you logged in using X).
843
844 Someone reported that recompiling with GCC 2.7.0 fixed this problem.
845
846 * On AIX 4, some programs fail when run in a Shell buffer
847 with an error message like No terminfo entry for "unknown".
848
849 On AIX, many terminal type definitions are not installed by default.
850 `unknown' is one of them. Install the "Special Generic Terminal
851 Definitions" to make them defined.
852
853 * On SunOS, you get linker errors
854 ld: Undefined symbol
855 _get_wmShellWidgetClass
856 _get_applicationShellWidgetClass
857
858 The fix to this is to install patch 100573 for OpenWindows 3.0
859 or link libXmu statically.
860
861 * On AIX 4.1.2, linker error messages such as
862 ld: 0711-212 SEVERE ERROR: Symbol .__quous, found in the global symbol table
863 of archive /usr/lib/libIM.a, was not defined in archive member shr.o.
864
865 This is a problem in libIM.a. You can work around it by executing
866 these shell commands in the src subdirectory of the directory where
867 you build Emacs:
868
869 cp /usr/lib/libIM.a .
870 chmod 664 libIM.a
871 ranlib libIM.a
872
873 Then change -lIM to ./libIM.a in the command to link temacs (in
874 Makefile).
875
876 * Unpredictable segmentation faults on Solaris 2.3 and 2.4.
877
878 A user reported that this happened in 19.29 when it was compiled with
879 the Sun compiler, but not when he recompiled with GCC 2.7.0.
880
881 We do not know whether something in Emacs is partly to blame for this.
882
883 * Emacs exits with "X protocol error" when run with an X server for
884 Windows.
885
886 A certain X server for Windows had a bug which caused this.
887 Supposedly the newer 32-bit version of this server doesn't have the
888 problem.
889
890 * Emacs crashes at startup on MSDOS.
891
892 Some users report that Emacs 19.29 requires dpmi memory management,
893 and crashes on startup if the system does not have it. We don't yet
894 know why this happens--perhaps these machines don't have enough real
895 memory, or perhaps something is wrong in Emacs or the compiler.
896 However, arranging to use dpmi support is a workaround.
897
898 You can find out if you have a dpmi host by running go32 without
899 arguments; it will tell you if it uses dpmi memory. For more
900 information about dpmi memory, consult the djgpp FAQ. (djgpp
901 is the GNU C compiler as packaged for MSDOS.)
902
903 Compiling Emacs under MSDOS is extremely sensitive for proper memory
904 configuration. If you experience problems during compilation, consider
905 removing some or all memory resident programs (notably disk caches)
906 and make sure that your memory managers are properly configured. See
907 the djgpp faq for configuration hints.
908
909 * A position you specified in .Xdefaults is ignored, using twm.
910
911 twm normally ignores "program-specified" positions.
912 You can tell it to obey them with this command in your `.twmrc' file:
913
914 UsePPosition "on" #allow clients to request a position
915
916 * Compiling lib-src says there is no rule to make test-distrib.c.
917
918 This results from a bug in a VERY old version of GNU Sed. To solve
919 the problem, install the current version of GNU Sed, then rerun
920 Emacs's configure script.
921
922 * Compiling wakeup, in lib-src, says it can't make wakeup.c.
923
924 This results from a bug in GNU Sed version 2.03. To solve the
925 problem, install the current version of GNU Sed, then rerun Emacs's
926 configure script.
927
928 * On Sunos 4.1.1, there are errors compiling sysdep.c.
929
930 If you get errors such as
931
932 "sysdep.c", line 2017: undefined structure or union
933 "sysdep.c", line 2017: undefined structure or union
934 "sysdep.c", line 2019: nodename undefined
935
936 This can result from defining LD_LIBRARY_PATH. It is very tricky
937 to use that environment variable with Emacs. The Emacs configure
938 script links many test programs with the system libraries; you must
939 make sure that the libraries available to configure are the same
940 ones available when you build Emacs.
941
942 * The right Alt key works wrong on German HP keyboards (and perhaps
943 other non-English HP keyboards too).
944
945 This is because HPUX defines the modifiers wrong in X. Here is a
946 shell script to fix the problem; be sure that it is run after VUE
947 configures the X server.
948
949 xmodmap 2> /dev/null - << EOF
950 keysym Alt_L = Meta_L
951 keysym Alt_R = Meta_R
952 EOF
953
954 xmodmap - << EOF
955 clear mod1
956 keysym Mode_switch = NoSymbol
957 add mod1 = Meta_L
958 keysym Meta_R = Mode_switch
959 add mod2 = Mode_switch
960 EOF
961
962 * The Emacs window disappears when you type M-q.
963
964 Some versions of the Open Look window manager interpret M-q as a quit
965 command for whatever window you are typing at. If you want to use
966 Emacs with that window manager, you should try to configure the window
967 manager to use some other command. You can disable the
968 shortcut keys entirely by adding this line to ~/.OWdefaults:
969
970 OpenWindows.WindowMenuAccelerators: False
971
972 * Emacs does not notice when you release the mouse.
973
974 There are reports that this happened with (some) Microsoft mice and
975 that replacing the mouse made it stop.
976
977 * Trouble using ptys on IRIX, or running out of ptys.
978
979 The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to
980 be set-UID to root, or non-root programs like Emacs will not be able
981 to allocate ptys reliably.
982
983 * On Irix 5.2, unexelfsgi.c can't find cmplrs/stsupport.h.
984
985 The file cmplrs/stsupport.h was included in the wrong file set in the
986 Irix 5.2 distribution. You can find it in the optional fileset
987 compiler_dev, or copy it from some other Irix 5.2 system. A kludgy
988 workaround is to change unexelfsgi.c to include sym.h instead of
989 syms.h.
990
991 * Slow startup on Linux-based GNU systems.
992
993 People using systems based on the Linux kernel sometimes report that
994 startup takes 10 to 15 seconds longer than `usual'.
995
996 This is because Emacs looks up the host name when it starts.
997 Normally, this takes negligible time; the extra delay is due to
998 improper system configuration. This problem can occur for both
999 networked and non-networked machines.
1000
1001 Here is how to fix the configuration. It requires being root.
1002
1003 ** Networked Case
1004
1005 First, make sure the files `/etc/hosts' and `/etc/host.conf' both
1006 exist. The first line in the `/etc/hosts' file should look like this
1007 (replace HOSTNAME with your host name):
1008
1009 127.0.0.1 HOSTNAME
1010
1011 Also make sure that the `/etc/host.conf' files contains the following
1012 lines:
1013
1014 order hosts, bind
1015 multi on
1016
1017 Any changes, permanent and temporary, to the host name should be
1018 indicated in the `/etc/hosts' file, since it acts a limited local
1019 database of addresses and names (e.g., some SLIP connections
1020 dynamically allocate ip addresses).
1021
1022 ** Non-Networked Case
1023
1024 The solution described in the networked case applies here as well.
1025 However, if you never intend to network your machine, you can use a
1026 simpler solution: create an empty `/etc/host.conf' file. The command
1027 `touch /etc/host.conf' suffices to create the file. The `/etc/hosts'
1028 file is not necessary with this approach.
1029
1030 * On Solaris 2.4, Dired hangs and C-g does not work. Or Emacs hangs
1031 forever waiting for termination of a subprocess that is a zombie.
1032
1033 casper@fwi.uva.nl says the problem is in X11R6. Rebuild libX11.so
1034 after changing the file xc/config/cf/sunLib.tmpl. Change the lines
1035
1036 #if ThreadedX
1037 #define SharedX11Reqs -lthread
1038 #endif
1039
1040 to:
1041
1042 #if OSMinorVersion < 4
1043 #if ThreadedX
1044 #define SharedX11Reqs -lthread
1045 #endif
1046 #endif
1047
1048 Be sure also to edit x/config/cf/sun.cf so that OSMinorVersion is 4
1049 (as it should be for Solaris 2.4). The file has three definitions for
1050 OSMinorVersion: the first is for x86, the second for SPARC under
1051 Solaris, and the third for SunOS 4. Make sure to update the
1052 definition for your type of machine and system.
1053
1054 Then do `make Everything' in the top directory of X11R6, to rebuild
1055 the makefiles and rebuild X. The X built this way work only on
1056 Solaris 2.4, not on 2.3.
1057
1058 For multithreaded X to work it is necessary to install patch
1059 101925-02 to fix problems in header files [2.4]. You need
1060 to reinstall gcc or re-run just-fixinc after installing that
1061 patch.
1062
1063 However, Frank Rust <frust@iti.cs.tu-bs.de> used a simpler solution:
1064 he changed
1065 #define ThreadedX YES
1066 to
1067 #define ThreadedX NO
1068 in sun.cf and did `make World' to rebuild X11R6. Removing all
1069 `-DXTHREAD*' flags and `-lthread' entries from lib/X11/Makefile and
1070 typing 'make install' in that directory also seemed to work.
1071
1072 * With M-x enable-flow-control, you need to type C-\ twice
1073 to do incremental search--a single C-\ gets no response.
1074
1075 This has been traced to communicating with your machine via kermit,
1076 with C-\ as the kermit escape character. One solution is to use
1077 another escape character in kermit. One user did
1078
1079 set escape-character 17
1080
1081 in his .kermrc file, to make C-q the kermit escape character.
1082
1083 * The Motif version of Emacs paints the screen a solid color.
1084
1085 This has been observed to result from the following X resource:
1086
1087 Emacs*default.attributeFont: -*-courier-medium-r-*-*-*-140-*-*-*-*-iso8859-*
1088
1089 That the resource has this effect indicates a bug in something, but we
1090 do not yet know what. If it is an Emacs bug, we hope someone can
1091 explain what the bug is so we can fix it. In the mean time, removing
1092 the resource prevents the problem.
1093
1094 * Emacs gets hung shortly after startup, on Sunos 4.1.3.
1095
1096 We think this is due to a bug in Sunos. The word is that
1097 one of these Sunos patches fixes the bug:
1098
1099 100075-11 100224-06 100347-03 100482-05 100557-02 100623-03 100804-03 101080-01
1100 100103-12 100249-09 100496-02 100564-07 100630-02 100891-10 101134-01
1101 100170-09 100296-04 100377-09 100507-04 100567-04 100650-02 101070-01 101145-01
1102 100173-10 100305-15 100383-06 100513-04 100570-05 100689-01 101071-03 101200-02
1103 100178-09 100338-05 100421-03 100536-02 100584-05 100784-01 101072-01 101207-01
1104
1105 We don't know which of these patches really matter. If you find out
1106 which ones, please inform bug-gnu-emacs@gnu.org.
1107
1108 * Emacs aborts while starting up, only when run without X.
1109
1110 This problem often results from compiling Emacs with GCC when GCC was
1111 installed incorrectly. The usual error in installing GCC is to
1112 specify --includedir=/usr/include. Installation of GCC makes
1113 corrected copies of the system header files. GCC is supposed to use
1114 the corrected copies in preference to the original system headers.
1115 Specifying --includedir=/usr/include causes the original system header
1116 files to be used. On some systems, the definition of ioctl in the
1117 original system header files is invalid for ANSI C and causes Emacs
1118 not to work.
1119
1120 The fix is to reinstall GCC, and this time do not specify --includedir
1121 when you configure it. Then recompile Emacs. Specifying --includedir
1122 is appropriate only in very special cases and it should *never* be the
1123 same directory where system header files are kept.
1124
1125 * On Solaris 2.x, GCC complains "64 bit integer types not supported"
1126
1127 This suggests that GCC is not installed correctly. Most likely you
1128 are using GCC 2.7.2.3 (or earlier) on Solaris 2.6 (or later); this
1129 does not work without patching. To run GCC 2.7.2.3 on Solaris 2.6 or
1130 later, you must patch fixinc.svr4 and reinstall GCC from scratch as
1131 described in the Solaris FAQ
1132 <http://www.wins.uva.nl/pub/solaris/solaris2.html>. A better fix is
1133 to upgrade to GCC 2.8.1 or later.
1134
1135 * The Compose key on a DEC keyboard does not work as Meta key.
1136
1137 This shell command should fix it:
1138
1139 xmodmap -e 'keycode 0xb1 = Meta_L'
1140
1141 * Regular expressions matching bugs on SCO systems.
1142
1143 On SCO, there are problems in regexp matching when Emacs is compiled
1144 with the system compiler. The compiler version is "Microsoft C
1145 version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; Quick
1146 C Compiler Version 1.00.46 (Beta). The solution is to compile with
1147 GCC.
1148
1149 * On Sunos 4, you get the error ld: Undefined symbol __lib_version.
1150
1151 This is the result of using cc or gcc with the shared library meant
1152 for acc (the Sunpro compiler). Check your LD_LIBRARY_PATH and delete
1153 /usr/lang/SC2.0.1 or some similar directory.
1154
1155 * You can't select from submenus (in the X toolkit version).
1156
1157 On certain systems, mouse-tracking and selection in top-level menus
1158 works properly with the X toolkit, but neither of them works when you
1159 bring up a submenu (such as Bookmarks or Compare or Apply Patch, in
1160 the Files menu).
1161
1162 This works on most systems. There is speculation that the failure is
1163 due to bugs in old versions of X toolkit libraries, but no one really
1164 knows. If someone debugs this and finds the precise cause, perhaps a
1165 workaround can be found.
1166
1167 * Unusable default font on SCO 3.2v4.
1168
1169 The Open Desktop environment comes with default X resource settings
1170 that tell Emacs to use a variable-width font. Emacs cannot use such
1171 fonts, so it does not work.
1172
1173 This is caused by the file /usr/lib/X11/app-defaults/ScoTerm, which is
1174 the application-specific resource file for the `scoterm' terminal
1175 emulator program. It contains several extremely general X resources
1176 that affect other programs besides `scoterm'. In particular, these
1177 resources affect Emacs also:
1178
1179 *Font: -*-helvetica-medium-r-*--12-*-p-*
1180 *Background: scoBackground
1181 *Foreground: scoForeground
1182
1183 The best solution is to create an application-specific resource file for
1184 Emacs, /usr/lib/X11/sco/startup/Emacs, with the following contents:
1185
1186 Emacs*Font: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1
1187 Emacs*Background: white
1188 Emacs*Foreground: black
1189
1190 (These settings mimic the Emacs defaults, but you can change them to
1191 suit your needs.) This resource file is only read when the X server
1192 starts up, so you should restart it by logging out of the Open Desktop
1193 environment or by running `scologin stop; scologin start` from the shell
1194 as root. Alternatively, you can put these settings in the
1195 /usr/lib/X11/app-defaults/Emacs resource file and simply restart Emacs,
1196 but then they will not affect remote invocations of Emacs that use the
1197 Open Desktop display.
1198
1199 These resource files are not normally shared across a network of SCO
1200 machines; you must create the file on each machine individually.
1201
1202 * rcs2log gives you the awk error message "too many fields".
1203
1204 This is due to an arbitrary limit in certain versions of awk.
1205 The solution is to use gawk (GNU awk).
1206
1207 * Emacs is slow using X11R5 on HP/UX.
1208
1209 This happens if you use the MIT versions of the X libraries--it
1210 doesn't run as fast as HP's version. People sometimes use the version
1211 because they see the HP version doesn't have the libraries libXaw.a,
1212 libXmu.a, libXext.a and others. HP/UX normally doesn't come with
1213 those libraries installed. To get good performance, you need to
1214 install them and rebuild Emacs.
1215
1216 * Loading fonts is very slow.
1217
1218 You might be getting scalable fonts instead of precomputed bitmaps.
1219 Known scalable font directories are "Type1" and "Speedo". A font
1220 directory contains scalable fonts if it contains the file
1221 "fonts.scale".
1222
1223 If this is so, re-order your X windows font path to put the scalable
1224 font directories last. See the documentation of `xset' for details.
1225
1226 With some X servers, it may be necessary to take the scalable font
1227 directories out of your path entirely, at least for Emacs 19.26.
1228 Changes in the future may make this unnecessary.
1229
1230 * On AIX 3.2.4, releasing Ctrl/Act key has no effect, if Shift is down.
1231
1232 Due to a feature of AIX, pressing or releasing the Ctrl/Act key is
1233 ignored when the Shift, Alt or AltGr keys are held down. This can
1234 lead to the keyboard being "control-locked"--ordinary letters are
1235 treated as control characters.
1236
1237 You can get out of this "control-locked" state by pressing and
1238 releasing Ctrl/Act while not pressing or holding any other keys.
1239
1240 * display-time causes kernel problems on ISC systems.
1241
1242 Under Interactive Unix versions 3.0.1 and 4.0 (and probably other
1243 versions), display-time causes the loss of large numbers of STREVENT
1244 cells. Eventually the kernel's supply of these cells is exhausted.
1245 This makes emacs and the whole system run slow, and can make other
1246 processes die, in particular pcnfsd.
1247
1248 Other emacs functions that communicate with remote processes may have
1249 the same problem. Display-time seems to be far the worst.
1250
1251 The only known fix: Don't run display-time.
1252
1253 * On Solaris, C-x doesn't get through to Emacs when you use the console.
1254
1255 This is a Solaris feature (at least on Intel x86 cpus). Type C-r
1256 C-r C-t, to toggle whether C-x gets through to Emacs.
1257
1258 * Error message `Symbol's value as variable is void: x', followed by
1259 segmentation fault and core dump.
1260
1261 This has been tracked to a bug in tar! People report that tar erroneously
1262 added a line like this at the beginning of files of Lisp code:
1263
1264 x FILENAME, N bytes, B tape blocks
1265
1266 If your tar has this problem, install GNU tar--if you can manage to
1267 untar it :-).
1268
1269 * Link failure when using acc on a Sun.
1270
1271 To use acc, you need additional options just before the libraries, such as
1272
1273 /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1
1274
1275 and you need to add -lansi just before -lc.
1276
1277 The precise file names depend on the compiler version, so we
1278 cannot easily arrange to supply them.
1279
1280 * Link failure on IBM AIX 1.3 ptf 0013.
1281
1282 There is a real duplicate definition of the function `_slibc_free' in
1283 the library /lib/libc_s.a (just do nm on it to verify). The
1284 workaround/fix is:
1285
1286 cd /lib
1287 ar xv libc_s.a NLtmtime.o
1288 ar dv libc_s.a NLtmtime.o
1289
1290 * Undefined symbols _dlopen, _dlsym and/or _dlclose on a Sun.
1291
1292 If you see undefined symbols _dlopen, _dlsym, or _dlclose when linking
1293 with -lX11, compile and link against the file mit/util/misc/dlsym.c in
1294 the MIT X11R5 distribution. Alternatively, link temacs using shared
1295 libraries with s/sunos4shr.h. (This doesn't work if you use the X
1296 toolkit.)
1297
1298 If you get the additional error that the linker could not find
1299 lib_version.o, try extracting it from X11/usr/lib/X11/libvim.a in
1300 X11R4, then use it in the link.
1301
1302 * Error messages `Wrong number of arguments: #<subr where-is-internal>, 5'
1303
1304 This typically results from having the powerkey library loaded.
1305 Powerkey was designed for Emacs 19.22. It is obsolete now because
1306 Emacs 19 now has this feature built in; and powerkey also calls
1307 where-is-internal in an obsolete way.
1308
1309 So the fix is to arrange not to load powerkey.
1310
1311 * In Shell mode, you get a ^M at the end of every line.
1312
1313 This happens to people who use tcsh, because it is trying to be too
1314 smart. It sees that the Shell uses terminal type `unknown' and turns
1315 on the flag to output ^M at the end of each line. You can fix the
1316 problem by adding this to your .cshrc file:
1317
1318 if ($?EMACS) then
1319 if ($EMACS == "t") then
1320 unset edit
1321 stty -icrnl -onlcr -echo susp ^Z
1322 endif
1323 endif
1324
1325 * An error message such as `X protocol error: BadMatch (invalid
1326 parameter attributes) on protocol request 93'.
1327
1328 This comes from having an invalid X resource, such as
1329 emacs*Cursor: black
1330 (which is invalid because it specifies a color name for something
1331 that isn't a color.)
1332
1333 The fix is to correct your X resources.
1334
1335 * Undefined symbols when linking on Sunos 4.1 using --with-x-toolkit.
1336
1337 If you get the undefined symbols _atowc _wcslen, _iswprint, _iswspace,
1338 _iswcntrl, _wcscpy, and _wcsncpy, then you need to add -lXwchar after
1339 -lXaw in the command that links temacs.
1340
1341 This problem seems to arise only when the international language
1342 extensions to X11R5 are installed.
1343
1344 * Typing C-c C-c in Shell mode kills your X server.
1345
1346 This happens with Linux kernel 1.0 thru 1.04, approximately. The workaround is
1347 to define SIGNALS_VIA_CHARACTERS in config.h and recompile Emacs.
1348 Newer Linux kernel versions don't have this problem.
1349
1350 * src/Makefile and lib-src/Makefile are truncated--most of the file missing.
1351
1352 This can happen if configure uses GNU sed version 2.03. That version
1353 had a bug. GNU sed version 2.05 works properly.
1354
1355 * Slow startup on X11R6 with X windows.
1356
1357 If Emacs takes two minutes to start up on X11R6, see if your X
1358 resources specify any Adobe fonts. That causes the type-1 font
1359 renderer to start up, even if the font you asked for is not a type-1
1360 font.
1361
1362 One way to avoid this problem is to eliminate the type-1 fonts from
1363 your font path, like this:
1364
1365 xset -fp /usr/X11R6/lib/X11/fonts/Type1/
1366
1367 * Pull-down menus appear in the wrong place, in the toolkit version of Emacs.
1368
1369 An X resource of this form can cause the problem:
1370
1371 Emacs*geometry: 80x55+0+0
1372
1373 This resource is supposed to apply, and does apply, to the menus
1374 individually as well as to Emacs frames. If that is not what you
1375 want, rewrite the resource.
1376
1377 To check thoroughly for such resource specifications, use `xrdb
1378 -query' to see what resources the X server records, and also look at
1379 the user's ~/.Xdefaults and ~/.Xdefaults-* files.
1380
1381 * --with-x-toolkit version crashes when used with shared libraries.
1382
1383 On some systems, including Sunos 4 and DGUX 5.4.2 and perhaps others,
1384 unexec doesn't work properly with the shared library for the X
1385 toolkit. You might be able to work around this by using a nonshared
1386 libXt.a library. The real fix is to upgrade the various versions of
1387 unexec and/or ralloc. We think this has been fixed on Sunos 4
1388 and Solaris in version 19.29.
1389
1390 * `make install' fails on install-doc with `Error 141'.
1391
1392 This happens on Ultrix 4.2 due to failure of a pipeline of tar
1393 commands. We don't know why they fail, but the bug seems not to be in
1394 Emacs. The workaround is to run the shell command in install-doc by
1395 hand.
1396
1397 * --with-x-toolkit option configures wrong on BSD/386.
1398
1399 This problem is due to bugs in the shell in version 1.0 of BSD/386.
1400 The workaround is to edit the configure file to use some other shell,
1401 such as bash.
1402
1403 * Subprocesses remain, hanging but not zombies, on Sunos 5.3.
1404
1405 A bug in Sunos 5.3 causes Emacs subprocesses to remain after Emacs
1406 exits. Sun patch # 101415-02 is part of the fix for this, but it only
1407 applies to ptys, and doesn't fix the problem with subprocesses
1408 communicating through pipes.
1409
1410 * Mail is lost when sent to local aliases.
1411
1412 Many emacs mail user agents (VM and rmail, for instance) use the
1413 sendmail.el library. This library can arrange for mail to be
1414 delivered by passing messages to the /usr/lib/sendmail (usually)
1415 program . In doing so, it passes the '-t' flag to sendmail, which
1416 means that the name of the recipient of the message is not on the
1417 command line and, therefore, that sendmail must parse the message to
1418 obtain the destination address.
1419
1420 There is a bug in the SunOS4.1.1 and SunOS4.1.3 versions of sendmail.
1421 In short, when given the -t flag, the SunOS sendmail won't recognize
1422 non-local (i.e. NIS) aliases. It has been reported that the Solaris
1423 2.x versions of sendmail do not have this bug. For those using SunOS
1424 4.1, the best fix is to install sendmail V8 or IDA sendmail (which
1425 have other advantages over the regular sendmail as well). At the time
1426 of this writing, these official versions are available:
1427
1428 Sendmail V8 on ftp.cs.berkeley.edu in /ucb/sendmail:
1429 sendmail.8.6.9.base.tar.Z (the base system source & documentation)
1430 sendmail.8.6.9.cf.tar.Z (configuration files)
1431 sendmail.8.6.9.misc.tar.Z (miscellaneous support programs)
1432 sendmail.8.6.9.xdoc.tar.Z (extended documentation, with postscript)
1433
1434 IDA sendmail on vixen.cso.uiuc.edu in /pub:
1435 sendmail-5.67b+IDA-1.5.tar.gz
1436
1437 * On AIX, you get this message when running Emacs:
1438
1439 Could not load program emacs
1440 Symbol smtcheckinit in csh is undefined
1441 Error was: Exec format error
1442
1443 or this one:
1444
1445 Could not load program .emacs
1446 Symbol _system_con in csh is undefined
1447 Symbol _fp_trapsta in csh is undefined
1448 Error was: Exec format error
1449
1450 These can happen when you try to run on AIX 3.2.5 a program that was
1451 compiled with 3.2.4. The fix is to recompile.
1452
1453 * On AIX, you get this compiler error message:
1454
1455 Processing include file ./XMenuInt.h
1456 1501-106: (S) Include file X11/Xlib.h not found.
1457
1458 This means your system was installed with only the X11 runtime i.d
1459 libraries. You have to find your sipo (bootable tape) and install
1460 X11Dev... with smit.
1461
1462 * You "lose characters" after typing Compose Character key.
1463
1464 This is because the Compose Character key is defined as the keysym
1465 Multi_key, and Emacs (seeing that) does the proper X11
1466 character-composition processing. If you don't want your Compose key
1467 to do that, you can redefine it with xmodmap.
1468
1469 For example, here's one way to turn it into a Meta key:
1470
1471 xmodmap -e "keysym Multi_key = Meta_L"
1472
1473 If all users at your site of a particular keyboard prefer Meta to
1474 Compose, you can make the remapping happen automatically by adding the
1475 xmodmap command to the xdm setup script for that display.
1476
1477 * C-z just refreshes the screen instead of suspending Emacs.
1478
1479 You are probably using a shell that doesn't support job control, even
1480 though the system itself is capable of it. Either use a different shell,
1481 or set the variable `cannot-suspend' to a non-nil value.
1482
1483 * Watch out for .emacs files and EMACSLOADPATH environment vars
1484
1485 These control the actions of Emacs.
1486 ~/.emacs is your Emacs init file.
1487 EMACSLOADPATH overrides which directories the function
1488 "load" will search.
1489
1490 If you observe strange problems, check for these and get rid
1491 of them, then try again.
1492
1493 * After running emacs once, subsequent invocations crash.
1494
1495 Some versions of SVR4 have a serious bug in the implementation of the
1496 mmap () system call in the kernel; this causes emacs to run correctly
1497 the first time, and then crash when run a second time.
1498
1499 Contact your vendor and ask for the mmap bug fix; in the mean time,
1500 you may be able to work around the problem by adding a line to your
1501 operating system description file (whose name is reported by the
1502 configure script) that reads:
1503 #define SYSTEM_MALLOC
1504 This makes Emacs use memory less efficiently, but seems to work around
1505 the kernel bug.
1506
1507 * Inability to send an Alt-modified key, when Emacs is communicating
1508 directly with an X server.
1509
1510 If you have tried to bind an Alt-modified key as a command, and it
1511 does not work to type the command, the first thing you should check is
1512 whether the key is getting through to Emacs. To do this, type C-h c
1513 followed by the Alt-modified key. C-h c should say what kind of event
1514 it read. If it says it read an Alt-modified key, then make sure you
1515 have made the key binding correctly.
1516
1517 If C-h c reports an event that doesn't have the Alt modifier, it may
1518 be because your X server has no key for the Alt modifier. The X
1519 server that comes from MIT does not set up the Alt modifier by
1520 default.
1521
1522 If your keyboard has keys named Alt, you can enable them as follows:
1523
1524 xmodmap -e 'add mod2 = Alt_L'
1525 xmodmap -e 'add mod2 = Alt_R'
1526
1527 If the keyboard has just one key named Alt, then only one of those
1528 commands is needed. The modifier `mod2' is a reasonable choice if you
1529 are using an unmodified MIT version of X. Otherwise, choose any
1530 modifier bit not otherwise used.
1531
1532 If your keyboard does not have keys named Alt, you can use some other
1533 keys. Use the keysym command in xmodmap to turn a function key (or
1534 some other 'spare' key) into Alt_L or into Alt_R, and then use the
1535 commands show above to make them modifier keys.
1536
1537 Note that if you have Alt keys but no Meta keys, Emacs translates Alt
1538 into Meta. This is because of the great importance of Meta in Emacs.
1539
1540 * `Pid xxx killed due to text modification or page I/O error'
1541
1542 On HP/UX, you can get that error when the Emacs executable is on an NFS
1543 file system. HP/UX responds this way if it tries to swap in a page and
1544 does not get a response from the server within a timeout whose default
1545 value is just ten seconds.
1546
1547 If this happens to you, extend the timeout period.
1548
1549 * `expand-file-name' fails to work on any but the machine you dumped Emacs on.
1550
1551 On Ultrix, if you use any of the functions which look up information
1552 in the passwd database before dumping Emacs (say, by using
1553 expand-file-name in site-init.el), then those functions will not work
1554 in the dumped Emacs on any host but the one Emacs was dumped on.
1555
1556 The solution? Don't use expand-file-name in site-init.el, or in
1557 anything it loads. Yuck - some solution.
1558
1559 I'm not sure why this happens; if you can find out exactly what is
1560 going on, and perhaps find a fix or a workaround, please let us know.
1561 Perhaps the YP functions cache some information, the cache is included
1562 in the dumped Emacs, and is then inaccurate on any other host.
1563
1564 * On some variants of SVR4, Emacs does not work at all with X.
1565
1566 Try defining BROKEN_FIONREAD in your config.h file. If this solves
1567 the problem, please send a bug report to tell us this is needed; be
1568 sure to say exactly what type of machine and system you are using.
1569
1570 * Linking says that the functions insque and remque are undefined.
1571
1572 Change oldXMenu/Makefile by adding insque.o to the variable OBJS.
1573
1574 * Emacs fails to understand most Internet host names, even though
1575 the names work properly with other programs on the same system.
1576 * Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.
1577 * GNUs can't make contact with the specified host for nntp.
1578
1579 This typically happens on Suns and other systems that use shared
1580 libraries. The cause is that the site has installed a version of the
1581 shared library which uses a name server--but has not installed a
1582 similar version of the unshared library which Emacs uses.
1583
1584 The result is that most programs, using the shared library, work with
1585 the nameserver, but Emacs does not.
1586
1587 The fix is to install an unshared library that corresponds to what you
1588 installed in the shared library, and then relink Emacs.
1589
1590 On SunOS 4.1, simply define HAVE_RES_INIT.
1591
1592 If you have already installed the name resolver in the file libresolv.a,
1593 then you need to compile Emacs to use that library. The easiest way to
1594 do this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINE
1595 or LIB_STANDARD which uses -lresolv. Watch out! If you redefine a macro
1596 that is already in use in your configuration to supply some other libraries,
1597 be careful not to lose the others.
1598
1599 Thus, you could start by adding this to config.h:
1600
1601 #define LIBS_SYSTEM -lresolv
1602
1603 Then if this gives you an error for redefining a macro, and you see that
1604 the s- file defines LIBS_SYSTEM as -lfoo -lbar, you could change config.h
1605 again to say this:
1606
1607 #define LIBS_SYSTEM -lresolv -lfoo -lbar
1608
1609 * On a Sun running SunOS 4.1.1, you get this error message from GNU ld:
1610
1611 /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment
1612
1613 The problem is in the Sun shared C library, not in GNU ld.
1614
1615 The solution is to install Patch-ID# 100267-03 from Sun.
1616
1617 * Self documentation messages are garbled.
1618
1619 This means that the file `etc/DOC-...' doesn't properly correspond
1620 with the Emacs executable. Redumping Emacs and then installing the
1621 corresponding pair of files should fix the problem.
1622
1623 * Trouble using ptys on AIX.
1624
1625 People often install the pty devices on AIX incorrectly.
1626 Use `smit pty' to reinstall them properly.
1627
1628 * Shell mode on HP/UX gives the message, "`tty`: Ambiguous".
1629
1630 christos@theory.tn.cornell.edu says:
1631
1632 The problem is that in your .cshrc you have something that tries to
1633 execute `tty`. If you are not running the shell on a real tty then
1634 tty will print "not a tty". Csh expects one word in some places,
1635 but tty is giving it back 3.
1636
1637 The solution is to add a pair of quotes around `tty` to make it a single
1638 word:
1639
1640 if (`tty` == "/dev/console")
1641
1642 should be changed to:
1643
1644 if ("`tty`" == "/dev/console")
1645
1646 Even better, move things that set up terminal sections out of .cshrc
1647 and into .login.
1648
1649 * Using X Windows, control-shift-leftbutton makes Emacs hang.
1650
1651 Use the shell command `xset bc' to make the old X Menu package work.
1652
1653 * Emacs running under X Windows does not handle mouse clicks.
1654 * `emacs -geometry 80x20' finds a file named `80x20'.
1655
1656 One cause of such problems is having (setq term-file-prefix nil) in
1657 your .emacs file. Another cause is a bad value of EMACSLOADPATH in
1658 the environment.
1659
1660 * Emacs gets error message from linker on Sun.
1661
1662 If the error message says that a symbol such as `f68881_used' or
1663 `ffpa_used' or `start_float' is undefined, this probably indicates
1664 that you have compiled some libraries, such as the X libraries,
1665 with a floating point option other than the default.
1666
1667 It's not terribly hard to make this work with small changes in
1668 crt0.c together with linking with Fcrt1.o, Wcrt1.o or Mcrt1.o.
1669 However, the easiest approach is to build Xlib with the default
1670 floating point option: -fsoft.
1671
1672 * Emacs fails to get default settings from X Windows server.
1673
1674 The X library in X11R4 has a bug; it interchanges the 2nd and 3rd
1675 arguments to XGetDefaults. Define the macro XBACKWARDS in config.h to
1676 tell Emacs to compensate for this.
1677
1678 I don't believe there is any way Emacs can determine for itself
1679 whether this problem is present on a given system.
1680
1681 * Keyboard input gets confused after a beep when using a DECserver
1682 as a concentrator.
1683
1684 This problem seems to be a matter of configuring the DECserver to use
1685 7 bit characters rather than 8 bit characters.
1686
1687 * M-x shell persistently reports "Process shell exited abnormally with code 1".
1688
1689 This happened on Suns as a result of what is said to be a bug in Sunos
1690 version 4.0.x. The only fix was to reboot the machine.
1691
1692 * Programs running under terminal emulator do not recognize `emacs'
1693 terminal type.
1694
1695 The cause of this is a shell startup file that sets the TERMCAP
1696 environment variable. The terminal emulator uses that variable to
1697 provide the information on the special terminal type that Emacs
1698 emulates.
1699
1700 Rewrite your shell startup file so that it does not change TERMCAP
1701 in such a case. You could use the following conditional which sets
1702 it only if it is undefined.
1703
1704 if ( ! ${?TERMCAP} ) setenv TERMCAP ~/my-termcap-file
1705
1706 Or you could set TERMCAP only when you set TERM--which should not
1707 happen in a non-login shell.
1708
1709 * X Windows doesn't work if DISPLAY uses a hostname.
1710
1711 People have reported kernel bugs in certain systems that cause Emacs
1712 not to work with X Windows if DISPLAY is set using a host name. But
1713 the problem does not occur if DISPLAY is set to `unix:0.0'. I think
1714 the bug has to do with SIGIO or FIONREAD.
1715
1716 You may be able to compensate for the bug by doing (set-input-mode nil nil).
1717 However, that has the disadvantage of turning off interrupts, so that
1718 you are unable to quit out of a Lisp program by typing C-g.
1719
1720 The easy way to do this is to put
1721
1722 (setq x-sigio-bug t)
1723
1724 in your site-init.el file.
1725
1726 * Problem with remote X server on Suns.
1727
1728 On a Sun, running Emacs on one machine with the X server on another
1729 may not work if you have used the unshared system libraries. This
1730 is because the unshared libraries fail to use YP for host name lookup.
1731 As a result, the host name you specify may not be recognized.
1732
1733 * Shell mode ignores interrupts on Apollo Domain
1734
1735 You may find that M-x shell prints the following message:
1736
1737 Warning: no access to tty; thus no job control in this shell...
1738
1739 This can happen if there are not enough ptys on your system.
1740 Here is how to make more of them.
1741
1742 % cd /dev
1743 % ls pty*
1744 # shows how many pty's you have. I had 8, named pty0 to pty7)
1745 % /etc/crpty 8
1746 # creates eight new pty's
1747
1748 * Fatal signal in the command temacs -l loadup inc dump
1749
1750 This command is the final stage of building Emacs. It is run by the
1751 Makefile in the src subdirectory, or by build.com on VMS.
1752
1753 It has been known to get fatal errors due to insufficient swapping
1754 space available on the machine.
1755
1756 On 68000's, it has also happened because of bugs in the
1757 subroutine `alloca'. Verify that `alloca' works right, even
1758 for large blocks (many pages).
1759
1760 * test-distrib says that the distribution has been clobbered
1761 * or, temacs prints "Command key out of range 0-127"
1762 * or, temacs runs and dumps emacs, but emacs totally fails to work.
1763 * or, temacs gets errors dumping emacs
1764
1765 This can be because the .elc files have been garbled. Do not be
1766 fooled by the fact that most of a .elc file is text: these are
1767 binary files and can contain all 256 byte values.
1768
1769 In particular `shar' cannot be used for transmitting GNU Emacs.
1770 It typically truncates "lines". What appear to be "lines" in
1771 a binary file can of course be of any length. Even once `shar'
1772 itself is made to work correctly, `sh' discards null characters
1773 when unpacking the shell archive.
1774
1775 I have also seen character \177 changed into \377. I do not know
1776 what transfer means caused this problem. Various network
1777 file transfer programs are suspected of clobbering the high bit.
1778
1779 If you have a copy of Emacs that has been damaged in its
1780 nonprinting characters, you can fix them:
1781
1782 1) Record the names of all the .elc files.
1783 2) Delete all the .elc files.
1784 3) Recompile alloc.c with a value of PURESIZE twice as large.
1785 (See puresize.h.) You might as well save the old alloc.o.
1786 4) Remake emacs. It should work now.
1787 5) Running emacs, do Meta-x byte-compile-file repeatedly
1788 to recreate all the .elc files that used to exist.
1789 You may need to increase the value of the variable
1790 max-lisp-eval-depth to succeed in running the compiler interpreted
1791 on certain .el files. 400 was sufficient as of last report.
1792 6) Reinstall the old alloc.o (undoing changes to alloc.c if any)
1793 and remake temacs.
1794 7) Remake emacs. It should work now, with valid .elc files.
1795
1796 * temacs prints "Pure Lisp storage exhausted"
1797
1798 This means that the Lisp code loaded from the .elc and .el
1799 files during temacs -l loadup inc dump took up more
1800 space than was allocated.
1801
1802 This could be caused by
1803 1) adding code to the preloaded Lisp files
1804 2) adding more preloaded files in loadup.el
1805 3) having a site-init.el or site-load.el which loads files.
1806 Note that ANY site-init.el or site-load.el is nonstandard;
1807 if you have received Emacs from some other site
1808 and it contains a site-init.el or site-load.el file, consider
1809 deleting that file.
1810 4) getting the wrong .el or .elc files
1811 (not from the directory you expected).
1812 5) deleting some .elc files that are supposed to exist.
1813 This would cause the source files (.el files) to be
1814 loaded instead. They take up more room, so you lose.
1815 6) a bug in the Emacs distribution which underestimates
1816 the space required.
1817
1818 If the need for more space is legitimate, change the definition
1819 of PURESIZE in puresize.h.
1820
1821 But in some of the cases listed above, this problem is a consequence
1822 of something else that is wrong. Be sure to check and fix the real
1823 problem.
1824
1825 * Changes made to .el files do not take effect.
1826
1827 You may have forgotten to recompile them into .elc files.
1828 Then the old .elc files will be loaded, and your changes
1829 will not be seen. To fix this, do M-x byte-recompile-directory
1830 and specify the directory that contains the Lisp files.
1831
1832 Emacs should print a warning when loading a .elc file which is older
1833 than the corresponding .el file.
1834
1835 * The dumped Emacs crashes when run, trying to write pure data.
1836
1837 Two causes have been seen for such problems.
1838
1839 1) On a system where getpagesize is not a system call, it is defined
1840 as a macro. If the definition (in both unexec.c and malloc.c) is wrong,
1841 it can cause problems like this. You might be able to find the correct
1842 value in the man page for a.out (5).
1843
1844 2) Some systems allocate variables declared static among the
1845 initialized variables. Emacs makes all initialized variables in most
1846 of its files pure after dumping, but the variables declared static and
1847 not initialized are not supposed to be pure. On these systems you
1848 may need to add "#define static" to the m- or the s- file.
1849
1850 * Compilation errors on VMS.
1851
1852 You will get warnings when compiling on VMS because there are
1853 variable names longer than 32 (or whatever it is) characters.
1854 This is not an error. Ignore it.
1855
1856 VAX C does not support #if defined(foo). Uses of this construct
1857 were removed, but some may have crept back in. They must be rewritten.
1858
1859 There is a bug in the C compiler which fails to sign extend characters
1860 in conditional expressions. The bug is:
1861 char c = -1, d = 1;
1862 int i;
1863
1864 i = d ? c : d;
1865 The result is i == 255; the fix is to typecast the char in the
1866 conditional expression as an (int). Known occurrences of such
1867 constructs in Emacs have been fixed.
1868
1869 * rmail gets error getting new mail
1870
1871 rmail gets new mail from /usr/spool/mail/$USER using a program
1872 called `movemail'. This program interlocks with /bin/mail using
1873 the protocol defined by /bin/mail.
1874
1875 There are two different protocols in general use. One of them uses
1876 the `flock' system call. The other involves creating a lock file;
1877 `movemail' must be able to write in /usr/spool/mail in order to do
1878 this. You control which one is used by defining, or not defining,
1879 the macro MAIL_USE_FLOCK in config.h or the m- or s- file it includes.
1880 IF YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR
1881 SYSTEM, YOU CAN LOSE MAIL!
1882
1883 If your system uses the lock file protocol, and fascist restrictions
1884 prevent ordinary users from writing the lock files in /usr/spool/mail,
1885 you may need to make `movemail' setgid to a suitable group such as
1886 `mail'. You can use these commands (as root):
1887
1888 chgrp mail movemail
1889 chmod 2755 movemail
1890
1891 If your system uses the lock file protocol, and fascist restrictions
1892 prevent ordinary users from writing the lock files in /usr/spool/mail,
1893 you may need to make `movemail' setgid to a suitable group such as
1894 `mail'. To do this, use the following commands (as root) after doing the
1895 make install.
1896
1897 chgrp mail movemail
1898 chmod 2755 movemail
1899
1900 Installation normally copies movemail from the build directory to an
1901 installation directory which is usually under /usr/local/lib. The
1902 installed copy of movemail is usually in the directory
1903 /usr/local/lib/emacs/VERSION/TARGET. You must change the group and
1904 mode of the installed copy; changing the group and mode of the build
1905 directory copy is ineffective.
1906
1907 * Emacs spontaneously displays "I-search: " at the bottom of the screen.
1908
1909 This means that Control-S/Control-Q (XON/XOFF) "flow control" is being
1910 used. C-s/C-q flow control is bad for Emacs editors because it takes
1911 away C-s and C-q as user commands. Since editors do not output long
1912 streams of text without user commands, there is no need for a
1913 user-issuable "stop output" command in an editor; therefore, a
1914 properly designed flow control mechanism would transmit all possible
1915 input characters without interference. Designing such a mechanism is
1916 easy, for a person with at least half a brain.
1917
1918 There are three possible reasons why flow control could be taking place:
1919
1920 1) Terminal has not been told to disable flow control
1921 2) Insufficient padding for the terminal in use
1922 3) Some sort of terminal concentrator or line switch is responsible
1923
1924 First of all, many terminals have a set-up mode which controls whether
1925 they generate XON/XOFF flow control characters. This must be set to
1926 "no XON/XOFF" in order for Emacs to work. Sometimes there is an
1927 escape sequence that the computer can send to turn flow control off
1928 and on. If so, perhaps the termcap `ti' string should turn flow
1929 control off, and the `te' string should turn it on.
1930
1931 Once the terminal has been told "no flow control", you may find it
1932 needs more padding. The amount of padding Emacs sends is controlled
1933 by the termcap entry for the terminal in use, and by the output baud
1934 rate as known by the kernel. The shell command `stty' will print
1935 your output baud rate; `stty' with suitable arguments will set it if
1936 it is wrong. Setting to a higher speed causes increased padding. If
1937 the results are wrong for the correct speed, there is probably a
1938 problem in the termcap entry. You must speak to a local Unix wizard
1939 to fix this. Perhaps you are just using the wrong terminal type.
1940
1941 For terminals that lack a "no flow control" mode, sometimes just
1942 giving lots of padding will prevent actual generation of flow control
1943 codes. You might as well try it.
1944
1945 If you are really unlucky, your terminal is connected to the computer
1946 through a concentrator which sends XON/XOFF flow control to the
1947 computer, or it insists on sending flow control itself no matter how
1948 much padding you give it. Unless you can figure out how to turn flow
1949 control off on this concentrator (again, refer to your local wizard),
1950 you are screwed! You should have the terminal or concentrator
1951 replaced with a properly designed one. In the mean time, some drastic
1952 measures can make Emacs semi-work.
1953
1954 You can make Emacs ignore C-s and C-q and let the operating system
1955 handle them. To do this on a per-session basis, just type M-x
1956 enable-flow-control RET. You will see a message that C-\ and C-^ are
1957 now translated to C-s and C-q. (Use the same command M-x
1958 enable-flow-control to turn *off* this special mode. It toggles flow
1959 control handling.)
1960
1961 If C-\ and C-^ are inconvenient for you (for example, if one of them
1962 is the escape character of your terminal concentrator), you can choose
1963 other characters by setting the variables flow-control-c-s-replacement
1964 and flow-control-c-q-replacement. But choose carefully, since all
1965 other control characters are already used by emacs.
1966
1967 IMPORTANT: if you type C-s by accident while flow control is enabled,
1968 Emacs output will freeze, and you will have to remember to type C-q in
1969 order to continue.
1970
1971 If you work in an environment where a majority of terminals of a
1972 certain type are flow control hobbled, you can use the function
1973 `enable-flow-control-on' to turn on this flow control avoidance scheme
1974 automatically. Here is an example:
1975
1976 (enable-flow-control-on "vt200" "vt300" "vt101" "vt131")
1977
1978 If this isn't quite correct (e.g. you have a mixture of flow-control hobbled
1979 and good vt200 terminals), you can still run enable-flow-control
1980 manually.
1981
1982 I have no intention of ever redesigning the Emacs command set for the
1983 assumption that terminals use C-s/C-q flow control. XON/XOFF flow
1984 control technique is a bad design, and terminals that need it are bad
1985 merchandise and should not be purchased. Now that X is becoming
1986 widespread, XON/XOFF seems to be on the way out. If you can get some
1987 use out of GNU Emacs on inferior terminals, more power to you, but I
1988 will not make Emacs worse for properly designed systems for the sake
1989 of inferior systems.
1990
1991 * Control-S and Control-Q commands are ignored completely.
1992
1993 For some reason, your system is using brain-damaged C-s/C-q flow
1994 control despite Emacs's attempts to turn it off. Perhaps your
1995 terminal is connected to the computer through a concentrator
1996 that wants to use flow control.
1997
1998 You should first try to tell the concentrator not to use flow control.
1999 If you succeed in this, try making the terminal work without
2000 flow control, as described in the preceding section.
2001
2002 If that line of approach is not successful, map some other characters
2003 into C-s and C-q using keyboard-translate-table. The example above
2004 shows how to do this with C-^ and C-\.
2005
2006 * Control-S and Control-Q commands are ignored completely on a net connection.
2007
2008 Some versions of rlogin (and possibly telnet) do not pass flow
2009 control characters to the remote system to which they connect.
2010 On such systems, emacs on the remote system cannot disable flow
2011 control on the local system.
2012
2013 One way to cure this is to disable flow control on the local host
2014 (the one running rlogin, not the one running rlogind) using the
2015 stty command, before starting the rlogin process. On many systems,
2016 "stty start u stop u" will do this.
2017
2018 Some versions of tcsh will prevent even this from working. One way
2019 around this is to start another shell before starting rlogin, and
2020 issue the stty command to disable flow control from that shell.
2021
2022 If none of these methods work, the best solution is to type
2023 M-x enable-flow-control at the beginning of your emacs session, or
2024 if you expect the problem to continue, add a line such as the
2025 following to your .emacs (on the host running rlogind):
2026
2027 (enable-flow-control-on "vt200" "vt300" "vt101" "vt131")
2028
2029 See the entry about spontaneous display of I-search (above) for more
2030 info.
2031
2032 * Screen is updated wrong, but only on one kind of terminal.
2033
2034 This could mean that the termcap entry you are using for that
2035 terminal is wrong, or it could mean that Emacs has a bug handing
2036 the combination of features specified for that terminal.
2037
2038 The first step in tracking this down is to record what characters
2039 Emacs is sending to the terminal. Execute the Lisp expression
2040 (open-termscript "./emacs-script") to make Emacs write all
2041 terminal output into the file ~/emacs-script as well; then do
2042 what makes the screen update wrong, and look at the file
2043 and decode the characters using the manual for the terminal.
2044 There are several possibilities:
2045
2046 1) The characters sent are correct, according to the terminal manual.
2047
2048 In this case, there is no obvious bug in Emacs, and most likely you
2049 need more padding, or possibly the terminal manual is wrong.
2050
2051 2) The characters sent are incorrect, due to an obscure aspect
2052 of the terminal behavior not described in an obvious way
2053 by termcap.
2054
2055 This case is hard. It will be necessary to think of a way for
2056 Emacs to distinguish between terminals with this kind of behavior
2057 and other terminals that behave subtly differently but are
2058 classified the same by termcap; or else find an algorithm for
2059 Emacs to use that avoids the difference. Such changes must be
2060 tested on many kinds of terminals.
2061
2062 3) The termcap entry is wrong.
2063
2064 See the file etc/TERMS for information on changes
2065 that are known to be needed in commonly used termcap entries
2066 for certain terminals.
2067
2068 4) The characters sent are incorrect, and clearly cannot be
2069 right for any terminal with the termcap entry you were using.
2070
2071 This is unambiguously an Emacs bug, and can probably be fixed
2072 in termcap.c, tparam.c, term.c, scroll.c, cm.c or dispnew.c.
2073
2074 * Output from Control-V is slow.
2075
2076 On many bit-map terminals, scrolling operations are fairly slow.
2077 Often the termcap entry for the type of terminal in use fails
2078 to inform Emacs of this. The two lines at the bottom of the screen
2079 before a Control-V command are supposed to appear at the top after
2080 the Control-V command. If Emacs thinks scrolling the lines is fast,
2081 it will scroll them to the top of the screen.
2082
2083 If scrolling is slow but Emacs thinks it is fast, the usual reason is
2084 that the termcap entry for the terminal you are using does not
2085 specify any padding time for the `al' and `dl' strings. Emacs
2086 concludes that these operations take only as much time as it takes to
2087 send the commands at whatever line speed you are using. You must
2088 fix the termcap entry to specify, for the `al' and `dl', as much
2089 time as the operations really take.
2090
2091 Currently Emacs thinks in terms of serial lines which send characters
2092 at a fixed rate, so that any operation which takes time for the
2093 terminal to execute must also be padded. With bit-map terminals
2094 operated across networks, often the network provides some sort of
2095 flow control so that padding is never needed no matter how slow
2096 an operation is. You must still specify a padding time if you want
2097 Emacs to realize that the operation takes a long time. This will
2098 cause padding characters to be sent unnecessarily, but they do
2099 not really cost much. They will be transmitted while the scrolling
2100 is happening and then discarded quickly by the terminal.
2101
2102 Most bit-map terminals provide commands for inserting or deleting
2103 multiple lines at once. Define the `AL' and `DL' strings in the
2104 termcap entry to say how to do these things, and you will have
2105 fast output without wasted padding characters. These strings should
2106 each contain a single %-spec saying how to send the number of lines
2107 to be scrolled. These %-specs are like those in the termcap
2108 `cm' string.
2109
2110 You should also define the `IC' and `DC' strings if your terminal
2111 has a command to insert or delete multiple characters. These
2112 take the number of positions to insert or delete as an argument.
2113
2114 A `cs' string to set the scrolling region will reduce the amount
2115 of motion you see on the screen when part of the screen is scrolled.
2116
2117 * Your Delete key sends a Backspace to the terminal, using an AIXterm.
2118
2119 The solution is to include in your .Xdefaults the lines:
2120
2121 *aixterm.Translations: #override <Key>BackSpace: string(0x7f)
2122 aixterm*ttyModes: erase ^?
2123
2124 This makes your Backspace key send DEL (ASCII 127).
2125
2126 * You type Control-H (Backspace) expecting to delete characters.
2127
2128 Put `stty dec' in your .login file and your problems will disappear
2129 after a day or two.
2130
2131 The choice of Backspace for erasure was based on confusion, caused by
2132 the fact that backspacing causes erasure (later, when you type another
2133 character) on most display terminals. But it is a mistake. Deletion
2134 of text is not the same thing as backspacing followed by failure to
2135 overprint. I do not wish to propagate this confusion by conforming
2136 to it.
2137
2138 For this reason, I believe `stty dec' is the right mode to use,
2139 and I have designed Emacs to go with that. If there were a thousand
2140 other control characters, I would define Control-h to delete as well;
2141 but there are not very many other control characters, and I think
2142 that providing the most mnemonic possible Help character is more
2143 important than adapting to people who don't use `stty dec'.
2144
2145 If you are obstinate about confusing buggy overprinting with deletion,
2146 you can redefine Backspace in your .emacs file:
2147 (global-set-key "\b" 'delete-backward-char)
2148 You can probably access help-command via f1.
2149
2150 * Editing files through RFS gives spurious "file has changed" warnings.
2151 It is possible that a change in Emacs 18.37 gets around this problem,
2152 but in case not, here is a description of how to fix the RFS bug that
2153 causes it.
2154
2155 There was a serious pair of bugs in the handling of the fsync() system
2156 call in the RFS server.
2157
2158 The first is that the fsync() call is handled as another name for the
2159 close() system call (!!). It appears that fsync() is not used by very
2160 many programs; Emacs version 18 does an fsync() before closing files
2161 to make sure that the bits are on the disk.
2162
2163 This is fixed by the enclosed patch to the RFS server.
2164
2165 The second, more serious problem, is that fsync() is treated as a
2166 non-blocking system call (i.e., it's implemented as a message that
2167 gets sent to the remote system without waiting for a reply). Fsync is
2168 a useful tool for building atomic file transactions. Implementing it
2169 as a non-blocking RPC call (when the local call blocks until the sync
2170 is done) is a bad idea; unfortunately, changing it will break the RFS
2171 protocol. No fix was supplied for this problem.
2172
2173 (as always, your line numbers may vary)
2174
2175 % rcsdiff -c -r1.2 serversyscall.c
2176 RCS file: RCS/serversyscall.c,v
2177 retrieving revision 1.2
2178 diff -c -r1.2 serversyscall.c
2179 *** /tmp/,RCSt1003677 Wed Jan 28 15:15:02 1987
2180 --- serversyscall.c Wed Jan 28 15:14:48 1987
2181 ***************
2182 *** 163,169 ****
2183 /*
2184 * No return sent for close or fsync!
2185 */
2186 ! if (syscall == RSYS_close || syscall == RSYS_fsync)
2187 proc->p_returnval = deallocate_fd(proc, msg->m_args[0]);
2188 else
2189 {
2190 --- 166,172 ----
2191 /*
2192 * No return sent for close or fsync!
2193 */
2194 ! if (syscall == RSYS_close)
2195 proc->p_returnval = deallocate_fd(proc, msg->m_args[0]);
2196 else
2197 {
2198
2199 * Vax C compiler bugs affecting Emacs.
2200
2201 You may get one of these problems compiling Emacs:
2202
2203 foo.c line nnn: compiler error: no table entry for op STASG
2204 foo.c: fatal error in /lib/ccom
2205
2206 These are due to bugs in the C compiler; the code is valid C.
2207 Unfortunately, the bugs are unpredictable: the same construct
2208 may compile properly or trigger one of these bugs, depending
2209 on what else is in the source file being compiled. Even changes
2210 in header files that should not affect the file being compiled
2211 can affect whether the bug happens. In addition, sometimes files
2212 that compile correctly on one machine get this bug on another machine.
2213
2214 As a result, it is hard for me to make sure this bug will not affect
2215 you. I have attempted to find and alter these constructs, but more
2216 can always appear. However, I can tell you how to deal with it if it
2217 should happen. The bug comes from having an indexed reference to an
2218 array of Lisp_Objects, as an argument in a function call:
2219 Lisp_Object *args;
2220 ...
2221 ... foo (5, args[i], ...)...
2222 putting the argument into a temporary variable first, as in
2223 Lisp_Object *args;
2224 Lisp_Object tem;
2225 ...
2226 tem = args[i];
2227 ... foo (r, tem, ...)...
2228 causes the problem to go away.
2229 The `contents' field of a Lisp vector is an array of Lisp_Objects,
2230 so you may see the problem happening with indexed references to that.
2231
2232 * 68000 C compiler problems
2233
2234 Various 68000 compilers have different problems.
2235 These are some that have been observed.
2236
2237 ** Using value of assignment expression on union type loses.
2238 This means that x = y = z; or foo (x = z); does not work
2239 if x is of type Lisp_Object.
2240
2241 ** "cannot reclaim" error.
2242
2243 This means that an expression is too complicated. You get the correct
2244 line number in the error message. The code must be rewritten with
2245 simpler expressions.
2246
2247 ** XCONS, XSTRING, etc macros produce incorrect code.
2248
2249 If temacs fails to run at all, this may be the cause.
2250 Compile this test program and look at the assembler code:
2251
2252 struct foo { char x; unsigned int y : 24; };
2253
2254 lose (arg)
2255 struct foo arg;
2256 {
2257 test ((int *) arg.y);
2258 }
2259
2260 If the code is incorrect, your compiler has this problem.
2261 In the XCONS, etc., macros in lisp.h you must replace (a).u.val with
2262 ((a).u.val + coercedummy) where coercedummy is declared as int.
2263
2264 This problem will not happen if the m-...h file for your type
2265 of machine defines NO_UNION_TYPE. That is the recommended setting now.
2266
2267 * C compilers lose on returning unions
2268
2269 I hear that some C compilers cannot handle returning a union type.
2270 Most of the functions in GNU Emacs return type Lisp_Object, which is
2271 defined as a union on some rare architectures.
2272
2273 This problem will not happen if the m-...h file for your type
2274 of machine defines NO_UNION_TYPE.
2275