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




Reply via email to