GNU bug report logs - #23933
25.1.50; Run a buffer-local hook with mapc

Previous Next

Package: emacs;

Reported by: Tino Calancha <tino.calancha <at> gmail.com>

Date: Sun, 10 Jul 2016 10:19:02 UTC

Severity: minor

Found in version 25.1.50

Done: Tino Calancha <tino.calancha <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: kifer <at> cs.stonybrook.edu, 23933 <at> debbugs.gnu.org, tino.calancha <at> gmail.com
Subject: bug#23933: 25.1.50; Run a buffer-local hook with mapc
Date: Sun, 10 Jul 2016 18:55:21 +0300
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: Tino Calancha <tino.calancha <at> gmail.com>,  23933 <at> debbugs.gnu.org,  kifer <at> cs.stonybrook.edu
> Date: Sun, 10 Jul 2016 11:18:56 -0400
> 
> >> -  (mapc #'funcall after-quit-hook-internal)
> >> +  ;; after-quit-hook-internal is buffer-local; see `ediff-filegroup-action'.
> >> +  (mapc (lambda (f) (or (eq f t) (funcall f))) after-quit-hook-internal)
> >> ))
> > Thanks, but why do we use mapc to run hooks?  We used to have
> > run-hooks there.
> 
> after-quit-hook-internal is a variable, not a hook.

Then how come it includes t in its value?

> A hook is a symbol whose symbol-value slot holds a list of functions;
> this happens to match a dynamically-bound variable, but not
> a lexically-bound variable.

So you are saying we should convert that variable to a hook?




This bug report was last modified 9 years and 4 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.