[Alex]
>> Just brainstorming, but -- maybe this means we should generalize the idea?
>> I.e., allow other cases in which "just
>> mentioning X" means "call function Y [with the following arguments]", at
>> least at the interactive prompt if not more
>> generally. If /F's idea gets
>> implemented by binding to names 'exit' and 'quit' the result of some
>> factory-call with "function to be called" set to
>> sys.exit and
>> "arguments for it" set to () [[as opposed to specialcasing checks of last
>> commandline for equality to 'exit' &c]]
>
[Walter]
> We have sys.displayhook and sys.excepthook. Why not add a sys.inputhook?
> sys.inputhook gets passed each line entered and may
> return True if it has processed the line inself and False if normal handling
> of the input should be done.
> This allows special treatment of "quit", "exit", "help" and it might make
> implementing alternative shells for Python easier
> (without having to subclass code.InteractiveConsole).
[Alex]
>> then the
>> implementation of the generalization would be no harder. I do find myself
>> in
>> sessions in which I want to perform some action repeatedly, and
>> currently the least typing is 4 characters (x()<enter>) while this would
>> reduce it to two
Hmm. . .
def default_inputhook(statement):
try:
aliased = sys.aliases[statement]
except KeyError:
return False
else:
aliased()
return True
sys.aliases = dict(exit=sys.exit, quit=sys.exit)
sys.inputhook = default_inputhook
I think Walter's idea may have merit (although I believe the input hook should
be passed whole statements, rather than individual lines).
Cheers,
Nick.
--
Nick Coghlan | [EMAIL PROTECTED] | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com