rc-list - mailing list for the rc(1) shell
 help / color / mirror / Atom feed
From: John (Watching the Wheels) Mackin <john@physiol.su.oz.au>
To: rc@hawkwind.utcs.toronto.edu
Subject: Clean design pays dividends -- and stupid kludges don't
Date: Thu, 2 Nov 1995 23:30:40 -0500	[thread overview]
Message-ID: <199511031530.18948.software.babaz@physiol.su.oz.au> (raw)

Hi.  Those of you who have been on this list for a while may remember
me -- fond greetings to all old-timers!  I haven't resubscribed (I can't
at this stage) but I have come across something in recent months that I
have decided cries out to be mentioned here.

You see, I now have a computer at home -- something I resisted through
all the many years of my professional life (with computers).  But now that
I am no longer working, I really need something at home to do writing on, and
keep track of my (paper) files, and like that.  Of course the fact that I am
no longer working also means that I have nothing to spend on such a computer,
so I am (still, after two years) building one out of parts I can scavenge.
That one, when finished, will be big enough to run FreeBSD so I will be
able to use rc as my shell as always, and there will be no problem.
But it is taking so long to build that I really needed a stopgap, and
I had enough hardware to build a stopgap machine.  The thing is that
it (on which I am indeed typing this mail! -- I will sneakernet it
in to University later in order to send it) is only a 286, so it can't
run any reasonable kind of Unix.  So I'm stuck with MS-DOS -- and therefore
I cannot use rc (as far as I know! -- I'd be _delighted_ as well as astonished
to hear that someone has done a DOS port).  But I do at least have the some
command binaries that make the thing look enough like Unix most of the time
that I am much more comfortable than I would be with raw DOS.

Now we are getting to the point of this posting: the shell I have is a port
of ksh.  I never used ksh on Unix but was basically familiar with its
offerings.  Now, I use it all the time, and of course I do not like it.
But the worst thing is its history.  Not only does it not (seem to,
perhaps I just can't figure out how) offer any way to preserve your
history effectively from one login session to the next -- something I
always do with my rc history files on Unix, and which I like very much;
and of course with a true external history file, it's your option --
but worse still, it has stupid "features" that interact badly
(read: don't interact at all).  Consider this real example: I've been
writing a letter to someone.  I think I have finished:

$ spell theletter
...

The spell output looks all right.  I'll print it now:

$ lpr $_

For those list-readers who are lucky enough to not know, this is a ksh
idiom.  $_ is set to the last argument of the previous command.  It's a
handy kludge, since a lot of the time in Unix the last argument is the
file you're currently doing something or other to, as in this case.
All right, it's printing now.  Gee, I wonder what time it is?

$ date
...

Oh, not too late.  I'd better print another copy of the letter to
go into the filing cabinet, so I use the built-in ksh history,
expecting to re-execute the command I did a moment ago: it's
(in this case) vi-like, so I type <ESC>, then "k" once -- and see

$ date

then "k" again, and see:

$ lpr $_

and then I think "Bugger!  If I type <RET> now to execute this, I
know damn well what I would get -- yes, you guessed it, I'd get
`lpr date'."

(let ((sarcastic #t))
  Wonderful, wonderful work, guys.  Well-designed, clean interface.
)

I will be very happy indeed when I can give ksh the big flick, and
go back full-time to my best friend in shells, rc.

OK,
John.


                 reply	other threads:[~1995-11-03  4:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=199511031530.18948.software.babaz@physiol.su.oz.au \
    --to=john@physiol.su.oz.au \
    --cc=rc@hawkwind.utcs.toronto.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).