From 950090be0679d07beafa4eeb5d65b8e92be08a36 Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Tue, 19 Oct 2004 19:09:37 +0000 Subject: [PATCH] (init_environment): Set emacs_dir correctly when running emacs from the build directory. --- src/ChangeLog | 5 +++++ src/w32.c | 26 ++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 5b22d072cf7..750e3d52df3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2004-10-19 Jason Rumney + + * w32.c (init_environment): Set emacs_dir correctly when running + emacs from the build directory. + 2004-10-19 Richard M. Stallman * editfns.c (Fdelete_and_extract_region): diff --git a/src/w32.c b/src/w32.c index 12d1f21b091..7b54924d736 100644 --- a/src/w32.c +++ b/src/w32.c @@ -1005,6 +1005,32 @@ init_environment (char ** argv) _snprintf (buf, sizeof(buf)-1, "emacs_dir=%s", modname); _putenv (strdup (buf)); } + /* Handle running emacs from the build directory: src/oo-spd/i386/ */ + + /* FIXME: should use substring of get_emacs_configuration (). + But I don't think the Windows build supports alpha, mips etc + anymore, so have taken the easy option for now. */ + else if (p && stricmp (p, "\\i386") == 0) + { + *p = 0; + p = strrchr (modname, '\\'); + if (p != NULL) + { + *p = 0; + p = strrchr (modname, '\\'); + if (p && stricmp (p, "\\src") == 0) + { + char buf[SET_ENV_BUF_SIZE]; + + *p = 0; + for (p = modname; *p; p++) + if (*p == '\\') *p = '/'; + + _snprintf (buf, sizeof(buf)-1, "emacs_dir=%s", modname); + _putenv (strdup (buf)); + } + } + } } for (i = 0; i < (sizeof (env_vars) / sizeof (env_vars[0])); i++) -- 2.39.5