(I asked about this a year ago, but must have forgotten about it.)
There are many cases where a user invoked a command that doesn't make any sense, so the RPC can't complete with a meaningful answer, but it would also be overkill to throw the user into a debugger. It would be nice to abort the RPC with a message to the user, such as `Package does not exist' for `slime-repl-set-package' or `Undefined function' for `slime-disassemble-symbol'. It looks like there was once a time when a message could be supplied with a :ABORT result from an RPC, and there are some vestigial remnants of support for it -- `slime-rex' forms with (:ABORT &OPTIONAL REASON), and indeed the documentation of `slime-rex' says that the reason is not optinoal --, but there are many other uses that prohibit a reason from being supplied.
Is there a good reason for :ABORT responses not to have an optional message associated with them, or would a patch be welcomed for all of the uses of `slime-rex' to consistently accept an optional message?