# What is the status of ::usage and Templates in Mathematica v11?

Since Mathematica 9, a number of issues concerning the ::usage and templates were raised.

In 9.0, there was a bug first reported here and better diagnosed here, where error messages were generated by simply moving the insertion point somewhere in the argument of a function for which a ::usage was defined. This was fixed in 9.0.1

Starting in version 9.0 and observed through 10.4.1, it was reported here that functions with formatted ::usage needed ?Function to be called twice in order for messages to be rendered properly. A bandaid solution was given here.

Certain inflexibility about the text in the templates was raised here and again here, and inconsistencies reported here (also see here).

The consensus I gather from the discussion in the comments above is that ::usage and templates are implemented in Mathematica in a very kludgy way. This can be a source of major frustration for package developers.

So the question I raise is which of the issues have been addressed in v10 and v11? Are there plans for a major overhaul of the ::usage system?

• In version 10.0.0 the formatted ::usage problem seems to be fixed, or at least I could not reproduce it. The completion template problems appear to remain. – Mr.Wizard Sep 2 '14 at 10:25
• @Mr.Wizard, I reproduced the formatting problem in version 10 using this code. Since it's been a problem since at least version 6, and there's a one-line fix, you'd think they'd have fixed it already. – Simon Rochester Sep 3 '14 at 0:03
• @SimonRochester does the formatting problem persist in v10.3? – QuantumDot Dec 13 '15 at 22:28
• The "need to call it twice" issue seems to persist in 10.3. – Simon Rochester Dec 14 '15 at 21:37
• Unfortunately, the "need to call it twice" issue seems to persist in 10.4 as well. – MarcoB Mar 6 '16 at 4:59