From jdc@koitsu.org  Sun Mar 10 08:20:15 2013
Return-Path: <jdc@koitsu.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	by hub.freebsd.org (Postfix) with ESMTP id 5D7CD283
	for <freebsd-gnats-submit@freebsd.org>; Sun, 10 Mar 2013 08:20:15 +0000 (UTC)
	(envelope-from jdc@koitsu.org)
Received: from qmta01.emeryville.ca.mail.comcast.net (qmta01.emeryville.ca.mail.comcast.net [IPv6:2001:558:fe2d:43:76:96:30:16])
	by mx1.freebsd.org (Postfix) with ESMTP id 46DC11E1
	for <freebsd-gnats-submit@freebsd.org>; Sun, 10 Mar 2013 08:20:15 +0000 (UTC)
Received: from omta04.emeryville.ca.mail.comcast.net ([76.96.30.35])
	by qmta01.emeryville.ca.mail.comcast.net with comcast
	id 9kKA1l0030lTkoCA1kLEa5; Sun, 10 Mar 2013 08:20:14 +0000
Received: from koitsu.strangled.net ([67.180.84.87])
	by omta04.emeryville.ca.mail.comcast.net with comcast
	id 9kLD1l0091t3BNj8QkLDyq; Sun, 10 Mar 2013 08:20:13 +0000
Received: by icarus.home.lan (Postfix, from userid 1000)
	id 6E1DA73A31; Sun, 10 Mar 2013 00:20:13 -0800 (PST)
Message-Id: <20130310082013.6E1DA73A31@icarus.home.lan>
Date: Sun, 10 Mar 2013 00:20:13 -0800 (PST)
From: Jeremy Chadwick <jdc@koitsu.org>
Reply-To: Jeremy Chadwick <jdc@koitsu.org>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: recv(2) man page grammatical fixes
X-Send-Pr-Version: 3.114
X-GNATS-Notify:

>Number:         176806
>Category:       docs
>Synopsis:       recv(2) man page grammatical fixes
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-doc
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          doc-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 10 08:30:00 UTC 2013
>Closed-Date:    
>Last-Modified:  Sun Mar 10 18:10:00 UTC 2013
>Originator:     Jeremy Chadwick
>Release:        FreeBSD 9.1-STABLE amd64
>Organization:
>Environment:
System: FreeBSD icarus.home.lan 9.1-STABLE FreeBSD 9.1-STABLE #0 r247132: Thu Feb 21 19:15:34 PST 2013 root@icarus.home.lan:/usr/obj/usr/src/sys/X7SBA_RELENG_9_amd64 amd64
>Description:
	recv(2) has the following description for EAGAIN:

  [EAGAIN]           The socket is marked non-blocking, and the receive
                     operation would block, or a receive timeout had been
                     set, and the timeout expired before data were
                     received.

	Improper use of commas make the sentence difficult to comprehend,
	and the word "were" should be "was".
>How-To-Repeat:
	n/a
>Fix:
	Patch is below.  Patch will also be available at the below URL
	once I receive a PR number:

	http://jdc.koitsu.org/freebsd/{prnum}/


--- lib/libc/sys/recv.2.orig	2013-03-10 00:13:36.199637447 -0800
+++ lib/libc/sys/recv.2	2013-03-10 00:14:48.123636848 -0800
@@ -319,10 +319,10 @@
 closed, any pending data can be returned by another call to
 .Fn recvmsg .
 .It Bq Er EAGAIN
-The socket is marked non-blocking, and the receive operation
+The socket is marked non-blocking and the receive operation
 would block, or
-a receive timeout had been set,
-and the timeout expired before data were received.
+a receive timeout had been set
+and the timeout expired before data was received.
 .It Bq Er EINTR
 The receive was interrupted by delivery of a signal before
 any data were available.
>Release-Note:
>Audit-Trail:

From: Peter Pentchev <roam@ringlet.net>
To: Jeremy Chadwick <jdc@koitsu.org>
Cc: bug-followup@freebsd.org
Subject: Re: docs/176806: recv(2) man page grammatical fixes
Date: Sun, 10 Mar 2013 16:12:05 +0200

 --1yeeQ81UyVL57Vl7
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable
 
 On Sun, Mar 10, 2013 at 12:20:13AM -0800, Jeremy Chadwick wrote:
 >=20
 > >Number:         176806
 > >Category:       docs
 > >Synopsis:       recv(2) man page grammatical fixes
 [snip]
 > >Description:
 > 	recv(2) has the following description for EAGAIN:
 >=20
 >   [EAGAIN]           The socket is marked non-blocking, and the receive
 >                      operation would block, or a receive timeout had been
 >                      set, and the timeout expired before data were
 >                      received.
 >=20
 > 	Improper use of commas make the sentence difficult to comprehend,
 > 	and the word "were" should be "was".
 
 Hmm, are you really sure about the "were" part?  I think it may have
 been used on purpose to indicate a counterfactual conditional - data
 *was not* received, although it was supposed (expected) to be.
 
 G'luck,
 Peter
 
 --=20
 Peter Pentchev	roam@ringlet.net roam@FreeBSD.org p.penchev@storpool.com
 PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
 Key fingerprint 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13
 "yields falsehood, when appended to its quotation." yields falsehood, when =
 appended to its quotation.
 
 --1yeeQ81UyVL57Vl7
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: Digital signature
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAEBCAAGBQJRPJSwAAoJEGUe77AlJ98TYiIP/1XbdRz6HAikA3WiZMHYckQ8
 DDlx1DWJI7b9aAGkfgFN7qNTgpvcZpHWJ0wPDp6BL50psVkoWGFnrMXB9hDJxXfR
 p2i6PIZVbhxnDCL8vJnNdU2ZIAEDMfEqVNRrvZpfCjZih8iiCpKbYNqOECv9M5u8
 KrimjBIhb/AAeZzk45mldb8eVSFEHD9DdxM4sakbo2cdi5jZ5ICsRs/sZGE4P4Yx
 G5CJ4GtFNK4HYevyr70dI2HJfWw5t5g+MTLEzTjqBzB5nyJgOGta+ScJigKx4hPt
 O2SGYeRhiiO4FtGeIbLu9ObxOpvKSdiJKr2h4Wdg9VGtHx/8rqAy5PtwMjqb4yrv
 1g2KgzKxOxi4S8SARbEijiMkUreeP2EGEtoUMX9lQymiKtm31JYMa49/wzVXQnEQ
 OBg/caLHbNZ17Lzn2q7feZG7715+3qXxWkvwDbaggzdZJPInc+Wcn8bRXRWh1Z+u
 SXmiWA8Wk6zSr37qkI9nrVBKkZsx2Bz0YKo9TPOADZqrJhjXu2oEBCYYfoBnU7+P
 iFiEb+5IIp9uxf3MBHRMk1f7AU2crgBBbirT3anialuWYU+jMPRLh1KUlp+zX9K7
 cUmmhdW3zo9Ka0VQ/1x7naZHQbZr0bm2E1xdH+FcWiYdzANh726GdS10cU69W+Ly
 qB3fXeGJtvu1gfu5KqZV
 =PNMk
 -----END PGP SIGNATURE-----
 
 --1yeeQ81UyVL57Vl7--

