comparison PROBLEMS @ 1332:6aa23bb3da6b

[xemacs-hg @ 2003-03-02 02:18:05 by ben] To: xemacs-patches@xemacs.org PROBLEMS: Include nt/PROBLEMS and update. Add note about incremental linking badness. cmdloop.el, custom.el, dumped-lisp.el, files.el, keydefs.el, keymap.el, lisp-mode.el, make-docfile.el, replace.el, simple.el, subr.el, view-less.el, wid-edit.el: Lots of syncing with FSF 21.2. Use if-fboundp in wid-edit.el. New file newcomment.el from FSF. internals/internals.texi: Fix typo. (Build-Time Dependencies): New node. PROBLEMS: Delete. config.inc.samp, xemacs.mak: Eliminate HAVE_VC6, use SUPPORT_EDIT_AND_CONTINUE in its place. No incremental linking unless SUPPORT_EDIT_AND_CONTINUE, since it can cause nasty crashes in pdump. Put warnings about this in config.inc.samp. Report the full compile flags used for src and lib-src in the Installation output. alloc.c, lisp.h, ralloc.c, regex.c: Use ALLOCA() in regex.c to avoid excessive stack allocation. Also fix subtle problem with REL_ALLOC() -- any call to malloc() (direct or indirect) may relocate rel-alloced data, causing buffer text to shift. After any such call, regex must update all its pointers to such data. Add a system, when ERROR_CHECK_MALLOC, whereby regex.c indicates all the places it is prepared to handle malloc()/realloc()/free(), and any calls anywhere in XEmacs outside of this will trigger an abort. alloc.c, dialog-msw.c, eval.c, event-stream.c, general-slots.h, insdel.c, lisp.h, menubar-msw.c, menubar-x.c: Change *run_hook*_trapping_problems to take a warning class, not a string. Factor out code to issue warnings, add flag to call_trapping_problems() to postpone warning issue, and make *run_hook*_trapping_problems issue their own warnings tailored to the hook, postponed in the case of safe_run_hook_trapping_problems() so that the appropriate message can be issued about resetting to nil only when not `quit'. Make record_unwind_protect_restoring_int() non-static. dumper.c: Issue notes about incremental linking problems under Windows. fileio.c: Mule-ize encrypt/decrypt-string code. text.h: Spacing changes.
author ben
date Sun, 02 Mar 2003 02:18:12 +0000
parents b531bf8658e9
children 6355bae896e3
comparison
equal deleted inserted replaced
1331:fae999a16ab4 1332:6aa23bb3da6b
1 -*- mode:outline -*- 1 -*- mode:outline -*-
2 2
3 This file describes various problems that have been encountered 3 This file describes various problems that have been encountered
4 in compiling, installing and running XEmacs. It has been updated for 4 in compiling, installing and running XEmacs. It has been updated for
5 XEmacs 21.4. 5 XEmacs 21.5.
6 6
7 This file is rather large, but we have tried to sort the entries by 7 This file is rather large, but we have tried to sort the entries by
8 their respective relevance for XEmacs, but may have not succeeded 8 their respective relevance for XEmacs, but may have not succeeded
9 completely in that task. The file is divided into four parts: 9 completely in that task. The file is divided into four parts:
10 10
736 to take advantage of the keyboard map in emacskeys.sco. 736 to take advantage of the keyboard map in emacskeys.sco.
737 737
738 Note: Much of the above entry is probably not valid for XEmacs 21.0 738 Note: Much of the above entry is probably not valid for XEmacs 21.0
739 and later. 739 and later.
740 740
741 ** Windows
742
743 *** Weird crashes in pdump load or shortly after pdump load.
744
745 This can happen with incremental linking. Check if you have set
746 SUPPORT_EDIT_AND_CONTINUE to non-zero in config.inc, which must allow
747 incremental linking to be enabled (otherwise it's disabled). Either turn
748 this off, execute `nmake -f xemacs.mak clean', or manually remove
749 `temacs.exe' and `xemacs.exe'.
750
741 ** Cygwin 751 ** Cygwin
742 752
743 See also Intel Architecture General, above. 753 See also Intel Architecture General, above.
744 754
745 *** Signal 11 when building or running a dumped XEmacs. 755 *** Signal 11 when building or running a dumped XEmacs.
746 756
747 This appears to happen when using the traditional dumping mechanism and 757 This appears to happen when using the traditional dumping mechanism and
748 the system malloc. Andy Piper writes: 758 the system malloc. Andy Piper writes:
749 759
750 Traditional dumping on cygwin relies on using gmalloc (there are specific 760 Traditional dumping on Cygwin relies on using gmalloc (there are specific
751 hacks in our version of gmalloc to support this), I suspect using sysmalloc 761 hacks in our version of gmalloc to support this), I suspect using sysmalloc
752 is the problem. 762 is the problem.
753 763
754 Try configuring with pdump or without system malloc. 764 Try configuring with pdump or without system malloc.
755 765
760 correctly if you are using ash instead of bash (see below). 770 correctly if you are using ash instead of bash (see below).
761 771
762 *** Syntax errors running configure scripts, make failing with exit code 127 772 *** Syntax errors running configure scripts, make failing with exit code 127
763 in inexplicable situations, etc. 773 in inexplicable situations, etc.
764 774
765 This may be because you are using the default cygwin shell. The 775 [[ This may be because you are using the default Cygwin shell, under old
766 default cygwin shell (/bin/sh.exe) is ash which appears to work in 776 versions of Cygwin. The default Cygwin shell (/bin/sh.exe) is ash, which
767 most circumstances but has some weird failure modes. You need to 777 appears to work in most circumstances but has some weird failure modes.
768 replace the symlink with bash.exe. 778 You may need to replace the symlink with bash.exe. ]] This doesn't appear
779 to affect Cygwin any longer, and /bin/sh.exe is no longer a symlink in
780 any case.
769 781
770 *** Lots of compile errors, esp. on lines containing macro definitions 782 *** Lots of compile errors, esp. on lines containing macro definitions
771 terminated by backslashes. 783 terminated by backslashes.
772 784
773 Your partition holding the source files is mounted binary. It needs 785 Your partition holding the source files is mounted binary. It needs
784 .bashrc, Control Panel (Windows 2000/NT), or AUTOEXEC.BAT (Windows 796 .bashrc, Control Panel (Windows 2000/NT), or AUTOEXEC.BAT (Windows
785 98/95). 797 98/95).
786 798
787 *** The info files will not build. 799 *** The info files will not build.
788 800
789 makeinfo that ships with Cygwin (all versions) doesn't work. You need to 801 makeinfo that ships with old versions of Cygwin doesn't work.
790 obtain makeinfo from somewhere or build it yourself. 802 Upgrade to the latest Cygwin version.
791 803
792 *** XEmacs hangs while attempting to rebuild the .elc files. 804 *** XEmacs hangs while attempting to rebuild the .elc files.
793 805
794 Check to make sure you're not configuring with rel-alloc. The relocating 806 Check to make sure you're not configuring with rel-alloc. The relocating
795 allocator does not currently work under Cygwin due to bugs in Cygwin's 807 allocator does not currently work under Cygwin due to bugs in Cygwin's
796 mmap(). 808 mmap().
797 809
798 *** Trying to build with X, but X11 not detected. 810 *** Trying to build with X, but X11 not detected.
799 811
800 This is usually because xmkmf is not in your path or because you are 812 This is usually because xmkmf is not in your path or because you are
801 using the default cygwin shell. (See above.) 813 using the default Cygwin shell. (See above.)
802 814
803 815
804 * Problems with running XEmacs 816 * Problems with running XEmacs
805 ============================== 817 ==============================
806 ** General 818 ** General
819
820 *** Changes made to .el files do not take effect.
821
822 You may have forgotten to recompile them into .elc files. Then the
823 old .elc files will be loaded, and your changes will not be seen. To
824 fix this, do `M-x byte-recompile-directory' and specify the directory
825 that contains the Lisp files.
826
827 Note that you will get a warning when loading a .elc file that is
828 older than the corresponding .el file.
829
830 *** VM appears to hang in large folders.
831
832 This is normal (trust us) when upgrading to VM-6.22 from earlier
833 versions. Let VM finish what it is doing and all will be well.
834
835 *** Starting with 21.4.x, killing text is absurdly slow.
836
837 See FAQ Q3.10.6. Should be available on the web near
838 http://www.xemacs.org/faq/xemacs-faq.html#SEC160.
839
840 *** Whenever I try to retrieve a remote file, I have problems.
841
842 A typical error: FTP Error: USER request failed; 500 AUTH not understood.
843 Thanks to giacomo boffi <giacomo.boffi@polimi.it> on comp.emacs.xemacs:
844
845 tell your ftp client to not attempt AUTH authentication (or do not
846 use FTP servers that don't understand AUTH)
847
848 and notes that you need to add an element (often "-u") to
849 `efs-ftp-program-args'. Use M-x customize-variable, and verify the
850 needed flag with `man ftp' or other local documentation.
851
852 *** gnuserv is running, some clients can connect, but others cannot.
853
854 The code in gnuslib.c respects the value of TMPDIR. If the server and
855 the client have different values in their environment, you lose.
856 One program known to set TMPDIR and manifest this problem is exmh.
857 You can defeat the use of TMPDIR by unsetting USE_TMPDIR at the top of
858 gnuserv.h at build time.
859
860 ** General Unix
861
862 *** You type Control-H (Backspace) expecting to delete characters.
863
864 Emacs has traditionally used Control-H for help; unfortunately this
865 interferes with its use as Backspace on TTY's. As of XEmacs 21,
866 XEmacs looks at the "erase" setting of TTY structures and maps C-h to
867 backspace when erase is set to C-h. This is sort of a special hack,
868 but it makes it possible for you to use the standard:
869
870 stty erase ^H
871
872 to get your backspace key to erase characters. The erase setting is
873 recorded in the Lisp variable `tty-erase-char', which you can use to
874 tune the settings in your .emacs.
875
876 A major drawback of this is that when C-h becomes backspace, it no
877 longer invokes help. In that case, you need to use f1 for help, or
878 bind another key. An example of the latter is the following code,
879 which moves help to Meta-? (ESC ?):
880
881 (global-set-key "\M-?" 'help-command)
882
807 *** At startup I get a warning on stderr about missing charsets: 883 *** At startup I get a warning on stderr about missing charsets:
808 884
809 Warning: Missing charsets in String to FontSet conversion 885 Warning: Missing charsets in String to FontSet conversion
810 886
811 You need to specify appropriate charsets for your locale (usually the 887 You need to specify appropriate charsets for your locale (usually the
824 character set not listed in the default in Emacs.ad, please let 900 character set not listed in the default in Emacs.ad, please let
825 xemacs-beta@xemacs.org know about it, so we can add fonts to the 901 xemacs-beta@xemacs.org know about it, so we can add fonts to the
826 appropriate fontsets and stifle this warning. (Unfortunately it's 902 appropriate fontsets and stifle this warning. (Unfortunately it's
827 buried in Xlib, so we can't easily get rid of it otherwise.) 903 buried in Xlib, so we can't easily get rid of it otherwise.)
828 904
829 *** Starting with 21.4.x, killing text is absurdly slow.
830
831 See FAQ Q3.10.6. Should be available on the web near
832 http://www.xemacs.org/faq/xemacs-faq.html#SEC160.
833
834 *** Whenever I try to retrieve a remote file, I have problems.
835
836 A typical error: FTP Error: USER request failed; 500 AUTH not understood.
837 Thanks to giacomo boffi <giacomo.boffi@polimi.it> on comp.emacs.xemacs:
838
839 tell your ftp client to not attempt AUTH authentication (or do not
840 use FTP servers that don't understand AUTH)
841
842 and notes that you need to add an element (often "-u") to
843 `efs-ftp-program-args'. Use M-x customize-variable, and verify the
844 needed flag with `man ftp' or other local documentation.
845
846 *** gnuserv is running, some clients can connect, but others cannot.
847
848 The code in gnuslib.c respects the value of TMPDIR. If the server and
849 the client have different values in their environment, you lose.
850 One program known to set TMPDIR and manifest this problem is exmh.
851 You can defeat the use of TMPDIR by unsetting USE_TMPDIR at the top of
852 gnuserv.h at build time.
853
854 *** C-z just refreshes the screen instead of suspending Emacs.
855
856 You are probably using a shell that doesn't support job control, even
857 though the system itself is capable of it. Try using a different
858 shell.
859
860 *** You type Control-H (Backspace) expecting to delete characters.
861
862 Emacs has traditionally used Control-H for help; unfortunately this
863 interferes with its use as Backspace on TTY's. As of XEmacs 21,
864 XEmacs looks at the "erase" setting of TTY structures and maps C-h to
865 backspace when erase is set to C-h. This is sort of a special hack,
866 but it makes it possible for you to use the standard:
867
868 stty erase ^H
869
870 to get your backspace key to erase characters. The erase setting is
871 recorded in the Lisp variable `tty-erase-char', which you can use to
872 tune the settings in your .emacs.
873
874 A major drawback of this is that when C-h becomes backspace, it no
875 longer invokes help. In that case, you need to use f1 for help, or
876 bind another key. An example of the latter is the following code,
877 which moves help to Meta-? (ESC ?):
878
879 (global-set-key "\M-?" 'help-command)
880
881 *** Mail agents (VM, Gnus, rmail) cannot get new mail 905 *** Mail agents (VM, Gnus, rmail) cannot get new mail
882 906
883 rmail and VM get new mail from /usr/spool/mail/$USER using a program 907 rmail and VM get new mail from /usr/spool/mail/$USER using a program
884 called `movemail'. This program interlocks with /bin/mail using the 908 called `movemail'. This program interlocks with /bin/mail using the
885 protocol defined by /bin/mail. 909 protocol defined by /bin/mail.
906 installed copy of movemail is usually in the directory 930 installed copy of movemail is usually in the directory
907 /usr/local/lib/emacs/VERSION/TARGET. You must change the group and 931 /usr/local/lib/emacs/VERSION/TARGET. You must change the group and
908 mode of the installed copy; changing the group and mode of the build 932 mode of the installed copy; changing the group and mode of the build
909 directory copy is ineffective. 933 directory copy is ineffective.
910 934
911 *** VM appears to hang in large folders.
912
913 This is normal (trust us) when upgrading to VM-6.22 from earlier
914 versions. Let VM finish what it is doing and all will be well.
915
916 *** Changes made to .el files do not take effect.
917
918 You may have forgotten to recompile them into .elc files. Then the
919 old .elc files will be loaded, and your changes will not be seen. To
920 fix this, do `M-x byte-recompile-directory' and specify the directory
921 that contains the Lisp files.
922
923 Note that you will get a warning when loading a .elc file that is
924 older than the corresponding .el file.
925
926 *** Things which should be bold or italic (such as the initial 935 *** Things which should be bold or italic (such as the initial
927 copyright notice) are not. 936 copyright notice) are not.
928 937
929 The fonts of the "bold" and "italic" faces are generated from the font 938 The fonts of the "bold" and "italic" faces are generated from the font
930 of the "default" face; in this way, your bold and italic fonts will 939 of the "default" face; in this way, your bold and italic fonts will
964 *** Reading and writing files is very very slow. 973 *** Reading and writing files is very very slow.
965 974
966 Try evaluating the form (setq lock-directory nil) and see if that helps. 975 Try evaluating the form (setq lock-directory nil) and see if that helps.
967 There is a problem with file-locking on some systems (possibly related 976 There is a problem with file-locking on some systems (possibly related
968 to NFS) that I don't understand. Please send mail to the address 977 to NFS) that I don't understand. Please send mail to the address
969 xemacs@xemacs.org if you figure this one out. 978 xemacs-beta@xemacs.org if you figure this one out.
970 979
971 *** When emacs starts up, I get lots of warnings about unknown keysyms. 980 *** When emacs starts up, I get lots of warnings about unknown keysyms.
972 981
973 If you are running the prebuilt binaries, the Motif library expects to find 982 If you are running the prebuilt binaries, the Motif library expects to find
974 certain thing in the XKeysymDB file. This file is normally in /usr/lib/X11/ 983 certain thing in the XKeysymDB file. This file is normally in /usr/lib/X11/
1143 scrolling regions to move around blocks of text. This is why 1152 scrolling regions to move around blocks of text. This is why
1144 redisplay on the traditional terminals, or over slow lines can be very 1153 redisplay on the traditional terminals, or over slow lines can be very
1145 slow. 1154 slow.
1146 1155
1147 If you are interested in fixing this, please let us know at 1156 If you are interested in fixing this, please let us know at
1148 <xemacs@xemacs.org>. 1157 <xemacs-beta@xemacs.org>.
1149 1158
1150 *** Screen is updated wrong, but only on one kind of terminal. 1159 *** Screen is updated wrong, but only on one kind of terminal.
1151 1160
1152 This could mean that the termcap entry you are using for that terminal 1161 This could mean that the termcap entry you are using for that terminal
1153 is wrong, or it could mean that Emacs has a bug handing the 1162 is wrong, or it could mean that Emacs has a bug handing the
1348 object file. In this case, when the postgresql module is loaded, the 1357 object file. In this case, when the postgresql module is loaded, the
1349 linker is unable to resolve that symbol, so the module load fails. The 1358 linker is unable to resolve that symbol, so the module load fails. The
1350 workaround is to recompile the module with optimization turned on. Any 1359 workaround is to recompile the module with optimization turned on. Any
1351 optimization level, including -Os, appears to work. 1360 optimization level, including -Os, appears to work.
1352 1361
1362 *** C-z just refreshes the screen instead of suspending Emacs.
1363
1364 You are probably using a shell that doesn't support job control, even
1365 though the system itself is capable of it. Try using a different
1366 shell.
1353 1367
1354 ** MacOS/X, Darwin 1368 ** MacOS/X, Darwin
1355 *** XEmacs crashes on MacOS within font-lock, or when dealing 1369 *** XEmacs crashes on MacOS within font-lock, or when dealing
1356 with large compilation buffers, or in other regex applications. 1370 with large compilation buffers, or in other regex applications.
1357 1371
1961 C Compiler Version 1.00.46 (Beta). The solution is to compile with 1975 C Compiler Version 1.00.46 (Beta). The solution is to compile with
1962 GCC. 1976 GCC.
1963 1977
1964 1978
1965 ** Windows 1979 ** Windows
1966 *** In general, the Windows code is less mature than the Unix code. 1980 *** Conflicts with FSF NTEmacs
1967 1981
1968 The Windows code base is still changing quickly. If you are 1982 Depending on how it is installed, FSF NTEmacs may setup various EMACS*
1969 experiencing problems, try the latest beta version to see if the 1983 variables in your environment. The presence of these variables may
1970 problem still exists. Also ask on xemacs-nt@xemacs.org. 1984 cause XEmacs to fail at startup, cause you to see corrupted
1985 doc-strings, or cause other random problems.
1986
1987 You should remove these variables from your environment. These
1988 variables are not required to run FSF NTEmacs if you start it by
1989 running emacs.bat.
1990
1991 *** XEmacs can't find my init file
1992
1993 XEmacs looks for your init in your "home" directory -- either in
1994 `~/.xemacs/init.el' or `~/.emacs'. XEmacs decides that your "home"
1995 directory is, in order of preference:
1996
1997 - The value of the HOME environment variable, if the variable exists.
1998 - The value of the registry entry SOFTWARE\XEmacs\XEmacs\HOME,
1999 if it exists.
2000 - The value of the HOMEDRIVE and HOMEPATH environment variables, if
2001 these variables both exist.
2002 - C:\.
2003
2004 To determine what XEmacs thinks your home directory is, try opening
2005 a file in the `~' directory, and you should see its expansion in the
2006 modeline. If this doesn't work, type ESC : (user-home-directory).
2007
2008 *** XEmacs can't find any packages
2009
2010 XEmacs looks for your packages in subdirectories of a directory which
2011 is set at compile-time (see `config.inc'), and whose default is
2012 `C:\Program Files\XEmacs'. XEmacs also looks in `~/.xemacs', where
2013 `~' refers to your home directory (see previous entry). The variable
2014 `configure-package-path' holds the actual path that was compiled into
2015 your copy of XEmacs.
2016
2017 The compile-time default location can be overridden by the EMACSPACKAGEPATH
2018 environment variable or by the SOFTWARE\XEmacs\XEmacs\EMACSPACKAGEPATH
2019 registry entry. You should check that these variables, if they exist,
2020 point to the actual location of your package tree.
2021
2022 *** XEmacs doesn't die when shutting down Windows 95 or 98
2023
2024 When shutting down Windows 95 or 98 you may see a dialog that says
2025 "xemacs / You must quit this program before you quit Windows".
2026 It is safe to
2027 "Click OK to quit the program and Windows",
2028 but you won't be offered a chance to save any modified XEmacs buffers.
2029
2030 *** Key bindings
2031
2032 The C-z, C-x, C-c, and C-v keystrokes have traditional uses in both
2033 emacs and Windows programs. XEmacs binds these keys to their
2034 traditional emacs uses, and provides Windows 3.x style bindings for
2035 the Cut, Copy and Paste functions.
2036
2037 Function XEmacs binding
2038 -------- --------------
2039 Undo C-_
2040 Cut Sh-Del
2041 Copy C-Insert
2042 Paste Sh-Insert
2043
2044 You can rebind keys to make XEmacs more Windows-compatible; for
2045 example, to bind C-z to undo:
2046
2047 (global-set-key [(control z)] 'undo)
2048
2049 Rebindind C-x and C-c is trickier because by default these are prefix
2050 keys in XEmacs. See the "Key Bindings" node in the XEmacs manual.
2051
2052 *** Behavior of selected regions
2053
2054 Use the pending-del package to enable the standard Windows behavior of
2055 self-inserting deletes region.
2056
2057 *** Limitations on the use of the AltGr key.
2058
2059 In some locale and OS combinations you can't generate M-AltGr-key or
2060 C-M-AltGr-key sequences at all.
2061
2062 To generate C-AltGr-key or C-M-AltGr-key sequences you must use the
2063 right-hand Control key and you must press it *after* AltGr.
2064
2065 These limitations arise from fundamental problems in the way that the
2066 win32 API reports AltGr key events. There isn't anything that XEmacs
2067 can do to work round these problems that it isn't already doing.
2068
2069 You may want to create alternative bindings if any of the standard
2070 XEmacs bindings require you to use some combination of Control or Meta
2071 and AltGr.
2072
2073 *** Limited support for subprocesses under Windows 9x
2074
2075 Attempting to use call-process to run a 16bit program gives a
2076 "Spawning child process: Exec format error". For example shell-command
2077 fails under Windows 95 and 98 if you use command.com or any other
2078 16bit program as your shell.
2079
2080 XEmacs may incorrectly quote your call-process command if it contains
2081 double quotes, backslashes or spaces.
2082
2083 start-process and functions that rely on it are supported under Windows 95,
2084 98 and NT. However, starting a 16bit program that requires keyboard input
2085 may cause XEmacs to hang or crash under Windows 95 and 98, and will leave
2086 the orphaned 16bit program consuming all available CPU time.
2087
2088 Sending signals to subprocesses started by call-process or by
2089 start-process fails with a "Cannot send signal to process" error under
2090 Windows 95 and 98. As a side effect of this, quitting XEmacs while it
2091 is still running subprocesses causes it to crash under Windows 95 and
2092 98.
1971 2093
1972 2094
1973 ** Cygwin 2095 ** Cygwin
1974 *** Signal 11 when building or running a dumped XEmacs. 2096 *** Signal 11 when building or running a dumped XEmacs.
1975 2097