Require GNU make to build Emacs
[bpt/emacs.git] / etc / PROBLEMS
index dba42d5..58c2cea 100644 (file)
@@ -29,8 +29,7 @@ Emacs to use.  The possible places where this specification might be are:
   - in your ~/.Xdefaults file
 
   - client-side X resource file, such as  ~/Emacs or
-    /usr/X11R6/lib/app-defaults/Emacs or
-    /usr/X11R6/lib/X11/app-defaults/Emacs
+    /usr/share/X11/app-defaults/Emacs
 
 One of these files might have bad or malformed specification of a
 fontset that Emacs should use.  To fix the problem, you need to find
@@ -108,6 +107,7 @@ load-path.
 * Crash bugs
 
 ** Emacs crashes when running in a terminal, if compiled with GCC 4.5.0
+
 This version of GCC is buggy: see
 
   http://debbugs.gnu.org/6031
@@ -154,10 +154,12 @@ If your tar has this problem, install GNU tar--if you can manage to
 untar it :-).
 
 ** Emacs can crash when displaying PNG images with transparency.
+
 This is due to a bug introduced in ImageMagick 6.8.2-3.  The bug should
 be fixed in ImageMagick 6.8.3-10.  See <URL:http://debbugs.gnu.org/13867>.
 
 ** Crashes when displaying GIF images in Emacs built with version
+
 libungif-4.1.0 are resolved by using version libungif-4.1.0b1.
 Configure checks for the correct version, but this problem could occur
 if a binary built against a shared libungif is run on a system with an
@@ -207,6 +209,7 @@ If you need Emacs to be able to recover from closing displays, compile
 it with the Lucid toolkit instead of GTK.
 
 ** Emacs crashes when you try to view a file with complex characters.
+
 For example, the etc/HELLO file (as shown by C-h h).
 The message "symbol lookup error: /usr/bin/emacs: undefined symbol: OTF_open"
 is shown in the terminal from which you launched Emacs.
@@ -600,22 +603,20 @@ and Latin-1 version of this character to display a space.
 *** Some of the fonts called for in your fontset may not exist on your
 X server.
 
-Each X11 font covers just a fraction of the characters that Emacs
+Each X font covers just a fraction of the characters that Emacs
 supports.  To display the whole range of Emacs characters requires
 many different fonts, collected into a fontset.  You can remedy the
 problem by installing additional fonts.
 
 The intlfonts distribution includes a full spectrum of fonts that can
 display all the characters Emacs supports.  The etl-unicode collection
