diff options
Diffstat (limited to 'src/kompsos.adb')
| -rw-r--r-- | src/kompsos.adb | 8 |
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); |
