Correct buggy dispatch logic.
[bpt/emacs.git] / nt / cmdproxy.c
index 4e4f1ef..631570b 100644 (file)
@@ -1,6 +1,6 @@
 /* Proxy shell designed for use with Emacs on Windows 95 and NT.
    Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
-      2006, 2007  Free Software Foundation, Inc.
+      2006, 2007, 2008  Free Software Foundation, Inc.
 
    Accepts subset of Unix sh(1) command-line options, for compatability
    with elisp code written for Unix.  When possible, executes external
@@ -17,7 +17,7 @@ This file is part of GNU Emacs.
 
 GNU Emacs is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
 any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
@@ -466,6 +466,12 @@ main (int argc, char ** argv)
   SetCurrentDirectory (modname);
   *progname = '\\';
 
+  /* Due to problems with interaction between API functions that use "OEM"
+     codepage vs API functions that use the "ANSI" codepage, we need to
+     make things consistent by choosing one and sticking with it.  */
+  SetConsoleCP (GetACP());
+  SetConsoleOutputCP (GetACP());
+
   /* Although Emacs always sets argv[0] to an absolute pathname, we
      might get run in other ways as well, so convert argv[0] to an
      absolute name before comparing to the module name.  Don't get