Skip to contentSkip to conversation

man/man3type/*: Update simple history of types

PATCH Superseded Seth McDonald 3 participants 37 messages Jan 8 – Jan 10 Man-pages: manual pages for Linux -- Sections 2, 3, 4, 5, and 7

lore
Share & tools
lore
#0 lore raw

cover man/man3type/*: Update simple history of types

Hi,

This patch set updates the history of types that have only one standard listed in their HISTORY section, meaning they should have no ordering issues.

Seth McDonald (11):
man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance
of itimerspec(3type)
man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of

    mode_t(3type)
  man/man3type/off_t.3type: Change VERSIONS to HISTORY
  man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of
    off_t(3type)
  man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of
    sig{event,val}(3type)
  man/man3type/stat.3type: SYNOPSIS: wfix
  man/man3type/stat.3type: HISTORY: Update first POSIX appearance of
    stat(3type)
  man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of
    st_{rdev,blksize,blocks}
  man/man3type/stat.3type: HISTORY: Specify initial datatypes of
    st_{blksize,blocks}
  man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of
    timer_t(3type)

man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of
timespec(3type)

 man/man3type/itimerspec.3type |  2 +-
 man/man3type/mode_t.3type     |  2 +-
 man/man3type/off_t.3type      |  4 ++--
 man/man3type/sigevent.3type   |  2 +-
 man/man3type/stat.3type       | 19 +++++++++++++++++--
 man/man3type/timer_t.3type    |  2 +-
 man/man3type/timespec.3type   |  2 +-
 7 files changed, 24 insertions(+), 9 deletions(-)

Range-diff against v0:

 -:  ------------ >  1:  48b823b1a965 man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance of itimerspec(3type)
 -:  ------------ >  2:  90f54d80c479 man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of mode_t(3type)
 -:  ------------ >  3:  c1498253ab68 man/man3type/off_t.3type: Change VERSIONS to HISTORY
 -:  ------------ >  4:  6b062b0d6afa man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of off_t(3type)
 -:  ------------ >  5:  6919cafeb4e3 man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of sig{event,val}(3type)
 -:  ------------ >  6:  84a9e467d506 man/man3type/stat.3type: SYNOPSIS: wfix
 -:  ------------ >  7:  0611f62eeedb man/man3type/stat.3type: HISTORY: Update first POSIX appearance of stat(3type)
 -:  ------------ >  8:  9d3a705508aa man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}
 -:  ------------ >  9:  e13690db2fb6 man/man3type/stat.3type: HISTORY: Specify initial datatypes of st_{blksize,blocks}
 -:  ------------ > 10:  eb28bf22aed9 man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of timer_t(3type)
 -:  ------------ > 11:  d25e140aaabe man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of timespec(3type)
Signature · 1 line
2.47.3
#1 lore raw

PATCH 1/11 man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance of itimerspec(3type)

From: Seth McDonald <[email protected]>

itimerspec(3type) first appeared in POSIX.1-1996.[1]

[1] ISO/IEC 9945-1:1996, Section 14.1.1 "Time Value Specification Structures".

---
 man/man3type/itimerspec.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/itimerspec.3type +1 -1
index 00eca6702293..7c366b186894 100644
@@ -24,7 +24,7 @@ .SH DESCRIPTION
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1996.
 .SH SEE ALSO
 .BR timerfd_create (2),
 .BR timer_settime (2),
Signature · 1 line
2.47.3
#2 lore raw

PATCH 2/11 man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of mode_t(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

mode_t(3type) first appeared in POSIX.1-1988.[1]

[1] IEEE Std 1003.1-1988, Table 2-1 "Primitive System Data Types".

---
 man/man3type/mode_t.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/mode_t.3type +1 -1
index fdfea91a448b..cea959f80f03 100644
@@ -20,7 +20,7 @@ .SH DESCRIPTION
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1988.
 .SH NOTES
 The following headers also provide this type:
 .IR <fcntl.h> ,
Signature · 1 line
2.47.3
#3 lore raw

PATCH 3/11 man/man3type/off_t.3type: Change VERSIONS to HISTORY

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

Fixes 4131356cdab8 (2023-03-30; "man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections")
---
 man/man3type/off_t.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/off_t.3type +1 -1
index b0eebcf4af0b..9004971d1039 100644
@@ -46,7 +46,7 @@ .SH STANDARDS
 .TP
 .I loff_t
 Linux.
-.SH VERSIONS
+.SH HISTORY
 .TP
 .I off_t
 POSIX.1-2001.
Signature · 1 line
2.47.3
#4 lore raw

PATCH 4/11 man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of off_t(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

off_t(3type) first appeared in POSIX.1-1988.[1]

[1] IEEE Std 1003.1-1988, Table 2-1 "Primitive System Data Types".

---
 man/man3type/off_t.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/off_t.3type +1 -1
index 9004971d1039..b3d9e18326dc 100644
@@ -49,7 +49,7 @@ .SH STANDARDS
 .SH HISTORY
 .TP
 .I off_t
-POSIX.1-2001.
+POSIX.1-1988.
 .P
 .I <aio.h>
 and
Signature · 1 line
2.47.3
#5 lore raw

PATCH 5/11 man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of sig{event,val}(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

sigevent(3type) and sigval(3type) first appeared in POSIX.1-1996.[1]

[1] ISO/IEC 9945-1:1996, Section 3.3.1.2 "Signal Generation and Delivery".

---
 man/man3type/sigevent.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/sigevent.3type +1 -1
index 97e369df5199..c544ab611ef8 100644
@@ -115,7 +115,7 @@ .SS sigval
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1996.
 .P
 .I <aio.h>
 and
Signature · 1 line
2.47.3
#6 lore raw

PATCH 6/11 man/man3type/stat.3type: SYNOPSIS: wfix

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

When the VERSIONS section was renamed to HISTORY, the reference to the VERSIONS section in the SYNOPSIS was not removed. Change the comment to refer to the HISTORY section.

Fixes 4131356cdab8 (2023-03-30; "man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections")
---
 man/man3type/stat.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/stat.3type +1 -1
index ea9acc5ec025..257f1c8d6b71 100644
@@ -26,7 +26,7 @@ .SH SYNOPSIS
 \&
     /* Since POSIX.1-2008, this structure supports nanosecond
        precision for the following timestamp fields.
-       For the details before POSIX.1-2008, see VERSIONS.  */
+       For the details before POSIX.1-2008, see HISTORY.  */
 \&
 .BR "    struct timespec  st_atim;" "  /* Time of last access */"
 .BR "    struct timespec  st_mtim;" "  /* Time of last modification */"
Signature · 1 line
2.47.3
#7 lore raw

