View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0016202||Scribus||Undo/Redo||public||2020-07-30 21:42||2020-08-14 06:08|
|Target Version||Fixed in Version|
|Summary||0016202: Undo does not work|
|Description||The Undo operation shows as available in the Main menu, however, clicking it or using Ctrl Z does nothing. The operations I am attempting to Undo are moving and resizing text frames, which is extremely basic. It may be the case that operations are not being recorded on the Undo stack, including moving and resizing, or there is simply no code executing when the Undo function is called.|
|Steps To Reproduce||Ctrl Z|
|Tags||No tags attached.|
||Unable to reproduce, works here.|
||Check undo is enabled in File > Preferences > Document Setup > Saving & Undo.|
||Closing this issue due to inability to reproduce.|
This bug is more advanced than Undo simply not working. The entire undo system is unstable. In fact in has crashed Scribus twice in the past 24 hours. I lost half a document the first time now I spam Ctrl+S after writing a sentence.
I'll describe the logic I noticed: The undo system will undo some operations while skipping others that were applied afterward. For example, I created a numbered list style and applied it to a line of text. I hit tab after the numbering on the first line. I then click Ctrl+Z and it undoes the list paragraph style, and leaves the tab I inserted. This shows there is a logic error in managing the array indices or perhaps the array itself. Afterward, something caused it to crash, and my programmer instinct says you have an out of bounds pointer.
Do the world a favor--quit using imperative programming for complicated projects. This needs to be rewritten in a language that is more expressive, like Lisp. These pointer bugs are a consequence of the programmer's memory problems and inattention to the state of variables. I'm sure like me you're sick of hunting down weird bugs, so you're doing yourself a favor as well by not using C and C++ for managing stacks and lists.
>> This bug is more advanced than Undo simply not working. The entire undo system is unstable.
If you had searched the bug tracker for "undo", you would have seen that undo system is indeed incomplete.
>> Do the world a favor--quit using imperative programming for complicated projects. This needs to be rewritten in a language that is more expressive, like Lisp.
This is to say the least *totally* unrealistic given the size of Scribus code and manpower. Currently we are only two-three contributors coding Scribus during our free time. We had the same kind of request a few years ago about rewriting our GUI with wxWidgets.
You are showing issue 0011871, so this is an already known issue.
||Closing again as latest comments do not bring anything new.|
lists are an unstable feature. you're welcome to dive into it and help fix the remaining bugs!
(and unstable features are ok in a development branch...)
in my eyes, while you're right in praising lisp, c++ code can also profit from using more functional constructs.
sadly, there are good reasons why there are few to none big GUI desktop apps created with lisp.
so start bringing the good practices to the imperative world! : - )
|2020-07-30 21:42||AMDphreak||New Issue|
|2020-07-30 22:17||jghali||Priority||immediate => normal|
|2020-07-30 22:17||jghali||Note Added: 0047894|
|2020-07-30 22:20||jghali||Note Added: 0047895|
|2020-08-04 19:13||jghali||Assigned To||=> jghali|
|2020-08-04 19:13||jghali||Status||new => resolved|
|2020-08-04 19:13||jghali||Resolution||open => unable to reproduce|
|2020-08-04 19:13||jghali||Note Added: 0047899|
|2020-08-04 19:13||jghali||Status||resolved => closed|
|2020-08-13 23:44||AMDphreak||Status||closed => feedback|
|2020-08-13 23:44||AMDphreak||Resolution||unable to reproduce => reopened|
|2020-08-13 23:44||AMDphreak||Note Added: 0047926|
|2020-08-14 00:20||AMDphreak||Status||feedback => assigned|
|2020-08-14 02:45||jghali||Note Added: 0047928|
|2020-08-14 02:46||jghali||Status||assigned => new|
|2020-08-14 02:47||jghali||Status||new => resolved|
|2020-08-14 02:47||jghali||Resolution||reopened => duplicate|
|2020-08-14 02:47||jghali||Note Added: 0047929|
|2020-08-14 02:47||jghali||Relationship added||duplicate of 0011871|
|2020-08-14 02:47||jghali||Status||resolved => closed|
|2020-08-14 06:08||ale||Note Added: 0047935|