Skip to content

Commit 07e09a2

Browse files
committed
FIX: union/skip not working correctly in some cases
resolves: Oldes/Rebol-issues#2520
1 parent eabca3e commit 07e09a2

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/core/t-map.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@
170170

171171
// Append new value the target series:
172172
if (mode > 1) {
173-
hashes[hash] = SERIES_TAIL(series)+1;
173+
hashes[hash] = (SERIES_TAIL(series) / wide) +1;
174174
//Debug_Num("hash:", hashes[hash]);
175175
Append_Series(series, (REBYTE*)key, wide);
176176
//Dump_Series(series, "hash");

src/tests/units/series-test.r3

+9
Original file line numberDiff line numberDiff line change
@@ -2162,6 +2162,15 @@ Rebol [
21622162
--test-- "union with none and unset"
21632163
--assert [#[none] #[unset]] = union [#[none]] [#[unset]]
21642164

2165+
--test-- "union/skip"
2166+
;@@ https://github.com/Oldes/Rebol-issues/issues/2520
2167+
--assert (union [a 1 b 2] [a 1 b 2] ) == [a 1 b 2]
2168+
--assert (union/skip [b 1 b 2] [b 1 b 2] 2 ) == [b 1]
2169+
--assert (union/skip [b 1 b 2] [b 2 b 2] 2 ) == [b 1]
2170+
--assert (union/skip [b 2 b 2] [b 2 b 2] 2 ) == [b 2]
2171+
--assert (union/skip [a 1 b 2] [a 1 b 2] 2 ) == [a 1 b 2]
2172+
--assert (union/skip ["a" 1 "b" 2] ["a" 1 "b" 2] 2) == ["a" 1 "b" 2]
2173+
21652174
--test-- "union/skip with negative skip"
21662175
;@@ https://github.com/Oldes/Rebol-issues/issues/736
21672176
--assert all [

0 commit comments

Comments
 (0)