Q:

(e)def and BibLaTeX

I'm trying to understand why the following code does not work:
\documentclass[12pt]{book}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\setotherlanguage{english}
\def\col{\begin{english}:\end{english}}
\usepackage{filecontents}

\begin{filecontents*}{library.bib}
@article{Bara2006,
  author = {Bara, Judith},
  title = {{English Citation: entry}},
  year = {2006},
  journal = {Journal of Space},
  pages = {20\col1--20\col12},
}
@article{Baranov2001,
  author = {Jacques, Paul},
  title = {{Citation française : espace}},
  year = {2001},
  journal = {Comptes Rendus sur les Espaces},
  pages = {20:1--20:12},
}
\end{filecontents*}
\usepackage[bibencoding=auto,backend=biber,autolang=other]{biblatex}
\addbibresource{library.bib}
\DefineBibliographyStrings{french}{
    inseries = {dans},
    in = {dans}
}
\begin{document}
\textsc{url:} www. \\
\begin{french}
\textsc{url:} www. \\
\end{french}
\textsc{url:} www. \\
\textsc{url\col} www. \\
C'est un essai. \parencite{Bara2006,Baranov2001}
\printbibliography
\end{document}

If I comment the line \printbibliography, everything runs as expected.

A:

You want to define \col as a character that's not influenced by the interchar token state; you also want that the English citation is typeset using English rules, that's obtained by setting the hyphenation field.
\documentclass[12pt]{book}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\setotherlanguage{english}

\newcommand\col{\mbox{\XeTeXinterchartokenstate=0 :}}

\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}
@article{Bara2006,
  author = {Bara, Judith},
  title = {{English Citation: entry}},
  year = {2006},
  journal = {Journal of Space},
  pages = {20\col1--20\col12},
  hyphenation={english},
}
@article{Baranov2001,
  author = {Jacques, Paul},
  title = {{Citation française : espace}},
  year = {2001},
  journal = {Comptes Rendus sur les Espaces},
  pages = {20\col1--20\col12},
}
\end{filecontents*}
\usepackage[bibencoding=auto,backend=biber,autolang=other]{biblatex}
\usepackage{csquotes}
\addbibresource{\jobname.bib}
\DefineBibliographyStrings{french}{
    inseries = {dans},
    in = {dans}
}
\begin{document}
\textsc{url:} www. \\
\begin{french}
\textsc{url:} www. \\
\end{french}
\textsc{url:} www. \\
\textsc{url\col} www. \\
C'est un essai. \parencite{Bara2006,Baranov2001}
\printbibliography
\end{document}

