In french typography, colons are preceded by a space,
but lines can't be broken at such a place. It is a
pain to specify a no-break-space explicitely in a
document, and LaTeX has this handled by babel, as the
following demonstrates:
====
\documentclass{article}
\usepackage[french]{babel}
\begin{document}
\section{ma section}
Voila du texte, plein de texte, plein de texte, plein
de texte, plein
de texte, plein :
Et encore du texte, plein de texte, plein de texte,
plein de texte, plein
de texte, plein de texte.
\end{document}
====
Just comment out the babel line and compare.
I attempted to use it in jadetex, with a Q&D hack of
including the babel line in jadeted.dtx and rebuilding
the Debian package, to be sure the .fmt would get
rebuilt correctly - and it does not change a thing.
1. I don't think it's normal that babel fails to work here
2. babel should be invoked according to the document's
language, probably not unlike hyphenation is handled.