Subject: bug#6836: 23.2; ERC -vs- uniquify

From: Tom Tromey <[email-masked]>
Date: Tue, 10 Aug 2010 09:40:51 -0600

I have uniquify-buffer-name-style set to post-forward-angle-brackets.

In ERC I connect to multiple servers, which sometimes have the same
channel names.  For example I have two "#gdb" channels I join.

The channel buffers are named #gdb and #gdb<2> -- but I would prefer
something based on the server name instead.  Ideally, ERC and uniquify
would work together to achieve this.

In GNU Emacs 23.2.1 (i386-redhat-linux-gnu, GTK+ Version 2.20.1)
 of 2010-05-13 on x86-01.phx2.fedoraproject.org
Windowing system distributor `Fedora Project', version 11.0.10802000
configured using `configure  '--build=i386-redhat-linux-gnu' '--host=i386-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm' '--with-x-toolkit=gtk' 'build_alias=i386-redhat-linux-gnu' 'host_alias=i386-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Group

Minor modes in effect:
  gnus-agent-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  gnus-undo-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-spelling-mode: t
  erc-truncate-mode: t
  erc-status-mode: t
  erc-services-mode: t
  erc-networks-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C h TAB TAB . TAB 1 4 RET C-s C-s C-s C-x k RET C-x 
k RET C-v C-v ESC v C-v C-x b * s h TAB RET f r o m 
RET C-c C-o C-x b RET C-x b * G TAB RET ESC < L ESC 
< B RET n e w s . g m a n e . o r g RET C-s g w e n 
e C-a n n u n n n n n n n n n n C-l C-h c Q C-h c q 
C-h c Q n n n C-v C-v C-v C-v C-v ESC v ESC v Q l C-p 
ESC g p SPC c SPC s C-x C-c <switch-frame> q 1 g C-s 
e m a c s C-v C-v C-s C-s C-r C-a SPC M-> SPC SPC Q 
y M-v C-u C-u C-p n n C-l C-u C-n n p M-g M-g M-g M-g 
M-g p SPC M-> C-p p n SPC SPC SPC <backspace> q s <switch-frame> 
<f10> <f10> <f10> <f10> <f10> <f10> <f10> <switch-frame> 
<switch-frame> <f10> <f10> C-l <f10> C-l <f10> <f10> 
<f10> <f10> C-x b # g d b <tab> <tab> <return> g o 
o d SPC m o r n i n g <return> M-v M-v M-> <f10> <f10> 
<f10> C-x b i r <tab> <tab> f <tab> <return> / r e 
c o n n e t <return> <backspace> c t <return> <switch-frame> 
C-z o C-x 1 <f10> <f10> <f10> <f10> <f10> <f10> <f10> 
<f10> <f10> <f10> <f10> <f10> C-z n C-z o <f10> <f10> 
<f10> <f10> <f10> C-h v u n i q u <tab> <tab> b u f 
<tab> <tab> <return> C-x 1 C-z o M-x r e p o r t - 
e <tab> b <tab> <return>

Recent messages:
Making completion list...
Mark set
Making completion list...
ERC: No process running
Connecting to irc.freenode.net:6667... ...done
Logging in as 'tromey'...
Logging in without password
Logging in as 'tromey'... done
Making completion list...
Type C-x 1 to delete the help window, C-M-v to scroll help.

