Predelnik / DSpellCheck

Notepad++ Spell-checking Plug-in
GNU General Public License v2.0
198 stars 33 forks source link

DSC does not Automaticly Check Spelling even when the Option is Checked with the Native Library in Win 10 on NPP 7.8.9. #222

Closed MadokaAyukawa closed 3 years ago

MadokaAyukawa commented 4 years ago

After upgrading, the document will not be automatically spell checked with 1.4.16 and 17 with the Native Win 10 library in NPP 7.8.9. I can turn the option off and on, and it will check the displayed portion of the document. If I scroll down, the misspellings will not be marked again. It's possible that DSC has spellchecked the document, and it's a display issue with NPP.

It does seem somewhat random as sometimes it seems to work normally, but this non-checking has happened multiple times now for me to post an issue.

Edit: It also seems to have the same issue with the Hunspell library.

Edit2: If I type something in the section of the document that's not showing any spelling errors, then DSC will display the errors.

Predelnik commented 4 years ago

Has this problem appeared only with the latest versions or has it always been the case? Currently seems to work fine for me but I have only 7.8.7 N++

MadokaAyukawa commented 4 years ago

This is new with 7.8.9. It seems to work with 7.8.8. When I scroll in 7.8.8, I can see DSC marking new misspellings. 7.8.9 seems to be stopping DSC from refreshing the screen until I type something as far as I can tell.

Predelnik commented 4 years ago

I've installed 7.8.9, seems to work fine for me, do you maybe have any specific file where it can be reproduced? And maybe just in case post contents of %appdata%\Notepad++\plugins\config\DSpellCheck.ini and list other plugins you have installed

MadokaAyukawa commented 4 years ago

[SpellCheck]
Hunspell_Multiple_Languages=en_GB|en_US
Hunspell_Language=<MULTIPLE>
Native_Speller_Multiple_Languages=en-CA|en-US
Native_Speller_Language=<MULTIPLE>
Underline_Style=0
Ignore_Have_Capital=0
Ignore_All_Capital=0
United_User_Dictionary(Hunspell)=1
Library=2

It will do it on most files, it seems. I would have to re-install 7.8.9 to check as I've been using 7.8.8.

MadokaAyukawa commented 4 years ago

I re-installed 7.8.9 again. It can happen to any text file. It's somewhat random as the same file will work fine one time and not another time. I did notice when NPP/DSC is not displaying the misspellings, just clicking on another tab and back will display the misspellings in the visible section of the file. The rest of the file will not show the misspellings so one needs to repeat that tab clicking procedure. Going back to 7.8.8 for now.

Predelnik commented 4 years ago

