Subject: bug#13193: 24.3.50; EasyPG with Gnupg set up to use card reader; handling card not inserted

From: [email-masked] (Adam Sjøgren)
Date: Sat, 15 Dec 2012 14:45:01 +0100

I have Gnupg set up to use a card reader which holds my private key.

When I try to sign a region with EasyPG (starting "emacs -Q" and using
M-x epa-sign-region), and haven't inserted my card in the reader, I get
an error:

  Signing...done
  epa-sign-region: Wrong type argument: stringp, nil

And the region is cut (i.e. disappears).

If I M-x toggle-debug-on-error, the backtrace is this:

  Debugger entered--Lisp error: (wrong-type-argument stringp nil)
    epa--decode-coding-string(nil utf-8-unix)
    epa-sign-region(192 197 nil clear)
    call-interactively(epa-sign-region record nil)
    command-execute(epa-sign-region record)
    execute-extended-command(nil "epa-sign-region")
    call-interactively(execute-extended-command nil nil)

If I enable epg-debug, I get this in the  *epg-debug* buffer:

  /usr/bin/gpg --no-tty --status-fd 1 --yes --use-agent --enable-progress-filter --command-fd 0 --output /tmp/epg-output10115pYs --clearsign
  [GNUPG:] PROGRESS stdin ? 0 0
  [GNUPG:] BEGIN_SIGNING
  [GNUPG:] PROGRESS stdin ? 5 0
  [GNUPG:] CARDCTRL 4
  gpg: selecting openpgp failed: unknown command
  gpg: signing failed: general error
  gpg: [stdin]: clearsign failed: general error

I was expecting a message telling me that the card was unavailable, that
I should insert it, or something similar - and that the region was still
presence when an error occurred.

If I insert the card and try M-x epa-sign-region again, a pinentry
window pops up, and the region is signed as expected. The output in the
*epg-debug* buffer is then:

  /usr/bin/gpg --no-tty --status-fd 1 --yes --use-agent --enable-progress-filter --command-fd 0 --output /tmp/epg-output101922Sm --clearsign
  [GNUPG:] PROGRESS stdin ? 0 0
  [GNUPG:] BEGIN_SIGNING
  [GNUPG:] PROGRESS stdin ? 5 0
  [GNUPG:] CARDCTRL 3 
  [GNUPG:] SIG_CREATED C 1 2 01 1355578571 C40B1B7D09A9326AFD181FB7B728D4441E65DD19

Perhaps the 'CARDCTRL 4' can be used to distinguish the cases?

I found this doing a quick search on GnuPG and CARDCTRL:

   "CARDCTRL <what> [<serialno>]
        This is used to control smartcard operations.
        Defined values for WHAT are:
           1 = Request insertion of a card.  Serialnumber may be given
               to request a specific card.
           2 = Request removal of a card.
           3 = Card with serialnumber detected
           4 = No card available.
           5 = No card reader available"

       - http://lists.gnupg.org/pipermail/gnupg-devel/2005-June/022091.html

Let me know if I can assist by testing or trying to add some code
(please point me towards the right function, in that case).

I am using gpg (GnuPG) 1.4.12.

Thanks!

In GNU Emacs 24.3.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.4.2)
 of 2012-12-15 on topper, modified by Debian
 (emacs-snapshot package, version 2:20121209-1koldfront1)
