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.
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.
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?