emacs-devel
[Top][All Lists]
Advanced

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

Re: Include leaf in Emacs distribution


From: John Wiegley
Subject: Re: Include leaf in Emacs distribution
Date: Mon, 16 Nov 2020 16:39:48 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.50 (darwin)

>>>>> Naoya Yamashita <conao3@gmail.com> writes:

> Also, getting back to the DSL of the use-package, I disagreed
> with the following points when I created leaf.

> - use-package without keywords is expanded to require

I chose this because in effect `(use-package foo)` is saying "I want to use
the package foo". What do you suggest for the default expansion?

> - Enabled even if :disabled is set to nil

I'm not sure I understand, do you mean it's disabled even when set to nil?
This sounds like an easy bug to fix.

> - That :custom receives a list instead of a dot pair

:custom is a rather late addition, and I'm open to adding a new :customize
that uses dot pairs, while deprecating :custom.

> - Complete a symbol name that has an incomplete :hook.
> (Users won't be able to do definition jumps, and also, what
> happens if there is a hook that doesn't end in -hook?)

If there's a hook that doesn't end in -hook, you just use whatever that hook's
name is. `use-package` will look for a variable with that name, if no `-hook`
variant exists.

> - that :load-path only supports paths relative to .emacs.d

You can use any path in :load-path.

> - In :bind, the syntax for binding to a local keymap is not well thought
> out, assigning it to a local keymap is difficult to understand, and it is
> incompatible with Elisp indentation.

I would like to move in the direction of deprecated :bind and allowing the
user to opt-in to general, perhaps making general the default at version 3.0.
I agree that local keymaps are not very well thought out, since they came late
in the game.

> These are difficult to solve on the use-package, because there are literally
> thousands of users of the use-package, and even the disruptive changes in
> use-package-3.0 will have an immeasurable impact.

> What do you think? Do you think we can fix a thought or some grammatical
> discrepancy that was appropriate a long time ago with a use-package?

I think, based on the comments above, that much of your suggestions can be
dealt with a way that won't break existing users: support a new :customize,
provide an option for opting in to use general instead of bind-key, etc.

I also think we could provide a "front-end" to new keywords that does let
people use defcustom to add new keywords, and those keywords would be injected
into the existing system, say based on a position keyword specified in the
defcustom. What do you think of that?

> (When you say yes, I'm willing to help. The question is, can the user bear
> this pain?)

Let's see what we can do! I'd almost always rather collaborate than compete.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



reply via email to

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