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>
Cc: "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: Mon, 10 Jan 2022 22:01:08 +0000	[thread overview]
Message-ID: <SJ0PR10MB5488899F1A5273F0F55405B6F3509@SJ0PR10MB5488.namprd10.prod.outlook.com> (raw)
In-Reply-To: <871r1jm4hf.fsf@gmail.com>

[Quoting most of this so it can be referred to
 in my reply.  Readers can skip over the long
 first quoted part, and come back to parts of
 it, if needed, when they're referred to.
 To do that, skip to "------------".]

> > Automatically loading `custom-file', if it isn't
> > loaded by the init file (and any code that file
> > loads etc.), is not a hard requirement.
> >
> > It's something that could easily be done, but it's
> > not _required_ to advance the aim of getting more
> > users aware of and using `custom-file'.
> >
> >> This means either the timing of loading that file would then
> >> be up to Emacs or we would have to add some other switch to disable
> >> automatic loading to restore user control over loading that file.
> >
> > Yes.  But I think that can be as simple as what
> > I suggested:
> >
> > 1. Automatically load `custom-file' (provided it's
> >    not the same as the init file) immediately after
> >    the init file is loaded.
> >
> >    (We already automatically load other files if
> >    they exist - site-lisp.el etc.)
> >
> > 2. Provide users with a way to inhibit automatic
> >    loading if they need/want to do that.
> >
> > (Those users who want to do everything in their
> > init file are not involved in this - they'd
> > just set `custom-file' to their init file.)
> >
> >> So already the 'simple' change proposal has added 
> >> additional complexity (albeit small).
> >
> > As I say, automatic loading isn't a requirement.
> > It's a feature.  And with #2 it's optional.
> >
> > (One way to realize #2 would be with a user
> > option.  We could discuss its default value.)
> >
> >> There could be other corner cases I've not thought of as
> >> well, especially once we add a new 'toggle' for the loading behaviour.
> >
> > If we're really worried about that, then we
> > just don't provide any such automatic loading.
> >
> > I don't expect problems, but automatic loading
> > isn't a requirement.  Nothing in the general
> > aim and proposed solutions requires it.
> >
> > Without it, users would just be responsible for
> > loading `custom-file' - like now.  Not a big
> > deal, but I think it might help users to provide
> > it (new users especially).
> >
> >> The change management aspects I referred to are perhaps a little subtle
> >> and are certainly hard to quantify. However, it is often way too easy to
> >> underestimate the impact of such change and identify what needs to be
> >> done to mitigate it. This impact can be especially hard to recognise
> >> when you are invested in the change.
> >
> > I don't disagree with that general point.
> >
> > I don't foresee any complications, but I'm
> > _not_ really invested in Emacs providing the
> > ability to automatically load `custom-file'.
> >
> >> Things which need to be considered
> >> (some of which have been mentioned) include
> >>
> >> - dealing with impact on existing users
> >> - updating documentation, including manuals, howtos, faqs etc
> >> - managing the confusion that will arise due to the amount of existing
> >>   and easily found information out there (stack overflow, reddit, wikki,
> >>   blogs, books etc) which will be out of date and will likely cause more
> >>   confusion.
> >
> > Sure.
> >
> >> Just dealing with the first one will likely result in the final solution
> >> being more complex than simply setting a default custom file value,
> >> which in turn will make the other points more substantial to deal with.
> >
> > I don't think so, but I can't prove you're wrong.
> >
> > Suppose we don't offer automatic loading.
> > If you don't load `custom-file' (from your
> > init file or in some other way) then it doesn't
> > get loaded.  End of story.
> >
> > Or suppose we offer it, but by way of a user
> > option that by default is off (no autoload).
> >
> > IOW, no change from what we do now, in this
> > respect (no autoloading of `custom-file').
> >
> > In that case, the change is just to default
> > `custom-file' to a standard location, not to
> > nil.  Now reread your paragraph of things that
> > need to be considered.  Not a big deal in this
> > case, right?
> >
> > I wouldn't be completely happy with that
> > solution, but it would still be an improvement.
> >
> > As I said, it would even be a (small)
> > improvement if Emacs would just come out and
> > recommend to users to use `custom-file',
> > instead of just warning them, in the init-file
> > template-comment, not to edit the inserted
> > generated code.
> >
> > I'd hope that we go further than that, but
> > even that would help.
> >
> >> The above are some of the reasons I think it may be misleading to
> >> characterise the proposal as something simple.
> >
> > "The proposal" is really a set/hierarchy of
> > proposals, from trivially simple, with little
> > effect (and I hope little controversy), to
> > something that includes possibly automatically
> > loading `custom-file'.
> >
> > I hope you'll agree that the mere change to
> > defaulting `custom-file' to a file name isn't
> > complicated in its implications, and it should
> > not be controversial.
> >
> > All of what would happen in that case already
> > happens, if a user sets `custom-file' to a
> > file name.  If no one loads that file, or if
> > that file remains nonexistent or empty, we're
> > in no-op land.
> >
> > Even users who only want to use their init
> > file for customizations wouldn't be impacted.
> > No-op.
> >
> >> However, I would be in support if I thought
> >> this was an actual problem needing to be addressed.
> >
> > Maybe think of it as what we have now: offering
> > `custom-file', but just making use of it a bit
> > more visible and likely.  Instead of thinking
> > "problem" and "solution", maybe just think that
> > it might help more users to take advantage of
> > `custom-file'.
> >
> >> TO me, it really does feel more like a solution in search of a problem
> >> or at the very least, a change which will result in non-trivial effort
> >> (at various levels) when there is little evidence it is really required.
> >
> > I understand that you feel that.  I think your
> > fears are unnecessary.  Take out the "automatic
> > loading" feature from your consideration, and
> > see how fearful you still are.

------------

> we seem to be mis-communicating here or I'm just not being clear enough.
> One last attempt and then I'll leave it alone.
> 
> My understanding of your suggestion is to set custom-file to some
> default location rather than nil e.g. .emacs.d/custom.el. You suggest
> that is all which is required and that no automatic loading would need
> to be added.

For some definition of "required".  See the rest of
what I wrote (which you quote above).

I certainly favor automatic loading, with an option
to prevent it (#1 and #2 above).

> I reject this as automatic loading would be absolutely
> necessary to retain existing behaviour.

Depends on what is meant by "absolutely necessary".
As I said:

  Without it, users would just be responsible for
  loading `custom-file' - like now.  Not a big
  deal, but I think it might help users to provide
  it (new users especially).

By "absolutely necessary" you appear to mean without
any users having to make any changes.

So yes, if _no user will make any changes_ then
something like automatic loading would be necessary.
Otherwise, saved customizations wouldn't get loaded.

(Is it necessary that they get loaded?  Certainly
desirable/expected.)

> If all we do is set custom-file to a default location, custom will stop
> working between sessions because nothing will load those settings. This
> significantly changes behaviour.

Indeed.  Hence the proposal to automatically
load `custom-file', if it hasn't been loaded
and it's not empty.

> To keep the same behaviour, either all
> users who now just use custom with custom-file set to nil would need to
> add a load statement OR emacs will have to automatically load that file.

Or they would need to start using `custom-file'
(which should be encouraged, without obligation
to do so).

Yes, that's it.

(Except that we could perhaps let an _explicit_
setting of `custom-file' to nil act like setting
it to the init file.)

> Requiring users add a load statement to their initialisation file to
> ensure custom settings work across sessions is a bad design and would
> impact too many existing users.

There would be no such requirement.

You prefaced your (incomplete) statement with
"To keep the same behaviour".  Clearly, if we
change default behavior then we're not keeping
the same behavior by default.

We would be _allowing_ the same behavior to be
realized.  And with very minimal effort.  And
no, users who really want to keep the same 
behavior would not need to add a load statement
anywhere.  It's enough to set `custom-file' to
the init file (or perhaps even to nil).

> If we change the default setting of custom-file from nil to a
> default file location, there will need to be code added to Emacs to load
> that file at some point in the initialisation step.

Yes.  (But load it only if it hasn't been loaded.)

> If we then also want
> to retain the user's ability to control when this file is loaded, we
> will also require a toggle to turn off that loading and allow the user
> to do it.

1. See previous - it would be loaded only if
not loaded during the load of the init file.

2. Users can load it anytime during the init
file load.  They can even load it multiple
times.

3. Users can prevent loading it automatically
(I suggested a user option or this, as well as
perhaps a command-line switch.) 

> Claiming that all you are proposing is a change to the default value for
> custom-file is inaccurate if you also want to claim no change in
> behaviour.

1. That's _not_ all I proposed.  That's all that's
strictly necessary.  But in that case, users have
a bit more responsibility.

2. I never claimed that there would be no change
in behavior.  Obviously, if we change the default
behavior we change the behavior.  What I claimed
is that (a) in many cases there will be no change
in behavior and (b) in any case users can easily
get whatever behavior they like, including the
behavior that's the default now.

To restore the behavior to what is now the default,
a user would set `custom-file' to the init file.



  reply	other threads:[~2022-01-10 22:01 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
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 [this message]
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=SJ0PR10MB5488899F1A5273F0F55405B6F3509@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).