Commit Graph

1519 Commits

Author SHA1 Message Date
Kartik K. Agaram
e0462ea2d8 save the list of tests in repo 2023-06-02 07:45:30 -07:00
Kartik K. Agaram
cdef37c419 get rid of recent_mouse
It's a hack:
  - if you start selecting from below final line the start of the
    selection is the most recent click even if it was forever ago
  - (the crash we're currently fixing) if you start up and immediately
    select all then click below final line => crash. recent_mouse was
    never set.
  - getting rid of it breaks no tests (except the crash we're currently
    fixing)
2023-06-01 22:12:12 -07:00
Kartik K. Agaram
9b27a4d816 failing test now looks realistic 2023-06-01 21:59:09 -07:00
Kartik K. Agaram
9b3fa33f5b idea: set recent_mouse on mouse events
This helps, but doesn't address the C-a case. As it stands, literally my
first click of the mouse might need access to recent_mouse.line/pos
2023-06-01 21:58:28 -07:00
Kartik K. Agaram
3e848efb08 ah, I see the problem
Text.mouse_pos can sometimes set recent_mouse.time but not
recent_mouse.x/y. I'd assumed x/y is never nil in those situations, but
that's violated. It's most easily seen when typing C-a and then
clicking.
2023-06-01 12:37:17 -07:00
Kartik K. Agaram
f1886391c5 some temporary logging to catch a bug
The bug has been spotted twice:

1. In snap.love, I selected text in one node, then another, and hit:
  Error: text.lua:789: attempt to compare nil with number
  stack traceback:
    text.lua:789: in function 'lt1'
    select.lua:19: in function 'clip_selection'
    text.lua:32: in function 'draw'
    edit.lua:117: in function 'draw'
    [string "REPL"]:21: in function 'draw'
    main.lua:152: in function 'draw'
    app.lua:102: in function <app.lua:84>
    [C]: in function 'xpcall'
    app.lua:112: in function <app.lua:111>
    [C]: in function 'xpcall'

  Couldn't reproduce.

2. In text.love, inscript selected all text in a small buffer and then
   clicked outside the text. And got:

  Error: text.lua:784: attempt to compare nil with number
  Traceback
    [love "callbacks.lua"]:228: in function 'handler'
    text.lua:784: in function 'lt1'
    select.lua:19: in function 'clip_selection'
    text.lua:27: in function 'draw'
    edit.lua:117: in function 'draw'
    run.lua:136: in function 'draw'
    main.lua:148: in function 'draw'
    app.lua:42: in function <app.lua:22>
    [C]: in function 'xpcall'

  This is reproducible, and also across forks.
2023-06-01 12:30:19 -07:00
Kartik K. Agaram
9a2a57ec3c Merge text.love 2023-05-30 00:33:59 -07:00
Kartik K. Agaram
074f4d9b0a Merge lines.love 2023-05-30 00:31:34 -07:00
Kartik K. Agaram
e568378ecb wait, fix tests
We had this problem because our test fakes were out of sync with reality.
And just in the source app.
2023-05-30 00:24:16 -07:00
Kartik K. Agaram
42f45c62bb Merge text.love 2023-05-30 00:17:08 -07:00
Kartik K. Agaram
7c5a99f105 Merge lines.love 2023-05-30 00:15:13 -07:00
Kartik K. Agaram
da21512440 bugfix: drawings in source editor
Broken since 2022-09 X-(

Scenario:
* switch to source editor
* draw a line
* wait 3 seconds

Before this commit the app would crash and then fail to restart until
you deleted the created .lua file from save dir.

This is not the first time I've confused Lua's files and LÖVE's
droppedFile objects. Just never rely on multiple args in file:write().
2023-05-30 00:02:09 -07:00
Kartik K. Agaram
b3419ec965 Merge text.love 2023-05-14 17:33:34 -07:00
Kartik K. Agaram
0f3841f186 Merge lines.love 2023-05-14 17:31:55 -07:00
Kartik K. Agaram
eb55e18e1d hide cursor in log browser window 2023-05-14 17:25:07 -07:00
Kartik K. Agaram
c96be4b007 add an assert
I added this to catch a rare bug. I've had it locally for a few weeks
now without hitting it. Doesn't hurt to publish it.
2023-05-14 17:23:08 -07:00
Kartik K. Agaram
0d96fbe860 Merge lines.love 2023-05-14 17:12:23 -07:00
Kartik K. Agaram
47730a2b33 bugfix: rendering hyperlinks in wrapping lines
Scenario: a long line containing a hyperlink towards the end.
Before this commit the underline for the hyperlink was being rendered on
an x pixel starting from the start of the line.
2023-05-14 17:05:11 -07:00
Kartik K. Agaram
2bfc9df4b8 Merge text.love 2023-05-13 17:34:08 -07:00
Kartik K. Agaram
10932bd491 Merge lines.love 2023-05-13 17:29:45 -07:00
Kartik K. Agaram
8e02c2c021 bugfix: searching files containing unicode
Before this change the cursor was moving, but not being highlighted
properly when the cursor line contained unicode before the cursor.
2023-05-13 17:02:10 -07:00
Kartik K. Agaram
17ce49e90e Merge text.love 2023-05-06 09:13:48 -07:00
Kartik K. Agaram
e39fe490e4 Merge lines.love 2023-05-06 09:09:48 -07:00
Kartik K. Agaram
6a1d8e5164 bugfix: never use utf8 pos in string.sub
This is a violation of an existing rule in Manual_tests.md. The
following command weakly suggests there aren't any others:
  grep ':sub(' *.lua |grep pos
2023-05-06 08:56:44 -07:00
Kartik K. Agaram
3323c78f88 Merge text.love 2023-04-21 23:36:13 -07:00
Kartik K. Agaram
6274df27c3 Merge lines.love 2023-04-21 23:29:47 -07:00
Kartik K. Agaram
ac27d36dd0 delete inapplicable issue 2023-04-21 23:25:28 -07:00
Kartik K. Agaram
5f41583cfc delete inapplicable issues 2023-04-21 23:14:26 -07:00
Kartik K. Agaram
98fe2ddec6 Merge text.love 2023-04-21 23:13:23 -07:00
Kartik K. Agaram
8e0fb09483 Merge lines.love 2023-04-21 23:10:09 -07:00
Kartik K. Agaram
b9d3cf3578 correct a characterization 2023-04-21 22:53:40 -07:00
Kartik K. Agaram
63f981a532 Merge text.love 2023-04-19 22:16:59 -07:00
Kartik K. Agaram
488f0e4bce Merge lines.love 2023-04-19 22:15:58 -07:00
Kartik K. Agaram
22071c9b71 remove some support for long lines from source editor
A code editor is unlikely to need support for extremely long lines. And
that kind of scroll is jarring anyway in a code editor. We don't read
code like a novel, and less scroll per page implies more scrolling work.

I'd gotten rid of this functionality and the test for it [1] back in the
spokecone fork, but only took out the test when first pulling it into
the source editor.

[1] test_pagedown_often_shows_start_of_wrapping_line
2023-04-19 21:53:11 -07:00
Kartik K. Agaram
9a592e25e8 Merge text.love 2023-04-11 21:44:10 -07:00
Kartik K. Agaram
88caf4eb31 Merge lines.love 2023-04-11 21:41:27 -07:00
Kartik K. Agaram
658f96667b primitives for writing tests 2023-04-11 21:33:33 -07:00
Kartik K. Agaram
4049176dfb couple of typos 2023-04-11 15:15:58 -07:00
Kartik K. Agaram
c169a4383d Merge text.love 2023-04-10 00:49:15 -07:00
Kartik K. Agaram
c16998bcc6 Merge lines.love 2023-04-10 00:47:12 -07:00
Kartik K. Agaram
ad7cffca27 editor documentation 2023-04-10 00:42:56 -07:00
Kartik K. Agaram
794d445cd8 Merge text.love 2023-04-09 20:58:51 -07:00
Kartik K. Agaram
a0d72ffee2 Merge lines.love 2023-04-09 19:15:07 -07:00
Kartik K. Agaram
d61ccafaa0 include a brief reference enabling many useful apps 2023-04-09 19:09:31 -07:00
Kartik K. Agaram
5963eb7956 Merge text.love 2023-04-09 14:14:49 -07:00
Kartik K. Agaram
0d913ba8f1 Merge lines.love 2023-04-09 14:14:03 -07:00
Kartik K. Agaram
4b43e9e85d deemphasize the source editor
This repo does not support freewheeling modification. It's a primitive
to enable freewheeling modification in downstream forks.

The source editor is a convenience, but it's a sharp tool and can easily
leave the app in a broken state that requires dropping down to external
tools (editor, file manager) to fix.
2023-04-09 11:12:36 -07:00
Kartik K. Agaram
15643cb3d8 Merge text.love 2023-04-08 22:58:47 -07:00
Kartik K. Agaram
b3a3321cd6 Merge lines.love 2023-04-08 22:57:01 -07:00
Kartik K. Agaram
25e7eb99a9 rename a variable 2023-04-08 22:44:13 -07:00