I have no actual information about the lantern character, but
a tapered "storm lantern" would be far down my list of guesses.
The tapered chmney would much more likely be called a "lamp",
for it's a standard shape for the oil (kerosene) lamps
that everyone had before electricity.
My top guess would be a carriage lantern with a Japanese
garden ornament as a distant second. The carriage lantern
would be an unfilled circle superimposed on a vertical
rectangle, filled or unfilled. The rectangle might be
simplified to two (interrupted) vertical sides.
An alternate form of lantern would be a side view of
a carriage (or picture-projection) lantern, schematized
as a box, with a flaring projection to the right--an
icon for shining light on a subject, also interpretable
as a movie camera.
A Japanese lantern would be tripartite: cap, body, and
feet.
Do any of these possibilities ring a bell?
Doug
> Message: 1
> Date: Thu, 27 Jul 2017 11:58:38 -0400
> From: Random832 <random832(a)fastmail.com>
> To: tuhs(a)minnie.tuhs.org
> Subject: [TUHS] Anyone know what a LANTERN is?
> Message-ID:
> <1501171118.69633.1054588920.11864815(a)webmail.messagingengine.com>
> Content-Type: text/plain; charset="utf-8"
>
> There is a character in the terminfo/curses alternate character set,
> ACS_LANTERN, which is mapped to "i" in the VT100 alternate grapical
> character set. This character is, in fact, on a real VT100/VT220 (and
> therefore in most modern terminal emulators that support the full ACS),
> "VT" (in 'control character picture' format, along with HT FF CR LF NL).
> The ASCII mapping uses "#", and some CP437/etc mappings map it to the
> double box drawing intersection character.
>
> Was there ever a real 'lantern' character? The manpage mentions "some
> characters from the AT&T 4410v1 added". What did it look like?
There's two references in the termcap manpages:
http://invisible-island.net/ncurses/man/terminfo.5.html
and
http://invisible-island.net/ncurses/man/curs_add_wch.3x.html
The second link mentions that the AT&T 4410 terminal added this glyph in the location of the VT100 VT glyph. Apparently what it looked like is lost, unless someone finds a detailed 4410 manual (or has a working one in the attic).
There is a character in the terminfo/curses alternate character set,
ACS_LANTERN, which is mapped to "i" in the VT100 alternate grapical
character set. This character is, in fact, on a real VT100/VT220 (and
therefore in most modern terminal emulators that support the full ACS),
"VT" (in 'control character picture' format, along with HT FF CR LF NL).
The ASCII mapping uses "#", and some CP437/etc mappings map it to the
double box drawing intersection character.
Was there ever a real 'lantern' character? The manpage mentions "some
characters from the AT&T 4410v1 added". What did it look like?
That is such a great shot!
Since we are on the topic of photosâŠ
Iâve been shooting portraits of some of these same people as part of a larger photo project called Faces of Open Source.
If anyone is interested in taking a look, here they are: http://facesofopensource.com
-P-
â
Peter Adams Photography | web: http://www.peteradamsphoto.com | Instagram/twitter: @peteradamsphoto @facesopensource
> On Jul 19, 2017, at 7:00 PM, tuhs-request(a)minnie.tuhs.org wrote:
>
> Send TUHS mailing list submissions to
> tuhs(a)minnie.tuhs.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://minnie.tuhs.org/cgi-bin/mailman/listinfo/tuhs
> or, via email, send a message with subject or body 'help' to
> tuhs-request(a)minnie.tuhs.org
>
> You can reach the person managing the list at
> tuhs-owner(a)minnie.tuhs.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of TUHS digest..."
> Today's Topics:
>
> 1. Photo of some Unix greats (Dave Horsfall)
> 2. Re: Photo of some Unix greats (Larry McVoy)
> 3. Re: Photo of some Unix greats (Dan Cross)
>
> From: Dave Horsfall <dave(a)horsfall.org>
> Subject: [TUHS] Photo of some Unix greats
> Date: July 19, 2017 at 3:48:48 PM PDT
> To: The Eunuchs Hysterical Society <tuhs(a)tuhs.org>
>
>
> https://en.wikipedia.org/wiki/Steven_M._Bellovin#/media/File:Usenix84_1.jpg
>
> Dennis Ritchie, Steve Bellovin, Eric Allman, Andrew Hume (I know him), Don Seeley, Mike Karels, Clem Cole...
>
> --
> Dave Horsfall DTM (VK2KFU) "Those who don't understand security will suffer."
>
>
>
>
> From: Larry McVoy <lm(a)mcvoy.com>
> Subject: Re: [TUHS] Photo of some Unix greats
> Date: July 19, 2017 at 4:35:05 PM PDT
> To: Dave Horsfall <dave(a)horsfall.org>
> Cc: The Eunuchs Hysterical Society <tuhs(a)tuhs.org>
>
>
> It's a cool picture, thanks. Brings back lots of memories and makes me
> hate being younger than that crowd, would have loved to have been there.
> I was just far enough along at that point to have a job sys admining some
> of Clem's work products, 3 Masscomps. Think I was a junior in college.
>
> Great picture, good people.
>
> On Thu, Jul 20, 2017 at 08:48:48AM +1000, Dave Horsfall wrote:
>> https://en.wikipedia.org/wiki/Steven_M._Bellovin#/media/File:Usenix84_1.jpg
>>
>> Dennis Ritchie, Steve Bellovin, Eric Allman, Andrew Hume (I know him), Don
>> Seeley, Mike Karels, Clem Cole...
>>
>> --
>> Dave Horsfall DTM (VK2KFU) "Those who don't understand security will suffer."
>
> --
> ---
> Larry McVoy lm at mcvoy.comhttp://www.mcvoy.com/lm
>
>
>
>
> From: Dan Cross <crossd(a)gmail.com>
> Subject: Re: [TUHS] Photo of some Unix greats
> Date: July 19, 2017 at 6:22:47 PM PDT
> To: Dave Horsfall <dave(a)horsfall.org>
> Cc: The Eunuchs Hysterical Society <tuhs(a)tuhs.org>
>
>
> I like how Andrew Hume is defying the weather. Like a boss.
>
> On Wed, Jul 19, 2017 at 6:48 PM, Dave Horsfall <dave(a)horsfall.org <mailto:dave@horsfall.org>> wrote:
> https://en.wikipedia.org/wiki/Steven_M._Bellovin#/media/File:Usenix84_1.jpg <https://en.wikipedia.org/wiki/Steven_M._Bellovin#/media/File:Usenix84_1.jpg>
>
> Dennis Ritchie, Steve Bellovin, Eric Allman, Andrew Hume (I know him), Don Seeley, Mike Karels, Clem Cole...
>
> --
> Dave Horsfall DTM (VK2KFU) "Those who don't understand security will suffer."
>
>
>
> _______________________________________________
> TUHS mailing list
> TUHS(a)minnie.tuhs.org
> https://minnie.tuhs.org/cgi-bin/mailman/listinfo/tuhs
On 2017-07-09 23:44, ron minnich <rminnich(a)gmail.com> wrote:
> On Sun, Jul 9, 2017 at 2:29 PM Dave Horsfall <dave(a)horsfall.org> wrote:
>>
>> I vaguely remember something like "PIP *.TXT *.OLD" to rename files (the
>> "*" was interpreted by the command itself, not the interpreter).
Well, that would not rename files, but copy them and at the same time
changing their names. But you could also do renaming in a similar way,
but usually it would require a switch to PIP telling it that you wanted
the files renamed, and not copied.
Also, the syntax of PIP, and the order of arguments is a bit different.
At least the versions I can remember right now, it would be:
PIP *.OLD=*.TXT
to copy, and
PIP *.OLD/RE=*.TXT
to rename.
And yes, it is the program who process the wildcard expansions, and not
the command interpreter. Which is why commands like the ones above
worked. This is one of those classical examples you get to when
comparing Unix with DEC OSes about wildcarding, and the effects the
different ways they are done have on the result.
(In Unix, you can't do such a mass copy and rename in the same way.)
> All the DEC-10 and 11 operating systems I used had that wildcard, as well
> as IIRC even the PDP-8, maybe someone can confirm the -8.
Yes. It's the same on the OSes I've used on PDP-8s as well.
I would say that the globbing in Unix have much less to do with regular
expressions and much more to do with trying to mimic what DEC was doing
in their OSes.
> It would have been nice had RE's been the standard way to glob files, but,
> that said, when I mention .*\.c to people instead of *.c they don't much
> like it.
In a way, it would have made more sense to just use standard RE's for
globbing, but that didn't happen. And like I said, I suspect it was
because DEC OSes did it this way, and Unix just mimicked it. Same I
guess with the convention of '.' to separate filename from type. Even
though it's less pervasive in Unix than in DEC systems.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
Glob was an an accident. When Ken and Dennis wanted to put wildcards
(an anachronistic word--it wasn't used in the Unix lab at the time)
into the shell, there wasn't room, so they came up with the clever hack
of calling another process to do the work.
I have always understood that glob meant global because commands like
rm *
would be applied to every file in a directory. A relationship to ed's
g command was clear, but not primary in my mind.
One curious fact is that from day one the word hase been pronounced glob,
not globe. (By contrast, creat has been variously pronounced cree-at
and create.) It is also interesting to speculate on whether there would
be a glob library routine in Linux had glob only been an identifier in
sh.c rather than an entry in /bin.
I believe the simple * was borrowed from somewhere else. If the g command
had been the driving model, glob would probably have had ? and ?*, not
? and *. (It couldn't use ed's . because . was ubiquitous in file names.)
My etymology is somewhat different from Steve's. But I never asked the
originator(s). Steve, did you?
Doug
On 7/9/17, ron minnich <rminnich(a)gmail.com> wrote:
>>
> All the DEC-10 and 11 operating systems I used had that wildcard, as well
> as IIRC even the PDP-8, maybe someone can confirm the -8.
>
> It would have been nice had RE's been the standard way to glob files, but,
> that said, when I mention .*\.c to people instead of *.c they don't much
> like it.
So when were REs first designed and implemented? I would imagine that
they came about as a way to extend the old '*' and '?' wildcard
syntax, but that is only a guess.
-Paul W.
> From: Paul Winalski
> So when were REs first designed and implemented? I would imagine that
> they came about as a way to extend the old '*' and '?' wildcard syntax,
> but that is only a guess.
I would suspect in the context of editors, not command file-naming. Don't
have time to research it, though. Try checking CTSS, early Multics, etc.
Noel
Doug McIlroy:
One curious fact is that from day one the word hase been pronounced glob,
not globe. (By contrast, creat has been variously pronounced cree-at
and create.)
=====
On the other hand, the UNIX Room pronunciation of `cron' rhymed with
bone, not with spawn.
Norman Wilson
Toronto ON
> From: Ron Minnich
> Why was it called glob? I always wondered.
Something about global expressions.
I recall reading about this somewhere; I tried looking in the man page:
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/man/man7/glob.7
but it didn't go into any detail. I don't know where I could have seen it,
alas...
Noel
Probably no one here wants it, but I have a DR11-W UNIBUS board:
http://bitsavers.trailing-edge.com/pdf/dec/unibus/DR11W_UsersMan.pdf
It's basically a 16-bit DMA interface that can actually do 500Kw per
second (woo hoo! 1MB/sec!) to another DR11-W
Anyone need it? Want it?
Figured I'd try here first, in case we had some historic UNIX people
that were still running a UNIBUS PDP-11 (or VAX).
No takers in a few weeks, I'll try the museums next.
thanks
art k.
> From: Toby Thain
> Are we to infer that neither Noel and Clem are "good homes"?
Well, I said something like 'I don't have an immediate need for it, but I'd
be happy to take it', so I guess the question is 'does someone have an
actual, immediate use for it' (which I don't)?
Noel
Does anyone here remember the Adventure Shell?
Doug wrote it back in 83, and I just stumbled across a copy in an RCS directory.
Invoked as âashâ it was pretty clever. Iâve lost the instructions and help files, however Iâve got the main script.
Back when people did weird things because it was fun.
David
> Browsing the source for "cc" in v6 and v7, if invoked with -2 would
> replace crt0.o with crt2.o. If the -2 were followed by another character
> (probably intended to be -20), it would use crt20.o and use -l2 instead
> of -lc.
>
> These options seem to be undocumented, and I can't find any source code
> of these libraries or indication as to what the purpose was.
The "scc" man page for System V may be enlightening, as it mentions
similarly-named files:
NAME
scc - C compiler for stand-alone programs
SYNOPSIS
scc [ +[ lib ] ] [ option ] ... [ file ] ...
DESCRIPTION
Scc prepares the named files for stand-alone execution.
[...]
FILES
/lib/crt2.o execution start-off
/usr/lib/lib2.a stand-alone library
/usr/lib/lib2A.a +A configuration library
/usr/lib/lib2B.a +B configuration library
-- Richard
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
Hi,
two remarks on the issues around FPSIM and tcsh:
I of course wondered by a line like
mov $4..,r0
is accepted by 'as', I naively expected that this should cause an error.
I didn't locate the 211bsd 'as' manual, so checked 7th Edition manuals,
which can be found under
https://wolfram.schneider.org/bsd/7thEdManVol2/
The assembler manual, see
https://wolfram.schneider.org/bsd/7thEdManVol2/assembler/assembler.pdf
states
6.1 Expression operators
The operators are:
(blank) when there is no operand between operands,
the effect is exactly the same as if a
â+â had appeared.
So the lexer sees two tokens
$4. --> number
. --> symbol for location counter
and, because the default operator is '+', interprets this as
mov $4. + . , r0
which ends up being a number in the 160000 to 177777 range.
So 'as' is not to blame, works as designed.
Noel Chippa wrote:
> I'm fairly amazed that apparently nobody has run across one of these 4 before!
> (Or, at least, not bothered to report it.)
> I wonder how long that bug has been in the code?
The answer is: this bug was in 211bsd all the time.
Steven Schultz told me that that they simply didn't have a way to
test FPSIM because all machines had FPP, and the only way of testing
would have been to physically remove the FP11 from a 11/70.
With best regards, Walter
Browsing the source for "cc" in v6 and v7, if invoked with -2 would
replace crt0.o with crt2.o. If the -2 were followed by another character
(probably intended to be -20), it would use crt20.o and use -l2 instead
of -lc.
These options seem to be undocumented, and I can't find any source code
of these libraries or indication as to what the purpose was.
I was hoping someone on the list who remembers 'mhit.c' from
the Blit library code could shed some light on some members
of the 'NMitem' structure. I believe that 'mhit' (sometimes
'hmenunit') was written by Andrew Hume.
The structure in question is this:
typedef struct NMitem
{
char *text;
char *help;
struct NMenu *next;
void (*dfn)(), (*bfn)(), (*hfn)();
long data; /* user only */
} NMitem;
The three functions are called at different times when a menu
is being traversed, but 'dfn' and 'bfn' are only called before
a submenu is entered, and after a submenu is exited, respectively.
'hfn' is called whenever an item has been selected.
I have never seen 'dfn' and 'bfn' used in any Bell Labs code so
I was wondering what the rationale for their existence was.
Noel Hunt
> From: "Walter F.J. Mueller"
> the kernel panic after tcsh here documents is understood.
Very nice detective work!
> The kernel panic is due to a coding error in mch_fpsim.s. ... After
> fixing the "$SIGILL." ... and three similar cases
I'm fairly amazed that apparently nobody has run across one of these 4 before!
(Or, at least, not bothered to report it.)
I wonder how long that bug has been in the code?
Noel
On 2017-06-11 04:00, "Walter F.J. Mueller" <w.f.j.mueller(a)retro11.de> wrote:
> Hi,
>
> the kernel panic after tcsh here documents is understood.
> And fixed, at least on my system.
Nice work. Looking forward to patch #250. And to respond to Noels remark
about this being around for a long time without reports - since this is
in FPSIM, and I believe the notes for 2.11BSD even says that this is an
untested piece of code, which are not even know if it works or not, it's
not something that have been used for ages. I'm in a way surprised it
even worked at all. I think I've seen somewhere that it was last tested
around 2.9BSD, and have not been officially tested since.
> The essential hint was Johnny's observation that on his system he gets
> an "Illegal instruction - core dumped" and no kernel panic.
Well, had I had FPP simulated, I would maybe not have gotten a kernel
panic anyway. It would all depend on where the address ended up. With my
current build, the kernel would have been able to read the address,
since it pointed into the boot diagnostics rom. So it's a dicey error at
best.
But the tcsh error was very good that you also figured out. And I guess
it means we now have a known working FPSIM. :-)
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
> Who started this? Why was the change made?
Arrays in Fortran and Algol were indexed from 1 by default, but
Algol (IIRC) generalized that to allow first:last declarations.
NPL used first,last for the SUBSTR operation. But first,last
begets off-by-one errors. The successor slice begins at last+1.
The formula for the position of 1-indexed a[i,j] is a mess.
First,length is much cleaner: the successor begins at
first+length. I convinced the committee of that, so when
NPL became PL/I, first,length was the convention. Zero-
indexing is also a clean first,length notation. BCPL,
where a[i] was synonymous with rv(a+i), had it. Dennis, who
knew a good thing when he saw it, took it over. Dijkstra,
too, often inveighed against 1-indexing, and opined that
zero was the true computer-science way.
1-indexing certainly came into programming languages from
the math tradition for matrix notation. Of course in
math series are often indexed from zero, so one may
pick and choose. Off hand I can only think of one CS
context where 1 comes in handy: heapsort.
Doug
Hi,
the kernel panic after tcsh here documents is understood.
And fixed, at least on my system.
The essential hint was Johnny's observation that on his system he gets
an "Illegal instruction - core dumped" and no kernel panic.
I'm using a self-build PDP 11/70 on an FPGA, see
https://github.com/wfjm/w11/https://wfjm.github.io/home/w11/
which doesn't have a floating point unit. Therefore the kernel is build
with floating point emulation, thus with
FPSIM YES # floating point simulator
In a kernel with FPSIM activated the trap handler trap(), see
http://www.retro11.de/ouxr/211bsd/usr/src/sys/pdp/trap.c.html
calls for each user mode illegal instruction trap fpsim(). In case
it was a floating point instruction fpsim() emulates it, returns 0,
and trap() simply returns. If not, fpsim() returns the abort signal
type, and trap() calls psignal() with this signal type, which in
general will terminate the offending process.
The kernel panic is due to a coding error in mch_fpsim.s. Look in
http://www.retro11.de/ouxr/211bsd/usr/src/sys/pdp/mch_fpsim.s.html
the code after label badins:
badins: / Illegal Instruction
mov $SIGILL.,r0
br 2b
The constant SIGILL is defined in assym.h as
#define SIGILL 4.
Thus after substitution the mov instruction is
mov $4..,r0
with *two dots* !!! The 'as' assembler generates from this
mov #160750,r0
So r0 will contain a invalid signal number, which is returned by fpsim() to
trap(). This signal number is passed to psignal(), which starts with
mask = sigmask(sig);
prop = sigprop[sig];
The access to sigprop[sig] results into an address in IO space, causes an
UNIBUS timeout, and in consequence the kernel panic.
After fixing the "$SIGILL." to "$SIGILL" (removing the extraneous '.') and
three similar cases the kernel doesn't panic anymore, tcsh crashed with an
illegal instruction trap.
Remains the question why tcsh runs onto an illegal instruction. Getting now
a tcsh core dump adb gives the answer
adb tcsh tcsh.core
$c
0172774: _rscan(0176024,0174434) from ~heredoc+0246
0176040: _heredoc(067676) from ~execute+0234
0176126: _execute(067040,01512,0,0) from ~execute+03410
0176222: _execute(066754,01512,0,0) from ~process+01224
0176274: _process(01) from ~main+06030
0177414: _main() from start+0104
heredoc(), which is located in OV1, calls rscan(), which is in OV6 with
rscan(Dv, Dtestq);
where Dtestq is a function pointer to Dtestq(), which is as heredoc() in OV1.
rscan(), which has the signature
rscan(t, f)
register Char **t;
void (*f) ();
uses 'f' in the statement
(*f) (*p++);
The problem is that
- heredoc() and Dtestq() are in OV1
- that's why in the end ~Dtestq is used a function pointer, like
for all overlay internal function invocations
- rscan() is in OV6, when it's called, overlay is switched OV1 -> OV6
- this invalidates the function pointer, which points to some random
code location, which happens to hold '000045', causing a trap.
It is clear that in this context _Dtestq, the forwarder in the base, must
be used and not ~Dtestq, the entry point in the overlay. The generated
code for 'rscan(Dv, Dtestq)' is
~heredoc+0230: mov $0174434,(sp) # arg Dtestq: uses ~Dtestq
~heredoc+0234: mov r5,-(sp)
~heredoc+0236: add $0177764,(sp) # arg Dv
~heredoc+0242: jsr pc,*$_rscan
Since rscan() is very small and only used by heredoc() I simply moved the
code of rscan() from sh.glob.c (OV6) to sh.dol.c where also heredoc() and
Dtestq() is defined.
After that tcsh works fine with here documents
./tcsh
cat >x.x <<EOF
1
$TERM
$PWD
EOF
cat x.x
1
vt100-long
/usr/src/bin/tcsh
Bottom line
- fpsim was broken all the time
- tcsh was broken all the time
I'm convert this into proper patches and send them to Steven, but this will
take some time because I've to tidy up my system to be again in the
position to provide proper and clean patch sets.
With best regards, Walter
P.S.: debugging the kernel issue was quite easy because the w11a CPU has
three essential 'build into the cpu' debug tools:
- a 'cpu monitor', which records 144 bits of processor state for the last 256
instructions or vector fetches, see
https://github.com/wfjm/w11/blob/master/rtl/w11a/pdp11_dmcmon.vhd
- a 'breakpoint unit' which allows to set instruction of data breakpoints
- an 'ibus monitor' which records the last 512 ibus transactions
After setting a breakpoint on the trap 004/010 handler an inspection of the
instruction trace gave the essential information. Below a very condensed
and annotated excerpt
nc ....pc cprptnzvc ..dsrc ..ddst ..dres vmaddr vmdata
#
# the "(*f) (*p++)" in tcsh, running onto an illegal instruction
#
15 145210 uu00-.... 000105 173052 000105 w d 173052 000105 mov r0,(sp)
25 145212 uu00-.... 173050 174434 174434 w d 173050 145216 jsr pc,@n(r5)
19 174434 uu00-.... 000010 173064 000010 r i 174434 000045 ?000045?
1 174434 uu00-.... 000012 173064 000012 r d 000010 000045 !VFETCH 010 RIT
#
# the "mov $SIGILL.,r0" in fpsim(), load 160750 instead of 000004
#
17 160744 ku00-n..c 160750 000045 160750 r i 160746 160750 mov #n,r0
14 160750 ku00-n..c 160752 160750 160732 r i 160750 000770 br .-14
#
# the "sigprop[sig]" access in psignal(), which accesses 174036
# which leads to a external bus (or UNIBUS) time out and IIT trap
#
23 161314 ku00-.z.. 000000 147500 000000 w d 147500 000000 mov r1,n(r5)
9 161320 ku00-.z.. 174036 000000 000000 Ebto 174036 013066 movb n(r3),r0
3 161320 ku00-.z.. 000006 000000 000006 r d 000004 013066 !VFETCH 004 IIT
Arnold gets it right on the Pascal indexing.
In UCSD Pascal you could specify any array bounds you would like and
the compiler would 0 base them for you by always doing a subtraction,
or addition if your min was negative, of your min array index. So a little
run time cost for non-zero based arrays.
Iâm not sure how other Pascal compilers did this.
I find it interesting that there are now a slew of testing programs
(Valgrind, Address Sanitizer, Purify, etc) that will add the âmissingâ
array bounds checking for C.
David
> On Jun 7, 2017, at 10:01 AM, tuhs-request(a)minnie.tuhs.org wrote:
>
> Date: Wed, 07 Jun 2017 07:20:43 -0600
> From: arnold(a)skeeve.com
> To: tuhs(a)tuhs.org, ag4ve.us(a)gmail.com
> Subject: Re: [TUHS] Array index history
> Message-ID: <201706071320.v57DKhmJ026303(a)freefriends.org>
> Content-Type: text/plain; charset=us-ascii
>
> Pascal (IIRC) allowed you to specify upper and lower bounds, something
> like
>
> foo : array[5..10] of integer;
>
> with runtime bounds checking on array accesses. (I could be wrong ---
> it's been a LLLLOOONNNGGG time.)
>
> HTH,
>
> Arnold