emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/orderless 268e56d436 186/204: Fix orderless-escapable-s


From: ELPA Syncer
Subject: [elpa] externals/orderless 268e56d436 186/204: Fix orderless-escapable-split-on-space
Date: Tue, 11 Jan 2022 12:58:30 -0500 (EST)

branch: externals/orderless
commit 268e56d436ef66c8d9630482cb4dae1e7ff44ee4
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Fix orderless-escapable-split-on-space
    
    * Currently escaped backslash also escapes space
    * Allocate match-data only once
---
 orderless.el | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/orderless.el b/orderless.el
index b3b7688419..d332c7af43 100644
--- a/orderless.el
+++ b/orderless.el
@@ -276,7 +276,7 @@ at a word boundary in the candidate.  This is similar to the
            for regexp in regexps and i from 0
            when (string-match regexp string) do
            (cl-loop
-            for (x y) on (or (cddr (match-data)) (match-data)) by #'cddr
+            for (x y) on (let ((m (match-data))) (or (cddr m) m)) by #'cddr
             when x do
             (add-face-text-property
              x y
@@ -302,7 +302,11 @@ converted to a list of regexps according to the value of
   "Split STRING on spaces, which can be escaped with backslash."
   (mapcar
    (lambda (piece) (replace-regexp-in-string (string 0) " " piece))
-   (split-string (replace-regexp-in-string "\\\\ " (string 0) string) " ")))
+   (split-string (replace-regexp-in-string
+                  "\\\\\\\\\\|\\\\ "
+                  (lambda (x) (if (equal x "\\ ") (string 0) x))
+                  string)
+                 " +" t)))
 
 (defun orderless-dispatch (dispatchers default string &rest args)
   "Run DISPATCHERS to compute matching styles for STRING.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]