The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: markus schnalke <meillo@marmaro.de>
To: TUHS main list <tuhs@tuhs.org>
Subject: [TUHS] Re: ed: multiple addresses (with semicolons)
Date: Mon, 11 Jul 2022 16:40:45 +0200	[thread overview]
Message-ID: <1oAuab-7jq-00@marmaro.de> (raw)
In-Reply-To: <CAKH6PiVpYyXA5P5aRthSJgfrgd-xM+Fqf641Z7Xq9j-gRL_6gw@mail.gmail.com>

Hoi,

thanks to everyone helping me with links.

As you already mentioned:

[2022-07-08 23:36] Douglas McIlroy <douglas.mcilroy@dartmouth.edu>
>
> Neither tells about extra address fields or semicolons


The best I could find was this paper by DMR:

https://www.bell-labs.com/usr/dmr/www/qedman.html

There he writes:

	Sequences of two or more addresses are separated either by "," or
	by ";". In the latter case "." is set to the preceding address
	before the succeeding address is evaluated. The semicolon is used
	mostly to control the starting line for context searches. 


Later in the bootstrapping explanation appears a command with an
address chain:

	O;/./;.mf	"move filename (if there) to bf

I couldn't really understand this stuff. It seems to be specific to
this version of qed and the underlying operating system. Nevermind,
this leaves my focus of interest.


More was I curious about the documentation of address chains in
books.

- ``The Unix Programming Environment'' does neither mention
address chains nor semicolon separators.

- SRB's ``The Unix System'' (an often overlooked but great book)
explains the semicolon separator in a one-paragraph section on page
33.

- ``Software Tools'' goes into the most detail that I could find.
On pages 170 f. (section 6.2) it explains the semicolon separator
and address chains with this example:

	/#/;//;//;//;//p

	prints from the third succeeding line containing # to the
	fourth, inclusive.

Right thereafter (pages 172 and 173; section 6.3) the
implementation of getlist() -- collect line numbers -- follows,
which, as expected, is in a similar style as the actual
implementation in Unix at that time (v6):
	https://www.tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/s1/ed.c
	See function commands()


meillo

  reply	other threads:[~2022-07-11 14:41 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-08 21:36 Douglas McIlroy
2022-07-11 14:40 ` markus schnalke [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-07-11 17:30 Douglas McIlroy
2022-07-18 10:52 ` markus schnalke
2022-07-08 13:23 [TUHS] " Douglas McIlroy
2022-07-08 16:01 ` [TUHS] " Ken Thompson
2022-07-08 19:13   ` markus schnalke
2022-07-09  8:10     ` steve jenkin
2022-07-09  8:22       ` Rob Pike
2022-07-10  3:50         ` Jon Forrest
2022-07-10  9:25 ` Angelo Papenhoff
2022-07-10  9:59   ` Ralph Corderoy
2022-07-08  7:47 [TUHS] " markus schnalke
2022-07-08  8:09 ` [TUHS] " markus schnalke

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=1oAuab-7jq-00@marmaro.de \
    --to=meillo@marmaro.de \
    --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).