It looks like the undo stack is only updated after a shape is "closed/done", which is a bit problematic. At least, I get bitten from time to time and I undo something I don't intend to. Steps: 1. Move a couple of parts on a board to add events to the undo stack 2. Start drawing a trace between pads 3. Midway through the previous operation, hit undo -> Verify that the undo operation is one of the MOVE operations from before you started drawing the trace. -> Expected behavior is that the last point in the shape you're drawing is removed. This results in a pretty unforgiving UI when drawing things; you have to nail it perfectly the first time. Ideally, each step of the drawing would be added to the undo stack.