Hi the list ! I've an annoying bug with flyspell which is related to sit-for.
The point is that flyspell try to correct me whenever I hit a touch which has postfix combination, and not only when I hit delimiter keys. After little investigation, this bad result is caused by : (defun flyspell-check-word-p () "Return t when the word at `point' has to be checked. The answer depends of several criteria. Mostly we check word delimiters." (cond [...] ((symbolp this-command) (cond ((get this-command 'flyspell-deplacement) (not (eq flyspell-previous-command this-command))) ((get this-command 'flyspell-delayed) ;; the current command is not delayed, that ;; is that we must check the word now (sit-for flyspell-delay)) [...] More precisely the `sit-for'. For a test-case : (defun test-case-after-change (a b c) (if (sit-for 3) (message "sit-for: t") (message "sit-for: nil"))) (defun test-case () (interactive) (set (make-local-variable 'after-change-functions) '(test-case-after-change))) With a buffer `foo', M-x test-case RET and then with no input method specified, just hit repeatedly (but don't stay on the touch), let's say, `u'. You'll have something like sit-for: nil [14 times] sit-for: t in your *Messages* buffer. This result is expected : sit-for is interrupted and return nil, then the last `u' produce a successful sit-for. Now, clear `foo', and M-x set-input-method RET latin-1-postfix RET Now do the same (with `u', as it has suffix options), and it'll result in: sit-for: t [14 times] Outch ! `sit-for' exits with `t', what a mess ! I think this is a bug of the C function `detect_input_pending' or the way input-method are managed, can you reproduce it ? -- Michael Cadilhac, a.k.a. Micha [mika] | Epita/LRDE promo 2007 | Please note that you should 2 rue de la Convention | 08.70.65.13.14 | s/[EMAIL PROTECTED]/@/ my mail address. 94270 Le Kremlin Bicetre | 06.23.20.31.30 |
pgpJyMWCrPA8a.pgp
Description: PGP signature
_______________________________________________ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug