Document text corruption issue with Xorg ATI driver
[sxemacs] / PROBLEMS
index d10cd6e..e76f5d0 100644 (file)
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -1,6 +1,6 @@
                                                   -*- mode:outline -*-
 
                                                   -*- mode:outline -*-
 
-At the time of this release (SXEmacs 22.1.14), SXEmacs has the
+At the time of this release (SXEmacs 22.1.15), SXEmacs has the
 following idiosyncrasies: 
 
 * File Locations
 following idiosyncrasies: 
 
 * File Locations
@@ -8,22 +8,46 @@ following idiosyncrasies:
 
 ** User init file (C-h v user-init-file)
 
 
 ** User init file (C-h v user-init-file)
 
-SXEmacs searches for its init file in `~/.sxemacs/init.el'.
-Symlinking your old ~/.xemacs directory should be enough to get you up
-and running.
+SXEmacs looks for user init files in `user-init-directory'.  The
+preferred directory is: ${XDG_CONFIG_HOME}/sxemacs but it can fall
+back to the old ~/.sxemacs directory.
 
 
-    $ ln -s ~/.xemacs ~/.sxemacs RET
+The search order is:
+
+    ${XDG_CONFIG_HOME}/sxemacs
+    ${HOME}/.config/sxemacs    # if $XDG_CONFIG_HOME is not set
+    ${HOME}/.sxemacs           # if other dirs don't exist
+
+You can also force the use of ~/.sxemacs regardless of the existence
+of the XDG dir/var by setting $SXE_USE_LEGACY environment variable to
+a non-nil value.
+
+If you're coming from XEmacs, symlinking your old ~/.xemacs directory
+to a SXEmacs location should be enough to get you up and running:
+
+    $ ln -svfn ${HOME}/.xemacs ${XDG_CONFIG_HOME}/sxemacs
 
 BTW, unlike XEmacs, SXEmacs doesn't attempt to "migrate" your old init
 file or Gnu/Emacs .emacs file.
 
 ** Packages Hierarchy
 
 
 BTW, unlike XEmacs, SXEmacs doesn't attempt to "migrate" your old init
 file or Gnu/Emacs .emacs file.
 
 ** Packages Hierarchy
 
+*** System-wide Packages (late-packages)
+
 The default location that SXEmacs searches for packages is
 `$prefix/share/sxemacs/'.  The same as for the user-init-file, a
 symlink is all you need to get up and running.
 
 The default location that SXEmacs searches for packages is
 `$prefix/share/sxemacs/'.  The same as for the user-init-file, a
 symlink is all you need to get up and running.
 
-    $ ln -s /usr/local/lib/xemacs /usr/local/share/sxemacs RET
+    $ ln -svfn /usr/local/lib/xemacs /usr/local/share/sxemacs
+
+*** User Packages in ${HOME} (early-packages)
+
+For packages that you keep in your ${HOME}, the preferred location is:
+${XDG_DATA_HOME}/sxemacs.  This is normally ${HOME}/.local/share/sxemacs,
+and SXEmacs will use that if ${XDG_DATA_HOME} is not set.
+
+These packages may also be located in ~/.sxemacs if that is where you
+have your user-init-directory set to.
 
 
 * Build Quirks
 
 
 * Build Quirks
@@ -118,7 +142,7 @@ Core 7, and Gentoo on x86_64.
 
 One user has reported that using `-O1' in CFLAGS prevents it.
 
 
 One user has reported that using `-O1' in CFLAGS prevents it.
 
-But even with this test failure, SXEmacs still runs and opperates
+But even with this test failure, SXEmacs still runs and operates
 without incident.  In fact, the failure can't be reproduced when
 running the test suite interactively.  With that in mind, it should be
 safe to install if you see this failure.
 without incident.  In fact, the failure can't be reproduced when
 running the test suite interactively.  With that in mind, it should be
 safe to install if you see this failure.
@@ -195,6 +219,14 @@ To run configure successfully...
 
     CONFIG_SHELL=/path/to/bash $CONFIG_SHELL configure [option, ...]
 
 
     CONFIG_SHELL=/path/to/bash $CONFIG_SHELL configure [option, ...]
 
