diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-03-19 11:57:47 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-03-19 11:57:47 -0700 |
commit | 1f69d061c17d83b0a665c4fee2407fac1b714b68 (patch) | |
tree | 940e2c878a902fa1b1b49e6f799d3c638d5cc869 /chessboard.mu | |
parent | d97bafd318567c0f4ae7c80234ecde6cf7658b1c (diff) | |
download | mu-1f69d061c17d83b0a665c4fee2407fac1b714b68.tar.gz |
2797 - bugfix: transform can create recipes
When I started to make channels generic in 2784, I introduced an infinite loop when running until just layer 72. This happens because transform_all() can create new recipes while specializing, and these were getting added to Recently_added_recipes and then deleted. I didn't notice until now because layer 91 was clearing Recently_added_recipes soon after. Solution: make calls to transform_all after calls to load_permanently also clear Recently_added_recipes like load_permanently does. No transforms yet create new types. If they do we'll need to start handling the other Recently_added_* variables as well. I should rethink this whole approach of tracking changes to global state while running tests, and undoing such changes. Ideally I wouldn't need to manually track changes for each global. I should just encapsulate all global state in an object, copy it for each test and delete the copy when I'm done.
Diffstat (limited to 'chessboard.mu')
0 files changed, 0 insertions, 0 deletions