branch: externals/orderless
commit 665ade998466c674a566daaa095510e39fbe738e
Merge: 3f76b7d1a1 268e56d436
Author: Omar AntolĂn Camarena <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #76 from minad/fix-split
Fix orderless-escapable-split-on-space
---
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.