unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Phillip Lord <phillip.lord@russet.org.uk>
Cc: emacs-devel@gnu.org
Subject: Re: [feature/internal-msys] thoughts of a more function windows package
Date: Thu, 21 Jan 2021 22:17:03 +0200	[thread overview]
Message-ID: <83wnw659kw.fsf@gnu.org> (raw)
In-Reply-To: <87zh12grzh.fsf@russet.org.uk> (message from Phillip Lord on Thu,  21 Jan 2021 16:44:02 +0000)

> From: Phillip Lord <phillip.lord@russet.org.uk>
> Cc: emacs-devel@gnu.org
> Date: Thu, 21 Jan 2021 16:44:02 +0000
> 
> > Could you please elaborate on how will this work for users?  E.g., how
> > about describing the steps a user who installs Emacs should do to
> > install these additions?  I don't think I have a clear picture of what
> > you intend to do, and the files you committed are just the starting
> > point, so they don't answer this question.
> 
> Considering just the .exe installer, at the end of the installation
> process, we would run Emacs with menu bar, scroll bar and everything
> switch off and run the command "w32-msys-internal-install-dialog".

"We" being the installation process?  IOW, this will start
automatically at the end of the normal installation?

> Emacs would say "do you want do install a handy collection of
> tools". User says "y", then Emacs downloads the latest msys2-date.xz,
> then unpacks it with xz. Emacs will run msys2.exe to initialize
> (hopefully without poping up windows if this will work). Then Emacs will
> run pacman to update and install. The user will see Emacs saying
> 
> Would you like to install msys, and a handy set of tools (Y/n)
> Installing msys...done
> Updating msys...done
> Installing git...done

First, why Git?  This is a "normal" user, not an Emacs developer,
right?  Git is a huge package (and comes with Vim on top of that), so
maybe reconsider that part.

Next, by "msys" you mean all those non-native programs that depend on
msys-1.0.dll?  That's again meant for MinGW developers, not "normal"
users.

And finally, which packages will pacman install? are you going to
provide some list of packages, and if so, what will be there?

(Btw, pacman can ask questions and prompt the user for confirmation,
but the way you invoke it in w32-msys-run doesn't seem to be prepared
for such interaction?)

One other aspect that bothers me is that if the user already has some
parts of MSYS/MinGW64 installed, they will now have two places with
DLLs, which is a step towards "DLL hell".

> We might create "internal-msys" package on ELPA which
> contains a standard set of packages and Emacs fixes to make it work, so
> it would be freely updatable. At which point the w32-msys-install
> command would install the ELPA package before doing anything else.

Is it really possible for us to distribute MSYS, given its license?

> > Btw, I don't think I understand why you insist on using 'concat' to
> > generate files names from 2 components: that's what expand-file-name
> > is for, and it does that better.
> 
> Because in my own code, I tend to use f.el and I have got used to having
> a clean, consistent and comprehensive API, so I tend to forget the
> underlying Emacs primitives.

Then I think f.el has a big problem.

> > One other not about the code you committed is that modifying PATH from
> > within Emacs is not generally a good idea, it has some subtleties.
> 
> Any alternative that achieves the same thing?

