Make VARIABLE become buffer-local whenever it is set.
At any time, the value for the current buffer is in effect,
unless the variable has never been set in this buffer,
in which case the default value is in effect.
Note that binding the variable with `let', or setting it while
a `let'-style binding made in this buffer is in effect,
does not make the variable buffer-local. Return VARIABLE.
In most cases it is better to use `make-local-variable',
which makes a variable local in just one buffer.
The function `default-value' gets the default value and `set-default' sets it. (fn VARIABLE)