emacs-devel
[Top][All Lists]
Advanced

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

Re: [feature/internal-msys] thoughts of a more function windows package


From: Óscar Fuentes
Subject: Re: [feature/internal-msys] thoughts of a more function windows package
Date: Mon, 25 Jan 2021 01:12:42 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Phillip Lord <phillip.lord@russet.org.uk> writes:

> Óscar Fuentes <ofv@wanadoo.es> writes:
>
>> Phillip Lord <phillip.lord@russet.org.uk> writes:
>>
>>> But, mingw64 does not have all the packages I need.
>>
>> Ok, here goes a data point:
>>
>>> How do people use Emacs on windows?
>>
>> I install MSYS2 and execute a shell script that installs this
>> packages:
>>
>> universal-ctags-git ag putty-ssh aspell aspell-en aspell-es diffutils
>>
>> (the scripts prepends the names listed above with the corresponding
>> mingw-w64-i686/x86_64 prefix). Then I install emacs with `pacman`,
>> either from MSYS2 binary repository or from the packages I build.
>
> In your case, you are using msys effectively as an installer, to install
> mingw64 packages. Likewise, I presume, with Emacs? This seems to come in
> both an msys2 and mingw64 package.
>
> Any reason for putty rather than openssh?

There is no mingw64 package of openssh and putty is "made for Windows",
which means that everything works out of the box (I'm not talking about
Tramp, which I don't use.)

>>> I mean, do they install find,
>>
>> I don't use it. I don't use it on GNU/Linux either (I work 99% of the
>> time on GNU/Linux).
>
> Oh, I'm a find junkie.

I also use find quite often while using a shell. For Emacs, ag (the
silver searcher) makes rgrep & co. irrelevant and my Dired usage is
quite basic.

>>> ls,
>>
>> Is it necessary?
>
> Not sure. I thought dired used it, at least if it's there but maybe
> not.

If there is no ls available, Emacs uses its own facilities. That applies
to Eshell, Dired, etc.

>>> git,
>>
>> Git for Windows.
>>
>>> aspell
>>
>> See above.
>>
>>> and all the rest by hand?
>>
>> On my case, only Git for Windows and MSYS2 are installed by hand.
>>
>> BTW, Git for Windows is also based on MSYS2: it installs the required
>> pieces that are required for running the parts of git that still depend
>> on POSIX.
>>
>> It theory, instead of Git for Windows I could also run MSYS2's own
>> git.exe setting magit-git-executable and vc-git-program, without adding
>> MSYS2 /bin directory to PATH, but last time I tried it was somewhat
>> slower than Git for Windows, which is slow enough itself. Also, the
>> later comes with some goodies built-in, such as git-svn. MSYS2 git
>> package requires about 30 MB, while Git for Windows 240.
>
> Yes, I hear that magit is difficult to use on Windows.

No, not difficult, just slow.

> I don't know if that is fixable within Emacs, or if it is fundamental
> to Windows.

Launching processes is slower in Windows than in GNU/Linux, plus Git is
heavily optimized for GNU/Linux, plus (and this is not really a "plus"
but a "times") Magit does a lot of git calls, about 50 runs of git
whenever the status buffer is updated, last time I checked.

>> I execute runemacs.exe from wathever/msys64/mingw64/bin. emacs.el sets
>> PATH and exec-path:
>>
>> (defun anade-a-path (path)
>>   (setenv "PATH" (concat (getenv "PATH") path-separator dir))
>>   (setq exec-path (append exec-path (list dir))))
>>
>> (anade-a-path (file-name-directory (car command-line-args)))
>>
>> With this I can execute programs on emacs.exe directory (that is,
>> whatever/msys64/mingw64/bin) with no problems.
>
> That's a good data point! Thank you.

You're welcome.




reply via email to

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