Re: [FLAC 1.5.0-1] Man pages use HYPHEN character instead of HYPHEN-MINUS.

Thomas Wolff via Cygwin <[email protected]>
Newsgroups gmane.os.cygwin
Message-ID <[email protected]>

Am 05.02.2026 um 12:11 schrieb Backwoods BC via Cygwin:
> On Wed, Feb 4, 2026 at 3:23 PM Dr Bean via Cygwin <[email protected]> wrote:
>> On Wed, 04 Feb 2026, Brian Inglis via Cygwin wrote:
>>
>>> On 2026-02-04 12:03, Thomas Wolff via Cygwin wrote:
>>>> 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'
>>> It appears to be a consequence more of groff -man being upgraded to produce
>>> better quality typographic output more consistently with other macro
>>> packages, output devices, and more comprehensive font, character, and glyph
>>> sets, while not penalizing the other existing macro packages originally
>>> designed and intended to produce quality output: see groff(7),
>>> groff_rfc1345(7), and groff_char(7), for example:
>>> "The developers of AT&T /troff/ chose mappings for them that would be useful
>>> for typesetting technical literature in a broad range of scientific
>>> disciplines
>>> ...
>>> Keycap  Appearance and meaning   Special character and meaning
>>>    "     " neutral double quote   \[dq] neutral double quote
>>>    '     ’ closing single quote   \[aq] neutral apostrophe
>>>    -     ‐ hyphen                 \- or \[-] minus sign/Unix dash
>>>    \     (escape character)       \e or \[rs] reverse solidus
>>>    ^     ˆ modifier circumflex    \(ha circumflex/caret/“hat”
>>>    `     ‘ opening single quote   \(ga grave accent
>>>    ~     ˜ modifier tilde         \(ti tilde"
>>> Really this tension between compatibility with tty input and basic/draft and
>>> typographic quality output has existed since the earliest days of
>>> computerized text formatting and typesetting with various levels of higher
>>> quality output devices from dot matrix, daisy wheel, phototypesetter,
>>> electrostatic, laser, and higher quality rendering devices.
>>> [Note: \N'#' refers to the current output font glyph index *NOT* an input code.]
>>>>> 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]
>>>>> ```
>>> --
>> My experience with the man page of `which`, which
>> mirrors that of Vincent with FLAC
>>
>> http://drbean.sdf.org/LooksLikeHyphen.html
> My experience is that this is a problem pretty much everywhere on the
> 'Net. Long ago I wrote a simple filter script to remove all
> non-printing characters and CR and LF from the clipboard contents and
> put the result back into the clipboard. I then display the contents
> for a few seconds before closing the window. This won't properly deal
> with Unicode in the copied data, but at least you can see that the
> data is bogus.
>
> As a Cygwin newbie long ago, I was constantly getting errors because
> of spurious CR characters in copied text. Sometimes it was completely
> non-obvious that this was the problem and it wasn't until I started
> using my filter script regularly that I stopped getting mysterious
> errors.
>
> If someone wanted to write a clipboard "purifier" that would
> de-Unicode and de-HTML the data, I'd be forever grateful. I wouldn't
> have a clue how to go about this myself.
>
This isn't the issue. I don't think you'd want your clipboard contents 
mangled from what you copied.
The problem discussed here is what `man` provides for copying in the 
first place.

Revised my workaround for man page maintainers:
.char - \-
.char ^ \(ha
.char ~ \(ti

And you may add these or keep their special layout:
.char ` \(ga
.char ' \(aq

Thomas

-- 
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.