The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* Re: [TUHS] fmt(1): history, POSIX, -t, -c
@ 2020-05-29  1:25 Doug McIlroy
  0 siblings, 0 replies; 18+ messages in thread
From: Doug McIlroy @ 2020-05-29  1:25 UTC (permalink / raw)
  To: tuhs

The title of the fmt man page in v9 was "ultra-simple text formatter".
Gnu dropped the "ultra" in favor of AI. Sometimes it does a pretty
job. Sometimes it messes up my typing style. Always it produces a
an apparently wavering right margin, as it assigns a separate
"optimal" line length to each paragraph. It's hard to imagine how
this command could stray from classic Unix simplicity and
intelligibility, but Gnu pulled it off.

Doug

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-28 12:34 markus schnalke
                   ` (2 preceding siblings ...)
  2020-05-28 13:46 ` Clem Cole
@ 2020-05-31 12:35 ` markus schnalke
  3 siblings, 0 replies; 18+ messages in thread
From: markus schnalke @ 2020-05-31 12:35 UTC (permalink / raw)
  To: tuhs

Hoi,

thanks a lot to everyone who contributed information and oppinions.
They were helpful. I've got a much better unterstanding of the
situation now.

It's so good to have a place like this mailing list! :-)


meillo

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-29 13:39       ` Clem Cole
  2020-05-29 15:43         ` Warner Losh
@ 2020-05-29 17:14         ` Mary Ann Horton
  1 sibling, 0 replies; 18+ messages in thread
From: Mary Ann Horton @ 2020-05-29 17:14 UTC (permalink / raw)
  To: tuhs

