Subject: bug#23574: 24.5; Overzealous underlining in emacs-nox

From: Colin Woodbury <[email-masked]>
Date: Wed, 18 May 2016 10:03:21 -0700

I use ensime for Scala editing, and I've come across a strange display bug
 which is only present in `emacs -nw`, `emacsclient -nw` or just `emacs`
from
 the `emacs-nox` package. It has to do with some very jarring underlining
 that occurs during ensime's "semantic highlighting". The issue does not
 occur in normal GUI emacs.

 I've contacted the ensime maintainers, and while they can reproduce the
 bug, they claim it isn't an ensime problem. Hence I'm here.

 The ensime bug report (with pictures and instructions to reproduce) can be
found here:
 https://github.com/ensime/ensime-emacs/issues/440

 Thanks for any help you can give.

 In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu)
  of 2016-05-01 on svetlemodry
 System Description:     Arch Linux

 Configured using:
  `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
  --localstatedir=/var --without-x --without-sound 'CFLAGS=-march=x86-64
  -mtune=generic -O2 -pipe -fstack-protector-strong'
  CPPFLAGS=-D_FORTIFY_SOURCE=2
  LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

 Important settings:
   value of $LANG: en_US.UTF-8
   locale-coding-system: utf-8-unix

Major mode: Scala

 Minor modes in effect:
   yas-minor-mode: t
   company-mode: t
   diff-auto-refine-mode: t
   ensime-mode: t
   helm-mode: t
   shell-dirtrack-mode: t
   async-bytecomp-package-mode: t
   electric-pair-mode: t
   tooltip-mode: t
   electric-indent-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   column-number-mode: t
   line-number-mode: t
   transient-mark-mode: t

 Recent messages:
 Wrote /home/colin/*message*-20160518-095148
 C-c k is undefined
 C-c C-n is undefined
 Mark saved where search started
 Quit
 ENSIME server starting...
 Connecting to Swank on port 38005..
 Connected to ENSIME speaking protocol 0.8.20, please wait while the
project is loaded.
 Initializing Analyzer. Please wait...
 ENSIME ready. Colin, this could be the start of a beautiful program.

 Load-path shadows:
 /home/colin/.emacs.d/elpa/helm-20160517.202/helm-multi-match hides
/home/colin/.emacs.d/elpa/helm-core-2\
 0160516.2343/helm-multi-match

 Features:
 (network-stream starttls tls ido vc-git ensime-company yasnippet company
 pcase scala-mode scala-mode-prettify-symbols scala-mode-imenu
 scala-mode-map scala-mode-fontlock scala-mode-indent
 scala-mode-paragraph scala-mode-lib image-file misearch multi-isearch
 shadow sort mail-extr emacsbug message idna rfc822 mml mml-sec mm-decode
 mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
 sendmail rfc2047 rfc2045 ietf-drums mail-utils winner helm-command
 helm-elisp helm-eval edebug eldoc help-mode org-clock diary-lib
 diary-loaddefs cal-iso org-element org-rmail org-mhe org-irc org-info
 org-gnus org-docview doc-view jka-compr image-mode image org-bibtex
 bibtex org-bbdb org-w3m org-agenda org org-macro org-footnote
 org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp
 ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint
 ob-core ob-eval org-compat org-macs org-loaddefs find-func cal-menu
 calendar cal-loaddefs server ensime ensime-sbt sbt-mode sbt-mode-rgrep
 grep sbt-mode-comint sbt-mode-buffer sbt-mode-project sbt-mode-vars
 ensime-http ensime-ui ensime-semantic-highlight ensime-doc ensime-search
 ensime-undo ensime-startup ensime-refactor diff-mode ensime-popup
 ensime-notes ensime-model ensime-mode ensime-inspector imenu
 ensime-goto-testfile ensime-editor popup ensime-debug gdb-mi bindat gud
 ensime-stacktrace ensime-inf ensime-completion-util scala-mode-syntax
 ensime-config ensime-util ensime-client ensime-vars s ucs-normalize
 hideshow arc-mode archive-mode dash url-gw ensime-macros cl
 haskell-interactive-mode haskell-presentation-mode haskell-collapse
 haskell-process haskell-session json haskell-navigate-imports
 haskell-compile haskell-mode haskell-cabal haskell-utils
 haskell-font-lock haskell-indentation haskell-string
 haskell-sort-imports haskell-lexeme haskell-align-imports haskell-compat
 haskell-complete-module noutline outline flymake etags dabbrev
 haskell-customize helm-mode helm-files rx image-dired tramp tramp-compat
 tramp-loaddefs trampver shell pcomplete format-spec dired-x dired-aux
 ffap thingatpt helm-buffers helm-elscreen helm-tags helm-bookmark
 helm-adaptive helm-info bookmark pp helm-locate helm-grep helm-regexp
 helm-plugin helm-external helm-net browse-url xml url url-proxy
 url-privacy url-expand url-methods url-history url-cookie url-domsuf
 url-util url-parse auth-source gnus-util time-date mm-util mail-prsvr
 password-cache url-vars mailcap helm-utils compile comint regexp-opt
 ansi-color ring helm-help helm-types helm easy-mmode cl-macs gv
 helm-source eieio byte-opt bytecomp byte-compile cl-extra cconv
 eieio-core helm-multi-match helm-lib dired helm-config helm-easymenu
 edmacro kmacro async-bytecomp advice help-fns async cl-loaddefs cl-lib
 elec-pair info tool-bar easymenu package epg-config tooltip electric
 uniquify ediff-hook vc-hooks lisp-float-type tabulated-list newcomment
 lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
 mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
 utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
 japanese hebrew greek romanian slovak czech european ethiopic indian
 cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
 minibuffer 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 make-network-process
 dbusbind gfilenotify multi-tty emacs)

Memory information:
 ((conses 16 493230 27709)
  (symbols 48 45671 8)
  (miscs 40 936 1876)
  (strings 32 102177 15065)
  (string-bytes 1 3052221)
  (vectors 16 60425)
  (vector-slots 8 931107 9519)
  (floats 8 234 1600)
  (intervals 56 2997 0)
  (buffers 960 37)
  (heap 1024 48683 1909))

-- 
Colin Woodbury
Geotrellis Team @ Azavea