unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Óscar Fuentes" <ofv@wanadoo.es>
To: emacs-devel@gnu.org
Subject: Re: Windows 9X compatibility
Date: Sun, 28 Mar 2010 21:57:02 +0200	[thread overview]
Message-ID: <87iq8g2p9t.fsf@telefonica.net> (raw)
In-Reply-To: 83eij430fc.fsf@gnu.org

Eli Zaretskii <eliz@gnu.org> writes:

>> Maybe the fact that there are no more active maintainers of the
>> MS-Windows port is somewhat related to the pain in the rear that W9X
>> compatbility is?
>
> Who said there are no more active maintainers?

"no more" in the sense "more than we have today". I was not saying that
there are no people working on the Windows port.

>> First, I don't have a machine for testing.
>
> Neither do I.  There's no requirement to test the code on Windows 9X,
> only not to use code that we _know_in_advance_ will break W9X.

... and precisely gaining this information is difficult, because you
must read the documentation for every API call and even then you can hit
a bug, which is not rare in W9X (and before you say that any API has
this problem, well, yes, but not to the extent of W9X).

> There's no requirements to use W9X-specific APIs.

Sorry, but do you have experience writing Windows raw API code on its
successive incarnations since Windows 95? I'm starting to think you have
not. Looking at the set of functions that makes the Windows API, those
available on W95 are, for the most part, a proper subset of those
available on XP. So, in theory, and unless you use certain obsoleted
parts of the API (shell interaction, for instance, which is not part of
the proper Windows OS API anyways) you are fine developing for W95. BUT
there are two problems: quite a few W9X functions were extended on
successive Windows versions with new features, so checking that the
function is available on W9X is not enough, you must check that the way
you intend to use the function is supported by W95. Often those
differences are so fundamental that you must split the usage of the API
call, one instance for W9X and another for NT (if you are
lucky). Second, bugs are so frequent in the W9X API that, to all
practical uses, quite a few functions have a non-documented behaviour
that you must be aware of.

There are certain areas where the problem is not serious enough to
notice (mostly GDI) but threading, networking and I/O in general is a
minefield.

[snip]

>> which greatly adds to the maintenance burden.
>
> True, there is some maintenance burden, but I personally find it
> insignificant.  The code to load a library safely and invoke functions
> that may not exist is very simple, almost boilerplate, and each
> additional API that needs this treatment just needs more-or-less
> copy-pasted more of the same.

This is no solution at all for the general problem. A pure W32 API
application made for W95 will build fine with modern versions of the
SDK, and XP (or Windows7) will execute it without complaining. But
chances are that it will not behave as it did on W95.

> Once again, I'm bewildered by the intense reaction to this issue,
> given the facts.

