[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"?