GNOME Bugzilla – Bug 153631
The description of recalclag is unclear
Last modified: 2004-12-22 21:47:04 UTC
I have problems understanding the following message: #: schemas/gnumeric-general.schemas.in.h:13 msgid "" "If this value is positive, auto expressions are recalculated within that " "many millesecond after a change. If it is negative they are recalculated " "with the magnitude many milleseconds after the last change where 'last' is " "defined as the end of a period of that size after a change with no changes." My interpretation is that positive lag means that auto expressions are recalculated at most `lag' milleseconds after a change. Negative lag means that gnumeric first waits for a quiescent period of length |lag| milleseconds (quiescent means that no change appears during it) and then starts recalculating; it has another |lag| milleseconds to complete the recalculation. Please fix the description.
Now I saw the code: The situation is like this: If `lag' is non-negative, a recalculation starts at most `lag' milleseconds after each change. That means that if `lag' is zero, all auto expressions are recalculated immediately after each change. If `lag' is negative, the recalculation is started |lag| milleseconds after last change. In other words, gnumeric waits for |lag| milleseconds after each change; if no other change appears during that period, a recalculation is started.
Another proposed formulation: If `lag' were 0, gnumeric would recalculate all auto expressions immediately after each change. Non-zero values allow gnumeric to acumulate more changes before it does the recalculation. If `lag' is positive, then whenever a change appears, gnumeric waits that many milleseconds and then recalculates; if more changes appears during that period, it's processed together with this one. If `lag' is negative, then recalculation happens only after a quiet period of |lag| milleseconds. In other words: If `lag' is non-zero, gnumeric accumulates changes. If the oldest (for lag positive) or newest (for lag negative) change is |lag| milleseconds old, it recalculates all the auto expressions. Please choose the best parts of my proposals.
I have changed the schema to include essentially your last description. Please note that the internal settings have been removed from the preference dialog, so this description is only visible for those using the gconf-editor to finetune their settings.
Thanks! It's always good to have a comprehensive description (I got there when I grepped the source tree).