In my previous post I talked about how Racket Mode now will often want the back end command server, before actually needing a live REPL — but it has to start a REPL anyway. This was bothering me. So I went on to address that. Doing so entailed reversing the I/O model for the back end. As a bonus, that set up fairly short strokes to supporting multiple REPLs.
Even though it’s been one of my most time-consuming projects, I’ve hardly blogged about racket-mode — an Emacs major mode for Racket. To change that, here’s a post giving an overview of how racket-mode works, as well as a look at how it might grow someday.
Until a few months ago I didn’t use Emacs themes. A custom-set-faces
form in my init file gradually accumulated face specs like a lint-roller.
Then I started to use Solarized. Mostly light, sometimes dark. Switching between them using
M-x load-theme worked fine.
Later I liked the look of Material. Although too high-contrast to use full-time, it works well in certain situations.
After I installed it I had two annoyances:
-
I didn’t love the 3D “button” look it gives org-mode headings. Must tweak.
-
Switching between the Solarized and Material themes using load-theme
definitely did not work well: If the old theme defined a face, but the new theme did not, the old face would remain in effect. So for example I might switch to Material then back to Solarized, and get a weird mix of mostly Solarized but with Material org headings.
Here’s what I’m doing to address both issues.