From e95d8562c06c08d701330a640a6e9d8adda99580 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mattias=20Engdeg=C3=A5rd?= Date: Thu, 7 Sep 2023 18:06:34 +0200 Subject: [PATCH] Translate backslash-saturated regexp to rx * lisp/minibuffer.el (minibuffer--regexp-propertize): The original regexp had 83 backslashes in 147 characters which may be some kind of record. This transformation cuts it down to 6, and the generated regexp string is about 14 % shorter. --- lisp/minibuffer.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 8c642b15a4d..2120e31775e 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -4676,8 +4676,14 @@ and `blink-matching-paren' more user-friendly." (remove-text-properties (point-min) (point-max) '(syntax-table nil)) (goto-char (point-min)) (while (re-search-forward - "\\(\\\\\\\\\\)\\|\\(?:\\(?:\\\\\\)\\(?:\\([(){}]\\)\\|\\(\\[\\)\\|\\(\\]\\)\\)\\)\ -\\|\\(\\[:[a-zA-Z]+:\\]\\)\\|\\(\\[\\)\\|\\(\\]\\)\\|\\([(){}]\\)" + (rx (| (group "\\\\") + (: "\\" (| (group (in "(){}")) + (group "[") + (group "]"))) + (group "[:" (+ (in "A-Za-z")) ":]") + (group "[") + (group "]") + (group (in "(){}")))) (point-max) 'noerror) (cond ((match-beginning 1)) ; \\, skip -- 2.39.5