In Polish typography dash (pol. myślnik) should not be put after a line break. Below you can find badly and correctly typed samples using en dash (pol. półpauza) and em dash (pol. pauza).
\documentclass[12pt]{article}
\usepackage[paperwidth=95mm,paperheight=55mm,margin=5mm,right=24mm,marginparsep=5mm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{xcolor}
\pagestyle{empty}
\begin{document}
% line break before a dash is a sin according to Polish typography rules
\leavevmode\marginpar{\textsc{\color{purple}źle\\(bad)}}%
To jest maciupeńki test półpauzy -- na Zachodzie nazywanej \emph{en dash}. {\color{orange}\hfill~--}
\par \emph{Em dash} za to nazywamy pauzą --- obecnie dość rzadko spotykana. {\color{orange}\hfill~---}
\vfill
% line break after a dash -- this is the way it should be done
\leavevmode\marginpar{\textsc{\color{teal}dobrze\\(good)}}%
To jest maciupeńki test półpauzy~-- na Zachodzie nazywanej \emph{en dash}. {\color{orange}\hfill~--}
\par \emph{Em dash} za to nazywamy pauzą~--- obecnie dość rzadko spotykana. {\color{orange}\hfill~---}
\end{document}

To obtain correct result I had to use non-breaking space (tie) before each dash.
Is it possible to fix behavior of all en/em dashes surrounded by normal spaces in LaTeX document?
Side note: I am not asking about workarounds requiring preprocessing, like using s/ -- /~-- / in Vim/sed/perl/etc.
En dashis never surrounded by spaces. It's always surrounded by characters. 2) It's not good to brake neither afterEn dash, nor before it. Better both words, or numbers, before and after theEn dashto be on the same line. 3)Em dashis treated as thehyphennot only in polish, but as far as I know, in all European languages. – Karl Karlsson Jul 05 '11 at 22:06texfile, not how they are interpreted, because they should be sometimes shorter than normal spaces. 2) Agree, but breaking after is still acceptable, breaking before is not. 3) Em dash (---) is definitely not a hyphen (pol. dywiz or łącznik) in Polish! It is-. Moreover, if it is used explicitly (like in compound words), it has its own special rule for breaking, because it must be repeated after line break (\def\dywiz{\kern0sp\discretionary{-}{-}{-}\penalty10000\hskip0sp\relax}from polski package). – przemoc Jul 05 '11 at 22:19‒(U+2012), then there is no space around it. But if it is used as pol. myślnik (in the old days only em dash was used for this purpose) like in my example or in non number only ranges (e.g. 1 stycznia -- 2 lutego [Jan 1 -- Feb 2]), then normal spaces should surround it. I am talking about Polish typography, other countries have their own rules and habits. – przemoc Jul 05 '11 at 23:06\XeTeXdashbreakstateis not involved as the problem is to break or not at spaces. – egreg Jul 06 '11 at 10:32