From cd7d41f4df7e391932ca7972629040190b936827 Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Thu, 22 Oct 2015 10:34:18 -0700 Subject: [PATCH 1/2] round message activation date --- ape/talk.hoon | 1 + 1 file changed, 1 insertion(+) diff --git a/ape/talk.hoon b/ape/talk.hoon index 36c0910526..5b3b916994 100644 --- a/ape/talk.hoon +++ b/ape/talk.hoon @@ -1858,6 +1858,7 @@ :: ++ tr-tang ^- tang %+ welp tr-sep-tang + =. wen (sub wen (mod wen (div wen ~s0..0001))) :: round =+ hed=leaf/"{(scow %uv sen)} at {(scow %da wen)}" =+ =< paz=(turn (~(tap by aud)) .) |=([a=partner *] leaf/~(ta-full ta man a)) From 859bce32c9407ecf4b0aa7087a2df5cc203552da Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Thu, 22 Oct 2015 13:23:44 -0700 Subject: [PATCH 2/2] fix drum cursor handling, refactor chat newline splitter --- ape/talk.hoon | 42 ++++++++++++++++++++++-------------------- lib/drum.hoon | 15 +++++++-------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/ape/talk.hoon b/ape/talk.hoon index 5b3b916994..c49c2aa518 100644 --- a/ape/talk.hoon +++ b/ape/talk.hoon @@ -763,27 +763,29 @@ ++ sh-sane-chat :: sanitize chatter |= buf=(list ,@c) ^- (list sole-edit) + ?~ buf ~ =+ [inx=0 sap=0 con=0] - |^ run - ++ fix |=(cha=@ [%mor [%del inx] [%ins inx `@c`cha] ~]) - ++ run ^- (list sole-edit) - ?~ buf ~ - ?: =(i.buf (turf '•')) - ?~ con [[%del inx] run(buf t.buf)] - run(con 0, inx +(inx), buf t.buf) - ?: =(64 con) - =+ dif=(sub inx sap) - ?: (lth dif 64) - [(fix(inx sap) (turf '•')) run(con dif)] - [[%ins inx (turf '•')] run(con 0, inx +(inx))] - ?: =(i.buf ' ') - run(sap inx, inx +(inx), con +(con), buf t.buf) - =+ lit=run(inx +(inx), con +(con), buf t.buf) - ?: |((lth i.buf 32) (gth i.buf 126)) - [(fix '?') lit] - ?: &((gte i.buf 'A') (lte i.buf 'Z')) - [(fix (add 32 i.buf)) lit] - lit + |^ ^- (list sole-edit) + ?: =(i.buf (turf '•')) + ?. =(0 con) newline + [[%del inx] ?~(t.buf ~ $(buf t.buf))] + ?: =(i.buf ' ') + ?. =(64 con) advance(sap inx) + [(fix (turf '•')) newline] + ?: =(64 con) + =+ dif=(sub inx sap) + ?: (lth dif 64) + [(fix(inx sap) (turf '•')) $(con dif)] + [[%ins inx (turf '•')] $(con 0, inx +(inx))] + ?: |((lth i.buf 32) (gth i.buf 126)) + [(fix '?') advance] + ?: &((gte i.buf 'A') (lte i.buf 'Z')) + [(fix (add 32 i.buf)) advance] + advance + :: + ++ advance ?~(t.buf ~ $(con +(con), inx +(inx), buf t.buf)) + ++ newline ?~(t.buf ~ $(con 0, inx +(inx), buf t.buf)) + ++ fix |=(cha=@ [%mor [%del inx] [%ins inx `@c`cha] ~]) -- :: ++ sh-sane :: sanitize input diff --git a/lib/drum.hoon b/lib/drum.hoon index 29c64c87c6..e0137d9e3f 100644 --- a/lib/drum.hoon +++ b/lib/drum.hoon @@ -495,7 +495,7 @@ ?. liv ?: (~(has in (deft-fish our)) gyl) (se-blit qit/~) - (se-nuke gyl) + (se-nuke gyl) ..ta(fug (~(put by fug) gyl ``target`+<+)) :: ++ ta-poke |=(a=pear +>(..ta (se-poke gyl a))) :: poke gyl @@ -556,7 +556,7 @@ (ta-act %clr ~) :: .(+> (se-blit %bel ~)) =+ pre=(dec pos.inp) - (ta-hom(pos.inp pre) %del pre) + (ta-hom %del pre) :: ++ ta-ctl :: hear control |= key=@ud @@ -596,13 +596,12 @@ == %u ?: =(0 pos.inp) ta-bel - %- ta-hom(pos.inp 0, kil `(scag pos.inp buf.say.inp)) + %- ta-hom(kil `(scag pos.inp buf.say.inp)) (ta-cut 0 pos.inp) %v ta-bel %x +>(+> se-anon) - %y ?~ kil ta-bel - %- ta-hom(pos.inp (add pos.inp (lent u.kil))) - (ta-cat pos.inp u.kil) + %y ?~ kil ta-bel + (ta-hom (ta-cat pos.inp u.kil)) == :: ++ ta-cru :: hear crud @@ -653,7 +652,7 @@ |- ^- @ud ?- -.ted %del ?:((gth pos.inp p.ted) (dec pos.inp) pos.inp) - %ins ?:((lte pos.inp p.ted) +(pos.inp) pos.inp) + %ins ?:((gte pos.inp p.ted) +(pos.inp) pos.inp) %mor |- ^- @ud ?~ p.ted pos.inp $(p.ted t.p.ted, pos.inp ^$(ted i.p.ted)) @@ -743,7 +742,7 @@ ^+ +> ?^ ris (ta-ser txt) - %- ta-hom(pos.inp (add (lent txt) pos.inp)) + %- ta-hom :- %mor |- ^- (list sole-edit) ?~ txt ~