@@ -751,7 +751,8 @@ function LocalScope(sym::Union{Num, Symbolic, Symbolics.Arr{Num}})
751751 if istree (sym) && operation (sym) === getindex
752752 args = arguments (sym)
753753 a1 = setmetadata (args[1 ], SymScope, LocalScope ())
754- similarterm (sym, operation (sym), [a1, args[2 : end ]. .. ])
754+ similarterm (sym, operation (sym), [a1, args[2 : end ]. .. ];
755+ metadata = metadata (sym))
755756 else
756757 setmetadata (sym, SymScope, LocalScope ())
757758 end
@@ -767,7 +768,8 @@ function ParentScope(sym::Union{Num, Symbolic, Symbolics.Arr{Num}})
767768 args = arguments (sym)
768769 a1 = setmetadata (args[1 ], SymScope,
769770 ParentScope (getmetadata (value (args[1 ]), SymScope, LocalScope ())))
770- similarterm (sym, operation (sym), [a1, args[2 : end ]. .. ])
771+ similarterm (sym, operation (sym), [a1, args[2 : end ]. .. ];
772+ metadata = metadata (sym))
771773 else
772774 setmetadata (sym, SymScope,
773775 ParentScope (getmetadata (value (sym), SymScope, LocalScope ())))
@@ -785,7 +787,8 @@ function DelayParentScope(sym::Union{Num, Symbolic, Symbolics.Arr{Num}}, N)
785787 args = arguments (sym)
786788 a1 = setmetadata (args[1 ], SymScope,
787789 DelayParentScope (getmetadata (value (args[1 ]), SymScope, LocalScope ()), N))
788- similarterm (sym, operation (sym), [a1, args[2 : end ]. .. ])
790+ similarterm (sym, operation (sym), [a1, args[2 : end ]. .. ];
791+ metadata = metadata (sym))
789792 else
790793 setmetadata (sym, SymScope,
791794 DelayParentScope (getmetadata (value (sym), SymScope, LocalScope ()), N))
@@ -800,7 +803,8 @@ function GlobalScope(sym::Union{Num, Symbolic, Symbolics.Arr{Num}})
800803 if istree (sym) && operation (sym) == getindex
801804 args = arguments (sym)
802805 a1 = setmetadata (args[1 ], SymScope, GlobalScope ())
803- similarterm (sym, operation (sym), [a1, args[2 : end ]. .. ])
806+ similarterm (sym, operation (sym), [a1, args[2 : end ]. .. ];
807+ metadata = metadata (sym))
804808 else
805809 setmetadata (sym, SymScope, GlobalScope ())
806810 end
@@ -817,12 +821,14 @@ function renamespace(sys, x)
817821 T = typeof (x)
818822 if istree (x) && operation (x) isa Operator
819823 return similarterm (x, operation (x),
820- Any[renamespace (sys, only (arguments (x)))]):: T
824+ Any[renamespace (sys, only (arguments (x)))];
825+ metadata = metadata (x)):: T
821826 end
822827 if istree (x) && operation (x) === getindex
823828 args = arguments (x)
824829 return similarterm (
825- x, operation (x), vcat (renamespace (sys, args[1 ]), args[2 : end ])):: T
830+ x, operation (x), vcat (renamespace (sys, args[1 ]), args[2 : end ]);
831+ metadata = metadata (x)):: T
826832 end
827833 let scope = getmetadata (x, SymScope, LocalScope ())
828834 if scope isa LocalScope
0 commit comments