Windowing system distributor `The X.Org Foundation', version 11.0.11204000
System Description:	Debian GNU/Linux 7.0 (wheezy)

Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--host' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.3.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3.50/site-lisp:/usr/share/emacs/site-lisp'
 '--without-compress-info' '--with-crt-dir=/usr/lib/x86_64-linux-gnu/'
 '--with-x=yes' '--with-x-toolkit=gtk3' '--with-imagemagick=yes'
 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu'
 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g
 -Wl,--as-needed -znocombreloc' 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LC_COLLATE: C
  value of $LC_CTYPE: da_DK.UTF-8
  value of $LC_MESSAGES: en_GB.UTF-8
  value of $LC_NUMERIC: en_GB.UTF-8
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_DK.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Load-path shadows:
/usr/share/emacs-snapshot/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/share/emacs-snapshot/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
/usr/share/emacs-snapshot/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/share/emacs-snapshot/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/usr/share/emacs-snapshot/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/share/emacs-snapshot/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/share/emacs-snapshot/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/share/emacs-snapshot/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/share/emacs-snapshot/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/share/emacs-snapshot/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/share/emacs-snapshot/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/share/emacs-snapshot/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/share/emacs-snapshot/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style
/usr/share/emacs-snapshot/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/share/emacs-snapshot/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/usr/share/emacs-snapshot/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/share/emacs-snapshot/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs-snapshot/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/share/emacs-snapshot/site-lisp/auctex/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex
/usr/share/emacs-snapshot/site-lisp/auctex/preview hides /usr/share/emacs/site-lisp/auctex/preview
/usr/share/emacs-snapshot/site-lisp/auctex/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs
/usr/share/emacs/24.3.50/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
~/elisp/gnus/lisp/password-cache hides /usr/share/emacs/24.3.50/lisp/password-cache
~/elisp/gnus/lisp/hex-util hides /usr/share/emacs/24.3.50/lisp/hex-util
~/elisp/gnus/lisp/color hides /usr/share/emacs/24.3.50/lisp/color
~/elisp/gnus/lisp/format-spec hides /usr/share/emacs/24.3.50/lisp/format-spec
~/elisp/gnus/lisp/md4 hides /usr/share/emacs/24.3.50/lisp/md4
~/elisp/gnus/lisp/dns-mode hides /usr/share/emacs/24.3.50/lisp/textmodes/dns-mode
~/elisp/gnus/lisp/sasl-digest hides /usr/share/emacs/24.3.50/lisp/net/sasl-digest
~/elisp/gnus/lisp/ntlm hides /usr/share/emacs/24.3.50/lisp/net/ntlm
~/elisp/gnus/lisp/sasl-cram hides /usr/share/emacs/24.3.50/lisp/net/sasl-cram
~/elisp/gnus/lisp/hmac-md5 hides /usr/share/emacs/24.3.50/lisp/net/hmac-md5
~/elisp/gnus/lisp/hmac-def hides /usr/share/emacs/24.3.50/lisp/net/hmac-def
~/elisp/gnus/lisp/netrc hides /usr/share/emacs/24.3.50/lisp/net/netrc
~/elisp/gnus/lisp/sasl hides /usr/share/emacs/24.3.50/lisp/net/sasl
~/elisp/gnus/lisp/sasl-ntlm hides /usr/share/emacs/24.3.50/lisp/net/sasl-ntlm
~/elisp/gnus/lisp/dns hides /usr/share/emacs/24.3.50/lisp/net/dns
~/elisp/gnus/lisp/dig hides /usr/share/emacs/24.3.50/lisp/net/dig
~/elisp/gnus/lisp/tls hides /usr/share/emacs/24.3.50/lisp/net/tls
~/elisp/gnus/lisp/hashcash hides /usr/share/emacs/24.3.50/lisp/mail/hashcash
~/elisp/gnus/lisp/binhex hides /usr/share/emacs/24.3.50/lisp/mail/binhex
~/elisp/gnus/lisp/uudecode hides /usr/share/emacs/24.3.50/lisp/mail/uudecode
~/elisp/gnus/lisp/.dir-locals hides /usr/share/emacs/24.3.50/lisp/gnus/.dir-locals
~/elisp/gnus/lisp/nnvirtual hides /usr/share/emacs/24.3.50/lisp/gnus/nnvirtual
~/elisp/gnus/lisp/nnmh hides /usr/share/emacs/24.3.50/lisp/gnus/nnmh
~/elisp/gnus/lisp/nntp hides /usr/share/emacs/24.3.50/lisp/gnus/nntp
~/elisp/gnus/lisp/shr hides /usr/share/emacs/24.3.50/lisp/gnus/shr
~/elisp/gnus/lisp/mail-prsvr hides /usr/share/emacs/24.3.50/lisp/gnus/mail-prsvr
~/elisp/gnus/lisp/mml2015 hides /usr/share/emacs/24.3.50/lisp/gnus/mml2015
~/elisp/gnus/lisp/rfc2231 hides /usr/share/emacs/24.3.50/lisp/gnus/rfc2231
~/elisp/gnus/lisp/mml-smime hides /usr/share/emacs/24.3.50/lisp/gnus/mml-smime
~/elisp/gnus/lisp/rfc2104 hides /usr/share/emacs/24.3.50/lisp/gnus/rfc2104
~/elisp/gnus/lisp/ietf-drums hides /usr/share/emacs/24.3.50/lisp/gnus/ietf-drums
~/elisp/gnus/lisp/mml-sec hides /usr/share/emacs/24.3.50/lisp/gnus/mml-sec
~/elisp/gnus/lisp/nnmbox hides /usr/share/emacs/24.3.50/lisp/gnus/nnmbox
~/elisp/gnus/lisp/nnregistry hides /usr/share/emacs/24.3.50/lisp/gnus/nnregistry
~/elisp/gnus/lisp/nnmail hides /usr/share/emacs/24.3.50/lisp/gnus/nnmail
~/elisp/gnus/lisp/nnoo hides /usr/share/emacs/24.3.50/lisp/gnus/nnoo
~/elisp/gnus/lisp/nnir hides /usr/share/emacs/24.3.50/lisp/gnus/nnir
~/elisp/gnus/lisp/nnnil hides /usr/share/emacs/24.3.50/lisp/gnus/nnnil
~/elisp/gnus/lisp/nnml hides /usr/share/emacs/24.3.50/lisp/gnus/nnml
~/elisp/gnus/lisp/yenc hides /usr/share/emacs/24.3.50/lisp/gnus/yenc
~/elisp/gnus/lisp/gnus-undo hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-undo
~/elisp/gnus/lisp/nnheader hides /usr/share/emacs/24.3.50/lisp/gnus/nnheader
~/elisp/gnus/lisp/rfc2045 hides /usr/share/emacs/24.3.50/lisp/gnus/rfc2045
~/elisp/gnus/lisp/gnus-sync hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-sync
~/elisp/gnus/lisp/nngateway hides /usr/share/emacs/24.3.50/lisp/gnus/nngateway
~/elisp/gnus/lisp/gnus-sum hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-sum
~/elisp/gnus/lisp/spam hides /usr/share/emacs/24.3.50/lisp/gnus/spam
~/elisp/gnus/lisp/nnfolder hides /usr/share/emacs/24.3.50/lisp/gnus/nnfolder
~/elisp/gnus/lisp/gnus-start hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-start
~/elisp/gnus/lisp/rfc1843 hides /usr/share/emacs/24.3.50/lisp/gnus/rfc1843
~/elisp/gnus/lisp/mm-uu hides /usr/share/emacs/24.3.50/lisp/gnus/mm-uu
~/elisp/gnus/lisp/gnus-srvr hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-srvr
~/elisp/gnus/lisp/spam-wash hides /usr/share/emacs/24.3.50/lisp/gnus/spam-wash
~/elisp/gnus/lisp/nneething hides /usr/share/emacs/24.3.50/lisp/gnus/nneething
~/elisp/gnus/lisp/gnus-spec hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-spec
~/elisp/gnus/lisp/spam-stat hides /usr/share/emacs/24.3.50/lisp/gnus/spam-stat
~/elisp/gnus/lisp/nndraft hides /usr/share/emacs/24.3.50/lisp/gnus/nndraft
~/elisp/gnus/lisp/gnus-sieve hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-sieve
~/elisp/gnus/lisp/registry hides /usr/share/emacs/24.3.50/lisp/gnus/registry
~/elisp/gnus/lisp/mm-util hides /usr/share/emacs/24.3.50/lisp/gnus/mm-util
~/elisp/gnus/lisp/gnus-setup hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-setup
~/elisp/gnus/lisp/qp hides /usr/share/emacs/24.3.50/lisp/gnus/qp
~/elisp/gnus/lisp/mm-url hides /usr/share/emacs/24.3.50/lisp/gnus/mm-url
~/elisp/gnus/lisp/gnus-score hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-score
~/elisp/gnus/lisp/spam-report hides /usr/share/emacs/24.3.50/lisp/gnus/spam-report
~/elisp/gnus/lisp/mm-partial hides /usr/share/emacs/24.3.50/lisp/gnus/mm-partial
~/elisp/gnus/lisp/gnus-salt hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-salt
~/elisp/gnus/lisp/smime hides /usr/share/emacs/24.3.50/lisp/gnus/smime
~/elisp/gnus/lisp/nndoc hides /usr/share/emacs/24.3.50/lisp/gnus/nndoc
~/elisp/gnus/lisp/gnus-registry hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-registry
~/elisp/gnus/lisp/pop3 hides /usr/share/emacs/24.3.50/lisp/gnus/pop3
~/elisp/gnus/lisp/mm-extern hides /usr/share/emacs/24.3.50/lisp/gnus/mm-extern
~/elisp/gnus/lisp/gnus-range hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-range
~/elisp/gnus/lisp/plstore hides /usr/share/emacs/24.3.50/lisp/gnus/plstore
~/elisp/gnus/lisp/mm-encode hides /usr/share/emacs/24.3.50/lisp/gnus/mm-encode
~/elisp/gnus/lisp/gnus-picon hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-picon
~/elisp/gnus/lisp/nnweb hides /usr/share/emacs/24.3.50/lisp/gnus/nnweb
~/elisp/gnus/lisp/mm-decode hides /usr/share/emacs/24.3.50/lisp/gnus/mm-decode
~/elisp/gnus/lisp/gnus-notifications hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-notifications
~/elisp/gnus/lisp/smiley hides /usr/share/emacs/24.3.50/lisp/gnus/smiley
~/elisp/gnus/lisp/nndir hides /usr/share/emacs/24.3.50/lisp/gnus/nndir
~/elisp/gnus/lisp/message hides /usr/share/emacs/24.3.50/lisp/gnus/message
~/elisp/gnus/lisp/gnus-msg hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-msg
~/elisp/gnus/lisp/sieve hides /usr/share/emacs/24.3.50/lisp/gnus/sieve
~/elisp/gnus/lisp/nndiary hides /usr/share/emacs/24.3.50/lisp/gnus/nndiary
~/elisp/gnus/lisp/gnus-mlspl hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-mlspl
~/elisp/gnus/lisp/rtree hides /usr/share/emacs/24.3.50/lisp/gnus/rtree
~/elisp/gnus/lisp/mml1991 hides /usr/share/emacs/24.3.50/lisp/gnus/mml1991
~/elisp/gnus/lisp/gnus-ml hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-ml
~/elisp/gnus/lisp/nnrss hides /usr/share/emacs/24.3.50/lisp/gnus/nnrss
~/elisp/gnus/lisp/gnus-mh hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-mh
~/elisp/gnus/lisp/nnspool hides /usr/share/emacs/24.3.50/lisp/gnus/nnspool
~/elisp/gnus/lisp/gnus-logic hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-logic
~/elisp/gnus/lisp/score-mode hides /usr/share/emacs/24.3.50/lisp/gnus/score-mode
~/elisp/gnus/lisp/mml hides /usr/share/emacs/24.3.50/lisp/gnus/mml
~/elisp/gnus/lisp/gnus-kill hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-kill
~/elisp/gnus/lisp/sieve-mode hides /usr/share/emacs/24.3.50/lisp/gnus/sieve-mode
~/elisp/gnus/lisp/nnbabyl hides /usr/share/emacs/24.3.50/lisp/gnus/nnbabyl
~/elisp/gnus/lisp/gnus-int hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-int
~/elisp/gnus/lisp/sieve-manage hides /usr/share/emacs/24.3.50/lisp/gnus/sieve-manage
~/elisp/gnus/lisp/nnmaildir hides /usr/share/emacs/24.3.50/lisp/gnus/nnmaildir
~/elisp/gnus/lisp/gnus-html hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-html
~/elisp/gnus/lisp/nnmairix hides /usr/share/emacs/24.3.50/lisp/gnus/nnmairix
~/elisp/gnus/lisp/gnus-group hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-group
~/elisp/gnus/lisp/mm-archive hides /usr/share/emacs/24.3.50/lisp/gnus/mm-archive
~/elisp/gnus/lisp/gnus-fun hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-fun
~/elisp/gnus/lisp/gnus-ems hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-ems
~/elisp/gnus/lisp/gnus-delay hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-delay
~/elisp/gnus/lisp/gnus-art hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-art
~/elisp/gnus/lisp/gnus-draft hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-draft
~/elisp/gnus/lisp/gnus-cache hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-cache
~/elisp/gnus/lisp/flow-fill hides /usr/share/emacs/24.3.50/lisp/gnus/flow-fill
~/elisp/gnus/lisp/gnus-dired hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-dired
~/elisp/gnus/lisp/gnus-bookmark hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-bookmark
~/elisp/gnus/lisp/ecomplete hides /usr/share/emacs/24.3.50/lisp/gnus/ecomplete
~/elisp/gnus/lisp/gnus-diary hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-diary
~/elisp/gnus/lisp/gnus-bcklg hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-bcklg
~/elisp/gnus/lisp/deuglify hides /usr/share/emacs/24.3.50/lisp/gnus/deuglify
~/elisp/gnus/lisp/gnus-demon hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-demon
~/elisp/gnus/lisp/gnus-async hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-async
~/elisp/gnus/lisp/gmm-utils hides /usr/share/emacs/24.3.50/lisp/gnus/gmm-utils
~/elisp/gnus/lisp/mm-bodies hides /usr/share/emacs/24.3.50/lisp/gnus/mm-bodies
~/elisp/gnus/lisp/mailcap hides /usr/share/emacs/24.3.50/lisp/gnus/mailcap
~/elisp/gnus/lisp/mail-source hides /usr/share/emacs/24.3.50/lisp/gnus/mail-source
~/elisp/gnus/lisp/nnagent hides /usr/share/emacs/24.3.50/lisp/gnus/nnagent
~/elisp/gnus/lisp/shr-color hides /usr/share/emacs/24.3.50/lisp/gnus/shr-color
~/elisp/gnus/lisp/mail-parse hides /usr/share/emacs/24.3.50/lisp/gnus/mail-parse
~/elisp/gnus/lisp/legacy-gnus-agent hides /usr/share/emacs/24.3.50/lisp/gnus/legacy-gnus-agent
~/elisp/gnus/lisp/messcompat hides /usr/share/emacs/24.3.50/lisp/gnus/messcompat
~/elisp/gnus/lisp/rfc2047 hides /usr/share/emacs/24.3.50/lisp/gnus/rfc2047
~/elisp/gnus/lisp/html2text hides /usr/share/emacs/24.3.50/lisp/gnus/html2text
~/elisp/gnus/lisp/gssapi hides /usr/share/emacs/24.3.50/lisp/gnus/gssapi
~/elisp/gnus/lisp/gravatar hides /usr/share/emacs/24.3.50/lisp/gnus/gravatar
~/elisp/gnus/lisp/gnus hides /usr/share/emacs/24.3.50/lisp/gnus/gnus
~/elisp/gnus/lisp/gnus-win hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-win
~/elisp/gnus/lisp/gnus-vm hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-vm
~/elisp/gnus/lisp/gnus-uu hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-uu
~/elisp/gnus/lisp/gnus-util hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-util
~/elisp/gnus/lisp/nnimap hides /usr/share/emacs/24.3.50/lisp/gnus/nnimap
~/elisp/gnus/lisp/utf7 hides /usr/share/emacs/24.3.50/lisp/gnus/utf7
~/elisp/gnus/lisp/gnus-topic hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-topic
~/elisp/gnus/lisp/mm-view hides /usr/share/emacs/24.3.50/lisp/gnus/mm-view
~/elisp/gnus/lisp/starttls hides /usr/share/emacs/24.3.50/lisp/gnus/starttls
~/elisp/gnus/lisp/compface hides /usr/share/emacs/24.3.50/lisp/gnus/compface
~/elisp/gnus/lisp/gnus-dup hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-dup
~/elisp/gnus/lisp/gnus-agent hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-agent
~/elisp/gnus/lisp/canlock hides /usr/share/emacs/24.3.50/lisp/gnus/canlock
~/elisp/gnus/lisp/gnus-eform hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-eform
~/elisp/gnus/lisp/gnus-cite hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-cite
~/elisp/gnus/lisp/auth-source hides /usr/share/emacs/24.3.50/lisp/gnus/auth-source
~/elisp/gnus/lisp/gnus-gravatar hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-gravatar
~/elisp/gnus/lisp/gnus-cus hides /usr/share/emacs/24.3.50/lisp/gnus/gnus-cus
~/elisp/gnus/lisp/parse-time hides /usr/share/emacs/24.3.50/lisp/calendar/parse-time
~/elisp/gnus/lisp/time-date hides /usr/share/emacs/24.3.50/lisp/calendar/time-date

Features:
(shadow sort gnus-cite emacsbug sendmail help-mode gnus-notifications
notifications dbus gnus-topic netrc network-stream starttls tls nnml
bbdb-gnus bbdb-snarf nnnil gnus-demon mozmail gnus-delay gnus-draft
gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache
nndraft nnmh mail-extr spam spam-stat bbdb-com gnus-uu yenc gnus-msg
supercite regi gnus-html browse-url xml url-cache mm-url bbdb-picture
gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime dig gnus-fun
hashcash gnus-load paren cus-start cus-load tramp tramp-compat
tramp-loaddefs shell pcomplete comint ansi-color ring cperl-mode
uniquify vc vc-dispatcher bbdb timezone boxquote rect gnus-namazu
warnings advice gnus-sum gnus-group gnus-undo gnus-start gnus-spec
gnus-win nnmail gnus-int gnus-range mail-source message idna cl-macs gv
format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus
gnus-ems gnus-compat url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util url-parse auth-source eieio
byte-opt bytecomp byte-compile cconv password-cache url-vars mailcap
help-fns wid-edit nnoo nnheader gnus-util time-date mm-util mail-prsvr
mail-utils info easymenu gnutls edmacro kmacro server debian-el
debian-el-loaddefs mmm-auto mmm-vars mmm-compat cl nadvice cl-lib
emacs-goodies-el emacs-goodies-custom emacs-goodies-loaddefs easy-mmode
dpkg-dev-el dpkg-dev-el-loaddefs bbdb-autoloads preview-latex tex-site
auto-loads tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win
x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list
newcomment lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar 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 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 dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

-- 
 "the only sound is drum machine which runs all 24            Adam Sjøgren
  hours in the office, always on, always set to          [email-masked]
  SAMBA pattern."