In this example I must choose between \cref{sec:bar} and French spacing (o/w disabled using \NoAutoSpace; I presume because sec:bar is read sec\thinspacing:bar. Is there a solution?
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
%\NoAutoSpacing
\usepackage{cleveref}
\begin{document}
\section{Foo}
bonjour: monde; oui? non! «aujourd'hui»
% Voir~\cref{sec:bar}
%(./debug-108.aux)
%! Missing \endcsname inserted.
%<to be read again>
% \unskip
%l.14 Voir~\cref{sec:bar}
%
%?
\section{Bar}\label{sec:bar}
bonjour: monde; oui? non! « aujourd'hui »
\end{document}





sec-baror whatever instead.cleverefpackage is up front in mentioning that active characters mustn’t be used in the arguments of\labeland\crefinstructions, and that this stricture very much applies to the:character ifbabelis loaded withfrench.