Index: /lang/objective-cplusplus/i3/trunk/src/Common.h
===================================================================
--- /lang/objective-cplusplus/i3/trunk/src/Common.h (revision 36143)
+++ /lang/objective-cplusplus/i3/trunk/src/Common.h (revision 36182)
@@ -98,4 +98,5 @@
 namespace i3 {
 int global_loop();
+exit_status init_common_global_data(int argc, char** argv);
 exit_status init_os_global_data(int argc, char** argv);
 exit_status init_gui_global_data(int argc, char** argv);
@@ -107,219 +108,4 @@
 // NO include "Mediator.h"
 
-#ifndef HAVE_POPT_H
-namespace i3 {
-template <typename FP_FUNCTER>
-inline static exit_status execute_popt(int argc, char** argv, FP_FUNCTER fp) {
-    return 0;
-}
-}
-#else
-namespace i3 {
-
-template <typename FP_FUNCTER>
-int usage(poptContext optCon, int exitcode, const char *error, const char *addl, FP_FUNCTER fp) {
-    poptPrintUsage(optCon, fp(), 0);
-    if (error) {
-        fprintf(fp(), "%s: %s0", error, addl);
-    }
-    return exitcode;
-}
-
-template <typename FP_FUNCTER>
-inline static exit_status execute_popt(int argc, char** argv, FP_FUNCTER fp) {
-    int c;            /* used for argument parsing */
-    int i = 0;        /* used for tracking options */
-    int speed = 0;    /* used in argument parsing to set speed */
-    int raw = 0;      /* raw mode? */
-    int version = 0;
-    int j;
-    char buf[BUFSIZ + 1];
-    poptContext optCon;   /* context for parsing command-line options */
-
-
-    struct poptOption optionsTable[] = {
-        /*{ "longname", "shortname", argInfo,      *arg,   int val, description, argment description} */
-        { "version",  'v',         0,            &version, 0,     "version" },
-        { "bps",      'b',         POPT_ARG_INT, &speed,   0,     "signaling rate in bits-per-second", "BPS" },
-        { "crnl",     'c',         0,            0,      'c',     "expand cr characters to cr/lf sequences" },
-        { "hwflow",   'h',         0,            0,      'h',     "use hardware (RTS/CTS) flow control" },
-        { "noflow",   'n',         0,            0,      'n',     "use no flow control" },
-        { "raw",      'r',         0,            &raw,   0,       "don't perform any character conversions" },
-        { "swflow",   's',         0,            0,      's',     "use software (XON/XOF) flow control" } ,
-        POPT_AUTOHELP
-        { "aswflow",   'x',        0,            0,      'x',     "XXXXXXXXXXXXXXXXXXXXXX" } ,
-        { NULL, 0, 0, NULL, 0 }
-    };
-    /*
-      $ a.out --help
-
-      Usage: a.out [OPTIONS]*
-      -b, --bps=BPS   signaling rate in bits-per-second
-      -c, --crnl      expand cr characters to cr/lf sequences
-      -h, --hwflow    use hardware (RTS/CTS) flow control
-      -n, --noflow    use no flow control
-      -r, --raw       don't perform any character conversions
-      -s, --swflow    use software (XON/XOF) flow control
-
-      Help options
-      -?, --help      Show this help message
-      --usage         Display brief usage message
-    */
-
-    const char** argv2 = const_cast<const char**>(argv);
-    optCon = poptGetContext(NULL, argc, argv2, optionsTable, 0);
-    poptSetOtherOptionHelp(optCon, "[OPTIONS]* <port>");
-
-    if (argc < 2) {
-        //poptPrintUsage(optCon, fp(), 0);
-        //return exit_status::exit_when_special_argument();
-        return 0;
-    }
-
-    // Now do options processing, get portname
-    while ((c = poptGetNextOpt(optCon)) >= 0) {
-        switch (c) {
-        case 'c':
-            buf[i++] = 'c';
-            break;
-        case 'h':
-            buf[i++] = 'h';
-            break;
-        case 's':
-            buf[i++] = 's';
-            break;
-        case 'n':
-            buf[i++] = 'n';
-            break;
-        }
-    }
-
-    const char* portname = poptGetArg(optCon);
-
-    if (version) {
-        fprintf(fp(), PACKAGE_NAME " version " PACKAGE_VERSION "\n");
-        goto normal_exit;
-    }
-
-//     if ((portname == NULL) || !(poptPeekArg(optCon) == NULL)) {
-//         usage(optCon, 1, "Specify a single port", ".e.g., /dev/cua0\n", fp);
-//     }
-    if (c < -1) {
-        /* an error occurred during option processing */
-        fprintf(fp(), "%s: %s\n",
-                poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
-                poptStrerror(c));
-        goto error_exit;
-    }
-//     fprintf(fp(), "Options  chosen: ");
-//     for (j = 0; j < i ; j++) {
-//         fprintf(fp(), "-%c ", buf[j]);
-//     }
-//     if (raw) {
-//         fprintf(fp(), "-r ");
-//     }
-//     if (speed) {
-//         fprintf(fp(), "-b %d ", speed);
-//     }
-//     fprintf(fp(), "\nPortname chosen: %s\n", portname);
-
-    poptFreeContext(optCon);
-    return 0;
-normal_exit:
-    poptFreeContext(optCon);
-    return exit_status::exit_when_special_argument();
-error_exit:
-    poptFreeContext(optCon);
-    return 1;
-
-    /*
-      struct arg_lit  *list    = arg_lit0("lL",NULL,                      gettext("list files"));
-      struct arg_lit  *recurse = arg_lit0("R",NULL,                       gettext("recurse through subdirectories"));
-      struct arg_int  *repeat  = arg_int0("k","scalar",NULL,              gettext("define scalar value k (default is 3)"));
-      struct arg_str  *defines = arg_strn("D","define","MACRO",0,argc+2,  gettext("macro definitions"));
-      struct arg_file *outfile = arg_file0("o",NULL,"<output>",           gettext("output file (default is \"-\")"));
-      struct arg_lit  *verbose = arg_lit0("v","verbose,debug",            gettext("verbose messages"));
-      struct arg_lit  *help    = arg_lit0(NULL,"help",                    gettext("print this help and exit"));
-      struct arg_lit  *version = arg_lit0(NULL,"version",                 gettext("print version information and exit"));
-      //struct arg_file *infiles = arg_filen(NULL,NULL,NULL,1,argc+2,       "input file(s)");
-      struct arg_end  *end     = arg_end(20);
-      //void* argtable[] = {list,recurse,repeat,defines,outfile,verbose,help,version,infiles,end};
-      void* argtable[] = {list,recurse,repeat,defines,outfile,verbose,help,version,end};
-      int nerrors = 0;
-
-
-      // verify the argtable[] entries were allocated sucessfully
-      if (arg_nullcheck(argtable) != 0)
-      {
-      // NULL entries were detected, some allocations must have failed
-      fprintf(fp(), PACKAGE_NAME ": insufficient memory\n");
-      goto error_exit;
-      }
-
-      // set any command line default values prior to parsing
-      repeat->ival[0]=3;
-      outfile->filename[0]="-";
-
-      // Parse the command line as defined by argtable[]
-      nerrors = arg_parse(argc,argv,argtable);
-
-      // special case: '--help' takes precedence over error reporting
-      if (help->count > 0)
-      {
-      arg_print_syntax(fp(),argtable,"\n");
-      arg_print_glossary(fp(),argtable,"  %-25s %s\n");
-      goto normal_exit;
-      }
-
-      // special case: '--version' takes precedence error reporting
-      if (version->count > 0)
-      {
-      fprintf(fp(), PACKAGE_NAME " version " PACKAGE_VERSION "\n");
-      goto normal_exit;
-      }
-
-      // If the parser returned any errors then display them and exit
-      if (nerrors > 0)
-      {
-      // Display the error details contained in the arg_end struct.
-      arg_print_errors(fp(), end, PACKAGE_NAME);
-      goto error_exit;
-      }
-
-      // normal case: take the command line options at face value
-      //    exitcode = mymain(list->count, recurse->count, repeat->ival[0],
-      //                      defines->sval, defines->count,
-      //                      outfile->filename[0], verbose->count,
-      //                      infiles->filename, infiles->count);
-
-
-      arg_freetable(argtable, _countof(argtable));
-      return 0;
-      normal_exit:
-      arg_freetable(argtable, _countof(argtable));
-      return exit_status::exit_when_special_argument();
-      error_exit:
-      arg_freetable(argtable, _countof(argtable));
-    */
-    return 1;
-}
-}
-
-#endif
-
-namespace i3 {
-
-struct stdout_functer {
-    FILE* operator()() {
-        return stdout;
-    }
-};
-
-inline static exit_status execute_popt(size_t argc, char** argv) {
-    stdout_functer f;
-    return execute_popt(argc, argv, f);
-}
-}
-
 int main(int argc, char** argv);
 
Index: /lang/objective-cplusplus/i3/trunk/src/mil/include/mil/ModuleCommon.h
===================================================================
--- /lang/objective-cplusplus/i3/trunk/src/mil/include/mil/ModuleCommon.h (revision 36034)
+++ /lang/objective-cplusplus/i3/trunk/src/mil/include/mil/ModuleCommon.h (revision 36182)
@@ -48,4 +48,11 @@
 
     template <class EventData, class Target>
+    static void execute_body(EventData& data, Target& target, typename EventData::IsExitEvent) {
+        MIL_MODULE_SUPER_CHILD_TYPE(Target)& o =
+            MIL_MODULE_GET_SUPER_CHILD(target);
+        o.destroy();
+    }
+
+    template <class EventData, class Target>
     static void execute_body(EventData& data, Target& target, ...) {
         MIL_MODULE_SUPER_CHILD_TYPE(Target)& o =
@@ -57,11 +64,10 @@
     }
 
-    template <class, class Target>
-    static void execute_body(ExitEvent, Target& target, ...) {
-        MIL_MODULE_SUPER_CHILD_TYPE(Target)& o =
-            MIL_MODULE_GET_SUPER_CHILD(target);
-
-        o.destroy();
-    }
+//    template <class, class Target>
+//    static void execute_body(ExitEvent, Target& target, ...) {
+//        MIL_MODULE_SUPER_CHILD_TYPE(Target)& o =
+//            MIL_MODULE_GET_SUPER_CHILD(target);
+//        o.destroy();
+//    }
 
     template <class EventData, class Target>
Index: /lang/objective-cplusplus/i3/trunk/src/os-unix/Os.cpp
===================================================================
--- /lang/objective-cplusplus/i3/trunk/src/os-unix/Os.cpp (revision 35492)
+++ /lang/objective-cplusplus/i3/trunk/src/os-unix/Os.cpp (revision 36182)
@@ -51,5 +51,5 @@
 #endif
 
-    return execute_popt(argc, argv);
+    return 0;
 }
 
