Subject: bug#21695: [External] : bug#21695: 25.0.50; Change most occurrences of `setq' in Emacs manual to `customize-set-variable'? Really?

From: Richard Stallman <[email-masked]>
Date: Sat, 04 Sep 2021 23:42:46 -0400

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  >   What was suggested is that for Lisp use
  > it's appropriate to use `customize-set-variable',
  > not `setq'.

Yes, that was the suggestion that I wrote to oppose.
I claim that using setq is valid and reliable in nearly all cases,
so the cost in inconvenience of that suggestion
would outweigh the benefit.

  > I have a feeling that most of those 462 with :set actually require
  > that people use customize-set-variable to set them in the init file.

I accidentally omitted "don't" here.  Sorry.  It should say

  > I have a feeling that most of those 462 with :set don't actually require
  > that people use customize-set-variable to set them in the init file.

  > > I suspect that, for most of them, :set is meant to handle the case
  > > where you change the setting once the feature is already in use.

  > Why do you suspect that?

Because all uses of the variable are in the same file that contains
the defcustom.  When .emacs is running, the variable is not defined,

We designed Customize to handle the case where the variable has
already been set when the defcustom is executed.  For these variables,
there should be no problem, even if the variable uses :set.

  >    And what difference does
  > it make when (or why) you change the value?

The issue was defined that way.  The case we are talking about is
where .emacs sets the variable and doesn't use
`customize-set-variable' to do it.

There may be a real problem with a few variables.  I can't be sure
there isn't.  But it will be just a few variables -- those that use
:set and _are already defined_ when .emacs runs.

This means they are variables that have a special, important role in
Emacs, more important than customizing some Lisp library.  There are
not many of these which use :set.

And perhaps not even all of those variables will have an actual
problem.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)