I think you're misunderstanding what Xinhuan is talking about. The only places you can link stuff in-game are guild and officer chats, trade and whispers. You can't link in the General channels, the defense channels or user-defined channels. Add-ons go around that by using a custom-made syntax for links allowing you to link stuff. Problem is, there are multiple chat add-ons and many people do not use any at all, and for them, it doesn't appear as a link, it appears as garbage since they have no add-on to decode it.
Now in your case, it happened in Trade chat. They may have used an add-on which created that type of link instead of using the default Blizzard linking.
To Xinhuan's point, I happen to agree. That should be off by default. And you would think add-ons wouldn't use their custom-made links in channels where Blizzard allows linking anyway. And what happened in your screenshot would not have happened. Not sure how Prat works, just speaking generally here.
Would someone linking with blizzards default tradeskill and chat cause that. Cause I had a friend who doesn't use Prat or a tradeskill addon link his enchanting and it came out messed up on my end. I did not mean to sound rude to Xinhuan so I am sorry.
I've said again and again, that chat linking stuff should be OFF by default, and enforced by the addon not to be linkable to the public chat channels. The majority of wow players do not use Prat/Chatter.
I get annoyed a lot every time i see a CLINK:blahblah or a mangled link due to no fault of my own.
Unfortunately it is not a feature from Prat but the game. Linking your tradeskills is a new feature of the game with the 3.0.2 patch. The Prat chatlink feature is different usage.
[2008/11/07 15:13:11-1166-x2]: Prat-3.0-Beta 14 \modules\PlayerNameGlobalPatterns.lua:94: attempt to index local 'Name' (a nil value)
Prat-3.0-Beta 14 \modules\PlayerNames.lua:743: in function `?'
CallbackHandler-1.0-3 (Ace3):146: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:146>
<string>:"safecall Dispatcher":4: in function <[string "safecall Dispatcher"]:4>
<in C code>: ?
<string>:"safecall Dispatcher":13: in function `?'
CallbackHandler-1.0-3 (Ace3):91: in function `Fire'
AceEvent-3.0-3 (Ace3):70: in function <Interface\AddOns\Ace3\AceEvent-3.0\AceEvent-3.0.lua:69>