about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-07-17 14:59:24 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-07-17 14:59:24 -0700
commit7cd07a6ad4a7ba4b9df9da6843018a67a582d720 (patch)
tree0a7d38d8be1e68cbecee788afabb6b4b4e9f4b9e
parenta2a6e35ef5fd56518d6f7a719aab616a7751a551 (diff)
downloadmu-7cd07a6ad4a7ba4b9df9da6843018a67a582d720.tar.gz
1803
Bring back my optimizations for avoiding unnecessary work. But they
shouldn't be needed for correctness, and they aren't.
-rw-r--r--071print.mu17
-rw-r--r--edit.mu4
2 files changed, 11 insertions, 10 deletions
diff --git a/071print.mu b/071print.mu
index 85185405..818c95f5 100644
--- a/071print.mu
+++ b/071print.mu
@@ -112,16 +112,17 @@ recipe print-character [
     break-unless x:address:screen
     width:number <- get x:address:screen/deref, num-columns:offset
     height:number <- get x:address:screen/deref, num-rows:offset
+    # if cursor is out of bounds, silently exit
     row:address:number <- get-address x:address:screen/deref, cursor-row:offset
-#?     legal?:boolean <- greater-or-equal row:address:number/deref, 0:literal
-#?     reply-unless legal?:boolean, x:address:screen
-#?     legal?:boolean <- lesser-than row:address:number/deref, height:number
-#?     reply-unless legal?:boolean, x:address:screen
+    legal?:boolean <- greater-or-equal row:address:number/deref, 0:literal
+    reply-unless legal?:boolean, x:address:screen
+    legal?:boolean <- lesser-than row:address:number/deref, height:number
+    reply-unless legal?:boolean, x:address:screen
     column:address:number <- get-address x:address:screen/deref, cursor-column:offset
-#?     legal?:boolean <- greater-or-equal column:address:number/deref, 0:literal
-#?     reply-unless legal?:boolean, x:address:screen
-#?     legal?:boolean <- lesser-than column:address:number/deref, width:number
-#?     reply-unless legal?:boolean, x:address:screen
+    legal?:boolean <- greater-or-equal column:address:number/deref, 0:literal
+    reply-unless legal?:boolean, x:address:screen
+    legal?:boolean <- lesser-than column:address:number/deref, width:number
+    reply-unless legal?:boolean, x:address:screen
     # special-case: newline
     {
       newline?:boolean <- equal c:character, 10:literal/newline
diff --git a/edit.mu b/edit.mu
index 94e4c7cc..43b71a6f 100644
--- a/edit.mu
+++ b/edit.mu
@@ -1166,14 +1166,14 @@ recipe render-sandboxes [
   }
   # render sandbox screen if necessary
   at-bottom?:boolean <- greater-or-equal row:number screen-height:number
-#?   reply-if at-bottom?:boolean, row:number/same-as-ingredient:4, screen:address:screen/same-as-ingredient:0
+  reply-if at-bottom?:boolean, row:number/same-as-ingredient:4, screen:address:screen/same-as-ingredient:0
   {
     empty-screen?:boolean <- fake-screen-is-clear? sandbox-screen:address:screen
     break-if empty-screen?:boolean
     row:number, screen:address:screen <- render-screen screen:address:screen, sandbox-screen:address:screen, left:number, right:number, row:number
   }
   at-bottom?:boolean <- greater-or-equal row:number screen-height:number
-#?   reply-if at-bottom?:boolean, row:number/same-as-ingredient:4, screen:address:screen/same-as-ingredient:0
+  reply-if at-bottom?:boolean, row:number/same-as-ingredient:4, screen:address:screen/same-as-ingredient:0
   # draw solid line after sandbox
   draw-horizontal screen:address:screen, row:number, left:number, right:number, 9473:literal/horizontal-double
   # draw next sandbox