The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: "Greg A. Woods" <woods@robohack.ca>
To: The Unix Heritage Society mailing list <tuhs@tuhs.org>
Subject: Re: [TUHS] Origins of globbing
Date: Thu, 04 Feb 2021 13:29:12 -0800	[thread overview]
Message-ID: <m1l7mBc-0036urC@more.local> (raw)
In-Reply-To: <CAD2gp_S1Cxu2F94T4g4qRUCjUJ+sHRV7cySZd7YnODngxD5cpQ@mail.gmail.com>

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

At Tue, 6 Oct 2020 23:14:57 -0400, John Cowan <cowan@ccil.org> wrote:
Subject: Re: [TUHS] Origins of globbing
>
> Multics had support for * and ?, but I don't know when that was added or if
> it was there from the beginning.  Multics filenames, unlike DEC ones, allow
> multiple dots, which are treated specially by these characters: neither ?
> nor * can match a dot, but ** can.  So perhaps they got into Unix from
> Multics after all.  Stratus VOS is another direct descendant of Multics,
> but I don't know if it has globs.

Multics called them "starnames".

I don't know when they were added, but mention of "starname" support
appears in some of the very early technical bulletins, e.g. MTP-042 from
February 1974.

Interestingly in Multics starname expansion was/is always the
responsibility of the application, not the shell.

This has its advantages, such as in the "help" command where the user
can find help without knowing exactly how to spell what they're looking
for.  In fact when I first learned long ago that the Unix shell did the
expansion I remember immediately thinking of some of these issues, as by
that time I had already learned something of Multics.

It is also used to good advantage in Multics Emacs without having to
have Emacs re-implement some part of the shell, or indeed without having
to call the shell, or some part of the shell.  (Honeywell Bull notes
about differences between Multics and Unix also indicate that '$' was
not used for variable expansion, but there were other ways to do it on
Multics.)

On the other hand the Multics shell could and was/is modifiable or
replaceable by the user, so it wouldn't have been too hard to do
starname expansion in a shell implementation as well.

Also, given the way the Multics shell did command substitution (pretty
much right from the beginning, IIUC, and for sure by 1968), it would
also be trivial to use something like V6 "glob" to do starname expansion
for commands that didn't do it themselves.

--
					Greg A. Woods <gwoods@acm.org>

Kelowna, BC     +1 250 762-7675           RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com>     Avoncote Farms <woods@avoncote.ca>

[-- Attachment #2: OpenPGP Digital Signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

  reply	other threads:[~2021-02-04 21:30 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-06 15:44 Noel Chiappa
2020-10-06 23:11 ` George Michaelson
2020-10-06 23:21   ` Jon Steinhart
2020-10-07  0:23     ` Warner Losh
2020-10-07  0:32       ` George Michaelson
2020-10-07  0:33         ` Jon Steinhart
2020-10-07  3:14   ` John Cowan
2021-02-04 21:29     ` Greg A. Woods [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-10-06  9:53 Tyler Adams
2020-10-06 15:17 ` John Cowan
2020-10-07  2:25   ` Random832
2020-10-07  2:58     ` George Michaelson
2020-10-07  9:22       ` arnold
2020-10-07  9:45         ` Michael Kjörling
2020-10-08  3:45           ` John Cowan
2020-10-09 18:21             ` Random832
2020-10-08  0:18       ` Dave Horsfall
2020-10-08  0:33         ` Larry McVoy
2020-10-08  2:35         ` Dave Horsfall

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=m1l7mBc-0036urC@more.local \
    --to=woods@robohack.ca \
    --cc=tuhs@tuhs.org \
    /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).