doomemacs/core
Henrik Lissner 9f45561825
bin/doom: inhibit POSIX errors during postscript
Some doom commands will generate a temporary script at
~/.emacs.d/.local/.doom.sh so that it can run an arbitrary shell command
after the current invocation of bin/doom ends. Very useful for, say,
restarting the currently running doom command after a destructive
operation, like updating Doom's source code, tangling your literate
config, or for launching arbitrary programs, like a new instance of
Emacs. This is necessary because elisp lacks an execv implementation.

However, for some folks, .doom.sh wasn't executing at all. This meant:

1. Some `doom upgrade`s would upgrade Doom itself but never move on to
   the second step of the process: updating its packages.
2. Literate config users could tangle their configs on `doom sync`, but
   the actual syncing process would never happen (#3746).
3. `doom run` would do nothing.

I hadn't realized /bin/sh runs bash in POSIX mode (at least, on systems
where /bin/sh = bash, like nixOS or macOS). In POSIX mode the script
will abort the if a builtin command (like export) returns a non-zero
exit code. Since .doom.sh is basically a bunch of exports followed by an
arbitrary command, and there are some environment variables
that can trigger validation errors (like UID triggering a "read-only
variable" error), we have a problem.

Hopefully addresses #3746
2020-08-18 18:59:50 -04:00
..
autoload Fix #3747: make enlargen/maximize workspace-aware 2020-08-14 02:13:37 -04:00
cli Update gccemacs support 2020-08-17 21:24:14 -04:00
templates Update help keybinds in 'doom install' postamble 2020-07-28 20:08:32 -04:00
test Remove unused test module 2020-05-25 16:02:07 -04:00
core-cli.el bin/doom: inhibit POSIX errors during postscript 2020-08-18 18:59:50 -04:00
core-editor.el Fix #3723: auto-revert on window/buffer switch 2020-08-13 22:49:35 -04:00
core-keybinds.el Fix #3717: command = super, option = meta 2020-08-10 19:36:05 -04:00
core-lib.el Fix deduplication in add-load-path! 2020-08-07 18:28:36 +02:00
core-modules.el Minor refactors 2020-08-08 03:06:26 -04:00
core-packages.el Fix private package declaration order issues 2020-08-18 17:23:28 -04:00
core-projects.el Reduce projectile cache limit 2020-08-01 15:19:59 -04:00
core-ui.el Fix kill-current-buffer prompting to save survivor buffers 2020-08-08 02:59:59 -04:00
core.el Fix #3772 (again): void-variable comp-eln-load-path 2020-08-18 02:51:53 -04:00
packages.el Add :os tty module 2020-08-07 23:44:39 -04:00