Mercurial > hg > xemacs-beta
diff src/callproc.c @ 32:e04119814345 r19-15b99
Import from CVS: tag r19-15b99
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:52:56 +0200 |
parents | 859a2309aef8 |
children | 8d2a9b52c682 |
line wrap: on
line diff
--- a/src/callproc.c Mon Aug 13 08:52:30 2007 +0200 +++ b/src/callproc.c Mon Aug 13 08:52:56 2007 +0200 @@ -49,7 +49,7 @@ #endif /* DOS_NT */ Lisp_Object Vexec_path, Vexec_directory, Vdata_directory, Vdoc_directory; -Lisp_Object Vconfigure_info_directory; +Lisp_Object Vconfigure_info_directory, Vsite_directory; /* The default base directory XEmacs is installed under. */ Lisp_Object Vprefix_directory; @@ -946,6 +946,7 @@ if (!initialized) { Vdata_directory = Qnil; + Vsite_directory = Qnil; Vdoc_directory = Qnil; Vexec_path = Qnil; } @@ -953,6 +954,7 @@ #endif { char *data_dir = egetenv ("EMACSDATA"); + char *site_dir = egetenv ("EMACSSITE"); char *doc_dir = egetenv ("EMACSDOC"); #ifdef PATH_DATA @@ -963,6 +965,10 @@ if (!doc_dir) doc_dir = (char *) PATH_DOC; #endif +#ifdef PATH_SITE + if (!site_dir) + site_dir = (char *) PATH_SITE; +#endif if (data_dir) Vdata_directory = Ffile_name_as_directory @@ -974,6 +980,11 @@ (build_string (doc_dir)); else Vdoc_directory = Qnil; + if (site_dir) + Vsite_directory = Ffile_name_as_directory + (build_string (site_dir)); + else + Vsite_directory = Qnil; /* Check the EMACSPATH environment variable, defaulting to the PATH_EXEC path from paths.h. */ @@ -1032,6 +1043,24 @@ } } + if (!NILP (Vsite_directory)) + { + tempdir = Fdirectory_file_name (Vsite_directory); + if (access ((char *) XSTRING_DATA (tempdir), 0) < 0) + { + /* If the hard-coded path is bogus, fail silently. + This will allow the normal heuristics to make an attempt. */ +#if 0 + warn_when_safe + (Qpath, Qwarning, + "Warning: machine-independent site dir (%s) does not exist.\n", + XSTRING_DATA (Vsite_directory)); +#else + Vsite_directory = Qnil; +#endif + } + } + #ifdef PATH_PREFIX Vprefix_directory = build_string ((char *) PATH_PREFIX); #else @@ -1120,6 +1149,11 @@ intended for Emacs to use. */ ); + DEFVAR_LISP ("site-directory", &Vsite_directory /* +Directory of architecture-independent files that do not come with XEmacs, +intended for Emacs to use. +*/ ); + /* FSF puts the DOC file into data-directory. They do a bunch of contortions to attempt to put everything into the DOC file whether the support is there or not. */