From f366f1f7900747ff67598b1df0d1b6905a990024 Mon Sep 17 00:00:00 2001 From: Alexander Iljin Date: Thu, 19 Jan 2017 00:24:13 +0300 Subject: [PATCH] charts.lines: make each2* output the last element --- lines/lines.factor | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lines/lines.factor b/lines/lines.factor index 7307df7a28..0fb5f267d5 100644 --- a/lines/lines.factor +++ b/lines/lines.factor @@ -162,9 +162,9 @@ ALIAS: y second SYMBOL: elt -: each2* ( seq quot: ( prev next -- next' ) -- ) +: each2* ( seq quot: ( prev next -- next' ) -- last ) [ unclip-slice elt ] dip '[ - [ elt get swap @ elt set ] each + [ elt get swap @ elt set ] each elt get ] with-variable ; inline :: (make-pair) ( prev next min max -- next' ) @@ -190,7 +190,10 @@ SYMBOL: elt ] } [ - drop [ chunks [ min max (make-pair) ] each2* ] { } make + drop [ + chunks [ min max (make-pair) ] each2* + dup first y min max between? [ , ] [ drop ] if + ] { } make ] } case ;