about summary refs log tree commit diff stats
path: root/shell/read.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-04-17 08:25:34 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-04-17 08:29:43 -0700
commit1a74c3a1e69ec87e901a2869a4777ad07dbfb176 (patch)
tree1cadb13445dc8c0bc03056713c8ccfed55155c04 /shell/read.mu
parent6d9a1e6abc067e6072137934c99e674cf2133533 (diff)
downloadmu-1a74c3a1e69ec87e901a2869a4777ad07dbfb176.tar.gz
loosening a few more buffers
Mu computer now has more code in it:

  (
    (globals . (
      (hline1 . (fn () (screen y lo hi) (if (>= lo hi) () ((fn () (pixel screen lo y 12) (hline1 screen y (+ lo 1) hi))))))
      (vline1 . (fn () (screen x lo hi) (if (>= lo hi) () ((fn () (pixel screen x lo 12) (vline1 screen x (+ lo 1) hi))))))
      (hline . (fn () (screen y) (hline1 screen y 0 (width screen))))
      (vline . (fn () (screen y) (vline1 screen y 0 (height screen))))
      (andf . (fn (a b)
                (if a
                  (if b
                    1
                    ())
                  ())))
      (brline . (fn (screen x0 y0 x1 y1)
                   ((fn (dx dy sx sy)
                      ((fn (err)
                         (brline1 screen x0 y0 x1 y1 dx dy sx sy err))
                       (+ dx dy)))
                    (abs (- x1 x0))
                    (- 0 (abs (- y1 y0)))
                    (sgn (- x1 x0))
                    (sgn (- y1 y0)))))
      (brline1 . (fn (screen x y xmax ymax dx dy sx sy err)
                   (pixel screen x y 12)
                   (if (andf (= x xmax) (= y ymax))
                     ()
                     ((fn (e2)
                        (brline1 screen
                          (if (>= e2 dy)
                            (+ x sx)
                            x)
                          (if (<= e2 dx)
                            (+ y sy)
                            y)
                          xmax
                          ymax
                          dx
                          dy
                          sx
                          sy
                          (+ err
                             (+
                               (if (>= e2 dy)
                                 dy
                                 0)
                               (if (<= e2 dx)
                                 dx
                                 0)))))
                      (* err 2)))))
    ))
    (sandbox . (brline screen 1 1 5 5))
  )
Diffstat (limited to 'shell/read.mu')
-rw-r--r--shell/read.mu2
1 files changed, 1 insertions, 1 deletions
diff --git a/shell/read.mu b/shell/read.mu
index 96ec8d9f..7f8fd1a7 100644
--- a/shell/read.mu
+++ b/shell/read.mu
@@ -1,5 +1,5 @@
 fn read-cell in: (addr gap-buffer), out: (addr handle cell), trace: (addr trace) {
-  var tokens-storage: (stream cell 0x100)
+  var tokens-storage: (stream cell 0x200)
   var tokens/ecx: (addr stream cell) <- address tokens-storage
   tokenize in, tokens, trace
   var error?/eax: boolean <- has-errors? trace