PATCH 7/11 man/man3type/stat.3type: HISTORY: Update first POSIX appearance of stat(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

stat(3type) first appeared in POSIX.1-1988.[1]

[1] IEEE Std 1003.1-1988, Section 5.6.1 "File Characteristics: Header and Data Structure".

---
 man/man3type/stat.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/stat.3type +1 -1
index 257f1c8d6b71..44d45b4a52b4 100644
@@ -135,7 +135,7 @@ .SH DESCRIPTION
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1988.
 .P
 Old kernels and old standards did not support nanosecond timestamp fields.
 Instead, there were three timestamp fields
Signature · 1 line
2.47.3
#8 lore raw

PATCH 8/11 man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

The st_rdev, st_blksize, and st_blocks fields of the stat(3type) structure first appeared in SUSv1.[1] They were added to POSIX.1-2001 when POSIX and SUS merged, but as an XSI extension (still SUS-only).[2]

[1] X/Open CAE Specification, System Interfaces and Headers Issue 4, Version 2, Chapter 4 "Headers", p. 830.
[2] IEEE Std 1003.1-2001, Volume 1, Chapter 13 "Headers", p. 356.
<https://pubs.opengroup.org/onlinepubs/009604499/basedefs/sys/stat.h.html>

---
 man/man3type/stat.3type | 8 ++++++++
 1 file changed, 8 insertions(+)
man/man3type/stat.3type +8 -0
index 44d45b4a52b4..83f6e881a5ae 100644
@@ -137,6 +137,14 @@ .SH STANDARDS
 .SH HISTORY
 POSIX.1-1988.
 .P
+The
+.IR .st_rdev ,
+.IR .st_blksize ,
+and
+.I .st_blocks
+fields first appeared in SUSv1
+before being added to POSIX.1-2001 XSI.
+.P
 Old kernels and old standards did not support nanosecond timestamp fields.
 Instead, there were three timestamp fields
 .RI \[em] .st_atime ,
Signature · 1 line
2.47.3
#9 lore raw

Re: [PATCH v1 08/11] man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}

Hi Seth,

Quoted 22 lines · Seth McDonald

From: Seth McDonald <[email protected]>

The st_rdev, st_blksize, and st_blocks fields of the stat(3type) structure first appeared in SUSv1.[1] They were added to POSIX.1-2001 when POSIX and SUS merged, but as an XSI extension (still SUS-only).[2]

[1] X/Open CAE Specification, System Interfaces and Headers Issue 4, Version 2, Chapter 4 "Headers", p. 830.
[2] IEEE Std 1003.1-2001, Volume 1, Chapter 13 "Headers", p. 356.
<https://pubs.opengroup.org/onlinepubs/009604499/basedefs/sys/stat.h.html>

---
 man/man3type/stat.3type | 8 ++++++++
 1 file changed, 8 insertions(+)
man/man3type/stat.3type +0 -0
index 44d45b4a52b4..83f6e881a5ae 100644
@@ -137,6 +137,14 @@ .SH STANDARDS
 .SH HISTORY

man/man3type/stat.3type .SH STANDARDS · line 147

Quoted 10 lines
man/man3type/stat.3type +8 -0
 POSIX.1-1988.
 .P
+The
+.IR .st_rdev ,
+.IR .st_blksize ,
+and
+.I .st_blocks
+fields first appeared in SUSv1
+before being added to POSIX.1-2001 XSI.
+.P

I think this would be simpler like this:

	@@ -135,7 +135,14 @@ .SH DESCRIPTION
	 .SH STANDARDS
	 POSIX.1-2024.
	 .SH HISTORY
	+.TP
	+.I stat
	 POSIX.1-1988.
	+.TP
	+.I .st_rdev
	+.I .st_blksize
	+.I .st_blocks
	+SUSv1, POSIX.1-2001 XSI.
	 .P
	 Old kernels and old standards did not support nanosecond timestamp fields.
	 Instead, there were three timestamp fields

What do you think?

Have a lovely day!
Alex

Quoted 6 lines
man/man3type/stat.3type +0 -0
 Old kernels and old standards did not support nanosecond timestamp fields.
 Instead, there were three timestamp fields
 .RI \[em] .st_atime ,
Signature · 1 line
2.47.3
Signature · 1 line
<https://www.alejandro-colomar.es>
#10 lore raw

Re: [PATCH v1 08/11] man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}

Hi Alex,

Quoted 54 lines · Alejandro Colomar

Hi Seth,

Quoted 24 lines · Seth McDonald

From: Seth McDonald <[email protected]>

The st_rdev, st_blksize, and st_blocks fields of the stat(3type) structure first appeared in SUSv1.[1] They were added to POSIX.1-2001 when POSIX and SUS merged, but as an XSI extension (still SUS-only).[2]

[1] X/Open CAE Specification, System Interfaces and Headers Issue 4, Version 2, Chapter 4 "Headers", p. 830.
[2] IEEE Std 1003.1-2001, Volume 1, Chapter 13 "Headers", p. 356.
https://pubs.opengroup.org/onlinepubs/009604499/basedefs/sys/stat.h.html

---
man/man3type/stat.3type | 8 ++++++++

1 file changed, 8 insertions(+)
man/man3type/stat.3type +0 -0
index 44d45b4a52b4..83f6e881a5ae 100644
@@ -137,6 +137,14 @@ .SH STANDARDS

.SH HISTORY
POSIX.1-1988.
.P

man/man3type/stat.3type .SH STANDARDS · line 147

Quoted 8 lines
man/man3type/stat.3type +8 -0
+The
+.IR .st_rdev ,
+.IR .st_blksize ,
+and
+.I .st_blocks
+fields first appeared in SUSv1
+before being added to POSIX.1-2001 XSI.
+.P

I think this would be simpler like this:

	@@ -135,7 +135,14 @@ .SH DESCRIPTION
	.SH STANDARDS
	POSIX.1-2024.
	.SH HISTORY
	+.TP
	+.I stat
	POSIX.1-1988.
	+.TP
	+.I .st_rdev
	+.I .st_blksize
	+.I .st_blocks
	+SUSv1, POSIX.1-2001 XSI.
	.P
	Old kernels and old standards did not support nanosecond timestamp fields.
	Instead, there were three timestamp fields
Quoted 1 line

What do you think?

That would certainly work. I initially thought about doing that, but decided against it since I hadn't at the time seen any other pages that list individual structure members in their history section. But if you're on board with it, then I'll send in a v2 with this fixup.

Btw, I'll want to add in some '.TQ's between the listed members, as without it the formatting looks a little funny.

	$ MANWIDTH=64 man ./man3type/stat.3type | sed -n '/^HISTORY$/,+5p'
	HISTORY
	       stat   POSIX.1-1988.
	       .st_rdev
	              .st_blksize .st_blocks SUSv1, POSIX.1-2001 XSI.

I'll also send in the next set of man3type patches with chronological ordering, at least as far as I can tell. :)

----
Seth McDonald.
sethmcmail at pm dot me (mailing lists) 2336 E8D2 FEB1 5300 692C  62A9 5839 6AD8 9243 D369

#11 lore raw

Re: [PATCH v1 08/11] man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}

Hi Seth,

Quoted 4 lines · Seth McDonald
Quoted 3 lines · Alejandro Colomar

On Thu, Jan 08, 2026 at 01:03:14PM +1000, Seth McDonald wrote:
I think this would be simpler like this:

Quoted 12 lines
Quoted 4 lines
	@@ -135,7 +135,14 @@ .SH DESCRIPTION
	.SH STANDARDS
	POSIX.1-2024.
	.SH HISTORY
