//var -s %a $unsafe(a)
* Set %a to $unsafe(YQ==).undo
//var -s %a $unsafe(%null)
* Set %a to
It looks like $unsafe is an alias that behaves like
alias makesafe {
if (.prop == undo) returnex $decode($1,m)
var %string $encode($1,m)
return $ $+ makesafe( $+ %string $+ ).undo
}
The handler for .undo obviously has no trouble when the input string is blank, but if there is a problem inside the code where it doesn't like creating the .undo string to be blank, assuming .undo is being handed to the subroutine handling $decode, can simply make the string be a single base64 symbol, which $decode would return as the empty string. So the final return could be preceded by:
if (%string == $null) var %string A
So the solution is to have $unsafe($null) return either $unsafe().undo or $unsafe(A).undo