Archive for the ‘linux’ Category

A Pragmatic Decision

August 5, 2008

(The following appears in the March 1988 UNIX Review magazine, in a comparative review of C compilers. The version of gcc that they tested in the article was 1.17, but you can still find the code they mention in gcc 1.40, in cccp.c.)

GCC’s early handling of the ANSI #pragma construct is perhaps worth noting at this point. Compiler writers are at liberty to deal with #pragma as they see fit. Paul Rubin, in a bit of whimsy, chose to┬ástart running the Tower-of-Hanoi game under emacs. Where this was impossible, a session of the hack game was attempted. Failing that, a rogue session was attempted. When all of these efforts failed, the compiler printed the error message: “You are in a maze of twisty compiler features, all different”.

More recent versions of GCC have this code disabled, however, and #pragma directives now are simply ignored. The original code is still distributed, though, for those who prefer it.

Origin of POSIX

August 5, 2008
From jsq@longway.tic.com Thu May  3 19:16:29 1990
From: jsq@longway.tic.com (John S. Quarterman)
Newsgroups: comp.std.unix
Subject: Re: Answer to "what does POSIX stand for?"
Date: 2 May 90 18:17:10 GMT
Reply-To: std-unix@uunet.uu.net

From: John S. Quarterman 

In article  From: Don_Lewine@dgc.ceo.dg.com:
>From the Rationale and Note section of IEEE Std 1003.1-1988 section B.1:
>
>"Since the interface enables application writers to write portable
>applications -- it was developed with that goal in mind -- it has been
>dubbed POSIX, an acronym for Portable Operations System Interface.  The
>name POSIX, suggested by Richard Stallman, was adopted during the printing
>of the Trial Use Standard."

At the time, the official name of the proposed standard was IEEE
Standard Portable Operating System Environment, or POSE.  Thus POSIX
was a fairly obvious pun to produce something that sounded and looked
similar to UNIX.  The official name of the standard has changed several
times since then (it was at one point Standard Portable Operating
System for Computer Environments, or SPOSCE, and the name on the cover
of the Full Use Standard is IEEE Standard Portable Operating System
Interface for Computer Environments, or SPOSICE), but the name POSIX
has stuck.  Could have been worse:  there exist bound draft copies of
the Trial Use Standard that say IEEEIX on the cover....

>"... The term POSIX is expected to be pronounced pahz-icks, as in positive,
>not poh-six, or other variations."

Note that this assertion appears only in the rationale and the foreword,
not in the body of the standard.  This is because the committee could not
standardize a pronunciation, and in fact had no consensus on what it might be.
Nonetheless, there is a small clique that considers it their duty to enforce
what they regard as the correct pronunciation, even though they don't all
pronounce it the same way themselves.

Volume-Number: Volume 19, Number 98

Origin of Emacs

August 5, 2008
From mrc@Tomobiki-Cho.CAC.Washington.EDU Fri Jan 19 23:29:23 1990
From: mrc@Tomobiki-Cho.CAC.Washington.EDU (Mark Crispin)
Newsgroups: alt.folklore.computers
Subject: Re: Emacs
Date: 19 Jan 90 22:56:26 GMT
Organization: Mendou Zaibatsu, Tomobiki-Cho, Butsumetsu-Shi

In article  nott@unix.cis.pitt.edu (nancy nott) writes:
>In the same vein as all of the posts about TECO, VAX, and PDP....
>What does Emacs mean?  

Editing MACroS.

Work on EMACS started in the summer of 1976.  The people who worked on
it primarily at that time were Guy Steele, Richard Stallman, and Dave
Moon.

EMACS was written in TECO, but not the TECO that most people know.
Most people know a very stripped-down and bastardized TECO which Bob
Clements adapted for the DEC operating system for the PDP-6.  The
original TECO was written by Dan Murphy for the PDP-1, and later
reimplemented on the PDP-6 (by, if I remember correctly, Richard
Greenblatt, Jack Holloway, and Tom Knight in a single weekend!).  The
original TECO used a display scope to display the text being edited
around the editing point.  It remained a source of wonder and
astonishment to the original authors of TECO that anyone ever used it
without a display screen.  This TECO ran on MIT's operating system for
the PDP-6 and PDP-10, ITS (Incompatible TimeSharing).

