Clyfton Hayes III
Sadly, after years of use it's time for me to say goodbye to Notepad++.
It must have grown too big to manage.
Over the years I've dealt with increasing crashes due to "access violations" ... now they are intolerable. I have dealt with seeing weird characters in my programs appear and disappear randomly. But the final straw was noticing that SEARCH AND REPLACE is no longer reliable. Sometimes it will replace all. Sometimes it will replace some. Sometimes it won't replace anything even though I can clearly see matchable strings. This is beyond scary to me to know that mass replace actions on my programs may or may not have happened. I don't even want to think about it. When it comes to SEARCH AND REPLACE ... anything less than 100% reliability is a no-go for programmers.
The Gun 37
I'm not sure if this is the situation you guys are talking about, but you can see the images and at last reproduce the issue yourself from the "test.txt". I'm not a heavy code user but hopes help.
notepad++a.png shows my editor setup, the weird character and comparison of other editors.
notepad++b.png show the weird character shifting right and changing when I highlight some characters.
notepad++c.png show word wrap effect on the weird character.
test.txt for testing
> notepad++a.png shows my editor setup, the weird character and comparison of other editors.
This bug will be fixed in the next release.
That unicode problem seems to happen only on lines longer than ~300 bytes, at ~100 bytes intervals. This looks like the "Bug with slicing UTF-8 text into character fragments when there is a sequence of 100 or more 3 byte characters. Bug #2780566" which should be fixed in Scintilla 1.79.
I understand you frustration, and indeed, the behaviour your are reporting is troubling.
For the benefit of others and of the N++ dev, if you could give us steps to reproduction of these abnormal problems, that would help us ensure others do not experience them.
thanks in advance,
I wish I could give you what you request. Unfortunately, I am a very very busy System Administrator and I am always going 100mph. I'm sure you are busy too so you understand. I use Notepad++ on Windows XP and Windows 2000 computers. Sometimes my eyes are distracted by something changing in an area that I am not typing. I will look up and there will be garbage there .... then it disappears. Many times I have done search and replace and will see garbage characters added to each replaced string. But later the garbage characters are not there. It's as if they are word processing control characters which shouldn't be there since this is a .txt editor. I have no idea why notepad++ would report access violations. I have reported those errors in this forum before with no response. They are quite frustrating and sometimes happen numerous times in a session. They are spontaneous. I see no pattern that causes them. Sometimes I can go days without seeing one. The search and replace problem is the worst and is unacceptable. Sometimes it's a large document, sometimes many documents. I've seen it miss replacements on several occasions. Today it was a very small document of 4 lines so it was easy to see. 4 lines each having a string to replace. It only replaced 3. I have no idea why it ignored the other line.
I am very busy as well, and depends on N++ as well for my daily work. However, I've never encountered the problems you mention. So, without anymore info, it will be terribly hard for me to dig further into this problem and fix it.
Can you help me by at least answering the following questions?
1- What kind of search where you using (normal / extended / RegExp)?
2- Where you doing a replace in the current file only, in all the currently opened documents, or a replace in a "Find if Files"?
3- Match case?
4- Match whole word only?
5- Even if it sounds like it has nothing to do with it... Just in case: where you using transparency in the replace dialog or not?
I can't promise anything, but with these clues, the code to inspect should be narrower.
If you're at liberty to post some of the files you were using as well, that could be a definite plus. However, I understand perfectly that chances are these are proprietary and thus it would be impossible for you to share them.
Does this happen with the -noPlugin command switch? Or renaming the Plugins folder?
Is "garbage" some unexpected control characters?
Are you sure you are viewing text files with a font that can cope with 8-bit ASCII as intended by file creator?
Any idea of a version change which seemingly started this?
What you reported (FIND AND REPLACE bug) is a critical bug and it shouldn't be there. We (Notepad++ team) will help you to get rid of it if you can take a time to do the test and provide us the detailed information. It'll be win-win situation : you get back a reliable tool, and the bug is eliminated for the community.
1. Please post here your Notepad++ version and mode (Unicode/ANSI), list of plugins you use and OS (include language) information.
2. Provide the procedure to reproduce the bug - the string to search, the string to replace and the options you choose.
3. Test again after removing all the plugins, then repeat your procedure. Please post the result here.
Clyfton Hayes III
The only plugins I've added are Plugin Manager and Window Manager.
I have not messed with the command switches.
Currently using v5.4.5 on XP and Windows 2000. I always upgrade to the latest version because I was hoping to get rid of those blasted "access violation" crashes.
I racked my brain and was able to remember the last search that had the problem ... I had the following 4 identical lines in a new tab:
I did a search and replace to replace <StoreName> with "hftw" and it found zero occurrances when I can clearly see four ... I was able to reproduce this just now ... however last week it found three and missed one. Search mode is NORMAL. MATCH WHOLE WORD, MATCH CASE, WRAP were not selected. IN SELECTION was not checked. I usually have bunches of tabs but for today's test, just one, so I was not using ALL CURRENT DOCs or FIND IN FILES. The search box does seem to go transparent when I shift focus to type this, but I didn't mess with that.
> The only plugins I've added are Plugin Manager and Window Manager.
I personally have several crashes experience with Window Manager plugin, that's why it has never been included in Notepad++ release.
Your "access violtion" could be related with this plugin, I suggest to remove it in order to keep your Notepad++ stable.
> MATCH WHOLE WORD, MATCH CASE, WRAP were not selected.
Tested with v5.4.5 under xp sp3, it works for me.
One scenario I could image is the cursor is on the end of document, and WRAP is not checked.
Check wrap may remedy your problem.
I tried this out using Vista x64 SP2. NP++ 5.4.5 with default plugins only.
The search and replace worked perfectly with no problems at all.
Clyfton Hayes III
I only recently discovered Window Manager. I've been getting access violations for a year or so. No matter how many bells and whistles are added to Notepad++, it is essential to have a windows-manager like sidebar in order to navigate through multiple open tabs. I have suggested a few times that Notepad++ developers take the embedded "Windows" window to its natural conclusion and make it dockable or persistent. Even the fact that it has a CLOSE button leads one to believe it should stay open until closed. It is counter-intuitive that the "Windows" window closes when you click on a line item.
Clyfton Hayes III
Maybe the problem has something to do with WRAP. How does WRAP work with a SEARCH & REPLACE ALL?
When Wrap is disabled the search & replace is only executed from the cursor position to the top/bottom of the file(depending on the direction of your seach) . When wrap is enabled the search & replace is executed on the complete file.
I found that the "whole word" search does not behave like on some other editors. In the posted text, the "/<" and ">/" are considered words by Notepad++ (v5.4.5 uni), and thus "<StoreName>" will not be found but "/<StoreName>/" will. For the same reason, searching for "/" will not find the occurrences in "/<" and ">/". Both VisualStudio2005 and NetBeans6 will find "<StoreName>" when in "whole word" mode.
Clyfton Hayes III
But if I click the button REPLACE ALL or REPLACE ALL IN ALL OPENED DOCUMENTS then it should not matter whether I've selected WRAP or not right?
It shouldn't your right, but it does seam to...
It should. This is an useful distinction between "Replace all occurrences downstream" (without wrap) and "Replace all occurrences everywhere". (with wrap).
What I'd suggest, however, is that the button text should reflect the state of the wrap checkbox. "Replace all" would be toggled to "Replace remaining", and "Replace all in all opened documents" would become "Replace all REMAINING in all opened documents".
I'd call this an undoumented feature rather than a bug. (Hm, probably not mentioned on the wiki explicitly enough).
Are you _really_ using v5.4.5? If not, the bug is not fixed... I could not download your test file, the address being blocked by firewall.
I confirm that the problem is present in v5.4.5, which uses Scintilla v1.78 right? (before their fix in v1.79)
As test file, just create a new file, encoded in UTF-8, and write in it "a½½½½½½½½½½..." (that's an "a" followed by at least 150 "1/2"; the line must have more than 300 bytes for the problem to happen) The first character is one byte, which "unalign" the following 2-byte characters.
The Gun 37
frboyer explained clearly. Glad to hear it's a known bug handled already.