@@ -223,7 +223,7 @@ def _compile_and_eval(
223223 eval (bytecode , globs , locs )
224224
225225
226- def _make_method (script , filename , globs , locals = None ) -> dict :
226+ def _make_method (script , scriptlines , filename , globs , locals = None ) -> dict :
227227 """
228228 Create the method with the script given and return the method object.
229229 """
@@ -237,7 +237,7 @@ def _make_method(script, filename, globs, locals=None) -> dict:
237237 linecache_tuple = (
238238 len (script ),
239239 None ,
240- script . splitlines ( True ) ,
240+ scriptlines ,
241241 filename ,
242242 )
243243 old_val = linecache .cache .setdefault (filename , linecache_tuple )
@@ -534,6 +534,7 @@ def _make_cached_property_getattr(cached_properties, original_getattr, cls):
534534
535535 return _make_method (
536536 "\n " .join (lines ),
537+ lines ,
537538 unique_filename ,
538539 glob ,
539540 locals = {
@@ -769,13 +770,15 @@ def __repr__(self):
769770
770771 def _eval_snippets (self ) -> None :
771772 """Evaluate any registered snippets in one go."""
772- script = "\n " .join ([snippet [0 ] for snippet in self ._script_snippets ])
773+ script_lines = [snippet [0 ] for snippet in self ._script_snippets ]
774+ script = "\n " .join (script_lines )
773775 globs = {}
774776 for _ , snippet_globs , _ in self ._script_snippets :
775777 globs .update (snippet_globs )
776778
777779 locs = _make_method (
778780 script ,
781+ script_lines ,
779782 filename = _generate_unique_filename (self ._cls , "methods" ),
780783 globs = globs ,
781784 )
0 commit comments