2
$\begingroup$
Protect[x];
Internal`LocalizedBlock[{x[0]}, x[0] = 1; x[0]]

StringForm: Item 2 requested in " `1` cannot be interpreted. The operator `2` requires a subscript with a variable specification. " out of range; 1 items available

Internal`LocalizedBlock: ​ x[0] cannot be interpreted. The operator `2` requires a subscript with a variable specification.

This looks like a bug in the implementation to me; it is trying to create a message without supplying enough arguments.

But it's an internal function, after all, so would you report this?

$\endgroup$
  • 4
    $\begingroup$ Personally I wouldn't report it because for partly subjective reasons it's not clear to me that this should work (I won't argue that because it's not the point I want to make). It doesn't mean that you should not report it though, if you are convinced that it is wrong behaviour. However, if you do: make sure your report is clear and concise and make your intention clear. You are reporting something that you think may be a bug because you think this report may help Wolfram. $\endgroup$ – Szabolcs Sep 1 '16 at 13:23
  • 2
    $\begingroup$ Do not create the impression that you are asking for support or complaining. Be prepared to get the (likely) response that "this is unsupported and undocumented functionality". That doesn't mean they won't pass your report on to a developer. This is all just my personal opinion based on my experience with support. I think any time there's a chance to improve Mathematica it's worth reporting. $\endgroup$ – Szabolcs Sep 1 '16 at 13:23
  • 5
    $\begingroup$ (A side note on why I don't think this is a "bug": 1. it's for internal use and the use case may not have included protected symbols 2. I don't expect good error checking on internal functions. When writing packages, I find it extremely tedious to write bulletproof error checking. Often it takes more time to implement than the core of the function ... at least if I want to do it right without performance penalties.) $\endgroup$ – Szabolcs Sep 1 '16 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.