Commit Graph

510 Commits

Author SHA1 Message Date
Kartik K. Agaram
7814c1c98a now building on OpenBSD
Still emitting a bunch of warnings on OpenBSD, though.
2021-11-27 07:58:58 -08:00
Kartik K. Agaram
8a36b2583c select C99 in luasec
I can't select C99 in luasocket, because I don't know how to include
the definition of struct timespec. All this fucking complexity. But
hopefully things will build on OpenBSD now.
2021-11-27 07:28:12 -08:00
Kartik K. Agaram
3fee59527a select C99 standard 2021-11-27 07:18:24 -08:00
Kartik K. Agaram
fd4ca45ae5 clean up luasocket build file
Teliva is never intended to be "installed" somewhere. Just work inside
its directory and separately share the .tlv files you create. (Though I
don't yet have a good flow for starting a new .tlv file.)
2021-11-27 06:57:38 -08:00
Kartik K. Agaram
c558d2c565 . 2021-11-27 00:42:15 -08:00
Kartik K. Agaram
ff43b5bae1 fix build on Mac 2021-11-27 00:41:17 -08:00
Kartik K. Agaram
83050ec38e starting to test compilation on Mac and BSD.
For starters, put Linux-specific stuff in a Linux-specific target.

By not resetting MYCFLAGS and MYLDFLAGS, I'm unnecessarily passing in
-DLUA_USE_LINUX. But that'll make it easier to get things running on Mac
and BSD.
2021-11-27 00:34:49 -08:00
Kartik K. Agaram
1e911f95ef bugfix: emit legal Lua representation 2021-11-26 22:03:47 -08:00
Kartik K. Agaram
31816db0cc . 2021-11-26 21:56:22 -08:00
Kartik K. Agaram
662d1cf202 support space/backspace in recent changes view 2021-11-26 21:54:45 -08:00
Kartik K. Agaram
2426fe7a79 standardize indent 2021-11-26 21:50:53 -08:00
Kartik K. Agaram
7e86f6d123 colorize comments in recent changes 2021-11-26 21:48:31 -08:00
Kartik K. Agaram
e2a53858a0 support notes on edits
Unlike both conventional version control and wiki history, I'm planning
to always allow modifying commit messages.
2021-11-26 21:43:31 -08:00
Kartik K. Agaram
6b6fe7ce72 periodic cleanup of warnings 2021-11-26 21:22:20 -08:00
Kartik K. Agaram
db7202ccfd . 2021-11-26 21:20:23 -08:00
Kartik K. Agaram
35fe28a36f . 2021-11-26 21:19:41 -08:00
Kartik K. Agaram
0c211dec77 don't mislead immediately after undo 2021-11-26 20:00:32 -08:00
Kartik K. Agaram
b954ab869e . 2021-11-26 19:52:31 -08:00
Kartik K. Agaram
0726692546 more obvious serialization of undo events 2021-11-26 19:45:19 -08:00
Kartik K. Agaram
3cb37a0f39 render undo events 2021-11-26 19:38:51 -08:00
Kartik K. Agaram
a0171352a1 start processing undo events 2021-11-26 19:33:35 -08:00
Kartik K. Agaram
576ab1df8d start recording undo events in timeline
We're not using or rendering them yet.
2021-11-26 18:59:31 -08:00
Kartik K. Agaram
07bf55b460 save timestamp on change; show in recent changes 2021-11-26 18:47:50 -08:00
Kartik K. Agaram
f3dd541561 . 2021-11-26 18:21:04 -08:00
Kartik K. Agaram
555159fb9a clean up traces of an old experiment 2021-11-26 18:18:58 -08:00
Kartik K. Agaram
720ff19351 add support for metadata in Teliva programs
They don't have any semantics yet. We just ignore them for now.
2021-11-26 18:17:35 -08:00
Kartik K. Agaram
7295ce050d undo to a specific point
Still highly experimental. I'm not persisting state yet.
2021-11-26 18:05:41 -08:00
Kartik K. Agaram
080ea49d23 standardize screen headings 2021-11-26 18:04:58 -08:00
Kartik K. Agaram
0800f65eff start of 'recent changes' screen
I'm still unclear on precisely what the experience should be here. We
probably don't need all of a version control system. The goal is just to
be able to answer the question, "what did I change recently that caused
things to break?"

For now let's just start with letting people see past versions.
2021-11-26 18:03:20 -08:00
Kartik K. Agaram
283cc7ea52 eliminate tail call using goto 2021-11-26 16:54:45 -08:00
Kartik K. Agaram
0b365d3e4d clean up terminal in a specific situation
The problem: if ever I hit ctrl-e to go to the big picture view and then
hit Esc to go back to running the app, my terminal was messed up after
exiting the app.

Why did I even have this gunk? Perhaps it dates from the time when kilo
was emitting raw escape sequences rather than using ncurses.
2021-11-26 16:39:20 -08:00
Kartik K. Agaram
e699b5a052 dedup an enum 2021-11-26 16:26:13 -08:00
Kartik K. Agaram
5bc52a5cba . 2021-11-26 16:10:02 -08:00
Kartik K. Agaram
2c80411224 . 2021-11-26 16:09:15 -08:00
Kartik K. Agaram
f930b9e7c7 extract a function 2021-11-25 21:04:08 -08:00
Kartik K. Agaram
61ea63adca more stack hygiene 2021-11-25 21:02:27 -08:00
Kartik K. Agaram
f5221ba651 one more curses binding 2021-11-25 20:51:38 -08:00
Kartik K. Agaram
73a22a397e libraries don't need Lua's #defines and whatnot 2021-11-25 20:21:05 -08:00
Kartik K. Agaram
16a98ea1b3 . 2021-11-25 20:16:41 -08:00
Kartik K. Agaram
4d7e99c343 . 2021-11-25 20:13:49 -08:00
Kartik K. Agaram
d6810aba30 dedup definitions in big-picture view
We only want to show most recent version of each binding.
2021-11-25 20:02:10 -08:00
Kartik K. Agaram
4a8691c3dc new shortcut: return to big-picture view 2021-11-25 20:01:40 -08:00
Kartik K. Agaram
f58d5b8354 teliva is now ASan-clean again
At least in short runs.

Encouraging that the problem was in a recent commit (5a63a5ca40 from
yesterday when I introduced version control).

Disabling Address Sanitizer again.
2021-11-25 19:27:30 -08:00
Kartik K. Agaram
05f4482139 make upstream kilo ASan-clean
Many thanks to dirkf for https://github.com/antirez/kilo/pull/73!

However, teliva is still not ASan-clean.
2021-11-25 11:28:05 -08:00
Kartik K. Agaram
6727045165 temporarily start using the address sanitizer 2021-11-25 11:25:28 -08:00
Kartik K. Agaram
103b8e17bb jettison luac
I'm starting to see some heap buffer overruns, which means we have too
much C code.

I noticed this because editing life.tlv no longer works after commit
5a63a5ca4. However, the offending heap overrun has been around long
before that. It's just been a silent bug until now.
2021-11-25 11:22:26 -08:00
Kartik K. Agaram
d606e93839 rename 2021-11-24 12:50:05 -08:00
Kartik K. Agaram
5a63a5ca40 monotonically accumulate versions of definitions
One old drawback now has a new look. Before, we loaded definitions in
order, so global definitions had to exist before other global
definitions that used them. See window and grid in life.tlv. Now we load
definitions in reverse order, so initialization needs to change. Worse,
if we update window, we need to edit grid just to fix the order.

This implies that we can't yet optimize away bindings where there are no
new changes.
2021-11-24 10:10:38 -08:00
Kartik K. Agaram
b40ad26544 more Makefile streamlining
Since everything is in my control there's no need to parameterize
include paths.

It's a struggle to get make to run when it should. Lying that something
is phony stops working when it's a dependency. Commands get
unnecessarily run. Just fucking run recursive makes directly in the
target that depends on them.
2021-11-24 09:28:01 -08:00
Kartik K. Agaram
a788f80a92 . 2021-11-24 07:55:39 -08:00