Subject: bug#50790: 27.1; GNUmakefile mode: Inline comments on variable assignment

From: B9 <[email-masked]>
Date: Fri, 24 Sep 2021 14:48:53 -0700

Hello,

This is a feature request, not a bug.

I love that GNUmakefile mode highlights whitespace that could be harmful
in a Makefile. It is quite helpful, but it could be better.

In particular, there should be a warning when a Makefile contains
something like this:

    export PATH+=:${GCC9000}/bin	# Use compiler from the future

As you know, that's a very common mistake in Makefiles because the tabs
up until the # are literally included in the variable assignment.

Request #1: Please have any whitespace at the end of an assignment
highlighted in the lovely danger-pink color Emacs uses to make other
potential whitespace errors visible. It should highlight until the end
of the line or the first # hash sign.

Request #2: If possible, change comment-dwim to do NOTHING when used on
a line that has an assignment. Currently M-; is a very easy and quick
way to break a Makefile in an invisible manner.

Thank you.

GARRULOUS AUTOMATIC SYSTEM INFO BELOW
----------------------------------------------------------------------
(Note: I tested this on emacs-27.1, but I am submitting the bug from an
older machine).

In GNU Emacs 26.1 (build 2, i686-pc-linux-gnu, GTK+ Version 3.24.7)
 of 2019-04-11, modified by Debian built on lgw01-amd64-057
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description:	Ubuntu 19.04

Configured using:
 'configure --build i686-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/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --build
 i686-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/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --with-x=yes
 --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
 -fdebug-prefix-map=/build/emacs-266LUW/emacs-26.1+1=.
 -fstack-protector-strong -Wformat -Werror=format-security -Wall'
 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LIBSYSTEMD LCMS2

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

Major mode: GNUmakefile

Minor modes in effect:
  diff-auto-refine-mode: t
  show-paren-mode: t
  shell-dirtrack-mode: t
  recentf-mode: t
  display-time-mode: t
  save-place-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t

