Joseph Ferano f8adf6d980 The Emacs client, made comfortable to sit in
Error overlays where the error is, connection state and reconnection, visible
confirmation of what landed, and eldoc, completion and M-. off one cached reply.

Two latent bugs had to be fixed to put an overlay in the right place. A :loc
column is a byte offset - reader.ml advances per byte - and the client was
using it with forward-char, which is the framing bug in a second place. And the
daemon numbers lines from the start of what it was sent, so C-c C-c on a defn
halfway down a buffer answered line 1 and every overlay would have sat on the
file's first line; the form is padded with leading newlines, which the reader
skips, so the reply's line numbers are the buffer's own and no protocol changed.

Reconnection happens before a send and never after. A request lost in flight
may already have run, so resending it would install twice or run a
side-effecting expression twice; that case says what happened and says it was
not resent.

defs is its own op rather than more fields on describe, because describe is
polled to drain the program's output and signatures should not be paid for
every time anyone looks at that buffer. Globals and externs carry no Loc in the
Tast, so M- refuses on them by name with that reason rather than guessing a
file by searching for the text.
2026-09-11 18:00:07 +07:00
2026-09-10 18:55:55 +07:00
2024-07-09 21:01:55 +10:00
2026-09-10 14:40:34 +07:00
2026-09-11 09:22:44 +07:00
2026-09-10 14:56:35 +07:00
2026-09-10 14:40:34 +07:00
2026-09-10 14:40:34 +07:00
2026-09-10 14:40:34 +07:00
Description
No description provided
MIT 7.5 MiB
Languages
OCaml 67.2%
Emacs Lisp 15.2%
C 10.4%
HTML 2.9%
Standard ML 2.8%
Other 1.5%