> From patching I know that it would be far more convenient to be able to reference the patch-local $0 variable in messages.

That's what users have requested $0 in msg boxes to do for over
a decade. And that is what Ico implemented in Pd-l2ork.

> Perhaps in that case there should also be a [selector] object that reports the selector of a message? getting it using [route] seems
unnecessarily complicated..

What is wrong with [my_selector(--[list]--[$1(

Also-- I'm not familiar with any cases where a user has requested
the ability to reference the selector with $0. I'm only familiar with
cases where a user has requested getting ce_dollarzero in msg
boxes, a dev denying it, then another dev suggesting that $0 could
expand to the selector in msg boxes without providing a use case.

> On the other hand, having $0 represent the selector would be the most consistent solution, because you can not get other patch-local variables
or arguments in message boxes, [...]

I don't understand what the word "solution" means here. If users
have repeatedly requested msg box $0 to expand to glist's
ce_dollarzero, why would Pd Vanilla give $0 in msg boxes a
different function that is incompatible with object box $0?

-Jonathan