Load-path shadows:
/home/tromey/lib/lisp/rpm-spec-mode hides /usr/share/emacs/site-lisp/rpm-spec-mode
/usr/share/emacs/site-lisp/flim/sha1 hides /usr/share/emacs/23.2/lisp/sha1
/usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/23.2/lisp/md4
/usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/23.2/lisp/hex-util
/home/tromey/.emacs.d/elpa/css-mode-1.0/css-mode hides /usr/share/emacs/23.2/lisp/textmodes/css-mode
/home/tromey/.emacs.d/elpa/ruby-mode-1.0/ruby-mode hides /usr/share/emacs/23.2/lisp/progmodes/ruby-mode
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-glyph hides /usr/share/emacs/23.2/lisp/nxml/nxml-glyph
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-valid hides /usr/share/emacs/23.2/lisp/nxml/rng-valid
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-maint hides /usr/share/emacs/23.2/lisp/nxml/nxml-maint
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-cmpct hides /usr/share/emacs/23.2/lisp/nxml/rng-cmpct
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-loc hides /usr/share/emacs/23.2/lisp/nxml/rng-loc
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-dt hides /usr/share/emacs/23.2/lisp/nxml/rng-dt
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-parse hides /usr/share/emacs/23.2/lisp/nxml/rng-parse
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-uri hides /usr/share/emacs/23.2/lisp/nxml/rng-uri
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-util hides /usr/share/emacs/23.2/lisp/nxml/rng-util
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-uchnm hides /usr/share/emacs/23.2/lisp/nxml/nxml-uchnm
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-ns hides /usr/share/emacs/23.2/lisp/nxml/nxml-ns
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-rap hides /usr/share/emacs/23.2/lisp/nxml/nxml-rap
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/xsd-regexp hides /usr/share/emacs/23.2/lisp/nxml/xsd-regexp
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-mode hides /usr/share/emacs/23.2/lisp/nxml/nxml-mode
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-enc hides /usr/share/emacs/23.2/lisp/nxml/nxml-enc
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-outln hides /usr/share/emacs/23.2/lisp/nxml/nxml-outln
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-xsd hides /usr/share/emacs/23.2/lisp/nxml/rng-xsd
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-nxml hides /usr/share/emacs/23.2/lisp/nxml/rng-nxml
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-maint hides /usr/share/emacs/23.2/lisp/nxml/rng-maint
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/xmltok hides /usr/share/emacs/23.2/lisp/nxml/xmltok
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-util hides /usr/share/emacs/23.2/lisp/nxml/nxml-util
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-parse hides /usr/share/emacs/23.2/lisp/nxml/nxml-parse
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-pttrn hides /usr/share/emacs/23.2/lisp/nxml/rng-pttrn
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-match hides /usr/share/emacs/23.2/lisp/nxml/rng-match
/usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/23.2/lisp/net/sasl-cram
/usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/23.2/lisp/net/hmac-def
/usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/23.2/lisp/net/hmac-md5
/usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/23.2/lisp/net/sasl
/usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/23.2/lisp/net/sasl-digest
/usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/23.2/lisp/net/sasl-ntlm
/usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/23.2/lisp/net/ntlm
/home/tromey/.emacs.d/elpa/emms-3.0/tq hides /usr/share/emacs/23.2/lisp/emacs-lisp/tq

Features:
(info-look find-dired two-column iso-transl shadow emacsbug cus-start
cus-load python-21 python vc-annotate cal-move warnings rfc2368 tcl
find-file gdb-shell shell skeleton noutline outline mule-util
smerge-mode vc-sccs vc-dir ewoc ffap make-mode edmacro kmacro etags
idutils gnus-fun w3m-form w3m doc-view image-mode w3m-hist w3m-fb
w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util grep compile
vc-svn vc-git browse-url bbdb-hooks jka-compr cc-mode cc-fonts cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs apropos mule-diag
newcomment dabbrev jimb-patch bbdb-sc supercite regi mail-hist goto-addr
sh-script executable flow-fill diff-mode parse-time vc-cvs autoconf
autoconf-mode bbdb-gui gnus-cite smiley ansi-color gnus-async gnus-bcklg
gnus-ml disp-table auth-source byte-opt bytecomp byte-compile nnml
nndraft nnmh bbdb-gnus bbdb-snarf mail-extr bbdb-com gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 epg-config mm-view smime dig nntp gnus-cache gnus-sum nnoo
gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int
gnus-range message idna sendmail ecomplete rfc822 mml mml-sec
password-cache mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 qp ietf-drums mailabbrev gmm-utils mailheader canlock hashcash
gnus-win gnus gnus-ems nnheader gnus-util netrc mail-utils log-edit
pcvs-util add-log copyright vc vc-dispatcher multi-isearch vc-rcs
erc-menu erc-join erc-ring erc-pcomplete pcomplete erc-track erc-match
erc-button wid-edit erc-fill erc-stamp erc-netsplit erc-spelling
erc-truncate vc-bzr sha1 sha1-el hex-util texinfo help-mode view
flyspell ispell eldoc emms-status emms-lastfm emms-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-util
url-parse url-vars mm-util mail-prsvr mailcap emms-browser sort
emms-playlist-sort emms-score emms-player-xine emms-player-mpd tq
emms-playing-time emms-lyrics time-date emms-streams emms-mode-line
emms-cache emms-info-ogginfo emms-info-mp3info emms-info later-do
emms-playlist-mode emms-player-mplayer emms-player-simple
emms-source-playlist emms-source-file dired emms-setup emms emms-compat
gdb-shell-autoloads nxml-enc info weblogger-autoloads xml-rpc-autoloads
package reporter cal-china lunar solar cal-dst cal-bahai cal-islam
cal-hebrew holidays hol-loaddefs appt diary-lib diary-loaddefs cal-menu
easymenu calendar cal-loaddefs uniquify mouse-sel easy-mmode status cl
cl-19 erc-services erc-networks erc-goodies erc erc-backend erc-compat
format-spec thingatpt pp bbdb timezone ange-ftp regexp-opt comint ring
server advice help-fns advice-preload u-vm-color vm-autoloads vm-vars
vm-version bbdb-autoloads tooltip ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd font-setting tool-bar dnd fontset image fringe
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mldrag 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 loaddefs button minibuffer faces cus-face files text-properties
overlay md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs)

Tom