At Stanford, a different track of display editors had developed, again
starting with the display scope on the PDP-1.  The two surviving today
are TVEDIT for Tenex/TOPS-20 and E for WAITS.  Richard Stallman
visited the Stanford AI Lab and was impressed by E's real-time editing
facility.  When he returned to MIT, he implemented so-called "^R mode"
(a real time editing mode in TECO invoked by the CTRL/R command) in
TECO.

Although ^R mode made a whole new style of editing possible (unlike E
and TVEDIT, the default action for newly typed in text was insert
rather than replace), it was still rather primitive.  The search was
for a single character only, and you would still have to go back to
TECO to do lots of things (such as read or write files!).

Two major sets of TECO macro packages (a "macro" is a program, written
in TECO, stored in a TECO register) developed; TECMAC and TMACS.
TECMAC was a more real-time editor, while TMACS had a much richer set
of functionality including named commands.  Just about everybody had
their own customizations on top of these packages.

This was the situation when I worked at MIT in the summer of '76.  I
had brought with me my own favorite TECO-style editor, which, although
it had only the functionality of primitive DEC TECO, had two
interesting facilities: (1) it compiled all TECO programs (including
commands) prior to execution, and (2) it had multi-character register
names, which greatly increased the number of possible TECO registers
to virtually infinite.

Richard Stallman implemented the latter in TECO as part of the EMACS
project, which was originally intended as a replacement for both
TECMAC and TMACS.  By New Years in 1977 EMACS had made significant
inroads against TECMAC/TMACS; and in another year or so the older
editors had both succumbed to software rot.

Michael McMahon was irritated at the editor situation for Tenex and
TOPS-20; the alternatives at that time ranged from TVEDIT to QED to TV
(a DEC TOPS-20 TECO-like program with display terminal functionality
much like that of the 1964 MIT TECO).  He undertook the long and
laborious task of porting MIT EMACS from ITS to Tenex and TOPS-20, and
by 1978 EMACS was running on a small set of Tenex and TOPS-20 systems
at MIT, Stanford, and SRI.  Richard Stallman did heroic efforts to
propagate the mass (and free) distribution to just about every TOPS-20
system in the work.

This guaranteed EMACS a place in the sun.  Without McMahon and
Stallman's efforts we'd probably all be using vi or worse today.

In the 1980's, TOPS-20 had reached its zenith.  Because of horribly
high maintenance costs (DEC was trying to shut down the product line
in favor of VAX/VMS, and finally did in 1983), many sites were
migrating from TOPS-20.  Not trusting DEC, many sites picked UNIX as
their migration path instead of VMS.  There were a few critical
TOPS-20 tools which "must" be ported before the migration; and one of
those was EMACS.

The rest is well-known...
 _____     ____ ---+---   /-\   Mark Crispin           Atheist & Proud
 _|_|_  _|_ ||  ___|__   /  /   6158 Lariat Loop NE    R90/6 pilot
|_|_|_| /|\-++- |=====| /  /    Bainbridge Island, WA  "Gaijin! Gaijin!"
 --|--   | |||| |_____|   / \   USA  98110-2098        "Gaijin ha doko ka?"
  /|\    | |/\| _______  /   \  +1 (206) 842-2385      "Niichan ha gaijin."
 / | \   | |__| /     \ /     \ mrc@CAC.Washington.EDU "Chigau. Gaijin ja nai.
kisha no kisha ga kisha de kisha-shita                  Omae ha gaijin darou."
sumomo mo momo, momo mo momo, momo ni mo iroiro aru    "Iie, boku ha nihonjin."
uraniwa ni wa niwa, niwa ni wa niwa niwatori ga iru    "Souka. Yappari gaijin!"