Subject: bug#22204: 25.1.50; Incorrect popup menu and tooltip placement when using DPI scaling

From: David Christiansen <[email-masked]>
Date: Fri, 18 Dec 2015 10:56:49 +0100

When I use Emacs, either the latest release or a current snapshot, on my
13 inch laptop with a 3200x1800 display running GNU/linux, tooltips and
popup menus appear below and to the right of their correct locations. I
have DPI scaling turned on in GNOME.

If I set the following environment variables before starting Emacs,
things behave as expected: GDK_SCALE=1 and GDK_DPI_SCALE=1

Recipe to reproduce, on a high-DPI machine running GNU/Linux:

First run emacs -Q.
Then, put the following in *scratch*:
(setq lexical-binding t)
(set-text-properties (point-min) (point-max)
                     (list 'keymap
                           (let ((map (make-sparse-keymap))
                                 (menu (make-sparse-keymap)))
                             (define-key menu [hey]
                               '(menu-item "hi"
                                           (lambda ()
                                             (interactive))))
                             (define-key map (kbd "<mouse-3>")
                               (lambda ()
                                 (interactive)
                                 (x-popup-menu t menu)))
                             map)
                           'help-echo "Tooltip!"))

Do C-M-x on each of the two forms in order. Now, putting the mouse over
the text causes a tooltip to appear far below and to the right of the
the pointer. Additionally, tooltips from the default toolbar appear far
from where they should. Right-clicking causes a menu to appear, once
again greatly below and to the right of the pointer.

Now set GDK_SCALE=1 and GDK_DPI_SCALE=1, and do the same thing. Now the
tooltips and menus appear as expected. This work-around causes other
problems, however, because now these incorrect settings are passed to
processes launched by Emacs. For example, doing GUI development from
Emacs becomes much more difficult, as the programs that I'm working on
look very wrong.

I'm the primary maintainer of idris-mode, which provides lots of
right-click menus and tooltips, so I encounter this issue on a regular
basis.

Thanks so much!

In GNU Emacs 25.1.50.2 (x86_64-pc-linux-gnu, GTK+ Version 3.16.7)
 of 2015-12-13
Windowing system distributor 'The X.Org Foundation', version 11.0.11702000
System Description:	Ubuntu 15.10

Configured using:
 'configure --build=x86_64-linux-gnu --prefix=/usr
 '--includedir=${prefix}/include' '--mandir=${prefix}/share/man'
 '--infodir=${prefix}/share/info' --sysconfdir=/etc --localstatedir=/var
 --disable-silent-rules '--libdir=${prefix}/lib/x86_64-linux-gnu'
 '--libexecdir=${prefix}/lib/x86_64-linux-gnu' --disable-maintainer-mode
 --disable-dependency-tracking --prefix=/usr --sharedstatedir=/var/lib
 --program-suffix=-snapshot --with-x=yes --with-x-toolkit=gtk3
 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat
 -Werror=format-security' CPPFLAGS=-D_FORTIFY_SOURCE=2
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

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

Important settings:
  value of $LC_MONETARY: en_GB.UTF-8
  value of $LC_NUMERIC: en_GB.UTF-8
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Idris (Loaded)

Minor modes in effect:
  bug-reference-mode: t
  type-break-query-mode: t
  type-break-mode-line-message-mode: t
  type-break-mode: t
  idris-simple-indent-mode: t
  diff-auto-refine-mode: t
  global-company-mode: t
  company-mode: t
  helm-mode: t
  shell-dirtrack-mode: t
  async-bytecomp-package-mode: t
  save-place-mode: t
  guide-key-mode: t
  which-function-mode: t
  override-global-mode: t
  recentf-mode: t
  show-paren-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-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:
/home/davidc/tmp/A.ibc deleted
No holes found!
Invalid face attribute :hack G90
Invalid face attribute :hack G91
Invalid face attribute :hack G74
Invalid face attribute :hack G73
Invalid face attribute :hack G72
Invalid face attribute :hack G39
Invalid face attribute :hack G35
Invalid face attribute :hack G36
Quit

Load-path shadows:
~/Code/Haskell/ghc-mod/elisp/ghc-comp hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-comp
~/Code/Haskell/ghc-mod/elisp/ghc-pkg hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-pkg
~/Code/Haskell/ghc-mod/elisp/ghc-doc hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-doc
~/Code/Haskell/ghc-mod/elisp/ghc-command hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-command
~/Code/Haskell/ghc-mod/elisp/ghc-func hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-func
~/Code/Haskell/ghc-mod/elisp/ghc hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc
~/Code/Haskell/ghc-mod/elisp/ghc-process hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-process
~/Code/Haskell/ghc-mod/elisp/ghc-check hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-check
~/Code/Haskell/ghc-mod/elisp/ghc-indent hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-indent
~/Code/Haskell/ghc-mod/elisp/ghc-info hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-info
~/Code/Haskell/ghc-mod/elisp/ghc-ins-mod hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-ins-mod
~/Code/Haskell/ghc-mod/elisp/ghc-rewrite hides /home/davidc/.emacs.d/elpa/ghc-20151211.1643/ghc-rewrite
/home/davidc/.emacs.d/elpa/helm-20151212.1358/helm-multi-match hides /home/davidc/.emacs.d/elpa/helm-core-20151213.17/helm-multi-match
~/.emacs.d/structured-haskell-mode/elisp/shm-reformat hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-reformat
~/.emacs.d/structured-haskell-mode/elisp/shm-indent hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-indent
~/.emacs.d/structured-haskell-mode/elisp/shm-manipulation hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-manipulation
~/.emacs.d/structured-haskell-mode/elisp/shm-yank-kill hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-yank-kill
~/.emacs.d/structured-haskell-mode/elisp/shm-macros hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-macros
~/.emacs.d/structured-haskell-mode/elisp/shm-debug hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-debug
~/.emacs.d/structured-haskell-mode/elisp/shm-node hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-node
~/.emacs.d/structured-haskell-mode/elisp/shm-ast-documentation hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-ast-documentation
~/.emacs.d/structured-haskell-mode/elisp/shm-type hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-type
~/.emacs.d/structured-haskell-mode/elisp/shm hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm
~/.emacs.d/structured-haskell-mode/elisp/shm-tests hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-tests
~/.emacs.d/structured-haskell-mode/elisp/shm-evaporate hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-evaporate
~/.emacs.d/structured-haskell-mode/elisp/shm-slot hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-slot
~/.emacs.d/structured-haskell-mode/elisp/shm-overlays hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-overlays
~/.emacs.d/structured-haskell-mode/elisp/shm-ast hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-ast
~/.emacs.d/structured-haskell-mode/elisp/shm-case-split hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-case-split
~/.emacs.d/structured-haskell-mode/elisp/shm-edit-string hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-edit-string
~/.emacs.d/structured-haskell-mode/elisp/shm-insert-del hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-insert-del
~/.emacs.d/structured-haskell-mode/elisp/shm-fold hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-fold
~/.emacs.d/structured-haskell-mode/elisp/shm-simple-indent hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-simple-indent
~/.emacs.d/structured-haskell-mode/elisp/shm-customizations hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-customizations
~/.emacs.d/structured-haskell-mode/elisp/shm-test hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-test
~/.emacs.d/structured-haskell-mode/elisp/shm-nav hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-nav
~/.emacs.d/structured-haskell-mode/elisp/shm-layout hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-layout
~/.emacs.d/structured-haskell-mode/elisp/shm-constraint hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-constraint
~/.emacs.d/structured-haskell-mode/elisp/shm-in hides /home/davidc/.emacs.d/elpa/shm-20151126.2333/shm-in
/usr/share/emacs/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/25.1.50/lisp/textmodes/ispell
/usr/share/emacs/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/25.1.50/lisp/textmodes/flyspell
/home/davidc/.emacs.d/elpa/org-20151214/ox-latex hides /usr/share/emacs/25.1.50/lisp/org/ox-latex
/home/davidc/.emacs.d/elpa/org-20151214/org hides /usr/share/emacs/25.1.50/lisp/org/org
/home/davidc/.emacs.d/elpa/org-20151214/ox-ascii hides /usr/share/emacs/25.1.50/lisp/org/ox-ascii
/home/davidc/.emacs.d/elpa/org-20151214/ox-texinfo hides /usr/share/emacs/25.1.50/lisp/org/ox-texinfo
/home/davidc/.emacs.d/elpa/org-20151214/ob-asymptote hides /usr/share/emacs/25.1.50/lisp/org/ob-asymptote
/home/davidc/.emacs.d/elpa/org-20151214/org-table hides /usr/share/emacs/25.1.50/lisp/org/org-table
/home/davidc/.emacs.d/elpa/org-20151214/ob-latex hides /usr/share/emacs/25.1.50/lisp/org/ob-latex
/home/davidc/.emacs.d/elpa/org-20151214/org-plot hides /usr/share/emacs/25.1.50/lisp/org/org-plot
/home/davidc/.emacs.d/elpa/org-20151214/org-datetree hides /usr/share/emacs/25.1.50/lisp/org/org-datetree
/home/davidc/.emacs.d/elpa/org-20151214/org-gnus hides /usr/share/emacs/25.1.50/lisp/org/org-gnus
/home/davidc/.emacs.d/elpa/org-20151214/ob-sass hides /usr/share/emacs/25.1.50/lisp/org/ob-sass
/home/davidc/.emacs.d/elpa/org-20151214/org-loaddefs hides /usr/share/emacs/25.1.50/lisp/org/org-loaddefs
/home/davidc/.emacs.d/elpa/org-20151214/org-capture hides /usr/share/emacs/25.1.50/lisp/org/org-capture
/home/davidc/.emacs.d/elpa/org-20151214/ob-maxima hides /usr/share/emacs/25.1.50/lisp/org/ob-maxima
/home/davidc/.emacs.d/elpa/org-20151214/org-pcomplete hides /usr/share/emacs/25.1.50/lisp/org/org-pcomplete
/home/davidc/.emacs.d/elpa/org-20151214/org-agenda hides /usr/share/emacs/25.1.50/lisp/org/org-agenda
/home/davidc/.emacs.d/elpa/org-20151214/ob-org hides /usr/share/emacs/25.1.50/lisp/org/ob-org
/home/davidc/.emacs.d/elpa/org-20151214/ob-C hides /usr/share/emacs/25.1.50/lisp/org/ob-C
/home/davidc/.emacs.d/elpa/org-20151214/org-timer hides /usr/share/emacs/25.1.50/lisp/org/org-timer
/home/davidc/.emacs.d/elpa/org-20151214/org-eshell hides /usr/share/emacs/25.1.50/lisp/org/org-eshell
/home/davidc/.emacs.d/elpa/org-20151214/ox hides /usr/share/emacs/25.1.50/lisp/org/ox
/home/davidc/.emacs.d/elpa/org-20151214/ox-publish hides /usr/share/emacs/25.1.50/lisp/org/ox-publish
/home/davidc/.emacs.d/elpa/org-20151214/ob-perl hides /usr/share/emacs/25.1.50/lisp/org/ob-perl
/home/davidc/.emacs.d/elpa/org-20151214/ob-exp hides /usr/share/emacs/25.1.50/lisp/org/ob-exp
/home/davidc/.emacs.d/elpa/org-20151214/org-feed hides /usr/share/emacs/25.1.50/lisp/org/org-feed
/home/davidc/.emacs.d/elpa/org-20151214/org-mouse hides /usr/share/emacs/25.1.50/lisp/org/org-mouse
/home/davidc/.emacs.d/elpa/org-20151214/ob-emacs-lisp hides /usr/share/emacs/25.1.50/lisp/org/ob-emacs-lisp
/home/davidc/.emacs.d/elpa/org-20151214/ob-matlab hides /usr/share/emacs/25.1.50/lisp/org/ob-matlab
/home/davidc/.emacs.d/elpa/org-20151214/org-ctags hides /usr/share/emacs/25.1.50/lisp/org/org-ctags
/home/davidc/.emacs.d/elpa/org-20151214/org-archive hides /usr/share/emacs/25.1.50/lisp/org/org-archive
/home/davidc/.emacs.d/elpa/org-20151214/org-docview hides /usr/share/emacs/25.1.50/lisp/org/org-docview
/home/davidc/.emacs.d/elpa/org-20151214/org-inlinetask hides /usr/share/emacs/25.1.50/lisp/org/org-inlinetask
/home/davidc/.emacs.d/elpa/org-20151214/org-protocol hides /usr/share/emacs/25.1.50/lisp/org/org-protocol
/home/davidc/.emacs.d/elpa/org-20151214/ox-beamer hides /usr/share/emacs/25.1.50/lisp/org/ox-beamer
/home/davidc/.emacs.d/elpa/org-20151214/ox-icalendar hides /usr/share/emacs/25.1.50/lisp/org/ox-icalendar
/home/davidc/.emacs.d/elpa/org-20151214/ob-picolisp hides /usr/share/emacs/25.1.50/lisp/org/ob-picolisp
/home/davidc/.emacs.d/elpa/org-20151214/org-attach hides /usr/share/emacs/25.1.50/lisp/org/org-attach
/home/davidc/.emacs.d/elpa/org-20151214/ob-lob hides /usr/share/emacs/25.1.50/lisp/org/ob-lob
/home/davidc/.emacs.d/elpa/org-20151214/ob-R hides /usr/share/emacs/25.1.50/lisp/org/ob-R
/home/davidc/.emacs.d/elpa/org-20151214/ob-java hides /usr/share/emacs/25.1.50/lisp/org/ob-java
/home/davidc/.emacs.d/elpa/org-20151214/ob-ledger hides /usr/share/emacs/25.1.50/lisp/org/ob-ledger
/home/davidc/.emacs.d/elpa/org-20151214/org-entities hides /usr/share/emacs/25.1.50/lisp/org/org-entities
/home/davidc/.emacs.d/elpa/org-20151214/ob-comint hides /usr/share/emacs/25.1.50/lisp/org/ob-comint
/home/davidc/.emacs.d/elpa/org-20151214/ob-dot hides /usr/share/emacs/25.1.50/lisp/org/ob-dot
/home/davidc/.emacs.d/elpa/org-20151214/org-bibtex hides /usr/share/emacs/25.1.50/lisp/org/org-bibtex
/home/davidc/.emacs.d/elpa/org-20151214/ob-eval hides /usr/share/emacs/25.1.50/lisp/org/ob-eval
/home/davidc/.emacs.d/elpa/org-20151214/org-clock hides /usr/share/emacs/25.1.50/lisp/org/org-clock
/home/davidc/.emacs.d/elpa/org-20151214/ob-sqlite hides /usr/share/emacs/25.1.50/lisp/org/ob-sqlite
/home/davidc/.emacs.d/elpa/org-20151214/ob-haskell hides /usr/share/emacs/25.1.50/lisp/org/ob-haskell
/home/davidc/.emacs.d/elpa/org-20151214/ob-js hides /usr/share/emacs/25.1.50/lisp/org/ob-js
/home/davidc/.emacs.d/elpa/org-20151214/ob-ruby hides /usr/share/emacs/25.1.50/lisp/org/ob-ruby
/home/davidc/.emacs.d/elpa/org-20151214/ob-lisp hides /usr/share/emacs/25.1.50/lisp/org/ob-lisp
/home/davidc/.emacs.d/elpa/org-20151214/org-mobile hides /usr/share/emacs/25.1.50/lisp/org/org-mobile
/home/davidc/.emacs.d/elpa/org-20151214/ob-table hides /usr/share/emacs/25.1.50/lisp/org/ob-table
/home/davidc/.emacs.d/elpa/org-20151214/org-info hides /usr/share/emacs/25.1.50/lisp/org/org-info
/home/davidc/.emacs.d/elpa/org-20151214/ob-tangle hides /usr/share/emacs/25.1.50/lisp/org/ob-tangle
/home/davidc/.emacs.d/elpa/org-20151214/org-src hides /usr/share/emacs/25.1.50/lisp/org/org-src
/home/davidc/.emacs.d/elpa/org-20151214/ob-ocaml hides /usr/share/emacs/25.1.50/lisp/org/ob-ocaml
/home/davidc/.emacs.d/elpa/org-20151214/ob hides /usr/share/emacs/25.1.50/lisp/org/ob
/home/davidc/.emacs.d/elpa/org-20151214/ob-css hides /usr/share/emacs/25.1.50/lisp/org/ob-css
/home/davidc/.emacs.d/elpa/org-20151214/org-habit hides /usr/share/emacs/25.1.50/lisp/org/org-habit
/home/davidc/.emacs.d/elpa/org-20151214/ob-plantuml hides /usr/share/emacs/25.1.50/lisp/org/ob-plantuml
/home/davidc/.emacs.d/elpa/org-20151214/org-version hides /usr/share/emacs/25.1.50/lisp/org/org-version
/home/davidc/.emacs.d/elpa/org-20151214/ob-octave hides /usr/share/emacs/25.1.50/lisp/org/ob-octave
/home/davidc/.emacs.d/elpa/org-20151214/org-w3m hides /usr/share/emacs/25.1.50/lisp/org/org-w3m
/home/davidc/.emacs.d/elpa/org-20151214/ox-md hides /usr/share/emacs/25.1.50/lisp/org/ox-md
/home/davidc/.emacs.d/elpa/org-20151214/ob-scala hides /usr/share/emacs/25.1.50/lisp/org/ob-scala
/home/davidc/.emacs.d/elpa/org-20151214/org-rmail hides /usr/share/emacs/25.1.50/lisp/org/org-rmail
/home/davidc/.emacs.d/elpa/org-20151214/org-macs hides /usr/share/emacs/25.1.50/lisp/org/org-macs
/home/davidc/.emacs.d/elpa/org-20151214/org-footnote hides /usr/share/emacs/25.1.50/lisp/org/org-footnote
/home/davidc/.emacs.d/elpa/org-20151214/ox-man hides /usr/share/emacs/25.1.50/lisp/org/ox-man
/home/davidc/.emacs.d/elpa/org-20151214/org-irc hides /usr/share/emacs/25.1.50/lisp/org/org-irc
/home/davidc/.emacs.d/elpa/org-20151214/org-indent hides /usr/share/emacs/25.1.50/lisp/org/org-indent
/home/davidc/.emacs.d/elpa/org-20151214/ob-ref hides /usr/share/emacs/25.1.50/lisp/org/ob-ref
/home/davidc/.emacs.d/elpa/org-20151214/ob-gnuplot hides /usr/share/emacs/25.1.50/lisp/org/ob-gnuplot
/home/davidc/.emacs.d/elpa/org-20151214/ob-lilypond hides /usr/share/emacs/25.1.50/lisp/org/ob-lilypond
/home/davidc/.emacs.d/elpa/org-20151214/ox-org hides /usr/share/emacs/25.1.50/lisp/org/ox-org
/home/davidc/.emacs.d/elpa/org-20151214/ox-odt hides /usr/share/emacs/25.1.50/lisp/org/ox-odt
/home/davidc/.emacs.d/elpa/org-20151214/ob-screen hides /usr/share/emacs/25.1.50/lisp/org/ob-screen
/home/davidc/.emacs.d/elpa/org-20151214/org-element hides /usr/share/emacs/25.1.50/lisp/org/org-element
/home/davidc/.emacs.d/elpa/org-20151214/ob-sql hides /usr/share/emacs/25.1.50/lisp/org/ob-sql
/home/davidc/.emacs.d/elpa/org-20151214/ob-makefile hides /usr/share/emacs/25.1.50/lisp/org/ob-makefile
/home/davidc/.emacs.d/elpa/org-20151214/org-macro hides /usr/share/emacs/25.1.50/lisp/org/org-macro
/home/davidc/.emacs.d/elpa/org-20151214/org-install hides /usr/share/emacs/25.1.50/lisp/org/org-install
/home/davidc/.emacs.d/elpa/org-20151214/ob-fortran hides /usr/share/emacs/25.1.50/lisp/org/ob-fortran
/home/davidc/.emacs.d/elpa/org-20151214/org-colview hides /usr/share/emacs/25.1.50/lisp/org/org-colview
/home/davidc/.emacs.d/elpa/org-20151214/ob-io hides /usr/share/emacs/25.1.50/lisp/org/ob-io
/home/davidc/.emacs.d/elpa/org-20151214/org-id hides /usr/share/emacs/25.1.50/lisp/org/org-id
/home/davidc/.emacs.d/elpa/org-20151214/ob-awk hides /usr/share/emacs/25.1.50/lisp/org/ob-awk
/home/davidc/.emacs.d/elpa/org-20151214/ob-scheme hides /usr/share/emacs/25.1.50/lisp/org/ob-scheme
/home/davidc/.emacs.d/elpa/org-20151214/org-compat hides /usr/share/emacs/25.1.50/lisp/org/org-compat
/home/davidc/.emacs.d/elpa/org-20151214/ox-html hides /usr/share/emacs/25.1.50/lisp/org/ox-html
/home/davidc/.emacs.d/elpa/org-20151214/ob-core hides /usr/share/emacs/25.1.50/lisp/org/ob-core
/home/davidc/.emacs.d/elpa/org-20151214/ob-keys hides /usr/share/emacs/25.1.50/lisp/org/ob-keys
/home/davidc/.emacs.d/elpa/org-20151214/org-list hides /usr/share/emacs/25.1.50/lisp/org/org-list
/home/davidc/.emacs.d/elpa/org-20151214/ob-clojure hides /usr/share/emacs/25.1.50/lisp/org/ob-clojure
/home/davidc/.emacs.d/elpa/org-20151214/ob-mscgen hides /usr/share/emacs/25.1.50/lisp/org/ob-mscgen
/home/davidc/.emacs.d/elpa/org-20151214/org-bbdb hides /usr/share/emacs/25.1.50/lisp/org/org-bbdb
/home/davidc/.emacs.d/elpa/org-20151214/ob-ditaa hides /usr/share/emacs/25.1.50/lisp/org/ob-ditaa
/home/davidc/.emacs.d/elpa/org-20151214/ob-calc hides /usr/share/emacs/25.1.50/lisp/org/ob-calc
/home/davidc/.emacs.d/elpa/org-20151214/org-mhe hides /usr/share/emacs/25.1.50/lisp/org/org-mhe
/home/davidc/.emacs.d/elpa/org-20151214/org-crypt hides /usr/share/emacs/25.1.50/lisp/org/org-crypt
/home/davidc/.emacs.d/elpa/org-20151214/ob-python hides /usr/share/emacs/25.1.50/lisp/org/ob-python
/home/davidc/.emacs.d/elpa/org-20151214/org-faces hides /usr/share/emacs/25.1.50/lisp/org/org-faces
/home/davidc/.emacs.d/elpa/org-20151214/ob-shen hides /usr/share/emacs/25.1.50/lisp/org/ob-shen
/usr/share/emacs/site-lisp/latex-cjk-thai/thai-word hides /usr/share/emacs/25.1.50/lisp/language/thai-word
/home/davidc/.emacs.d/elpa/racket-mode-20151207.1952/.dir-locals hides /usr/share/emacs/25.1.50/lisp/gnus/.dir-locals
/home/davidc/.emacs.d/elpa/seq-20151121.1017/seq hides /usr/share/emacs/25.1.50/lisp/emacs-lisp/seq

Features:
(shadow sort mail-extr emacsbug helm-command network-stream nsm starttls
add-log image-file winner bug-reference diary-lib diary-loaddefs cal-iso
org-rmail org-mhe org-irc org-info org-gnus org-docview org-bibtex
org-bbdb org-element avl-tree 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 cal-menu
calendar cal-loaddefs vc-git type-break proof-site proof-autoloads
pg-vars dockerfile-mode jonprl-mode jonprl-compat gist gh-gist gh-oauth
gh-api logito gh-cache pcache gh-auth gh-common gh-url url-http url-auth
url-gw gh-profile timezone eieio-base coffee-mode paredit-menu paredit
elisp-slime-nav aggressive-indent flycheck-package lisp-mnt flycheck
yaml-mode pandoc-mode pandoc-mode-utils hydra lv markdown-mode
fsharp-mode fsharp-mode-indent-smie inf-fsharp-mode fsharp-doc
fsharp-mode-completion fsharp-mode-util auto-complete popup
zombie-trellys-mode haskell-mode haskell-indentation haskell-string
haskell-sort-imports haskell-lexeme haskell-align-imports haskell-compat
haskell-complete-module flymake dabbrev haskell-customize cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
c-eldoc cc-defs racket-mode racket-bug-report racket-collection tq
racket-profile racket-imenu racket-edit hideshow racket-complete
racket-repl racket-common racket-indent racket-font-lock racket-util
racket-keywords-and-builtins racket-custom sh-script executable
cryptol-batch-mode literate-cryptol-mode cryptol-mode generic-x caml
tuareg_indent tuareg caml-help caml-types caml-emacs agda2 helm-idris
idris-mode idris-commands idris-hole-list idris-ipkg-mode
idris-tree-info idris-warnings-tree idris-info idris-repl
idris-highlight-input idris-prover inferior-idris idris-warnings
idris-log idris-events idris-simple-indent idris-syntax
idris-common-utils idris-settings idris-keys idris-core idris-compat
prop-menu helm-ghc ghc-check ghc-process ghc-func ghc-imported-from
json-reformat json map circe lui-irc-colors irc make-tls-process tls lcs
lui-format lui tracking shorten flyspell ispell circe-compat frame-cmds
frame-fns avoid company-coq company-coq-tg company-coq-abbrev diff-mode
smie yasnippet noutline outline company-math math-symbol-lists shr dom
subr-x company-files company-oddmuse company-keywords company-etags
etags xref project company-gtags company-dabbrev-code company-dabbrev
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-css company-nxml company-bbdb
company helm-pages helm-eshell helm-elisp helm-eval edebug helm-man
lacarte helm-semantic helm-imenu semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local find-func
cedet helm-mode helm-files image-dired tramp tramp-compat tramp-loaddefs
trampver shell pcomplete dired-x dired-aux ffap 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
url url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap helm-utils compile helm-help helm-types
helm-config helm-easymenu async-bytecomp async helm helm-source
eieio-compat helm-multi-match helm-lib multiple-cursors
mc-hide-unmatched-lines-mode mc-separate-operations
rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cursors
mc-edit-lines multiple-cursors-core rect gscholar-bibtex bibtex
saveplace mu4e-alert time alert log4e rx notifications dbus xml gntp
mu4e mu4e-speedbar speedbar sb-image ezimage dframe mu4e-main mu4e-view
thingatpt epa derived epg browse-url comint ansi-color ring mu4e-headers
mu4e-compose mu4e-draft mu4e-actions ido seq rfc2368 smtpmail sendmail
mu4e-mark mu4e-message html2text mu4e-proc mu4e-utils doc-view jka-compr
image-mode mu4e-lists mu4e-vars message dired format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev mail-utils gmm-utils mailheader hl-line mu4e-meta
guide-key s ucs-normalize popwin dash which-func imenu smart-mode-line
rich-minority idris-leuven-theme-theme leuven-theme use-package diminish
bind-key easy-mmode finder-inf tex-site advice cl info package
epg-config url-handlers url-parse auth-source cl-seq eieio byte-opt
bytecomp byte-compile cl-extra cconv eieio-core cl-macs gv gnus-util
mm-util help-fns help-mode mail-prsvr password-cache url-vars recentf
tree-widget wid-edit easymenu paren windmove edmacro kmacro cl-loaddefs
pcase cl-lib time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
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 charscript
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
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 670025 40935)
 (symbols 48 60936 6)
 (miscs 40 1337 764)
 (strings 32 170438 19933)
 (string-bytes 1 5006475)
 (vectors 16 91240)
 (vector-slots 8 2117034 208824)
 (floats 8 961 414)
 (intervals 56 3641 213)
 (buffers 976 30)
 (heap 1024 73557 4248))