On 2011-06-19 22:07 UT, Adam Sjøgren wrote: AS> On Sun, 19 Jun 2011 18:49:58 +0200, Philipp wrote: >> +(fset 'gnus-demon-scan-news-1 + (apply-partially >> 'gnus-demon-scan-news 1)) +(fset 'gnus-demon-scan-news-2 + >> (apply-partially 'gnus-demon-scan-news 2)) AS> [...snipped the last 7...] AS> That looks like...there must be a better way than such repetition? >> (gnus-demon-add-handler 'gnus-demon-scan-news-1 121 10) AS> Maybe you could do something like a lambda here instead?Along the AS> lines of AS> (gnus-demon-add-handler '(lambda () (gnus-demon-scan-news 1)) 121 AS> 10) AS> or something? Using lambda-forms on timers has the same problem as their usage on hooks, they're a pain to deal with once you added them. Simple overriding or removing them fails. Evaluating gnus-demon-add-handler several times results in a new timer getting added every time. #+begin_src emacs-lisp (gnus-demon-add-handler (lambda () (message "foo")) 8 3) ;; comparison with `eq' fails with current code: (gnus-demon-remove-handler (lambda () (message "foo"))) #+end_src Then again, this could be easily fixed, which would certainly make sense, no matter if the fsets are provided or not: