I am trying to fix a problem that had not appeared earlier. Maybe the distro got updated...
With TeXLive up to 2015, the following example was working:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{soulutf8}
\usepackage[russian]{babel}
\begin{document}
\so{Князь Батог-Батыев} % Fine
Князь Батог"=Батыев % Fine
\so{Князь Батог"=Батыев} % Not fine
\end{document}
The macro "= produces a hyphen that allows breaks in both parts of the compound word.
Now, pdfLaTeX compiler returns an error:
! Argument of \language@active@arg" has an extra }.
<inserted text>
\par
l.8 \so{Князь Батог"=Батыев}
The solutions for similar problems here, here, and here suggest turning off shorthands. However, I am using the "= shorthand throughout the document and do not want to replace "= with - inside \so{...} because, firstly, this used to work, secondly, the words separated with a "= have really long parts, so disabling hyphenation in both parts with - will have a detrimental effect. Finally, I want to preserve homogeneity: it is highly undesirable to have \so{Firstname-Secondname} in remark sub-headings and Firstname"=Secondname inside regular paragraphs.
What can be done in this case?

Argument of \language@active@arg" has an extra }error. – egreg Jul 26 '17 at 21:03