about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 2047Kartik K. Agaram2015-08-201-5/+23
| | | | Back on a nice cadence of optimizing one case at a time.
* 2046Kartik K. Agaram2015-08-201-256/+67
| | | | | | | | | Redo some of the work of commits 2025-2032. We still need to create special-cases for each branch, but we'll now always update cursor in a single place. We'll also have handle-keyboard-event tell its caller whether it already took care of rendering or not. That way the caller only falls back to painting the entire screen when necessary. No more double-painting.
* 2045Kartik K. Agaram2015-08-201-26/+29
|
* 2044Kartik K. Agaram2015-08-201-8/+45
| | | | Don't render entire screen when appending to line.
* 2043Kartik K. Agaram2015-08-202-1/+2
| | | | | Traces were changing based on whether I was loading a .mu file with 'main' or not.
* 2042Kartik K. Agaram2015-08-201-0/+7
| | | | | | Mouse clicks towards the right of very wide windows weren't working. Turns out to be a limitation of the X10 protocol: https://github.com/nsf/termbox-go/issues/32
* 2041Kartik K. Agaram2015-08-201-2/+1
|
* 2040Kartik K. Agaram2015-08-201-3/+16
| | | | Back to checking render performance everywhere.
* 2039 - warn on unbalanced '['Kartik K. Agaram2015-08-195-17/+139
|
* 2038 - toggle trace even if warnings or printsKartik K. Agaram2015-08-191-2/+5
|
* 2037Kartik K. Agaram2015-08-191-43/+42
| | | | | All scenarios should use just numeric locations, and 'run' should encapsulate the code under test.
* 2036Kartik K. Agaram2015-08-191-5/+5
| | | | | Standardize on whether screen operations will explicitly write to 'screen' inside scenarios. (Answer: not for setup code, at least.)
* 2035Kartik K. Agaram2015-08-181-0/+30
|
* 2034Kartik K. Agaram2015-08-171-7/+112
|
* 2033 - minimal render for appending charactersKartik K. Agaram2015-08-171-0/+29
|
* 2032Kartik K. Agaram2015-08-171-3/+3
| | | | | Get all tests passing again. Actually slower now than before, thanks to double-render when editing the sandbox side. But that is temporary.
* 2031 - always position cursor after repaintingKartik K. Agaram2015-08-171-0/+25
|
* 2030Kartik K. Agaram2015-08-171-13/+39
|
* 2029Kartik K. Agaram2015-08-172-6/+29
|
* 2028Kartik K. Agaram2015-08-161-1/+1
|
* 2027Kartik K. Agaram2015-08-161-33/+57
|
* 2026Kartik K. Agaram2015-08-161-27/+57
|
* 2025 - back to speeding up renderKartik K. Agaram2015-08-161-31/+31
| | | | | | | | | First step: drop the existing optimization of not redrawing after every character. Gives the editor a jumpy feel. I'm also hoisting the render into handle-keyboard event as a first step to duplicating it everywhere. One test temporarily failing: we're gonna sometimes forget to draw the line below editors.
* 2024 - mu environment now handles infinite loops gracefullyKartik K. Agaram2015-08-162-3/+44
|
* 2023 - give routines time limitsKartik K. Agaram2015-08-161-0/+63
|
* 2022 - run sandboxes in separate routinesKartik K. Agaram2015-08-163-39/+104
|
* 2021Kartik K. Agaram2015-08-161-5/+3
|
* 2020Kartik K. Agaram2015-08-161-11/+2
|
* 2019 - simplify run-interactive furtherKartik K. Agaram2015-08-161-41/+25
| | | | | | | | | | | | | | | | | This time I'm getting rid of all the intricate SCREEN hacking. Now run-interactive is idiomatic: it creates a recipe on the fly, runs it, and returns various results and stats about it. One big consequence of the recipe now running interactively inside a local-scope: you can't just use numeric addresses anymore -- not without using /raw. Fixed one of the tests to reflect this. I realize now that I don't really want my students to be using raw addresses in their sandboxes, even if that was my idiom for lower-level scenarios. Hopefully running sandboxes in separate (synchronous) routines will be easy now.
* 2018Kartik K. Agaram2015-08-151-1/+0
| | | | | Still trying to minimize the work around run-interactive so I can build it with a sandboxed routine rather than a call in editor space.
* 2017Kartik K. Agaram2015-08-151-11/+11
|
* 2016Kartik K. Agaram2015-08-151-1/+1
|
* 2015 - ctrl-l: redraw screenKartik K. Agaram2015-08-151-4/+30
| | | | | I'm starting to optimize screen-drawing. If I get it wrong, this will be a work-around.
* 2014 - stop redundant prints on left-clickKartik K. Agaram2015-08-152-7/+104
|
* 2013Kartik K. Agaram2015-08-151-5/+6
|
* 2012Kartik K. Agaram2015-08-151-2/+2
|
* 2011Kartik K. Agaram2015-08-151-9/+0
| | | | | I think this can never trigger because 'cursor-column' can't be greater than 'right'.
* 2010Kartik K. Agaram2015-08-151-2/+2
|
* 2009Kartik K. Agaram2015-08-153-8/+8
|
* 2008Kartik K. Agaram2015-08-151-7/+7
|
* 2007Kartik K. Agaram2015-08-151-24/+24
| | | | | Now that it's time to optimize we're gonna go over our code for externalities. Like in this case: not telling mu about what has changed.
* 2006Kartik K. Agaram2015-08-151-23/+23
|
* 2005Kartik K. Agaram2015-08-141-4/+4
| | | | Turn off profiling.
* 2004 - indicator for running sandboxesKartik K. Agaram2015-08-141-8/+28
|
* 2003Kartik K. Agaram2015-08-141-5/+0
| | | | Minor issue in building until just layer 32.
* 2002Kartik K. Agaram2015-08-142-31/+8
| | | | | | | | | No, 2001 is no good. Phony targets can't early-exit if everything's built. New approach: $ CFLAGS=-g make && ./mu test etc.
* 2001Kartik K. Agaram2015-08-141-27/+31
| | | | | | | | | | | | | | | | | | Let's stop hackily editing compiler flags in makefile. I considered modifying the 'mu' script as well, with cases like this: 1. mu test -- don't optimize 2. mu test edit.mu -- optimize 3. mu test edit.mu just-one-test -- don't optimize 4. mu edit.mu -- interactive; optimize 5. mu -- just help message; don't optimize But that seems brittle for all the added complexity. From now on to build quickly just do: $ make dbg && mu test etc.
* 2000 - stop constantly copying large arrays aroundKartik K. Agaram2015-08-142-7/+21
|
* 1999Kartik K. Agaram2015-08-141-0/+12
| | | | | Still worth trying to optimize, though. Current lowest-hanging fruit: stop having index/index-address copy entire arrays around.
* 1998Kartik K. Agaram2015-08-141-2/+11
| | | | | Spent a while trying to understand why editing a slightly larger program was so much slower. Then realized I'd managed to disable optimizations.