From 6fdfd5607bc28e04f5c122ef9585489c2d8c9cfe Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Thu, 15 Oct 2020 20:37:11 -0700 Subject: 7034 Finally following up on commit 7020. Ctrl-a and ctrl-e now work, but word-wise motions are still showing some funkiness. --- apps/tile/main.mu | 2 ++ apps/tile/word.mu | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'apps') diff --git a/apps/tile/main.mu b/apps/tile/main.mu index 611289f9..57def626 100644 --- a/apps/tile/main.mu +++ b/apps/tile/main.mu @@ -77,6 +77,8 @@ fn test { initialize-environment-with-fake-screen env, 5, 0xa var g/eax: grapheme <- copy 0x61 # 'a' process env, g + g <- copy 0x20 # space + process env, g g <- copy 1 # 'ctrl-a' process env, g g <- copy 5 # 'ctrl-e' diff --git a/apps/tile/word.mu b/apps/tile/word.mu index 7d44475c..3d43a593 100644 --- a/apps/tile/word.mu +++ b/apps/tile/word.mu @@ -79,12 +79,15 @@ fn first-word _in: (addr handle word), out: (addr handle word) { } fn final-word _in: (addr handle word), out: (addr handle word) { - var curr-ah/esi: (addr handle word) <- copy _in - var curr/eax: (addr word) <- lookup *curr-ah + var curr-h: (handle word) + var curr-ah/esi: (addr handle word) <- address curr-h + copy-object _in, curr-ah + var curr/eax: (addr word) <- copy 0 var next/edi: (addr handle word) <- copy 0 { + curr <- lookup *curr-ah next <- get curr, next - var curr/eax: (addr word) <- lookup *next + curr <- lookup *next compare curr, 0 break-if-= copy-object next, curr-ah -- cgit 1.4.1-2-gfad0