summaryrefslogtreecommitdiffstats
path: root/2026/talks/compile.md
blob: 89e8fd1e1586ddb3085e39677ad26373766da257 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[[!meta title="Beyond Shell History: Saving Compilation Output in Emacs"]]
[[!meta copyright="Copyright © 2026 Jonathan Otsuka"]]
[[!inline pages="internal(2026/info/compile-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Beyond Shell History: Saving Compilation Output in Emacs
Jonathan Otsuka (he/him) - Pronunciation: O-tsu-ka, https://github.com/djgoku/compilation-history

[[!inline pages="internal(2026/info/compile-before)" raw="yes"]]

I often want to look up a command I ran earlier and see what it printed.
Shell history gives me the command, but not its output. Emacs compilation
buffers have both, but once the buffer is gone, I need somewhere else to look.

I built `compilation-history` to save that information. It stores each
compilation in SQLite, including the command, output, exit code, timing,
working directory, and Git context. I can search previous runs, reopen their
output, and run a command again without having to piece it together from
memory or notes.

I'll show how I use the package and how it saves and displays previous runs.
I'll also show how I use it with AI coding agents. You can use
`emacs-mcp-server` or just plain `emacsclient` to have an agent run commands
through `compilation-start`. Those commands end up in the same history as my own,
so I can go back and check what a test, build, or diagnostic command printed
after the agent session is over.

About the speaker:

Jonathan Otsuka is a software engineer who enjoys working with Emacs
Lisp and Elixir. His open-source projects include
\`compilation-history\`, \`sops\` for editing encrypted files in Emacs,
and, more recently, \`misemacs\`, a tool for creating reproducible,
self-contained Emacs builds. away from the keyboard, he enjoys
swimming and cycling.



[[!inline pages="internal(2026/info/compile-after)" raw="yes"]]

[[!inline pages="internal(2026/info/compile-nav)" raw="yes"]]