lh: don't shadow "msg" variable
lh: don't shadow "msg" variable

Previously, the reassignment to "msg" actually didn't work as expected
because the "msg" inside the if-block is actually in its own scope. See
https://stackoverflow.com/questions/39550644/elixir-set-variable-in-if-statement.

The simple solution here is to just use a new variable "msg_final"
instead.

Without this fix, the very first time we store the cached value, we
actually return a "null" value, like this:

    {"path_shortened":null}

because the function scope's "nil" value for "msg" is never overwritten.

listx/syscfg,listx/syscfg,listx/syscfg,listx/syscfg,listx/syscfg