
query_input_pending()
*********************


DEPRECATED
==========


SYNOPSIS
========

   object query_input_pending(object ob);


BESCHREIBUNG
============

   Wenn <ob> interaktiv und ein input_to() haengig ist, so liefert die
   Efun das Objekt zurueck, welches den input_to() aufgerfuen hat. Ist
   kein input_to() haengig, liefert die Funktion 0.


SIEHE AUCH
==========

   input_to(E), find_input_to(E), input_to_info(E), remove_input_to(E)
