In Writer, Calc and Impress (didn't check any other), in Tools - Options - Memory it is possible to set the "Undone" counter to more than 1000 steps. But, if 1000+ steps are set and the program restarted, the counter goes back to 100 (default option).
If the counter is set to 999, after a restart it remains at this number.
The problem seems that the counter in the Tools - Options - Memory section has no limit (you can write any number), but that there is a real limit in the number of steps the Undone counter accepts.
Created attachment 46001 [details]
make the undo steps box to behave correctly
The attached patch solves the problem and makes 1000 undo steps possible.
The reason for the problem was, that MaxTextLength=4 was set in the GUI description. That overrided the Maximum=1000 setting in the GUI.
As far as I grepped and grok'd, this NumericField was the only one with MaxTextLength defined.
Although removing MaxTextLength like in the patch solved the problem, a clean way would be to
* declare MaxTextLength as invalid for NumericField, an
error should be raised during compile time if that is possible or
* ignore MaxTextLength for NumericField.
By the way, the whole vcl code urgently needs revision.
similar patch made it to master - thanks for that ! :-)