Support for (:underline (:style wave) when on terminal move is missing. See src/xfaces.c, and the line:     return false;               /* ttys can't use wave underlines */ Since ~3 years, support for curly underscores and colored underscores is present in several terminal emulators. At least: - Kitty: https://github.com/kovidgoyal/kitty/blob/master/protocol-extensions.asciidoc - VTE - iTerm2: https://gitlab.com/gnachman/iterm2/-/issues/6382 Example of implementations from other editors, such as Vim and Neovim among others: - https://github.com/vim/vim/issues/1306 - https://github.com/vim/vim/pull/2405 - https://github.com/neovim/neovim/issues/7479 In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.23, cairo version 1.16.0)  of 2020-11-08, modified by Debian built on x86-ubc-01 System Description: Debian GNU/Linux bullseye/sid Recent messages: Loading /home/vic/.emacs.d/.local/cache/recentf...done Starting new Ispell process aspell with english dictionary...done Note: standard-indent, tab-width, evil-shift-width adjusted to 4 Session restored. Welcome back. Wrote /home/vic/.doom.d/config.el "config.el" 143L, 5373C written Configured using:  'configure --build x86_64-linux-gnu --prefix=/usr  --sharedstatedir=/var/lib --libexecdir=/usr/lib  --localstatedir=/var/lib --infodir=/usr/share/info  --mandir=/usr/share/man --enable-libsystemd --with-pop=yes  --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp  --with-sound=alsa --without-gconf --with-mailutils --build  x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib  --libexecdir=/usr/lib --localstatedir=/var/lib  --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd  --with-pop=yes  --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp  --with-sound=alsa --without-gconf --with-mailutils --with-cairo  --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars  'CFLAGS=-g -O2 -fdebug-prefix-map=/build/emacs-6jKC2B/emacs-27.1+1=.  -fstack-protector-strong -Wformat -Werror=format-security -Wall'  'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro' Configured features: XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP Important settings:   value of $LC_MONETARY: en_DK.UTF-8   value of $LC_NUMERIC: en_DK.UTF-8   value of $LC_TIME: en_DK.UTF-8   value of $LANG: en_US.UTF-8   value of $XMODIFIERS: @im=ibus   locale-coding-system: utf-8 Major mode: Elisp Minor modes in effect:   evil-traces-mode: t   git-gutter-mode: t   whitespace-mode: t   global-evil-surround-mode: t   evil-surround-mode: t   eros-mode: t   highlight-quoted-mode: t   rainbow-delimiters-mode: t   display-fill-column-indicator-mode: t   vi-tilde-fringe-mode: t   highlight-numbers-mode: t   display-line-numbers-mode: t   flyspell-lazy-mode: t   flycheck-popup-tip-mode: t   save-place-mode: t   global-so-long-mode: t   which-key-mode: t   better-jumper-mode: t   better-jumper-local-mode: t   global-company-mode: t   company-mode: t   ivy-rich-mode: t   ivy-mode: t   evil-goggles-mode: t   evil-escape-mode: t   evil-snipe-override-mode: t   evil-snipe-mode: t   evil-snipe-override-local-mode: t   evil-snipe-local-mode: t   gcmh-mode: t   global-hl-line-mode: t   hl-line-mode: t   winner-mode: t   show-paren-mode: t   smartparens-global-mode: t   smartparens-mode: t   ws-butler-global-mode: t   ws-butler-mode: t   global-undo-fu-session-mode: t   undo-fu-session-mode: t   undo-fu-mode: t   global-flycheck-mode: t   flycheck-mode: t   solaire-global-mode: t   solaire-mode: t   projectile-mode: t   xterm-mouse-mode: t   xclip-mode: t   hl-todo-mode: t   outline-minor-mode: t   yas-minor-mode: t   savehist-mode: t   recentf-mode: t   doom-modeline-mode: t   global-git-commit-mode: t   async-bytecomp-package-mode: t   persp-mode: t   flyspell-mode: t   shell-dirtrack-mode: t   evil-mode: t   evil-local-mode: t   +popup-mode: t   general-override-mode: t   global-eldoc-mode: t   eldoc-mode: t   electric-indent-mode: t   mouse-wheel-mode: t   file-name-shadow-mode: t   global-font-lock-mode: t   font-lock-mode: t   window-divider-mode: t   auto-composition-mode: t   auto-encryption-mode: t   auto-compression-mode: t   size-indication-mode: t   column-number-mode: t   line-number-mode: t   transient-mark-mode: t Load-path shadows: /usr/share/emacs/site-lisp/llvm-11/llvm-mode hides /usr/share/emacs/site-lisp/llvm-6.0/llvm-mode /usr/share/emacs/site-lisp/llvm-11/tablegen-mode hides /usr/share/emacs/site-lisp/llvm-6.0/tablegen-mode /usr/share/emacs/site-lisp/llvm-11/emacs hides /usr/share/emacs/site-lisp/llvm-6.0/emacs /usr/share/emacs/site-lisp/llvm-11/llvm-mode hides /usr/share/emacs/site-lisp/llvm-7/llvm-mode /usr/share/emacs/site-lisp/llvm-11/tablegen-mode hides /usr/share/emacs/site-lisp/llvm-7/tablegen-mode /usr/share/emacs/site-lisp/llvm-11/emacs hides /usr/share/emacs/site-lisp/llvm-7/emacs /usr/share/emacs/site-lisp/llvm-11/llvm-mode hides /usr/share/emacs/site-lisp/llvm-8/llvm-mode /usr/share/emacs/site-lisp/llvm-11/tablegen-mode hides /usr/share/emacs/site-lisp/llvm-8/tablegen-mode /usr/share/emacs/site-lisp/llvm-11/emacs hides /usr/share/emacs/site-lisp/llvm-8/emacs /usr/share/emacs/site-lisp/llvm-11/llvm-mode hides /usr/share/emacs/site-lisp/llvm-9/llvm-mode /usr/share/emacs/site-lisp/llvm-11/tablegen-mode hides /usr/share/emacs/site-lisp/llvm-9/tablegen-mode /usr/share/emacs/site-lisp/llvm-11/emacs hides /usr/share/emacs/site-lisp/llvm-9/emacs /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-autoloads /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el-autoloads hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el-autoloads /usr/share/emacs/site-lisp/elpa/debian-el-37/apt-sources hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/apt-sources /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-bug hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-bug /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el-pkg hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el-pkg /usr/share/emacs/site-lisp/elpa/debian-el-37/deb-view hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/deb-view /usr/share/emacs/site-lisp/elpa/debian-el-37/apt-utils hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/apt-utils /usr/share/emacs/site-lisp/elpa/debian-el-37/gnus-BTS hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/gnus-BTS /usr/share/emacs/site-lisp/elpa/debian-el-37/preseed hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/preseed /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-autoloads /usr/share/emacs/site-lisp/elpa/devscripts-40/devscripts-pkg hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/devscripts-pkg /usr/share/emacs/site-lisp/elpa/devscripts-40/devscripts-autoloads hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/devscripts-autoloads /usr/share/emacs/site-lisp/elpa/devscripts-40/pbuilder-mode hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/pbuilder-mode /usr/share/emacs/site-lisp/elpa/devscripts-40/devscripts hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/devscripts /usr/share/emacs/site-lisp/elpa/devscripts-40/pbuilder-log-view-mode hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/pbuilder-log-view-mode /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-copyright hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-copyright /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/readme-debian hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/readme-debian /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/dpkg-dev-el hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/dpkg-dev-el /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-control-mode hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-control-mode /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-autoloads /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/dpkg-dev-el-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/dpkg-dev-el-autoloads /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-bts-control hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-bts-control /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/dpkg-dev-el-pkg hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/dpkg-dev-el-pkg /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-changelog-mode hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-changelog-mode /usr/share/emacs/site-lisp/latex-cjk-thai/thai-word hides /usr/share/emacs/27.1/lisp/language/thai-word Features: (shadow sort mail-extr emacsbug sendmail amx cursor-sensor evil-traces evil-ex lsp-mode lsp-protocol spinner network-stream smartparens-markdown markdown-mode edit-indirect inline ht ewoc dash-functional bindat flycheck-golangci-lint evil-collection-go-mode go-mode find-file ffap etags fileloop flycheck-cask git-gutter evil-collection-vc-git vc-git jka-compr auto-minor-mode disp-table whitespace evil-embrace evil-surround embrace expand-region text-mode-expansions the-org-mode-expansions er-basic-expansions expand-region-core expand-region-custom eros highlight-quoted rainbow-delimiters display-fill-column-indicator vi-tilde-fringe highlight-numbers parent-mode display-line-numbers flyspell-lazy flycheck-popup-tip evil-collection-popup popup ispell flyspell face-remap saveplace so-long evil-collection-which-key which-key better-jumper company-capf company evil-collection-ivy ivy-avy avy ivy-rich counsel xdg ivy-xref evil-collection-xref xref project swiper ivy delsel ivy-faces ivy-overlay colir evil-goggles pulse evil-easymotion evil-escape evil-snipe gcmh hl-line winner paren smartparens-config smartparens-text smartparens ws-butler undo-fu-session undo-fu evil-collection-flycheck flycheck doom-themes-ext-org doom-themes-ext-treemacs solaire-mode doom-molokai-theme doom-themes doom-themes-base projectile ibuf-ext evil-collection-ibuffer ibuffer ibuffer-loaddefs xt-mouse xclip evil-terminal-cursor-changer color term/tmux term/xterm xterm org-capture org-agenda org-refile evil-collection-magit-todos magit-todos pcre2el rxt re-builder hl-todo evil-collection-grep grep evil-collection-compile compile orgit smartparens-org org-yt org-element avl-tree generator org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities evil-collection-outline noutline outline org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat org-macs org-loaddefs find-func evil-collection-calendar cal-menu calendar cal-loaddefs github-review ghub-graphql treepy gsexp ghub url-http url-gw nsm url-auth url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap let-alist gnutls deferred a evil-collection-magit magit-autoloads magit-submodule magit-obsolete magit-popup magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func evil-collection-imenu imenu magit-diff smerge-mode diff evil-collection-diff-mode diff-mode magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process magit-mode lv core-packages package browse-url url-handlers url-parse auth-source json map url-vars doom-snippets doom-snippets-lib yasnippet evil-collection-elisp-mode elisp-mode help-mode savehist recentf tree-widget dtrt-indent doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path f s all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons memoize git-commit with-editor transient async-bytecomp async server magit-git magit-section eieio eieio-core eieio-loaddefs magit-utils crm evil-collection-log-edit log-edit message rmc puny evil-collection-dired dired dired-loaddefs format-spec rfc822 mml mml-sec password-cache evil-collection-epa evil-collection-custom cus-edit cus-start cus-load wid-edit evil-collection-comint evil-collection annalist epa epg epg-config gnus-util rmail rmail-loaddefs text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log dash persp-mode evil evil-integration evil-maps evil-commands reveal evil-jumps evil-command-window evil-types evil-search shell pcomplete comint ansi-color evil-macros evil-repeat evil-states evil-core advice evil-common windmove thingatpt rect evil-digraphs evil-vars ring derived core-editor core-projects core-ui edmacro kmacro easy-mmode core-keybinds pp general cl-extra easymenu seq byte-opt cl-seq use-package-core bytecomp byte-compile cconv core-modules rx cl core core-lib pcase cl-macs gv cl-loaddefs cl-lib subr-x tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 635613 661479)  (symbols 48 47597 48)  (strings 32 155317 57250)  (string-bytes 1 4780813)  (vectors 16 78376)  (vector-slots 8 1499396 183442)  (floats 8 1014 2781)  (intervals 56 1418 482)  (buffers 1000 18)) -- Víctor Cuadrado Juan           me@viccuad.me PGP key ID: 4096R: 0xA2591E231E251F36 Key fingerprint: E3C5 114C 0C5B 4C49 BA03  0991 A259 1E23 1E25 1F36 My signed E-Mails are trustworthy.