all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
To: drew.adams@oracle.com
Cc: emacs-devel@gnu.org
Subject: Re: Have Customize always use `custom-file`
Date: Mon, 3 Jan 2022 19:31:01 +0100 (CET)	[thread overview]
Message-ID: <MsWCMpp--7-2@tutanota.de> (raw)
In-Reply-To: <SJ0PR10MB548892AD68EB8094ADAF5AE3F3499@SJ0PR10MB5488.namprd10.prod.outlook.com>

Jan 3, 2022, 20:55 by drew.adams@oracle.com:

>> > For problems:
>> >
>> https://urldefense.com/v3/__https://stackoverflow.com/questions/32693757/ema
>> cs-package-customization-and-
>> autoloads__;!!ACWV5N9M2RV99hQ!ch4K0byKujWHfMCY7DyWs5dx-
>> 3h5iPQestwjvN1CHmMk0tDfWAo_lOk7FaJddxMS$
>>
>> Sorry for nonfree link.  TLDR: Stefan mentions existence quirks and corner
>> cases on some interactions of autoloading and Customize.  Experto credite.
>>
>
> As I said, I answered the question posed at that link,
> there.
>

Oh, I've read it, didn't want to imply otherwise.  I sent the correction
for others.  I used emacs-devel as To:, did I make a mail mistake?


> What the user asking that question did was reasonable.
>
> Users can control the behavior.  If you put a defcustom
> sexp in an autoloads file, then you need to know, and
> perhaps pay attention to, when that file gets loaded.
>
> There's nothing mystical about this.  The behavior of
> a defcustom sexp, like any other Lisp code, can depend
> on code that's been previously evaluated (e.g. loaded).
>
> That applies to a defcustom that's autoloaded as much
> as to one that's loaded/evaluated in some other way.
>
> If a defcustom expects things to exist, or things to
> have happened already, when it's evaluated, then you
> need to make sure those things exist or have happened. 
>
> Stefan's advice to not autoload defcustom sexps is
> perfectly fine to follow.  It can also be fine to
> autoload some defcustoms - but in that case you of
> course need to pay attention to evaluation/load order
> etc.
>
> Emacs Lisp gives you plenty of rope to hang yourself
> with.  You're not obliged to hang yourself, however.
>

I stumbled upon that post when my hand got burned from messing with
manual packages, customize, and autoloads.  I understand your perspective,
but you're basically an Emacs legend.  For me this was yet another set
of pitfalls to dance around, caused by a package whose main purpose is
to make life easier for n00bs.




  reply	other threads:[~2022-01-03 18:31 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-03 17:55 Have Customize always use `custom-file` Drew Adams
2022-01-03 18:31 ` xenodasein--- via Emacs development discussions. [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-01-03 16:15 Drew Adams
2022-01-03 16:20 ` xenodasein--- via Emacs development discussions.
2022-01-03 16:13 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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MsWCMpp--7-2@tutanota.de \
    --to=emacs-devel@gnu.org \
    --cc=drew.adams@oracle.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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.