7
$\begingroup$

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?

$\endgroup$
6
  • $\begingroup$ just a symbol I've placed to make it cause an error. $\endgroup$
    – Jonie
    Jul 24, 2013 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, 2013 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, 2013 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$ Jul 24, 2013 at 7:45
  • 1
    $\begingroup$ I call them "mouse-over messages". I suspect they are generated with ToolTip. $\endgroup$
    – m_goldberg
    Jul 24, 2013 at 12:04

1 Answer 1

5
$\begingroup$

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.

$\endgroup$
1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.