I attempted to evaluate the following

Plot[x^2, {x, 1, 2}, PlotStyle -> {RGBColor[a]}]

which, of course, failed. After the failure, putting my mouse over the graphics produced

RGBColor called with 1 argument; 3 or 4 arguments are expected.

As far as I'm concerned, Mathematica messages are in the syntax of Symbol::Tag : Message, yet these don't follow that format. I can also add the message to the Messages window by clicking on the red [+] at the top-right of the graphics cell.

So what does Mathematica call these messages and how are they generated?

  • $\begingroup$ just a symbol I've placed to make it cause an error. $\endgroup$ – Jonie Jul 24 '13 at 5:54
  • 1
    $\begingroup$ Yeah, it normally just echoes the input. That's why I'm wondering what Mathematica considers these as, because they aren't normal messages that follow the syntax Symbol::Tag :Message. $\endgroup$ – Jonie Jul 24 '13 at 5:59
  • 5
    $\begingroup$ I would call these messages FrontEnd messages, because the plotting is partly done by the FrontEnd and not the Kernel. But I'm not so fluent in the correct "nomenclature" that you may be looking for. $\endgroup$ – Jens Jul 24 '13 at 6:37
  • 3
    $\begingroup$ I'd call them Front End Messages too. The Symbol::Tag messages are handled by the kernel - note that in the Preferences dialog they are referred to as "Kernel Messages" and are under the Evaluation tab, whereas "Formatting error indications" (i.e. the pink box) is under the Interface tab. RGBColor[a] is completely legitimate code as far as the kernel is concerned, so there are no kernel messages. It's only when the front end attempts to display the graphic that the problem arises. $\endgroup$ – Simon Woods Jul 24 '13 at 7:45
  • 1
    $\begingroup$ I call them "mouse-over messages". I suspect they are generated with ToolTip. $\endgroup$ – m_goldberg Jul 24 '13 at 12:04

If you execute the command in your question and do ShowExpression on the output cell containing the pink graphics box, you see the following code:

GraphicsBox[{{}, {}, {RGBColor[$CellContext`a], ...

This is further indication of what I suggested in the comment - that the error occurred when the FrontEnd was ultimately unable to find a value for a in the context of the Cell in which the graphic is displayed. By leaving the last word on what a could be to the FrontEnd, it becomes possible to do dynamic manipulations, such as wrapping the above Plot command in Dynamic and then changing

a = Sequence[.5, .6, .7]

This would turn the initially empty plot into a valid cell, making the error go away without re-evaluating the input cell.

In conclusion, there is some evidence and reasonable consensus that the messages you see in examples like this could be called FrontEnd messages.

My own experience has been: The more you work with dynamic manipulations, the more likely you are to encounter these FrontEnd messages.


Your Answer

