22
33import os
44import sys
5+ import inspect
56from warnings import warn
67from typing import Union as UnionType , Optional
78
6566PTK3 = ptk_version .startswith ('3.' )
6667
6768
68- class _NoStyle (Style ): pass
69-
69+ class _NoStyle (Style ):
70+ pass
7071
7172
7273_style_overrides_light_bg = {
@@ -83,6 +84,20 @@ class _NoStyle(Style): pass
8384 Token .OutPromptNum : '#ansired bold' ,
8485}
8586
87+
88+ def _backward_compat_continuation_prompt_tokens (method , width : int , * , lineno : int ):
89+ """
90+ Sagemath use custom prompt and we broke them in 8.19.
91+ """
92+ sig = inspect .signature (method )
93+ if "lineno" in inspect .signature (method ).parameters or any (
94+ [p .kind == p .VAR_KEYWORD for p in sig .parameters .values ()]
95+ ):
96+ return method (width , lineno = lineno )
97+ else :
98+ return method (width )
99+
100+
86101def get_default_editor ():
87102 try :
88103 return os .environ ['EDITOR' ]
@@ -762,7 +777,9 @@ def get_message():
762777 "message" : get_message ,
763778 "prompt_continuation" : (
764779 lambda width , lineno , is_soft_wrap : PygmentsTokens (
765- self .prompts .continuation_prompt_tokens (width , lineno = lineno )
780+ _backward_compat_continuation_prompt_tokens (
781+ self .prompts .continuation_prompt_tokens , width , lineno = lineno
782+ )
766783 )
767784 ),
768785 "multiline" : True ,
0 commit comments