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

Times in different time zones:
Sunday, Dec 13 2026, ~11:20 AM - 11:40 AM EST (US/Eastern)
which is the same as:
Sunday, Dec 13 2026, ~10:20 AM - 10:40 AM CST (US/Central)
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)
Find out how to watch and participate

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