DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 615FOKkv1304060 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 615FOKkv1304060 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=Tx1JVXyW X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3CE3E4BA543C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1770305059; bh=49rgv+7TCcGPiRNNJ4vMuV816KhPTzCTy4Nneeo+EGY=; h=References:In-Reply-To:Date:Subject:To:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=Tx1JVXyWFsmADoH8k00+naoGz/eCHhMQItut6dhgEkGaJ4s+XMDuOHZ+kVqA5FWWJ eBrBCe/sBg1KN6thqO3N0zQERu9mCo6MHzqR/+UFBJwHplpajOohYYGx8LtdryCxbK D52prOspWnWMz9gvagydFS9VT8mYJmBFg0Pro2Qw= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E021F4BA543C ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E021F4BA543C ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1770305039; cv=pass; b=UfYfyMqOP90oIC54ApFvPgNVyYrWfhOYhszANE6uWll4Ouxo7ErShOHx1kY3nASj6pw/R8r4mZE8Qk4eTu5ybM5DYSHQtKyhuT35ztyuUMnHwu4ZTrYdfIPFH/oIh0TYkSQlXxBL/l91INHR2NLq9hyv6lx8++xx+YrNPO5ZB1M= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1770305039; c=relaxed/simple; bh=xbfnyKZbRugeODalJj3GCCAXgwOe0mMb/mnXHym9GnE=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=tKAecYjvXhBoA5E2t3TJFNLjvJWGNydpVfZYTkiq1QM6jqO9swojQz8VbNlOYXbBHC0kYfOK8DHqUQtpbEpybY/8FV/Ut8yUZux/vLmRLQq5/J732JkQD9JhtgoXFKdh5Ketcq+dfZhEeYClzqDL466O9EOAJE4R0xzzHUX5iA8= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E021F4BA543C ARC-Seal: i=1; a=rsa-sha256; t=1770305037; cv=none; d=google.com; s=arc-20240605; b=VIGGbQCviUbcHHl4oHBf6r/77wgjKq3RxdpMaFc5bj5ioi5EeF1+miA4Ec5Jjo20No xDR44+uwViv4WzrRcjFC+XBW0ewnXN0Q48CLQN1kR8sSv2SF6kB+YJSdo00WTPd5ioXC EfDe/JQEcWD4jKutmuZQvaKRL+F6CdXaRkeWoyApgg4aYv4VkBAcE13ssPUA1ral83wT eVNueb8VjLi3AsEh3CzLTlJtO/NYqxm01FLh0JbwER/aFU2DHG4n0PINetZWIDk7u62u 4ahmgfahg/A1t1W47NVKCsMSPbCc6e/hElC/NJ16CDi9/V/Act4cKUpw047aOpGHJjP/ 1gkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=aTsJqQcFN9WvfApsxbc5Pn+jtMrPL/u+D0I4Mz0IU6A=; fh=108zC41fKpyj++nDr8ai636CMFBR8CFOdqiZXZ9WLHc=; b=aNKc7AcGMN5xjKMHvOEKMDQH+FTFnSZ5XOEuUGzY0VBe2ilYI6LQlmj/+G4gNSxUYC fWc33vjPJPcOPsa54myRq4dc2qpqb9ISdlqcqSGoA/xroNCDKE+B9pnZpfyZo6Pt68Iq E0TNGzP6PjaTn3zYD6zn0zU9cnDp3LDIwWqREjOIJtcim2mOWdSi9tjdQcd7NBogv9zT 5DcaS5EVmbefSbzzbAkj/oWizCaCGq1Yh9xrfSiDDcERXbIZkSCme13Fg2BeFP3MV9DI ZnnTIfXtKXTzFvkL3qM4W2IPcovIu9dHt33Xn3kVPtsOe+dqlETDcUWvPfgtxMqYriaG TbRw==; darn=cygwin.com ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770305037; x=1770909837; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=aTsJqQcFN9WvfApsxbc5Pn+jtMrPL/u+D0I4Mz0IU6A=; b=Hk8T1R0iE1WYMde7F5OGayQF494igeedlrs0xmiEnM5DmLQwgNsugkLRiFBEemncxj KjEz2CGqG1Ntd0Iag+QjMncfkLBmw9zcwhtAn4yWu2WXIYisXd0tiBIDEpR/PWJOXYas QPCd1gkDo1pOlFiDzFmbab2l/ga0D6rgd1vsn+b/ffjcmGYsO/XI0mPhqCZ7HP7d8ddG nodNtY8nVuvcgHjksI8vwMEHtM7dnVln2btteBVpoOFxpRZjqZZiBnOt4ceo8qFD5+G4 CSFI1+NfeDKINHxOt6pGx6rQg9AxySvFUM2rGG/8US17iCAvevXhP/sDmnBT5GzIMcN5 7aww== X-Gm-Message-State: AOJu0Yx6qCmIQ5MfqifWFQKIWf4YyolFGlBHv6NPhtJ+FeDXawQdtEv2 fO+SsyeMPH6066uiGnfaHaJVaOpLmPC3rx5oLOWPXwSSz1RAe1o3GtPB3ARoNM6j6qi31k0ZXWS BAuE0HY7pgFO1vlc+LzvbKUM8XMdvvtHHRc0C X-Gm-Gg: AZuq6aKE05UI5aJBqZwFEPS275j+oF8aiD7Rq0dHMa9mhqDdxeRW6T/1QkaPlj6M8k/ TSeufON6XrgnzvHNzWMFQQkvaeORHFPa2uXLWOzmJOpv09f3goLsKnKo13iPT5kAmBuK8fyatoM TqyJcZHonpMhmV09mmaL754oU8MFrCDYTQLwZG+T1y8smz7LS7OWMwYfkXmBe4t4+FKZYfypyuI +rMpAYOVNfxNW9x4zgYyLIrnknM0/GKoPXvkIvhOzUNt9SR+Hb5KpUpelk9AZhp48PsO9aeGkNr DRr5AoCoJ1uyc8IxGJ8ihXP7b7naY2sh3cYQYV88F5RR6t1GVRldT6zapOs6zGzU+xaRe2+ongZ 7WvgpJvzkiAMSCg== X-Received: by 2002:a2e:a54b:0:b0:386:91a1:f1f2 with SMTP id 38308e7fff4ca-38691c6064cmr29450551fa.7.1770305037017; Thu, 05 Feb 2026 07:23:57 -0800 (PST) MIME-Version: 1.0 References: <2eb7528d-babd-4bc8-9c0d-b2f77499a627 AT towo DOT net> <943e0dd6-cde5-4195-94f6-e5c15c5895f5 AT SystematicSW DOT ab DOT ca> <2df6193d-2b40-42ab-bad4-9d3b827e0daf AT towo DOT net> In-Reply-To: <2df6193d-2b40-42ab-bad4-9d3b827e0daf@towo.net> Date: Thu, 5 Feb 2026 07:23:45 -0800 X-Gm-Features: AZwV_QhUmS6fbP9MlpnGHjIrsSIlEh7UmZXDYguPQxRlRZ85VFJ9DqJ9p834zt8 Message-ID: Subject: Re: [FLAC 1.5.0-1] Man pages use HYPHEN character instead of HYPHEN-MINUS. To: Thomas Wolff Cc: cygwin AT cygwin DOT com X-Content-Filtered-By: Mailman/MimeDel 2.1.30 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: Backwoods BC via Cygwin Reply-To: Backwoods BC Content-Type: text/plain; charset="utf-8" Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 615FOKkv1304060 On Thu, Feb 5, 2026 at 4:57 AM Thomas Wolff via Cygwin wrote: > 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 > 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. > You're right, I don't. I want a filter that I can pipe the clipboard through when I think that there are characters I want "cleaned up." > 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 This is a 2-phase problem. While you might manage to get man suppliers to clean up what they release (I have serious doubts about that happening, but I hope I'm wrong), that doesn't do anything about pasting from web pages, documents, etc. where text is often mangled with HTML and/or Unicode characters. A filter such as I proposed would go a long way toward making copying and pasting less cumbersome. I currently have another script (I admit to being script-crazed) that dumps the clipboard into a temp file that I then open in Notepad so that I can clean it up before pasting it. If my proposed de-gunking filter existed, I could dispense with doing this a lot of the time. -- 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