23-applydefine 765 Bytes
Newer Older
1 2 3
Modifications to complex assignment code (the "applydefine" function).

Simplifies code by getting rid of VARIANT_MUST_COPY, and removing
4
unnecessary duplication in applydefine.  
5 6 7 8 9 10 11 12

Fixes the following bug (and related bugs):

  a <- list(list(1+1))
  b <- a
  attr(a[[1]][[1]],"fred")<-9
  print(b)

13 14 15 16 17 18 19
Tried to get rid of duplicate in EnsureLocal.  This needed some mods
in length<- and slot assignment for S4 methods.  It turns out that
package Matrix (version 1.0-6) also relies on this duplication and on
the unmodified slot assignment (which it shouldn't really do), so this
has been disabled (but the duplication is now done outside EnsureLocal, 
and the disabled code is kept).  The mod to length<- is kept, and it 
is cleaned up and sped up otherwise as well.