From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: joaotavora@gmail.com (=?utf-8?B?Sm/Do28gVMOhdm9yYQ==?=) Newsgroups: gmane.emacs.devel Subject: Re: use-package.el -> Emacs core Date: Tue, 10 Nov 2015 08:49:36 +0000 Message-ID: References: <564136F7.2020404@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1447145391 15175 80.91.229.3 (10 Nov 2015 08:49:51 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 10 Nov 2015 08:49:51 +0000 (UTC) Cc: emacs-devel@gnu.org To: jwiegley@gmail.com, Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 10 09:49:50 2015 Return-path: Envelope-to: ged-emacs-devel@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 1Zw4cf-0003rQ-P1 for ged-emacs-devel@m.gmane.org; Tue, 10 Nov 2015 09:49:49 +0100 Original-Received: from localhost ([::1]:58177 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zw4cf-0007uy-C4 for ged-emacs-devel@m.gmane.org; Tue, 10 Nov 2015 03:49:49 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49820) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zw4cb-0007us-CC for emacs-devel@gnu.org; Tue, 10 Nov 2015 03:49:46 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zw4cX-0002o4-3k for emacs-devel@gnu.org; Tue, 10 Nov 2015 03:49:45 -0500 Original-Received: from mail-wm0-x22b.google.com ([2a00:1450:400c:c09::22b]:37396) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zw4cW-0002nf-ST for emacs-devel@gnu.org; Tue, 10 Nov 2015 03:49:41 -0500 Original-Received: by wmww144 with SMTP id w144so65653372wmw.0 for ; Tue, 10 Nov 2015 00:49:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type:content-transfer-encoding; bh=mXvOaxubri89/lwSkUVZftEmTC3YUaYwhfit+4Wjj6U=; b=T+b2SplohBIWkH2LKnRqlEWa8yF5rB12nakgdSsLqJNMhnIIEoN0YVROjEh3FT1S8c Uls7j8DzphCxm/UZgGdfTFwMEcjhEFzzjHT4KkWxepwxiVPXKiWztx2f9HAtP1bi6n98 MIPx4b/uINw7dhD73Qz6xOmCre7MkKaQlntPVsgn/4zYpYi1nFVWoVFQfMyRpjHaXeZ+ YVmVqdfdXPQNxOUbLp4Mui301SP0r8S64j3SHyhemWmUMQRnYjPaPUv9G1wDj7lR+nLD lL3bj0OGqJvDCfio71HDiKODGdLTJZ9BOVDZ3kRC0ATqQCIJd3O90inwIoLqdwmC2MEB z7mQ== X-Received: by 10.194.11.67 with SMTP id o3mr2552784wjb.3.1447145379916; Tue, 10 Nov 2015 00:49:39 -0800 (PST) Original-Received: from king.yourcompany.com (31.57.37.188.rev.vodafone.pt. [188.37.57.31]) by smtp.gmail.com with ESMTPSA id p10sm2255032wjx.36.2015.11.10.00.49.38 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Nov 2015 00:49:39 -0800 (PST) In-Reply-To: (John Wiegley's message of "Mon, 09 Nov 2015 16:31:24 -0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (darwin) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c09::22b X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:193825 Archived-At: Hi, I'm reticent of this addition. In lisp (or anywhere else for that matter), I don't like to learn new syntax unless the advantages are clear. A perfect example would be cl's LOOP, which is it's own mini-language which I've learned to love. Of course adding use-package.el to Emacs wouldn't force me to use it. However, as the maintainer of a few packages, I have to read users' bug reports, and that mostly means I would have to learn use-package.el's syntax, since users would more legitimately consider it a proper way to install the packages I maintain. Now, I see use-package.el as a `with-eval-after-load' replacement with more bells and whistles. It appears to be weak in that sense: each of those bells and whistles usually already has a nice concise way to control in stock Emacs, so it's unfortunate that use-package.el introduces new ones. And it doesn't even appear to save lines of configuration code while at it, just someone shorter sexps. For example, I don't see the benefit of replacing: (when window-system (with-eval-after-load 'foo ... more configuration )) with (use-package foo :if window-system ... more configuration ) The generic example you gave for `foo-mode' is also not to convincing to me. I would write it as (with-eval-after-load 'foo-mode (add-hook 'foo-init-hook 'some-function) (define-key foo-mode-map (kbd "C-c k") 'foo-hello)) (add-to-list 'auto-mode-alist '("\\.foo$" . foo-mode)) Which is just as long, just as readable and less voodoo than use-package. If I grep for "auto-mode-alist" in my configuration, I'm sure to find who's setting it. But perhaps I can be convinced otherwise or am missing something fundamentally. Can you provide more examples of package configurations where you definitely think it beats `with-eval-after-load' or other alternatives? I'm guessing those would be examples that include automatically installing a package (lazily?) from ELPA, but you tell me. Thanks, Jo=C3=A3o