From: Chris Rees <utisoft@gmail.com>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: docs/176806: recv(2) man page grammatical fixes
Date: Sun, 10 Mar 2013 15:42:17 +0000

 --f46d0447f382b381fd04d793e65c
 Content-Type: text/plain; charset=ISO-8859-1
 
 The word "data" is plural of "datum", so yes, were is correct here.
 
 Chris
 
 --f46d0447f382b381fd04d793e65c
 Content-Type: text/html; charset=ISO-8859-1
 
 <p dir="ltr">The word &quot;data&quot; is plural of &quot;datum&quot;, so yes, were is correct here.</p>
 <p dir="ltr">Chris</p>
 
 --f46d0447f382b381fd04d793e65c--

From: Jeremy Chadwick <jdc@koitsu.org>
To: Peter Pentchev <roam@ringlet.net>
Cc: bug-followup@freebsd.org
Subject: Re: docs/176806: recv(2) man page grammatical fixes
Date: Sun, 10 Mar 2013 10:52:01 -0700

 On Sun, Mar 10, 2013 at 04:12:05PM +0200, Peter Pentchev wrote:
 > On Sun, Mar 10, 2013 at 12:20:13AM -0800, Jeremy Chadwick wrote:
 > > 
 > > >Number:         176806
 > > >Category:       docs
 > > >Synopsis:       recv(2) man page grammatical fixes
 > [snip]
 > > >Description:
 > > 	recv(2) has the following description for EAGAIN:
 > > 
 > >   [EAGAIN]           The socket is marked non-blocking, and the receive
 > >                      operation would block, or a receive timeout had been
 > >                      set, and the timeout expired before data were
 > >                      received.
 > > 
 > > 	Improper use of commas make the sentence difficult to comprehend,
 > > 	and the word "were" should be "was".
 > 
 > Hmm, are you really sure about the "were" part?  I think it may have
 > been used on purpose to indicate a counterfactual conditional - data
 > *was not* received, although it was supposed (expected) to be.
 
 This is actually a good question and I appreciate you bringing it up.
 
 The more I worked on this, the more I kept pondering the possibility of
 "were" being correct in this context.  Quite often if you repeat a
 sentence over and over you start to think it's grammatically correct
 when it might not be.  English, sigh...
 
 An itemised list of what went through my head:
 
 - Singular vs. plural: "data" in this context is singular (yes, even
 though there may be multiple bytes of data :-) ), not plural.  We tend
 to use "was" when referencing a single thing, and "were" when
 referencing multiple things,
 
 - Counterfactual condition: unsure if this applies here.  Use of the
 word "before" might play a role, but I'm not entirely sure.  Compound
 sentences can make this difficult (and also explains why removal of said
 commas is necessary),
 
 - English is an awful language often ridden with exceptions to the rule.
 With was/were, there are some cases where both forms are grammatically
 correct (based on the speaker's education level) -- and "were" is often
 preferred in this case,
 
 - Most of the online resources I've read on this matter continually
 cite "simple" sentence examples; "If I (was|were) a dog" does not apply,
 for example, because the sentence starts with the word "if".  That is
 not the case here -- the condition is known (the timeout was reached
 before any I/O arrived on the fd/socket).
 
 This may be one inquire about at english.stackexchange.com.  I would be
 very interested to know what's grammatically correct here, or if this is
 one of those nuance cases where "was" *or* "were" can be used.
 
 -- 
 | Jeremy Chadwick                                   jdc@koitsu.org |
 | UNIX Systems Administrator                http://jdc.koitsu.org/ |
 | Mountain View, CA, US                                            |
 | Making life hard for others since 1977.             PGP 4BD6C0CB |

From: Chris Rees <utisoft@gmail.com>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: docs/176806: recv(2) man page grammatical fixes
Date: Sun, 10 Mar 2013 18:08:06 +0000

 --bcaec5396b502e8b5904d795f048
 Content-Type: text/plain; charset=ISO-8859-1
 
 No.  Plural; were.  End of.
 
 Chris
 
 --bcaec5396b502e8b5904d795f048
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 <p dir=3D"ltr">No.=A0 Plural; were.=A0 End of.</p>
 <p dir=3D"ltr">Chris</p>
 
 --bcaec5396b502e8b5904d795f048--
>Unformatted:
