Subject: bug#25349: 25.1.90; erc join -vs- passwords

From: Tom Tromey <[email-masked]>
Date: Tue, 03 Jan 2017 15:32:48 -0700

I'm using erc and joining a channel that has a channel password.
I've tried to put the password in my ~/.authinfo.  However, there
are two erc bugs that prevent this from working.

1. In erc-join.el, various functions do:

    (or erc-server-announced-name erc-session-server)

   I think this is backward -- the announced name is the real name of
   the host, but this can vary, so isn't useful as a .authinfo key.
   e.g., for me, erc-server-announced-name is currently "belew.mozilla.org"
   but erc-session-server is "irc.mozilla.org" -- which is what I used
   to connect and is the name I'd want to use in .authinfo.

   Changing the instances of this in erc-join.el makes auto-join work
   for me.

2. erc-cmd-JOIN does not check authinfo at all.  Maybe it should share
   this code with erc-join.el.

In GNU Emacs 25.1.90.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.20.9)
 of 2016-12-15 built on pokyo
Repository revision: 467768f64ee109fe127619e75fee7f3b5de1fec1
Windowing system distributor 'Fedora Project', version 11.0.11804000
System Description:	Fedora release 24 (Twenty Four)

Configured using:
 'configure --prefix=/home/tromey/Emacs/install
 --with-file-notifications=no'

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

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

Major mode: JS

Minor modes in effect:
  erc-spelling-mode: t
  erc-truncate-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  flyspell-mode: t
  which-function-mode: t
  projectile-global-mode: t
  projectile-mode: t
  erc-notify-mode: t
  erc-notifications-mode: t
  erc-services-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-netsplit-mode: t
  erc-hl-nicks-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  flycheck-mode: t
  savehist-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  transient-mark-mode: t

Recent messages:
Expiring articles...done
Are you sure you want to quit reading news? (y or n) y
Saving Gnus registry (73035 entries) to ~/.gnus.registry.eieio...
Saving Gnus registry (size 73035) to ~/.gnus.registry.eieio...done
Saving file /home/tromey/.newsrc...
Wrote /home/tromey/.newsrc
Saving /home/tromey/.newsrc.eld...
Saving file /home/tromey/.newsrc.eld...
Wrote /home/tromey/.newsrc.eld
Saving /home/tromey/.newsrc.eld...done

Load-path shadows:
/home/tromey/.emacs.d/elpa/bubbles-0.5/bubbles hides /home/tromey/Emacs/install/share/emacs/25.1.90/lisp/play/bubbles

Features:
(shadow emacsbug debug ffap conf-mode css-mode descr-text gud eieio-opt
speedbar sb-image ezimage dframe vc-annotate macros dwarf-mode rust-mode
doctor gnus-fun find-dired dxr tabify man perl-mode sh-script smie
executable smerge-mode etags xref project git-commit-mode find-file js
sgml-mode iso-transl mailalias bbdb-sc supercite regi mail-hist nnir
idutils python tramp-sh tramp tramp-compat tramp-loaddefs trampver
ucs-normalize git-rebase-mode derived term/xterm xterm org-element
org-rmail org-mhe org-irc org-info org-gnus org-docview doc-view
jka-compr image-mode org-bibtex bibtex org-bbdb org-w3m org org-macro
org-footnote org-pcomplete org-list org-faces org-entities noutline
outline 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 log-view gnus-html url-cache mm-url shr-color url-http url
url-proxy url-privacy url-history url-auth url-cookie url-domsuf url-gw
url-expand url-methods url-util url-parse url-vars shr dom browse-url
erc-spelling erc-truncate bbdb-gui bbdb-hooks bbdb-rmail rmailsum rmail
vc-mtn vc-hg sort smiley gnus-cite flow-fill mm-archive gnus-async
gnus-bcklg qp gnus-ml disp-table gnus-topic nndraft nnmh nnfolder utf-7
bbdb-gnus bbdb-snarf mail-extr bbdb-com network-stream nsm starttls
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp
gnus-cache gnus-registry registry eieio-compat eieio-base gnus-art mm-uu
mml2015 mm-view mml-smime smime dig mailcap gnus-sum gnus-group
gnus-undo smtpmail sendmail gnus-start gnus-cloud nnimap nnmail
mail-source tls gnutls utf7 netrc nnoo parse-time gnus-spec gnus-int
gnus-range gnus-win gnus gnus-ems nnheader dabbrev log-edit message idna
rfc822 mml mml-sec epg mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums mailabbrev mail-utils gmm-utils mailheader
pcvs-util copyright misearch multi-isearch add-log bug-reference vc-bzr
vc-src vc-sccs vc-svn vc-cvs vc-rcs vc-git diff-mode cc-mode cc-fonts
cc-guess cc-menus cc-cmds shell flyspell ispell diminish appt diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs which-func imenu edmacro
kmacro projectile grep compile ibuf-ext ibuffer minimap autorevert
filenotify desktop frameset cus-start cus-load erc-notify
erc-desktop-notifications notifications dbus xml erc-services erc-list
erc-menu erc-join erc-ring erc-networks erc-pcomplete pcomplete
erc-track erc-match erc-netsplit erc-hl-nicks easy-mmode color
erc-button erc-fill erc-stamp wid-edit erc-goodies erc erc-backend
erc-compat format-spec auth-source cl-seq eieio gnus-util mm-util
help-fns mail-prsvr password-cache thingatpt pp status dired-aux dired-x
dired warnings advice vc-dir ewoc vc vc-dispatcher flycheck json map
find-func rx subr-x dash cc-styles cc-align cc-engine cc-vars cc-defs
bbdb cl timezone ange-ftp comint ansi-color ring server savehist
finder-inf bbdb-autoloads dwarf-mode-autoloads eieio-core cl-macs
lisppaste-autoloads pydoc-info-autoloads info-look weblogger-autoloads
info package epg-config seq byte-opt gv bytecomp byte-compile cl-extra
help-mode easymenu cconv 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 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 4956169 2764016)
 (symbols 48 147899 536)
 (miscs 40 49685 30197)
 (strings 32 1374486 796506)
 (string-bytes 1 59281313)
 (vectors 16 171120)
 (vector-slots 8 4046984 214559)
 (floats 8 1121 2125)
 (intervals 56 350578 9418)
 (buffers 976 761)
 (heap 1024 613853 395688))

Tom