unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Naoya Yamashita <conao3@gmail.com>
To: johnw@gnu.org
Cc: caiohcs0@gmail.com, emacs-devel@gnu.org, stefankangas@gmail.com,
	monnier@iro.umontreal.ca
Subject: Re: Include leaf in Emacs distribution
Date: Mon, 16 Nov 2020 14:29:53 +0900 (JST)	[thread overview]
Message-ID: <20201116.142953.1427155279543531263.conao3@gmail.com> (raw)
In-Reply-To: <m24kmkaeux.fsf@newartisans.com>


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	other threads:[~2020-11-16  5:29 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-08  1:37 Include leaf in Emacs distribution Naoya Yamashita
2020-10-08  9:00 ` Ergus
2020-10-08  9:22   ` Naoya Yamashita
2020-10-10 10:11     ` Eli Zaretskii
2020-10-11  5:24       ` Richard Stallman
2020-10-11  8:39         ` Naoya Yamashita
2020-10-11  9:52           ` Thibaut Verron
2020-10-11 16:50             ` Naoya Yamashita
2020-10-11 17:12               ` Thibaut Verron
2020-10-12  2:10                 ` Naoya Yamashita
2020-10-12 20:23                   ` Ergus via Emacs development discussions.
2020-10-11 17:02           ` Stefan Kangas
2020-10-11 16:51   ` Stefan Kangas
2020-10-12 20:53     ` Mingde (Matthew) Zeng
2020-10-11 17:22 ` Stefan Kangas
2020-10-12  1:35   ` Naoya Yamashita
2020-10-12 22:13     ` Stefan Kangas
2020-10-12 22:19       ` Qiantan Hong
2020-10-12 22:39       ` Caio Henrique
2020-10-13 13:23         ` Stefan Monnier
2020-10-13 14:14           ` Thibaut Verron
2020-10-13 14:29             ` Stefan Monnier
2020-10-13 15:29               ` Thibaut Verron
2020-10-18  9:32                 ` Phil Sainty
2020-10-13 15:25           ` Caio Henrique
2020-10-23  2:37             ` Naoya Yamashita
2020-10-23  3:41               ` John Wiegley
2020-10-23 14:33                 ` Stefan Monnier
2020-10-23 15:53                   ` Naoya Yamashita
2020-10-23 16:46                     ` Warnings in init files (was: Include leaf in Emacs distribution) Stefan Monnier
2020-10-23 18:11                     ` Include leaf in Emacs distribution T.V Raman
2020-10-23 18:41               ` Stefan Kangas
2020-10-23 20:04                 ` John Wiegley
2020-11-16  5:29                   ` Naoya Yamashita [this message]
2020-11-17  0:39                     ` John Wiegley
2020-11-20 11:04                       ` Naoya Yamashita
2020-11-20 11:29                         ` Pankaj Jangid
2020-11-20 15:44                         ` T.V Raman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201116.142953.1427155279543531263.conao3@gmail.com \
    --to=conao3@gmail.com \
    --cc=caiohcs0@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=johnw@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=stefankangas@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).