www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2026/02/05/07:57:17

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 615CvGtp1231210
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 615CvGtp1231210
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=v3rL7N8/
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8B0A74BA2E13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1770296235;
bh=E8U/KTzboT2YY7lePhrNVcc5DNDfKEYZkqMDi8l/cOA=;
h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=v3rL7N8/79Pw+5jc0PWN6UKFE7L0xwCZoBQ2JZRFy/8crFEoJiQYWQrJhbAbD1fNP
1a3SX12uptgpHL75lv9tc88MYXmKXWDW/KHHusl0AevzsylN3s1yOMrIZvviMlF99V
qRAydJ3bb/buSA3//nsfGxN2nytzUAnkfSxBjCL0=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 304774BA2E08
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 304774BA2E08
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770296215; cv=none;
b=SI43FTfy2fyQjYjtMZ8je/rhagcpcDTxXlZaLS2qIkwCU012RTe5tZF+BdEr362pWuPd/SLCL26D4kg+YDq9TZQvhu6L+EDdXhYJ90XZnQOABlLR9ScsyTT00U7o7q3Pb5cQjWb8UVUOI/KvrnjQ3kLWwqOM9Wff8lkCRC3O4q4=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1770296215; c=relaxed/simple;
bh=L3l0hm3VmXv5+oSSu5iNdbcIjX8QNtm5jKecROKOcSA=;
h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From;
b=mp1MII5DlBFI8YBERTgHMTCI1wFVX1LQtF7ez26J+J8ydOFn3y+gAWcgR9QcZkpmJb8EP8zJJ94znN5Gc+oiHJ9pUnuWwJSukqHHGrnhTZ5uvDFGnKFG5gxtoC+WGXcc1zrgiQRKQitsXIkXPVKq7pEOf42/9TMjBaloNouQS34=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 304774BA2E08
X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6
Message-ID: <2df6193d-2b40-42ab-bad4-9d3b827e0daf@towo.net>
Date: Thu, 5 Feb 2026 13:56:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [FLAC 1.5.0-1] Man pages use HYPHEN character instead of
HYPHEN-MINUS.
To: cygwin AT cygwin DOT com
References: <CAAA95V9-WVQh5hbOvtZhCOBU8JpmfR98E+=aQyeOa+b1H2S_-Q AT mail DOT gmail DOT com>
<bb351b4c-cf88-4480-b58a-46301a084c17 AT SystematicSW DOT ab DOT ca>
<2eb7528d-babd-4bc8-9c0d-b2f77499a627 AT towo DOT net>
<943e0dd6-cde5-4195-94f6-e5c15c5895f5 AT SystematicSW DOT ab DOT ca>
<aYPUuBjYmf-HoTAn AT sdf DOT org>
<CAKwdsS9nVc3KNPL7A3YdN8BaECvtz0HxpQfiZ6G25Mf28RHhHw AT mail DOT gmail DOT com>
Autocrypt: addr=towo AT towo DOT net; keydata=
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 kQ==
In-Reply-To: <CAKwdsS9nVc3KNPL7A3YdN8BaECvtz0HxpQfiZ6G25Mf28RHhHw@mail.gmail.com>
X-Provags-ID: V03:K1:R/Qb88llaaGske8LBDL6AJ0XSSnLUePzSirfhTFyt5TY2lfJwiF
zc9YjfreIQ00a4m9CXNHx9jUWfrFJ+dt0RdXMw3PUnlZXAddIGLrnbBuWAldePWqqvrKJ/Q
w0/h6ga9fZ859IHHstq/bHvbU8TTplPaj8T2HxgRtSk882ZBXmIyzfqXUP8GtHNKCzOfcra
tK6722SoUP7E5bDDUQjZw==
UI-OutboundReport: notjunk:1;M01:P0:HCZUo6BgQcI=;RofRb6xoBEA+bvdQqnf7zP83Vxw
Bg9z5S70mnit7XMG+dyWlwTEwOqkkM5JibG1JSKEAIdFZMuQ+N0pzPAgHjdiLQ25rkmVkwPB+
IXCbwJtARZ/9qi+K956CB/rCVoTcRLsuxpfkTKVAcQcDmbOThwk0Y33trVN37KppteRvjeUJz
w0usb/0pOrx4UPgPxL1PgK+rEm96JsXnHXVDqFviJhWsHIv/vLhLklzk1TTXL4VDJr5lQq0HV
booPbUJ+5kToGf+6/d31DoE32ja5hCuNiZ+rJpieHMNZh7UMRks0fkeWveQrgxMk7y/rj1zvh
TV9TSE+5ukgJP0PiwC2SpBGzmFKqj0ySN16x8AMJHFgy5PY0VAi9NZk+W9DPf/KSehx/gq8zM
YH5EoGIYzFvTd8PV84wL9aspCYDskoTecGxkLy8jXp+JgpFUVg3uOA/LMn8Srb3tsyKHGRzel
ksE58usB5XDY2af4SnMrG2LyGXwBu7byu/pXEP3U6CE4moUvxWVW81nWCO7tECnJU17Q6PiGg
bTHMn5GDnP5fKJUYFacOLc7V/DfLViWX40tew7Q1hXf5qi09DiFWNyecPDGOz6u1KDYcMsKTT
oFRoNWzKt7PnKEUfZ3vRh69N0MOOa3ZtPPuXOwx81yksvH43yABUaJ32Edp6leZ9tRjuvnr68
du09S0vO0dnOiZLQgjYlVgYy5zO1cooECl8g5ayOgjD/+mS2cuYiMYuTrQzcGPtIws2wiVGks
3sBPC4O9BwwdJ2i3/Fs28oafHo4krGcYt/GWAh7tJTGVA/paBoQHVK5YxIP2c8F6WIxvx8re7
3lNRrnPE14YY4UFZTAHwM0p5Mkl8P4za78rTAZTaRsjCLGsPJQ/WwfWOzGkwfaqoaakMFM/N/
koIqaDxoXeqz/OhojRG4TfGlVGNWkT+6uwS/KHUSKZ6t4hly9SejbC54NicsunAwaI5PVvVoC
ezi5n5QUs5OKF0x01MIQGI4zmtFq8GGm9FR0Wob6FYw+17o1wcb1FIou6CoTNO+hvgw/DAatf
aInGJvFOTFMXN+6TxNW61DmxJMr1Jnm14cKUJR8ii1CwfWc973+m8mMsmb694vn8LbXXdZcov
fZsrAI5fLcB9KRK+SxZ73o3c2Mb9lLklDrjE+04D/qr9uwE1ZURt9s7CfiMwGIZhffBHf73y1
/Twmet4mVzfCFihyxhodGte4ZUQfTlR+SgB/31HCSj6vrV/K0fpnLVzdgareaQg4HcXbRUYyd
+xwbY3MaVO6te/gByJiJx4GAmmDKlYV1Nxt8/kobatP9MKoqpLXIjKpnwjhaD3qUAqyjKH52G
7aJV+AXym/EpdWyUNTfOW/ELn/VG5Kqk0yKODmK2Pb4haLt8d8iRdZSW6FuEsHxR2a24Aarpt
dBozXgNR200blaCA3+/e2T98BZKeviT9aD+VAitc2/4ujkEZh2iaLEqdz/PQc2COVsdW4F1Gs
1xERBuMDxh6Ae+i8uXYxkIIhH4xK7lpSmOzuM4DcsOB/vhCpPyYvzlvtoRXwyguvYwxxQIdvx
0zIkQF2WS8ySDsXTmHFWJrbvlKXu9kQgq4b6N6Vl7c2SYOPWIgU09ZuaZ1WHjwg47sSMElVvM
/LZUDfh8Fy+bfqZnfSpOziP0yWcR5Dz4sVznVZvS5pin4CxcNcoui6HC8mvoXagR51P/m4zVI
jwM34W94mPQX+w1K39BoTJgysnc0b2XUT7yQgQTfDD1JiFPXiStnjztFKeoVZFunG0/TlkU/P
kXV2CuO8ysyMb
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Thomas Wolff via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Thomas Wolff <towo AT towo DOT net>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 615CvGtp1231210


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 <cygwin AT cygwin DOT com> 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019