emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Windows 9X without KernelEx


From: Po Lu
Subject: Re: Windows 9X without KernelEx
Date: Sat, 15 Jun 2024 12:45:02 +0800
User-agent: Gnus/5.13 (Gnus v5.13)

Po Lu <luangruo@yahoo.com> writes:

> Stefan Kangas <stefankangas@gmail.com> writes:
>
>> BTW, would the below patch make sense?
>
> No, not at present, because it won't run on Windows 98 either, without
> KernelEx.

OK, following are my conclusions from tests conducted on "real" Windows
98 and 95 installations with no supplemental software but the Microsoft
Layer for Unicode.  These DLLs and symbols are missing (not merely
stubs) from English installations of both:

  USP10.DLL
  ScriptItemize
  ScriptShape
  ScriptPlace
  ScriptGetGlyphABCWidth
  ScriptFreeCache
  ScriptGetCMap

  Shell_NotifyIconW
  ShellExecuteExW
  SHFileOperationW
  ReadDirectoryChangesW

these symbols are absent from only Windows 95:

  CancelIo
  SendInput
  GetWindowInfo
  GetMenuBarInfo

all of which the patch posted renders optional or replaces.  The posted
modifications to `w32_init_file_name_codepage' are only necessary if
Emacs binaries produced on Windows NT systems are to start on 9X, which
explains why the crashes they resolve were not encountered in my earlier
testing on real hardware.  With said patch, Emacs is capable of
functioning on Windows 98 to the extent of running Gnus, connecting to a
IMAP and SMTP servers, reading and composing mail in English, and on
Windows 95, where I didn't succeed in configuring networking in the VM,
calling all Lisp functions affected by the patch without crashing or
returning obviously unsatisfactory results.

Of the functions exclusive to Windows 98, SendInput and CancelIo are
never called on 9X systems, since funhook is not installed on such
systems and file notifications are disabled on all 9X systems, and
GetWindowInfo and GetMenuBarInfo are either omitted on Windows 95 in the
patch, or trivially replaced, without complicating affected code.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]