Index: /lang/objective-cplusplus/i3/trunk/src/Main.cpp
===================================================================
--- /lang/objective-cplusplus/i3/trunk/src/Main.cpp (revision 36158)
+++ /lang/objective-cplusplus/i3/trunk/src/Main.cpp (revision 36182)
@@ -14,20 +14,10 @@
     using namespace mil;
     using namespace i3;
-
-#ifdef MIL_GUI_COCOA
-    [NSApplication sharedApplication];
-#endif
-
-    srand(clock());
     
     exit_status exit_status;
-
-    exit_status = init_os_global_data(argc, argv);
-    if (exit_status) {
-        return exit_status.code;
-    }
-
-    exit_status = init_gui_global_data(argc, argv);
-    if (exit_status) {
+    
+    if ((exit_status = init_common_global_data(argc, argv)) ||
+        (exit_status = init_os_global_data(argc, argv)) ||
+        (exit_status = init_gui_global_data(argc, argv))) {
         return exit_status.code;
     }
Index: /lang/objective-cplusplus/i3/trunk/src/gui-cocoa/Gui.cpp
===================================================================
--- /lang/objective-cplusplus/i3/trunk/src/gui-cocoa/Gui.cpp (revision 35836)
+++ /lang/objective-cplusplus/i3/trunk/src/gui-cocoa/Gui.cpp (revision 36182)
@@ -5,8 +5,10 @@
 
 void alert(string message) {
-NSLog([[NSString alloc] initWithUTF8String:message.c_str()]);
+    NSLog([[NSString alloc] initWithUTF8String:message.c_str()]);
 }
 
 exit_status init_gui_global_data(int argc, char** argv) {
+    [NSApplication sharedApplication];
+
 #ifdef ENABLE_NLS
     bind_textdomain_codeset(PACKAGE_NAME, "UTF-8");
Index: /lang/objective-cplusplus/i3/trunk/src/Common.cpp
===================================================================
--- /lang/objective-cplusplus/i3/trunk/src/Common.cpp (revision 36173)
+++ /lang/objective-cplusplus/i3/trunk/src/Common.cpp (revision 36182)
@@ -8,5 +8,206 @@
 #endif
 
+#ifdef HAVE_POPT_H
+#include <popt.h>
 namespace i3 {
+
+int usage(poptContext optCon, int exitcode, const char *error, const char *addl) {
+    poptPrintUsage(optCon, stdout, 0);
+    if (error) {
+        fprintf(stdout, "%s: %s0", error, addl);
+    }
+    return exitcode;
+}
+
+exit_status execute_popt(int argc, char** argv) {
+    int c;            /* used for argument parsing */
+    int i = 0;        /* used for tracking options */
+    int speed = 0;    /* used in argument parsing to set speed */
+    int raw = 0;      /* raw mode? */
+    int version = 0;
+    int j;
+    char buf[BUFSIZ + 1];
+    poptContext optCon;   /* context for parsing command-line options */
+
+    struct poptOption optionsTable[] = {
+        /*{ "longname", "shortname", argInfo,      *arg,   int val, description, argment description} */
+        { "version",  'v',         0,            &version, 0,     "version" },
+        { "bps",      'b',         POPT_ARG_INT, &speed,   0,     "signaling rate in bits-per-second", "BPS" },
+        { "crnl",     'c',         0,            0,      'c',     "expand cr characters to cr/lf sequences" },
+        { "hwflow",   'h',         0,            0,      'h',     "use hardware (RTS/CTS) flow control" },
+        { "noflow",   'n',         0,            0,      'n',     "use no flow control" },
+        { "raw",      'r',         0,            &raw,   0,       "don't perform any character conversions" },
+        { "swflow",   's',         0,            0,      's',     "use software (XON/XOF) flow control" } ,
+        POPT_AUTOHELP
+        { "aswflow",   'x',        0,            0,      'x',     "XXXXXXXXXXXXXXXXXXXXXX" } ,
+        { NULL, 0, 0, NULL, 0 }
+    };
+    /*
+      $ a.out --help
+
+      Usage: a.out [OPTIONS]*
+      -b, --bps=BPS   signaling rate in bits-per-second
+      -c, --crnl      expand cr characters to cr/lf sequences
+      -h, --hwflow    use hardware (RTS/CTS) flow control
+      -n, --noflow    use no flow control
+      -r, --raw       don't perform any character conversions
+      -s, --swflow    use software (XON/XOF) flow control
+
+      Help options
+      -?, --help      Show this help message
+      --usage         Display brief usage message
+    */
+
+    const char** argv2 = const_cast<const char**>(argv);
+    optCon = poptGetContext(NULL, argc, argv2, optionsTable, 0);
+    poptSetOtherOptionHelp(optCon, "[OPTIONS]* <port>");
+
+    if (argc < 2) {
+        //poptPrintUsage(optCon, stdout, 0);
+        //return exit_status::exit_when_special_argument();
+        return 0;
+    }
+
+    // Now do options processing, get portname
+    while ((c = poptGetNextOpt(optCon)) >= 0) {
+        switch (c) {
+        case 'c':
+            buf[i++] = 'c';
+            break;
+        case 'h':
+            buf[i++] = 'h';
+            break;
+        case 's':
+            buf[i++] = 's';
+            break;
+        case 'n':
+            buf[i++] = 'n';
+            break;
+        }
+    }
+
+    const char* portname = poptGetArg(optCon);
+
+    if (version) {
+        fprintf(stdout, PACKAGE_NAME " version " PACKAGE_VERSION "\n");
+        goto normal_exit;
+    }
+
+//     if ((portname == NULL) || !(poptPeekArg(optCon) == NULL)) {
+//         usage(optCon, 1, "Specify a single port", ".e.g., /dev/cua0\n", fp);
+//     }
+    if (c < -1) {
+        /* an error occurred during option processing */
+        fprintf(stderr, "%s: %s\n",
+                poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
+                poptStrerror(c));
+        goto error_exit;
+    }
+//     fprintf(stdout, "Options  chosen: ");
+//     for (j = 0; j < i ; j++) {
+//         fprintf(stdout, "-%c ", buf[j]);
+//     }
+//     if (raw) {
+//         fprintf(stdout, "-r ");
+//     }
+//     if (speed) {
+//         fprintf(stdout, "-b %d ", speed);
+//     }
+//     fprintf(stdout, "\nPortname chosen: %s\n", portname);
+
+    poptFreeContext(optCon);
+    return 0;
+normal_exit:
+    poptFreeContext(optCon);
+    return exit_status::exit_when_special_argument();
+error_exit:
+    poptFreeContext(optCon);
+    return 1;
+
+    /*
+      struct arg_lit  *list    = arg_lit0("lL",NULL,                      gettext("list files"));
+      struct arg_lit  *recurse = arg_lit0("R",NULL,                       gettext("recurse through subdirectories"));
+      struct arg_int  *repeat  = arg_int0("k","scalar",NULL,              gettext("define scalar value k (default is 3)"));
+      struct arg_str  *defines = arg_strn("D","define","MACRO",0,argc+2,  gettext("macro definitions"));
+      struct arg_file *outfile = arg_file0("o",NULL,"<output>",           gettext("output file (default is \"-\")"));
+      struct arg_lit  *verbose = arg_lit0("v","verbose,debug",            gettext("verbose messages"));
+      struct arg_lit  *help    = arg_lit0(NULL,"help",                    gettext("print this help and exit"));
+      struct arg_lit  *version = arg_lit0(NULL,"version",                 gettext("print version information and exit"));
+      //struct arg_file *infiles = arg_filen(NULL,NULL,NULL,1,argc+2,       "input file(s)");
+      struct arg_end  *end     = arg_end(20);
+      //void* argtable[] = {list,recurse,repeat,defines,outfile,verbose,help,version,infiles,end};
+      void* argtable[] = {list,recurse,repeat,defines,outfile,verbose,help,version,end};
+      int nerrors = 0;
+
+
+      // verify the argtable[] entries were allocated sucessfully
+      if (arg_nullcheck(argtable) != 0)
+      {
+      // NULL entries were detected, some allocations must have failed
+      fprintf(stdout, PACKAGE_NAME ": insufficient memory\n");
+      goto error_exit;
+      }
+
+      // set any command line default values prior to parsing
+      repeat->ival[0]=3;
+      outfile->filename[0]="-";
+
+      // Parse the command line as defined by argtable[]
+      nerrors = arg_parse(argc,argv,argtable);
+
+      // special case: '--help' takes precedence over error reporting
+      if (help->count > 0)
+      {
+      arg_print_syntax(stdout,argtable,"\n");
+      arg_print_glossary(stdout,argtable,"  %-25s %s\n");
+      goto normal_exit;
+      }
+
+      // special case: '--version' takes precedence error reporting
+      if (version->count > 0)
+      {
+      fprintf(stdout, PACKAGE_NAME " version " PACKAGE_VERSION "\n");
+      goto normal_exit;
+      }
+
+      // If the parser returned any errors then display them and exit
+      if (nerrors > 0)
+      {
+      // Display the error details contained in the arg_end struct.
+      arg_print_errors(stdout, end, PACKAGE_NAME);
+      goto error_exit;
+      }
+
+      // normal case: take the command line options at face value
+      //    exitcode = mymain(list->count, recurse->count, repeat->ival[0],
+      //                      defines->sval, defines->count,
+      //                      outfile->filename[0], verbose->count,
+      //                      infiles->filename, infiles->count);
+
+
+      arg_freetable(argtable, _countof(argtable));
+      return 0;
+      normal_exit:
+      arg_freetable(argtable, _countof(argtable));
+      return exit_status::exit_when_special_argument();
+      error_exit:
+      arg_freetable(argtable, _countof(argtable));
+    */
+    return 1;
+}
+}
+#else
+namespace i3 {
+exit_status execute_popt(int argc, char** argv) {
+    return 0;
+}
+}
+#endif
+
+namespace i3 {
+exit_status init_common_global_data(int argc, char** argv) {
+    srand(clock());
+    return execute_popt(argc, argv);
+}
 
 // http://www.gnu.org/software/gettext/FAQ.html#windows_setenv
Index: /lang/objective-cplusplus/i3/trunk/po/POTFILES.in
===================================================================
--- /lang/objective-cplusplus/i3/trunk/po/POTFILES.in (revision 36174)
+++ /lang/objective-cplusplus/i3/trunk/po/POTFILES.in (revision 36182)
@@ -1,72 +1,72 @@
+src/Tester.h
 src/Common.h
+src/Mediator.h
+src/os-unix/Os.h
+src/os-unix/Pty.h
+src/PrecompiledHeaders.h
+src/os-windows/Os.h
+src/os-windows/wlibintl.h
+src/os-windows/Utf8ToUtf16Stream.h
+src/os-windows/resources/resource.h
+src/os-windows/WindowsCommon.h
+src/os-windows/msvc/iconv.h
+src/os-windows/msvc/libintl.h
+src/os-windows/Pty.h
 src/CompletionWindow.h
+src/gui-cocoa/OutputWindowPlatform.h
+src/gui-cocoa/CompletionWindowPlatform.h
+src/gui-cocoa/InputWindowPlatform.h
+src/gui-cocoa/Gui.h
+src/InputWindow.h
+src/Initial.h
 src/ConfigFile.h
-src/Delegate.h
-src/gui-cocoa/CompletionWindowPlatform.h
-src/gui-cocoa/Gui.h
-src/gui-cocoa/InputWindowPlatform.h
-src/gui-cocoa/OutputWindowPlatform.h
-src/gui-windows/CompletionWindowPlatform.h
-src/gui-windows/Gui.h
-src/gui-windows/InputWindowPlatform.h
-src/gui-windows/OutputWindowPlatform.h
-src/Initial.h
-src/InputWindow.h
-src/Mediator.h
-src/mil/include/mil/Atomic.h
+src/OutputWindow.h
+src/ShellManager.h
+src/mil/include/xbyak/xbyak_bin2hex.h
+src/mil/include/xbyak/xbyak_mnemonic.h
+src/mil/include/xbyak/xbyak.h
+src/mil/include/quicktest/quicktest.h
+src/mil/include/mil/Thread.h
+src/mil/include/mil/os-unix/Os.h
+src/mil/include/mil/os-unix/Thread.h
+src/mil/include/mil/os-unix/Debug.h
+src/mil/include/mil/os-unix/PrecompiledHeaders.h
 src/mil/include/mil/Debug.h
-src/mil/include/mil/DoubleBuffer.h
-src/mil/include/mil/Environment.h
+src/mil/include/mil/PrecompiledHeaders.h
+src/mil/include/mil/os-windows/Os.h
+src/mil/include/mil/os-windows/Thread.h
+src/mil/include/mil/os-windows/Common.h
+src/mil/include/mil/os-windows/Debug.h
+src/mil/include/mil/os-windows/PrecompiledHeaders.h
+src/mil/include/mil/os-windows/Sleep.h
 src/mil/include/mil/FilterException.h
+src/mil/include/mil/gui-cocoa/PrecompiledHeaders.h
+src/mil/include/mil/gui-cocoa/GuiModuleObjC.h
+src/mil/include/mil/gui-cocoa/GuiModule.h
 src/mil/include/mil/gui-cocoa/CocoaThread.h
 src/mil/include/mil/gui-cocoa/Gui.h
-src/mil/include/mil/gui-cocoa/GuiModule.h
-src/mil/include/mil/gui-cocoa/GuiModuleObjC.h
-src/mil/include/mil/gui-cocoa/PrecompiledHeaders.h
+src/mil/include/mil/Module.h
+src/mil/include/mil/DoubleBuffer.h
+src/mil/include/mil/MscCrt.h
+src/mil/include/mil/Atomic.h
+src/mil/include/mil/GuiModule.h
+src/mil/include/mil/Environment.h
+src/mil/include/mil/Mil.h
+src/mil/include/mil/Serial.h
+src/mil/include/mil/Synchronize.h
+src/mil/include/mil/ModuleCommon.h
+src/mil/include/mil/gui-windows/PrecompiledHeaders.h
+src/mil/include/mil/gui-windows/WindowProcedureRedirector.h
 src/mil/include/mil/gui-windows/DummyMessageHandler-inl.h
-src/mil/include/mil/gui-windows/Gui.h
 src/mil/include/mil/gui-windows/GuiModule.h
 src/mil/include/mil/gui-windows/MessageCracker-inl.h
-src/mil/include/mil/gui-windows/PrecompiledHeaders.h
-src/mil/include/mil/gui-windows/WindowProcedureRedirector.h
-src/mil/include/mil/GuiModule.h
+src/mil/include/mil/gui-windows/Gui.h
 src/mil/include/mil/Memory.h
-src/mil/include/mil/Mil.h
-src/mil/include/mil/Module.h
-src/mil/include/mil/ModuleCommon.h
-src/mil/include/mil/MscCrt.h
-src/mil/include/mil/os-unix/Debug.h
-src/mil/include/mil/os-unix/Os.h
-src/mil/include/mil/os-unix/PrecompiledHeaders.h
-src/mil/include/mil/os-unix/Thread.h
-src/mil/include/mil/os-windows/Common.h
-src/mil/include/mil/os-windows/Debug.h
-src/mil/include/mil/os-windows/Os.h
-src/mil/include/mil/os-windows/PrecompiledHeaders.h
-src/mil/include/mil/os-windows/Sleep.h
-src/mil/include/mil/os-windows/Thread.h
-src/mil/include/mil/PrecompiledHeaders.h
-src/mil/include/mil/Serial.h
-src/mil/include/mil/Synchronize.h
-src/mil/include/mil/Thread.h
-src/mil/include/quicktest/quicktest.h
-src/mil/include/xbyak/xbyak.h
-src/mil/include/xbyak/xbyak_bin2hex.h
-src/mil/include/xbyak/xbyak_mnemonic.h
 src/mil/src/test/Test.h
-src/os-unix/Os.h
-src/os-unix/Pty.h
-src/os-windows/msvc/iconv.h
-src/os-windows/msvc/libintl.h
-src/os-windows/Os.h
-src/os-windows/Pty.h
-src/os-windows/resources/resource.h
-src/os-windows/Utf8ToUtf16Stream.h
-src/os-windows/WindowsCommon.h
-src/os-windows/wlibintl.h
-src/OutputWindow.h
-src/PrecompiledHeaders.h
-src/ShellManager.h
-src/Tester.h
 src/TestInputWindow1.h
+src/gui-windows/OutputWindowPlatform.h
+src/gui-windows/CompletionWindowPlatform.h
+src/gui-windows/InputWindowPlatform.h
+src/gui-windows/Gui.h
+src/Delegate.h
 src/Version.h
