Subject: bug#42232: Fix for lisp/allout-widgets void variable

From: Ken Manheimer <[email-masked]>
Date: Mon, 6 Jul 2020 13:43:06 -0400

The attached patch provides for a background void-variable error that
happens when parts of an outline are being concealed. Because the error
happens via the after-change-functions hook, it was being caught by an
allout provision and reported in the mode line.

To see the error before applying the patch, make a simple outline, activate
allout-mode, and then conceal a part of the outline by positioning on the
item whose contents you can hide and using `allout-hide-current-subtree'
(by default, bound to '\C-c SPC \C-h'). When the problem occurs you will
see a message in the mode line, like:

allout-widgets-last-hook-error stored,
allout-widgets-hook-error-handler/error (void-variable handled-conceal)
 6-Jul-2020 01:10:58 PM

You can then see that message and a full backtrace in the *Messages* buffer.

(The let declaration for the variable was probably removed because use of
the variable is oblique. It happens through `(symbol-value handling)'.)