From 3624e9bd409075d4f78b240ebdb356f93fd9c3e4 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Sun, 29 Oct 2023 01:40:25 +0200 Subject: [PATCH] Prefer seq-filter in hanja-util.el Benchmarking shows seq-filter to be ~30% faster on this machine. * lisp/language/hanja-util.el (hanja-filter): Make into obsolete alias for 'seq-filter'. Update single caller. --- lisp/language/hanja-util.el | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/lisp/language/hanja-util.el b/lisp/language/hanja-util.el index be0364b1c23..b5ef9230d27 100644 --- a/lisp/language/hanja-util.el +++ b/lisp/language/hanja-util.el @@ -6479,11 +6479,7 @@ character. This variable is initialized by `hanja-init-load'.") map) "Keymap for Hanja (Korean Hanja Converter).") -(defun hanja-filter (condp lst) - "Construct a list from the elements of LST for which CONDP returns true." - (delq - nil - (mapcar (lambda (x) (and (funcall condp x) x)) lst))) +(define-obsolete-function-alias 'hanja-filter #'seq-filter "30.1") (defun hanja-list-prev-group () "Select the previous group of hangul->hanja conversions." @@ -6570,12 +6566,12 @@ The value is a hanja character that is selected interactively." 0 0 ;; Filter characters that can not be decoded. ;; Maybe it can not represent characters in current terminal coding. - (hanja-filter (lambda (x) (car x)) - (mapcar (lambda (c) - (if (listp c) - (cons (car c) (cdr c)) - (list c))) - (aref hanja-table char))))) + (seq-filter #'car + (mapcar (lambda (c) + (if (listp c) + (cons (car c) (cdr c)) + (list c))) + (aref hanja-table char))))) (unwind-protect (when (aref hanja-conversions 2) (catch 'exit-input-loop -- 2.39.2