Emacs Bedrock 2.0 ist ein minimales, manuell gepflegtes Starter-Kit für die Emacs-Konfiguration, das als Basis-Dateien (early-init.el und init.el) in ~/.emacs.d/ kopiert und vom Anwender direkt weiterentwickelt wird. Version 2.0 setzt das im August 2026 erschienene Emacs 31 voraus und bricht die Abwärtskompatibilität zu Emacs 29. Das Update führt standardmäßig lexical-binding: t ein, verbessert die Tree-sitter-Integration und ersetzt Drittanbieter-Pakete wie wgrep durch native Emacs-Funktionen. Ein automatisierter Upgrade-Pfad existiert bewusst nicht; Aktualisierungen erfolgen über selektive Git-Diffs, um dem Anwender die vollständige Kontrolle über die eigene Konfiguration zu belassen.
Wichtigste Punkte
Konzept und Architektur: Bedrock besteht aus einer schlanken Basiskonfiguration ohne externe Drittanbieter-Pakete. Erweiterte Beispielkonfigurationen für optionale Pakete liegen modular im Ordner extras/.
Systemvoraussetzungen: Version 2.0 setzt zwingend Emacs 31 (Release August 2026) voraus und beendet die Kompatibilität mit Emacs 29.
Lexical Binding: Sämtliche .el-Dateien nutzen nun standardmäßig den Cookie lexical-binding: t für eine performantere und vorhersehbarere Variablen-Gültigkeit.
Paketverwaltung: Über use-package deklarierte Erweiterungen werden beim Start automatisch installiert, sofern sie nicht auf dem System vorhanden sind.
Substitution von Drittanbieter-Code: Das Paket wgrep entfällt zugunsten des nativen grep-change-to-grep-edit-mode. Wenn das Paket embark geladen ist, ersetzt embark-auto-prefix-help-mode das Tool which-key.
Puffer- und Modus-Optimierungen: Der native *Completions*-Puffer aktualisiert sich automatisch, repeat-mode ist ab Werk aktiv und sowohl die Tree-sitter-Integration als auch isearch wurden überarbeitet.
Upgrade-Strategie: Es gibt keinen automatischen Update-Mechanismus. Nutzer vergleichen ihre lokale Konfiguration per Git-Commit-Diff mit dem Hauptzweig und übernehmen Änderungen manuell.
Diskussions-Highlights
Repository und Hosting: Der Autor veröffentlicht den Quellcode auf Codeberg unter codeberg.org/ashton314/emacs-bedrock.
Philosophie der Eigenverantwortung: In der Community wird gelobt, dass Bedrock Nutzer nicht durch komplexe Abstraktionsschichten entmündigt, sondern als Lernhilfe zur Entwicklung einer eigenen, proprietären Konfiguration dient – vergleichbar mit dem historischen Weitergeben einer .emacs-Datei.
Nutzung nativer Alternativen: Die Ersetzung von wgrep durch den eingebauten grep-change-to-grep-edit-mode stieß auf positives Interesse bei Anwendern, die externe Abhängigkeiten reduzieren möchten.
Implikationen von Lexical Binding: Kommentatoren weisen darauf hin, dass lexical-binding: t für neuen Code der Standard sein sollte, bei älteren Codebasen jedoch Vorsicht geboten ist, da dynamisches Scoping unbeabsichtigt gebrochen werden kann.
Alternative Setups und Namensgebung: Einige Nutzer assoziierten den Namen „Bedrock“ fälschlicherweise mit einem Rust-Rewrite von Emacs (in Anlehnung an Bedrock Minecraft). Andere Anwender betonten, weiterhin einfache Einzeldateien (~/.emacs) in Kombination mit modernen Paketmanagern wie elpaca zu bevorzugen.
Glossar
Lexical Binding: Ein Auswertungsmodell für Variablen, bei dem deren Gültigkeitsbereich durch die statische Textstruktur des Quellcodes bestimmt wird und nicht durch den dynamischen Aufrufstapel zur Laufzeit.
use-package: Ein deklaratives Emacs-Lisp-Makro zur übersichtlichen Konfiguration, Isolation und zum verzögerten Laden von Paketen.
Tree-sitter: Ein Parser-Werkzeug, das im Editor konkrete Syntax-Bäume erzeugt und dadurch schnelles, präzises Syntax-Highlighting sowie Code-Analysen ermöglicht.
wgrep (Writable Grep): Ein Drittanbieter-Paket für Emacs, das es erlaubt, Suchergebnisse in einem Grep-Puffer direkt zu editieren und die Änderungen in die Quelldateien zurückzuschreiben.
grep-change-to-grep-edit-mode: Eine native Emacs-Funktion, die ähnliche Bearbeitungsmöglichkeiten für Grep-Puffer bietet wie wgrep, ohne dass externe Pakete installiert werden müssen.
isearch (Incremental Search): Die in Emacs integrierte Funktion zur inkrementellen Suche, die Treffer bereits während der Eingabe im Puffer anspringt.
embark: Ein Emacs-Paket, das kontextsensitive Aktionen für das Element am Cursor oder in Vervollständigungslisten anbietet.
which-key: Ein Hilfspaket, das verfügbare Tastenkominationen in einem Fenster anzeigt, wenn ein Tastenkürzel unvollständig eingegeben wurde.
elpaca: Ein moderner, asynchron arbeitender Paketmanager für Emacs.
Codeberg: Eine datenschutzorientierte, plattformunabhängige Git-Hosting-Plattform auf Basis von Forgejo/Gitea.