+*** configure on FreeBSD
+
+Turning on the use of libssp and -fstack-protector from configure
+( --with-error-checking=stack ) will result in a broken build. 
+
+Do not, under any circumstances, add -fstack-protector to CFLAGS, even 
+independently of the stack error checking option. 
+
 ** bdwgc and gcc and code optimisation
 
 There are some weird optimisation issues with the Boehm-Demers-Weiser
 ** bdwgc and gcc and code optimisation
 
 There are some weird optimisation issues with the Boehm-Demers-Weiser
@@ -275,6 +307,83 @@ Install the GNU texinfo package on your system. You'll need at least
 version 4.8.
 
 
 version 4.8.
 
 
+** MacOS X warns of a crash during configure
+
+This is normal, as one of the tests made during configure (for the
+realpath call correctness) induces as crash.
+
+If you are developing SXEmacs and will do lots of runs of configure
+and that dialog annoys you, consider issuing:
+
+    # Disable crash reporting
+    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Root.plist
+    # Redo last configure
+    ./config.status --recheck 
+    # Enable crash reporting
+    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Root.plist
+
+Another alternative (not recommended) is to launch
+
+       /Developer/Applications/Utilities/CrashReporterPrefs
+
+and configure the mode to server, but you will loose notifications of
+crashes on all applications.
+
+In order to give SXEmacs developers with good diagnosis information it
+is recommended the mode be Developer.
+
+** OpenIndiana
+
+SXEmacs does build and run on OpenIndiana (151a) but you will need to
+install a few files/packages beforehand.  Namely...
+
+    Common Name             OpenIndiana Package Name
+
+       GCC                     gcc-3
+       GNU M4                  gnu-m4
+       automake                automake-110
+       autoconf                autoconf
+       libtool                 libtool (also install libltdl)
+       pkg-config              gettext
+       math.h                  header-math
+       bison                   bison
+       gmp                     gmp
+       mpfr                    mpfr
+
+Yes, you read that right... to get pkg-config you must install the
+"gettext" package. :-)
+
+In that list, `bison', `gmp', and `mpfr' are not critical, but you
+will get extra functionality in your SXEmacs if you have them.
+
+*** automake additional instructions for OpenIndiana
+
+When you install the automake-110 OpenIndiana package it won't set up
+the symlinks to /usr/bin/automake or /usr/bin/aclocal.  Fix that
+with...
+
+       sudo ln -sv automake-1.10 /usr/bin/automake
+       sudo ln -sv aclocal-1.10 /usr/bin/aclocal
+
+*** Running SXEmacs configure on OpenIndiana
+
+There's one more quirk with OpenIndiana when you try to run SXEmacs'
+configure... you MUST set $CONFIG_SHELL
+
+            CONFIG_SHELL=/bin/bash ../configure [opts]
+
+
+** make does not stop on subdirectory build failure
+
+Due to a bug in the make argument parsing in code generated by
+autoconf it is possible for make not to stop when a subdirectory fails.
+
+This failure occurs for instance when the make command line has a variable
+assignment which has a value with a - and k. Example:
+
+make CFLAGS="-Wall -fpacked -fpedantic" build-report
+
+
 * XEmacs Packages
 =================
 
 * XEmacs Packages
 =================
 
@@ -289,150 +398,6 @@ available from the "Pre-Releases" area of XEmacs package mirrors are
 both now compatible with SXEmacs and do not need the patches mentioned
 here.
 
 both now compatible with SXEmacs and do not need the patches mentioned
 here.
 