Load-path shadows:
/usr/local/share/emacs/site-lisp/w3m/w3m-perldoc hides /usr/share/emacs/site-lisp/w3m/w3m-perldoc
/usr/local/share/emacs/site-lisp/w3m/w3m-hist hides /usr/share/emacs/site-lisp/w3m/w3m-hist
/usr/local/share/emacs/site-lisp/w3m/w3m-bug hides /usr/share/emacs/site-lisp/w3m/w3m-bug
/usr/local/share/emacs/site-lisp/w3m/w3m hides /usr/share/emacs/site-lisp/w3m/w3m
/usr/local/share/emacs/site-lisp/w3m/w3mhack hides /usr/share/emacs/site-lisp/w3m/w3mhack
/usr/local/share/emacs/site-lisp/w3m/w3m-namazu hides /usr/share/emacs/site-lisp/w3m/w3m-namazu
/usr/local/share/emacs/site-lisp/w3m/w3m-favicon hides /usr/share/emacs/site-lisp/w3m/w3m-favicon
/usr/local/share/emacs/site-lisp/w3m/w3m-session hides /usr/share/emacs/site-lisp/w3m/w3m-session
/usr/local/share/emacs/site-lisp/w3m/w3m-weather hides /usr/share/emacs/site-lisp/w3m/w3m-weather
/usr/local/share/emacs/site-lisp/w3m/w3m-ccl hides /usr/share/emacs/site-lisp/w3m/w3m-ccl
/usr/local/share/emacs/site-lisp/w3m/w3m-bookmark hides /usr/share/emacs/site-lisp/w3m/w3m-bookmark
/usr/local/share/emacs/site-lisp/w3m/w3m-filter hides /usr/share/emacs/site-lisp/w3m/w3m-filter
/usr/local/share/emacs/site-lisp/w3m/w3m-form hides /usr/share/emacs/site-lisp/w3m/w3m-form
/usr/local/share/emacs/site-lisp/w3m/bookmark-w3m hides /usr/share/emacs/site-lisp/w3m/bookmark-w3m
/usr/local/share/emacs/site-lisp/w3m/w3m-image hides /usr/share/emacs/site-lisp/w3m/w3m-image
/usr/local/share/emacs/site-lisp/w3m/w3m-proc hides /usr/share/emacs/site-lisp/w3m/w3m-proc
/usr/local/share/emacs/site-lisp/w3m/w3m-lnum hides /usr/share/emacs/site-lisp/w3m/w3m-lnum
/usr/local/share/emacs/site-lisp/w3m/w3m-dtree hides /usr/share/emacs/site-lisp/w3m/w3m-dtree
/usr/local/share/emacs/site-lisp/w3m/w3m-mail hides /usr/share/emacs/site-lisp/w3m/w3m-mail
/usr/local/share/emacs/site-lisp/w3m/w3m-cookie hides /usr/share/emacs/site-lisp/w3m/w3m-cookie
/usr/local/share/emacs/site-lisp/w3m/w3m-search hides /usr/share/emacs/site-lisp/w3m/w3m-search
/usr/local/share/emacs/site-lisp/w3m/w3m-util hides /usr/share/emacs/site-lisp/w3m/w3m-util
/usr/local/share/emacs/site-lisp/w3m/w3m-symbol hides /usr/share/emacs/site-lisp/w3m/w3m-symbol
/usr/local/share/emacs/site-lisp/w3m/w3m-antenna hides /usr/share/emacs/site-lisp/w3m/w3m-antenna
/usr/local/share/emacs/site-lisp/w3m/w3m-tabmenu hides /usr/share/emacs/site-lisp/w3m/w3m-tabmenu
/usr/local/share/emacs/site-lisp/w3m/mew-w3m hides /usr/share/emacs/site-lisp/w3m/mew-w3m
/usr/local/share/emacs/site-lisp/w3m/w3m-ems hides /usr/share/emacs/site-lisp/w3m/w3m-ems
/usr/local/share/emacs/site-lisp/w3m/w3m-rss hides /usr/share/emacs/site-lisp/w3m/w3m-rss
/usr/local/share/emacs/site-lisp/w3m/mime-w3m hides /usr/share/emacs/site-lisp/w3m/mime-w3m
/usr/local/share/emacs/site-lisp/w3m/octet hides /usr/share/emacs/site-lisp/w3m/octet
/usr/local/share/emacs/site-lisp/w3m/w3m-fb hides /usr/share/emacs/site-lisp/w3m/w3m-fb
/usr/local/share/emacs/site-lisp/w3m/w3m-load hides /usr/share/emacs/site-lisp/w3m/w3m-load
/usr/share/emacs/site-lisp/elpa/apache-mode-2.1/apache-mode hides /usr/share/emacs/site-lisp/elpa-src/apache-mode-2.1/apache-mode
/usr/share/emacs/site-lisp/elpa/apache-mode-2.1/apache-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/apache-mode-2.1/apache-mode-pkg
/usr/share/emacs/site-lisp/elpa/apache-mode-2.1/apache-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/apache-mode-2.1/apache-mode-autoloads
/usr/share/emacs/site-lisp/elpa/async-1.9.3/dired-async hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.3/dired-async
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async-autoloads hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.3/async-autoloads
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.3/async
/usr/share/emacs/site-lisp/elpa/async-1.9.3/smtpmail-async hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.3/smtpmail-async
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async-bytecomp hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.3/async-bytecomp
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async-pkg hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.3/async-pkg
/usr/share/emacs/site-lisp/elpa/bar-cursor-2.0/bar-cursor-autoloads hides /usr/share/emacs/site-lisp/elpa-src/bar-cursor-2.0/bar-cursor-autoloads
/usr/share/emacs/site-lisp/elpa/bar-cursor-2.0/bar-cursor-pkg hides /usr/share/emacs/site-lisp/elpa-src/bar-cursor-2.0/bar-cursor-pkg
/usr/share/emacs/site-lisp/elpa/bar-cursor-2.0/bar-cursor hides /usr/share/emacs/site-lisp/elpa-src/bar-cursor-2.0/bar-cursor
/usr/share/emacs/site-lisp/elpa/bm-201808/bm hides /usr/share/emacs/site-lisp/elpa-src/bm-201808/bm
/usr/share/emacs/site-lisp/elpa/bm-201808/bm-pkg hides /usr/share/emacs/site-lisp/elpa-src/bm-201808/bm-pkg
/usr/share/emacs/site-lisp/elpa/bm-201808/bm-autoloads hides /usr/share/emacs/site-lisp/elpa-src/bm-201808/bm-autoloads
/usr/share/emacs/site-lisp/elpa/bm-201808/bm-sync hides /usr/share/emacs/site-lisp/elpa-src/bm-201808/bm-sync
/usr/share/emacs/site-lisp/elpa/boxquote-2.1/boxquote-autoloads hides /usr/share/emacs/site-lisp/elpa-src/boxquote-2.1/boxquote-autoloads
/usr/share/emacs/site-lisp/elpa/boxquote-2.1/boxquote hides /usr/share/emacs/site-lisp/elpa-src/boxquote-2.1/boxquote
/usr/share/emacs/site-lisp/elpa/boxquote-2.1/boxquote-pkg hides /usr/share/emacs/site-lisp/elpa-src/boxquote-2.1/boxquote-pkg
/usr/share/emacs/site-lisp/elpa/browse-kill-ring-2.0.0/browse-kill-ring-pkg hides /usr/share/emacs/site-lisp/elpa-src/browse-kill-ring-2.0.0/browse-kill-ring-pkg
/usr/share/emacs/site-lisp/elpa/browse-kill-ring-2.0.0/browse-kill-ring-autoloads hides /usr/share/emacs/site-lisp/elpa-src/browse-kill-ring-2.0.0/browse-kill-ring-autoloads
/usr/share/emacs/site-lisp/elpa/browse-kill-ring-2.0.0/browse-kill-ring hides /usr/share/emacs/site-lisp/elpa-src/browse-kill-ring-2.0.0/browse-kill-ring
/usr/share/emacs/site-lisp/elpa/csv-mode-1.7/csv-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/csv-mode-1.7/csv-mode-autoloads
/usr/share/emacs/site-lisp/elpa/csv-mode-1.7/csv-mode hides /usr/share/emacs/site-lisp/elpa-src/csv-mode-1.7/csv-mode
/usr/share/emacs/site-lisp/elpa/csv-mode-1.7/csv-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/csv-mode-1.7/csv-mode-pkg
/usr/share/emacs/site-lisp/elpa/dictionary-1.10/connection hides /usr/share/emacs/site-lisp/elpa-src/dictionary-1.10/connection
/usr/share/emacs/site-lisp/elpa/dictionary-1.10/dictionary-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dictionary-1.10/dictionary-autoloads
/usr/share/emacs/site-lisp/elpa/dictionary-1.10/dictionary-pkg hides /usr/share/emacs/site-lisp/elpa-src/dictionary-1.10/dictionary-pkg
/usr/share/emacs/site-lisp/elpa/dictionary-1.10/link hides /usr/share/emacs/site-lisp/elpa-src/dictionary-1.10/link
/usr/share/emacs/site-lisp/elpa/diminish-0.45/diminish hides /usr/share/emacs/site-lisp/elpa-src/diminish-0.45/diminish
/usr/share/emacs/site-lisp/elpa/diminish-0.45/diminish-pkg hides /usr/share/emacs/site-lisp/elpa-src/diminish-0.45/diminish-pkg
/usr/share/emacs/site-lisp/elpa/diminish-0.45/diminish-autoloads hides /usr/share/emacs/site-lisp/elpa-src/diminish-0.45/diminish-autoloads
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-android hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-android
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-pkg hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-pkg
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-javascript-npm hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-javascript-npm
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-tests hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-tests
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-extras hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-extras
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-ruby-on-rails hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-ruby-on-rails
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-php-composer hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-php-composer
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-autoloads hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-autoloads
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-arduino hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-arduino
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-javascript-grunt hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-javascript-grunt
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-clojure-leiningen hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-clojure-leiningen
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-perl hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-perl
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-python hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-python
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-ruby hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-ruby
/usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-javascript-bower hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-javascript-bower
/usr/share/emacs/site-lisp/elpa/folding-20170925.1538/folding hides /usr/share/emacs/site-lisp/elpa-src/folding-20170925.1538/folding
/usr/share/emacs/site-lisp/elpa/folding-20170925.1538/folding-autoloads hides /usr/share/emacs/site-lisp/elpa-src/folding-20170925.1538/folding-autoloads
/usr/share/emacs/site-lisp/elpa/folding-20170925.1538/folding-pkg hides /usr/share/emacs/site-lisp/elpa-src/folding-20170925.1538/folding-pkg
/usr/share/emacs/site-lisp/elpa/graphviz-dot-mode-0.3.10/graphviz-dot-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/graphviz-dot-mode-0.3.10/graphviz-dot-mode-autoloads
/usr/share/emacs/site-lisp/elpa/graphviz-dot-mode-0.3.10/graphviz-dot-mode hides /usr/share/emacs/site-lisp/elpa-src/graphviz-dot-mode-0.3.10/graphviz-dot-mode
/usr/share/emacs/site-lisp/elpa/graphviz-dot-mode-0.3.10/graphviz-dot-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/graphviz-dot-mode-0.3.10/graphviz-dot-mode-pkg
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-find hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-find
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-bookmark hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-bookmark
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-x-files hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-x-files
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-buffers hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-buffers
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-imenu hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-imenu
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-misc hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-misc
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-org hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-org
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-sys hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-sys
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-grep hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-grep
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-info hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-info
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-mode hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-mode
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-pkg hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-pkg
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-easymenu hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-easymenu
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-color hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-color
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-command hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-command
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-eval hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-eval
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-id-utils hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-id-utils
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-files hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-files
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-autoloads hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-autoloads
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-help hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-help
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-tags hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-tags
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-locate hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-locate
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-font hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-font
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-ring hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-ring
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-dabbrev hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-dabbrev
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-adaptive hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-adaptive
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-man hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-man
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-external hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-external
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-net hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-net
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-elisp-package hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-elisp-package
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-elisp hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-elisp
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-types hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-types
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-regexp hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-regexp
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-for-files hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-for-files
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-eshell hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-eshell
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-semantic hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-semantic
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-config hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-config
/usr/share/emacs/site-lisp/elpa/helm-3.0/helm-utils hides /usr/share/emacs/site-lisp/elpa-src/helm-3.0/helm-utils
/usr/share/emacs/site-lisp/elpa/helm-core-3.0/helm-core-pkg hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.0/helm-core-pkg
/usr/share/emacs/site-lisp/elpa/helm-core-3.0/helm hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.0/helm
/usr/share/emacs/site-lisp/elpa/helm-core-3.0/helm-core-autoloads hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.0/helm-core-autoloads
/usr/share/emacs/site-lisp/elpa/helm-core-3.0/helm-multi-match hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.0/helm-multi-match
/usr/share/emacs/site-lisp/elpa/helm-core-3.0/helm-source hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.0/helm-source
/usr/share/emacs/site-lisp/elpa/helm-core-3.0/helm-lib hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.0/helm-lib
/usr/share/emacs/site-lisp/elpa/htmlize-1.54/htmlize-pkg hides /usr/share/emacs/site-lisp/elpa-src/htmlize-1.54/htmlize-pkg
/usr/share/emacs/site-lisp/elpa/htmlize-1.54/htmlize-autoloads hides /usr/share/emacs/site-lisp/elpa-src/htmlize-1.54/htmlize-autoloads
/usr/share/emacs/site-lisp/elpa/htmlize-1.54/htmlize hides /usr/share/emacs/site-lisp/elpa-src/htmlize-1.54/htmlize
/usr/share/emacs/site-lisp/elpa/initsplit-1.8/initsplit-pkg hides /usr/share/emacs/site-lisp/elpa-src/initsplit-1.8/initsplit-pkg
/usr/share/emacs/site-lisp/elpa/initsplit-1.8/initsplit-autoloads hides /usr/share/emacs/site-lisp/elpa-src/initsplit-1.8/initsplit-autoloads
/usr/share/emacs/site-lisp/elpa/initsplit-1.8/initsplit hides /usr/share/emacs/site-lisp/elpa-src/initsplit-1.8/initsplit
/usr/share/emacs/site-lisp/elpa/initsplit-1.8/initsplit-test hides /usr/share/emacs/site-lisp/elpa-src/initsplit-1.8/initsplit-test
/usr/share/emacs/site-lisp/elpa/markdown-mode-2.3snapshot154/markdown-mode hides /usr/share/emacs/site-lisp/elpa-src/markdown-mode-2.3snapshot154/markdown-mode
/usr/share/emacs/site-lisp/elpa/markdown-mode-2.3snapshot154/markdown-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/markdown-mode-2.3snapshot154/markdown-mode-pkg
/usr/share/emacs/site-lisp/elpa/markdown-mode-2.3snapshot154/markdown-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/markdown-mode-2.3snapshot154/markdown-mode-autoloads
/usr/share/emacs/site-lisp/elpa/mutt-alias-1.4/mutt-alias hides /usr/share/emacs/site-lisp/elpa-src/mutt-alias-1.4/mutt-alias
/usr/share/emacs/site-lisp/elpa/mutt-alias-1.4/mutt-alias-autoloads hides /usr/share/emacs/site-lisp/elpa-src/mutt-alias-1.4/mutt-alias-autoloads
/usr/share/emacs/site-lisp/elpa/mutt-alias-1.4/mutt-alias-pkg hides /usr/share/emacs/site-lisp/elpa-src/mutt-alias-1.4/mutt-alias-pkg
/usr/share/emacs/site-lisp/elpa/muttrc-mode-1.2.1/muttrc-mode hides /usr/share/emacs/site-lisp/elpa-src/muttrc-mode-1.2.1/muttrc-mode
/usr/share/emacs/site-lisp/elpa/muttrc-mode-1.2.1/muttrc-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/muttrc-mode-1.2.1/muttrc-mode-autoloads
/usr/share/emacs/site-lisp/elpa/muttrc-mode-1.2.1/muttrc-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/muttrc-mode-1.2.1/muttrc-mode-pkg
/usr/share/emacs/site-lisp/elpa/pod-mode-1.3/pod-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/pod-mode-1.3/pod-mode-pkg
/usr/share/emacs/site-lisp/elpa/pod-mode-1.3/pod-mode hides /usr/share/emacs/site-lisp/elpa-src/pod-mode-1.3/pod-mode
/usr/share/emacs/site-lisp/elpa/pod-mode-1.3/pod-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/pod-mode-1.3/pod-mode-autoloads
/usr/share/emacs/site-lisp/elpa/popup-0.5.3/popup-autoloads hides /usr/share/emacs/site-lisp/elpa-src/popup-0.5.3/popup-autoloads
/usr/share/emacs/site-lisp/elpa/popup-0.5.3/popup hides /usr/share/emacs/site-lisp/elpa-src/popup-0.5.3/popup
/usr/share/emacs/site-lisp/elpa/popup-0.5.3/popup-pkg hides /usr/share/emacs/site-lisp/elpa-src/popup-0.5.3/popup-pkg
/usr/share/emacs/site-lisp/elpa/session-2.4.2/session-pkg hides /usr/share/emacs/site-lisp/elpa-src/session-2.4.2/session-pkg
/usr/share/emacs/site-lisp/elpa/session-2.4.2/session hides /usr/share/emacs/site-lisp/elpa-src/session-2.4.2/session
/usr/share/emacs/site-lisp/elpa/session-2.4.2/session-autoloads hides /usr/share/emacs/site-lisp/elpa-src/session-2.4.2/session-autoloads
/usr/share/emacs/site-lisp/elpa/tabbar-20160524/aquamacs-tools hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/aquamacs-tools
/usr/share/emacs/site-lisp/elpa/tabbar-20160524/one-buffer-one-frame hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/one-buffer-one-frame
/usr/share/emacs/site-lisp/elpa/tabbar-20160524/tabbar-pkg hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/tabbar-pkg
/usr/share/emacs/site-lisp/elpa/tabbar-20160524/aquamacs-tabbar hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/aquamacs-tabbar
/usr/share/emacs/site-lisp/elpa/tabbar-20160524/tabbar-autoloads hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/tabbar-autoloads
/usr/share/emacs/site-lisp/elpa/tabbar-20160524/tabbar hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/tabbar
/usr/share/emacs/site-lisp/elpa/tabbar-20160524/tabbar-window hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/tabbar-window
/usr/share/emacs/site-lisp/elpa/tabbar-20160524/aquamacs-compat hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/aquamacs-compat
/usr/share/emacs/site-lisp/erc/erc-menu hides /usr/share/emacs/26.1/lisp/erc/erc-menu
/usr/share/emacs/site-lisp/erc/erc-list hides /usr/share/emacs/26.1/lisp/erc/erc-list
/usr/share/emacs/site-lisp/erc/erc hides /usr/share/emacs/26.1/lisp/erc/erc
/usr/share/emacs/site-lisp/erc/erc-capab hides /usr/share/emacs/26.1/lisp/erc/erc-capab
/usr/share/emacs/site-lisp/erc/erc-backend hides /usr/share/emacs/26.1/lisp/erc/erc-backend
/usr/share/emacs/site-lisp/erc/erc-join hides /usr/share/emacs/26.1/lisp/erc/erc-join
/usr/share/emacs/site-lisp/erc/erc-dcc hides /usr/share/emacs/26.1/lisp/erc/erc-dcc
/usr/share/emacs/site-lisp/erc/erc-page hides /usr/share/emacs/26.1/lisp/erc/erc-page
/usr/share/emacs/site-lisp/erc/erc-ring hides /usr/share/emacs/26.1/lisp/erc/erc-ring
/usr/share/emacs/site-lisp/erc/erc-sound hides /usr/share/emacs/26.1/lisp/erc/erc-sound
/usr/share/emacs/site-lisp/erc/erc-stamp hides /usr/share/emacs/26.1/lisp/erc/erc-stamp
/usr/share/emacs/site-lisp/erc/erc-goodies hides /usr/share/emacs/26.1/lisp/erc/erc-goodies
/usr/share/emacs/site-lisp/erc/erc-truncate hides /usr/share/emacs/26.1/lisp/erc/erc-truncate
/usr/share/emacs/site-lisp/erc/erc-pcomplete hides /usr/share/emacs/26.1/lisp/erc/erc-pcomplete
/usr/share/emacs/site-lisp/erc/erc-spelling hides /usr/share/emacs/26.1/lisp/erc/erc-spelling
/usr/share/emacs/site-lisp/erc/erc-button hides /usr/share/emacs/26.1/lisp/erc/erc-button
/usr/share/emacs/site-lisp/erc/erc-ezbounce hides /usr/share/emacs/26.1/lisp/erc/erc-ezbounce
/usr/share/emacs/site-lisp/erc/erc-notify hides /usr/share/emacs/26.1/lisp/erc/erc-notify
/usr/share/emacs/site-lisp/erc/erc-xdcc hides /usr/share/emacs/26.1/lisp/erc/erc-xdcc
/usr/share/emacs/site-lisp/erc/erc-autoaway hides /usr/share/emacs/26.1/lisp/erc/erc-autoaway
/usr/share/emacs/site-lisp/erc/erc-speedbar hides /usr/share/emacs/26.1/lisp/erc/erc-speedbar
/usr/share/emacs/site-lisp/erc/erc-lang hides /usr/share/emacs/26.1/lisp/erc/erc-lang
/usr/share/emacs/site-lisp/erc/erc-track hides /usr/share/emacs/26.1/lisp/erc/erc-track
/usr/share/emacs/site-lisp/erc/erc-match hides /usr/share/emacs/26.1/lisp/erc/erc-match
/usr/share/emacs/site-lisp/erc/erc-ibuffer hides /usr/share/emacs/26.1/lisp/erc/erc-ibuffer
/usr/share/emacs/site-lisp/erc/erc-fill hides /usr/share/emacs/26.1/lisp/erc/erc-fill
/usr/share/emacs/site-lisp/erc/erc-replace hides /usr/share/emacs/26.1/lisp/erc/erc-replace
/usr/share/emacs/site-lisp/erc/erc-identd hides /usr/share/emacs/26.1/lisp/erc/erc-identd
/usr/share/emacs/site-lisp/erc/erc-services hides /usr/share/emacs/26.1/lisp/erc/erc-services
/usr/share/emacs/site-lisp/erc/erc-compat hides /usr/share/emacs/26.1/lisp/erc/erc-compat
/usr/share/emacs/site-lisp/erc/erc-netsplit hides /usr/share/emacs/26.1/lisp/erc/erc-netsplit
/usr/share/emacs/site-lisp/erc/erc-imenu hides /usr/share/emacs/26.1/lisp/erc/erc-imenu
/usr/share/emacs/site-lisp/erc/erc-log hides /usr/share/emacs/26.1/lisp/erc/erc-log
/usr/share/emacs/site-lisp/erc/erc-networks hides /usr/share/emacs/26.1/lisp/erc/erc-networks
/usr/share/emacs/site-lisp/erc/erc-hecomplete hides /usr/share/emacs/26.1/lisp/obsolete/erc-hecomplete

