Hoi,
thanks to everyone helping me with links.
As you already mentioned:
[2022-07-08 23:36] Douglas McIlroy <douglas.mcilroy(a)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