I think the only good idea here is to tell the user to amend PATH by
adding such-and-such directories to it.  I don't like installers that
futz with my PATH, and would hate it if Emacs did that to others.
It's very easy to get that wrong, especially on Windows.



  reply	other threads:[~2021-01-21 20:17 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-09 19:57 [feature/dll-only-windows] A new windows build, comments wanted Phillip Lord
2021-01-09 20:18 ` Eli Zaretskii
2021-01-09 21:31   ` Phillip Lord
2021-01-10  8:49     ` Arash Esbati
2021-01-10 15:19       ` Phillip Lord
2021-01-10 16:45     ` Eli Zaretskii
2021-01-10 18:23       ` Phillip Lord
2021-01-10 19:05         ` Eli Zaretskii
2021-01-10 19:20           ` Óscar Fuentes
2021-01-10 19:37             ` Eli Zaretskii
2021-01-10 20:52           ` `gzip` dependency (was: [feature/dll-only-windows] A new windows build, comments wanted) Stefan Monnier
2021-01-11  3:27             ` Eli Zaretskii
2021-01-11 10:00               ` `gzip` dependency Phillip Lord
2021-01-11 15:22                 ` Eli Zaretskii
2021-01-11 14:59               ` Stefan Monnier
2021-01-11 15:15                 ` Phillip Lord
2021-01-11 15:46                 ` Eli Zaretskii
2021-01-20 19:29             ` [feature/internal-msys] thoughts of a more function windows package Phillip Lord
2021-01-21 12:36               ` Stephen Leake
2021-01-21 16:11                 ` Phillip Lord
2021-01-21 18:22                 ` Stephen Leake
2021-01-21 18:44                   ` phillip.lord
2021-01-23  2:51                     ` Stephen Leake
2021-01-21 18:53                   ` Óscar Fuentes
2021-01-21 14:11               ` Eli Zaretskii
2021-01-21 16:44                 ` Phillip Lord
2021-01-21 20:17                   ` Eli Zaretskii [this message]
2021-01-21 21:37                     ` Phillip Lord
2021-01-22  7:24                       ` Eli Zaretskii
2021-01-22 16:14                         ` Phillip Lord
2021-01-22 17:03                           ` Eli Zaretskii
2021-01-24 22:13                             ` Phillip Lord
2021-01-24 22:56                               ` Óscar Fuentes
2021-01-24 23:34                                 ` Phillip Lord
2021-01-25  0:12                                   ` Óscar Fuentes
2021-01-25 15:24                                   ` Eli Zaretskii
2021-01-25 19:49                                     ` chad
2021-01-25 19:57                                       ` Eli Zaretskii
2021-01-25 20:42                                       ` Stefan Monnier
2021-01-25 22:13                                         ` chad
2021-01-25 22:28                                         ` Dmitry Gutov
2021-01-26  3:26                                         ` Eli Zaretskii
2021-01-25 15:20                               ` Eli Zaretskii
2021-01-25 20:01                                 ` Richard Copley
2021-01-25 21:17                                   ` Óscar Fuentes
2021-01-26  3:29                                     ` Eli Zaretskii
2021-01-26  5:43                                       ` Óscar Fuentes
2021-01-26  6:56                                         ` Eli Zaretskii
2021-01-26  7:37                                           ` Óscar Fuentes
2021-01-26  9:57                                             ` Eli Zaretskii
2021-01-26 15:58                                               ` martin rudalics
2021-01-27 14:55                                             ` Stephen Leake
2021-01-27 18:36                                               ` Eli Zaretskii
2021-01-26 16:35                                   ` Stephen Leake
2021-01-26 10:43                                 ` Phillip Lord
2021-04-03 11:34               ` Nikolay Kudryavtsev
2021-04-20  9:25                 ` Phillip Lord
2021-04-20 14:38                   ` Wayne Harris via Emacs development discussions.
2021-04-21 15:51                     ` Phillip Lord
2021-04-21 17:11                       ` Nikolay Kudryavtsev
2021-04-24 11:46                       ` Wayne Harris via Emacs development discussions.
2021-04-26 13:27                         ` Phillip Lord
2021-04-21 17:19                     ` Nikolay Kudryavtsev
2021-04-21 23:03                       ` Óscar Fuentes
2021-04-22 19:44                         ` Nikolay Kudryavtsev
2021-04-22 14:55                       ` Wayne Harris via Emacs development discussions.
2021-01-11  9:59           ` [feature/dll-only-windows] A new windows build, comments wanted Phillip Lord
2021-01-11 15:21             ` Eli Zaretskii
2021-01-11 18:29               ` Phillip Lord
2021-01-09 21:36   ` Óscar Fuentes
2021-01-10 16:46     ` Eli Zaretskii
2021-01-10 18:34       ` Phillip Lord
2021-01-09 21:51   ` Andrea Corallo via Emacs development discussions.
2021-01-10  3:33     ` Eli Zaretskii
2021-01-10 15:09     ` Phillip Lord
2021-01-10 19:06       ` Andrea Corallo via Emacs development discussions.
2021-01-11  9:47         ` Phillip Lord
2021-01-11 11:01           ` Andrea Corallo via Emacs development discussions.
2021-01-11 16:29             ` Phillip Lord
2021-01-11 17:21               ` Andrea Corallo via Emacs development discussions.
2021-01-10 15:14   ` Phillip Lord
2021-01-10 17:23     ` Eli Zaretskii
2021-01-09 20:47 ` Alan Third
2021-01-09 21:33   ` Phillip Lord
2021-01-10  0:04     ` Alan Third
2021-01-10  3:28   ` Eli Zaretskii
2021-01-10 15:43 ` Phillip Lord
2021-01-12  6:01   ` Corwin Brust
2021-01-12  9:48     ` Phillip Lord
2021-01-12 10:27       ` Corwin Brust

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=83wnw659kw.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=phillip.lord@russet.org.uk \
    /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).