SYNOPSIS
        mixed query_notify_fail();
        mixed query_notify_fail(int flag);

BESCHREIBUNG
        Wenn <flag> nicht angegeben oder 0 ist, liefert die Funktion den String
        oder die Closure, die zuletzt als Fehlermeldung fuer ein Kommando
        gesetzt wurde (mit notify_fail()).

        Wurde keine Meldung gesetzt, wird 0 geliefert.

        Ist <flag> != 0 wird das Objekt zurueckgeliefert, was das letzte
        Notify-Fail gesetzt hat.

AENDERUNGEN
        Eingefuehrt in LDMud 3.2.7.
        LDMud 3.2.8 fuegte den Paramter <flag> hinzu.

SIEHE AUCH
        add_action(E), query_verb(E), query_command(E), notify_fail(E),
        hooks(C)
