Subject: 25.3; eldoc changes mode-line settings
From: Nick Helm <[email-masked]>
To: [email-masked]
Date: Wed, 04 Oct 2017 20:55:04 +1300
List-Id: <debbugs-submit.debbugs.gnu.org>

I've encountered a minor annoyance with eldoc-mode and its use of the
mode-line.

I like to run Emacs with the mode-line turned off. When I evaluate an
expression interactively, eldoc restores the mode-line without being
asked and doesn't turn it off again when it's finished.

Recipe:

  Emacs -Q
  (setq-default mode-line-format nil)
  mode-line-format -> nil
  M-: (+ 1     ;open an eval, the mode-line reappears with eldoc message
  ) RET        ;complete the eval, a blank mode-line remains
  mode-line-format -> ("" (eldoc-mode-line-string (" " eldoc...

I expect eldoc to respect my value of mode-line-format, or at least
restore the orignal value when it finishes doing its thing.

I had a look at eldoc.el and I think the problem lies in
eldoc-minibuffer-message. The function uses listp to test for
mode-line-format, forgetting (I assume!) that nil is also a valid list.

The following tweak seems to fix the problem here:

--- a/lisp/emacs-lisp/eldoc.el	2017-10-04 15:17:48.000000000 +1300
+++ b/lisp/emacs-lisp/eldoc.el	2017-10-04 12:17:36.000000000 +1300
@@ -261,8 +261,8 @@
 	     (or (window-in-direction 'above (minibuffer-window))
 		 (minibuffer-selected-window)
 		 (get-largest-window)))
-	  (unless (and (listp mode-line-format)
-		       (assq 'eldoc-mode-line-string mode-line-format))
+	  (when (and mode-line-format
+		          (not (assq 'eldoc-mode-line-string mode-line-format)))
 	    (setq mode-line-format
 		  (list "" '(eldoc-mode-line-string
 			     (" " eldoc-mode-line-string " "))

For cases where mode-line-format is non-nil, eldoc also leaves behind a
buffer local value, rather than restoring the default (if there was
one), but I guess that's a different issue.

In GNU Emacs 25.3.3 (x86_64-apple-darwin16.7.0, Carbon Version 157 AppKit 1504.83)
 of 2017-09-28 built on oberon
Windowing system distributor 'Apple Inc.', version 10.12.6
Configured using:
 'configure --with-mac
 --enable-locallisppath=/usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/site-lisp
 --infodir=/usr/local/kemp-emacs/emacs-25.3-mac-6.8/info/emacs
 --prefix=/usr/local/kemp-emacs/emacs-25.3-mac-6.8
 --enable-mac-app=/usr/local/kemp-emacs/emacs-25.3-mac-6.8'

Configured features:
NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS

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

Major mode: Text

Minor modes in effect:
  savehist-mode: t
  global-eldoc-mode: t
  mac-mouse-wheel-mode: t
  menu-bar-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
  visual-line-mode: t
  transient-mark-mode: t

Recent messages:
Opening nntp server on news.gmane.org...done
No new newsgroups
Checking new news...
Reading active file via nnnil...done
Reading active file via nndraft...done
Checking new news...done

Load-path shadows:
/Users/nick/.emacs.d/lisp/org-9.1.1/ox hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-texinfo hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-texinfo
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-publish hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-publish
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-org hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-org
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-odt hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-odt
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-md hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-md
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-man hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-man
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-latex hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-latex
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-icalendar hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-icalendar
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-html hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-html
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-beamer hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-beamer
/Users/nick/.emacs.d/lisp/org-9.1.1/ox-ascii hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ox-ascii
/Users/nick/.emacs.d/lisp/org-9.1.1/org hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org
/Users/nick/.emacs.d/lisp/org-9.1.1/org-w3m hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-w3m
/Users/nick/.emacs.d/lisp/org-9.1.1/org-version hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-version
/Users/nick/.emacs.d/lisp/org-9.1.1/org-timer hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-timer
/Users/nick/.emacs.d/lisp/org-9.1.1/org-table hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-table
/Users/nick/.emacs.d/lisp/org-9.1.1/org-src hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-src
/Users/nick/.emacs.d/lisp/org-9.1.1/org-rmail hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-rmail
/Users/nick/.emacs.d/lisp/org-9.1.1/org-protocol hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-protocol
/Users/nick/.emacs.d/lisp/org-9.1.1/org-plot hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-plot
/Users/nick/.emacs.d/lisp/org-9.1.1/org-pcomplete hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-pcomplete
/Users/nick/.emacs.d/lisp/org-9.1.1/org-mouse hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-mouse
/Users/nick/.emacs.d/lisp/org-9.1.1/org-mobile hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-mobile
/Users/nick/.emacs.d/lisp/org-9.1.1/org-mhe hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-mhe
/Users/nick/.emacs.d/lisp/org-9.1.1/org-macs hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-macs
/Users/nick/.emacs.d/lisp/org-9.1.1/org-macro hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-macro
/Users/nick/.emacs.d/lisp/org-9.1.1/org-loaddefs hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-loaddefs
/Users/nick/.emacs.d/lisp/org-9.1.1/org-list hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-list
/Users/nick/.emacs.d/lisp/org-9.1.1/org-irc hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-irc
/Users/nick/.emacs.d/lisp/org-9.1.1/org-install hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-install
/Users/nick/.emacs.d/lisp/org-9.1.1/org-inlinetask hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-inlinetask
/Users/nick/.emacs.d/lisp/org-9.1.1/org-info hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-info
/Users/nick/.emacs.d/lisp/org-9.1.1/org-indent hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-indent
/Users/nick/.emacs.d/lisp/org-9.1.1/org-id hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-id
/Users/nick/.emacs.d/lisp/org-9.1.1/org-habit hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-habit
/Users/nick/.emacs.d/lisp/org-9.1.1/org-gnus hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-gnus
/Users/nick/.emacs.d/lisp/org-9.1.1/org-footnote hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-footnote
/Users/nick/.emacs.d/lisp/org-9.1.1/org-feed hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-feed
/Users/nick/.emacs.d/lisp/org-9.1.1/org-faces hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-faces
/Users/nick/.emacs.d/lisp/org-9.1.1/org-eshell hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-eshell
/Users/nick/.emacs.d/lisp/org-9.1.1/org-entities hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-entities
/Users/nick/.emacs.d/lisp/org-9.1.1/org-element hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-element
/Users/nick/.emacs.d/lisp/org-9.1.1/org-docview hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-docview
/Users/nick/.emacs.d/lisp/org-9.1.1/org-datetree hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-datetree
/Users/nick/.emacs.d/lisp/org-9.1.1/org-ctags hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-ctags
/Users/nick/.emacs.d/lisp/org-9.1.1/org-crypt hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-crypt
/Users/nick/.emacs.d/lisp/org-9.1.1/org-compat hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-compat
/Users/nick/.emacs.d/lisp/org-9.1.1/org-colview hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-colview
/Users/nick/.emacs.d/lisp/org-9.1.1/org-clock hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-clock
/Users/nick/.emacs.d/lisp/org-9.1.1/org-capture hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-capture
/Users/nick/.emacs.d/lisp/org-9.1.1/org-bibtex hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-bibtex
/Users/nick/.emacs.d/lisp/org-9.1.1/org-bbdb hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-bbdb
/Users/nick/.emacs.d/lisp/org-9.1.1/org-attach hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-attach
/Users/nick/.emacs.d/lisp/org-9.1.1/org-archive hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-archive
/Users/nick/.emacs.d/lisp/org-9.1.1/org-agenda hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/org-agenda
/Users/nick/.emacs.d/lisp/org-9.1.1/ob hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-tangle hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-tangle
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-table hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-table
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-sqlite hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-sqlite
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-sql hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-sql
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-shen hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-shen
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-screen hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-screen
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-scheme hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-scheme
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-sass hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-sass
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-ruby hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-ruby
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-ref hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-ref
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-R hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-R
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-python hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-python
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-plantuml hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-plantuml
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-picolisp hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-picolisp
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-perl hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-perl
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-org hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-org
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-octave hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-octave
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-ocaml hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-ocaml
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-mscgen hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-mscgen
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-maxima hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-maxima
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-matlab hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-matlab
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-makefile hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-makefile
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-lob hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-lob
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-lisp hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-lisp
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-lilypond hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-lilypond
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-ledger hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-ledger
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-latex hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-latex
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-keys hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-keys
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-js hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-js
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-java hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-java
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-io hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-io
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-haskell hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-haskell
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-gnuplot hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-gnuplot
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-fortran hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-fortran
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-exp hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-exp
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-eval hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-eval
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-emacs-lisp hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-emacs-lisp
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-dot hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-dot
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-ditaa hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-ditaa
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-css hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-css
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-core hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-core
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-comint hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-comint
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-clojure hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-clojure
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-calc hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-calc
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-C hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-C
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-awk hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-awk
/Users/nick/.emacs.d/lisp/org-9.1.1/ob-asymptote hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/org/ob-asymptote
/Users/nick/.emacs.d/lisp/auth-26.1/auth-source hides /usr/local/kemp-emacs/emacs-25.3-mac-6.8/share/emacs/25.3/lisp/gnus/auth-source

Features:
(shadow gnus-cite sort mail-extr nnir emacsbug sendmail nndraft nnmh
utf-7 network-stream nsm auth-source cl-seq eieio byte-opt bytecomp
byte-compile cl-extra cconv eieio-core cl-macs starttls nnnil gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 mm-view mml-smime smime dig mailcap nntp gnus-cache gnus-sum
gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls
gnutls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message
format-spec rfc822 mml mml-sec password-cache epg epg-config mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems nnheader
gnus-util mail-utils mm-util help-fns help-mode mail-prsvr wid-edit
jka-compr info time dired-x easymenu dired savehist nh-macdict
easy-mmode iso-transl edmacro kmacro cl-loaddefs pcase cl-lib gv
plain-theme mule-util time-date tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel mac-win term/common-win
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 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 kqueue mac multi-tty
make-network-process emacs)

Memory information:
((conses 16 179241 9128)
 (symbols 48 29035 0)
 (miscs 40 87 98)
 (strings 32 47808 8612)
 (string-bytes 1 1681385)
 (vectors 16 21552)
 (vector-slots 8 569218 3611)
 (floats 8 378 384)
 (intervals 56 262 0)
 (buffers 976 23))