Subject: bug#7236: 24.0.50; make-local-hook missing

From: Stefan Monnier <[email-masked]>
Date: Tue, 19 Oct 2010 12:32:12 -0400

>> No: m-l-h is also unnecessary when add-hook is called with a nil LOCAL
>> argument.  I know of no case where calling make-local-hook makes
>> a difference in Emacs>=21.

> In Emacs 20 also there is a LOCAL optional arg to add-hook.

Yes, but its semantics is slightly different: it means "put it on the
local part of the hook, but only if that local part exists".  I.e. it's
only effective if make-local-hook has been called before.
I changed this in Emacs-21 (it an incompatible change, but didn't cause
any bug report AFAIR) which made make-local-hook a NOP.

> Should all code for Emacs 20-24 remove make-local-hook calls and
> instead add `t' to an existing call to add-hook?

No.

If the LOCAL arg is nil, add-hook will only affect the global part of
the hook, regardless of whether make-local-hook has been called.

        Stefan