From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alexander Shukaev Newsgroups: gmane.emacs.help Subject: Re: req-package Date: Thu, 13 Aug 2015 18:37:11 +0200 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1439483849 1334 80.91.229.3 (13 Aug 2015 16:37:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 13 Aug 2015 16:37:29 +0000 (UTC) Cc: help-gnu-emacs To: Stefan Monnier Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Aug 13 18:37:29 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 1ZPvVQ-0001KW-37 for geh-help-gnu-emacs@m.gmane.org; Thu, 13 Aug 2015 18:37:28 +0200 Original-Received: from localhost ([::1]:43401 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPvVP-0008DY-2A for geh-help-gnu-emacs@m.gmane.org; Thu, 13 Aug 2015 12:37:27 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51702) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPvVC-0008DR-LB for help-gnu-emacs@gnu.org; Thu, 13 Aug 2015 12:37:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZPvVA-0005Lo-EN for help-gnu-emacs@gnu.org; Thu, 13 Aug 2015 12:37:14 -0400 Original-Received: from mail-la0-x231.google.com ([2a00:1450:4010:c03::231]:34396) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPvVA-0005Li-6U for help-gnu-emacs@gnu.org; Thu, 13 Aug 2015 12:37:12 -0400 Original-Received: by labd1 with SMTP id d1so29431467lab.1 for ; Thu, 13 Aug 2015 09:37:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=IHsiD68ATpSINjszDd3N4+OPrdq+PnqXHWoXL+LhPFY=; b=PNcIjzfuHWRMHfubk1Koq2C5MTwVRU7xD/jkR5euQaBg3gFYqwp7ClkqMHQQDvtbwy wCuLc4I2Ez+FIHWOplpwFAhre7izRLsYNzSoF74CbXW8aGuc9EHrr3XI7VSus61NZPxq uhme2cbUbjCAnn2wtI492sgjXuZEwTXJd7r6h/VBXwg+wkesOTKPoBR7c16kqz0PqS+G V0sdpT6H9vOhhi/LLo4pxcp8PhML8g4vfih/wfpUqKCfkWhQkUYqzySZgAl7Djj+aox3 uYjsZD+S+X0XxUd3Qo6cB0JKGp0ZVl6R/Az5SAeIJuM/kRNMmaUJF8mR/utUTkZLqTqg 5JQQ== X-Received: by 10.152.10.148 with SMTP id i20mr36565849lab.63.1439483831147; Thu, 13 Aug 2015 09:37:11 -0700 (PDT) Original-Received: by 10.112.42.69 with HTTP; Thu, 13 Aug 2015 09:37:11 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::231 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:106544 Archived-At: >> Consider my previous one: >> (use-package recentf >> :defer >> :commands >> (recentf-mode) >> :config >> (with-eval-after-load 'evil >> (evil-make-overriding-map recentf-dialog-mode-map 'motion) >> (evil-set-initial-state 'recentf-dialog-mode 'motion) >> (evil-ex-define-cmd "rfm[enu]" #'recentf-open-files))) > > Can you explain what' are the issues here? > > I guess one issue is with > > (evil-make-overriding-map recentf-dialog-mode-map 'motion) > > since this can only be used after both recentf and evil are loaded. > But I don't see where use-package req-package helps you with this > problem (which you instead solve with with-eval-after-load, IIUC). > > Can you clarify? Right now, `use-package' is nothing more, but a convenient way to structure configurations of packages, especially in terms of autoloads and deferring. Yes, right now it's more cosmetics and sugar, rather than something that one cannot live without. Still, I think there were plenty of good examples in another thread (with the `:mode' keyword, for instance). In this thread, however, we want to go deeper and discuss package "configuration-time" dependencies (which are not covered by `use-package' by default), and `req-package' offers some features in this regard, though I still don't quite understand them comprehensively. The biggest issue, that is not solved anywhere (neither vanilla Emacs nor `use-package' provide facilities for this) out of the box, is the one that I described two posts earlier with the example on `a' and `b'. Did you understand the issue? If `req-package' solves it, then this might be a good step forward in evolving `use-package' and making it a "really" handy tool for managing complex configurations.