From 0b25b2161960324d618c3c8491d44d56ce9bdac0 Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Sat, 25 Oct 2025 19:05:54 +0200 Subject: [PATCH 01/11] emacsql: Compile emacsql-sqlite.el again --- .borgconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/.borgconfig b/.borgconfig index c309a99..fdc8bd9 100644 --- a/.borgconfig +++ b/.borgconfig @@ -5,5 +5,4 @@ no-byte-compile = emacsql-mysql.el no-byte-compile = emacsql-pg.el no-byte-compile = emacsql-psql.el - no-byte-compile = emacsql-sqlite.el no-byte-compile = emacsql-sqlite-module.el From a368beaff51b0f3b9645bfd9af8f520328c828f8 Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Sat, 25 Oct 2025 19:06:15 +0200 Subject: [PATCH 02/11] Assimilate cond-let v0.1.1-6-g09ebf1c --- .gitmodules | 3 +++ init.el | 4 ++++ lib/cond-let | 1 + 3 files changed, 8 insertions(+) create mode 160000 lib/cond-let diff --git a/.gitmodules b/.gitmodules index bd3d716..3604ae4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,6 +13,9 @@ [submodule "compat"] path = lib/compat url = https://github.com/emacs-compat/compat.git +[submodule "cond-let"] + path = lib/cond-let + url = https://github.com/tarsius/cond-let [submodule "dash"] path = lib/dash url = https://github.com/magnars/dash.el.git diff --git a/init.el b/init.el index 88c19b6..c9995ae 100644 --- a/init.el +++ b/init.el @@ -75,6 +75,10 @@ ;;; Long tail +(use-package cond-let + :config + (font-lock-add-keywords 'emacs-lisp-mode cond-let-font-lock-keywords t)) + (use-package diff-hl :config (setq diff-hl-draw-borders nil) diff --git a/lib/cond-let b/lib/cond-let new file mode 160000 index 0000000..09ebf1c --- /dev/null +++ b/lib/cond-let @@ -0,0 +1 @@ +Subproject commit 09ebf1caa81c99677ce74091a23b48a28d53bcd9 From ccbb63b447b020b9d1aaaebd49af89b8c0b01931 Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Sat, 25 Oct 2025 19:06:36 +0200 Subject: [PATCH 03/11] Update 14 drones Update auto-compile to v2.1.0 Update borg to v4.2.2 Update closql to v2.3.1 Update compat to 30.1.0.1 Update dash to 2.20.0-2-gfb443e7 Update diff-hl to 1.10.0-104-gb2a57ac Update emacsql to v4.3.2 Update epkg to v4.1.0 Update git-modes to v1.4.6 Update llama to v1.0.1 Update magit to v4.4.2-5-g5183b8f0d4 Update transient to v0.10.1-9-g1d2710c7 Update treepy to 0.1.2-15-g651e263 Update with-editor to v3.4.6 --- lib/auto-compile | 2 +- lib/borg | 2 +- lib/closql | 2 +- lib/compat | 2 +- lib/dash | 2 +- lib/diff-hl | 2 +- lib/emacsql | 2 +- lib/epkg | 2 +- lib/git-modes | 2 +- lib/llama | 2 +- lib/magit | 2 +- lib/transient | 2 +- lib/treepy | 2 +- lib/with-editor | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/auto-compile b/lib/auto-compile index 5cc4e97..20744a6 160000 --- a/lib/auto-compile +++ b/lib/auto-compile @@ -1 +1 @@ -Subproject commit 5cc4e97443727554357f6c57614f12ca87419627 +Subproject commit 20744a681ba5f0584695973a5ece3a794026ff76 diff --git a/lib/borg b/lib/borg index 6606092..5b192d8 160000 --- a/lib/borg +++ b/lib/borg @@ -1 +1 @@ -Subproject commit 6606092e711e429179aa168f76a4136f1d1546dc +Subproject commit 5b192d8d1a426402b98a2e2e3342c4b73477fbcc diff --git a/lib/closql b/lib/closql index c1a346d..cc291a0 160000 --- a/lib/closql +++ b/lib/closql @@ -1 +1 @@ -Subproject commit c1a346d56ecee16d1f0d7707f0d62c72604a8802 +Subproject commit cc291a0d8f527a36315fca4c8e1dd32e81fdf871 diff --git a/lib/compat b/lib/compat index e9203e1..cccd41f 160000 --- a/lib/compat +++ b/lib/compat @@ -1 +1 @@ -Subproject commit e9203e164903a6bb7de3e58aa0d653bbcff9d3d1 +Subproject commit cccd41f549fa88031a32deb26253b462021d7e12 diff --git a/lib/dash b/lib/dash index 1de9dcb..fb443e7 160000 --- a/lib/dash +++ b/lib/dash @@ -1 +1 @@ -Subproject commit 1de9dcb83eacfb162b6d9a118a4770b1281bcd84 +Subproject commit fb443e7a6e660ba849cafcd01021d9aac3ac6764 diff --git a/lib/diff-hl b/lib/diff-hl index b80ff9b..b2a57ac 160000 --- a/lib/diff-hl +++ b/lib/diff-hl @@ -1 +1 @@ -Subproject commit b80ff9b4a772f7ea000e86fbf88175104ddf9557 +Subproject commit b2a57ac4fe7ab43d277d852a4f02122c81995eed diff --git a/lib/emacsql b/lib/emacsql index e5f0928..3e015ab 160000 --- a/lib/emacsql +++ b/lib/emacsql @@ -1 +1 @@ -Subproject commit e5f0928a047dba8e3a00b6333400422b301bac35 +Subproject commit 3e015ab99e061f3967a154683f068ce6553f168a diff --git a/lib/epkg b/lib/epkg index 8f51609..b6922f1 160000 --- a/lib/epkg +++ b/lib/epkg @@ -1 +1 @@ -Subproject commit 8f51609006a563222e64c3f61363061a8c2d7748 +Subproject commit b6922f112dd0b523df0e2da49b4cc9327b1085ba diff --git a/lib/git-modes b/lib/git-modes index f99010b..7063d66 160000 --- a/lib/git-modes +++ b/lib/git-modes @@ -1 +1 @@ -Subproject commit f99010bbeb8b6d8a0819fac0195a2ef0159d08f0 +Subproject commit 7063d66857023e6c010cecac52de67c0baa77fb7 diff --git a/lib/llama b/lib/llama index 732389e..ec1d4ef 160000 --- a/lib/llama +++ b/lib/llama @@ -1 +1 @@ -Subproject commit 732389e3886b510c2661d7d4fd65e01837211e8a +Subproject commit ec1d4ef02f5572fc5aff3f62d3e7ef791f444456 diff --git a/lib/magit b/lib/magit index 461d5ba..5183b8f 160000 --- a/lib/magit +++ b/lib/magit @@ -1 +1 @@ -Subproject commit 461d5ba249b8178ae83f80596da4312e65010720 +Subproject commit 5183b8f0d42345432a560996e4f434d27452faa8 diff --git a/lib/transient b/lib/transient index 3ec0692..1d2710c 160000 --- a/lib/transient +++ b/lib/transient @@ -1 +1 @@ -Subproject commit 3ec0692c3122ab78e1967bbbfa377711a123abe6 +Subproject commit 1d2710c7f8bba962bfbe6502d76158c2150840c1 diff --git a/lib/treepy b/lib/treepy index 75fe3ec..651e263 160000 --- a/lib/treepy +++ b/lib/treepy @@ -1 +1 @@ -Subproject commit 75fe3ec37e6f9b2bdfd6d0584efd984d0c00a43e +Subproject commit 651e2634f01f346da9ec8a64613c51f54b444bc3 diff --git a/lib/with-editor b/lib/with-editor index 63e60d5..87a384a 160000 --- a/lib/with-editor +++ b/lib/with-editor @@ -1 +1 @@ -Subproject commit 63e60d5877c97b5c4205816ddd2ba53dde109317 +Subproject commit 87a384a0e59260cca41ca8831d98e195b1ec8ada From a0629db32762386d02794178e626e39263dbf714 Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Sat, 25 Oct 2025 20:01:49 +0200 Subject: [PATCH 04/11] Emacsg: Add more ignore rules for codespell --- etc/codespell/ignore-words | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/codespell/ignore-words b/etc/codespell/ignore-words index fde4a16..5bc03e2 100644 --- a/etc/codespell/ignore-words +++ b/etc/codespell/ignore-words @@ -22,6 +22,7 @@ troup # software and abbreviations clos +debbugs ede edn From 505bceac6d0ec61f7431ef2baf1d60443a344dab Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Tue, 18 Nov 2025 01:53:02 +0100 Subject: [PATCH 05/11] Emacsg: Cosmetics --- early-init.el | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/early-init.el b/early-init.el index 02a2438..15fd2eb 100644 --- a/early-init.el +++ b/early-init.el @@ -13,9 +13,7 @@ (setq package-enable-at-startup nil) (with-eval-after-load 'package - (add-to-list 'package-archives - (cons "melpa" "https://melpa.org/packages/") - t)) + (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)) ;; Local Variables: ;; no-byte-compile: t From cfe492f647fe041ca50d16afcd5b6ed76c5cd11f Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Wed, 19 Nov 2025 15:46:37 +0100 Subject: [PATCH 06/11] Update 13 drones Update auto-compile to v2.1.1-4-g64b0ca3 Update borg to v4.3.0-23-gb5ef66d Update closql to v2.3.2 Update compat to 30.1.0.1-2-gad6a2b8 Update cond-let to v0.2.0 Update diff-hl to 1.10.0-118-g4548d29 Update emacsql to v4.3.3-1-ge1908de Update epkg to v4.1.1-6-g59716aa Update git-modes to v1.4.7 Update llama to v1.0.2 Update magit to v4.4.2-54-g5c6d84bb5c Update transient to v0.11.0 Update with-editor to v3.4.7-5-g72e80f1236 --- lib/auto-compile | 2 +- lib/borg | 2 +- lib/closql | 2 +- lib/compat | 2 +- lib/cond-let | 2 +- lib/diff-hl | 2 +- lib/emacsql | 2 +- lib/epkg | 2 +- lib/git-modes | 2 +- lib/llama | 2 +- lib/magit | 2 +- lib/transient | 2 +- lib/with-editor | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/auto-compile b/lib/auto-compile index 20744a6..64b0ca3 160000 --- a/lib/auto-compile +++ b/lib/auto-compile @@ -1 +1 @@ -Subproject commit 20744a681ba5f0584695973a5ece3a794026ff76 +Subproject commit 64b0ca3c1e37441f20937488b41e2ff216b6ca27 diff --git a/lib/borg b/lib/borg index 5b192d8..b5ef66d 160000 --- a/lib/borg +++ b/lib/borg @@ -1 +1 @@ -Subproject commit 5b192d8d1a426402b98a2e2e3342c4b73477fbcc +Subproject commit b5ef66d76eaf5fbffb79753e6130d1afad60d608 diff --git a/lib/closql b/lib/closql index cc291a0..4a60723 160000 --- a/lib/closql +++ b/lib/closql @@ -1 +1 @@ -Subproject commit cc291a0d8f527a36315fca4c8e1dd32e81fdf871 +Subproject commit 4a60723ae4bfe809a9affcf3306cb40e0ca1ca6c diff --git a/lib/compat b/lib/compat index cccd41f..ad6a2b8 160000 --- a/lib/compat +++ b/lib/compat @@ -1 +1 @@ -Subproject commit cccd41f549fa88031a32deb26253b462021d7e12 +Subproject commit ad6a2b82f7bc2ea698b9684501963dfa71ffdc27 diff --git a/lib/cond-let b/lib/cond-let index 09ebf1c..288b7d3 160000 --- a/lib/cond-let +++ b/lib/cond-let @@ -1 +1 @@ -Subproject commit 09ebf1caa81c99677ce74091a23b48a28d53bcd9 +Subproject commit 288b7d36563223ebaf64cb220a3b270bdffb63f1 diff --git a/lib/diff-hl b/lib/diff-hl index b2a57ac..4548d29 160000 --- a/lib/diff-hl +++ b/lib/diff-hl @@ -1 +1 @@ -Subproject commit b2a57ac4fe7ab43d277d852a4f02122c81995eed +Subproject commit 4548d29eab3073becf538f76d8d4b59c5b120558 diff --git a/lib/emacsql b/lib/emacsql index 3e015ab..e1908de 160000 --- a/lib/emacsql +++ b/lib/emacsql @@ -1 +1 @@ -Subproject commit 3e015ab99e061f3967a154683f068ce6553f168a +Subproject commit e1908de2cf2c7b77798ef6645d514dded1d7f8a4 diff --git a/lib/epkg b/lib/epkg index b6922f1..59716aa 160000 --- a/lib/epkg +++ b/lib/epkg @@ -1 +1 @@ -Subproject commit b6922f112dd0b523df0e2da49b4cc9327b1085ba +Subproject commit 59716aab39c552a1b9c6979c1b4afda6102202c6 diff --git a/lib/git-modes b/lib/git-modes index 7063d66..dfc450d 160000 --- a/lib/git-modes +++ b/lib/git-modes @@ -1 +1 @@ -Subproject commit 7063d66857023e6c010cecac52de67c0baa77fb7 +Subproject commit dfc450d79498b7997b1155ac76629ab01f7ef355 diff --git a/lib/llama b/lib/llama index ec1d4ef..e4803de 160000 --- a/lib/llama +++ b/lib/llama @@ -1 +1 @@ -Subproject commit ec1d4ef02f5572fc5aff3f62d3e7ef791f444456 +Subproject commit e4803de8ab85991b6a944430bb4f543ea338636d diff --git a/lib/magit b/lib/magit index 5183b8f..5c6d84b 160000 --- a/lib/magit +++ b/lib/magit @@ -1 +1 @@ -Subproject commit 5183b8f0d42345432a560996e4f434d27452faa8 +Subproject commit 5c6d84bb5cad5514572207464ca68f862018099d diff --git a/lib/transient b/lib/transient index 1d2710c..0d3f8d4 160000 --- a/lib/transient +++ b/lib/transient @@ -1 +1 @@ -Subproject commit 1d2710c7f8bba962bfbe6502d76158c2150840c1 +Subproject commit 0d3f8d4fb6d41b841126820a06ecc98579bd8265 diff --git a/lib/with-editor b/lib/with-editor index 87a384a..72e80f1 160000 --- a/lib/with-editor +++ b/lib/with-editor @@ -1 +1 @@ -Subproject commit 87a384a0e59260cca41ca8831d98e195b1ec8ada +Subproject commit 72e80f1236237f346d9692ab8e793798b8c038c5 From 9bdce1fb8c7e6a5ef52bc9fc6353578abfb64159 Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Wed, 19 Nov 2025 15:53:54 +0100 Subject: [PATCH 07/11] Emacsg: Require at least Emacs 28 The Borg version we just updated to does also require Emacs 28. --- init.el | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/init.el b/init.el index c9995ae..a6320b5 100644 --- a/init.el +++ b/init.el @@ -9,10 +9,6 @@ (setq user-init-file (or load-file-name buffer-file-name)) (setq user-emacs-directory (file-name-directory user-init-file)) (message "Loading %s..." user-init-file) - (when (< emacs-major-version 27) - (setq package-enable-at-startup nil) - ;; (package-initialize) - (load-file (expand-file-name "early-init.el" user-emacs-directory))) (setq inhibit-startup-buffer-menu t) (setq inhibit-startup-screen t) (setq inhibit-startup-echo-area-message "locutus") @@ -88,17 +84,15 @@ (use-package diff-mode :defer t :config - (when (>= emacs-major-version 27) - (set-face-attribute 'diff-refine-changed nil :extend t) - (set-face-attribute 'diff-refine-removed nil :extend t) - (set-face-attribute 'diff-refine-added nil :extend t))) + (set-face-attribute 'diff-refine-changed nil :extend t) + (set-face-attribute 'diff-refine-removed nil :extend t) + (set-face-attribute 'diff-refine-added nil :extend t)) (use-package dired :defer t :config (setq dired-listing-switches "-alh")) (use-package eldoc - :when (version< "25" emacs-version) :config (global-eldoc-mode)) (use-package help @@ -146,7 +140,6 @@ :config (savehist-mode)) (use-package saveplace - :when (version< "25" emacs-version) :config (save-place-mode)) (use-package simple @@ -155,9 +148,8 @@ (use-package smerge-mode :defer t :config - (when (>= emacs-major-version 27) - (set-face-attribute 'smerge-refined-removed nil :extend t) - (set-face-attribute 'smerge-refined-added nil :extend t))) + (set-face-attribute 'smerge-refined-removed nil :extend t) + (set-face-attribute 'smerge-refined-added nil :extend t)) (progn ; `text-mode' (add-hook 'text-mode-hook 'indicate-buffer-boundaries-left)) From 703274969ea809aabc53e48515578f7d26f05ace Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Wed, 19 Nov 2025 16:00:13 +0100 Subject: [PATCH 08/11] Emacsg: Initialize Borg in early-init.el --- early-init.el | 10 +++++----- init.el | 13 ------------- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/early-init.el b/early-init.el index 15fd2eb..5899cc6 100644 --- a/early-init.el +++ b/early-init.el @@ -1,11 +1,11 @@ -;;; early-init.el --- earliest birds -*- lexical-binding: t -*- +;;; early-init.el --- Earliest birds -*- lexical-binding: t -*- (setq load-prefer-newer t) -(add-to-list 'load-path - (expand-file-name - "lib/auto-compile" - (file-name-directory (or load-file-name buffer-file-name)))) +(add-to-list 'load-path (expand-file-name "lib/borg" user-emacs-directory)) +(require 'borg) +(borg-initialize) + (require 'auto-compile) (auto-compile-on-load-mode) (auto-compile-on-save-mode) diff --git a/init.el b/init.el index a6320b5..ee266a7 100644 --- a/init.el +++ b/init.el @@ -1,14 +1,6 @@ ;;; init.el --- user-init-file -*- lexical-binding: t -*- ;;; Early birds (progn ; startup - (defvar before-user-init-time (current-time) - "Value of `current-time' when Emacs begins loading `user-init-file'.") - (message "Loading Emacs...done (%.3fs)" - (float-time (time-subtract before-user-init-time - before-init-time))) - (setq user-init-file (or load-file-name buffer-file-name)) - (setq user-emacs-directory (file-name-directory user-init-file)) - (message "Loading %s..." user-init-file) (setq inhibit-startup-buffer-menu t) (setq inhibit-startup-screen t) (setq inhibit-startup-echo-area-message "locutus") @@ -20,11 +12,6 @@ (tool-bar-mode 0)) (menu-bar-mode 0)) -(eval-and-compile ; `borg' - (add-to-list 'load-path (expand-file-name "lib/borg" user-emacs-directory)) - (require 'borg) - (borg-initialize)) - (eval-and-compile ; `use-package' (setopt use-package-enable-imenu-support t) (setopt use-package-verbose t) From cb4d3e6e63d250ce337f8e05864881b6372ebde9 Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Wed, 19 Nov 2025 16:04:57 +0100 Subject: [PATCH 09/11] Emacsg: Use Borg's new init message support --- init.el | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/init.el b/init.el index ee266a7..734aa86 100644 --- a/init.el +++ b/init.el @@ -1,4 +1,5 @@ ;;; init.el --- user-init-file -*- lexical-binding: t -*- +(borg-report-load-duration) ;;; Early birds (progn ; startup (setq inhibit-startup-buffer-menu t) @@ -45,7 +46,7 @@ :config (setq custom-file (expand-file-name "custom.el" user-emacs-directory)) (when (file-exists-p custom-file) - (load custom-file))) + (load custom-file nil t))) (use-package server :functions (server-running-p) @@ -53,8 +54,7 @@ (progn ; startup (message "Loading early birds...done (%.3fs)" - (float-time (time-subtract (current-time) - before-user-init-time)))) + (float-time (time-subtract (current-time) before-init-time)))) ;;; Long tail @@ -159,24 +159,10 @@ ;;; Tequila worms -(progn ; startup - (message "Loading %s...done (%.3fs)" user-init-file - (float-time (time-subtract (current-time) - before-user-init-time))) - (add-hook 'after-init-hook - (lambda () - (message - "Loading %s...done (%.3fs) [after-init]" user-init-file - (float-time (time-subtract (current-time) - before-user-init-time)))) - t)) - -(progn ; personalize - (let ((file (expand-file-name (concat (user-real-login-name) ".el") - user-emacs-directory))) - (when (file-exists-p file) - (load file)))) +(borg--load-config (concat (user-real-login-name) ".el")) +(borg-report-after-init-duration) +;;; _ ;; Local Variables: ;; indent-tabs-mode: nil ;; End: From 66eb02c4c79f8923e0391a0310823a74b39d9394 Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Wed, 19 Nov 2025 16:07:20 +0100 Subject: [PATCH 10/11] epkg: No longer set removed epkg-database-connector --- init.el | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/init.el b/init.el index 734aa86..61268b3 100644 --- a/init.el +++ b/init.el @@ -36,10 +36,7 @@ (use-package epkg :defer t :init - (setq epkg-repository - (expand-file-name "var/epkgs/" user-emacs-directory)) - (setq epkg-database-connector - (if (>= emacs-major-version 29) 'sqlite-builtin 'sqlite-module))) + (setq epkg-repository (expand-file-name "var/epkgs/" user-emacs-directory))) (use-package custom :no-require t From ad6aca9bd4c4aa93cd481e27346c3b6af7953dbb Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Wed, 19 Nov 2025 16:11:41 +0100 Subject: [PATCH 11/11] auto-compile: No longer set removed auto-compile-update-autoloads --- init.el | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/init.el b/init.el index 61268b3..18597bc 100644 --- a/init.el +++ b/init.el @@ -30,8 +30,7 @@ (setq auto-compile-display-buffer nil) (setq auto-compile-mode-line-counter t) (setq auto-compile-source-recreate-deletes-dest t) - (setq auto-compile-toggle-deletes-nonlib-dest t) - (setq auto-compile-update-autoloads t)) + (setq auto-compile-toggle-deletes-nonlib-dest t)) (use-package epkg :defer t