aboutsummaryrefslogtreecommitdiff
path: root/tests/test-prog-general--find-project-root-file.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-08-14 04:12:55 -0500
committerCraig Jennings <c@cjennings.net>2026-08-14 04:12:55 -0500
commitb7f6984983ea947dd969fa2be9200b53bbf447fe (patch)
tree9d95b5f51c676d461ca0358b14ff28b8b2e3e0b0 /tests/test-prog-general--find-project-root-file.el
parentebed67a6e285f7667591034b0bc5f962c45e6307 (diff)
downloaddotemacs-b7f6984983ea947dd969fa2be9200b53bbf447fe.tar.gz
dotemacs-b7f6984983ea947dd969fa2be9200b53bbf447fe.zip
fix(packages): survive a failed install instead of aborting startupHEADmain
A fresh install pulls around 190 packages over the network. One transient download error left the config two thirds loaded, with hooks registered for packages that never installed. use-package already warns and continues when an install fails, but it guards with condition-case-unless-debug, which does nothing while debug-on-error is set. early-init sets that for all of startup so my own errors stay loud, and it's what disarms the guard. I inhibited the debugger for the install alone, so the rest of init keeps it. Failures are recorded and reported when startup finishes, and cj/retry-failed-package-installs picks them up. Editing hooks are silenced during an install. Generating autoloads visits .el files, which is how one missing package breaks the install of unrelated ones. A session-wide retry budget bounds the retrying. Installs stop after five failures in a row, since a run that long means the network is gone rather than one package being unlucky. :vc packages get the same treatment through advice. use-package drops :ensure whenever :vc is present, and its clone path carries no error handling. A machine without credentials for the git host aborted init the same way. make bootstrap installs everything headlessly, so a fresh machine never meets the debugger. It refuses to run against byte-compiled modules, where use-package consumes :ensure at compile time and a pass would report success having installed nothing.
Diffstat (limited to 'tests/test-prog-general--find-project-root-file.el')
0 files changed, 0 insertions, 0 deletions