You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Drop direct use of NAMED
Since data.table now depends on R >= 3.3, the backports are no longer
needed. Moreover, MAYBE_SHARED is currently a function, while
MAYBE_REFERENCED expands to !NO_REFERENCES (which is a function).
In debugging output, show MAYBE_REFERENCED (NAMED > 0) instead of NAMED.
* Almost drop direct use of LEVELS
getCharCE appeared in R-2.7, making it possible to check for strings
_marked_ as UTF-8 or Latin-1.
There is no marking as ASCII, so fixing IS_ASCII will have to wait for R
>= 4.5.
* NEWS entry for NAMED, LEVELS reduction
* fine-tune NEWS
---------
Co-authored-by: Michael Chirico <chiricom@google.com>
Copy file name to clipboardexpand all lines: NEWS.md
+2
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,8 @@
10
10
11
11
1. Tests run again when some Suggests packages are missing, [#6411](https://github.com/Rdatatable/data.table/issues/6411). Thanks @aadler for the note and @MichaelChirico for the fix.
12
12
13
+
2. Continued work to remove non-API C functions, [#6180](https://github.com/Rdatatable/data.table/issues/6180). Thanks Ivan Krylov for the PR and for writing a clear and concise guide about the R API: https://aitap.codeberg.page/R-api/.
14
+
13
15
# data.table [v1.16.0](https://github.com/Rdatatable/data.table/milestone/30) (25 August 2024)
(TYPEOF(values)!=VECSXP&&i>0) // assigning the same values to a second column. Have to ensure a copy #2540
550
550
) {
551
551
if (verbose) {
552
-
Rprintf(_("RHS for item %d has been duplicated because NAMED==%d MAYBE_SHARED==%d, but then is being plonked. length(values)==%d; length(cols)==%d)\n"),
Rprintf(_("RHS for item %d has been duplicated because MAYBE_REFERENCED==%d MAYBE_SHARED==%d, but then is being plonked. length(values)==%d; length(cols)==%d)\n"),
thisvalue=copyAsPlain(thisvalue); // PROTECT not needed as assigned as element to protected list below.
556
556
} else {
557
-
if (verbose) Rprintf(_("Direct plonk of unnamed RHS, no copy. NAMED==%d, MAYBE_SHARED==%d\n"), NAMED(thisvalue), MAYBE_SHARED(thisvalue)); // e.g. DT[,a:=as.character(a)] as tested by 754.5
557
+
if (verbose) Rprintf(_("Direct plonk of unnamed RHS, no copy. MAYBE_REFERENCED==%d, MAYBE_SHARED==%d\n"), MAYBE_REFERENCED(thisvalue), MAYBE_SHARED(thisvalue)); // e.g. DT[,a:=as.character(a)] as tested by 754.5
558
558
}
559
559
SET_VECTOR_ELT(dt, coln, thisvalue); // plonk new column in as it's already the correct length
560
560
setAttrib(thisvalue, R_NamesSymbol, R_NilValue); // clear names such as DT[,a:=mapvector[a]]
0 commit comments