help-emacs-windows
[Top][All Lists]
Advanced

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

Re: changing make-process to use the new ConPTY API


From: Eli Zaretskii
Subject: Re: changing make-process to use the new ConPTY API
Date: Mon, 06 Jul 2020 05:36:40 +0300

> From: George Oliver <georgeolivergo@gmail.com>
> Date: Sun, 5 Jul 2020 15:12:42 -0700
> 
> I am looking for general guidance/feedback on the possibility of
> changing make-process in src/process.c to use the new Windows ConPTY
> (released in recent Windows 10 updates). For reference see
> https://devblogs.microsoft.com/commandline/windows-command-line-introducing-the-windows-pseudo-console-conpty/.
> 
> As I understand it Emacs uses pipes to communicate with async
> processes on Windows, because in the past Windows had no native pseudo
> tty like you'll find on Unix-based systems. ConPTY makes available a
> pseudo tty, and in theory this could facilitate a better experience
> for Emacs users working with sub processes such as programming
> language shells, command line utilities and the like.

True.

> All that said I have basically no experience with the Emacs core and
> little knowledge of what's required for such a change, if the core
> team would be amenable to such a change, and so on. However I am eager
> to learn and I'd appreciate any pointers in the right direction.

Thank you for your interest in Emacs.

Could you be more specific about what kind of pointers you'd like to
get?

Do you have a MinGW development environment for building Emacs on
MS-Windows?  If not, that'd be the first step; see nt/INSTALL.W64.

The next thing I'd suggest to study is the code in src/process.c,
where the pty's are used for communicating with subprocesses.

And the next thing to study is how we detect optional functionality on
MS-Windows and use it at run time; see the macros DEF_DLL_FN and
LOAD_DLL_FN.

I suggest to continue this on emacs-devel@gnu.org, where you will find
all the Emacs developers.

Thanks in advance for working on this.



reply via email to

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