summaryrefslogtreecommitdiff
path: root/src/kompsos.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/kompsos.adb')
-rw-r--r--src/kompsos.adb8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/kompsos.adb b/src/kompsos.adb
index 2093406..d0005cb 100644
--- a/src/kompsos.adb
+++ b/src/kompsos.adb
@@ -355,10 +355,12 @@ package body Kompsos is
Ptr (This.Engine.Con_World).Rollover;
if Ptr (This.Engine.Con_World).Possibles.Length > 0 then
declare
- Next : constant World :=
- Call_Lazy (Ptr (This.Engine.Con_World).all, This.Engine.Con_Data);
+ So_Far : constant World :=
+ ((Possibles => Ptr (This.Engine.Con_World).Possibles,
+ Engine => (Kind => No_Gen)));
begin
- This := Next;
+ Ptr (This.Engine.Con_World).Possibles.Clear;
+ This := Disjunct (Call_Lazy (So_Far, This.Engine.Con_Data), This);
end;
elsif Ptr (This.Engine.Con_World).Engine.Kind = No_Gen then
This.Engine := (Kind => No_Gen);