Here's a thread where we can discuss bugs and intricacies of MML. The practice of each bug having it's own thread is rather messy IMHO, because most bugs are so small they don't warrant a discussion at all. I'll start it off.
In the MML specification, macro names are said to be up to 8 alphanumeric characters long. In practice, this is not the case. Here is example output from DIRECT mode.
BGMPLAY "{ABCDEFGH=}" Illegal MML(BGMPLAY:1) {ABCDEFGH=} ^ Too long macro name (in Track 0) OKThe MML parser encounters the error when it reaches the 8th character of the macro name, limiting you to 7 characters. I don't believe this to be a case of the manual being incorrect, I believe this is a bug. 8 is a very round, normal number to programmers (it being a power of 2), and 7 is the exact opposite (being a prime). It's also a very easy bug to make, so it wouldn't surprise me.