From dde0320020429a2d2917895fc0e2f5a24ffe6348 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Fri, 5 Jul 2019 22:11:34 +0300 Subject: [PATCH] * lisp/replace.el (replace-highlight): Add save-match-data (bug#36328) * lisp/term/tty-colors.el (tty-color-canonicalize): Replace string-match with string-match-p. Thanks to Jayden Navarro and Alan Mackenzie --- lisp/replace.el | 6 +++++- lisp/term/tty-colors.el | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/replace.el b/lisp/replace.el index 9d1b7bf747d..db305adfd38 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -2316,7 +2316,11 @@ It is called with three arguments, as if it were (isearch-forward (not backward)) (isearch-other-end match-beg) (isearch-error nil)) - (isearch-lazy-highlight-new-loop range-beg range-end)))) + (save-match-data + ;; Preserve match-data for perform-replace since + ;; isearch-lazy-highlight-new-loop calls `sit-for' that + ;; does redisplay that might clobber match data (bug#36328). + (isearch-lazy-highlight-new-loop range-beg range-end))))) (defun replace-dehighlight () (when replace-overlay diff --git a/lisp/term/tty-colors.el b/lisp/term/tty-colors.el index 307586f2213..5af8170203e 100644 --- a/lisp/term/tty-colors.el +++ b/lisp/term/tty-colors.el @@ -820,7 +820,7 @@ Value is the modified color alist for FRAME." "Return COLOR in canonical form. A canonicalized color name is all-lower case, with any blanks removed." (let ((case-fold-search nil)) - (if (string-match "[A-Z ]" color) + (if (string-match-p "[A-Z ]" color) (replace-regexp-in-string " +" "" (downcase color)) color))) -- 2.39.2