tvl-depot/configs/shared
William Carroll 67f060d6f9 Temporarily disable flycheck
TL;DR:
Problem: I ran into a bug where my computer wallpaper was changing every five
seconds whenever my init.el file was open and I was typing in it.

Short-term solution: Disable flycheck.

Long-term solution: Disable flycheck just for Elisp or just for init.el in
Elisp.

Post Mortem:
Warning: If you have flycheck-emacs-lisp-initialize-packages set to auto or
really anything other than nil, than the emacs-lisp flycheck-checker will spin
up a new Emacs instance, and evaluate all of the Elisp in init.el.

Why does this matter? Well, if like me, you have code anywhere in your
init.el (and any files downstream from init.el), that code will get evaluated
not just twice. But countless times... tens, hundreds, w/e. So... while you
might think you have code that is just running at startup this code will be
called incessantly.

As a dramatic, contrived example, if you had something like...

```elisp
(bank/send :amount 100 :to "wpcarro@gmail.com")
```

...anywhere in that your init.el would evaluate, you may end up sending
wpcarro@gmail.com millions of dollars. To make debugging this problem a bit more
complicated is that because this runs in a separate Emacs instance, you can't do
something like...

```elisp
(defvar already-evaluated? nil)
(unless already-evaluated? (bank/send :amount 100 :to "wpcarro@gmail.com"))
(setq already-evaluated? t)
```

...since the `already-evaluated?` variable will be local to the Emacs
instance. So if you needed a mechanism to ensure code like this runs only once,
you would need a way to share this semaphore across Emacs instances --
e.g. writing to and reading from disk.
2020-01-06 15:25:25 +00:00
..
.config Support more fish abbr's for git 2020-01-06 15:25:25 +00:00
.docker Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.emacs.d Temporarily disable flycheck 2020-01-06 15:25:25 +00:00
.gnupg Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.gvcci/themes Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.irssi Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.local/share Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.ncmpcpp Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.ssh Massive configuration overhaul 2019-12-24 15:21:34 +00:00
misc/.config/i3status Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.g4d Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.gitconfig Ensure git yday alias formats commits like git today 2020-01-06 15:25:25 +00:00
.gitignore Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.profile Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.tmux.conf Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.Xmodmap Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.Xresources Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.Xresources.shared Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.xsecurelockrc Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.xsessionrc Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.xsessionrc.shared Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.zprofile Massive configuration overhaul 2019-12-24 15:21:34 +00:00
.zshrc Massive configuration overhaul 2019-12-24 15:21:34 +00:00
aliases.zsh Remove aliases for personal project 2019-12-24 15:21:34 +00:00
functions.zsh Support ensure_{file,dir} in zsh 2019-12-24 15:21:34 +00:00
variables.zsh Massive configuration overhaul 2019-12-24 15:21:34 +00:00
zle.zsh Massive configuration overhaul 2019-12-24 15:21:34 +00:00