From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 17 23:48:02 2025 Received: (at submit) by debbugs.gnu.org; 18 Sep 2025 03:48:02 +0000 Received: from localhost ([127.0.0.1]:59131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uz5cm-0001rq-VC for submit@debbugs.gnu.org; Wed, 17 Sep 2025 23:48:02 -0400 Received: from lists.gnu.org ([2001:470:142::17]:35924) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uz1Fo-0002Yh-6d for submit@debbugs.gnu.org; Wed, 17 Sep 2025 19:08:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uz1Fe-0008Ut-Tm for bug-coreutils@gnu.org; Wed, 17 Sep 2025 19:07:50 -0400 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uz1Fc-0000BN-ID for bug-coreutils@gnu.org; Wed, 17 Sep 2025 19:07:50 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 3A353240101 for ; Thu, 18 Sep 2025 01:07:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.net; s=2017; t=1758150465; bh=84+cGr1hF//ATKi4e5nDfOi9+DKtjrfFg8gL0L8htZU=; h=Message-ID:Subject:From:To:Content-Type:Date:MIME-Version: Autocrypt:OpenPGP:From; b=COh9ZC+/DfjmXZ8w0/dngWcIVuhv60hLayk4TF35ti2yybIEr6VBk+FEaPoePjrU7 vaNAo6dbhnc2rZFl11ia9Q8UmiSOs9AF513iXRogL4fR0PApo1pOfWmopt6+UJwonr 09AovH/DkoKP1aI0U9ooS89zx7cP7+QlimvznU9dEdoMjatvtGUcmDH1CMMqew5lkV 4tes4i3yrT1isce2n0m9/zbrRRHWlHKJIo8bde0EcxjW8wQH91fEH0JjH4nPx8pgrt RNoooiGboYak4sPcFy7xhrMknDAjIRoI2FWIBxZ7mr70hhSGEaB4PICEWJRupSxTdd LLjnh7dswAJ1Q== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4cRvYr3M2qz6v0B for ; Thu, 18 Sep 2025 01:07:44 +0200 (CEST) Message-ID: <7b96f859717e13ca406fef17e0e3b4daaaa187e6.camel@posteo.net> Subject: stty raw puts terminal in noncanonical mode unconditionally (non-XSI behavior) From: John Scott To: bug-coreutils@gnu.org Jabber-ID: me@johnscott.me Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature"; boundary="=-jtugvXuoXdoFhvZzZvhp" Date: Wed, 17 Sep 2025 23:07:44 +0000 MIME-Version: 1.0 Autocrypt: addr=jscott@posteo.net; keydata=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 2Bms0A== OpenPGP: url=https://posteo.de/keys/jscott@posteo.net.asc Received-SPF: pass client-ip=185.67.36.66; envelope-from=jscott@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 17 Sep 2025 23:47:59 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-jtugvXuoXdoFhvZzZvhp Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-CJ6ZMmruuq2+1YyLpzsd" --=-CJ6ZMmruuq2+1YyLpzsd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, When using and debugging GNSS receivers, it's typical to get data over a se= rial communications channel. The de facto standard format, known as NMEA-01= 83, sends records as lines of US-ASCII text. Thus it is convenient for me t= o have this terminal in canonical mode for the sake of reading lines but to= otherwise not have the data transformed so as to depart from the protocol:= don't mangle newline characters or do anything special with any control ch= aracters that may be perceived, for example. The raw combination mode to stty (but not cfmakeraw()) is in the Single UNI= X Specification under the XSI option. At https://pubs.opengroup.org/onlinep= ubs/9799919799/utilities/stty.html#tag_20_116_05_06 one finds > [XSI] > raw (-raw or cooked) > Enable (disable) raw input and output. Raw mode shall be equivalent to se= tting: > stty cs8 erase ^- kill ^- intr ^- \ > quit ^- eof ^- eol ^- -post=E2=83=B0 -inpck > [/XSI] [=EF=BC=8AI do believe this is a mistake in the standard: "-post" should re= ad "-opost". I'll file an issue on The Austin Group's bug tracker soon for = that.] The GNU version of stty does more; at stty.c:1600 one finds the following: { /* Raw mode. */ mode->c_iflag =3D 0; mode->c_oflag &=3D ~OPOST; mode->c_lflag &=3D ~(ISIG | ICANON #ifdef XCASE | XCASE #endif ); mode->c_cc[VMIN] =3D 1; mode->c_cc[VTIME] =3D 0; } The GNU behavior is non-conforming, but it's also inconvenient for me in pr= actice. BusyBox's stty, for comparison, doesn't have this quirk. The comman= d-line help on my system (maybe older than what's in Git) says > raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr = -icrnl -ixon -ixoff -icanon -opost -isig -iuclc -ixany -imaxbel -xcase min = 1 time 0 and that's quite the mouthful; I'm not sure this is actually true. In conclusion, I'd like the GNU stty raw mode to leave icanon alone, but if= this is seriously objectionable then guarding that behavior behind POSIXLY= _CORRECT would be an appreciated compromise. --=-CJ6ZMmruuq2+1YyLpzsd Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSiPzylvTnZ6xisfzWz9N0oYfTNugUCaMs/NwAKCRCz9N0oYfTN ugNdAQDvOknBOf0rI6L9PztI32O6rirlWSR52b5dmi2gurNFlQEApAylA35H+ap9 YO8G8lRmKRBytHujWZ8Yvr9q/bD71QE= =oqFw -----END PGP SIGNATURE----- --=-CJ6ZMmruuq2+1YyLpzsd-- --=-jtugvXuoXdoFhvZzZvhp Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Disposition: attachment; filename="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCDYgw ggayMIIEmqADAgECAhAM4TInqCzmo9DzV8Nsth6GMA0GCSqGSIb3DQEBDQUAMHoxCzAJBgNVBAYT AlBMMSEwHwYDVQQKExhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xJzAlBgNVBAsTHkNlcnR1bSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0GA1UEAxMWQ2VydHVtIFRydXN0ZWQgUm9vdCBDQTAe Fw0yMzA4MDEwODA5NDlaFw0zODA3MjMwODA5NDlaME4xCzAJBgNVBAYTAlBMMSEwHwYDVQQKDBhB c3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xHDAaBgNVBAMME0NlcnR1bSBTTUlNRSBSU0EgQ0EwggIi MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDTudxfTHvqEIhVwDB4ZDDJq+fDBq1a+nCBCTGd nj326RGkCS2E1Q63oHTwlD9tkJt6a8UDwIIZ6eG8/OIkM/A+K2lzMrBcP9dEBdGZqCXwbqq4O4Z/ Pl8om7O7G5bwnaacpFpLGTXotg6PT/R9UWXMW+S1I5KiorBXROeFX0N+CbryUfCQj0vB5F85YXqy HkaZdgO8YdL+j+pfUROJGLdnGff6b3+O58bBZ6f4IUVOARhyaaLQy1ofnwkV0AM2Wl/AIjA8Krwt ROh0z5/F3k8SUyNyvIQaG0vPyctHRWLsXGbkwHo3wOpXS4KkAQR1zR+ULDGCMFhRSX/j/skJxYmA tqbU+v56wYeLEM9LmfTCsOSrY8yNRip0PQS4FrZyi888WC49iBLzMktO+JEsmDIiAYDk9kjD9WAh ubh8iN/5RducVz9lukfCa0+jYH7sRhpc12H3bM2ufvTbRIE5W1CRaALiGzlEWzhA3UWIBba+Y4Br httxrrwKG9fORAubnFe0yDCnXcHC4N90YIwJ44sP0BgC9LjGR+PZNTzvSAj+qCmZ6xJOPUlssl6H ycEPU6KsW9KnlZmETscqcC+V3ozBk8xM0VZ/AHZ34pXJcemfWG4e4rxeH0FSdwUEzj3kTA84OqRx bb/C21XsiS1XyT3KUIGlDiIEQFgnD9Tk/PGpEwIDAQABo4IBXjCCAVowDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUZvvDD770v+CcyatN3kcZvcDKpmgwHwYDVR0jBBgwFoAUjPscdbwC059OLkjZ +WBUqsSzT/owDgYDVR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjAv BgNVHR8EKDAmMCSgIqAghh5odHRwOi8vY3JsLmNlcnR1bS5wbC9jdHJjYS5jcmwwawYIKwYBBQUH AQEEXzBdMCgGCCsGAQUFBzABhhxodHRwOi8vc3ViY2Eub2NzcC1jZXJ0dW0uY29tMDEGCCsGAQUF BzAChiVodHRwOi8vcmVwb3NpdG9yeS5jZXJ0dW0ucGwvY3RyY2EuY2VyMDoGA1UdIAQzMDEwLwYE VR0gADAnMCUGCCsGAQUFBwIBFhlodHRwczovL3d3dy5jZXJ0dW0ucGwvQ1BTMA0GCSqGSIb3DQEB DQUAA4ICAQACdWiFTrEXejbCNhvlQGjnGr4GwCBRRcs1+uQumSciktKucsj1mCb3tmB09bDya0be SUDVed/h+fbPKFlON2miwRYZwdGXSFNrynzGC1oYQG3SPS6qwXS2iZe4kQ4d0pTRntGPeHRe13o5 nd3tJw/+XanUoTRy7/N2NxQ8Br16v+Ma6N2XqqLj+zXGMn8h5c0LpmqnkaMxk2hiLxXEOLFoGXXO il3wHCkgtlZgfbgyeK/AGjqEj9XNfDCe2V4fTLsYqlb+AaVAMpXFtezeGLrsIAef+MYjXNoGKYGe HM8AiNHeIxavk45O9Etvad/lKvPcH0hgMr9wTReCRnmjpodHgxcKG0LLI6rLR4RbEfRf3rV8xyR6 KkfjIy7W8pN/Cx/i8D/rAM46YcS281duz43X0Oaw6UjiqFwiae8DeKvTINLBR+yfJdQ/lLssNAG3 QNxXRHozNJUp/UeqUnf1WQC4NabQXKp54hWTCSBec+n550+REg/P+tDi+UsoFqiE9Mpz/I/KpA3F GyhpDxYbLiw/e0nYLqt1HqX8F4L4sLfW346rEHtBWVNPmsQmLjI6mfhm8c4FX3jfnQowPDLvqNGJ sO/ec397eyb8nN+8MSM1KXPVsMh4LvRZvjVL0DVEfOGBf29HWEXYuJ5llhY9/N31ay4Gsv61VgFE 7v9hQjM4ZDCCBs4wggS2oAMCAQICECVSDRtr8FpV2nzxlWEVFsgwDQYJKoZIhvcNAQELBQAwTjEL MAkGA1UEBhMCUEwxITAfBgNVBAoMGEFzc2VjbyBEYXRhIFN5c3RlbXMgUy5BLjEcMBoGA1UEAwwT Q2VydHVtIFNNSU1FIFJTQSBDQTAeFw0yNTA0MDUwMzQwMjZaFw0yNjA0MDUwMzQwMjVaMD4xGjAY BgNVBAMMEWpzY290dEBwb3N0ZW8ubmV0MSAwHgYJKoZIhvcNAQkBFhFqc2NvdHRAcG9zdGVvLm5l dDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMGCQxB2MnqxQXP08/dE2d5v78+3ucS2 UiFvb9FN0b0j/BifMZvN/9bumJzpmpVwd0d5JR9+9M/svSRf4hIBf+hLGtYJrbtte5jYEPPAlXYS oHyNybf7ko1uJ/rHldKdvga5G6fNfThyMVb7ODDuikIDj8DFnJAi7GDuu/LD6evazvNMIwk0ii6E 1qgzf61kHw3nVp3hGs3SSm4AXj+I9ySiap7f9+h8mjqM/z2WdXfWAp07IRa5TfDhmfMjIKlIHGoO 2zf9D4i7ml12ojv/yycmjRJJnFs0Q5ic4yP5puVkC/yCjH6OMg20PaXTcPyFXhDQsmMeuAQgcD9t V8O3IzGU4Io9gujZPJxda1yZ7BpZH7jV9xuIKbL4WoQGZSZ0dwXvzpDW9NPVeEXH2us+Xfqc6VbE znMPPhtCqRgeqt603w87gnf7puzKBPLEoQo9VCLRx5cJPlip05TtRP4PH6uOCwK5BYs3LFSnJkg7 iJ8sTrEfbO+gEeboiO2TGplMGC/6zEcVh4yM5mPjfVkFijCZw+AavzIOlE6NHCEqKET/D7wZzAZ/ /122lLaAZ3lNS1fO9FikACxEJ9EbKZJmzphU3TGCpmobcXiDB/esYIi65In7dKy+B0XE7zDy5KZb oKYz9o/N4u6lfUJb9Gf6kEmBJDTcyYUZZ2pJPyjwMRUvAgMBAAGjggG2MIIBsjAMBgNVHRMBAf8E AjAAMEEGA1UdHwQ6MDgwNqA0oDKGMGh0dHA6Ly9jc21pbWVyc2FjYS5jcmwuY2VydHVtLnBsL2Nz bWltZXJzYWNhLmNybDCBgwYIKwYBBQUHAQEEdzB1MC4GCCsGAQUFBzABhiJodHRwOi8vY3NtaW1l cnNhY2Eub2NzcC1jZXJ0dW0uY29tMEMGCCsGAQUFBzAChjdodHRwOi8vY3NtaW1lcnNhY2EucmVw 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 xUCEDd+Z4b6+AAAAAAAA --=-jtugvXuoXdoFhvZzZvhp--