Beyond Shell History: Saving Compilation Output in Emacs
Jonathan Otsuka (he/him) - Pronunciation: O-tsu-ka, https://github.com/djgoku/compilation-history
The following image shows where the talk is in the schedule for Sun 2026-12-13. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
Format: 20-min talk ; Q&A: BigBlueButton conference room https://media.emacsconf.org/2026/current/bbb-compile.html
Etherpad: https://pad.emacsconf.org/2026-compile
Discuss on IRC: #emacsconf
Status: Waiting for video from speaker
Sunday, Dec 13 2026, ~9:20 AM - 9:40 AM MST (US/Mountain)
Sunday, Dec 13 2026, ~8:20 AM - 8:40 AM PST (US/Pacific)
Sunday, Dec 13 2026, ~4:20 PM - 4:40 PM UTC
Sunday, Dec 13 2026, ~5:20 PM - 5:40 PM CET (Europe/Paris)
Sunday, Dec 13 2026, ~6:20 PM - 6:40 PM EET (Europe/Athens)
Sunday, Dec 13 2026, ~9:50 PM - 10:10 PM IST (Asia/Kolkata)
Monday, Dec 14 2026, ~12:20 AM - 12:40 AM +08 (Asia/Singapore)
Monday, Dec 14 2026, ~1:20 AM - 1:40 AM JST (Asia/Tokyo)
Description
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.
Questions or comments? Please e-mail emacsconf-org-private@gnu.org