Features:
(shadow sort mail-extr emacsbug sendmail cl-extra help-mode tabify
whitespace misearch multi-isearch hippie-exp time-stamp log-edit message
rmc puny rfc822 mml mml-sec epa derived epg gnus-util rmail
rmail-loaddefs 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 smerge-mode vc vc-dispatcher vc-git
diff-mode easy-mmode map make-mode tango-dark-theme which-func imenu
paren cus-start cus-load flow-ctrl dictionary link connection cl appt
diary-lib diary-loaddefs cal-menu calendar cal-loaddefs tramp-cmds tramp
tramp-compat tramp-loaddefs trampver ucs-normalize shell pcomplete
comint ansi-color ring parse-time format-spec cc-styles cc-align
cc-engine cc-vars cc-defs advice recentf tree-widget wid-edit edmacro
kmacro wdired dired dired-loaddefs ffap thingatpt time saveplace
finder-inf package easymenu epg-config url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv
cl-loaddefs cl-lib w3m-load erc-auto time-date mule-util 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 elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame 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
help simple abbrev obarray minibuffer 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 dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 8 297730 104102)
 (symbols 24 29467 2)
 (miscs 20 97 1172)
 (strings 16 54368 17830)
 (string-bytes 1 1668318)
 (vectors 12 44756)
 (vector-slots 4 939077 113900)
 (floats 8 74 504)
 (intervals 28 1719 112)
 (buffers 536 16))