# Turkish babel and acronym package issue

When using babel-turkish package with package acronym, following error is producing.:

! Missing \endcsname inserted. \relax l.9 \AC@undonewlabel{acro:GSM}

The code is below:

\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % also latin5
\usepackage[turkish,shorthands=:!]{babel}
\usepackage{mathpazo}
\usepackage{lipsum}
\usepackage[printonlyused,withpage]{acronym}

\begin{document}

\chapter{A}

In the early nineties, \ac{GSM} was deployed in many European countries.
\acf{GSM} offered for the first time international roaming for mobile
subscribers. The \acs{GSM}’s use of \ac{TDMA} as its communication standard was
debated at length. And every now and then there are big discussion whether
\ac{CDMA} should have  been chosen over \ac{TDMA}.

\begin{acronym}[TDMA]
\acro{CDMA}{Code Division Multiple Access}
\acro{GSM}{Global System for Mobile communication}
\acro{NA}[\ensuremath{N_{\mathrm A}}]
\acro{NUA}{Not Used Acronym}
\acro{TDMA}{Time Division Multiple Access}
\acro{UA}{Used Acronym}
\acro{lox}[\ensuremath{LOX}]{Liquid Oxygen}%
\acro{lh2}[\ensuremath{LH_2}]{Liquid Hydrogen}%
\acro{IC}{Integrated Circuit}%
\acro{BUT}{Block Under Test}%
\acrodefplural{BUT}{Blocks Under Test}%
\end{acronym}
\end{document}


When I commented out the line \usepackage[turkish,shorthands=:!]{babel}, everything is OK. Why are errors caused? Thank you for your valuable time.

The acronym package uses a colon in its internal labels and this conficts with the active colon set up by babel-turkish. There's nothing special about the colon, so we can change it into something else, possibly unique. I chose @@@@.

\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % also latin5
\usepackage[turkish,shorthands=:!]{babel}
\usepackage{mathpazo}
\usepackage{lipsum}
\usepackage[printonlyused,withpage]{acronym}

\usepackage{xpatch}

\makeatletter
\xpatchcmd{\AC@@acro}{:}{@@@@}{}{}
\xpatchcmd{\AC@@acro}{:}{@@@@}{}{}
\xpatchcmd{\AC@placelabel}{:}{@@@@}{}{}
\makeatother

\begin{document}

\chapter{A}

In the early nineties, \ac{GSM} was deployed in many European countries.
\acf{GSM} offered for the first time international roaming for mobile
subscribers. The \acs{GSM}’s use of \ac{TDMA} as its communication standard was
debated at length. And every now and then there are big discussion whether
\ac{CDMA} should have  been chosen over \ac{TDMA}.

\begin{acronym}[TDMA]
\acro{CDMA}{Code Division Multiple Access}
\acro{GSM}{Global System for Mobile communication}
\acro{NA}[\ensuremath{N_{\mathrm A}}]