Sunday, Sep 8, 2024
Previously I introduced the reader to ShellCheck. In this post I detail how I use Flycheck in Emacs and offer an Emacs function to automatically suppress Shellcheck errors at the current line.
I’m an avid Emacs user and it follows that I’ve set up editor customization to exude the most from ShellCheck. If you, dear reader, are not an Emacs user, I cannot help you! Please, for the love of shell scripts, ensure ShellCheck works within your preferred text editor, lest you wish to ship edgecased buggy scripts!
Continue reading…
Wednesday, Jan 10, 2024
Figure 1: Jamian · CC BY 3.0 Deed (link)
A frequent quip of the unix-beard is shebangs cannot contain multiple command-line arguments. Let’s break it down and see where this assumption no longer holds true.
What is a Shebang? The shebang is the line at the beginning scripts such as Python and Shell scripts that instructs the OS how to execute the script. Looks something like #!/bin/sh or #!
Continue reading…
Sunday, Nov 28, 2021
Figure 1: Behold! Emacs 27!
When upgrading to Emacs 27 there were quite a few weird things I had to address.
My Emacs is installed via Gentoo Portage. The USE flags I have set (to enable/disable features at build time) essentially configure my Emacs to be like Lucid Emacs builds. Here’s the USE flags:
Xaw3d acl alsa athena cairo dbus dynamic-loading gif gmp gui imagemagick inotify jpeg lcms libxml2 png source ssl svg threads tiff toolkit-scroll-bars xft xpm zlib -aqua -games -gconf -gfile -gpm -gsettings -gtk -gzip-el -harfbuzz -json -kerberos -livecd -m17n-lib -mailutils -motif -selinux -sound -systemd -wide-int -xwidgets Make note that cairo support is enabled.
Continue reading…
Friday, Nov 1, 2019
I ran into a hang today with only ivy enabled and nothing else configured or installed. The behavior was such that after I typed a hostname with a TLD (such as not.existant.com1), then typed C-x d to visit a directory or C-x C-f to find a file, Emacs would hang. My mouse would turn into a pin-wheel. My only recourse was to send the ‘quit’ command via C-g to cancel the operation.
Continue reading…
Sunday, Jul 28, 2019
On my Gentoo desktops, I use Emacs Daemon via sys-emacs/emacs-daemon1 to ensure an Emacs instance is ready to go and always available from boot. This is done via creating a symbolic link like /etc/init.d/emacs.winston to /etc/init.d/emacs which will start Emacs for the given user. See the package README for more details.
A shortcoming of this setup is XDG_RUNTIME_DIR2 is not set, as this is set by my Desktop Session - maybe LightDM or consolekit set this?
Continue reading…