Quoted 8 lines
	+.TP
	+.I stat
	POSIX.1-1988.
	+.TP
	+.I .st_rdev
	+.I .st_blksize
	+.I .st_blocks
	+SUSv1, POSIX.1-2001 XSI.

Apart from the TQs, I forgot to use one line for each.

Quoted 10 lines
Quoted 5 lines

.P
Old kernels and old standards did not support nanosecond timestamp fields. Instead, there were three timestamp fields

What do you think?

That would certainly work. I initially thought about doing that, but decided against it since I hadn't at the time seen any other pages that list individual structure members in their history section. But if you're on board with it, then I'll send in a v2 with this fixup.

You're right that I can't find any existing pages documenting individual field members in STANDARDS or HISTORY, but I think it's fine and desirable.

Quoted 2 lines

Btw, I'll want to add in some '.TQ's between the listed members, as without it the formatting looks a little funny.

Sure; I forgot about them. :-)

Quoted 6 lines
	$ MANWIDTH=64 man ./man3type/stat.3type | sed -n '/^HISTORY$/,+5p'
	HISTORY
	       stat   POSIX.1-1988.
	       .st_rdev
	              .st_blksize .st_blocks SUSv1, POSIX.1-2001 XSI.

You may be interested in diffman-git(1). I think it would help reviewing your diffs. Here's some example of how it works:

Considering the following diff:

	$ git diff
	diff --git i/man/man3type/stat.3type w/man/man3type/stat.3type
	index 44d45b4a5..1a99d1d0a 100644
	--- i/man/man3type/stat.3type
	+++ w/man/man3type/stat.3type
	@@ -135,7 +135,15 @@ .SH DESCRIPTION
	 .SH STANDARDS
	 POSIX.1-2024.
	 .SH HISTORY
	+.TP
	+.I stat
	 POSIX.1-1988.
	+.TP
	+.I .st_rdev
	+.I .st_blksize
	+.I .st_blocks
	+SUSv1,
	+POSIX.1-2001 XSI.
	 .P
	 Old kernels and old standards did not support nanosecond timestamp fields.
	 Instead, there were three timestamp fields

You can check the exact changes to the manual page:

	$ diffman-git 
	--- HEAD:man/man3type/stat.3type
	+++ ./man/man3type/stat.3type
	@@ -105,7 +105,10 @@ STANDARDS
	      POSIX.1‐2024.

HISTORY
- POSIX.1‐1988.
+ stat POSIX.1‐1988.
+
+ .st_rdev
+ .st_blksize .st_blocks SUSv1, POSIX.1‐2001 XSI.

Old kernels and old standards did not support nanosecond timestamp fields. In‐ stead, there were three timestamp fields ——.st_atime, .st_mtime, and .st_ctime——

For more documentation, see diffman-git(1), of course. :) It's provided in the repository, in case your distro doesn't provide it yet. You can install it with the usual

	$ make -R -j4 && sudo make -R -j4 install;

Or just run it from the repo, since it's a bash(1) script. It's here:

	$ find * | grep diffman-git
	man/man1/diffman-git.1
	src/bin/diffman-git
Quoted 2 lines

I'll also send in the next set of man3type patches with chronological ordering, at least as far as I can tell. :)

Thanks!

Quoted 5 lines

----
Seth McDonald.
sethmcmail at pm dot me (mailing lists) 2336 E8D2 FEB1 5300 692C  62A9 5839 6AD8 9243 D369

I have a question: do you use mutt(1) or neomutt(1) by chance?

Have a lovely day!
Alex

Signature · 1 line
<https://www.alejandro-colomar.es>
#12 lore raw

Re: [PATCH v1 08/11] man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}

Hi Alex,

Quoted 1 line · Alejandro Colomar

Hi Seth,

[...]

Quoted 2 lines

You may be interested in diffman-git(1). I think it would help reviewing your diffs. Here's some example of how it works:

[...]

Quoted 1 line

For more documentation, see diffman-git(1), of course. :)

That does look quite useful! I've seen it used before in the mailing list, but couldn't initially find its documentation. Which I now realise is because I was looking for its man page in my installed man pages, rather than in the repository *for this documentation* (ironic, I know).

Quoted 10 lines

It's provided in the repository, in case your distro doesn't provide it yet. You can install it with the usual

$ make -R -j4 && sudo make -R -j4 install;

Or just run it from the repo, since it's a bash(1) script. It's here:

$ find * | grep diffman-git
man/man1/diffman-git.1
src/bin/diffman-git

My distro (Debian 13) indeed doesn't seem to provide it yet, so I've installed it successfully via the repo. I'm glad it's a bash script, as I'd be a little more hesitant to install a binary executable.

[...]

Quoted 1 line

I have a question: do you use mutt(1) or neomutt(1) by chance?

Currently neither; I generally just use the Proton Mail Linux app. Mainly because it's a familiar interface from before I switched to Linux in mid-2025. However, I have been really getting into TUIs recently. So if you recommend either, then I'd be enthusiastic to give it a try.

----
Seth McDonald.
sethmcmail at pm dot me (mailing lists) 2336 E8D2 FEB1 5300 692C  62A9 5839 6AD8 9243 D369

#13 lore raw

Re: [PATCH v1 08/11] man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}

Hi Seth,

Quoted 5 lines · Seth McDonald
Quoted 1 line · Alejandro Colomar

Hi Seth,

[...]

Quoted 2 lines

You may be interested in diffman-git(1). I think it would help reviewing your diffs. Here's some example of how it works:

Quoted 8 lines

[...]

Quoted 1 line

For more documentation, see diffman-git(1), of course. :)

That does look quite useful! I've seen it used before in the mailing list, but couldn't initially find its documentation. Which I now realise is because I was looking for its man page in my installed man pages, rather than in the repository *for this documentation* (ironic, I know).

Yup, I wrote that script very recently. Distros have not packaged it yet.

Quoted 5 lines
Quoted 5 lines

It's provided in the repository, in case your distro doesn't provide it yet. You can install it with the usual

$ make -R -j4 && sudo make -R -j4 install;
Quoted 8 lines
Quoted 5 lines

Or just run it from the repo, since it's a bash(1) script. It's here:

$ find * | grep diffman-git
man/man1/diffman-git.1
src/bin/diffman-git

My distro (Debian 13) indeed doesn't seem to provide it yet, so I've installed it successfully via the repo.

The only distro that already provides the scripts from this repo, AFAIR, is Arch. I've been talking to Fedora and Debian, and they'll likely package them soon.

Quoted 2 lines

I'm glad it's a bash script,
as I'd be a little more hesitant to install a binary executable.

Yup.

Quoted 6 lines

[...]

Quoted 1 line

I have a question: do you use mutt(1) or neomutt(1) by chance?

Currently neither; I generally just use the Proton Mail Linux app. Mainly because it's a familiar interface from before I switched to Linux in mid-2025.

I was mentioning it because since you send many patches, it would be interesting if you could sign them with gpg(1). It's not necessary, but if you used one of these, it would be trivial to sign them.

Quoted 1 line

