From 82cc1f4fda19a635cc29577a4da051cf3e062afe Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Mon, 4 Sep 2023 21:28:33 +0200 Subject: [PATCH] Revert use of seq-count in shr-count MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * lisp/net/shr.el (shr-count): Prefer handwritten code to using 'seq-count', as it's more performant. Problem reported by Mattias Engdegård . --- lisp/net/shr.el | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 84033c31ef4..645e1cc51e5 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -2617,10 +2617,13 @@ flags that control whether to collect or render objects." columns)) (defun shr-count (dom elem) - (seq-count (lambda (sub) - (and (not (stringp sub)) - (eq (dom-tag sub) elem))) - (dom-children dom))) + ;; This is faster than `seq-count', and shr can use it. + (let ((i 0)) + (dolist (sub (dom-children dom)) + (when (and (not (stringp sub)) + (eq (dom-tag sub) elem)) + (setq i (1+ i)))) + i)) (defun shr-max-columns (dom) (let ((max 0) -- 2.39.5