[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
sit-for (detect_input_pending ?) and postfix input methods.
From: |
Michael Cadilhac |
Subject: |
sit-for (detect_input_pending ?) and postfix input methods. |
Date: |
Sun, 02 Oct 2005 13:54:23 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
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/address@hidden/@/ my mail
address.
94270 Le Kremlin Bicetre | 06.23.20.31.30 |
pgp7sN1MtZGmX.pgp
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- sit-for (detect_input_pending ?) and postfix input methods.,
Michael Cadilhac <=