I already found 7.8.9 problem with "Suggestions button" which is annoyingly hard to fix (and I can't ask N++ to fix it either it seems), it would be really sad if there's another issue like it :(

Truthowl commented 4 years ago

I'm having the same issue except I'm using npp 7.8.8. Thank you @MadokaAyukawa for the tip of switching tabs and then back to show misspellings. That works for me too. I'm using Windows 10. I just noticed this today. I don't use npp very often so I don't know how long the issue has been happening.

Predelnik commented 4 years ago

Still can't reproduce it on my side unfortunately, if you figure anything specific for when it happens or about your setup please share it. Also you may try Enable Debugging Log from Additional Options in case this happens, then scroll a bit, then Open Debug Log, don't forget to disable it after though, it may provide marginal benefit in figuring out what's going on.

MadokaAyukawa commented 4 years ago

I found a file that does this. Could it be that big block of text in the [Font] section messing up DSC? It doesn't do it all the time. I tried single and multiple languages, and that doesn't seem to matter.

Okane no Kireme ga Koi no Hajimari S01E01 1080p WEB-DL AAC H.264-NSBC.ass.zip

Predelnik commented 4 years ago

@MadokaAyukawa Thank you for sending a specific file, can't reproduce it for now after trying some stuff. Just wanted to make sure - you are not using any UDL for .ass files?

MadokaAyukawa commented 4 years ago

No I am not. I have not added any UDLs in NPP++.

Predelnik commented 4 years ago

Seems like I was able to reproduce it once but was not in debug at that time unfortunately and after restarting can't reproduce anymore 😢

MadokaAyukawa commented 4 years ago

Yeah it's like that, seems random. It also does it with the new 7.9.

Predelnik commented 4 years ago

Finally solved! Due to poorly written code, scroll and fast typing after that is breaking rechecking mechanism for scroll, will try to fix asap.

MadokaAyukawa commented 4 years ago

Thank you so much for looking into this!

MadokaAyukawa commented 4 years ago

1.4.18 didn't fix this issue with 7.9

Predelnik commented 4 years ago

I can't reproduce it the same way at least which was very easy before, very strange. Maybe I'll have to look into it again for next version then(

Predelnik commented 3 years ago

At least some cases of this should be fixed by 1.4.18, if it still happens it would be great to find specific scenarios for reproducing.

MadokaAyukawa commented 3 years ago

The new release (19) does this right away on the first run of NPP. I closed, and reopened and it did it again.

I have been trying out prior version to see if I can find one that doesn't do it. I'm testing 14 right now. 15–19 will all stop spell checking on it's own.

Predelnik commented 3 years ago

@MadokaAyukawa Can you check if this version helps in your case? x64: https://ci.appveyor.com/project/Predelnik/dspellcheck/builds/35944924/job/6osmew4lux84hqk5/artifacts x86: https://ci.appveyor.com/project/Predelnik/dspellcheck/builds/35944924/job/lp477xen1she2wqj/artifacts I cannot reproduce it but there might be some rough parts in rechecking which I'm trying to fix (and need to do more probably). If it does I will likely include this in 1.4.19.

MadokaAyukawa commented 3 years ago

I have downloaded it and will test it. Good news is that it does spellcheck when I first open NPP. I'll keep checking as I still have not determined what conditions will cause the non-checking to start and things seem random still.

I have been testing 14 for about a week, and so far it has worked so far. Will report back.

MadokaAyukawa commented 3 years ago

Here's an interesting development. The lowercase i is marked as misspelled under line 3, but not in the later ones in the beginning of the line, but is marked at the end of the line. Further down in the file, it is marked both beginning and end.

Untitled

Predelnik commented 3 years ago

@MadokaAyukawa That I can reproduce and luckily it's a separate issue with native speller, currently it does combine all the words to be checked in a single space separated line before calling an API due to it being much faster, but spell-checking API seems to apply some positioning logic to frequent words such as "i". Combining does seem to be less of importance now as updates are spaced out by timer but still gives some benefit, not sure if there would be some easy fix without disabling it but I will look into that.

Anyway, I found another issue with timer initialization I will post a link to binary here soon. And now I'm certainly going to add these changes to 1.4.19.

Edit: x64: https://ci.appveyor.com/api/buildjobs/7ugcmjy105bapq80/artifacts/DSpellCheck.dll x86: https://ci.appveyor.com/api/buildjobs/hew60sjw1q2ogvtc/artifacts/DSpellCheck.dll

Edit2: Fixed links

MadokaAyukawa commented 3 years ago

I got the 32-bit version when clicking on the 64-bit link and NPP had a fit. :)

Predelnik commented 3 years ago

@MadokaAyukawa Sorry for this, fixed the link

MadokaAyukawa commented 3 years ago

No worries. Testing the new one now.

MadokaAyukawa commented 3 years ago

I have started testing .20. The good news is that the version that I got from the above link worked fine and did not demonstrate the non-spelling behavior.

MadokaAyukawa commented 3 years ago

I've been testing .20 or over a month now, and so far DSC has worked as expected ever time.

Predelnik commented 3 years ago

Very good then, I guess this issue can be finally closed now, seems like all the problems were due to mishandling of timers by me.