# HG changeset patch # User Richard M. Stallman # Date 1011228343 0 # Node ID 2fc2abcdc67c445e979425ec7da4b00b07823d08 # Parent 20463cf8bf90513a560cf80b56cdd27c4eea3403 (init_lread): Move the site-lisp dirs later in the path. diff -r 20463cf8bf90 -r 2fc2abcdc67c src/lread.c --- a/src/lread.c Thu Jan 17 00:27:39 2002 +0000 +++ b/src/lread.c Thu Jan 17 00:45:43 2002 +0000 @@ -3366,9 +3366,28 @@ Vload_path = decode_env_path (0, normal); if (!NILP (Vinstallation_directory)) { + Lisp_Object tem, tem1, sitelisp; + + /* Remove site-lisp dirs from path temporarily and store + them in sitelisp, then conc them on at the end so + they're always first in path. */ + sitelisp = Qnil; + while (1) + { + tem = Fcar (Vload_path); + tem1 = Fstring_match (build_string ("site-lisp"), + tem, Qnil); + if (!NILP (tem1)) + { + Vload_path = Fcdr (Vload_path); + sitelisp = Fcons (tem, sitelisp); + } + else + break; + } + /* Add to the path the lisp subdir of the installation dir, if it exists. */ - Lisp_Object tem, tem1; tem = Fexpand_file_name (build_string ("lisp"), Vinstallation_directory); tem1 = Ffile_exists_p (tem); @@ -3377,7 +3396,7 @@ if (NILP (Fmember (tem, Vload_path))) { turn_off_warning = 1; - Vload_path = nconc2 (Vload_path, Fcons (tem, Qnil)); + Vload_path = Fcons (tem, Vload_path); } } else @@ -3392,7 +3411,7 @@ if (!NILP (tem1)) { if (NILP (Fmember (tem, Vload_path))) - Vload_path = nconc2 (Vload_path, Fcons (tem, Qnil)); + Vload_path = Fcons (tem, Vload_path); } /* Add site-list under the installation dir, if it exists. */ @@ -3402,7 +3421,7 @@ if (!NILP (tem1)) { if (NILP (Fmember (tem, Vload_path))) - Vload_path = nconc2 (Vload_path, Fcons (tem, Qnil)); + Vload_path = Fcons (tem, Vload_path); } /* If Emacs was not built in the source directory, @@ -3430,21 +3449,23 @@ Vsource_directory); if (NILP (Fmember (tem, Vload_path))) - Vload_path = nconc2 (Vload_path, Fcons (tem, Qnil)); + Vload_path = Fcons (tem, Vload_path); tem = Fexpand_file_name (build_string ("leim"), Vsource_directory); if (NILP (Fmember (tem, Vload_path))) - Vload_path = nconc2 (Vload_path, Fcons (tem, Qnil)); + Vload_path = Fcons (tem, Vload_path); tem = Fexpand_file_name (build_string ("site-lisp"), Vsource_directory); if (NILP (Fmember (tem, Vload_path))) - Vload_path = nconc2 (Vload_path, Fcons (tem, Qnil)); + Vload_path = Fcons (tem, Vload_path); } } + if (!NILP (sitelisp)) + Vload_path = nconc2 (Fnreverse (sitelisp), Vload_path); } } }