help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: req-package


From: Edward Knyshov
Subject: Re: req-package
Date: Thu, 13 Aug 2015 20:30:39 +0000

I have a very complex configuration with nearly 300 packages. I tackled
into reordering hell when it was about 100 packages. And now my
configuration grown three times bigger, but still works perfectly with ease
of supporting and adding new features.

On Thu, Aug 13, 2015 at 11:27 PM Edward Knyshov <address@hidden> wrote:

> Alexander, the answer to your a-b question is yes, req-package manages it.
> That's the main idea. You do not need to rearrange your code.
>
> On Thu, Aug 13, 2015 at 7:37 PM Alexander Shukaev <address@hidden>
> wrote:
>
>> >> 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.
>>
>>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]