about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* fix some warningsKartik K. Agaram2022-03-171-3/+3
|
* file handles vs file objects, ughKartik K. Agaram2022-03-171-2/+3
|
* function names from globals rather than debug infoKartik K. Agaram2022-03-161-22/+22
| | | | | | | | | | | This reclaims all the slowdown in sieve.tlv, and it also is now smart enough to detect calls to global bindings that pass through variables. On the flip side, we lose names for non-globals. But that's not very useful anyway in Teliva's context. This is still not enough to detect callers through coroutines (intervening anonymous functions), though.
* bring back hack when caller is mainKartik K. Agaram2022-03-161-0/+2
| | | | Partially undoes commit f2d29c22f86a88.
* cache function namesKartik K. Agaram2022-03-161-10/+46
| | | | This brings down the slowdown in sieve.tlv from 50% to 25% (15s).
* standardize some namesKartik K. Agaram2022-03-163-11/+12
|
* stop running task.scheduler by defaultKartik K. Agaram2022-03-165-42/+36
| | | | | sieve.tlv is 50% slower (18s vs 12s) with the new function call instrumentation.
* delete dead codeKartik K. Agaram2022-03-161-25/+0
|
* simplify function call instrumentationKartik K. Agaram2022-03-163-41/+20
| | | | | | | | src/ldo.c now has a minimal diff with Lua 5.1. It might be a bit slower than it was before, but not noticeably so.. This approach doesn't support indirect calls.
* drop a headerKartik K. Agaram2022-03-161-1/+0
|
* drop a forward declKartik K. Agaram2022-03-161-8/+7
|
* start cleaning up function call instrumentationKartik K. Agaram2022-03-161-2/+2
| | | | | | It's a mess. I calculate call-graph depth one way and calculate caller names another way. At least one of the ways fails to work with indirect calls. Hopefully the other way works?
* stop using tasks in start_reading/start_writingKartik K. Agaram2022-03-165-99/+57
| | | | | We just need queues/streams for file I/O. No need to complect concurrency concerns with them.
* Teliva's been broken 2 days while I mess with docsKartik K. Agaram2022-03-151-1/+1
|
* .Kartik K. Agaram2022-03-141-9/+10
|
* drop the lfs libraryKartik K. Agaram2022-03-147-1285/+1
| | | | | I can't feel confident about its sandboxing story yet. And if we can't build a file navigator, what are we even doing with it.
* .Kartik K. Agaram2022-03-141-1/+4
|
* update link to manualKartik K. Agaram2022-03-141-6/+6
|
* typoKartik K. Agaram2022-03-141-1/+1
|
* doc: cursesKartik K. Agaram2022-03-141-8/+260
|
* doc: flesh out tasks and channelsKartik K. Agaram2022-03-141-1/+51
|
* doc: correct and flesh out jsonKartik K. Agaram2022-03-141-4/+44
|
* typoKartik K. Agaram2022-03-141-1/+1
|
* document functions that are sandboxedKartik K. Agaram2022-03-131-0/+13
|
* drop docs for 2 functions removed from LuaKartik K. Agaram2022-03-131-25/+0
|
* delete debug libraryKartik K. Agaram2022-03-135-680/+1
| | | | | There's security issues here, and they're subtle. Dropping for now until I or someone else finds a need for them.
* standard markupKartik K. Agaram2022-03-131-18/+18
|
* .Kartik K. Agaram2022-03-131-2/+2
|
* one more highlightKartik K. Agaram2022-03-131-1/+1
|
* rudimentary docs for libraries added to TelivaKartik K. Agaram2022-03-133-3/+104
|
* drop string.dump, clean up docs around itKartik K. Agaram2022-03-133-39/+5
|
* rip out most references to C and userdata in docsKartik K. Agaram2022-03-131-143/+30
|
* starting to spend some time improving docsKartik K. Agaram2022-03-132-0/+19
|
* less confusing error when apps get past mainKartik K. Agaram2022-03-131-4/+6
|
* toot-toot.tlv: scrollingKartik K. Agaram2022-03-121-1/+109
|
* more extensive deletions from the Lua manualKartik K. Agaram2022-03-103-3776/+17
| | | | | | | I'm trying to represent where Teliva borrows from Lua, but without making it seem identical. Please support the Lua project!
* zet.tlv: thoroughly test rendering single zettelKartik K. Agaram2022-03-101-11/+47
|
* leak checkKartik K. Agaram2022-03-101-0/+6
|
* support fixing >1 test failure from within TelivaKartik K. Agaram2022-03-101-0/+2
| | | | | This bug was caused by me forgetting that lua_setglobal affects the stack.
* reconcile template in all appsKartik K. Agaram2022-03-101-8/+47
|
* zet.tlv: first screen testsKartik K. Agaram2022-03-103-6/+111
| | | | In the process I found a couple of bugs in fake screen primitives.
* screen tests: support bold, reverse, colorKartik K. Agaram2022-03-082-6/+198
| | | | | We can't test combinations of these yet because Lua 5.1 doesn't support bitwise operators. Reason #1 to upgrade.
* protect framework files from appsKartik K. Agaram2022-03-083-12/+35
| | | | | | | | There's a separate open question here of where Teliva should store files like teliva_editor_state and teliva_editor_buffer. One school of thought is that apps should never be dropping crud into people's directories. On the other hand, I'm kinda encouraging people so far to just run apps from Teliva's directory. Perhaps that makes it ok?
* just always temp files to be createdKartik K. Agaram2022-03-076-10/+26
| | | | | Implication: os.rename now needs to be sandboxed. Hopefully it's tractable to treat it as conceptually identical to opening two files.
* stop loading libraries after app codeKartik K. Agaram2022-03-071-7/+2
| | | | This whole approach of disallowing overriding is suspect.
* purge all support for per-function permissionsKartik K. Agaram2022-03-075-882/+9
| | | | | | | | | We're now back to the problem of how to transparently allow Teliva to create temporary filenames without every app having to explicitly allow them. I think I may need to define start_writing in C, so that it can use a non-sandboxed version of io.open.
* yup, this whole caller-based approach is bustedKartik K. Agaram2022-03-071-0/+415
| | | | | How can we scope anything to a subset of an app that is user-visible in such a dynamic language as Lua?! X(
* hokey primitive to create temporary fileKartik K. Agaram2022-03-072-1/+26
| | | | | | | | | | | | | | The trouble with os.tmpname() is that it always creates in /tmp. If /tmp is in a different volume from our real filename, os.rename() will fail. This new primitive doesn't support primitive paths yet. I'm also again nervous about the security implications of my whole approach. What if we create an inner function called start_writing? Would we be able to do anything inside it? I'm starting to suspect this whole approach of going by caller name is broken. An app could also create inner functions called 'main'..
* slightly firm up phases in pmainKartik K. Agaram2022-03-071-2/+9
|
* hide test app a bitKartik K. Agaram2022-03-072-0/+2
|