The old name was bad because port is not listening, rather *something* is
listening on the port. The new name is better because we can extend it
like
listening_on -u UDP_PORT
listening_on -s UNIX_SOCKET
listening_on -a 127.0.0.1 -t 80
...
without losing much readability.
This uses even other function __cut_stack to identify two function
names: $caller is the first function on the stack to be be outside
API and is interesting for user so can be used in pretty printer
(typically for debug output). $internal is name of the wrapper
from this API; this is used to choose the right pretty printer
(debug, warn...).
Due to immature way how mkpretty loads pretifier, `ffood import` is
called with every output, which makes any other debugging output
useless.
Hot fix is to use different switch. Should the mkpretty mechanism be
improved, we can merge the switches back.
Mkpretty is now always on and defined globally as name of the pretifier,
which is "plain" by default.
"plain" prettifier only adds "debug" and caller name prefix to the debug
output.
usage is supposed to be implemented in user script by call to usage_is
(so that the actual patterns can be defined only once and on the lowest
indent level).
So actually when we see usage_is, we want to skip one FUNCNAME in stack.
(This will not work properly if the suggested usage is not adhered to.)