Am 04.02.2026 um 18:10 schrieb Brian Inglis via Cygwin:
On 2026-02-04 02:56, Vincent via Cygwin wrote:
My request is related to an issue I opened in the FLAC Github :
https://github.com/xiph/flac/issues/861
After some investigations, the issue is related to the build release
of the
FLAC package provided by Cygwin : the man pages of flac(1) and
metaflac(1)
use the HYPHEN (U+2010 ) character instead of the HYPHEN-MINUS (U+002D)
character.
These two commands expect HYPHEN-MINUS character, so if you
copy-paste the
man page options in your terminal, it will fail.
Example : flac ‐‐version
will return an error : « can't open input file ‐‐version: No such
file or
directory », because of « ‐‐version » with HYPHEN copied-pasted from
the
man pages.
The right string is « --version » with HYPHEN-MINUS (U+002D).
Example : flac --version
will return : « flac 1.5.0 »
Please, feel free to read the issue in Github (
https://github.com/xiph/flac/issues/861 ) for more details, as it's
easier
to read code and quotes with the markdown formatting.
This is a very pretty nasty kind of bug, because it's very difficult to
distinguish HYPHEN-MINUS and HYPHEN in a terminal. It's also very
difficult
to figure out why the command has failed, as the « No such file or
directory » is not the root cause of the problem.
I think a new build release to fix this, would be very welcome.
Thank you very much for your time and your great work. :)
It’s really a nuisance that man (presumably gnu man, but I don’t
remember the details of a previous discussion) changed interpretation of
some important characters into „glyphs“ that some witty people thought
to be nice but are completely non-functional.
It applies not only to „-“ but also to „~“. Look at `man bash` and
search for bashrc and you'll see the tilde symbol replaced by an ugly
superscript „small tilde“. Why??
Package maintainers are forced to adapt their man pages and either
replace all occurrences of these characters by corresponding escapes or
apply these two global tricks per man page:
.char ^ \(ha
.char - \N'45'
Thomas
Upstream sources seems to provide only .md man sources and no b-r
package for conversion (pandoc unavailable from Cygwin) so man pages
are generated for the upstream sources, and this conversion generates
man page options with plain text hyphen-minus, which are treated by
man as normal text *hyphen* `‐` not plain text *minus* `-`.
In man pages you use escaped hyphen-minus `\fB\-v\fR` to treat them as
minus text `-` as used in options `-v`.
We see this use of unescaped hyphens in the upstream tar files, below,
so please complain upstream about their man page generation, and
reopen their issue:
```
$ wget https://mirror.../x86_64/release/flac/flac-1.5.0-1-src.tar.xz
$ tar -xvf flac-1.5.0-1-src.tar.xz
flac-1.5.0-1.src/
flac-1.5.0-1.src/flac-1.5.0.tar.xz # upstream sources
flac-1.5.0-1.src/FLAC.cygport
$ tar -xvf flac-1.5.0-1.src/flac-1.5.0.tar.xz
flac-1.5.0/man/{,meta}flac.1
flac-1.5.0/man/flac.1
flac-1.5.0/man/metaflac.1
$ grep -m5 '\\f[[{]\?B[]}]\\\?-' flac-1.5.0/man/{,meta}flac.1
flac-1.5.0/man/flac.1:\f[B]-\f[R] \f[I]\&...\f[R] ]
flac-1.5.0/man/flac.1:\f[B]flac\f[R] [ \f[B]-d\f[R] |
\f[B]--decode\f[R] | \f[B]-t\f[R] |
flac-1.5.0/man/flac.1:\f[B]--test\f[R] | \f[B]-a\f[R] |
\f[B]--analyze\f[R] ] [
flac-1.5.0/man/flac.1:\f[I]infile.ogg\f[R] | \f[B]-\f[R]
\f[I]\&...\f[R] ]
flac-1.5.0/man/flac.1:\f[B]-d\f[R], analysis with \f[B]-a\f[R] or
testing with \f[B]-t\f[R].
flac-1.5.0/man/metaflac.1:\f[B]-o\f[R] \f[I]filename\f[R]\f[B],
--output-name=\f[R]\f[I]filename\f[R]
flac-1.5.0/man/metaflac.1:\f[B]--preserve-modtime\f[R]
flac-1.5.0/man/metaflac.1:\f[B]--with-filename\f[R]
flac-1.5.0/man/metaflac.1:\f[B]--no-filename\f[R]
flac-1.5.0/man/metaflac.1:\f[B]--no-utf8-convert\f[R]
```
[pasted upstream also but can not reopen issue!]
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple