unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: <emacs-devel@gnu.org>
Subject: Configuration helpers (wad: Adding use-package to core)
Date: Tue, 15 Nov 2022 11:24:42 -0500	[thread overview]
Message-ID: <jwvcz9ojiwj.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <NGvwC3s--3-9@tutanota.de> (xenodasein's message of "Tue, 15 Nov 2022 16:38:10 +0100 (CET)")

BTW,

While I'm happy to see `use-package` just reached GNU ELPA and I'm sure
even more people would be happy if it made it into Emacs itself,
`use-package` is solving an old problem and I hope someone will improve
it (or some replacement) to solve new problems.

Some of the problems I think need solving in users's config files are:

- flymake: currently, flymake tends to flag a lot of configuration code
  because that code will be riddled with `setq` on variables that don't
  exist (yet) and calls to functions that don't exist (yet) either.
  A configuration system like use-package/setup/leaf provides some of
  the info needed to resolve this problem, but those packages have yet
  to be tweaked to explain to flymake what's going on.

- idempotent: a good configuration system should make it "hard" to
  write non-idempotent code, and should aim to make it so re-reading
  your init file will give you almost the same result as
  restarting Emacs.
  E.g. if you change a hook function, the result should not be to have
  both the old hook function and the new hook function on that hook.
  Or if you remove the "add-hook" code, re-reading the init file should
  end up removing the hook that was previously added.


        Stefan




  reply	other threads:[~2022-11-15 16:24 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-13 16:11 Adding use-package to core xenodasein--- via Emacs development discussions.
2022-11-13 16:48 ` Eli Zaretskii
2022-11-13 17:53   ` John Wiegley
2022-11-13 18:13     ` Eli Zaretskii
2022-11-13 18:45       ` John Wiegley
2022-11-13 18:05 ` Stefan Kangas
     [not found] ` <838rkels13.fsf@gnu.org-NGltIw7----9>
2022-11-13 18:12   ` xenodasein--- via Emacs development discussions.
2022-11-13 18:22     ` Stefan Kangas
2022-11-13 18:31     ` Eli Zaretskii
2022-11-13 19:19       ` xenodasein--- via Emacs development discussions.
2022-11-13 20:08         ` Eli Zaretskii
2022-11-13 18:46     ` John Wiegley
2022-11-13 19:02       ` xenodasein--- via Emacs development discussions.
2022-11-13 19:48         ` John Wiegley
2022-11-13 22:03           ` [External] : " Drew Adams
2022-11-13 22:45             ` North Year
2022-11-13 23:13             ` Matthew Carter
2022-11-14  8:10               ` Juanma Barranquero
2022-11-14  4:17             ` Tim Cross
2022-11-14  6:02             ` John Wiegley
2022-11-13 20:04         ` Eli Zaretskii
2022-11-14 10:32           ` xenodasein--- via Emacs development discussions.
2022-11-14 13:30             ` Eli Zaretskii
2022-11-14  0:27 ` Po Lu
2022-11-14 10:12   ` xenodasein--- via Emacs development discussions.
2022-11-14 10:47     ` Po Lu
2022-11-14 11:52       ` xenodasein--- via Emacs development discussions.
2022-11-14 12:19         ` Po Lu
2022-11-15 15:39           ` Michael Albinus
2022-11-14 13:54         ` Eli Zaretskii
2022-11-14 14:47           ` xenodasein--- via Emacs development discussions.
2022-11-14 17:39             ` Eli Zaretskii
2022-11-15 15:38               ` xenodasein--- via Emacs development discussions.
2022-11-15 16:24                 ` Stefan Monnier [this message]
2022-11-15 19:22                 ` Eli Zaretskii
2022-11-18 19:29   ` Sean Whitton
2022-11-18 19:33     ` Philip Kaludercic
2022-11-18 19:48       ` [External] : " Drew Adams
2022-11-18 19:42     ` Eli Zaretskii
2022-11-18 20:43       ` Philip Kaludercic
2022-11-19  7:12         ` Eli Zaretskii
2022-11-19  7:33           ` Philip Kaludercic
2022-11-19  8:04             ` Eli Zaretskii
2022-11-19 10:09               ` Philip Kaludercic
2022-11-19 10:31                 ` Eli Zaretskii
2022-11-19 11:02                   ` Philip Kaludercic
2022-11-19 11:15                     ` Stefan Kangas
2022-11-19 11:58                     ` Eli Zaretskii
2022-11-19 12:15                       ` Philip Kaludercic
2022-11-19 15:28               ` Stefan Monnier
2022-11-19 15:36                 ` Philip Kaludercic
2022-11-19 15:46                 ` Eli Zaretskii
2022-11-19 15:26           ` Stefan Monnier

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=jwvcz9ojiwj.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    /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).