[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: ADJUST-ARRAY-NOT-ADJUSTABLE (version 10)
- To: Sandra J Loosemore <sandra%defun@cs.utah.edu>
- Subject: Re: Issue: ADJUST-ARRAY-NOT-ADJUSTABLE (version 10)
- From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Mon, 19 Jun 89 12:31 EDT
- Cc: cl-cleanup@sail.stanford.edu
- In-reply-to: <8906182007.AA26018@defun.utah.edu>
Date: Sun, 18 Jun 89 14:07:17 MDT
From: sandra%defun@cs.utah.edu (Sandra J Loosemore)
[removed x3j13, added cl-cleanup to distribution]
> If the array returned by ADJUST-ARRAY is not EQ to its
> first argument, the consequences of any reference to the original array
> are undefined.
I'm not sure I understand the motivation for this restriction. I'm
guessing that you want to permit the storage used by the original
array to be re-used.
I imagine that was the intent.
This is OK, however, I think prohibiting
references to the original array is going overboard -- you probably
really want to only restrict references to its contents via AREF.
For example, the rationale section says you should do
(setq x (adjust-array x ...))
Just after ADJUST-ARRAY returns, but before the SETQ happens, X
still contains a reference to the original array, and hence this example
is in error.
I see, the word "reference" is ambiguous. It could mean performing an
operation on the array, or it could mean having a reference in the garbage
collector sense. How about if "any reference to" were amended to read
"any operation on"?