wucuo icon indicating copy to clipboard operation
wucuo copied to clipboard

wucuo is not automatically checking the buffer after the update interval

Open CSRaghunandan opened this issue 4 years ago • 8 comments

As mentioned in the Readme, I saved the file and expected wucuo to start spell checking after the update interval. But even after waiting a really long time, wucuo is not checking the buffer.

I tried running flypsell-region and flyspell-buffer and they seem to be working fine. I tested with both hunspell and aspell dictionaries.

CSRaghunandan avatar May 31 '20 15:05 CSRaghunandan

I change the interval to 2 seconds. The check process starts when you saving the buffer.

redguardtoo avatar Jun 01 '20 00:06 redguardtoo

I notice the same thing. So wucuo only start spell checking after the first save? It seems like spell checking happens after a save but is not updated at any interval after that. I have wucuo-update-interval at the default 2

dyereh avatar Jan 27 '21 04:01 dyereh

what's the output after (setq wucuo-debug t)? I can't reproduce the bug.

redguardtoo avatar Jan 27 '21 06:01 redguardtoo

Upon opening a file: wucuo-start called. as excepted but that's it.

After modifying and saving: wucuo-spell-check-buffer called. <- But I didn't see an spell checking on the incorrectly spelled word I entered

After modifying and saving again:

wucuo-spell-check-buffer called.
wucuo-spell-check-visible-region called from 5548 to 7026; major-mode=c-mode
Starting new Ispell process hunspell with default dictionary...done
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=ret rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=(font-lock-comment-face), current-font-face=font-lock-comment-face
wucuo-generic-check-word-predicate => word=is rlt=t wucuo-extra-predicate=(lambda (word) t) subwords=(is)
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-type-face
wucuo-generic-check-word-predicate => word=actuatorIF rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=(font-lock-variable-name-face), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=itf rlt=t wucuo-extra-predicate=(lambda (word) t) subwords=(itf)
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=getName rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=getName rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-keyword-face
wucuo-generic-check-word-predicate => word=const rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-type-face
wucuo-generic-check-word-predicate => word=actuatorIF rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=(font-lock-function-name-face), current-font-face=font-lock-function-name-face
wucuo-spell-checker-to-string => cmd=hunspell -a -d en_US rlt=@(#) International Ispell Version 3.2.06 (but really Hunspell 1.7.0)
*
*
 [2 times]
wucuo-generic-check-word-predicate => word=ActuatorMotor rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=(Actuator Motor)
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-keyword-face
wucuo-generic-check-word-predicate => word=const rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-keyword-face
wucuo-generic-check-word-predicate => word=const rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-type-face
wucuo-generic-check-word-predicate => word=actuatorMotor rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-type-face
wucuo-generic-check-word-predicate => word=cfg rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=(font-lock-variable-name-face), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=cfg rlt=t wucuo-extra-predicate=(lambda (word) t) subwords=(cfg)
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=cfg rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=(font-lock-variable-name-face), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=nicie rlt=t wucuo-extra-predicate=(lambda (word) t) subwords=(nicie)
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nicie rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=cfg rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=feedbacks rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=actuatorMotor rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=feedbacks rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-type-face
wucuo-generic-check-word-predicate => word=impl rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=calloc rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-keyword-face
wucuo-generic-check-word-predicate => word=sizeof rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=impl rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=mutex rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=mutex rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=memcpy rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=feedbackIFs rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=cfg rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=feedbacks rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-keyword-face
wucuo-generic-check-word-predicate => word=sizeof rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=actuatorMotor rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=feedbacks rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=memcpy rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=maxRatings rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=cfg rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=maxRatings rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-keyword-face
wucuo-generic-check-word-predicate => word=sizeof rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=actuatorMotor rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=maxRatings rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=motorDriverIF rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=cfg rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=motorDriverIF rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=strlcpy rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-constant-face
wucuo-generic-check-word-predicate => word=ULA rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-constant-face
wucuo-generic-check-word-predicate => word=ULA rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=isEnabled rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=memcpy rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=itf rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=itf rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=font-lock-keyword-face
wucuo-generic-check-word-predicate => word=sizeof rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=actuatorIF rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=itf rlt=nil wucuo-extra-predicate=(lambda (word) t) subwords=nil
mode-predicate=nil
font-matched=(font-lock-comment-face), current-font-face=font-lock-comment-face
wucuo-generic-check-word-predicate => word=alsdkf rlt=t wucuo-extra-predicate=(lambda (word) t) subwords=(alsdkf)
mode-predicate=nil
font-matched=(font-lock-comment-face), current-font-face=font-lock-comment-face
wucuo-generic-check-word-predicate => word=whenj rlt=t wucuo-extra-predicate=(lambda (word) t) subwords=(whenj)

All incorrectly spelled words in visible region are highlighted as expected, but when I got to type new incorrectly spelled words they are not getting highlighted - I have to save the buffer to get additional debug output. I have ensured that flyspell mode is disabled for this buffer.

image

dyereh avatar Jan 27 '21 14:01 dyereh

spell checking is triggered when you save current buffer, see https://github.com/redguardtoo/wucuo#usage

That's the key difference from flyspell-mode. The purpose of such design is make Emacs light weight.

I know the minor bug that first saving does not trigger the spell check actually. I will fix it soon.

redguardtoo avatar Jan 28 '21 01:01 redguardtoo

Sounds good - I appreciate your work developing this package!

What is the usage for wucuo-update-interval then? From your documentation I thought it was the time interval at which the spell checking is called periodically, but I don't see it being called periodically, I only see it called after saving

dyereh avatar Jan 28 '21 01:01 dyereh

Saving might happen too frequently. I use some auto save package.

redguardtoo avatar Jan 28 '21 02:01 redguardtoo

I see - so spell checking only happens on save and wucuo-update-interval prevents the spell checking from happening too frequently if you use an auto-save package?

dyereh avatar Jan 28 '21 03:01 dyereh