(This is a derivative of my comment here, but I think it deserves its own idea).
Sometimes the autogrow feature of structures does annoying things. For example if we create a control on the stop terminal of a while loop, the while loop sometimes grows downwards, even though there is plenty of space to accommodate the terminal a bit higher up in the existing loop bounds. When I encounter this, I usually select the new control, do a ctrl+x (to cut the new control), followed by a ctrl+z (to undo the resize and control creation), click elsewhere followed by a ctrl+v (to paste the control where I actually want it). Similar if I paste a sizable code selection inside a structure, the insert point might not be exactly centered on the empty space, causing a structure resize, even if the content would fit nicely if moved a little bit to the right or left.
My suggestion is that the autogrow operation should have its own entry in the undo buffer, meaning that (in the above first scenario) the first ctrl+z would undo only the auto-resize and the second ctrl+z would undo "create control". In the second scenario, the first ctrl+z would undo the automatic resize, keeping the pasted part selected and ready to be moved to the desired spot.
(A similar change could also help for other automatic operations (cluster size to fit, etc.))
For example, MS word has a similar mechanism for the auto-correct option, if I type "this adn that", it will turn into "this and that", but the auto-correction can be undone separately, at which point it is no longer applied in this text location.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.