From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Windows 9X without KernelEx Date: Sat, 15 Jun 2024 16:52:54 +0300 Message-ID: <86h6dutirt.fsf@gnu.org> References: <875xub8sn8.fsf.ref@yahoo.com> <875xub8sn8.fsf@yahoo.com> <8634pfy289.fsf@gnu.org> <87sexe7sgm.fsf@yahoo.com> <87o7827r1t.fsf@yahoo.com> <86ed8ywuoz.fsf@gnu.org> <87frte7jry.fsf@yahoo.com> <86a5jmwt2r.fsf@gnu.org> <874j9u7dla.fsf@yahoo.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30033"; mail-complaints-to="usenet@ciao.gmane.io" Cc: stefankangas@gmail.com, emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Jun 15 15:53:46 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sITqk-0007Ys-9K for ged-emacs-devel@m.gmane-mx.org; Sat, 15 Jun 2024 15:53:46 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sITpz-00023n-Qp; Sat, 15 Jun 2024 09:52:59 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sITpy-00023U-CQ for emacs-devel@gnu.org; Sat, 15 Jun 2024 09:52:58 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sITpy-0001K8-3x; Sat, 15 Jun 2024 09:52:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=uZPAf1nlmgUAoEivG6GM5D+mgYAP1Y6ZMvljTZ04raQ=; b=oz/D0UFVnY6r +M5l9Ovx+PpYkoAeqw2Bm5MdfB4a2AuaMDTtArJ31mDujLscbjIMsFuybHN/ENVIXAa0TU65SWH7F 9mfPwSMhOkz/s3x8H/LyUTVYxaresgbAKK10Bo5oxzEWLitwrWhkMqvuY0zvL5HDyR8k7bIkP9P6p CUGlvAa32kYTn6zvNN/diA6TIkJTXDLDfIwRYBG6quwNiGKoz20FxV0/JVpFGS80u97Q9ewJoXvHV X2uyk/rPkC0xaUNKlmzYdEzX/MTt33ipj91TzgD2xX9rZ74YbZjgvZC6F+KZAfk3fAJKP35+NU8D0 3olG7+RNqPsNDvLd3ttuZA==; In-Reply-To: <874j9u7dla.fsf@yahoo.com> (message from Po Lu on Sat, 15 Jun 2024 17:35:45 +0800) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:320143 Archived-At: > From: Po Lu > Cc: stefankangas@gmail.com, emacs-devel@gnu.org > Date: Sat, 15 Jun 2024 17:35:45 +0800 > > Eli Zaretskii writes: > > > If you add usp10.dll (and unicows.dll) to Windows 98, does Emacs start > > then? Or do any of the other missing APIs prevent it from starting? > > I cannot test with USP10.DLL at the moment, but that aside, as I said, > all of the following prevent Emacs from starting on Windows 98: > > Shell_NotifyIconW > ShellExecuteExW > SHFileOperationW > ReadDirectoryChangesW This is strange. Most of those are present in Emacs for a long time, and I was somehow under the impression that Emacs did start on Windows 9X after their introduction. Did you start Emacs with UNICOWS.DLL available? My references indicate that UNICOWS.DLL has the first 3 of the above 4 APIs. So I'd suggest to do for these 3 what we do for MultiByteToWideChar, see w32.c:maybe_load_unicows_dll, and then see if the problem is solved. If that doesn't solve the problem, i.e. doesn't allow Emacs to start, we can discuss what to do about each of these 3 APIs. ReadDirectoryChangesW is indeed absent from UNICOWS.DLL, so I think globals_of_w32notify should attempt to load it, and if not available, disable the file notifications by modifying the code we already have in w32notify-add-watch: /* The underlying features are available only since XP. */ if (os_subtype == OS_SUBTYPE_9X || (w32_major_version == 5 && w32_minor_version < 1)) { errno = ENOSYS; report_file_notify_error ("Watching filesystem events is not supported", Qnil); } > > We should have discussed this before your writing the code, to prevent > > the unnecessary efforts. I'm sorry for your wasted time, but I have > > said many times before: this kind of issues should be discussed first. > > I will keep saying that, in the hope that at some point this will > > sink. > > I re-read the following twice and considerably moderated its tone, but > it might continue to read as a flame to the sensitive, so, trigger > warning. In nowise is it meant as a personal reflection on anyone in > this thread, though if anyone who passes by recognizes himself in the > same, he would do well to change his ways. I don't think what you wrote there is relevant here, sorry. (We definitely cannot be responsible for what nasty things people say on SourceForge or in other forums.) In general, any non-trivial work on something that is meant to improve Emacs support for very old systems should be discussed first, even before any significant research, to avoid waste of time and efforts. I think we should limit such support to the minimum: what worked there should continue working, and if some code prevents Emacs from starting or being a useful editor there, we should fix that as simply and safely as possible. I cannot possibly prevent people from investing significant efforts before starting a discussion, but then I cannot guarantee that we will accept the resulting code changes, and so the risk of wasting those efforts will be greater. FTR, I still have on my system old files and system directories from Windows 9X and from XP, and can at least explore what they exported using 'pexports' and the likes. I alsi have a list of symbols exported by UNCOWS.DLL and an old Win32 API documentation which indicates which APIs were available on Windows 9X. So if you need to do similar research in the future, you could ask me first.