Avoid calling a hook function per summary line.
authorLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Fri, 10 Sep 2010 16:26:01 +0000 (18:26 +0200)
committerLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Fri, 10 Sep 2010 16:26:01 +0000 (18:26 +0200)
* gnus-sum.el (gnus-summary-update-hook): Change default to nil, to
avoid running a hook per line, since this takes a lot of time,
profiling shows.
(gnus-summary-prepare-threads): Call `gnus-summary-highlight-line'
directly if gnus-visual-p is true.

lisp/ChangeLog
lisp/gnus-sum.el

index 7cca569..6ff20b6 100644 (file)
@@ -1,3 +1,11 @@
+2010-09-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-summary-update-hook): Change default to nil, to
+       avoid running a hook per line, since this takes a lot of time,
+       profiling shows.
+       (gnus-summary-prepare-threads): Call `gnus-summary-highlight-line'
+       directly if gnus-visual-p is true.
+
 2010-09-10  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-start.el (gnus-read-active-for-groups): Check only subscribed
index a99426a..1d86194 100644 (file)
@@ -985,8 +985,7 @@ This hook is not called from the non-updating exit commands like `Q'."
   :group 'gnus-various
   :type 'hook)
 
-(defcustom gnus-summary-update-hook
-  (list 'gnus-summary-highlight-line)
+(defcustom gnus-summary-update-hook nil
   "*A hook called when a summary line is changed.
 The hook will not be called if `gnus-visual' is nil.
 
@@ -5363,7 +5362,9 @@ or a straight list of headers."
                'gnus-number number)
              (when gnus-visual-p
                (forward-line -1)
-               (gnus-run-hooks 'gnus-summary-update-hook)
+               (gnus-summary-highlight-line)
+               (when gnus-summary-update-hook
+                 (gnus-run-hooks 'gnus-summary-update-hook))
                (forward-line 1))
 
              (setq gnus-tmp-prev-subject simp-subject)))