From 6aa7f5abfb2e4c396b7f76ded0ef7dbded89c957 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 26 Apr 2021 07:25:54 -0700 Subject: matcher: use match-str instead of sub-str and str= * share/txr/stdlib/match.tl (expand-quasi-match): Don't extract substrings with sub-str; use match-str to match in-place. --- share/txr/stdlib/match.tl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'share') diff --git a/share/txr/stdlib/match.tl b/share/txr/stdlib/match.tl index 5586b874..d3d89702 100644 --- a/share/txr/stdlib/match.tl +++ b/share/txr/stdlib/match.tl @@ -848,7 +848,7 @@ (match-case args ;; `text` ((@(stringp @txt)) - (list ^@(require @nil (str= ,txt (sub-str ,str ,pos t))))) + (list ^@(require @nil (match-str ,str ,txt ,pos)))) ;; `txt@...` ((@(stringp @txt) . @rest) (with-gensyms (npos) @@ -857,8 +857,8 @@ (quasi-match vlist rest vars str npos)))) ;; `@var` (existing binding) (((@(eq 'sys:var) @(bound-p vlist vars @sym) . @nil)) - (list ^@(require @nil (str= (sys:quasi ,(car args)) - (sub-str ,str ,pos t))))) + (list ^@(require @nil (match-str ,str (sys:quasi ,(car args)) + ,pos)))) ;; `@var@...` (existing binding) ((@(as avar (@(eq 'sys:var) @(bound-p vlist vars @sym) . @nil)) . @rest) @@ -867,7 +867,7 @@ ^@(with ,len (len ,txt)) ^@(with ,npos (+ ,pos ,len)) ^@(require @nil - (str= ,txt (sub-str ,str ,pos ,npos))) + (match-str ,str ,txt ,pos)) (quasi-match vlist rest vars str npos)))) ;; `@var` (new binding) (((@(eq 'sys:var) @sym)) -- cgit v1.2.3