Mark Harig idirectscm@aim.com writes:
On 4/18/2010 1:17 PM, Stas Boukarev wrote:
- If a :type keyword value of 'integer is specified in the
definition of `slime-threads-update-interval', then the *Customize* buffer will prevent the setting of the variable's value to a non-integer. This would need to be combined with setting the default value for the variable to zero instead of nil, and with a change to the code that uses the variable, in the function `slime-list-threads'.
I changed type to (choice (number :value 0.5) (const nil))
number, because it takes not only integers.
Please note that when this is combined with the code in the function `slime-list-threads':
(when slime-threads-update-interval ...
the code allows negative values to be passed to `run-with-timer' (and eventually flagged as invalid in the function `run-at-time'). If the user-interface code in SLIME catches the invalid value before it is passed down the call chain to the timer code, then it should be clearer to the user where s/he made the error.
I don't see an easy way to restrict that number in defcustom. And it's clear from the backtrace where the negative value is coming from. If the user is willing to shoot himslef in the foot, let him do it.