-** EFS
-
-Here is the patch to make EFS work with SXEmacs:
-
-(Note: the current EFS package that XEmacs distributes has this
-patch installed) 
-
-Index: ChangeLog
-===================================================================
-RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/efs/ChangeLog,v
-retrieving revision 1.41
-diff -u -U0 -r1.41 ChangeLog
---- ChangeLog  4 Oct 2004 08:54:56 -0000       1.41
-+++ ChangeLog  14 Jan 2005 02:43:10 -0000
-@@ -0,0 +1,6 @@
-+2005-01-14  Steve Youngs  <steve@sxemacs.org>
-+
-+      * efs-fnh.el (efs-handle-emacs-version): Use `emacs-*-version'
-+      variables for version info instead of string-matching through
-+      `emacs-version'. 
-+
-Index: efs-fnh.el
-===================================================================
-RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/efs/efs-fnh.el,v
-retrieving revision 1.13
-diff -u -u -r1.13 efs-fnh.el
---- efs-fnh.el 2 Oct 2004 14:06:00 -0000       1.13
-+++ efs-fnh.el 14 Jan 2005 02:42:59 -0000
-@@ -36,15 +36,17 @@
-   (let ((ehev-match-data (match-data)))
-     (unwind-protect
-       (let ((xemacsp (string-match "XEmacs" emacs-version))
--            ver subver)
--        (or (string-match "^\\([0-9]+\\)\\.\\([0-9]+\\)" emacs-version)
--            (error "efs does not work with emacs version %s" emacs-version))
--        (setq ver (string-to-int (substring emacs-version
--                                            (match-beginning 1)
--                                            (match-end 1)))
--              subver (string-to-int (substring emacs-version
--                                               (match-beginning 2)
--                                               (match-end 2))))
-+            (ver emacs-major-version)
-+            (subver emacs-minor-version))
-+        (unless ver
-+          (or (string-match "^\\([0-9]+\\)\\.\\([0-9]+\\)" emacs-version)
-+              (error "efs does not work with emacs version %s" emacs-version))
-+          (setq ver (string-to-int (substring emacs-version
-+                                              (match-beginning 1)
-+                                              (match-end 1)))
-+                subver (string-to-int (substring emacs-version
-+                                                 (match-beginning 2)
-+                                                 (match-end 2)))))
-         (cond
-          
-          ;; XEmacs (emacs-version looks like \"19.xx XEmacs\")
-
-** Dired
-
-Here is the patch to make Dired work with SXEmacs:
-
-(Note: the current Dired package that XEmacs distributes has this
-patch installed) 
-
-Index: ChangeLog
-===================================================================
-RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/dired/ChangeLog,v
-retrieving revision 1.19
-diff -u -U0 -r1.19 ChangeLog
---- ChangeLog  4 Oct 2004 08:54:24 -0000       1.19
-+++ ChangeLog  14 Jan 2005 02:37:37 -0000
-@@ -0,0 +1,7 @@
-+2005-01-14  Steve Youngs  <steve@sxemacs.org>
-+
-+      * dired.el: Use `emacs-*-version' variables for finding version
-+      information instead of string-matching through `emacs-version'.
-+
-+      * diff.el (diff-emacs-19-p): Ditto.
-+
-Index: diff.el
-===================================================================
-RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/dired/diff.el,v
-retrieving revision 1.4
-diff -u -u -r1.4 diff.el
---- diff.el    2 Oct 2004 14:06:17 -0000       1.4
-+++ diff.el    14 Jan 2005 02:37:23 -0000
-@@ -72,7 +72,7 @@
- ;;; Internal variables
- (defconst diff-emacs-19-p
--  (let ((ver (string-to-int (substring emacs-version 0 2))))
-+  (let ((ver emacs-major-version))
-     (>= ver 19)))
- (or diff-emacs-19-p (require 'emacs-19))
-Index: dired.el
-===================================================================
-RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/dired/dired.el,v
-retrieving revision 1.7
-diff -u -u -r1.7 dired.el
---- dired.el   2 Oct 2004 14:06:19 -0000       1.7
-+++ dired.el   14 Jan 2005 02:37:25 -0000
-@@ -80,13 +80,15 @@
- ;; Testing against the string `Lucid' breaks InfoDock.  How many years has
- ;; it been since Lucid went away?
- (let ((lucid-p (string-match "XEmacs" emacs-version))
--      ver subver)
--  (or (string-match "^\\([0-9]+\\)\\.\\([0-9]+\\)" emacs-version)
--      (error "dired does not work with emacs version %s" emacs-version))
--  (setq ver (string-to-int (substring emacs-version (match-beginning 1)
--                                    (match-end 1)))
--      subver (string-to-int (substring emacs-version (match-beginning 2)
--                                       (match-end 2))))
-+      (ver emacs-major-version)
-+      (subver emacs-minor-version))
-+  (unless ver
-+    (or (string-match "^\\([0-9]+\\)\\.\\([0-9]+\\)" emacs-version)
-+