Subject: bug#47992: 27; 28; Phase out use of `equal` in `add-hook`, `remove-hook`

From: Richard Stallman <[email-masked]>
Date: Mon, 05 Jul 2021 21:48:11 -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. ]]]

People are proposing a lot of work on a little wrinkle that isn't worth
much effort.  There are other changes we could make that would
really help users do editing.

Here's an easy way to help users avoid such collisions: to say
they should include a name in each anonymous lambda that they put on a
hook in their init files -- a name based on the user's name.

Adding a name to a lambda is easy.  Just write the symbol after the
argument list (and doc string and interactive spec, if any), like
this:

   (lambda () rms-init-3 (glum-mode 1))

The mame will distinguish it from any otherwise-identical function
such as

   (lambda () j-r-gensym (glum-mode 1))

because they will not be equal.

Thus, the only change needed is in documentation.

-- 
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)