In §6.1 of the luaotfload doc, about luaotfload-tool, the --update argument is
printed with a double hyphen inline, as it should be, but with (what looks
like) a single hyphen displayed, and same for the --force argument.
I noticed that when getting
$ luaotfload-tool -update -force
Unknown option `-d'
Looking closer in luaotfload-main.tex and luaotfload-latex.tex, the input is
the correct "--update" for both, but the inline version is called via
\lstinline from the listings package while the displayed version uses the
in-house \beginlistingindeed which picks up \ttfamily hence the mono font.
So I think the problem arises because the mono font, Liberation Mono, is called
with Ligatures=TeX, so that -- yields a en-dash – as output:
\setmonofont[Ligatures=TeX,Scale=MatchLowercase]{Liberation Mono}
The same mistake had initially been made for TUG's distribution of the Lucida
OpenType fonts, but was later corrected after it was realized that "0A for
example (upright quote) for a character code inside \verb yielded ”0A
(forward-bent quote) in the output. So went "Ligatures=TeX", for the mono font
only. See
http://www.tug.org/store/lucida/README-opentype/lucidaot.tex
Hope this helps,
Bruno Voisin