diff --git a/IPython/Prompts.py b/IPython/Prompts.py index 6ad6a13..e46aec5 100644 --- a/IPython/Prompts.py +++ b/IPython/Prompts.py @@ -2,7 +2,7 @@ """ Classes for handling input/output prompts. -$Id: Prompts.py 2899 2007-12-28 08:32:59Z fperez $""" +$Id: Prompts.py 2928 2008-01-10 14:30:51Z vivainio $""" #***************************************************************************** # Copyright (C) 2001-2006 Fernando Perez @@ -257,14 +257,19 @@ class BasePrompt(object): import os,time # needed in locals for prompt string handling loc = locals() - self.p_str = ItplNS('%s%s%s' % - ('${self.sep}${self.col_p}', - multiple_replace(prompt_specials, self.p_template), - '${self.col_norm}'),self.cache.user_ns,loc) - - self.p_str_nocolor = ItplNS(multiple_replace(prompt_specials_nocolor, - self.p_template), - self.cache.user_ns,loc) + try: + self.p_str = ItplNS('%s%s%s' % + ('${self.sep}${self.col_p}', + multiple_replace(prompt_specials, self.p_template), + '${self.col_norm}'),self.cache.user_ns,loc) + + self.p_str_nocolor = ItplNS(multiple_replace(prompt_specials_nocolor, + self.p_template), + self.cache.user_ns,loc) + except: + print "Illegal prompt template (check $ usage!):",self.p_template + self.p_str = self.p_template + self.p_str_nocolor = self.p_template def write(self,msg): # dbg sys.stdout.write(msg) diff --git a/doc/ChangeLog b/doc/ChangeLog index cc1999e..cc2272a 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2008-01-10 Ville Vainio + + * Prompts.py (set_p_str): do not crash on illegal prompt strings + 2008-01-08 Ville Vainio * '%macro -r' (raw mode) is now default in sh profile.