|
From: | Vinicius Jose Latorre |
Subject: | Re: How to know if a key is pressed without getting it? |
Date: | Sun, 26 Sep 2010 22:08:23 -0300 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.13) Gecko/20100914 SeaMonkey/2.0.8 |
The problem that I'm trying to fix is an specific slow down in whitespace when user holds space key pressed at end of a line. The slow down is caused by whitespace which call jit-font-lock-refontify each time the user press a space at end of line. If it is possible to detect that user is still pressing a key, I could fix the slow down by not calling jit-font-lock-refontify while user is pressing a key.Calling it without any BEG and END args is a bad idea for something that can run at each key press.
Despite jit-font-lock-refontify args, this was not a problem in Emacs 22.In Emacs 22, jit-font-lock-refontify was called at each end of line with or without trailing spaces.
I had to modify this because since Emacs 23, calling jit-font-lock-refontify causes a slow down in whitespace-mode.
You could try to check input-pending-p, but note that the pending input may end up not running any command, so you may end up with a display in an incorrect state for an unlimited amount of time, since the next post-command-hook may not be run for the same unlimited amount of time.
Yes, you're right.
BTW, calling jit-font-lock-refontify in Emacs 22 didn't cause any slow down, but this happens in Emacs 23 and 24. Probably jit-font-lock-refontify or some part of font-lock was modified in Emacs 23.I can't think of what that slowdown may come from, so it might be worth investigating.
I agree.
[Prev in Thread] | Current Thread | [Next in Thread] |