Does the 25kb undo size limitation affect anyone else? (solved)

Does the 25kb undo size limitation affect anyone else? (solved)

22
Basic UserBasic User
22

    Apr 09, 2008#1

    I've found that single edits of more than 25000 bytes in a text file or more than 95751 bytes in a binary file cannot be undone by UltraEdit. In other words, if I select a block of text 25001 bytes in size and hit delete, I cannot undo that change. I have written to IDM about this and they told me that the limitation is by design. They said the limitation might be removed in future versions, but I presume that the likelihood of a change is dependent on the number of people that are affected...

    So my question: Is anyone else here adversely affected by this limitation? If so, is it worthwhile to have the limitation removed?

    I am currently working around the limitation by performing large edits within Notepad (at work) or EditPad Lite (at home). It kinda bothers me that these free text editors can undo/redo multi-megabyte chunks of text, while my favorite text editor ever (UE, of course!) is limited to only 25k undo/redo. The worst part about this is that I sometimes forget to keep track of how many bytes are selected while using UE, then end up accidentally deleting a chunk of text after having made a number of previous edits. The only way to recover the text involves opening the same file read-only, copying out the chunk that was accidentally deleted, and pasting it back into UE. If the deleted chunk happened to have been edited prior to deletion, the changes are lost. I could use the free editors, but I like UE so much more. :)

    The undo size limitation hasn't become an issue until recently, but I've started using it for consolidating/editing source code and sorting/archiving log files, and many of these files are larger than 25k.

    Tom
    UE 14.00a

      Apr 10, 2008#2

      To reproduce the issue:

      1. Open a text file larger than 25k (a good source is the numerous .log files in the c:\windows directory)
      2. Select all (ctrl-a)
      3. Hit the Delete key
      4. Try to undo

      Not very nice, is it?

      Tom

      8
      NewbieNewbie
      8

        Apr 11, 2008#3

        As an exercise I've just tried this with a 175,868-bit text file and had no problem with restoration. I'm working with UE14, Vista Ultimate and 4Gb RAM, though, although the 32-bit operating system is only supposed to recognize about 2.5Gb RAM.
        Just my luck. Finally found the end of the rainbow. Went there to get my pot of gold. Wrong end.

        22
        Basic UserBasic User
        22

          Apr 11, 2008#4

          Thanks for the reply. I've tried it on two XP SP2 desktops and one XP SP2 laptop (varying amounts of RAM, from 512mb to 2gb). Never could get it to undo. Even IDM said it wouldn't work: "There is an internal boundary set (as you've noted) for the undo operations. This may be changed in a future release. Undo is available for most operations, but for operations beyond the specified boundaries, or operations that potentially could change every line in a file, undo may not be available."

          So it appears there is more to the undo mystery... perhaps the boundary is determined by available RAM, or perhaps the OS affects it. Either way, given the lack of responses to the original message, it doesn't sound like it affects anyone else.

          21
          Basic UserBasic User
          21

            Apr 17, 2008#5

            Undo is very frustrating. You think its there and when you need it most it fails you.
            I never could see the pattern as to why it was so dang flaky.

            yes it is and issue, and yes I would like to configure it.

            Most of the PC's I use have a gig or more of ram, I wouldn't mind dedicating a few meg to a reliable undo capability.

            1
            NewbieNewbie
            1

              Re: Does the 25kb undo size limitation affect anyone else?

              May 30, 2008#6

              I bump up against this limit from time to time. It almost always means I revert to the original save and do the work over, which can certainly cast a darker light on an afternoon.

              The actual 25kb figure mentioned by tsmith seemed too small however, so I did a little testing on my system (v14.00b on XP SP2, 1Gb RAM) and found the limit in my case for successful undo to be 93751 bytes, roughly 91kB.

              Whether it was increased with the recent hotfixes or whether the limit is governed by some other factor is unclear. I did attempt to dig around the site and find something about a limit change in release notes, but alas, if the info is there, it's eluded me.

              I also toyed with Editor>Advanced options a little, in particular the undo-specific Grouped Undo, as well as memory-related Use Larger Internal Buffers and Use Memory Buffers For Editing. None of these seemed to have any effect on the limit.

              Regardless of whether it's 25kB, 90kB or any other similar number, sooner or later it's gonna cause aggravation. Surely a different or augmented approach could be employed to substantially increase this limit without overly impacting performance. Perhaps allow the user to specify the size of the undo buffer, or even optionally shifting undo history to disk once a certain threshold is reached. Failing that, a warning dialog before perfoming a single undoable action would be nice, or perhaps even some status bar feedback on the current maximum undo level.

              For now, I'm just careful to "Save Early, Save Often", and keep lots of versioned copies!
              "Bite off more than you can chew, then chew like buggery!"

              2
              NewbieNewbie
              2

                May 30, 2008#7

                Hi,
                Well, would be nice if the size limit for undo's could be adjusted.
                XP pro SP2 on a Dell laptop, 1 GB RAM, Ultraedit32 V14.00a+1
                I verified that 25k limit for undo's.

                119
                Power UserPower User
                119

                  May 30, 2008#8

                  monf wrote:For now, I'm just careful to "Save Early, Save Often", and keep lots of versioned copies!
                  I hit Ctrl-S so much it's almost a nervous disorder. :D

                  22
                  Basic UserBasic User
                  22

                    Jul 12, 2008#9

                    <rant>

                    I know I've posted about this before, but I am becoming less and less satisfied with UltraEdit each day. This is in large part due to Uedit's extremely poor Undo capabilities. It started when I discovered that I couldn't Undo changes that involved more than 25k of data (Windows XP, RAM up to 4gb, on multiple computers -- YMMV). This wasn't a problem in years past, but modern computers generate huge files, including log files that I work with on a regular basis. UltraEdit has not kept up.

                    Tonight, I was experimenting with a 560 byte file. I was trying out the "Insert String at Increment Specified" feature in UE. "String to Insert" was set to X, and "File Increment ..." was set to 1. Click OK and the string is inserted after each character. Cool! But now I try to Undo. No can Undo. UltraEdit cannot Undo an 1120 byte file with a 560 byte change??? Ridiculous.

                    Notepad can Undo massive changes. Wordpad can Undo massive changes. Every free and open source text editor I've ever used in the past year can Undo massive changes.

                    But not UltraEdit. It can't Undo 25k changes, and in this case, it can't even Undo a 560 byte change.

                    I'm running the latest version: 14.10.0.1018. I bought a lifetime upgrade license. I have been a fan of UltraEdit for years. But Undo, a basic feature of any editor, just doesn't cut the mustard for me anymore. UltraEdit has become MaybeEdit.

                    Why can't UltraEdit perform simple Undos of simple text data? It's got encryption, FTP, telnet, HTML validation, text reformatting, tag control, macros, templates, function lists, DOS shells, spell check, and 10 million other functions (I'm just exaggerating about that part).

                    But what good are all those fancy features if the basics don't work right? Don't get me wrong: I use a lot of those features from time to time, but shouldn't a modern text editor be able to perform simple Undos? Has too much effort been spent on the fancy stuff? It's like buying a radio that does everything but brush your teeth, and yet is worthless if you get more than 10 miles away from the transmitter. And when the fancy radio loses the signal, the free-with-Happy-Meal radio picks up the station just fine.

                    I've written to the folks at IDM several times about fixing the Undo, but it's still on the "to-do" list. To add insult, the phpBB forum text editor (the one on the UE forum) can handle Undos of over 30k with ease. I just pasted in 32k of text, typed a few more characters, and was able to perform a full Undo. phpBB is freeware.

                    Flame me all you want (and I'm sure you will), but a text editor that can't Undo a text file isn't much good for editing text files. I'm just sick of using Notepad to edit log files because UE can't Undo.

                    </rant>

                    Tom

                    6,686585
                    Grand MasterGrand Master
                    6,686585

                      Jul 13, 2008#10

                      I guess, insert string a every increment is a low level function. So it is optimized for speed and does not record changes for the undo feature. I don't know if you are a programmer and know how an undo feature works and how the efficiency of functions is decreased by recording every modification for the undo feature. That is the reason why for example many database programs like Access support only undo of the last action and no other previous changes. Every function which can make massive changes on a file is better done without recording the changes. You have always the option to save the file before you use one of the functions which don't record the changes and use File - Revert to Saved if you next want to undo it. Or you simply do not save the changed file, close it and re-open it.
                      Best regards from an UC/UE/UES for Windows user from Austria

                      22
                      Basic UserBasic User
                      22

                        Jul 14, 2008#11

                        Mofi, thank you for the response. I'm sure that it takes programming skill to be able to create good Undo capabilities, but I'm also certain that the same programming team that figured out how to create a complex application like UltraEdit will surely be able to significantly improve UltraEdit's Undo capabilities. At this point, however, it doesn't appear to be on their priority list.

                        The developers of Notepad, Wordpad, many free text editors, Microsoft Word, Excel, Adobe Photoshop, Dreamweaver and others have figured it out. Access is a different animal, though: when editing a database, it writes directly to the database without Undo. That is by design. User application interfaces for Access databases should be written with Undo capabilities, up until the point where data is committed to the database. But UltraEdit isn't Access. UltraEdit is a text editor, and good text editors require good Undo capabilities.

                        Speaking of difficult programming required to create a capable Undo, imagine how much skill and effort went into creating Photoshop's Undo. Their program can selectively Undo massive graphical changes to massive image files, even though the requirement is that their Undo perform flawlessly. It does, and I'm sure Adobe had a whole team of talented folks working on it. And I'm sure IDM can do the same, even if it's just text. They just need to want it.

                        Tom

                        16
                        Basic UserBasic User
                        16

                          Jul 14, 2008#12

                          If you're not going to be able to undo an operation shouldn't it bring up a dialog warning you and suggesting you save the file beforehand?

                          2
                          NewbieNewbie
                          2

                            Mar 27, 2009#13

                            Mofi wrote:I guess, insert string a every increment is a low level function. So it is optimized for speed and does not record changes for the undo feature. I don't know if you are a programmer and know how an undo feature works and how the efficiency of functions is decreased by recording every modification for the undo feature. That is the reason why for example many database programs like Access support only undo of the last action and no other previous changes. Every function which can make massive changes on a file is better done without recording the changes. You have always the option to save the file before you use one of the functions which don't record the changes and use File - Revert to Saved if you next want to undo it. Or you simply do not save the changed file, close it and re-open it.
                            I realize this is an old thread, but -

                            I disagree with this. This is a text editor here- sacrificing undo functionality for a little bit of speed gain is a no-no. Making massive changes to a file is exactly where undo is needed _most_. I expect a text editor UI to be consistent. Every change I make I should have the option to undo. Or, at the very least, at least warn me with a dialog warning me that this change cannot be undone.

                            6,686585
                            Grand MasterGrand Master
                            6,686585

                              Mar 27, 2009#14

                              Well, speed is not the real problem nowadays. I think the real problem is the large number of changes made by those special commands on a file which has maybe hundreds of MBs or even GBs. Then even with the GBs of RAM new computers have nowadays the undo data will not fit into RAM.

                              I agree with you that a warning before execution would be very helpful for those commands which break the undo chain with the option to save the file now when it is already modified before continuing the execution of the command. But it should be configurable to disable the warning for advanced users using those commands often.

                              Particular for the command "Insert String at Every Increment" I also don't really understand why for files lower than xx MBs no undo data is collected because with a regular expression replace all often the same result can be produced and the regex replace all can be undone. "Sort File", "Convert to Fixed Column", "Convert to Character Delimited" and "Hex Edit" are commands where I understand why they break the undo chain.

                              However, you better discuss that with IDM support by email. I'm a user like you and I also don't know the real reason why "Insert String at Every Increment" breaks the undo chain. I have just written my thoughts about what I have seen from a programmers point of view.

                              Update:
                              The undo buffer limitation to 25 KB to 50 KB per operation was removed with UltraEdit v15.20. In several steps via several versions the undo capability of UltraEdit was improved to finally support undo for all text modification commands. However, if the file is very large it can happen nevertheless that all modifications cannot be recorded for undo. In this case a warning is displayed letting the user know about breaking the undo chain.
                              Best regards from an UC/UE/UES for Windows user from Austria

                              2
                              NewbieNewbie
                              2

                                Mar 31, 2009#15

                                Hi Mofi-

                                Thanks for your input. However, I still disagree. Something like "Insert String at Every Increment" can just as easily have undo information stored as "Remove X characters every X increments" which takes up no space at all. Sure, other undo information might not be that simple, but it doesn't mean it can't be done.

                                Compare it to a graphics program like Gimp or Photoshop. Every single action can be undone. They work with much larger memory and speed requirements and yet they still do just fine.

                                Skimping on undo features is poor interface design. The user should feel comfortable doing any action without destroying any of their data. That's what using a computer should really be.

                                I realize this is also the real world, and there are also practicalities and priorities that need to be considered as well. But in my opinion, also from a programmers perspective, is that too many programs out there are user unfriendly and this is just an example of why :)

                                Read more posts (12 remaining)