[-- Attachment #1: Type: text/plain, Size: 1625 bytes --]


On 5/29/20 6:39 AM, Clem Cole wrote:
>
>
> On Fri, May 29, 2020 at 1:11 AM Michael Stiller via TUHS 
> <tuhs@minnie.tuhs.org <mailto:tuhs@minnie.tuhs.org>> wrote:
>
>     It is also included in 2.9BSD, or was it backported:
>
> Just recompiled. I don't think this was one he had to make any changes 
> too. As Mary Ann and I said, Kurt wrote as part of the UCB Mail 
> package [which includes delivermail(8) - which was the moral parent to 
> sendmail(8)].
fmt was literally part of Mail - it compiled in the same source 
directory, and was considered user agent (UA) code. delivermail/sendmail 
was separate, also from Berkeley, but written primarily by Eric Allman, 
and was the mail transport agent (MTA). It's in 2.8BSD as well.
> The whole key is that Keith did not have a Vax at the Math department 
> (they had an 11/70 with max memory) and wanted all of the cool 
> programs that were being created on the Vax.   Remember, VM is 
> automatic overlays.   So first with the kernel, and then later with 
> user code, larger and larger programs were enabled and many of the 
> programs for the Vax migrated to the PDP-11, as people ran out of 
> address space (IIRC: one the first user programs that needed to use 
> overlays was ex/vi.  Again, as I recall the original wnj version by 
> then was such a mess, getting a new/cleaner code base was a large 
> impetus for Keith to start writing nvi).

ex/vi didn't use overlays (unless you count split I/D). It fit in 64 
bits by using ifdefs.  Less useful code, like supporting upper-case-only 
terminals, would be ifdeffed out on the pdp11.

     Mary Ann




[-- Attachment #2: Type: text/html, Size: 3359 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-29 15:43         ` Warner Losh
@ 2020-05-29 16:12           ` Clem Cole
  0 siblings, 0 replies; 18+ messages in thread
From: Clem Cole @ 2020-05-29 16:12 UTC (permalink / raw)
  To: Warner Losh; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1728 bytes --]

The beer is well beyond the 'suck point' and it's time to throw it out.

On Fri, May 29, 2020 at 11:43 AM Warner Losh <imp@bsdimp.com> wrote:

>
>
> On Fri, May 29, 2020 at 7:40 AM Clem Cole <clemc@ccc.com> wrote:
>
>>
>>
>> On Fri, May 29, 2020 at 1:11 AM Michael Stiller via TUHS <
>> tuhs@minnie.tuhs.org> wrote:
>>
>>> It is also included in 2.9BSD, or was it backported:
>>>
>> Just recompiled. I don't think this was one he had to make any changes
>> too. As Mary Ann and I said, Kurt wrote as part of the UCB Mail package
>> [which includes delivermail(8) - which was the moral parent to
>> sendmail(8)].
>>
>> The whole key is that Keith did not have a Vax at the Math department
>> (they had an 11/70 with max memory) and wanted all of the cool programs
>> that were being created on the Vax.   Remember, VM is automatic overlays.
>>  So first with the kernel, and then later with user code, larger and larger
>> programs were enabled and many of the programs for the Vax migrated to the
>> PDP-11, as people ran out of address space (IIRC: one the first user
>> programs that needed to use overlays was ex/vi.  Again, as I recall the
>> original wnj version by then was such a mess, getting a new/cleaner code
>> base was a large impetus for Keith to start writing nvi).
>>
>> Anyway, many smaller programs 'just worked' and the original fmt(1)
>> command was pretty simple.   As Doug so wisely observed:  "It's hard to
>> imagine how this command could stray from classic Unix simplicity and intelligibility,
>> but Gnu pulled it off."
>>
>
>
> While Berkeley arguably bloated things somewhat in improving its
> functionality, gnu said 'here, hold my beer' in the 90s and we're still
> holding the beer.
>
> Warner
>

[-- Attachment #2: Type: text/html, Size: 3351 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-29 13:39       ` Clem Cole
@ 2020-05-29 15:43         ` Warner Losh
  2020-05-29 16:12           ` Clem Cole
  2020-05-29 17:14         ` Mary Ann Horton
  1 sibling, 1 reply; 18+ messages in thread
From: Warner Losh @ 2020-05-29 15:43 UTC (permalink / raw)
  To: Clem Cole; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1538 bytes --]

On Fri, May 29, 2020 at 7:40 AM Clem Cole <clemc@ccc.com> wrote:

>
>
> On Fri, May 29, 2020 at 1:11 AM Michael Stiller via TUHS <
> tuhs@minnie.tuhs.org> wrote:
>
>> It is also included in 2.9BSD, or was it backported:
>>
> Just recompiled. I don't think this was one he had to make any changes
> too. As Mary Ann and I said, Kurt wrote as part of the UCB Mail package
> [which includes delivermail(8) - which was the moral parent to
> sendmail(8)].
>
> The whole key is that Keith did not have a Vax at the Math department
> (they had an 11/70 with max memory) and wanted all of the cool programs
> that were being created on the Vax.   Remember, VM is automatic overlays.
>  So first with the kernel, and then later with user code, larger and larger
> programs were enabled and many of the programs for the Vax migrated to the
> PDP-11, as people ran out of address space (IIRC: one the first user
> programs that needed to use overlays was ex/vi.  Again, as I recall the
> original wnj version by then was such a mess, getting a new/cleaner code
> base was a large impetus for Keith to start writing nvi).
>
> Anyway, many smaller programs 'just worked' and the original fmt(1)
> command was pretty simple.   As Doug so wisely observed:  "It's hard to
> imagine how this command could stray from classic Unix simplicity and intelligibility,
> but Gnu pulled it off."
>


While Berkeley arguably bloated things somewhat in improving its
functionality, gnu said 'here, hold my beer' in the 90s and we're still
holding the beer.

Warner

[-- Attachment #2: Type: text/html, Size: 2826 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-29  5:10     ` Michael Stiller via TUHS
  2020-05-29  5:19       ` Greg 'groggy' Lehey
@ 2020-05-29 13:39       ` Clem Cole
  2020-05-29 15:43         ` Warner Losh
  2020-05-29 17:14         ` Mary Ann Horton
  1 sibling, 2 replies; 18+ messages in thread
From: Clem Cole @ 2020-05-29 13:39 UTC (permalink / raw)
  To: Michael Stiller; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1259 bytes --]

On Fri, May 29, 2020 at 1:11 AM Michael Stiller via TUHS <
tuhs@minnie.tuhs.org> wrote:

> It is also included in 2.9BSD, or was it backported:
>
Just recompiled. I don't think this was one he had to make any changes too.
As Mary Ann and I said, Kurt wrote as part of the UCB Mail package [which
includes delivermail(8) - which was the moral parent to sendmail(8)].

The whole key is that Keith did not have a Vax at the Math department (they
had an 11/70 with max memory) and wanted all of the cool programs that were
being created on the Vax.   Remember, VM is automatic overlays.   So
first with the kernel, and then later with user code, larger and larger
programs were enabled and many of the programs for the Vax migrated to the
PDP-11, as people ran out of address space (IIRC: one the first user
programs that needed to use overlays was ex/vi.  Again, as I recall the
original wnj version by then was such a mess, getting a new/cleaner code
base was a large impetus for Keith to start writing nvi).

Anyway, many smaller programs 'just worked' and the original fmt(1) command
was pretty simple.   As Doug so wisely observed:  "It's hard to
imagine how this
command could stray from classic Unix simplicity and intelligibility, but
Gnu pulled it off."

[-- Attachment #2: Type: text/html, Size: 2297 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-29  5:10     ` Michael Stiller via TUHS
@ 2020-05-29  5:19       ` Greg 'groggy' Lehey
  2020-05-29 13:39       ` Clem Cole
  1 sibling, 0 replies; 18+ messages in thread
From: Greg 'groggy' Lehey @ 2020-05-29  5:19 UTC (permalink / raw)
  To: Michael Stiller; +Cc: tuhs

[-- Attachment #1: Type: text/plain, Size: 1126 bytes --]

On Friday, 29 May 2020 at  7:10:50 +0200, Michael Stiller via TUHS wrote:
>> On 29. May 2020, at 02:18, Greg 'groggy' Lehey <grog@lemis.com> wrote:
>> On Thursday, 28 May 2020 at  9:30:09 -0400, Clem Cole wrote:
>>> fmt was originally written by Kurt Shoens at UCB when he worked in Mail and
>>> delivermail.
>>
>> That agrees with the FreeBSD man page:
>>
>> HISTORY
>>     The fmt command appeared in 3BSD.
>> ...
>
> It is also included in 2.9BSD, or was it backported:
>
> ...
>
> BUGS
>      The program was designed to be simple and fast - for more
>      complex operations, the standard text processors are likely
>      to be more appropriate.

This paragraph is also in the FreeBSD man page, verbatim.  The whole
man page is at
https://www.freebsd.org/cgi/man.cgi?query=fmt&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html

Greg
--
Sent from my desktop computer.
Finger grog@lemis.com for PGP public key.
See complete headers for address and phone numbers.
This message is digitally signed.  If your Microsoft mail program
reports problems, please read http://lemis.com/broken-MUA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 163 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-29  0:18   ` Greg 'groggy' Lehey
@ 2020-05-29  5:10     ` Michael Stiller via TUHS
  2020-05-29  5:19       ` Greg 'groggy' Lehey
  2020-05-29 13:39       ` Clem Cole
  0 siblings, 2 replies; 18+ messages in thread
From: Michael Stiller via TUHS @ 2020-05-29  5:10 UTC (permalink / raw)
  To: tuhs

It is also included in 2.9BSD, or was it backported:

FMT(1)              UNIX Programmer's Manual               FMT(1)

NAME
     fmt - simple text formatter

SYNOPSIS
     fmt [ name ...  ]

DESCRIPTION
     Fmt is a simple text formatter which reads the concatenation
     of input files (or standard input if none are given) and
     produces on standard output a version of its input with
     lines as close to 72 characters long as possible.  The spac-
     ing at the beginning of the input lines is preserved in the
     output, as are blank lines and interword spacing.

     Fmt is meant to format mail messages prior to sending, but
     may also be useful for other simple tasks.

SEE ALSO
     Mail(1), nroff(1), roff(1)

AUTHOR
     Kurt Shoens

BUGS
     The program was designed to be simple and fast - for more
     complex operations, the standard text processors are likely
     to be more appropriate.



> On 29. May 2020, at 02:18, Greg 'groggy' Lehey <grog@lemis.com> wrote:
> 
> On Thursday, 28 May 2020 at  9:30:09 -0400, Clem Cole wrote:
>> fmt was originally written by Kurt Shoens at UCB when he worked in Mail and
>> delivermail.
> 
> That agrees with the FreeBSD man page:
> 
> HISTORY
>     The fmt command appeared in 3BSD.
> 
>     The version described herein is a complete rewrite and appeared in
>     FreeBSD 4.4.
> 
> AUTHORS
>     Kurt Shoens
>     Liz Allen (added goal length concept)
>     Gareth McCaughan
> 
> Greg
> --
> Sent from my desktop computer.
> Finger grog@lemis.com for PGP public key.
> See complete headers for address and phone numbers.
> This message is digitally signed.  If your Microsoft mail program
> reports problems, please read http://lemis.com/broken-MUA


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-28 13:30 ` Clem Cole
  2020-05-28 13:47   ` Clem Cole
@ 2020-05-29  0:18   ` Greg 'groggy' Lehey
  2020-05-29  5:10     ` Michael Stiller via TUHS
  1 sibling, 1 reply; 18+ messages in thread
From: Greg 'groggy' Lehey @ 2020-05-29  0:18 UTC (permalink / raw)
  To: Clem Cole; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 682 bytes --]

On Thursday, 28 May 2020 at  9:30:09 -0400, Clem Cole wrote:
> fmt was originally written by Kurt Shoens at UCB when he worked in Mail and
> delivermail.

That agrees with the FreeBSD man page:

HISTORY
     The fmt command appeared in 3BSD.

     The version described herein is a complete rewrite and appeared in
     FreeBSD 4.4.

AUTHORS
     Kurt Shoens
     Liz Allen (added goal length concept)
     Gareth McCaughan

Greg
--
Sent from my desktop computer.
Finger grog@lemis.com for PGP public key.
See complete headers for address and phone numbers.
This message is digitally signed.  If your Microsoft mail program
reports problems, please read http://lemis.com/broken-MUA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 163 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-28 18:35         ` Richard Salz
@ 2020-05-28 18:51           ` Clem Cole
  0 siblings, 0 replies; 18+ messages in thread
From: Clem Cole @ 2020-05-28 18:51 UTC (permalink / raw)
  To: Richard Salz; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 228 bytes --]

On Thu, May 28, 2020 at 2:36 PM Richard Salz <rich.salz@gmail.com> wrote:

> I thought base-64 worked on ebcdic/ibm platforms as well.
>
I do not believe it works properly with systems like CDC's display code (It
needs octets).

[-- Attachment #2: Type: text/html, Size: 756 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-28 18:00       ` Clem Cole
@ 2020-05-28 18:35         ` Richard Salz
  2020-05-28 18:51           ` Clem Cole
  0 siblings, 1 reply; 18+ messages in thread
From: Richard Salz @ 2020-05-28 18:35 UTC (permalink / raw)
  To: Clem Cole; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 172 bytes --]

I thought base-64 worked on ebcdic/ibm platforms as well.  But either way,
uuencode was the first and was very definitely a neat hack that worked and
solved real problems.

[-- Attachment #2: Type: text/html, Size: 231 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-28 16:08     ` Mary Ann Horton
@ 2020-05-28 18:00       ` Clem Cole
  2020-05-28 18:35         ` Richard Salz
  0 siblings, 1 reply; 18+ messages in thread
From: Clem Cole @ 2020-05-28 18:00 UTC (permalink / raw)
  To: Mary Ann Horton; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 1264 bytes --]

On Thu, May 28, 2020 at 12:10 PM Mary Ann Horton <mah@mhorton.net> wrote:

> It's nice to see a uuencode email attachment once again!
>
I was worried a MIME attachment might not get passed through the
automation, so I stayed with tried and true methods.

> Clem (who, by the way, is correct about the origin of fmt, it was part of
> Kurt Shoens' Mail program at Berkeley) has perfect timing. This coming
> Monday, 6/1/2020, is the 40th anniversary of the uuencode email attachment.
> (The date is based on the date in the uuencode man page in the 2.8BSD and
> 4.2BSD archives at https://www.tuhs.org/Archive/Distributions/UCB/ )
>
I could not have told you date, but I do remember when you sent it ber and
myself, specifically.

There has been some amusing coverage of the "25th anniversary of the email
attachment", commemorating Nat Borenstien's creation of MIME in 1992.
And his scheme does not work on IBM Mainframes or 6-bit machine as is (Nat
required an 8 bit path).  Your scheme passed through all known systems at
the time.

> Any thoughts on a proper commemoration of the 40th anniversary?
>
Can't say I know the proper way to do that, other than to say thank you and
acknowledge the hack as a darned creative solution to an issue a lot of us
had.

Clem

[-- Attachment #2: Type: text/html, Size: 2798 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-28 13:47   ` Clem Cole
@ 2020-05-28 16:08     ` Mary Ann Horton
  2020-05-28 18:00       ` Clem Cole
  0 siblings, 1 reply; 18+ messages in thread
From: Mary Ann Horton @ 2020-05-28 16:08 UTC (permalink / raw)
  To: tuhs

[-- Attachment #1: Type: text/plain, Size: 10949 bytes --]

It's nice to see a uuencode email attachment once again!

Clem (who, by the way, is correct about the origin of fmt, it was part 
of Kurt Shoens' Mail program at Berkeley) has perfect timing. This 
coming Monday, 6/1/2020, is the 40th anniversary of the uuencode email 
attachment. (The date is based on the date in the uuencode man page in 
the 2.8BSD and 4.2BSD archives at 
https://www.tuhs.org/Archive/Distributions/UCB/ )

There has been some amusing coverage of the "25th anniversary of the 
email attachment", commemorating Nat Borenstien's creation of MIME in 1992.

Any thoughts on a proper commemoration of the 40th anniversary?

     Mary Ann

On 5/28/20 6:47 AM, Clem Cole wrote:
> Ouch sorry for the extra stuff -- cut/paste error which I did not 
> realize until after delivery.
>
> On Thu, May 28, 2020 at 9:30 AM Clem Cole <clemc@ccc.com 
> <mailto:clemc@ccc.com>> wrote:
>
>     fmt was originally written by Kurt Shoens at UCB when he worked in
>     Mail and delivermail.
>
>     begin 644 fmt.tar.bz2
>     M0EIH.3%!62936:*IABH`#=1_U/TP`8!_____________W_]2B`0```(""&`:
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
>     M!%$I/T80D8%`N,L,@)%`4D#U0?P0B.GI
>     <http://P0B.GI>,PY'F,BQDQ)J2X/BD:5&=0&!EYNH
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
>     2KZT3?11`_\7<D4X4)"BJ88J`
>     `
>     end
>
>     On Thu, May 28, 2020 at 8:41 AM markus schnalke <meillo@marmaro.de
>     <mailto:meillo@marmaro.de>> wrote:
>
>         Hoi,
>
>         personally I use fmt(1) a lot for email formatting and such.
>         Typically I only use the `-w' parameter. Now someone asked me
>         about
>         `-t' and `-c' of *GNU* fmt(1). I wasn't able to find good
>         documentation
>         on them. The manpage only tells that they have to do with
>         different
>         indentation for the first or first two lines. But what are the use
>         cases? How would source text for these parameters look like?
>
>         A look into the description and rationale sections of POSIX, which
>         often provides helpful information, was not possible because
>         fmt(1)
>         is not part of POSIX (only fold(1) is). Why's that? Is it because
>         fmt(1) differs so much between Unix implementations? On BSD `-c'
>         centers text and `-t' sets tab widths. Plan 9 has none of these
>         options. But still, `-w' could have been standardized. Or was the
>         line filling algorithm different as well? How does fold(1) fit
>         into
>         the picture?
>
>         Maybe you can answer some of these questions or give hints on
>         where
>         I could find answers myself.
>
>
>         meillo
>

[-- Attachment #2: Type: text/html, Size: 14680 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-28 13:30 ` Clem Cole
@ 2020-05-28 13:47   ` Clem Cole
  2020-05-28 16:08     ` Mary Ann Horton
  2020-05-29  0:18   ` Greg 'groggy' Lehey
  1 sibling, 1 reply; 18+ messages in thread
From: Clem Cole @ 2020-05-28 13:47 UTC (permalink / raw)
  To: markus schnalke; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 10252 bytes --]

Ouch sorry for the extra stuff -- cut/paste error which I did not realize
until after delivery.

On Thu, May 28, 2020 at 9:30 AM Clem Cole <clemc@ccc.com> wrote:

> fmt was originally written by Kurt Shoens at UCB when he worked in Mail
> and delivermail.
>
>
> begin 644 fmt.tar.bz2
> M0EIH.3%!62936:*IABH`#=1_U/TP`8!_____________W_]2B`0```(""&`:
> M7W@`/<LW9;MGLU8&BJ4;";QW'84&T[ML`-`%6:M-%4#JA08@`!5*`(2LA;`Z
> MU3"400"&1D)IM$-)^J;1)MHFFIYJ)HVICTI^D3U!H-`>IIH`&@T!-$9$R:3U
> M%/4VH>4;4](PT0-&)H`-```````U,DRIZ!#U!M1D>B-#$;2&F(9-```80#0`
> M:,)H"32B0*;*:GD$G@*'Z*>F3(U#U-J;1#TAZAH#)Z@T!ZFC1Z@`<```T#0T
> M-#3(`-``!H!H:``!D``"1$$"`$9"&(TDS30IZ,4;4;4Q,&H,@8F@-&F@&RGY
> M1?G$_-^6''G7ZU]8;A,V`VT\0%_TFD"/3Y8^MQV#;T(R3^!&;`F`*((#98)(
> M4KO"=V(3&($G$>RP@@PD*Q6("451L[MJL5D1"**K$6`J,(@Q8B"+$8K$4!@_
> M;M`VE:!8)HAN9R\O#W<AV>WVMVS1SG`9$5`Q2B`H+[:-E4,%OIM%%1C$0,,*
> [ctcole-mac09:bsd-sources/usr.bin/fmt] ctcole% wc -l *uu
> 129 fmt.tar.bz2.uu
> [ctcole-mac09:bsd-sources/usr.bin/fmt] ctcole% clear
> [ctcole-mac09:bsd-sources/usr.bin/fmt] ctcole% cat *uu
> begin 644 fmt.tar.bz2
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
> 2KZT3?11`_\7<D4X4)"BJ88J`
> `
> end
>
> On Thu, May 28, 2020 at 8:41 AM markus schnalke <meillo@marmaro.de> wrote:
>
>> Hoi,
>>
>> personally I use fmt(1) a lot for email formatting and such.
>> Typically I only use the `-w' parameter. Now someone asked me about
>> `-t' and `-c' of *GNU* fmt(1). I wasn't able to find good documentation
>> on them. The manpage only tells that they have to do with different
>> indentation for the first or first two lines. But what are the use
>> cases? How would source text for these parameters look like?
>>
>> A look into the description and rationale sections of POSIX, which
>> often provides helpful information, was not possible because fmt(1)
>> is not part of POSIX (only fold(1) is). Why's that? Is it because
>> fmt(1) differs so much between Unix implementations? On BSD `-c'
>> centers text and `-t' sets tab widths. Plan 9 has none of these
>> options. But still, `-w' could have been standardized. Or was the
>> line filling algorithm different as well? How does fold(1) fit into
>> the picture?
>>
>> Maybe you can answer some of these questions or give hints on where
>> I could find answers myself.
>>
>>
>> meillo
>>
>

[-- Attachment #2: Type: text/html, Size: 14028 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-28 12:34 markus schnalke
  2020-05-28 13:08 ` Rob Pike
  2020-05-28 13:30 ` Clem Cole
@ 2020-05-28 13:46 ` Clem Cole
  2020-05-31 12:35 ` markus schnalke
  3 siblings, 0 replies; 18+ messages in thread
From: Clem Cole @ 2020-05-28 13:46 UTC (permalink / raw)
  To: markus schnalke; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1876 bytes --]

On Thu, May 28, 2020 at 8:41 AM markus schnalke <meillo@marmaro.de> wrote:

> A look into the description and rationale sections of POSIX, which
> often provides helpful information, was not possible because fmt(1)
> is not part of POSIX (only fold(1) is). Why's that?
>
It was not in SVID and nobody from the BSD side of the war at the time felt
it was worth arguing about to add it to the standard.  Basically, during
the writing of both POSIX.1 and .2, there was huge pressure from AT&T to
just take the SVID and try to make that the standard.  In fact, IIRC, Jim
Issack got AT&T to release the copyright on it and we used some of the
original AT&T troff source.

But many of us pushed back saying even if there was a marketing campaign:
"AT&T UNIX®, Consider it Standard" it was not hardly so.   And many BSD
additions (improvements) were taken into the standard.   For instance,
sockets was the prefered to networking interface, although to save face
AT&T managed to get the TLI allowed in as an alternative to sockets in the
first version of the network specification. (Funny, I don't know of a
FIPS-151 registered UNIX implementation that used TLI).

Remember, the primary driver for the POSIX work was for the ISV's - to make
it easier for them to create software that they could sell.
Early on, Heinz in particular, wanted an ABI, not an API (many of us,
myself in that camp) shouted him down.  Since those days, I've sometimes
wondered if we had earlier on figured out how to do that; maybe the UNIX
Wars would have worked out differently (but thats a different discussion).

Back to fmt(1), like you, I have used it for years, particularly in email.
I usually forked it from vi to paginate my message was what I did for years
until I finally switched from mh (actually the hm version) to the Gmail
interface as my MUI client.
Clem

[-- Attachment #2: Type: text/html, Size: 3138 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-28 12:34 markus schnalke
  2020-05-28 13:08 ` Rob Pike
@ 2020-05-28 13:30 ` Clem Cole
  2020-05-28 13:47   ` Clem Cole
  2020-05-29  0:18   ` Greg 'groggy' Lehey
  2020-05-28 13:46 ` Clem Cole
  2020-05-31 12:35 ` markus schnalke
  3 siblings, 2 replies; 18+ messages in thread
From: Clem Cole @ 2020-05-28 13:30 UTC (permalink / raw)
  To: markus schnalke; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 9767 bytes --]

fmt was originally written by Kurt Shoens at UCB when he worked in Mail and
delivermail.


begin 644 fmt.tar.bz2
M0EIH.3%!62936:*IABH`#=1_U/TP`8!_____________W_]2B`0```(""&`:
M7W@`/<LW9;MGLU8&BJ4;";QW'84&T[ML`-`%6:M-%4#JA08@`!5*`(2LA;`Z
MU3"400"&1D)IM$-)^J;1)MHFFIYJ)HVICTI^D3U!H-`>IIH`&@T!-$9$R:3U
M%/4VH>4;4](PT0-&)H`-```````U,DRIZ!#U!M1D>B-#$;2&F(9-```80#0`
M:,)H"32B0*;*:GD$G@*'Z*>F3(U#U-J;1#TAZAH#)Z@T!ZFC1Z@`<```T#0T
M-#3(`-``!H!H:``!D``"1$$"`$9"&(TDS30IZ,4;4;4Q,&H,@8F@-&F@&RGY
M1?G$_-^6''G7ZU]8;A,V`VT\0%_TFD"/3Y8^MQV#;T(R3^!&;`F`*((#98)(
M4KO"=V(3&($G$>RP@@PD*Q6("451L[MJL5D1"**K$6`J,(@Q8B"+$8K$4!@_
M;M`VE:!8)HAN9R\O#W<AV>WVMVS1SG`9$5`Q2B`H+[:-E4,%OIM%%1C$0,,*
[ctcole-mac09:bsd-sources/usr.bin/fmt] ctcole% wc -l *uu
129 fmt.tar.bz2.uu
[ctcole-mac09:bsd-sources/usr.bin/fmt] ctcole% clear
[ctcole-mac09:bsd-sources/usr.bin/fmt] ctcole% cat *uu
begin 644 fmt.tar.bz2
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
2KZT3?11`_\7<D4X4)"BJ88J`
`
end

On Thu, May 28, 2020 at 8:41 AM markus schnalke <meillo@marmaro.de> wrote:

> Hoi,
>
> personally I use fmt(1) a lot for email formatting and such.
> Typically I only use the `-w' parameter. Now someone asked me about
> `-t' and `-c' of *GNU* fmt(1). I wasn't able to find good documentation
> on them. The manpage only tells that they have to do with different
> indentation for the first or first two lines. But what are the use
> cases? How would source text for these parameters look like?
>
> A look into the description and rationale sections of POSIX, which
> often provides helpful information, was not possible because fmt(1)
> is not part of POSIX (only fold(1) is). Why's that? Is it because
> fmt(1) differs so much between Unix implementations? On BSD `-c'
> centers text and `-t' sets tab widths. Plan 9 has none of these
> options. But still, `-w' could have been standardized. Or was the
> line filling algorithm different as well? How does fold(1) fit into
> the picture?
>
> Maybe you can answer some of these questions or give hints on where
> I could find answers myself.
>
>
> meillo
>

[-- Attachment #2: Type: text/html, Size: 13480 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [TUHS] fmt(1): history, POSIX, -t, -c
  2020-05-28 12:34 markus schnalke
@ 2020-05-28 13:08 ` Rob Pike
  2020-05-28 13:30 ` Clem Cole
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 18+ messages in thread
From: Rob Pike @ 2020-05-28 13:08 UTC (permalink / raw)
  To: markus schnalke; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1536 bytes --]

I looked in my manuals. Fmt(1) first appears in Research 9th edition. I
have vague memories that it was written by Tom Duff, but a) I could
misremember and b) I also have vague memories it was not original. If both
memories are accurate, it's just a simple command written in two different
places, one being a distorted echo of another. Much like the make td wrote
at UofT after hearing about Stu's.

Nothing nefarious.

-rob


On Thu, May 28, 2020 at 10:41 PM markus schnalke <meillo@marmaro.de> wrote:

> Hoi,
>
> personally I use fmt(1) a lot for email formatting and such.
> Typically I only use the `-w' parameter. Now someone asked me about
> `-t' and `-c' of *GNU* fmt(1). I wasn't able to find good documentation
> on them. The manpage only tells that they have to do with different
> indentation for the first or first two lines. But what are the use
> cases? How would source text for these parameters look like?
>
> A look into the description and rationale sections of POSIX, which
> often provides helpful information, was not possible because fmt(1)
> is not part of POSIX (only fold(1) is). Why's that? Is it because
> fmt(1) differs so much between Unix implementations? On BSD `-c'
> centers text and `-t' sets tab widths. Plan 9 has none of these
> options. But still, `-w' could have been standardized. Or was the
> line filling algorithm different as well? How does fold(1) fit into
> the picture?
>
> Maybe you can answer some of these questions or give hints on where
> I could find answers myself.
>
>
> meillo
>

[-- Attachment #2: Type: text/html, Size: 1991 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [TUHS] fmt(1): history, POSIX, -t, -c
@ 2020-05-28 12:34 markus schnalke
  2020-05-28 13:08 ` Rob Pike
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: markus schnalke @ 2020-05-28 12:34 UTC (permalink / raw)
  To: tuhs

Hoi,

personally I use fmt(1) a lot for email formatting and such.
Typically I only use the `-w' parameter. Now someone asked me about
`-t' and `-c' of *GNU* fmt(1). I wasn't able to find good documentation
on them. The manpage only tells that they have to do with different
indentation for the first or first two lines. But what are the use
cases? How would source text for these parameters look like?

A look into the description and rationale sections of POSIX, which
often provides helpful information, was not possible because fmt(1)
is not part of POSIX (only fold(1) is). Why's that? Is it because
fmt(1) differs so much between Unix implementations? On BSD `-c'
centers text and `-t' sets tab widths. Plan 9 has none of these
options. But still, `-w' could have been standardized. Or was the
line filling algorithm different as well? How does fold(1) fit into
the picture?

Maybe you can answer some of these questions or give hints on where
I could find answers myself.


meillo

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-05-31 12:41 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-29  1:25 [TUHS] fmt(1): history, POSIX, -t, -c Doug McIlroy
  -- strict thread matches above, loose matches on Subject: below --
2020-05-28 12:34 markus schnalke
2020-05-28 13:08 ` Rob Pike
2020-05-28 13:30 ` Clem Cole
2020-05-28 13:47   ` Clem Cole
2020-05-28 16:08     ` Mary Ann Horton
2020-05-28 18:00       ` Clem Cole
2020-05-28 18:35         ` Richard Salz
2020-05-28 18:51           ` Clem Cole
2020-05-29  0:18   ` Greg 'groggy' Lehey
2020-05-29  5:10     ` Michael Stiller via TUHS
2020-05-29  5:19       ` Greg 'groggy' Lehey
2020-05-29 13:39       ` Clem Cole
2020-05-29 15:43         ` Warner Losh
2020-05-29 16:12           ` Clem Cole
2020-05-29 17:14         ` Mary Ann Horton
2020-05-28 13:46 ` Clem Cole
2020-05-31 12:35 ` markus schnalke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).