slightly improve deepcopy everywhere

akkartik
Feb 18, 2025, 4:48 AM
AHNBMC7IPEFFNDYZDZRXPDAHPAX5PIAOUFIO2LVPOAJL3AX4YYQAC

Dependencies

  • [2] KKMFQDR4 editing source code from within the app
  • [3] VJ77YABH more efficient undo/redo
  • [4] ILOA5BYF separate data structure for each line's cache data
  • [5] 73OCE2MC after much struggle, a brute-force undo

Change contents

  • replacement in undo.lua at line 86
    [3.2498][3.2498:2571]()
    if seen and seen[obj] then return seen[obj] end
    local s = seen or {}
    [3.2498]
    [3.2571]
    seen = seen or {}
    if seen[obj] then return seen[obj] end
  • replacement in undo.lua at line 89
    [3.2624][3.2624:2642]()
    s[obj] = result
    [3.2624]
    [3.2642]
    seen[obj] = result
  • replacement in undo.lua at line 91
    [3.2669][3.2669:2713]()
    result[deepcopy(k, s)] = deepcopy(v, s)
    [3.2669]
    [3.2713]
    result[deepcopy(k, seen)] = deepcopy(v, seen)
  • replacement in source_undo.lua at line 87
    [2.3150][2.3150:3223]()
    if seen and seen[obj] then return seen[obj] end
    local s = seen or {}
    [2.3150]
    [2.3223]
    seen = seen or {}
    if seen[obj] then return seen[obj] end
  • replacement in source_undo.lua at line 90
    [2.3276][2.3276:3294]()
    s[obj] = result
    [2.3276]
    [2.3294]
    seen[obj] = result
  • replacement in source_undo.lua at line 92
    [2.3321][2.3321:3365]()
    result[deepcopy(k, s)] = deepcopy(v, s)
    [2.3321]
    [2.3365]
    result[deepcopy(k, seen)] = deepcopy(v, seen)