unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Daniel Colascione <dan.colascione@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH] system-type cygwin with window-system w32
Date: Mon, 18 Jul 2011 03:49:41 -0700	[thread overview]
Message-ID: <4E240FC5.3050509@gmail.com> (raw)
In-Reply-To: <E1Qikm0-0001Ph-Gg@fencepost.gnu.org>

[-- Attachment #1: Type: text/plain, Size: 3678 bytes --]

On 7/18/11 3:10 AM, Eli Zaretskii wrote:
>> Date: Mon, 18 Jul 2011 02:41:08 -0700
>> From: Daniel Colascione <dan.colascione@gmail.com>
>> CC: emacs-devel@gnu.org
>>
>> The 9X family is long dead.
> 
> Not in the 3rd world, where there are still many machines running it.
> Or so we were told last time this issue popped up.  RMS personally
> asked not to drop W9X on this behalf.

I don't recall that discussion.  Can we reopen it?  According to [1],
Windows 98 has a market share of 0.03%.  I suspect there are more VMS
users, and we dropped support for that OS.

Besides: shouldn't we be encouraging computationally indigent third
world users to switch to use free operating systems instead?  9X users
have no protection against security vulnerabilities.

>> We shouldn't forgo technical improvement on the account of a dead
>> system.
> 
> I didn't say we should stop the improvement.  You will find quite a
> few Emacs features that use APIs which are unavailable on W9X.  But
> they do it in a way that lets Emacs still run on W9X and produce
> reasonable results, be that some fallback or just plain message saying
> that this nifty feature is not available.  (Of course, disabling menus
> or file access cannot use the latter fire escape, because they are too
> basic and without them Emacs would become unusable.)

These fallbacks involve significant complexity, and they're
lightly-tested at best.  I'd prefer to eliminate the complexity involved
in supporting these alleged 9X users by simply dropping the support.
Moving to all-Unicode APIs would improve Emacs' internationalization
support _and_ simplify the codebase.

>>> and (2) going Unicode means that all the existing APIs
>>> used by Emacs will have to be switched to Unicode. 
>>
>> Why not do it piecemeal?  We can directly call Unicode APIs where
>> appropriate.
> 
> I'm not sure I understand the details of your proposal.  The situation
> that worries me is this:
> 
>   . user uses the file dialog to return a file name in UTF-16 which
>     includes characters not available in the system codepage (this is
>     quite possible on NTFS)
> 
>   . the file name is passed to file-attributes or insert-file-name or
>     some other primitive that accepts file names

It'd be straightforward to locate all calls to CreateFile and such and
update them to use unicode APIs.  Cygwin supports UTF-8 filenames natively.

But even if we don't --- why does it matter?  You can create files using
the NT native API that can't be opened using Win32 calls; it doesn't
cause a problem in practice.  Likewise, users who have strange
filesnames might not be able to use them with all Emacs features right
away, but they'll be able to work with more reasonable filenames just as
they did before.

>   . if the underlying file APIs used by these primitives (`stat',
>     `open', `opendir', etc.) are not Unicode, these primitives will
>     fail in weird ways, like "file does not exist" etc., that would
>     just confuse the user.

I'd prefer to go all-Unicode because I don't think unencodable filenames
are common enough to warrant much concern here.  Any file users can
manipulate today, they'll be able to manipulate with a
partially-Unicodeized Emacs.

Still, if we can't do that, then as a temporary measure, we can still
use Unicode APIs (the 9X discussion notwithstanding), but as a temporary
measure, filter their results so that we reject filenames that can't be
used with the system codepage.


[1]
http://marketshare.hitslink.com/operating-system-market-share.aspx?spider=1&qprid=10&qpcal=1&qpcal=1&qptimeframe=M&qpsp=148


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

  reply	other threads:[~2011-07-18 10:49 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-18  0:01 [PATCH] system-type cygwin with window-system w32 Daniel Colascione
2011-07-18  0:06 ` Daniel Colascione
2011-07-18  6:13 ` Eli Zaretskii
2011-07-18  6:29   ` Daniel Colascione
2011-07-18  8:53     ` Eli Zaretskii
2011-07-18 10:10       ` Daniel Colascione
2011-07-18 16:04         ` Paul Eggert
2011-07-18 16:19         ` Eli Zaretskii
2011-07-18 13:55     ` Jason Rumney
2011-07-18 16:13     ` Paul Eggert
2011-07-18 17:34       ` Andreas Schwab
2011-07-18  6:53 ` Eli Zaretskii
2011-07-18  7:01   ` Daniel Colascione
2011-07-18  9:04     ` Eli Zaretskii
2011-07-18  9:41       ` Daniel Colascione
2011-07-18 10:10         ` Eli Zaretskii
2011-07-18 10:49           ` Daniel Colascione [this message]
2011-07-18 11:22             ` Juanma Barranquero
2011-07-18 16:41             ` Eli Zaretskii
2011-07-18 16:48               ` Daniel Colascione
2011-07-18 17:08                 ` Eli Zaretskii
2011-07-18 22:08             ` Richard Stallman
2011-07-18 22:24               ` Daniel Colascione
2011-07-18 22:45                 ` David Kastrup
2011-07-18 22:56                   ` Daniel Colascione
2011-07-19 16:49                     ` Richard Stallman
2011-07-21  1:44               ` Lennart Borgman
2011-07-18 22:08             ` Richard Stallman
2011-07-18 13:31       ` Jason Rumney
2011-07-18 13:46         ` Richard Riley
2011-07-18  8:42 ` Eli Zaretskii
2011-07-18 10:33   ` Daniel Colascione
2011-07-18 16:29     ` Eli Zaretskii
2011-07-18 17:04       ` Daniel Colascione
2011-07-18 15:54 ` Stefan Monnier
2011-07-18 15:55 ` Stefan Monnier
2011-07-18 17:37 ` Andreas Schwab
  -- strict thread matches above, loose matches on Subject: below --
2011-07-18 17:33 grischka
2011-07-18 17:50 ` Daniel Colascione
2011-07-18 18:08   ` Daniel Colascione
2011-07-18 18:52     ` grischka
2011-07-18 19:11       ` Daniel Colascione
2011-07-18 21:01         ` grischka
2011-07-19  2:58           ` Eli Zaretskii
2011-07-19  2:59             ` Daniel Colascione
2011-07-21 17:44           ` Lennart Borgman
2011-07-22  7:30             ` Daniel Colascione
2011-07-22  7:41               ` Lennart Borgman
2011-07-22 21:24                 ` chad
2011-07-22 21:57                   ` Lennart Borgman
2011-07-18 18:38   ` grischka

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=4E240FC5.3050509@gmail.com \
    --to=dan.colascione@gmail.com \
    --cc=eliz@gnu.org \
    --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).