Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fix a long-standing bug in Mu's translator | Kartik K. Agaram | 2021-08-22 | 2 | -0/+47 |
| | | | | | | | | | | | | | | | | While all test pass, this change is disquieting. When I first designed Mu I deliberately chose to exclude literal strings from most primitive instructions both for type-checking and to avoid silently passing through strange constructions. Nobody really needs to add a string to a number, and am I sure no SubX instruction will cause a memory safety issue when passed a string literal instead of a number? But clearly I have no tests encoding this desire. And any string literal could be replaced by an integer literal containing the exact same value, so what are we protecting against anyway. Let me fix the bug for now. If I run into problems I'll come back and do this right. | ||||
* | start throwing error on labels too far for /disp8 | Kartik K. Agaram | 2021-08-22 | 2 | -0/+70 |
| | | | | | | | | | | | | | | | | | | | | | While I'm doing this I might as well lay out a story I don't seem to have told before in this commit log. I translated Mu programs to Linux before I did so to bare metal like I do in the top-level these days. The translator programs still run from the linux/ directory. However they don't always have good error messages. As long as I was translating to Linux this wasn't a huge deal because I always translated Mu programs using the bootstrap translator in linux/bootstrap/ -- which has great error messages. However, linux/bootstrap/ can't build bare-metal programs because boot.subx uses real-mode instructions that aren't supported. As a hack I created a script called misc_checks that at least tries to run everything besides boot.subx -- even though translation can never succeed. If I run it and get to errors about unknown variables I know everything besides boot.subx raised no errors. Having labels too far in /disp8 args is is the single biggest reason we need the misc_checks hack. Hopefully it's now obsolete. | ||||
* | . | Kartik K. Agaram | 2021-08-22 | 2 | -3/+4 |
| | |||||
* | start throwing error on duplicate label | Kartik K. Agaram | 2021-08-22 | 24 | -76/+385 |
| | | | | | | | | | | One less error that's only in the bootstrap phase. On the other hand, for simplicity I got rid of the ability to override the Entry label. One less special case, but we're also going further from the ability to run subsets of layers. We haven't really been exercising it for a long time, though (commit 7842, March 2021 when we made baremetal the default). | ||||
* | . | Kartik K. Agaram | 2021-08-22 | 2 | -16/+12 |
| | |||||
* | . | Kartik Agaram | 2021-08-15 | 94 | -14489/+19517 |
| | |||||
* | move gap buffer code to top-level | Kartik K. Agaram | 2021-08-15 | 4 | -2026/+0 |
| | | | | Now that it's been used in a second app without needing any changes. | ||||
* | minimize repaints when navigating between channels | Kartik K. Agaram | 2021-08-15 | 1 | -0/+13 |
| | |||||
* | . | Kartik K. Agaram | 2021-08-15 | 1 | -1/+1 |
| | |||||
* | correct menu when first entering search mode | Kartik K. Agaram | 2021-08-15 | 1 | -0/+7 |
| | | | | Test required. | ||||
* | . | Kartik K. Agaram | 2021-08-15 | 1 | -15/+12 |
| | | | | Make it more obvious that we always do a full repaint if dirty is set. | ||||
* | keep cursor stable when switching to thread view | Kartik K. Agaram | 2021-08-15 | 1 | -8/+37 |
| | | | | Test required. | ||||
* | missing code: selecting a thread in channel view | Kartik K. Agaram | 2021-08-15 | 1 | -3/+11 |
| | | | | Test required. And a clean fixture. | ||||
* | no, we can't just sort lines in the slack archive | Kartik K. Agaram | 2021-08-14 | 1 | -9/+12 |
| | | | | | Comments contain indices back to the parent. Reordering items completely messes up the indices. | ||||
* | slack: navigation for thread screens | Kartik K. Agaram | 2021-08-14 | 1 | -0/+123 |
| | |||||
* | slack: quick 'n' dirty thread screen | Kartik K. Agaram | 2021-08-14 | 1 | -0/+45 |
| | |||||
* | slack: data structures for single-thread view | Kartik K. Agaram | 2021-08-14 | 1 | -0/+96 |
| | |||||
* | slack: ensure single cursor on screen at any time | Kartik K. Agaram | 2021-08-14 | 1 | -17/+34 |
| | | | | This is worth a first test. | ||||
* | slack: delete intra-item cursor state | Kartik K. Agaram | 2021-08-14 | 1 | -88/+10 |
| | | | | I don't actually have per-user feeds yet. Just drop the feature for now. | ||||
* | slack: menu options for browsing intra-item | Kartik K. Agaram | 2021-08-14 | 1 | -1/+20 |
| | |||||
* | slack: hacky intra-item cursor | Kartik K. Agaram | 2021-08-14 | 1 | -1/+21 |
| | | | | | Pretty klunky that it's always on the topmost item. But it gets us going. | ||||
* | slack: introduce state for intra-item cursor | Kartik K. Agaram | 2021-08-14 | 1 | -8/+51 |
| | |||||
* | slack: start rendering cursor on main pane | Kartik K. Agaram | 2021-08-14 | 1 | -8/+26 |
| | |||||
* | . | Kartik K. Agaram | 2021-08-14 | 1 | -2/+2 |
| | |||||
* | slack: start building a cursor for the main pane | Kartik K. Agaram | 2021-08-14 | 1 | -6/+2 |
| | | | | First step: switch to arrow keys for navigating by item. | ||||
* | . | Kartik K. Agaram | 2021-08-14 | 1 | -0/+3 |
| | |||||
* | bug: allow '/' in search | Kartik K. Agaram | 2021-08-14 | 1 | -21/+22 |
| | |||||
* | bug in reusing tabs | Kartik K. Agaram | 2021-08-14 | 1 | -0/+2 |
| | |||||
* | . | Kartik K. Agaram | 2021-08-13 | 1 | -0/+1 |
| | | | | Bug in channel view. | ||||
* | slack: search cursor handling | Kartik K. Agaram | 2021-08-13 | 1 | -1/+2 |
| | |||||
* | slack: notify when too many results | Kartik K. Agaram | 2021-08-13 | 1 | -0/+6 |
| | |||||
* | slack: degrade gracefully when too many results | Kartik K. Agaram | 2021-08-13 | 1 | -7/+14 |
| | |||||
* | slack: escaping from search dialog | Kartik K. Agaram | 2021-08-13 | 1 | -0/+7 |
| | |||||
* | slack: more responsive typing | Kartik K. Agaram | 2021-08-13 | 1 | -1/+10 |
| | |||||
* | slack: scrolling in search screens | Kartik K. Agaram | 2021-08-13 | 1 | -0/+105 |
| | |||||
* | . | Kartik K. Agaram | 2021-08-13 | 1 | -17/+0 |
| | |||||
* | slack: search | Kartik K. Agaram | 2021-08-13 | 1 | -2/+119 |
| | |||||
* | . | Kartik K. Agaram | 2021-08-13 | 1 | -4/+4 |
| | |||||
* | this might explain the bug | Kartik K. Agaram | 2021-08-13 | 1 | -5/+1 |
| | | | | | | I think I was just typing with the the status bar outside the display when it seemed to work. Easy to forget to hit '/' at the start. Particularly if it seems to work fine. | ||||
* | . | Kartik K. Agaram | 2021-08-13 | 1 | -4/+44 |
| | |||||
* | start saving and restoring search terms with tabs | Kartik K. Agaram | 2021-08-13 | 1 | -4/+40 |
| | |||||
* | disquieting bug: typing search terms is unreliable | Kartik K. Agaram | 2021-08-13 | 1 | -0/+4 |
| | |||||
* | slack: UI flow for search | Kartik K. Agaram | 2021-08-13 | 3 | -8/+2108 |
| | | | | Everything works, I think, _except_ actually performing the search. | ||||
* | . | Kartik K. Agaram | 2021-08-13 | 1 | -9/+10 |
| | |||||
* | . | Kartik K. Agaram | 2021-08-13 | 1 | -6/+6 |
| | |||||
* | slack: esc to go back to previous screen | Kartik K. Agaram | 2021-08-13 | 1 | -8/+41 |
| | |||||
* | slack: use tab to bounce between channels | Kartik K. Agaram | 2021-08-13 | 2 | -37/+146 |
| | |||||
* | slack: page-up on channel screen | Kartik K. Agaram | 2021-08-13 | 1 | -14/+65 |
| | |||||
* | slack: page-down on channel screen | Kartik K. Agaram | 2021-08-13 | 1 | -11/+21 |
| | |||||
* | slack: restructure page-down handler | Kartik K. Agaram | 2021-08-13 | 1 | -6/+64 |
| |