emacs-devel
[Top][All Lists]
Advanced

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

Re: Propose to add setup-wizard.el to ELPA


From: xenodasein
Subject: Re: Propose to add setup-wizard.el to ELPA
Date: Sun, 2 Jan 2022 17:43:59 +0100 (CET)

https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg00136.html
From: Stefan Kangas
> I don't think you will get a measurable speedup from running `setq'
> instead of `customize-set-variable' if the relevant defcustom does not
> have an :initialize function.
>
> The reason I use `setq' in my init is just that it's less typing.
>
> FWIW, I'd appreciate if we had a
> (defalias 'setopt #'customize-set-variable)

Using customize-set-variable from Elisp is simply a hack, IIRC
it has weird unwanted effects like when saving customizations
from interface, it writes everything back into managed
custom-set-variables.  It also uses 'user theme, my workaround
was just creating a theme for customizations that need computed
results.  It is also really slow in comparison to setq, using it
continuously seem to make difference, but of course it depends on
what user considers slow/bad.

https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg00135.html
From: Stefan Kangas
> xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
> writes:
>
> > FWIW I completely agree with this.  Custom system is a good idea,
> > and it should exist; however it has a very long way yet to achieve
> > it's purpose.  It is nowhere near JetBrains software's isolation
> > of Java from user.  It needs a lot more work.  It is an unfinished system.
>
> Agreed, but I'd invite you to be more concrete.  If you are proposing a
> redesign, fine, but we'd need volunteers to do that.  If you have
> specific proposals for how to improve customize, they are also welcome.

I didn't read a majority part of the code, but a complete redesign doesn't
seem necessary.  It simply needs a bit more love.  A simple addition
example:

(defmacro xdn-csetq (variable value)
  `(funcall (or (get ',variable 'custom-set)
                'set-default)
            ',variable ,value))

I agree my takes on Customize so far has been low-effort.  I'd be happy to
invest in more time into looking up more concrete examples for improvement
if:
- Someone is already working on it or planning to and need feedback
- An entry of TODO/task/plan is looked into being written
- A maintainer is looking for specific feedback

https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg00138.html
From: Eli Zaretskii
> Improving Customize (or any other major Emacs infrastructure) is
> always welcome, of course.  But I'd like to point out a potential
> confusion or misunderstanding between the participants in this thread:
> I think people might mix Customize's user-facing interface -- the
> forms, the buttons, the menus in Custom buffers, etc. -- with calling
> Customize functions from Lisp and with its implementation code.  When
> people say here they think Custom has a long way to achieve its
> purpose, which of those two they allude to?

IMHO both aspects.  Interface is in better shape than trying to use
customize from Elisp though.  Interface could use aesthetic improvements,
but the more significant issue is it's coverage of how many kinds of
customizations a user can do from it, without touching Elisp.  This
is related to package management also, especially for packages outside
ELPA.

> Customize was designed to be easy on the user from the UI POV, it
> wasn't designed to be easy from the implementation POV.  Nor was it
> designed to be easy to understand its Lisp forms, because the
> assumption was that people who'd use Customize will rarely if ever
> look at the forms it produces when you save customizations.

Being easier to understand would help with smaller contributions.
What I should have said instead is that it is hard to modify, being
also tangled with theming system, in comparison to most other packages.

A more concrete improvement would be to make it somehow more
plesant to work with, when using Elisp only, or to completely isolate it
from needing to interact with Elisp.  defcustom could be in C level?

Basically people shouldn't have reasons to write these types of
complaints:
https://www.emacswiki.org/emacs/CustomizingAndSaving#h5o-3

This is a lot less significant problem than making it more comprehensive
for non-programmers.

Thanks.




reply via email to

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