XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed?
Yes. The console was there because `temacs’ (and in turn, `xemacs’) was a console application, and Windows typically creates a new console for a console process unless the creating process requests that one isn’t created. This used to be fixed with `runemacs’, a small Windows application that existed merely to start `xemacs’, stating that it didn’t want a console. XEmacs 21.4 fixes this cleanly by the virtue of being a true “GUI” application. The explanation of what that means is included for educational value. When building an application to be run in a Win32 environment, you must state which sub-system it is to run in. Valid subsystems include “console” and “gui”. The subsystem you use affects the run time libraries linked into your application, the start up function that is run before control is handed over to your application, the entry point to your program, and how Windows normally invokes your program. (Console programs automatically get a console created for them at startup if