Corruption when saving Lua startup script

I noticed that a specific character sequence in the Lua startup script seems to be interpreted as special; example:

    local request = endpoint .. "?name=" .. name .. "&notify=".. tostring(notify)

Notice the string “&notify”. After saving, it turns into this:

    local request = endpoint .. "?name=" .. name .. "?ify=" .. tostring(notify)

Notice the string has a special character in it now: “?ify=”

If I look at LuaUPnP.log, the string is correct:
local request = endpoint … "?name=" … name … "&notify="

Is there something significant about “&not”?

BTW, I can work around this by separating out “&” when constructing the string:

    local request = endpoint .. "?name=" .. name .. "&" .. "notify=" .. tostring(notify)

EDIT: that special character can’t be displayed on this page, and is showing up as ‘?’. The value of the character is actually 0xac (172 decimal), using od -x.

I just realized that it might be interpreted as an HTML escape character, and sure enough “¬” is character value 172.

So this is a bug in how Vera escapes HTML characters, since there is no “;” in that string.