From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "John Wiegley" Newsgroups: gmane.emacs.help Subject: Re: using use-package Date: Mon, 10 Aug 2015 22:44:19 -0700 Organization: New Artisans LLC Message-ID: References: <20150805055619.13567.17B26335@ahiker.mooo.com> <17131863-cbb8-4a85-8470-490fe9a0c0d4@googlegroups.com> <66dceb24-5fef-4316-8c8b-e9a3e62b0fb8@googlegroups.com> <3594e2c6-bd02-412f-98df-9dd0f145277a@googlegroups.com> <01b4d996-aad3-44ff-a580-7950b25b7dc8@googlegroups.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1439272230 2711 80.91.229.3 (11 Aug 2015 05:50:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 11 Aug 2015 05:50:30 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Aug 11 07:50:21 2015 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZP2S5-0001Qq-1k for geh-help-gnu-emacs@m.gmane.org; Tue, 11 Aug 2015 07:50:21 +0200 Original-Received: from localhost ([::1]:32878 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZP2S4-00024w-AL for geh-help-gnu-emacs@m.gmane.org; Tue, 11 Aug 2015 01:50:20 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:32775) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZP2Rt-00024p-Vw for help-gnu-emacs@gnu.org; Tue, 11 Aug 2015 01:50:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZP2Rq-0007cs-OA for help-gnu-emacs@gnu.org; Tue, 11 Aug 2015 01:50:09 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:56667) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZP2Rq-0007Vt-Hn for help-gnu-emacs@gnu.org; Tue, 11 Aug 2015 01:50:06 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZP2Ro-0001Kk-Gb for help-gnu-emacs@gnu.org; Tue, 11 Aug 2015 07:50:04 +0200 Original-Received: from 76-234-68-79.lightspeed.frokca.sbcglobal.net ([76.234.68.79]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 11 Aug 2015 07:50:04 +0200 Original-Received: from johnw by 76-234-68-79.lightspeed.frokca.sbcglobal.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 11 Aug 2015 07:50:04 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 48 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 76-234-68-79.lightspeed.frokca.sbcglobal.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin) Cancel-Lock: sha1:z9n6kNXYVHhFL+0ukHvMtYBykbM= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:106456 Archived-At: >>>>> Stefan Monnier writes: > FWIW, lots of use-package is designed to work around flaws in packages. Hi Stefan, use-package was designed to offer sane and fast Emacs configurations. I did not think of other packages as being flawed when I wrote it; I simply asked myself how I wanted Emacs to behave when configuring packages. For example, I can say ":disabled t" and everything about a package will be dropped from my configuration. It won't be on my load-path, or available as an autoload, nothing. Nor do I have to delete the package, or move it out of the way, for this exclusion to happen: the decision is based entirely on my use-package configuration. And because of the modularity in 2.0 (i.e., keywords and related support can be added or dropped as desired), it's not fixed in the design space. If inclusion into core meant moving :load-path support to an ELPA add-on, that's entirely possible. > E.g. the :load-path thingy should never be necessary since the package's own > autoloads should already take care of that. I happen to prefer :load-path, since relying on Emacs' automated discovery takes longer than loading my entire init.el now. I have tons of Emacs software in my .emacs.d, and only use a fraction of it on any given system. One thing use-package does is to confine load-time configuration to just those packages I'm using for the machine I'm starting Emacs on, even though I've cloned the same set of packages everywhere. > IOW, in many cases, it would be better for people to report the problem as a > bug rather than to reach for use-package. The idea that use-package will never make it into core because "package authors should do things a better way" strikes me as a very odd argument. use-package lets me write modular code to solve every configuration problem I run into; am I really supposed to not do this, because things should ideally be better than they are? That's a bit like saying we shouldn't have locks on our doors, because it downplays a deeper issue: that we should convince people not to steal. John p.s. Side note to others: req-package does not supercede use-package. In fact, use-package's design post-2.0 could easily support req-package's functionality as an add-on. req-package is a pre-2.0 effort to integrate a core design change.