However, I have been really getting into TUIs recently.

Nice! :-)

Quoted 1 line

So if you recommend either, then I'd be enthusiastic to give it a try.

I recommend both. Personally I like mutt(1) because it's simpler, but for sending patches, neomutt(1) is useful because it allows signing patches cryptographically with gpg(1) in batch mode (called by git-send-email(1)). mutt(1) can only sign emails in interactive mode.

I certainly recommend you give a try to mutt(1) first. For interactive use, I don't need more than that. I learnt to use it with this youtube
video: <https://www.youtube.com/watch?v=2jMInHnpNfQ>. If you want more help, I can share my configuration files with you, and maybe clarify some doubts.

neomutt(1) is a fork of mutt(1) with (many) more features, but I prefer simpler software with less features.

Have a lovely day!
Alex

Quoted 4 lines

----
Seth McDonald.
sethmcmail at pm dot me (mailing lists) 2336 E8D2 FEB1 5300 692C  62A9 5839 6AD8 9243 D369

Signature · 1 line
<https://www.alejandro-colomar.es>
#14 lore raw

PATCH 9/11 man/man3type/stat.3type: HISTORY: Specify initial datatypes of st_{blksize,blocks}

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

The st_blksize and st_blocks fields of the stat(3type) structure were both specified as 'long' integers in SUSv1.[1] SUSv2 then changed them to blksize_t(3type) and blkcnt_t(3type), respectively.[2]

[1] X/Open CAE Specification, System Interfaces and Headers Issue 4, Version 2, Chapter 4 "Headers", p. 830.
[2] CAE Specification, System Interfaces and Headers, Issue 5, Chapter 4 "Headers", p. 1169.
<https://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html>

---
 man/man3type/stat.3type | 7 +++++++
 1 file changed, 7 insertions(+)
man/man3type/stat.3type +7 -0
index 83f6e881a5ae..82f0dd6e778d 100644
@@ -144,6 +144,13 @@ .SH HISTORY
 .I .st_blocks
 fields first appeared in SUSv1
 before being added to POSIX.1-2001 XSI.
+Initially, SUSv1 specified
+.I .st_blksize
+and
+.I .st_blocks
+with type
+.IR long .
+This was remedied in SUSv2.
 .P
 Old kernels and old standards did not support nanosecond timestamp fields.
 Instead, there were three timestamp fields
Signature · 1 line
2.47.3
#15 lore raw

