5 ms·
> Lesson #1: Provide significant out-of-the-box utility There has been a push to move certain modes out of the core Emacs distribution and into package repos,
by nickdrozd 7y ago
> Lesson #1: Provide significant out-of-the-box utility
There has been a push to move certain modes out of the core Emacs distribution and into package repos, I guess because it makes it makes them easier to maintain. Emacs comes with a Python mode, for example, and that conceivably could go to ELPA. But not everyone has access to package repos, and switching from a kitchen-sink model to a framework-for-external-repos model would make Emacs far less useful for such users.
- Myrmornis 7y agoWhat are the main examples you have in mind of users who can use emacs but can’t install packages?
- throwaway7234 7y agoI can offer one data point. The company I'm an on-site (well, usually) contractor for, whose network I use at work, proxies web traffic over HTTP. It's encrypted at the proxy for HTTPS, but everything outbound from the internal network is effectively plain text. Emacs doesn't allow packages to be installed over HTTP, so in order to use the package repositories, I have to use my phone as a hotspot.
- zlalanne 7y agoIf you have sufficient disk space (~5GB), you can also keep an elpa-mirror on your machine. https://github.com/d12frosted/elpa-mirror https://github.com/d12frosted/elpa-mirror
- tikej 7y agoDidn’t know about this possibility. It’s a good idea to archive it locally and update regularly (just in case something happens with internet ;). Is the same possible for melpa?
- Myrmornis 7y ago> Emacs doesn't allow packages to be installed over HTTP Are you sure about that? I think that you can specify http as usual in the URL: (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) See the instructions here which go to an annoyingly extreme level of ugliness to set the protocol in a paranoid fashion: https://melpa.org/#/getting-started https://melpa.org/#/getting-started
- tikej 7y agoProbably someone on the remote machine with restricted or no internet connection and admin privileges. It happens e.g. on company or academic clusters. It is much easier to ask admin to install emacs and use defaults than to ask to install emacs and packages (and resolve problems that may happen on the way).
- nickdrozd 7y agoI use Emacs at work, where unapproved external packages are prohibited. If Python mode were pushed out to a repo, I would basically be forced to use another editor. Another example might be using Emacs on a device without network access. If we relax "can't" to include "won't", then there are casual users who might want to try Emacs but can't be bothered to set up package archives, etc. Such a user will start it up, say "What, no Python mode?", and switch to something else.
- simtel20 7y agoIs there a powerful resistance to approving elisp packages that aren't default? Could you lay the groundwork with whoever maintains the list of approved packages by asking about approving certain versions of emacs packages that you use, and make your current setup much richer at the same time (e.g. by adding lsp-mode, ms-lsp, flycheck and whatever else you may be doing without now).
- craigsmansion 7y agoWhat is really an "external package" in emacs? There should be nothing stopping someone just copying and pasting an entire elisp source text from a website into scratch, evaluate the buffer on the spot, and have the exact same functionality as installing the package would. I'm not saying that retrieving an external package isn't easier, but due to emacs' nature there isn't really sort of delineation based on how the elisp got into the emacs.
- Myrmornis 7y agoIt's more complicated than that: Emacs packages should be thought of the same as any other language's packages. They might comprise multiple files, and it's possible that their performance will be noticeably compromised if they are not byte-compiled. Installing Emacs packages should be done with the package manager.
- Myrmornis 7y agoHaving never worked at a company like that I'm curious how it works. Is it - No http/https connections - No write access to home directory - Internal prohibition against downloading/using something which is a "software package" ?
- dmortin 7y agoOnly a tiny minority of users can't access package repos. They can download the packages at home and mail themselves in a zip file. It's trivial to create a zip file containing the necessary files, plus a config elisp file which has the personal customizations.
- nickdrozd 7y ago> Only a tiny minority of users can't access package repos. That sounds like a verifiable claim. Do you have any proof?
- dmortin 7y agoOnly my personal experience. I never encountered a situation in my professional life where I couldn't access the net. How is it verifiable? Is there some statistics of this?
- deleted 7y ago[deleted]
- salawat 7y agoThe problem with that Point of view is discoverability. It's the same issue I have with tweaking Vim to slowly provide some better ergonomics for my projecting, and has honestly been a consistent hurdle even when I was first learning computer suites like Word Processors and other office stuff. I've never done well at navigating the initial humps of learning plugin/package ecosystems. Especially when I can't phrase what it is I'm looking for correctly, and I've grown reluctant to spend excessive amounts of time trying to dedup toolsets because it leads to pristine garage syndrome. You have a system gleaming clean and ready to do things, but you're so exhausted getting things just so, you don't do anything with it. It has nothing to do with the fact I like to blow away and remake systems on a regular basis, I swear. :P
- mrspeaker 7y agoI kinda hope they don't go down that path: the over-the-top, kitchen-sink-ness absurdity is what I love about Emacs. I've only been using it for a few years, so I'm still stumbling down crazy rabbit-holes (more like, giant caverns) of functionality and tools that I never knew were there - and can't believe that they'd bundle in by default. Sure I'll probably never need most of the stuff - but it make me happy to know it's there... and is great fun to explore: especially if you're on an 18 hour flight with no wifi!
- slightwinder 7y agoI never understood that argument. What prevents emacs-devs from maintaining an emacs-core with all modes outsourced to ELPA, and still deliver a emacs-classic-distribution which loads packages from elpa on compiling? You can easily mark versions of the elpa-packges matching the emacs-classic-version, while developing it independant from it.