diff --git a/src/emacs.c b/src/emacs.c index eb732810db4..8a8d8b558e4 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -479,9 +479,6 @@ init_cmdargs (int argc, char **argv, int skip_args, char const *original_pwd) if (!NILP (Vinvocation_directory)) { - if (NILP (Vpurify_flag) && !NILP (Ffboundp (Qfile_truename))) - Vinvocation_directory = call1 (Qfile_truename, Vinvocation_directory); - dir = Vinvocation_directory; #ifdef WINDOWSNT /* If we are running from the build directory, set DIR to the @@ -490,8 +487,15 @@ init_cmdargs (int argc, char **argv, int skip_args, char const *original_pwd) if (SBYTES (dir) > sizeof ("/i386/") - 1 && 0 == strcmp (SSDATA (dir) + SBYTES (dir) - sizeof ("/i386/") + 1, "/i386/")) - dir = Fexpand_file_name (build_string ("../.."), dir); -#else /* !WINDOWSNT */ + { + if (NILP (Vpurify_flag)) + { + Lisp_Object file_truename = intern ("file-truename"); + if (!NILP (Ffboundp (file_truename))) + dir = call1 (file_truename, dir); + } + dir = Fexpand_file_name (build_string ("../.."), dir); + } #endif name = Fexpand_file_name (Vinvocation_name, dir); while (1) diff --git a/src/lread.c b/src/lread.c index 99e0ce30ba6..4f3446b09db 100644 --- a/src/lread.c +++ b/src/lread.c @@ -1999,11 +1999,10 @@ readevalloop (Lisp_Object readcharfun, (NILP (lex_bound) || EQ (lex_bound, Qunbound) ? Qnil : list1 (Qt))); - /* Try to ensure sourcename is a truename, except whilst preloading. */ + /* Ensure sourcename is absolute, except whilst preloading. */ if (!will_dump_p () - && !NILP (sourcename) && !NILP (Ffile_name_absolute_p (sourcename)) - && !NILP (Ffboundp (Qfile_truename))) - sourcename = call1 (Qfile_truename, sourcename) ; + && !NILP (sourcename) && !NILP (Ffile_name_absolute_p (sourcename))) + sourcename = Fexpand_file_name (sourcename, Qnil); LOADHIST_ATTACH (sourcename); @@ -4678,9 +4677,6 @@ load_path_default (void) void init_lread (void) { - if (NILP (Vpurify_flag) && !NILP (Ffboundp (Qfile_truename))) - Vsource_directory = call1 (Qfile_truename, Vsource_directory); - /* First, set Vload_path. */ /* Ignore EMACSLOADPATH when dumping. */ @@ -5100,7 +5096,6 @@ this variable will become obsolete. */); DEFSYM (Qload, "load"); DEFSYM (Qload_file_name, "load-file-name"); DEFSYM (Qeval_buffer_list, "eval-buffer-list"); - DEFSYM (Qfile_truename, "file-truename"); DEFSYM (Qdir_ok, "dir-ok"); DEFSYM (Qdo_after_load_evaluation, "do-after-load-evaluation");