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: Naoya Yamashita
Subject: Re: Include leaf in Emacs distribution
Date: Mon, 16 Nov 2020 14:29:53 +0900 (JST)

Long time no see, sorry I was very busy recentry.

An important point was made in john's email.  I want to summarize
it, but please point out if it's different than intended.

- Both use-package and leaf are declarative macros, which
  translate into appropriate Lisp code

- The point is made that use-package is large and complex, but
  this is only natural and universal truism if any package
  addresses the issues raised by a large user base for several
  years.

- According to the code count, the results of the rewrite project
  is not significant, and I'm not sure if the amount of reduction
  in such a small project justifies a near-but-not-quite rewrite.

- use-package is fully modular and allows users to add keywords
  easily.

- use-package is used in spacemacs and has proven its modularity
  to be useful.

- The emacs-devel doesn't care about the implementation, it cares
  about the interface.

---

I agree with you overall, with conditions.

For example, the last point about focusing on the interface
rather than the implementation is that I think "adding keywords"
is part of the interface provided to the user, and I think the
leaf provides it in a more intuitive and direct way than the
use-package.

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

- Enabled even if :disabled is set to nil

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

- 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?)

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

- 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.

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?

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



reply via email to

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