Mercurial > hg > xemacs-beta
diff src/callproc.c @ 110:fe104dbd9147 r20-1b7
Import from CVS: tag r20-1b7
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:19:45 +0200 |
parents | 4be1180a9e89 |
children | 9f59509498e1 |
line wrap: on
line diff
--- a/src/callproc.c Mon Aug 13 09:18:41 2007 +0200 +++ b/src/callproc.c Mon Aug 13 09:19:45 2007 +0200 @@ -55,7 +55,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; @@ -959,6 +959,7 @@ if (!initialized) { Vdata_directory = Qnil; + Vsite_directory = Qnil; Vdoc_directory = Qnil; Vexec_path = Qnil; } @@ -966,6 +967,7 @@ #endif { char *data_dir = egetenv ("EMACSDATA"); + char *site_dir = egetenv ("EMACSSITE"); char *doc_dir = egetenv ("EMACSDOC"); #ifdef PATH_DATA @@ -976,6 +978,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 @@ -987,6 +993,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. */ @@ -1045,6 +1056,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 @@ -1133,6 +1162,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. */