From 3ade8d5cc4514df520edd4f95817b445e35fff41 Mon Sep 17 00:00:00 2001
From: Kaz Kylheku <kaz@kylheku.com>
Date: Mon, 27 Feb 2023 17:58:37 -0800
Subject: txr: bugfix, allow lazy lists in multi match.

* match.c (do_match_line): Handle LCONS the same way as CONS.
When a variable occurs whose value is a list of strings,
that may be a lazy list. I ran into a problem using @(data x)
to capture a list of strings, and then matching that with @x;
the error being "unsupported object in spec", caused by the
list's LCONS type not handled in this switch.
---
 match.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/match.c b/match.c
index 14a0bb3f..29f634cf 100644
--- a/match.c
+++ b/match.c
@@ -1752,6 +1752,7 @@ static val do_match_line(match_line_ctx *c)
 
     switch (type(elem)) {
     case CONS: /* directive */
+    case LCONS:
       {
         val directive = first(elem);
 
-- 
cgit v1.2.3