about summary refs log tree commit diff stats
path: root/081print.mu
diff options
context:
space:
mode:
Diffstat (limited to '081print.mu')
-rw-r--r--081print.mu20
1 files changed, 16 insertions, 4 deletions
diff --git a/081print.mu b/081print.mu
index d795e617..1d3bf8dc 100644
--- a/081print.mu
+++ b/081print.mu
@@ -101,15 +101,27 @@ def print screen:&:screen, c:char -> screen:&:screen [
   row:num <- get *screen, cursor-row:offset
   row <- round row
   legal?:bool <- greater-or-equal row, 0
-  return-unless legal?
+  {
+    break-if legal?
+    row <- copy 0
+  }
   legal? <- lesser-than row, height
-  return-unless legal?
+  {
+    break-if legal?
+    row <- subtract height, 1
+  }
   column:num <- get *screen, cursor-column:offset
   column <- round column
   legal? <- greater-or-equal column, 0
-  return-unless legal?
+  {
+    break-if legal?
+    column <- copy 0
+  }
   legal? <- lesser-than column, width
-  return-unless legal?
+  {
+    break-if legal?
+    column <- subtract width, 1
+  }
 #?     $print [print-character (], row, [, ], column, [): ], c, 10/newline
   # special-case: newline
   {