Hi Eli, Thanks for explaining. Four more questions:
1) > On Windows 9X > Emacs loads the UNICOWS.DLL shared library at startup to be able to > use some functions ... Can the source code call the functions of UNICOWS.DLL directly, or do these functions all need to be call via pointers obtained via GetProcAddress()? 2) > As an example, this discussion mentions _wsetlocale, which according > to my records is not in UNICOWS.DLL Do you have a list of symbols that are safe to call? We have a database of available symbols per platform in https://git.savannah.gnu.org/gitweb/?p=gnulib/maint-tools.git;a=tree;f=platforms/various-symlists and it would be useful to add Windows9X+unicows there. Similarly, what about the runtime library symbols (MSVCRT.DLL)? According to our database, _wsetlocale is contained in libmsvcrt, see https://git.savannah.gnu.org/gitweb/?p=gnulib/maint-tools.git;a=blob;f=platforms/various-symlists/mingw/libmsvcrt If Emacs is using an older version of MSVCRT.DLL than the one I had, we would need the list of symbols from that DLL (more precisely, from its .lib file) too. On Windows, I obtain a symbol list either through $ nm libFOO.a | sed -n -e 's/^.* T _//p' | LC_ALL=C sort or through $ dumpbin /exports FOO.lib | tr -d '\r' | sed -n -e 's/^.* SECT.* External | _//p' | LC_ALL=C sort $ dumpbin /exports FOO.lib | tr -d '\r' | sed -n -e 's/^.* UNDEF .* WeakExternal | _//p' | grep -v '^_imp_' | LC_ALL=C sort 3) Do you have a list of header files that are available in this environment? I.e. does unicows come with a set of header files of its own, or is it merely the set of header files from mingw, which we have in our database here: https://git.savannah.gnu.org/gitweb/?p=gnulib/maint-tools.git;a=blob;f=platforms/various-includes/mingw.list ? 4) Is the condition for Emacs-specific code still 'defined emacs', or has it changed over the years? Bruno