Feature summary (what you would like to be able to do and where):
As of today, there are several LaTeX macros which allows to put (almost) arbitrary Unicode content in a <mtext> tag in the produced MathML : \text, \mbox, and more generally every macro with the box_functions tag. I would like to have a macro which do the same, but which put the content in a <mo> tag.
Use case(s) (list the steps that you performed to discover that problem, and describe the actual underlying problem which you want to solve. Do not describe only a solution):
A lot of symbols cannot be typed in math blocks today, which is quite limiting, especially since actual LaTeX implementations allow arbitrary unicode in formulas (with unicode-math). For example, I couldn't type ⅋ and I had to do use spacing tricks to type ⟦ and ⟧ (see https://phabricator.wikimedia.org/T391290). With a macro named for example \mobox, one could simply type \mobox{⅋} or \mobox{⟦}.
Benefits (why should this be implemented?):
Of course, one could write these characters inside a \text, but it doesn't respect the semantics of MathML. Moreover, for delimiters for example, one would like that they scale if they are combined with \big or \left, so it is not fully satisfying.
I don't really know if this extension is commited to use only a valid subset of LaTeX, because then adding a macro *which doesn't exists in any LaTeX package* would break this commitment. Maybe the source rendering mode should just delete the use of this macro if we want it to output valide LaTeX (e.g. it would transform \mobox{a} in a). Also, I'm not sure about which options pass to the mo tag. Some operators use stretchy="false" by default, other do not (and MathML itself has its own default), even parentheses/brackets/braces are not consistent about fence="false"), and operators next to \left or \right get fence="true", stretchy="true", symmetric="true". I think a good default would be stretchy="false", fence="false", but maybe there can be several macros, or a macro with optional arguments, to handle all the cases.
I have working a prototype for this, which works with both client MathJax rendering and MathML rendering, but I don't know enough the extension to know if it broke something I didn't see.