]> git.eshelyaron.com Git - emacs.git/commitdiff
Prefer seq-filter in rcirc.el
authorStefan Kangas <stefankangas@gmail.com>
Sat, 28 Oct 2023 22:38:02 +0000 (00:38 +0200)
committerStefan Kangas <stefankangas@gmail.com>
Sat, 28 Oct 2023 22:38:02 +0000 (00:38 +0200)
Benchmarking shows seq-filter to be ~30% faster on this machine.

* lisp/net/rcirc.el (rcirc-condition-filter): Make into an
obsolete alias for 'seq-filter'.  Update single caller.

lisp/net/rcirc.el

index 7cc7adc45c72f54fef99f9ae8e872cd6dddce17e..ecfeb9f8f8411db16a2846385919d9bb2bce0d14 100644 (file)
@@ -2974,20 +2974,13 @@ keywords when no KEYWORD is given."
     browse-url-button-regexp)
   "Regexp matching URLs.  Set to nil to disable URL features in rcirc.")
 
-;; cf cl-remove-if-not
-(defun rcirc-condition-filter (condp lst)
-  "Remove all items not satisfying condition CONDP in list LST.
-CONDP is a function that takes a list element as argument and returns
-non-nil if that element should be included.  Returns a new list."
-  (delq nil (mapcar (lambda (x) (and (funcall condp x) x)) lst)))
-
 (defun rcirc-browse-url (&optional arg)
   "Prompt for URL to browse based on URLs in buffer before point.
 
 If ARG is given, opens the URL in a new browser window."
   (interactive "P")
   (let* ((point (point))
-         (filtered (rcirc-condition-filter
+         (filtered (seq-filter
                     (lambda (x) (>= point (cdr x)))
                     rcirc-urls))
          (completions (mapcar (lambda (x) (car x)) filtered))
@@ -4008,6 +4001,8 @@ PROCESS is the process object for the current connection."
 (define-obsolete-function-alias 'rcirc-format-strike-trough
   'rcirc-format-strike-through "30.1")
 
+(define-obsolete-function-alias 'rcirc-condition-filter #'seq-filter "30.1")
+
 (provide 'rcirc)
 
 ;;; rcirc.el ends here