From f2367fdce1d3ed0d4caeabca10d83c8d2c03b43e Mon Sep 17 00:00:00 2001
From: DeaDDooMER <deaddoomer@deadsoftware.ru>
Date: Sun, 15 Dec 2019 00:37:35 +0300
Subject: [PATCH] expressions interpreted in lazy mode

---
 src/generic/Dev/Mod/CPR.cp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/generic/Dev/Mod/CPR.cp b/src/generic/Dev/Mod/CPR.cp
index 7791454..b3ef052 100644
--- a/src/generic/Dev/Mod/CPR.cp
+++ b/src/generic/Dev/Mod/CPR.cp
@@ -162,7 +162,7 @@ MODULE DevCPR;
   BEGIN
     Factor(x, use);
     WHILE sym = and DO
-      Get(sym); Factor(y, use); IF use THEN x := x & y END
+      Get(sym); Factor(y, use & x); IF use & x THEN x := x & y END
     END
   END Term;
 
@@ -171,7 +171,7 @@ MODULE DevCPR;
   BEGIN
     Term(x, use);
     WHILE sym = or DO
-      Get(sym); Term(y, use); IF use THEN x := x OR y END
+      Get(sym); Term(y, use & ~x); IF use & ~x THEN x := x OR y END
     END
   END Expression;
 
-- 
2.29.2