+\def\ltj@overwrite@primitive#1{%
+ \begingroup
+ \def\ltj@loop##1{%
+ \unless\ifx##1\ltj@@q@stop
+ \escapechar-1
+ \edef\ltj@@next{\unexpanded{\let\ltj@@temp}\csname ltj@@\string##1\endcsname}\ltj@@next
+ \ifx\ltj@@temp\relax
+ \escapechar92
+ \PackageInfo{luatexja}{Cannot redefine \string##1, since it is not redefined\MessageBreak by LuaTeX-ja}%
+ \else\ifx\ltj@@temp##1
+ \escapechar92
+ \PackageInfo{luatexja}{No need to redefine \string##1, since it is not\MessageBreak
+ overwritten by packages other than LuaTeX-ja\MessageBreak}%
+ \else
+ \edef\ltj@@next{\unexpanded{\global\let##1}\csname ltj@@\string##1\endcsname}%
+ \escapechar92\PackageInfo{luatexja}{Redefining \string##1}\ltj@@next%
+ \fi\fi
+ \let\ltj@@next\ltj@loop
+ \else\let\ltj@@next\relax\fi\ltj@@next
+ }%
+ \ltj@loop#1\ltj@@q@stop
+ \endgroup
+}