As of .2497 (I think, could have been .2496 or slightly earlier) I am experiencing bizarre issues with my code being reformatted and even changed upon copy-paste. The most common issue is that all indentation is removed, left-justifying everything in the pasted code block. (I have some files space-indented and some tab-indented, so perhaps the issue is related to this?).
I also just had a more critical issue where lines of code like
sDebug := sDebug + 'test'
ended up as
sDebug := ToString + 'test'
or in one case,
sDebug := ToStringyChar + 'test'
I don’t have a method ToStringyChar anywhere in my code, so I have no clue where this came from.
I was in the process of moving some files from my main project to a Shared Code project within my solution so that I can use them in a separate EUnit Test project as well, so I’m not sure if the ToStringyChar bit was after a copy-paste or if I moved the file and then re-opened my project.
Update: just reverted to .2485 and the issue is there too. I must just not have noticed it. Trying to determine which release doesn’t have this bug now
Is this after you moved or renamed a file? can you see oof this issue persists with 2499, as io fixed one (last remaining known) issue related to this, last week.
Moved or renamed which file? I haven’t moved or renamed the file I’m pasting into. I did uninstall and reinstall Water around the time this started though… Also, I’ve confirmed it’s not a new issue, since I’m all the way to .2395 and it exists there too. This definitely was not happening to me in .2395, but I’m not sure what’s changed to make it start all of a sudden…
Right, I meant it’s in 2395, 2465, 2497. But this has only recently started happening for me, and I update almost every week, so I think it’s something on my system that changed to trigger he bug, not something in Water that changed.
We’ll need to narrow this down to the circumstances when this happens. I assume it’s not for every single paste, but just sometimes, right? Can you think of anything “special” you did between launching Water fresh and the first paste failing? Did you close/reopen a solution within the same instance? Did you anything special in the editor that sands out? Is there anything special about the particular project?
First, to make sure it’s the reformat math causing it, I assume if you turn off “reformat on paste” all is fine?
In the scenario you describe above, whats the old code, and what did you paste?
ie to get from
sDebug := sDebug + 'test'
to
sDebug := ToString + 'test'
, what part of the code did you select, and what wa sin the clipboard when you press space?
As background, if this is teated to similar issues we had in the past (and the “last” one (I thought) that I fixed last week, where this happened when a file was moved between folders within the project), what happens is that the “managed” text buffer (the code the compiler and IDE smarts see) gets out of sync with what the real editor sees, and contains outdated code. On Paste, the editor updates the “managed” code (which is the part that fails), asks the managed system to reformat the code, and then gets back the reformatted lines — but because the two are out of sync, it gets back OLD code that previously lived at the same line(s).
This was what changed on my system. I had “reformat on paste” turned off, but when I had to reinstall Water recently I did not uncheck that option.
This definitely could have been the cause here. I moved the file from my main project to a Shared project, and then again to a subfolder of the Shared project. I’m not able to reproduce it now, so this was probably the issue.