-of fonts (available from <URL:ftp://ftp.x.org/contrib/fonts/> and
-<URL:ftp://ftp.xfree86.org/pub/mirror/X.Org/contrib/fonts/>) includes
+of fonts (available from <URL:ftp://ftp.x.org/contrib/fonts/>) includes
 fonts that can display many Unicode characters; they can also be used
 by ps-print and ps-mule to print Unicode characters.
 
-** Under X11, some characters appear improperly aligned in their lines.
+** Under X, some characters appear improperly aligned in their lines.
 
-You may have bad X11 fonts; try installing the intlfonts distribution
-or the etl-unicode collection (see above).
+You may have bad fonts.
 
 ** Under X, an unexpected monospace font is used as the default font.
 
@@ -799,7 +800,7 @@ generally read correctly by Emacs 21.
 *** You "lose characters" after typing Compose Character key.
 
 This is because the Compose Character key is defined as the keysym
-Multi_key, and Emacs (seeing that) does the proper X11
+Multi_key, and Emacs (seeing that) does the proper X
 character-composition processing.  If you don't want your Compose key
 to do that, you can redefine it with xmodmap.
 
@@ -900,7 +901,7 @@ into Meta.  This is because of the great importance of Meta in Emacs.
 
 This happens sometimes when using Metacity.  Resizing Emacs or ALT-Tab:bing
 makes the system unresponsive to the mouse or the keyboard.  Killing Emacs
-or shifting out from X11 and back again usually cures it (i.e. Ctrl-Alt-F1
+or shifting out from X and back again usually cures it (i.e. Ctrl-Alt-F1
 and then Alt-F7).  A bug for it is here:
 https://bugs.launchpad.net/ubuntu/+source/metacity/+bug/231034.
 Note that a permanent fix seems to be to disable "assistive technologies".
@@ -1030,7 +1031,7 @@ the resource prevents the problem.
 
 ** General X problems
 
-*** Redisplay using X11 is much slower than previous Emacs versions.
+*** Redisplay using X is much slower than previous Emacs versions.
 
 We've noticed that certain X servers draw the text much slower when
 scroll bars are on the left.  We don't know why this happens.  If this
@@ -1249,6 +1250,7 @@ You can get back menus on each frame by starting emacs like this:
 * Runtime problems on character terminals
 
 ** The meta key does not work on xterm.
+
 Typing M-x rings the terminal bell, and inserts a string like ";120~".
 For recent xterm versions (>= 216), Emacs uses xterm's modifyOtherKeys
 feature to generate strings for key combinations that are not
@@ -1901,6 +1903,55 @@ to allocate ptys reliably.
 
 * Runtime problems specific to MS-Windows
 
+** Emacs on Windows 9X requires UNICOWS.DLL
+
+If that DLL is not available, Emacs will display an error dialog
+stating its absence, and refuse to run.
+
+This is because Emacs 24.4 and later uses functions whose non-stub
+implementation is only available in UNICOWS.DLL, which implements the
+Microsoft Layer for Unicode on Windows 9X, or "MSLU".  This article on
+MSDN:
+
+  http://msdn.microsoft.com/en-us/goglobal/bb688166.aspx
+
+includes a short description of MSLU and a link where it can be
+downloaded.
+
+** A few seconds delay is seen at startup and for many file operations
+
+This happens when the Net Logon service is enabled.  During Emacs
+startup, this service issues many DNS requests looking up for the
+Windows Domain Controller.  When Emacs accesses files on networked
+drives, it automatically logs on the user into those drives, which
+again causes delays when Net Logon is running.
+
+The solution seems to be to disable Net Logon with this command typed
+at the Windows shell prompt:
+
+  net stop netlogon
+
+To start the service again, type "net start netlogon".  (You can also
+stop and start the service from the Computer Management application,
+accessible by right-clicking "My Computer" or "Computer", selecting
+"Manage", then clicking on "Services".)
+
+** Emacs crashes when exiting the Emacs session
+
+This was reported to happen when some optional DLLs, such as those
+used for displaying images or the GnuTLS library, which are loaded
+on-demand, have a runtime dependency on the libgcc DLL,
+libgcc_s_dw2-1.dll.  The reason seems to be a bug in libgcc which
+rears its ugly head whenever the libgcc DLL is loaded after Emacs has
+started.
+
+One solution for this problem is to find an alternative build of the
+same optional library that does not depend on the libgcc DLL.
+
+Another possibility is to rebuild Emacs with the -shared-libgcc
+switch, which will force Emacs to load libgcc_s_dw2-1.dll on startup,
+ahead of any optional DLLs loaded on-demand later in the session.
+
 ** PATH can contain unexpanded environment variables
 
 Old releases of TCC (version 9) and 4NT (up to version 8) do not correctly
@@ -1920,8 +1971,8 @@ XKeymacs completely is reported to solve the problem.
 
 ** Windows 95 and networking.
 
-To support server sockets, Emacs 22.1 loads ws2_32.dll.  If this file
-is missing, all Emacs networking features are disabled.
+To support server sockets, Emacs loads ws2_32.dll.  If this file is
+missing, all Emacs networking features are disabled.
 
 Old versions of Windows 95 may not have the required DLL.  To use
 Emacs's networking features on Windows 95, you must install the
@@ -1940,28 +1991,36 @@ reported as a bug against both Emacs and rails-mode, so look for an updated
 rails-mode that avoids this crash, or avoid using UNC paths if using
 rails-mode.
 
-** Known problems with the MS-Windows port of Emacs 22.3
+** M-x term does not work on MS-Windows.
 
-M-x term does not work on MS-Windows.  TTY emulation on Windows is
-undocumented, and programs such as stty which are used on posix platforms
-to control tty emulation do not exist for native windows terminals.
+TTY emulation on Windows is undocumented, and programs such as stty
+which are used on posix platforms to control tty emulation do not
+exist for native windows terminals.
 
-Using create-fontset-from-ascii-font or the --font startup parameter
+** Using create-fontset-from-ascii-font or the --font startup parameter
 with a Chinese, Japanese or Korean font leads to display problems.
 Use a Latin-only font as your default font.  If you want control over
 which font is used to display Chinese, Japanese or Korean character,
 use create-fontset-from-fontset-spec to define a fontset.
 
-Frames are not refreshed while the File or Font dialog or a pop-up menu
-is displayed.  This also means help text for pop-up menus is not
-displayed at all.  This is because message handling under Windows is
-synchronous, so we cannot handle repaint (or any other) messages while
-waiting for a system function to return the result of the dialog or
-pop-up menu interaction.
+** Frames are not refreshed while dialogs or menus are displayed
+
+This means no redisplay while the File or Font dialog or a pop-up menu
+is displayed.  This also means tooltips with help text for pop-up
+menus is not displayed at all (except in a TTY session, where the help
+text is shown in the echo area).  This is because message handling
+under Windows is synchronous, so we cannot handle repaint (or any
+other) messages while waiting for a system function, which popped up
+the menu/dialog, to return the result of the dialog or pop-up menu
+interaction.
+
+** Help text in tooltips does not work on old Windows versions
 
 Windows 95 and Windows NT up to version 4.0 do not support help text
 for menus.  Help text is only available in later versions of Windows.
 
+** Display problems with ClearType method of smoothing
+
 When "ClearType" method is selected as the "method to smooth edges of
 screen fonts" (in Display Properties, Appearance tab, under
 "Effects"), there are various problems related to display of
@@ -1973,6 +2032,8 @@ has some code to enlarge the width of the bounding box.  Apparently,
 this display feature needs more changes to get it 100% right.  A
 workaround is to disable ClearType.
 
+** Problems with mouse-tracking and focus management
+
 There are problems with display if mouse-tracking is enabled and the
 mouse is moved off a frame, over another frame then back over the first
 frame.  A workaround is to click the left mouse button inside the frame
@@ -1984,22 +2045,22 @@ not as severely as in 21.1.
 An inactive cursor remains in an active window after the Windows
 Manager driven switch of the focus, until a key is pressed.
 
-Windows input methods are not recognized by Emacs.  However, some
-of these input methods cause the keyboard to send characters encoded
-in the appropriate coding system (e.g., ISO 8859-1 for Latin-1
-characters, ISO 8859-8 for Hebrew characters, etc.).  To make these
-input methods work with Emacs, set the keyboard coding system to the
-appropriate value after you activate the Windows input method.  For
-example, if you activate the Hebrew input method, type this:
+** Problems with Windows input methods
+
+Some of the Windows input methods cause the keyboard to send
+characters encoded in the appropriate coding system (e.g., ISO 8859-1
+for Latin-1 characters, ISO 8859-8 for Hebrew characters, etc.).  To
+make these input methods work with Emacs on Windows 9X, you might need
+to set the keyboard coding system to the appropriate value after you
+activate the Windows input method.  For example, if you activate the
+Hebrew input method, type this:
 
    C-x RET k hebrew-iso-8bit RET
 
-(Emacs ought to recognize the Windows language-change event and set up
-the appropriate keyboard encoding automatically, but it doesn't do
-that yet.)  In addition, to use these Windows input methods, you
-should set your "Language for non-Unicode programs" (on Windows XP,
-this is on the Advanced tab of Regional Settings) to the language of
-the input method.
+In addition, to use these Windows input methods, you might need to set
+your "Language for non-Unicode programs" (on Windows XP, this is on
+the Advanced tab of Regional Settings) to the language of the input
+method.
 
 To bind keys that produce non-ASCII characters with modifiers, you
 must specify raw byte codes.  For instance, if you want to bind
@@ -2011,20 +2072,28 @@ The above example is for the Latin-1 environment where the byte code
 of the encoded a-grave is 340 octal.  For other environments, use the
 encoding appropriate to that environment.
 
+** Problems with the %b format specifier for format-time-string
+
 The %b specifier for format-time-string does not produce abbreviated
 month names with consistent widths for some locales on some versions
 of Windows.  This is caused by a deficiency in the underlying system
 library function.
 
+** Problems with set-time-zone-rule function
+
 The function set-time-zone-rule gives incorrect results for many
 non-US timezones.  This is due to over-simplistic handling of
 daylight savings switchovers by the Windows libraries.
 
+** Files larger than 4GB report wrong size
+
 Files larger than 4GB cause overflow in the size (represented as a
 32-bit integer) reported by `file-attributes'.  This affects Dired as
 well, since the Windows port uses a Lisp emulation of `ls' that relies
 on `file-attributes'.
 
+** Playing sound doesn't support the :data method
+
 Sound playing is not supported with the `:data DATA' key-value pair.
 You _must_ use the `:file FILE' method.
 
@@ -2078,7 +2147,7 @@ likely to be a global one, and not Emacs specific.
 
 Many cheap inkjet, and even some cheap laser printers, do not
 print plain text anymore, they will only print through graphical
-printer drivers.  A workaround on MS-Windows is to use Windows' basic
+printer drivers.  A workaround on MS-Windows is to use Windows's basic
 built in editor to print (this is possibly the only useful purpose it
 has):
 
@@ -2148,7 +2217,7 @@ running `Xconfig' from within NT, choosing "X selection", then
 un-checking the boxes "auto-copy X selection" and "auto-paste to X
 selection".
 
-Of this does not work, please inform bug-gnu-emacs@gnu.org.  Then
+If this does not work, please inform bug-gnu-emacs@gnu.org.  Then
 please call support for your X-server and see if you can get a fix.
 If you do, please send it to bug-gnu-emacs@gnu.org so we can list it here.
 
@@ -2215,8 +2284,7 @@ The solution is to remove this line from `etc/fstab'.
 First ensure that the necessary 32-bit system libraries and include
 files are installed.  Then use:
 
-  env CC="gcc -m32" ./configure --build=i386-linux-gnu \
-    --x-libraries=/usr/X11R6/lib
+  env CC="gcc -m32" ./configure --build=i386-linux-gnu --x-libraries=/usr/lib
 
 (using the location of the 32-bit X libraries on your system).
 
@@ -2437,26 +2505,10 @@ or
 
 (The -R option disables address space randomization.)
 
-*** test-distrib says that the distribution has been clobbered.
-*** or, temacs prints "Command key out of range 0-127".
-*** or, temacs runs and dumps emacs, but emacs totally fails to work.
-*** or, temacs gets errors dumping emacs.
-
-This can be because the .elc files have been garbled.  Do not be
-fooled by the fact that most of a .elc file is text: these are
-binary files and can contain all 256 byte values.
-
-If you have a copy of Emacs whose .elc files have been damaged in this
-way, you should be able to fix it by using:
-
- make bootstrap
-
-to regenerate all the .elc files.
-
 *** temacs prints "Pure Lisp storage exhausted".
 
-This means that the Lisp code loaded from the .elc and .el files
-during temacs -l loadup inc dump took up more space than was allocated.
+This means that the Lisp code loaded from the .elc and .el files during
+`temacs --batch --load loadup dump' took up more space than was allocated.
 
 This could be caused by
  1) adding code to the preloaded Lisp files
@@ -2492,27 +2544,6 @@ occurring with older versions of GCC (e.g. 3.3.5).
 This is due to a bug in the bcopy implementation in openSUSE 10.3.
 It is/will be fixed in an openSUSE update.
 
-** Installation
-
-*** On Solaris, use GNU Make when installing an out-of-tree build
-
-The Emacs configuration process allows you to configure the
-build environment so that you can build emacs in a directory
-outside of the distribution tree.  When installing Emacs from an
-out-of-tree build directory on Solaris, you may need to use GNU
-make.  The make programs bundled with Solaris support the VPATH
-macro but use it differently from the way the VPATH macro is
-used by GNU make.  The differences will cause the "make install"
-step to fail, leaving you with an incomplete emacs
-installation.  GNU make is available in /usr/sfw/bin on Solaris
-10 and can be installed as /opt/sfw/bin/gmake from the Solaris 9
-Software Companion CDROM.
-
-The problems due to the VPATH processing differences affect only
-out of tree builds so, if you are on a Solaris installation
-without GNU make, you can install Emacs completely by installing
-from a build environment using the original emacs distribution tree.
-
 ** First execution
 
 *** Emacs binary is not in executable format, and cannot be run.