Hi, Leo. Thanks for the suggestion. It's my understanding that the convention for hooks to receive no arguments and for more complicated functions to be used only when necessary. From the Emacs info page 48.2.2 Most hooks are "normal hooks". This means that when Emacs runs the hook, it calls each hook function in turn, with no arguments. We have made an effort to keep most hooks normal, so that you can use them in a uniform way. Every variable whose name ends in `-hook' is a normal hook. A few hooks are "abnormal hooks". Their names end in `-functions', instead of `-hook' (some old code may also use the deprecated suffix `-hooks'). What makes these hooks abnormal is the way its functions are called--perhaps they are given arguments, or perhaps the values they return are used in some way. For example, `find-file-not-found-functions' is abnormal because as soon as one hook function returns a non-`nil' value, the rest are not called at all (*note Visiting::). The documentation of each abnormal hook variable explains how its functions are used. I'd like to keep things as simple as possible. I think two normal hooks are simpler than one abnormal hook. Brian On Sun, Nov 17, 2013 at 11:11 PM, Leo Liu wrote: > On 2013-11-18 01:50 +0800, Brian Jenkins wrote: > > People will probably find other handy uses for these hooks. > > How about name it frame-focus-hook? and pass `t' to hook functions when > gained focus and `nil' when lost focus? > > Leo >