unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
To: eliz@gnu.org, stefankangas@gmail.com
Cc: emacs-devel@gnu.org
Subject: Re: Propose to add setup-wizard.el to ELPA
Date: Sun, 2 Jan 2022 17:43:59 +0100 (CET)	[thread overview]
Message-ID: <MsQfHFF--3-2@tutanota.de> (raw)
In-Reply-To: <834k6mdu7q.fsf@gnu.org>

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	other threads:[~2022-01-02 16:43 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-02  2:07 Propose to add setup-wizard.el to ELPA Yuan Fu
2022-01-02  2:37 ` Po Lu
2022-01-02  3:02   ` Yuan Fu
2022-01-02  3:22     ` Po Lu
2022-01-02  5:51       ` Yuan Fu
2022-01-02  6:30         ` Po Lu
2022-01-02  7:58           ` Yuan Fu
2022-01-02  8:07             ` Po Lu
2022-01-02  9:07               ` Yuan Fu
2022-01-02  9:22                 ` xenodasein--- via Emacs development discussions.
2022-01-02  9:45                   ` Eduardo Ochs
2022-01-02  9:45                   ` Po Lu
2022-01-02 10:09                     ` Eduardo Ochs
2022-01-02 10:15                       ` Po Lu
2022-01-02 10:25                         ` Eduardo Ochs
2022-01-02 10:34                           ` xenodasein--- via Emacs development discussions.
2022-01-02 10:52                             ` Eli Zaretskii
2022-01-02 10:57                               ` xenodasein--- via Emacs development discussions.
2022-01-02 11:14                                 ` Eli Zaretskii
2022-01-02 11:30                                   ` xenodasein--- via Emacs development discussions.
2022-01-02 11:38                                     ` Eli Zaretskii
2022-01-02 12:01                                     ` Po Lu
2022-01-02 11:31                                   ` xenodasein--- via Emacs development discussions.
     [not found]                             ` <CADs++6jtFBah1hhsuN6T_-kFyjc_pNmmVKA+16vOWa8OctOZLw@mail.gmail.com>
2022-01-02 11:02                               ` xenodasein--- via Emacs development discussions.
2022-01-02 11:17                             ` Po Lu
2022-01-02 11:36                               ` xenodasein--- via Emacs development discussions.
2022-01-02 12:03                                 ` Po Lu
2022-01-02 15:27                                 ` Stefan Kangas
     [not found]                               ` <MsPZqa9--3-2@tutanota.de-MsP_1xO----2>
2022-01-02 11:57                                 ` xenodasein--- via Emacs development discussions.
2022-01-02 12:05                                   ` Po Lu
2022-01-02 15:27                                   ` Stefan Kangas
2022-01-02 15:37                                     ` Eli Zaretskii
2022-01-02 16:43                                       ` xenodasein--- via Emacs development discussions. [this message]
2022-01-02 17:32                                         ` Stefan Kangas
2022-01-02 18:51                                         ` FW: [External] : " Drew Adams
2022-01-02 19:07                                           ` xenodasein--- via Emacs development discussions.
2022-01-02 21:29                                             ` Drew Adams
2022-01-02 22:14                                               ` Stefan Kangas
2022-01-03  6:42                                                 ` Sean Whitton
2022-01-03  7:02                                                   ` Stefan Kangas
2022-01-03  8:19                                                     ` xenodasein--- via Emacs development discussions.
2022-01-03  9:27                                                       ` Po Lu
2022-01-03  9:55                                                         ` xenodasein--- via Emacs development discussions.
2022-01-03 10:10                                                           ` Po Lu
2022-01-03 10:21                                                             ` xenodasein--- via Emacs development discussions.
2022-01-03 10:53                                                               ` Po Lu
2022-01-03 11:07                                                                 ` xenodasein--- via Emacs development discussions.
2022-01-03 11:25                                                                   ` Po Lu
2022-01-03 11:32                                                                     ` xenodasein--- via Emacs development discussions.
2022-01-03 12:13                                                                       ` Po Lu
2022-01-03 12:20                                                                         ` xenodasein--- via Emacs development discussions.
2022-01-03 12:32                                                                           ` Po Lu
2022-01-03 12:44                                                                             ` xenodasein--- via Emacs development discussions.
2022-01-03 12:55                                                                               ` Po Lu
2022-01-03 13:24                                                                                 ` xenodasein--- via Emacs development discussions.
2022-01-03 15:15                                                                                 ` xenodasein--- via Emacs development discussions.
2022-01-03 16:04                                                       ` Drew Adams
2022-01-04 21:19                                                     ` Sean Whitton
2022-01-04 21:28                                                       ` Drew Adams
2022-01-04 22:38                                                         ` Sean Whitton
2022-01-04 22:51                                                           ` Drew Adams
2022-01-05  5:28                                                         ` tomas
2022-01-05  7:43                                                           ` Drew Adams
2022-01-05  8:13                                                             ` tomas
2022-01-07 10:34                                                     ` Jean Louis
2022-01-03 16:03                                                   ` Drew Adams
2022-01-03 16:05                                                   ` Stefan Monnier
2022-01-04  1:50                                                     ` Yuan Fu
2022-01-04  2:53                                                       ` Po Lu
2022-01-04  4:13                                                       ` Stefan Monnier
2022-01-04  4:30                                                         ` Yuan Fu
2022-01-04  6:10                                                           ` Stefan Monnier
2022-01-04 15:04                                                       ` Lars Ingebrigtsen
2022-01-04 21:25                                                         ` Sean Whitton
2022-01-05  0:58                                                           ` Po Lu
2022-01-05 15:35                                                           ` Lars Ingebrigtsen
2022-01-06  6:32                                                             ` Sean Whitton
2022-01-03  0:42                                         ` Po Lu
2022-01-02 18:47                                       ` [External] : " Drew Adams
2022-01-02 11:58                             ` Philip Kaludercic
2022-01-07 10:09                     ` Jean Louis
2022-01-02 18:47                   ` [External] : " Drew Adams
2022-01-02  9:41                 ` Po Lu
2022-01-02 17:18                   ` Yuan Fu
2022-01-02 18:47                     ` [External] : " Drew Adams
2022-01-07 10:02               ` Jean Louis
2022-01-07 10:50                 ` Po Lu
2022-01-07 12:11                 ` Eli Zaretskii
2022-01-09 22:54                   ` Yuan Fu
2022-01-10  4:15                   ` Jean Louis
2022-01-10 15:45                     ` [External] : " Drew Adams
2022-01-10 17:24                     ` Eli Zaretskii
2022-01-11  4:47                       ` Jean Louis
2022-01-11  4:51                     ` Richard Stallman
2022-01-02  7:55 ` Eli Zaretskii
2022-01-02  8:07   ` Yuan Fu
2022-01-02 15:42     ` Stefan Kangas
2022-01-02 17:26       ` Yuan Fu
2022-01-02 17:36         ` xenodasein--- via Emacs development discussions.
     [not found]         ` <MsQrOAf--J-2@tutanota.de-MsQrQR2----2>
2022-01-02 17:55           ` xenodasein--- via Emacs development discussions.
2022-01-02 18:50         ` Stefan Kangas
2022-01-02 21:14           ` Yuan Fu
2022-01-03  0:45             ` Po Lu
2022-01-03  0:59               ` Yuan Fu
2022-01-03  1:02             ` Stefan Kangas
2022-01-03  9:12             ` Joost Kremers
2022-01-03 12:49               ` Eli Zaretskii
2022-01-03 13:00                 ` Po Lu
2022-01-03 19:30                 ` Joost Kremers
2022-01-02  8:07   ` Po Lu
2022-01-02 15:23     ` nanjunjie
2022-01-03  8:28       ` Philip Kaludercic
2022-01-04 16:09         ` Nan JunJie
2022-01-04 19:45           ` Philip Kaludercic
2022-01-02 12:02 ` Philip Kaludercic
2022-01-07  9:58 ` Jean Louis
  -- strict thread matches above, loose matches on Subject: below --
2022-01-02 15:46 Simon Pugnet
2022-01-02 17:26 Simon Pugnet
2022-01-02 18:49 ` Stefan Kangas

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=MsQfHFF--3-2@tutanota.de \
    --to=emacs-devel@gnu.org \
    --cc=eliz@gnu.org \
    --cc=stefankangas@gmail.com \
    --cc=xenodasein@tutanota.de \
    /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).