33import asyncio
44import os
55import sys
6+ import inspect
67from warnings import warn
78from typing import Union as UnionType , Optional
89
6667PTK3 = ptk_version .startswith ('3.' )
6768
6869
69- class _NoStyle (Style ): pass
70-
70+ class _NoStyle (Style ):
71+ pass
7172
7273
7374_style_overrides_light_bg = {
@@ -84,6 +85,20 @@ class _NoStyle(Style): pass
8485 Token .OutPromptNum : '#ansired bold' ,
8586}
8687
88+
89+ def _backward_compat_continuation_prompt_tokens (method , width : int , * , lineno : int ):
90+ """
91+ Sagemath use custom prompt and we broke them in 8.19.
92+ """
93+ sig = inspect .signature (method )
94+ if "lineno" in inspect .signature (method ).parameters or any (
95+ [p .kind == p .VAR_KEYWORD for p in sig .parameters .values ()]
96+ ):
97+ return method (width , lineno = lineno )
98+ else :
99+ return method (width )
100+
101+
87102def get_default_editor ():
88103 try :
89104 return os .environ ['EDITOR' ]
@@ -764,7 +779,9 @@ def get_message():
764779 "message" : get_message ,
765780 "prompt_continuation" : (
766781 lambda width , lineno , is_soft_wrap : PygmentsTokens (
767- self .prompts .continuation_prompt_tokens (width , lineno = lineno )
782+ _backward_compat_continuation_prompt_tokens (
783+ self .prompts .continuation_prompt_tokens , width , lineno = lineno
784+ )
768785 )
769786 ),
770787 "multiline" : True ,
0 commit comments