If current Windows maintainers are fine with this scenario, they are the
people who keep the Emacs port on a great shape *now* so they have the
right to set the policy. OTOH, it would be a good thing for the Emacs
project to lower the entry barrier as much as possible, as I previously
said discussing other topics. Is future W9X support important enough to
risk the loss of just *one* prospective contributor?





  parent reply	other threads:[~2010-03-28 19:57 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-26 15:22 MS-Windows build broken in Fmake_network_process Eli Zaretskii
2010-03-26 15:48 ` Helmut Eller
2010-03-26 17:56   ` Eli Zaretskii
2010-03-26 18:05     ` Helmut Eller
2010-03-26 18:09       ` Eli Zaretskii
2010-03-26 18:17         ` Helmut Eller
2010-03-26 20:05           ` Eli Zaretskii
2010-03-26 21:14             ` Helmut Eller
2010-03-27  8:50               ` Eli Zaretskii
2010-03-27 10:09                 ` Helmut Eller
2010-03-27 11:11                   ` Eli Zaretskii
2010-03-27 13:56                     ` Helmut Eller
2010-03-27  0:48             ` Chong Yidong
2010-03-27  7:42               ` Eli Zaretskii
2010-03-27 16:49                 ` Jason Rumney
2010-03-27 16:55                   ` Eli Zaretskii
2010-03-27 22:28                     ` Christoph
2010-03-28  0:12                       ` Florian Beck
2010-03-28  0:37                         ` Óscar Fuentes
2010-03-28  7:26                           ` Eli Zaretskii
2010-03-28 18:55                             ` Chong Yidong
2010-03-28 20:10                               ` Eli Zaretskii
2010-03-28 23:23                                 ` Jason Rumney
2010-03-29 23:39                           ` Richard Stallman
2010-03-31  4:57                             ` Stephen J. Turnbull
2010-03-31  8:38                               ` Eli Zaretskii
2010-03-31 10:38                                 ` Juanma Barranquero
2010-03-31 11:19                                   ` Eli Zaretskii
2010-03-31 15:39                                   ` Stephen J. Turnbull
2010-03-31 16:39                                     ` Juanma Barranquero
2010-03-31 17:30                                       ` Stephen J. Turnbull
2010-03-31 17:36                                         ` Juanma Barranquero
2010-03-31 18:05                                         ` OT: (was: MS-Windows build broken in Fmake_network_process) Stefan Monnier
2010-03-31 15:28                                 ` MS-Windows build broken in Fmake_network_process Stephen J. Turnbull
2010-03-31 16:12                                   ` Eli Zaretskii
2010-03-31 16:59                                     ` Stephen J. Turnbull
2010-03-31 17:27                                       ` Eli Zaretskii
2010-03-31 18:08                                         ` Stephen J. Turnbull
2010-04-06  7:50                             ` David Kastrup
2010-04-07  3:21                               ` Richard Stallman
2010-04-07  7:59                                 ` David Kastrup
2010-03-28  0:39                         ` Christoph
2010-03-28  7:21                           ` Windows 9X compatibility Eli Zaretskii
2010-03-28 14:59                             ` Óscar Fuentes
2010-03-28 15:24                               ` Lennart Borgman
2010-03-28 15:56                               ` Eli Zaretskii
2010-03-28 16:09                                 ` Juanma Barranquero
2010-03-28 18:03                                   ` joakim
2010-03-29 23:39                                     ` Richard Stallman
2010-03-28 19:57                                 ` Óscar Fuentes [this message]
2010-03-28 20:32                                   ` Eli Zaretskii
2010-03-28 22:26                                     ` Juanma Barranquero
2010-03-28 19:27                             ` Christoph
2010-03-28 20:18                               ` Eli Zaretskii
2010-03-28 21:04                                 ` Christoph
2010-03-28  7:17                       ` Windows 9X compatibility (was: MS-Windows build broken in Fmake_network_process) Eli Zaretskii
2010-03-28  7:33                     ` MS-Windows build broken in Fmake_network_process Jason Rumney
2010-03-28  8:12                       ` Eli Zaretskii
2010-03-29 23:39                         ` Richard Stallman
2010-03-28  9:11                   ` Serious performance problem with process output on Mac OSX Christian Lynbech
2010-03-28 14:41                     ` Adrian Robert
2010-03-29 21:58                       ` Adrian Robert
2010-03-29 23:26                         ` David Reitter
2010-03-29 23:54                         ` Chong Yidong
2010-03-30  7:43                           ` Adrian Robert
2010-03-30 13:05                             ` David Reitter
2010-03-30 17:39                               ` Jimmy Yuen Ho Wong
2010-03-30 17:47                                 ` Chong Yidong
2010-03-31  2:38                                   ` Jimmy Yuen Ho Wong
2010-03-31  4:00                                     ` Chong Yidong
2010-03-31 13:41                                       ` Jimmy Yuen Ho Wong
2010-03-31 14:28                                         ` Chong Yidong
2010-03-31 14:29                                         ` Adrian Robert
2010-03-29 23:48                   ` MS-Windows build broken in Fmake_network_process Davis Herring
2010-03-30  5:41                     ` Jason Rumney
2010-03-26 23:03           ` Juanma Barranquero
2010-03-27  0:51 ` YAMAMOTO Mitsuharu
2010-03-27  8:44   ` Eli Zaretskii
2010-03-27 13:01     ` Óscar Fuentes
2010-03-27 13:18       ` Juanma Barranquero
2010-03-28 17:29     ` Kim F. Storm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87iq8g2p9t.fsf@telefonica.net \
    --to=ofv@wanadoo.es \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).