PATCH 10/11 man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of timer_t(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

timer_t(3type) first appeared in POSIX.1-1996.[1]

[1] ISO/IEC 9945-1:1996, Section 14.1.3 "Type Definitions".

---
 man/man3type/timer_t.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/timer_t.3type +1 -1
index ff907871815f..b1b8ba632669 100644
@@ -20,7 +20,7 @@ .SH DESCRIPTION
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1996.
 .SH NOTES
 The following header also provides
 .IR timer_t :
Signature · 1 line
2.47.3
#16 lore raw

PATCH 11/11 man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of timespec(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

timespec(3type) first appeared in POSIX.1-1996.[1]

[1] ISO/IEC 9945-1:1996, Section 14.1.1 "Time Value Specification Structures".

---
 man/man3type/timespec.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/timespec.3type +1 -1
index 30bad58d1cf4..3e4d939bb3b3 100644
@@ -38,7 +38,7 @@ .SH VERSIONS
 .SH STANDARDS
 C11, POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1996.
 .SH NOTES
 The following headers also provide this type:
 .IR <aio.h> ,
Signature · 1 line
2.47.3
#17 lore raw
In reply to Seth McDonald

Hi Seth,

Quoted 5 lines · Seth McDonald

Hi,

This patch set updates the history of types that have only one standard listed in their HISTORY section, meaning they should have no ordering issues.

Thanks! I've applied all patches except 8 and 9.

Cheers,
Alex

Quoted 47 lines

Seth McDonald (11):
man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance
of itimerspec(3type)
man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of

    mode_t(3type)
  man/man3type/off_t.3type: Change VERSIONS to HISTORY
  man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of
    off_t(3type)
  man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of
    sig{event,val}(3type)
  man/man3type/stat.3type: SYNOPSIS: wfix
  man/man3type/stat.3type: HISTORY: Update first POSIX appearance of
    stat(3type)
  man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of
    st_{rdev,blksize,blocks}
  man/man3type/stat.3type: HISTORY: Specify initial datatypes of
    st_{blksize,blocks}
  man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of
    timer_t(3type)

man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of
timespec(3type)

 man/man3type/itimerspec.3type |  2 +-
 man/man3type/mode_t.3type     |  2 +-
 man/man3type/off_t.3type      |  4 ++--
 man/man3type/sigevent.3type   |  2 +-
 man/man3type/stat.3type       | 19 +++++++++++++++++--
 man/man3type/timer_t.3type    |  2 +-
 man/man3type/timespec.3type   |  2 +-
 7 files changed, 24 insertions(+), 9 deletions(-)

Range-diff against v0:

 -:  ------------ >  1:  48b823b1a965 man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance of itimerspec(3type)
 -:  ------------ >  2:  90f54d80c479 man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of mode_t(3type)
 -:  ------------ >  3:  c1498253ab68 man/man3type/off_t.3type: Change VERSIONS to HISTORY
 -:  ------------ >  4:  6b062b0d6afa man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of off_t(3type)
 -:  ------------ >  5:  6919cafeb4e3 man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of sig{event,val}(3type)
 -:  ------------ >  6:  84a9e467d506 man/man3type/stat.3type: SYNOPSIS: wfix
 -:  ------------ >  7:  0611f62eeedb man/man3type/stat.3type: HISTORY: Update first POSIX appearance of stat(3type)
 -:  ------------ >  8:  9d3a705508aa man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}
 -:  ------------ >  9:  e13690db2fb6 man/man3type/stat.3type: HISTORY: Specify initial datatypes of st_{blksize,blocks}
 -:  ------------ > 10:  eb28bf22aed9 man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of timer_t(3type)
 -:  ------------ > 11:  d25e140aaabe man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of timespec(3type)
Signature · 1 line
2.47.3
Signature · 1 line
<https://www.alejandro-colomar.es>
#18 lore raw

v2 cover man/man3type/*: Update simple history of types

In reply to Seth McDonald

Hello,

v2 applies Alex's feedback and reformats the stat(3type) page's history section by listing the structure's members' different origins in a way consistent with other man pages. I also added a separate patch for splitting stat(3type) and its members' listed standards for nicer logical ordering.

Seth McDonald (12):
man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance
of itimerspec(3type)
man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of

    mode_t(3type)
  man/man3type/off_t.3type: Change VERSIONS to HISTORY
  man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of
    off_t(3type)
  man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of
    sig{event,val}(3type)
  man/man3type/stat.3type: SYNOPSIS: wfix
  man/man3type/stat.3type: HISTORY: Update first POSIX appearance of
    stat(3type)
  man/man3type/stat.3type: HISTORY: Split stat(3type) from
    st_{rdev,blksize,blocks}
  man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of
    st_{rdev,blksize,blocks}
  man/man3type/stat.3type: HISTORY: Specify initial datatypes of
    st_{blksize,blocks}
  man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of
    timer_t(3type)

man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of
timespec(3type)

 man/man3type/itimerspec.3type |  2 +-
 man/man3type/mode_t.3type     |  2 +-
 man/man3type/off_t.3type      |  4 ++--
 man/man3type/sigevent.3type   |  2 +-
 man/man3type/stat.3type       | 22 ++++++++++++++++++++--
 man/man3type/timer_t.3type    |  2 +-
 man/man3type/timespec.3type   |  2 +-
 7 files changed, 27 insertions(+), 9 deletions(-)

Range-diff against v1:

 1:  48b823b1a965 =  1:  48b823b1a965 man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance of itimerspec(3type)
 2:  90f54d80c479 =  2:  90f54d80c479 man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of mode_t(3type)
 3:  c1498253ab68 =  3:  c1498253ab68 man/man3type/off_t.3type: Change VERSIONS to HISTORY
 4:  6b062b0d6afa =  4:  6b062b0d6afa man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of off_t(3type)
 5:  6919cafeb4e3 =  5:  6919cafeb4e3 man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of sig{event,val}(3type)
 6:  84a9e467d506 =  6:  84a9e467d506 man/man3type/stat.3type: SYNOPSIS: wfix
 7:  0611f62eeedb =  7:  0611f62eeedb man/man3type/stat.3type: HISTORY: Update first POSIX appearance of stat(3type)
 8:  9d3a705508aa !  8:  623290de35e6 man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}
    @@ Metadata
     Author: Seth McDonald <[email protected]>
     
      ## Commit message ##
    -    man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of
    +    man/man3type/stat.3type: HISTORY: Split stat(3type) from
         st_{rdev,blksize,blocks}
     
    -    The st_rdev, st_blksize, and st_blocks fields of the stat(3type)
    -    structure first appeared in SUSv1.[1]  They were added to POSIX.1-2001
    -    when POSIX and SUS merged, but as an XSI extension (still SUS-only).[2]
    -
    -    [1] X/Open CAE Specification, System Interfaces and Headers Issue 4,
    -    Version 2, Chapter 4 "Headers", p. 830.
    -    [2] IEEE Std 1003.1-2001, Volume 1, Chapter 13 "Headers", p. 356.
    -    <https://pubs.opengroup.org/onlinepubs/009604499/basedefs/sys/stat.h.html>
    -
      ## man/man3type/stat.3type ##
    -@@ man/man3type/stat.3type: .SH STANDARDS
    +@@ man/man3type/stat.3type: .SH DESCRIPTION
    + .SH STANDARDS
    + POSIX.1-2024.
      .SH HISTORY
    ++.TP
    ++.I stat
    ++POSIX.1-1988.
    ++.TP
    ++.I .st_rdev
    ++.TQ
    ++.I .st_blksize
    ++.TQ
    ++.I .st_blocks
      POSIX.1-1988.
      .P
    -+The
    -+.IR .st_rdev ,
    -+.IR .st_blksize ,
    -+and
    -+.I .st_blocks
    -+fields first appeared in SUSv1
    -+before being added to POSIX.1-2001 XSI.
    -+.P
      Old kernels and old standards did not support nanosecond timestamp fields.
    - Instead, there were three timestamp fields
    - .RI \[em] .st_atime ,
 -:  ------------ >  9:  a33e91f7c1b7 man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}
 9:  e13690db2fb6 ! 10:  3ffb01f7c196 man/man3type/stat.3type: HISTORY: Specify initial datatypes of st_{blksize,blocks}

@@ Commit message

## man/man3type/stat.3type ##
@@ man/man3type/stat.3type: .SH HISTORY
- .I .st_blocks
- fields first appeared in SUSv1
- before being added to POSIX.1-2001 XSI.
+ SUSv1,
+ POSIX.1-2001 XSI.
+ .P
+Initially, SUSv1 specified
+.I .st_blksize
+and
+.I .st_blocks
+with type
+.IR long .
+This was remedied in SUSv2.
- .P
++.P
Old kernels and old standards did not support nanosecond timestamp fields. Instead, there were three timestamp fields
+ .RI \[em] .st_atime ,

10:  eb28bf22aed9 = 11:  d6fc0ff67155 man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of timer_t(3type)
11:  d25e140aaabe = 12:  9b6fedfdc71e man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of timespec(3type)
Signature · 1 line
2.47.3
#19 lore raw

PATCH v2 1/12 man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance of itimerspec(3type)

From: Seth McDonald <[email protected]>

itimerspec(3type) first appeared in POSIX.1-1996.[1]

[1] ISO/IEC 9945-1:1996, Section 14.1.1 "Time Value Specification Structures".

---
 man/man3type/itimerspec.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/itimerspec.3type +1 -1
index 00eca6702293..7c366b186894 100644
@@ -24,7 +24,7 @@ .SH DESCRIPTION
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1996.
 .SH SEE ALSO
 .BR timerfd_create (2),
 .BR timer_settime (2),
Signature · 1 line
2.47.3
#20 lore raw

PATCH v2 2/12 man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of mode_t(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

mode_t(3type) first appeared in POSIX.1-1988.[1]

[1] IEEE Std 1003.1-1988, Table 2-1 "Primitive System Data Types".

---
 man/man3type/mode_t.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/mode_t.3type +1 -1
index fdfea91a448b..cea959f80f03 100644
@@ -20,7 +20,7 @@ .SH DESCRIPTION
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1988.
 .SH NOTES
 The following headers also provide this type:
 .IR <fcntl.h> ,
Signature · 1 line
2.47.3
#21 lore raw

PATCH v2 3/12 man/man3type/off_t.3type: Change VERSIONS to HISTORY

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

Fixes 4131356cdab8 (2023-03-30; "man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections")
---
 man/man3type/off_t.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/off_t.3type +1 -1
index b0eebcf4af0b..9004971d1039 100644
@@ -46,7 +46,7 @@ .SH STANDARDS
 .TP
 .I loff_t
 Linux.
-.SH VERSIONS
+.SH HISTORY
 .TP
 .I off_t
 POSIX.1-2001.
Signature · 1 line
2.47.3
#22 lore raw

PATCH v2 4/12 man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of off_t(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

off_t(3type) first appeared in POSIX.1-1988.[1]

[1] IEEE Std 1003.1-1988, Table 2-1 "Primitive System Data Types".

---
 man/man3type/off_t.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/off_t.3type +1 -1
index 9004971d1039..b3d9e18326dc 100644
@@ -49,7 +49,7 @@ .SH STANDARDS
 .SH HISTORY
 .TP
 .I off_t
-POSIX.1-2001.
+POSIX.1-1988.
 .P
 .I <aio.h>
 and
Signature · 1 line
2.47.3
#23 lore raw

PATCH v2 5/12 man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of sig{event,val}(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

sigevent(3type) and sigval(3type) first appeared in POSIX.1-1996.[1]

[1] ISO/IEC 9945-1:1996, Section 3.3.1.2 "Signal Generation and Delivery".

---
 man/man3type/sigevent.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/sigevent.3type +1 -1
index 97e369df5199..c544ab611ef8 100644
@@ -115,7 +115,7 @@ .SS sigval
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1996.
 .P
 .I <aio.h>
 and
Signature · 1 line
2.47.3
#24 lore raw

PATCH v2 6/12 man/man3type/stat.3type: SYNOPSIS: wfix

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

When the VERSIONS section was renamed to HISTORY, the reference to the VERSIONS section in the SYNOPSIS was not removed. Change the comment to refer to the HISTORY section.

Fixes 4131356cdab8 (2023-03-30; "man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections")
---
 man/man3type/stat.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/stat.3type +1 -1
index ea9acc5ec025..257f1c8d6b71 100644
@@ -26,7 +26,7 @@ .SH SYNOPSIS
 \&
     /* Since POSIX.1-2008, this structure supports nanosecond
        precision for the following timestamp fields.
-       For the details before POSIX.1-2008, see VERSIONS.  */
+       For the details before POSIX.1-2008, see HISTORY.  */
 \&
 .BR "    struct timespec  st_atim;" "  /* Time of last access */"
 .BR "    struct timespec  st_mtim;" "  /* Time of last modification */"
Signature · 1 line
2.47.3
#25 lore raw

PATCH v2 7/12 man/man3type/stat.3type: HISTORY: Update first POSIX appearance of stat(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

stat(3type) first appeared in POSIX.1-1988.[1]

[1] IEEE Std 1003.1-1988, Section 5.6.1 "File Characteristics: Header and Data Structure".

---
 man/man3type/stat.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/stat.3type +1 -1
index 257f1c8d6b71..44d45b4a52b4 100644
@@ -135,7 +135,7 @@ .SH DESCRIPTION
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1988.
 .P
 Old kernels and old standards did not support nanosecond timestamp fields.
 Instead, there were three timestamp fields
Signature · 1 line
2.47.3
#26 lore raw

PATCH v2 8/12 man/man3type/stat.3type: HISTORY: Split stat(3type) from st_{rdev,blksize,blocks}

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

---
 man/man3type/stat.3type | 9 +++++++++
 1 file changed, 9 insertions(+)
man/man3type/stat.3type +9 -0
index 44d45b4a52b4..21610f7ea723 100644
@@ -135,6 +135,15 @@ .SH DESCRIPTION
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
+.TP
+.I stat
+POSIX.1-1988.
+.TP
+.I .st_rdev
+.TQ
+.I .st_blksize
+.TQ
+.I .st_blocks
 POSIX.1-1988.
 .P
 Old kernels and old standards did not support nanosecond timestamp fields.
Signature · 1 line
2.47.3
#27 lore raw

PATCH v2 9/12 man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

The st_rdev, st_blksize, and st_blocks fields of the stat(3type) structure first appeared in SUSv1.[1] They were added to POSIX.1-2001 when POSIX and SUS merged, but as an XSI extension (still SUS-only).[2]

[1] X/Open CAE Specification, System Interfaces and Headers Issue 4, Version 2, Chapter 4 "Headers", p. 830.
[2] IEEE Std 1003.1-2001, Volume 1, Chapter 13 "Headers", p. 356.
<https://pubs.opengroup.org/onlinepubs/009604499/basedefs/sys/stat.h.html>

---
 man/man3type/stat.3type | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
man/man3type/stat.3type +2 -1
index 21610f7ea723..55294599638a 100644
@@ -144,7 +144,8 @@ .SH HISTORY
 .I .st_blksize
 .TQ
 .I .st_blocks
-POSIX.1-1988.
+SUSv1,
+POSIX.1-2001 XSI.
 .P
 Old kernels and old standards did not support nanosecond timestamp fields.
 Instead, there were three timestamp fields
Signature · 1 line
2.47.3
#28 lore raw

PATCH v2 10/12 man/man3type/stat.3type: HISTORY: Specify initial datatypes of st_{blksize,blocks}

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

The st_blksize and st_blocks fields of the stat(3type) structure were both specified as 'long' integers in SUSv1.[1] SUSv2 then changed them to blksize_t(3type) and blkcnt_t(3type), respectively.[2]

[1] X/Open CAE Specification, System Interfaces and Headers Issue 4, Version 2, Chapter 4 "Headers", p. 830.
[2] CAE Specification, System Interfaces and Headers, Issue 5, Chapter 4 "Headers", p. 1169.
<https://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html>

---
 man/man3type/stat.3type | 8 ++++++++
 1 file changed, 8 insertions(+)
man/man3type/stat.3type +8 -0
index 55294599638a..ad366bdeb35d 100644
@@ -147,6 +147,14 @@ .SH HISTORY
 SUSv1,
 POSIX.1-2001 XSI.
 .P
+Initially, SUSv1 specified
+.I .st_blksize
+and
+.I .st_blocks
+with type
+.IR long .
+This was remedied in SUSv2.
+.P
 Old kernels and old standards did not support nanosecond timestamp fields.
 Instead, there were three timestamp fields
 .RI \[em] .st_atime ,
Signature · 1 line
2.47.3
#29 lore raw

PATCH v2 11/12 man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of timer_t(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

timer_t(3type) first appeared in POSIX.1-1996.[1]

[1] ISO/IEC 9945-1:1996, Section 14.1.3 "Type Definitions".

---
 man/man3type/timer_t.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/timer_t.3type +1 -1
index ff907871815f..b1b8ba632669 100644
@@ -20,7 +20,7 @@ .SH DESCRIPTION
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1996.
 .SH NOTES
 The following header also provides
 .IR timer_t :
Signature · 1 line
2.47.3
#30 lore raw

PATCH v2 12/12 man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of timespec(3type)

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

timespec(3type) first appeared in POSIX.1-1996.[1]

[1] ISO/IEC 9945-1:1996, Section 14.1.1 "Time Value Specification Structures".

---
 man/man3type/timespec.3type | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
man/man3type/timespec.3type +1 -1
index 30bad58d1cf4..3e4d939bb3b3 100644
@@ -38,7 +38,7 @@ .SH VERSIONS
 .SH STANDARDS
 C11, POSIX.1-2024.
 .SH HISTORY
-POSIX.1-2001.
+POSIX.1-1996.
 .SH NOTES
 The following headers also provide this type:
 .IR <aio.h> ,
Signature · 1 line
2.47.3
#31 lore raw
In reply to Seth McDonald

Hi Seth,

Quoted 7 lines · Seth McDonald

Hello,

v2 applies Alex's feedback and reformats the stat(3type) page's history section by listing the structure's members' different origins in a way consistent with other man pages. I also added a separate patch for splitting stat(3type) and its members' listed standards for nicer logical ordering.

This patch set doesn't apply. Maybe you need to git-fetch(1) and git-rebase(1)?

Cheers,
Alex

Quoted 118 lines

Seth McDonald (12):
man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance
of itimerspec(3type)
man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of

    mode_t(3type)
  man/man3type/off_t.3type: Change VERSIONS to HISTORY
  man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of
    off_t(3type)
  man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of
    sig{event,val}(3type)
  man/man3type/stat.3type: SYNOPSIS: wfix
  man/man3type/stat.3type: HISTORY: Update first POSIX appearance of
    stat(3type)
  man/man3type/stat.3type: HISTORY: Split stat(3type) from
    st_{rdev,blksize,blocks}
  man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of
    st_{rdev,blksize,blocks}
  man/man3type/stat.3type: HISTORY: Specify initial datatypes of
    st_{blksize,blocks}
  man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of
    timer_t(3type)

man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of
timespec(3type)

 man/man3type/itimerspec.3type |  2 +-
 man/man3type/mode_t.3type     |  2 +-
 man/man3type/off_t.3type      |  4 ++--
 man/man3type/sigevent.3type   |  2 +-
 man/man3type/stat.3type       | 22 ++++++++++++++++++++--
 man/man3type/timer_t.3type    |  2 +-
 man/man3type/timespec.3type   |  2 +-
 7 files changed, 27 insertions(+), 9 deletions(-)

Range-diff against v1:

 1:  48b823b1a965 =  1:  48b823b1a965 man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance of itimerspec(3type)
 2:  90f54d80c479 =  2:  90f54d80c479 man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of mode_t(3type)
 3:  c1498253ab68 =  3:  c1498253ab68 man/man3type/off_t.3type: Change VERSIONS to HISTORY
 4:  6b062b0d6afa =  4:  6b062b0d6afa man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of off_t(3type)
 5:  6919cafeb4e3 =  5:  6919cafeb4e3 man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of sig{event,val}(3type)
 6:  84a9e467d506 =  6:  84a9e467d506 man/man3type/stat.3type: SYNOPSIS: wfix
 7:  0611f62eeedb =  7:  0611f62eeedb man/man3type/stat.3type: HISTORY: Update first POSIX appearance of stat(3type)
 8:  9d3a705508aa !  8:  623290de35e6 man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}
    @@ Metadata
     Author: Seth McDonald <[email protected]>
     
      ## Commit message ##
    -    man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of
    +    man/man3type/stat.3type: HISTORY: Split stat(3type) from
         st_{rdev,blksize,blocks}
     
    -    The st_rdev, st_blksize, and st_blocks fields of the stat(3type)
    -    structure first appeared in SUSv1.[1]  They were added to POSIX.1-2001
    -    when POSIX and SUS merged, but as an XSI extension (still SUS-only).[2]
    -
    -    [1] X/Open CAE Specification, System Interfaces and Headers Issue 4,
    -    Version 2, Chapter 4 "Headers", p. 830.
    -    [2] IEEE Std 1003.1-2001, Volume 1, Chapter 13 "Headers", p. 356.
    -    <https://pubs.opengroup.org/onlinepubs/009604499/basedefs/sys/stat.h.html>
    -
      ## man/man3type/stat.3type ##
    -@@ man/man3type/stat.3type: .SH STANDARDS
    +@@ man/man3type/stat.3type: .SH DESCRIPTION
    + .SH STANDARDS
    + POSIX.1-2024.
      .SH HISTORY
    ++.TP
    ++.I stat
    ++POSIX.1-1988.
    ++.TP
    ++.I .st_rdev
    ++.TQ
    ++.I .st_blksize
    ++.TQ
    ++.I .st_blocks
      POSIX.1-1988.
      .P
    -+The
    -+.IR .st_rdev ,
    -+.IR .st_blksize ,
    -+and
    -+.I .st_blocks
    -+fields first appeared in SUSv1
    -+before being added to POSIX.1-2001 XSI.
    -+.P
      Old kernels and old standards did not support nanosecond timestamp fields.
    - Instead, there were three timestamp fields
    - .RI \[em] .st_atime ,
 -:  ------------ >  9:  a33e91f7c1b7 man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}
 9:  e13690db2fb6 ! 10:  3ffb01f7c196 man/man3type/stat.3type: HISTORY: Specify initial datatypes of st_{blksize,blocks}

@@ Commit message

## man/man3type/stat.3type ##
@@ man/man3type/stat.3type: .SH HISTORY
- .I .st_blocks
- fields first appeared in SUSv1
- before being added to POSIX.1-2001 XSI.
+ SUSv1,
+ POSIX.1-2001 XSI.
+ .P
+Initially, SUSv1 specified
+.I .st_blksize
+and
+.I .st_blocks
+with type
+.IR long .
+This was remedied in SUSv2.
- .P
++.P
Old kernels and old standards did not support nanosecond timestamp fields. Instead, there were three timestamp fields
+ .RI \[em] .st_atime ,

10:  eb28bf22aed9 = 11:  d6fc0ff67155 man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of timer_t(3type)
11:  d25e140aaabe = 12:  9b6fedfdc71e man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of timespec(3type)
Signature · 1 line
2.47.3
Signature · 1 line
<https://www.alejandro-colomar.es>
#32 lore raw

v3 cover man/man3type/*: Update simple history of types

In reply to Seth McDonald

Hello,

This v3 should be almost identical to v2 (sans a reworded commit msg), except it should (hopefully) work. I think the reason v2 didn't apply may be because I just resent all patches, even those already pushed, rather than only sending the non-pushed patches and using the --base option for git-format-patch (which I now know about after rereading its doc).

But regardless, I've tested applying these patches onto origin in my own worktree after fetching and it seemed to work.

Seth McDonald (3):
man/man3type/stat.3type: HISTORY: Split stat(3type) from

    st_{rdev,blksize,blocks}
  man/man3type/stat.3type: HISTORY: Update first POSIX appearance of
    st_{rdev,blksize,blocks}
  man/man3type/stat.3type: HISTORY: Specify initial datatypes of
    st_{blksize,blocks}
 man/man3type/stat.3type | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Range-diff against v2:

 1:  48b823b1a965 <  -:  ------------ man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance of itimerspec(3type)
 2:  90f54d80c479 <  -:  ------------ man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of mode_t(3type)
 3:  c1498253ab68 <  -:  ------------ man/man3type/off_t.3type: Change VERSIONS to HISTORY
 4:  6b062b0d6afa <  -:  ------------ man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of off_t(3type)
 5:  6919cafeb4e3 <  -:  ------------ man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of sig{event,val}(3type)
 6:  84a9e467d506 <  -:  ------------ man/man3type/stat.3type: SYNOPSIS: wfix
 7:  0611f62eeedb <  -:  ------------ man/man3type/stat.3type: HISTORY: Update first POSIX appearance of stat(3type)
 8:  623290de35e6 =  1:  f09dc86eb395 man/man3type/stat.3type: HISTORY: Split stat(3type) from st_{rdev,blksize,blocks}
 9:  a33e91f7c1b7 !  2:  e4503345e46f man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}

@@ Metadata
Author: Seth McDonald <[email protected]>

## Commit message ##
- man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of
+ man/man3type/stat.3type: HISTORY: Update first POSIX appearance of
st_{rdev,blksize,blocks}

The st_rdev, st_blksize, and st_blocks fields of the stat(3type)

10:  3ffb01f7c196 =  3:  5f6bf068bb5f man/man3type/stat.3type: HISTORY: Specify initial datatypes of st_{blksize,blocks}
11:  d6fc0ff67155 <  -:  ------------ man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of timer_t(3type)
12:  9b6fedfdc71e <  -:  ------------ man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of timespec(3type)

base-commit: 753ac20a01007417aa993e70d290f51840e2f477

Signature · 1 line
2.47.3
#33 lore raw

PATCH v3 1/3 man/man3type/stat.3type: HISTORY: Split stat(3type) from st_{rdev,blksize,blocks}

From: Seth McDonald <[email protected]>

---
 man/man3type/stat.3type | 9 +++++++++
 1 file changed, 9 insertions(+)
man/man3type/stat.3type +9 -0
index 44d45b4a52b4..21610f7ea723 100644
@@ -135,6 +135,15 @@ .SH DESCRIPTION
 .SH STANDARDS
 POSIX.1-2024.
 .SH HISTORY
+.TP
+.I stat
+POSIX.1-1988.
+.TP
+.I .st_rdev
+.TQ
+.I .st_blksize
+.TQ
+.I .st_blocks
 POSIX.1-1988.
 .P
 Old kernels and old standards did not support nanosecond timestamp fields.
Signature · 1 line
2.47.3
#34 lore raw

PATCH v3 2/3 man/man3type/stat.3type: HISTORY: Update first POSIX appearance of st_{rdev,blksize,blocks}

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

The st_rdev, st_blksize, and st_blocks fields of the stat(3type) structure first appeared in SUSv1.[1] They were added to POSIX.1-2001 when POSIX and SUS merged, but as an XSI extension (still SUS-only).[2]

[1] X/Open CAE Specification, System Interfaces and Headers Issue 4, Version 2, Chapter 4 "Headers", p. 830.
[2] IEEE Std 1003.1-2001, Volume 1, Chapter 13 "Headers", p. 356.
<https://pubs.opengroup.org/onlinepubs/009604499/basedefs/sys/stat.h.html>

---
 man/man3type/stat.3type | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
man/man3type/stat.3type +2 -1
index 21610f7ea723..55294599638a 100644
@@ -144,7 +144,8 @@ .SH HISTORY
 .I .st_blksize
 .TQ
 .I .st_blocks
-POSIX.1-1988.
+SUSv1,
+POSIX.1-2001 XSI.
 .P
 Old kernels and old standards did not support nanosecond timestamp fields.
 Instead, there were three timestamp fields
Signature · 1 line
2.47.3
#35 lore raw

PATCH v3 3/3 man/man3type/stat.3type: HISTORY: Specify initial datatypes of st_{blksize,blocks}

In reply to Seth McDonald

From: Seth McDonald <[email protected]>

The st_blksize and st_blocks fields of the stat(3type) structure were both specified as 'long' integers in SUSv1.[1] SUSv2 then changed them to blksize_t(3type) and blkcnt_t(3type), respectively.[2]

[1] X/Open CAE Specification, System Interfaces and Headers Issue 4, Version 2, Chapter 4 "Headers", p. 830.
[2] CAE Specification, System Interfaces and Headers, Issue 5, Chapter 4 "Headers", p. 1169.
<https://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html>

---
 man/man3type/stat.3type | 8 ++++++++
 1 file changed, 8 insertions(+)
man/man3type/stat.3type +8 -0
index 55294599638a..ad366bdeb35d 100644
@@ -147,6 +147,14 @@ .SH HISTORY
 SUSv1,
 POSIX.1-2001 XSI.
 .P
+Initially, SUSv1 specified
+.I .st_blksize
+and
+.I .st_blocks
+with type
+.IR long .
+This was remedied in SUSv2.
+.P
 Old kernels and old standards did not support nanosecond timestamp fields.
 Instead, there were three timestamp fields
 .RI \[em] .st_atime ,
Signature · 1 line
2.47.3
#36 lore raw
In reply to Seth McDonald

Hi!

Quoted 12 lines · Seth McDonald

Hello,

This v3 should be almost identical to v2 (sans a reworded commit msg), except it should (hopefully) work. I think the reason v2 didn't apply may be because I just resent all patches, even those already pushed, rather than only sending the non-pushed patches and using the --base option for git-format-patch (which I now know about after rereading its doc).

But regardless, I've tested applying these patches onto origin in my own worktree after fetching and it seemed to work.

Quoted 7 lines

Seth McDonald (3):
man/man3type/stat.3type: HISTORY: Split stat(3type) from

    st_{rdev,blksize,blocks}
  man/man3type/stat.3type: HISTORY: Update first POSIX appearance of
    st_{rdev,blksize,blocks}
  man/man3type/stat.3type: HISTORY: Specify initial datatypes of
    st_{blksize,blocks}

Thanks! I've applied all three patches.

Cheers,
Alex

Quoted 31 lines
 man/man3type/stat.3type | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Range-diff against v2:

 1:  48b823b1a965 <  -:  ------------ man/man3type/itimerspec.3type: HISTORY: Update first POSIX appearance of itimerspec(3type)
 2:  90f54d80c479 <  -:  ------------ man/man3type/mode_t.3type: HISTORY: Update first POSIX appearance of mode_t(3type)
 3:  c1498253ab68 <  -:  ------------ man/man3type/off_t.3type: Change VERSIONS to HISTORY
 4:  6b062b0d6afa <  -:  ------------ man/man3type/off_t.3type: HISTORY: Update first POSIX appearance of off_t(3type)
 5:  6919cafeb4e3 <  -:  ------------ man/man3type/sigevent.3type: HISTORY: Update first POSIX appearance of sig{event,val}(3type)
 6:  84a9e467d506 <  -:  ------------ man/man3type/stat.3type: SYNOPSIS: wfix
 7:  0611f62eeedb <  -:  ------------ man/man3type/stat.3type: HISTORY: Update first POSIX appearance of stat(3type)
 8:  623290de35e6 =  1:  f09dc86eb395 man/man3type/stat.3type: HISTORY: Split stat(3type) from st_{rdev,blksize,blocks}
 9:  a33e91f7c1b7 !  2:  e4503345e46f man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of st_{rdev,blksize,blocks}

@@ Metadata
Author: Seth McDonald <[email protected]>

## Commit message ##
- man/man3type/stat.3type: HISTORY: Specify first POSIX appearance of
+ man/man3type/stat.3type: HISTORY: Update first POSIX appearance of
st_{rdev,blksize,blocks}

The st_rdev, st_blksize, and st_blocks fields of the stat(3type)

10:  3ffb01f7c196 =  3:  5f6bf068bb5f man/man3type/stat.3type: HISTORY: Specify initial datatypes of st_{blksize,blocks}
11:  d6fc0ff67155 <  -:  ------------ man/man3type/timer_t.3type: HISTORY: Update first POSIX appearance of timer_t(3type)
12:  9b6fedfdc71e <  -:  ------------ man/man3type/timespec.3type: HISTORY: Update first POSIX appearance of timespec(3type)

base-commit: 753ac20a01007417aa993e70d290f51840e2f477

Signature · 1 line
2.47.3
Signature · 1 line
<https://www.alejandro-colomar.es>