unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Tim Cross <theophilusx@gmail.com>,
	"emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: RE: [External] : Re: Default custom file was: Re: Propose to add setup-wizard.el to ELPA
Date: Thu, 6 Jan 2022 22:09:09 +0000	[thread overview]
Message-ID: <SJ0PR10MB5488D1A4D8EE92DEFE430697F34C9@SJ0PR10MB5488.namprd10.prod.outlook.com> (raw)
In-Reply-To: <871r1k38ym.fsf@gmail.com>

> > And what if there's a `custom-set-variables',
> > `customize-set-variable', `customize-set-value',
> > `custom-save-variables', customize-save-variable,
> > `customize-save-all', `custom-save-all',
> > `custom-save-faces', `customize-save-customized',
> > or `customize-saved' in the init file?
> >
> > What if such is not in the init file but in
> > some file that's loaded by the init file?
> >
> > What if such files get loaded conditionally?
> > Are you going to analyze the code and then
> > search through all the possible source code
> > for occurrences?  What if some such code is
> > generated?
> 
> I think this is one of the more important and easily overlooked issue
> raised in this thread. I've noticed in recent times a growing use of
> the various customise functions in a programatic manner within user
> initialisation code. Such code is often spread across multiple files
> which are loaded by the user's init file at startup.
> 
> For this issue, I do have to put myself in the very conservative camp.
> I'm not convinced we have a real issue here and may be either
> creating problems that are more theoretical than actual or guilty of
> premature optimisations.
> 
> For new users, I don't think there are any real issues with the existing
> situation. Most of the issues raised seem to be more issues that arise
> once the user has become more experienced and wants to delve deeper into
> their Emacs configuration. By that point, they will typically have the
> skills to use the existing facilities to break off the custom data into
> its own file and load it at whatever point is appropriate for their
> style of configuration.
> 
> I fear that if we try to make the Emacs startup process 'smarter', we
> are likely to actually make it more frustrating for those who like to
> have fine grained control and unnoticeable by those who don't care. In
> the end, all we get is more complexity wiht little improved
> functionality.

Thanks for your input, Tim.

I have a suspicion that what you're wary of, or
objecting to, is perhaps really the automatic
loading of `custom-file' if it isn't already
loaded.  That's the only "complexity" I can
imagine you think you see.  (I don't see that
just giving `custom-file' a default value adds
complexity.)

If not - if you have a problem also with the
aim of getting more users to use `custom-file',
so as to separate Custom automatic editing of
init files (when it saves) - then what is your
critique of that aim?

(If you agree with that aim, but not with any
of the proposals to move toward it, please
make that clear too.)

To be clear, the aim is not at all "to make
the Emacs startup process 'smarter'", and not
at all to provide some kind of "optimization"
(premature or otherwise).  And I don't think
anything proposed so far does that.

The problem to try to solve - particularly
for new users or users unsure of Emacs Lisp
- is to prevent users (accidentally or with
good intentions) from messing with generated
code, and (less likely) to prevent Customize
from messing with user code.  That's all.

Is that a purely "theoretical" problem?

As I asked earlier:

 The default behavior of Emacs now is to have
 a single file that mixes user coding and
 Custom coding.  Why is that a great idea?
                 ^^^^^^^^^^^^^^^^^^^^^^^^

No one has answered that.  Forget, for a
second (and no, I'm not saying this isn't
important), that there is habit & legacy.

Just imagine that you are designing from
scratch.  Would you really want Customize
(or any other code generation) to write
to a file that users code also?

We don't do that for any other generated
Elisp code.  We write all such code to
dedicated, separate files - not files
that users code in.  (We don't _prevent_
users from editing such files, of course.)

Why do we do that?  Premature optimization?
Paranoid theoretical problem-worrying?

___

In order of decreasing priority (to me):

1. Let's agree on the problem, potential at
   least.

2. Given the problem, let's agree that, in
   some way, we want to prevent mixing user
   coding with automatic coding.

3. Given that aim, let's agree that Customize
   should - by default - save to a different
   file from a user init file.

4. Given that goal, how do we get there?
___

On the road from 1 to 4, how far do you get?

Personally, I get as far as #4.  I proposed
some concrete changes as solution, but #4 is
an open question.

Possible solutions include:

a. At a minimum (I think) explicitly encourage
   users - particularly new users - to define
   `custom-file', and load it to get their
   saved settings.

b. What I proposed, which I won't repeat but I
   can summarize as `custom-file'-default-value.

Please note that even poor (a) has never been
done: we don't encourage use of `custom-file'.

I don't think doing nothing is good (see 1-3).
And I don't think that (a) alone (recommending
use of `custom-file') is sufficient.



  reply	other threads:[~2022-01-06 22:09 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-03  6:13 Default custom file was: Re: Propose to add setup-wizard.el to ELPA Pedro Andres Aranda Gutierrez
2022-01-03 14:47 ` Robert Pluim
2022-01-04  6:13   ` Pedro Andres Aranda Gutierrez
2022-01-04  6:45     ` tomas
2022-01-04  7:29       ` Stefan Kangas
2022-01-04 10:10         ` tomas
2022-01-04 16:44           ` [External] : " Drew Adams
2022-01-04 17:09             ` tomas
2022-01-04 17:30               ` Drew Adams
2022-01-04 18:03                 ` tomas
2022-01-04 18:27                   ` Drew Adams
2022-01-04 18:41                     ` tomas
2022-01-05  9:14                   ` Stefan Kangas
2022-01-04 16:44       ` Drew Adams
2022-01-04  7:14     ` Stefan Kangas
2022-01-04 10:11       ` Robert Pluim
2022-01-04 10:30         ` Po Lu
2022-01-04 10:46           ` Robert Pluim
2022-01-04 10:59             ` Po Lu
2022-01-04 13:02               ` Robert Pluim
2022-01-04 11:11         ` Stefan Kangas
2022-01-04 12:23           ` LdBeth
2022-01-04 16:44         ` [External] : " Drew Adams
2022-01-04 13:08       ` Eli Zaretskii
2022-01-04 15:17         ` Stefan Kangas
2022-01-04 15:48           ` Robert Pluim
2022-01-04 15:57             ` Pedro Andres Aranda Gutierrez
2022-01-04 15:54           ` Pedro Andres Aranda Gutierrez
2022-01-04 16:44         ` [External] : " Drew Adams
2022-01-04 16:49           ` Robert Pluim
2022-01-04 17:14             ` Drew Adams
2022-01-04 17:32               ` Pedro Andres Aranda Gutierrez
2022-01-04 17:45                 ` Drew Adams
2022-01-04 17:55                 ` Robert Pluim
2022-01-04 18:24                   ` Pedro Andres Aranda Gutierrez
2022-01-04 17:30             ` Eli Zaretskii
2022-01-04 17:35               ` Pedro Andres Aranda Gutierrez
2022-01-04 17:47                 ` Eli Zaretskii
2022-01-04 17:57                   ` Robert Pluim
2022-01-05  9:14                     ` Stefan Kangas
2022-01-05  1:01             ` Po Lu
2022-01-05  7:03               ` Pedro Andres Aranda Gutierrez
2022-01-05  7:10                 ` Pedro Andres Aranda Gutierrez
2022-01-05  7:22                 ` Po Lu
2022-01-05  7:47                   ` Drew Adams
2022-01-05  7:59                     ` Po Lu
2022-01-05  9:17                       ` LdBeth
2022-01-05  9:26                         ` Robert Pluim
2022-01-05 10:54                           ` Colin Baxter 😺
2022-01-05 11:24                             ` Po Lu
2022-01-05 11:45                             ` Pedro Andres Aranda Gutierrez
2022-01-05 12:09                               ` Colin Baxter 😺
2022-01-05 13:04                               ` Po Lu
2022-01-05 19:10                                 ` Drew Adams
2022-01-05 19:02                               ` Drew Adams
2022-01-05 19:13                                 ` Eli Zaretskii
2022-01-05 19:36                                   ` Drew Adams
2022-01-05  9:35                         ` Po Lu
2022-01-05  9:58                           ` Pedro Andres Aranda Gutierrez
2022-01-05 10:58                             ` xenodasein--- via Emacs development discussions.
2022-01-05 12:09                           ` LdBeth
2022-01-05 12:57                             ` Po Lu
2022-01-05 13:06                         ` Eli Zaretskii
2022-01-05 15:58                           ` Pedro Andres Aranda Gutierrez
2022-01-06  0:37                             ` Po Lu
2022-01-06  7:21                               ` Pedro Andres Aranda Gutierrez
2022-01-06  7:23                                 ` Po Lu
2022-01-06  7:33                                   ` Pedro Andres Aranda Gutierrez
2022-01-06  7:39                                     ` Po Lu
2022-01-06  8:58                                   ` Eli Zaretskii
2022-01-06  9:40                                     ` Po Lu
2022-01-06  9:45                                       ` Robert Pluim
2022-01-06 12:28                                         ` Colin Baxter 😺
2022-01-06 17:20                                           ` Drew Adams
2022-01-06 17:19                                     ` Drew Adams
2022-01-06 20:11                                       ` Tim Cross
2022-01-06 22:09                                         ` Drew Adams [this message]
2022-01-06 22:33                                           ` Tim Cross
2022-01-07  4:05                                             ` Drew Adams
2022-01-07  7:13                                               ` Tim Cross
2022-01-07 17:18                                                 ` Drew Adams
2022-01-08  0:29                                                   ` Tim Cross
2022-01-10 22:01                                                     ` Drew Adams
2022-01-11  6:23                                                       ` Tim Cross
2022-01-11 12:01                                                         ` xenodasein--- via Emacs development discussions.
2022-01-11 12:10                                                           ` Po Lu
2022-01-11 12:25                                                             ` xenodasein--- via Emacs development discussions.
2022-01-11 12:42                                                               ` tomas
     [not found]                                                                 ` <dbc302f1-a769-24d4-294d-e291b015229b@mnet-mail.de>
     [not found]                                                                   ` <Yd2W5BaccjjbJ6+q@tuxteam.de>
2022-01-11 15:23                                                                     ` xenodasein--- via Emacs development discussions.
     [not found]                                                                       ` <Yd2kAPRoYd37qCaN@tuxteam.de>
2022-01-11 16:05                                                                         ` xenodasein--- via Emacs development discussions.
2022-01-11 16:11                                                                           ` tomas
2022-01-12  0:46                                                               ` Po Lu
2022-01-11 12:35                                                           ` Tim Cross
2022-01-11 15:05                                                             ` xenodasein--- via Emacs development discussions.
2022-01-11 20:57                                                               ` Tim Cross
2022-01-11 13:27                                                           ` Jean Louis
2022-01-07  0:52                                           ` Po Lu
2022-01-07  4:09                                             ` Drew Adams
2022-01-07  4:46                                               ` Po Lu
2022-01-07  5:58                                                 ` Drew Adams
2022-01-07  7:04                                                   ` Po Lu
2022-01-07 18:06                                                     ` Drew Adams
2022-01-08  0:54                                                       ` Po Lu
2022-01-08  3:13                                                         ` LdBeth
2022-01-08  3:26                                                           ` Po Lu
2022-01-08  7:19                                                           ` Eli Zaretskii
2022-01-08 13:32                                                             ` Add list of useful settings to setup wizard was: Re: Default custom file LdBeth
2022-01-08 14:12                                                               ` Eli Zaretskii
2022-01-08 14:50                                                                 ` LdBeth
2022-01-08 14:39                                                               ` Stefan Kangas
2022-01-08 15:30                                                                 ` LdBeth
2022-01-08 15:05                                                               ` John Yates
2022-01-08  8:03                                                         ` [External] : Re: Default custom file was: Re: Propose to add setup-wizard.el to ELPA tomas
2022-01-08  9:38                                                           ` Po Lu
2022-01-08 10:39                                                             ` xenodasein--- via Emacs development discussions.
2022-01-08 11:14                                                               ` Po Lu
2022-01-08 12:35                                                                 ` xenodasein--- via Emacs development discussions.
2022-01-08 12:44                                                                   ` Po Lu
2022-01-08 12:59                                                                     ` xenodasein--- via Emacs development discussions.
2022-01-08 13:16                                                                       ` Po Lu
2022-01-08 13:24                                                                         ` xenodasein--- via Emacs development discussions.
2022-01-08 13:33                                                                           ` Po Lu
2022-01-08 13:44                                                                             ` xenodasein--- via Emacs development discussions.
2022-01-08 14:32                                                                               ` tomas
2022-01-08 14:46                                                                                 ` xenodasein--- via Emacs development discussions.
2022-01-08 17:17                                                                                   ` Corwin Brust
2022-01-08 18:26                                                                                     ` xenodasein--- via Emacs development discussions.
     [not found]                                                                                       ` <MtgbBbx--B-2@tutanota.de>
     [not found]                                                                                         ` <MtqtDSN--3-2@tutanota.de>
2022-01-20 14:25                                                                                           ` Corwin Brust
2022-01-10 19:20                                                                                     ` [External] : " Drew Adams
2022-01-09  0:48                                                                               ` Po Lu
2022-01-08 13:35                                                                           ` =?gb18030?B?u9i4tKO6IFtFeHRlcm5hbF0gOiBSZTogRGVmYXVsdCBjdXN0b20gZmlsZSB3YXM6IFJlOiBQcm9wb3NlIHRvIGFkZCBzZXR1cC13aXphcmQuZWwgdG8gRUxQQQ==?= =?gb18030?B?emVyb2xlZQ==?=
2022-01-08 14:28                                                                       ` [External] : Re: Default custom file was: Re: Propose to add setup-wizard.el to ELPA tomas
2022-01-08 14:48                                                                         ` xenodasein--- via Emacs development discussions.
2022-01-08 11:42                                                               ` tomas
2022-01-08 12:28                                                                 ` xenodasein--- via Emacs development discussions.
2022-01-10 19:17                                                           ` Drew Adams
2022-01-10 22:02                                                         ` Drew Adams
2022-01-12  4:55                                                           ` Richard Stallman
2022-01-12  8:58                                                             ` xenodasein--- via Emacs development discussions.
2022-01-12 13:18                                                               ` Eli Zaretskii
2022-01-12  5:09                                                           ` Po Lu
2022-01-07  0:49                                       ` Po Lu
2022-01-07  4:09                                         ` Drew Adams
2022-01-07  4:42                                           ` Po Lu
2022-01-07  6:38                                             ` Pedro Andres Aranda Gutierrez
2022-01-07  8:43                                               ` Robert Pluim
2022-01-07  9:38                                                 ` Pedro Andres Aranda Gutierrez
2022-01-07 17:17                                                 ` Drew Adams
2022-01-07 17:12                                               ` Drew Adams
2022-01-06 17:19                                   ` Drew Adams
2022-01-07  0:48                                     ` Po Lu
2022-01-07  4:09                                       ` Drew Adams
2022-01-07  6:18                                         ` tomas
2022-01-07 18:06                                           ` Drew Adams
2022-01-06 16:17                                 ` Drew Adams
2022-01-05  7:43                 ` Drew Adams
2022-01-04 16:43     ` Drew Adams

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=SJ0PR10MB5488D1A4D8EE92DEFE430697F34C9@SJ0PR10MB5488.namprd10.prod.outlook.com \
    --to=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=theophilusx@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).