From: Eli Zaretskii <eliz@is.elta.co.il>
Cc: ehud@unix.simonwiesel.co.il, cygwin@cygwin.com, emacs-devel@gnu.org
Subject: Re: Emacs for Cygwin (was: cygwin-mount.el, Using GDB in NTEMACS)
Date: Wed, 27 Feb 2002 12:07:35 +0200 (IST) [thread overview]
Message-ID: <200202271007.MAA22072@is.elta.co.il> (raw)
In-Reply-To: <200202270333.g1R3XCh02899@cate0-223.reshall.ou.edu> (message from Jon Cast on Tue, 26 Feb 2002 21:33:11 -0600)
> From: Jon Cast <jcast@ou.edu>
> Date: Tue, 26 Feb 2002 21:33:11 -0600
>
> > CygEmacs will have UNIX APIs for I/O (files and
> > sockets), and M$Windows APIs for the display and the keyboard. This
> > is already done (partly) by the Cygwin port of rxvt.
>
> I used to agree with you, but the more I think about it, the more I
> think the ideal solution (bearing in mind that we are talking about a
> *Cygwin* port of Emacs) is use the normal LessTif toolkit support, and
> make LessTif work ``right'' from our perspective under Windows. (This
> would also allow us to support remote X connections, which is IMNSHO
> one of the major features X has over Windows.) Only if/while this is
> not workable/not worth the effort should we use the native APIs
> directly.
I don't use Lesstiff too much, so please take what's below with a
grain of salt.
I think we should be aware of Windows users expectations, not only of
technical merits. In a somehwat limited experience with a Windows
port of Gimp (which I believe uses ported toolkits for its GUI), I
find that even experienced and computer-savvy users feel annoyed by a
very different set of conventions presented by the X toolkits.
I don't have enough experience and data to judge whether that's a real
concern or just an NIH syndrom, but I thought I'd mention it anyway.
> It's certainly non-trivial, but it's not difficult, either. All it
> takes is a grep for WINDOWSNT, and then a check of each of those ~ 206
> occurrences to see if each one should read WINDOWSNT or (WINDOWSNT ||
> CYGWIN).
Unfortunately, it's more than that.
First, there are those w32*.c files which hide an enormous complexity
of the Windows port from the mainline code (that's why you see only
200-odd ifdefs). Some of that code can be safely tossed in the Cygwin
port--the part merely tries to wrap library functions with
Posix-compliant wrappers--but some cannot. So you might find yourself
_adding_ ifdefs ;-)
And then there's the issue of the Lisp code. What would be the value
of system-type in the Cygwin port? It could use the same symbol
windows-nt used by the current Windows port, or it could invent a new
symbol. Either way, there will be a need to go through all the
bundled packages and make sure code which does a different thing for
windows-nt will DTRT in the Cygwin port. The difficulty here is that
in some cases the Cygwin port should take the Unix/GNU branch (like
with file names and the shell), while in others (like browse-url, for
example) it should take the Windows branch. This probably calls for a
new symbol rather than reusing windows-nt, but the work has to be done
anyway. I counted more than 120 places where windows-nt is mentioned
in bundled Lisp code.
> > may be a version of Emacs for Cygwin, that use only the UNIX APIs
> > can be ported. This Emacs version will be used only within Cygwin's
> > windows - Console or rxvt (Emacs in TTY mode) or real display (using
> > Cygwin-Xfree).
>
> This second approach surrenders practically nothing for the kind of
> user Cygwin targets once Cygwin-Xfree supports a rootless X server.
> So, I think if that approach is workable it should be pursued instead.
How is this different from the alternative to use Lesstiff? That one
is also based on the ported XFree, right?
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel
next prev parent reply other threads:[~2002-02-27 10:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200202261006.g1QA6gw30441@unix.simonwiesel.co.il>
2002-02-27 3:33 ` Emacs for Cygwin (was: cygwin-mount.el, Using GDB in NTEMACS) Jon Cast
2002-02-27 10:07 ` Eli Zaretskii [this message]
2002-02-23 9:57 cygwin-mount.el (Was " Eli Zaretskii
2002-02-26 10:06 ` Emacs for Cygwin (was: cygwin-mount.el, " Ehud Karni
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200202271007.MAA22072@is.elta.co.il \
--to=eliz@is.elta.co.il \
--cc=cygwin@cygwin.com \
--cc=ehud@unix.simonwiesel.co.il \
--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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.