Hi Michael,
Thanks for picking this up.
On 2/13/06, Michael Sperber <sperber(a)informatik.uni-tuebingen.de> wrote:
[Sorry for the late reply!]
Vin Shelton <acs(a)xemacs.org> writes:
> Your original advice was to modify the root-finding code, and I have
> done that; with my modification installed, the parent of the
> xemacs-packages directory is correctly found as a root and a data
> root, but the xemacs-packages directory does not get searched and
> added to load-path.
I'll do this, along with a few other patches cleaning up this code.
Two questions:
> Index: lisp/setup-paths.el
> ===================================================================
> RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/setup-paths.el,v
> retrieving revision 1.21
> diff -a -u -r1.21 setup-paths.el
> --- lisp/setup-paths.el 2004/12/27 12:25:15 1.21
> +++ lisp/setup-paths.el 2005/12/28 16:54:05
> @@ -102,12 +102,18 @@
> ;; in-place or windows-nt
> (and
> (paths-file-readable-directory-p (paths-construct-path (list directory
"lisp")))
> - (paths-file-readable-directory-p (paths-construct-path (list directory
"etc"))))))
> + (paths-file-readable-directory-p (paths-construct-path (list directory
"etc"))))
I'm worried about code accretion in `paths-emacs-root-p' and
`emacs-data-root-p'---could you send me a directory tree listing of
the Windows XEmacs, and possibly give me an idea what environment
variables/registry settings/configure-xxx variables are set on
Windows?
Here is the directory structure I want to support; under a common
root, I want to have the following directories:
XEmacs-21.4.19/
PROBLEMS etc/ i586-pc-win32/ info/ lisp/ lock/
XEmacs-21.5-b24/
COPYING PROBLEMS etc/ info/ lock/
Installation README i586-pc-win32/ lisp/
mule-packages
site-packages
xemacs-packages
Do you need more detail, or is that sufficient? Note that I
personally can build XEmacs 21.4 and XEmacs 21.5 to support this
structure, but I cannot make an installable kit that will support this
structure for 21.5. That is, the 'common root' must be hard-coded for
21.5. (For 21.4, there is no problem - the changes we have made
support finding the common root at run-time.)
Attached is the contents of my 21.5 Installation file.
I have not fiddled with registry settings or environment variables.
Here is the output of
'diff -u nt/config.inc.samp nt/config.inc':
--- nt/config.inc.samp 2005-11-24 20:41:50.000000000 -0500
+++ nt/config.inc 2006-02-06 07:51:43.347154000 -0500
@@ -4,9 +4,9 @@
# Install options #
############################################################################
-INSTALL_DIR=c:\Program Files\XEmacs\XEmacs-$(XEMACS_VERSION_STRING)
+INSTALL_DIR=e:\XEmacs\XEmacs-$(XEMACS_VERSION_STRING)
-PACKAGE_PREFIX=c:\Program Files\XEmacs
+PACKAGE_PREFIX=e:\XEmacs
############################################################################
# Compiled-in features: basic #
@@ -31,7 +31,7 @@
# (a self-installing .ZIP) and unzip them into an appropriate directory
# (by default, c:\src). This gets you precompiled versions of all of
# the libraries below.
-OPTIONAL_LIBRARY_DIR=c:\src
+OPTIONAL_LIBRARY_DIR=..\..
# Set this to enable XPM support (virtually mandatory), and specify
# the directory containing xpm. Get the library from
@@ -52,7 +52,7 @@
# so we can preserve the version number, like for the other libraries.
HAVE_PNG=1
PNG_DIR=$(OPTIONAL_LIBRARY_DIR)\libpng-1.2.8
-ZLIB_DIR=$(OPTIONAL_LIBRARY_DIR)\zlib-1.2.3
+ZLIB_DIR=$(OPTIONAL_LIBRARY_DIR)\zlib
# Set this to enable JPEG support (useful, but not necessary), and specify
# the directory containing jpeg. Get the latest version from
@@ -69,7 +69,7 @@
# Set this to enable XFace support (not very important), and specify the
# directory containing compface. Get the library from
#
http://ftp.xemacs.org/aux/compface-1.5.1.tar.gz.
-HAVE_XFACE=1
+HAVE_XFACE=0
COMPFACE_DIR=$(OPTIONAL_LIBRARY_DIR)\compface-1.5.1
# Set this to enable bignum support (useful, but not necessary), and specify
@@ -149,7 +149,7 @@
# Cygwin sitting around already. If not, you should. Cygwin provides a
# `makeinfo.exe' in /usr/bin/makeinfo (/usr/bin is virtual, it's /bin in
# the actual file system).
-MAKEINFO=c:\cygwin\bin\makeinfo.exe
+MAKEINFO=e:\cygwin\bin\makeinfo.exe
# Set this to enable debug code in XEmacs that doesn't slow things down,
# and to add debugging information to the executable. (The code that's
>
> -(defun paths-find-emacs-root (invocation-directory invocation-name)
> - "Find the run-time root of XEmacs.
> + ;; searching for a package directory
> + (and
> + (string-match "win32\\|cygwin" system-configuration)
> + (paths-file-readable-directory-p (paths-construct-path (list directory
"xemacs-packages"))))))
I'm wondering---shouldn't this be `(eq system-type 'windows-nt)'. I
don't even know if that would include Cygwin. But shouldn't Cygwin be
more like Unix than like Windows native?
Perhaps. I can't remember why I changed that code, but the
'win32|cygwin' match is the way I wrote the code in 21.4 and I haven't
noticed any deleterious effects.
Regards,
Vin
--
Whoever you are, no matter how lonely,
the world offers itself to your imagination,
calls to you like the wild geese, harsh and exciting--
over and over announcing your place
in the family of things. Mary Oliver