# Tag Info

Here is a method using Off and On triggered by the first appearance of the message. I avoid unprotecting any System Symbols by using TagSetDelayed. I use $Post to turn the message back on. Modification of your function is not required; this operates via the low-level Message system. Code: badness::oops = "Watch out! Result could be ... 3 It's been a day and no has posted a truly elegant, natural, and general solution, so I'll post a narrow one. By default, a message is stopped when it occurs three times in$MessageList. One can reduce the number of times a message is printed by pre-loading $MessageList with it. Block[{$MessageList}, Unprotect[$MessageList];$MessageList = ...