
TL;DR
Auto-installing tree-sitter grammars, built-in markdown mode, window layout commands, and more - the upcoming Emacs release absorbs features that used to require external packages.
Emacs 31 is approaching release, and developer Rahul M. Juliato has been running the development branch since mid-2026. His writeup on the changes hit the front page of Hacker News with strong engagement - 391 points and 208 comments as of this writing.
The release continues a trend where core Emacs absorbs features that previously required external packages, gradually reducing configuration complexity for new and experienced users alike.
The biggest quality-of-life improvement is automatic grammar installation.
Previously, using tree-sitter (the incremental parsing library that enables better syntax highlighting and code navigation) required manual configuration. You had to set up treesit-language-source-alist, fetch grammars, compile them, and configure your modes to use the tree-sitter variants.
Emacs 31 changes this with two new options:
treesit-auto-install-grammar automatically fetches and builds missing grammars when you open a filetreesit-enabled-modes automatically switches major modes to their tree-sitter variantsThe release also ships built-in grammar sources for TypeScript, Rust, TOML, YAML, and Dockerfile - eliminating the need for manual configuration in most common cases.
One caveat noted in the original post: auto-installed grammars are not segregated by architecture. If you share your .emacs.d across different systems (say, an x86 Linux machine and an ARM Mac), you will need to handle architecture differences yourself.
markdown-ts-mode is a new experimental built-in mode that brings Org-like keybindings to Markdown editing:
The mode is still experimental and requires manual activation via M-x load-library, but having a built-in option means less dependence on external packages for one of the most common file formats developers work with.
New commands simplify layout rearrangement:
window-layout-transpose swaps horizontal/vertical arrangementswindow-layout-rotate-clockwise rotates the entire window layoutwindow-layout-flip-leftright and window-layout-flip-topdown mirror layoutsThese commands fill gaps that previously required custom elisp or third-party packages like transpose-frame.
The minibuffer completion experience gets several enhancements:
completion-eager-update refreshes suggestions while typingcompletion-eager-display set to 'auto' shows completions automaticallyminibuffer-visible-completions enables arrow-key navigation through candidatesThese make vanilla Emacs completion feel more like modern completion frameworks without requiring external packages.
From the archive
Jun 18, 2026 • 7 min read
Jun 18, 2026 • 7 min read
Jun 18, 2026 • 12 min read
Jun 18, 2026 • 5 min read
The term buffer now correctly renders full-screen terminal applications like htop. This has been a longstanding pain point - Emacs' terminal emulation has historically struggled with applications that use the full terminal screen.
The Hacker News discussion is substantial and reflects the Emacs community's engagement with the editor's development.
On continued relevance:
One heavily-upvoted comment noted that after briefly switching to VSCode for AI integration, they have returned to 100% Emacs now that Claude Code works well inside the editor. The argument: "There just isn't anything like the old editors, built in the 80x24 terminal era, for getting huge swathes of code on your screen at once."
The commenter runs a widescreen monitor with three vertical Emacs windows, often splitting each into two frames, putting six contexts on screen simultaneously. "I'm not an IDE hater but they do put an awful lot of stuff on the screen that on a proportional basis I'm just not using as much as I use the code editor."
On the tree-sitter improvements:
Multiple commenters expressed excitement about the automatic grammar installation: "Sweet. GLP1 for my .emacs!" (referring to weight loss drugs that help reduce bloated configs).
The tree-sitter integration has apparently revitalized the project. As one commenter put it: "Somewhere around treesitter something seems to have revitalized the project... You end up with a lot more wood behind fewer arrows when the project is able to put more work into generally-useful tools rather than every single language community maintaining their own separate mode for each language."
On the vim emulation:
Discussion touched on evil-mode (Emacs' vim emulation): "I've only ever used emacs in vim mode (evil-mode). Its vim emulation is the best I've seen anywhere." For a look at how modal editing habits carry over into terminal-based coding agents, see Codex CLI's modal vim terminal agents.
Some mentioned the daemon/client workflow - emacs --daemon with emacsclient - that makes opening files nearly instant by keeping a running Emacs instance.
On terminal emulators:
Several commenters recommended Ghostel, a newer terminal emulator backed by libghostty-vt that handles modern TUI applications better than vterm. One co-maintainer noted it is particularly good with Claude Code's interface animations. If terminal rendering for agentic workflows interests you, Warp 2's agentic terminal covers a different approach to the same problem.
On the common objections:
The thread addressed the two most common complaints about Emacs:
Speedbar: Now docks to side windows instead of spawning separate floating frames.
Xref buffers: Support inline editing with xref-edit-mode, eliminating the need for grep workarounds when making bulk changes across files.
Version control: vc-dir-auto-hide-up-to-date automatically hides up-to-date files during directory refreshes.
Quality-of-life:
kill-region-dwim makes C-w kill words when no region is activeview-lossage-auto-refresh provides live keystroke visualization for teachingielm-history-file-name persists REPL history across sessionsModus Themes: Emacs 31 ships with eight accessibility-focused color schemes, including deuteranopia and tritanopia variants for color-blind users.
If you are already an Emacs user, the tree-sitter improvements alone might be worth running the development branch. The reduced configuration burden for syntax highlighting across languages addresses one of Emacs' historical pain points.
If you have been Emacs-curious but put off by the setup complexity, Emacs 31 moves in the right direction. More features work out of the box, and the completion system improvements make vanilla Emacs feel more modern without requiring a framework like Doom or Spacemacs.
The continued development also signals something about the editor's future. While much of the developer tools conversation has shifted to AI coding assistants and editors like Zed, there is clearly still a dedicated community working on and using Emacs - and the project is incorporating features (tree-sitter, better completions, working terminals) that keep it relevant for modern development workflows.
Read next
Armin Ronacher's new essay explores the tension between letting AI agents loop autonomously and maintaining the engineering comprehension that makes software maintainable. The Hacker News discussion adds practical caveats worth reading.
9 min readThe colon builtin is the shell's most underrated command - it evaluates arguments, discards results, and unlocks parameter expansion tricks that simplify scripts. HN debate: readable or cryptic?
5 min readGit 2.54 and 2.55 introduced git history with fixup, reword, and split subcommands that make interactive rebasing feel less scary. Here is what developers are saying.
5 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.

Agent-Manager wraps tmux into a Go TUI that groups AI coding agents by project, shows live status for each, and lets you...

Mitchell Hashimoto (Vagrant, Terraform, Ghostty) launched Superlogical - a new company building a terminal multiplexer t...

PGSimCity is an explorable 3D city that models PostgreSQL internals - shared buffers, WAL, autovacuum, checkpoints, and...

Vercel Labs released Scriptc, a TypeScript-to-native compiler that produces self-contained binaries of 170-200KB with ~2...

Ruff v0.16.0 ships 413 default rules (up from 59), Markdown code-block formatting, and a new ruff: ignore system. Here i...

The colon builtin is the shell's most underrated command - it evaluates arguments, discards results, and unlocks paramet...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.