Subject: 23.1.50; WoMan buffer names incorrect for manual pages including `.'

From: Michael Welsh Duggan <[email-masked]>
Date: Wed, 25 Nov 2009 13:22:22 -0500

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug.  If you can, give
a recipe starting from `emacs -Q':

M-x woman RET host.conf RET

The buffer that appears is named "*WoMan conf.5 host*"
The buffer name should be "*WoMan 5 host.conf*"

Suggested remediation:
Modify the regular expression in woman-make-bufname to read:
"\\.[^.]*\\'"

Patch:
--- woman.el~	2009-11-25 13:20:29.000000000 -0500
+++ woman.el	2009-11-25 13:20:19.000000000 -0500
@@ -1649,7 +1649,7 @@
 
 (defun woman-make-bufname (bufname)
   "Create an unambiguous buffer name from BUFNAME."
-  (let ((dot (string-match "\\." bufname)))
+  (let ((dot (string-match "\\.[^.]*\\'" bufname)))
     (if dot (setq bufname (concat
 			   (substring bufname (1+ dot)) " "
 			   (substring bufname 0 dot))))

In GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.10.4)
 of 2009-11-11 on maru.green.cert.org
Windowing system distributor `The X.Org Foundation', version 11.0.70101000
configured using `configure  '--without-toolkit-scroll-bars' '--prefix=/home/mwd' '--without-gif''

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: @im=none
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  shell-dirtrack-mode: t
  display-time-mode: t
  diff-auto-refine-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent input:
<tab> <return> e d e <tab> <tab> d <tab> <return> M-x 
e <backspace> t <return> M-x e a <backspace> v a k 
l <backspace> <backspace> l - c u <tab> <return> c 
c c C-n M-x s e t - v a <tab> <return> M-p <return> 
n i l <return> M-x w o m C-g C-g M-x M-p M-p M-p M-p 
M-p <return> M-p <return> SPC SPC SPC SPC SPC SPC SPC 
SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC 
SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC 
SPC SPC SPC SPC SPC SPC SPC a q C-_ M-x s e t - v a 
<tab> <return> w o m a <tab> b u <tab> <M-backspace> 
<M-backspace> C-g C-g C-g M-b M-x f i n d - v a <tab> 
<return> <return> C-n C-e C-n C-x C-e C-b C-b C-M-x 
C-p C-p M-b M-b C-h v <return> C-x 1 M-x M-p M-p M-p 
<return> M-p <return> SPC SPC SPC SPC SPC SPC SPC SPC 
SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC 
SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC 
SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC 
SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC 
SPC SPC SPC q C-p C-p C-p M-b M-b M-x f i n d - f u 
n <tab> <return> <return> C-h i m e l i s p <return> 
i s t r i n g - m a t c h <return> C-v M-v C-x 4 b 
<return> C-x b <return> C-f C-f C-f C-f C-f C-f C-f 
C-f C-f C-f M-x r e p o r t - e <tab> <return>

Recent messages:

Result: "sensor"

Result: "conf.5 sensor"

Result: "conf.5 sensor"
Back to top level.
Loading vc-cvs...done
Composing main Info directory...done
Found `string-match' in Index.  (3 total; use `,' for next)

Load-path shadows:
/afs/cert.org/usr/mwd/src/elisp/nnir hides /home/mwd/share/emacs/23.1.50/lisp/gnus/nnir
/home/mwd/share/emacs/23.1.50/lisp/progmodes/cpp hides /home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/cpp
/home/mwd/share/emacs/23.1.50/lisp/textmodes/table hides /home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/table
/home/mwd/share/emacs/23.1.50/lisp/loaddefs hides /home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/loaddefs
/home/mwd/share/emacs/23.1.50/lisp/progmodes/compile hides /home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/compile
/home/mwd/share/emacs/23.1.50/lisp/cedet/semantic hides /home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/semantic
/home/mwd/share/emacs/23.1.50/lisp/emacs-lisp/chart hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/chart
/home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/java hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/java
/home/mwd/share/emacs/23.1.50/lisp/complete hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/complete
/home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/ctxt hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/ctxt
/home/mwd/share/emacs/23.1.50/lisp/loaddefs hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/loaddefs
/home/mwd/share/emacs/23.1.50/lisp/sort hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/sort
/home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/find hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/find
/home/mwd/share/emacs/23.1.50/lisp/emacs-lisp/debug hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/debug
/home/mwd/share/emacs/23.1.50/lisp/format hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/format
/home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/texi hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/texi
/home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/wisent hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/wisent/wisent
/home/mwd/share/emacs/23.1.50/lisp/progmodes/grep hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/symref/grep
/home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/mode hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/decorate/mode
/home/mwd/share/emacs/23.1.50/lisp/cedet/srecode/el hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/bovine/el
/home/mwd/share/emacs/23.1.50/lisp/emacs-lisp/debug hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/bovine/debug
/home/mwd/share/emacs/23.1.50/lisp/complete hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/analyze/complete
/home/mwd/share/emacs/23.1.50/lisp/emacs-lisp/debug hides /home/mwd/share/emacs/23.1.50/lisp/cedet/semantic/analyze/debug

Features:
(shadow emacsbug info vc-cvs cc-mode cc-fonts cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs pp imenu apropos cl-specs cus-edit
edebug cus-start cus-load jka-compr find-func debug woman man mml-smime
newcomment flyspell ispell multi-isearch gnus-dup help-mode view
mule-util copyright gnus-cite ansi-color mail-extr gnus-bcklg gnus-async
parse-time timezone sort gnus-ml disp-table byte-opt bytecomp
byte-compile nnml utf-7 utf7 nndraft nnmh tls nnimap gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 mm-view gnus-cache nnir edmacro kmacro gnus-sum gnus-demon nntp
gnus-group gnus-undo nnmail mail-source nnoo gnus-start gnus-spec
gnus-int gnus-range gnus-win uniquify tramp-imap epa derived epg
epg-config imap-hash imap assoc tramp-gw tramp-fish tramp-smb
tramp-cache tramp-ftp tramp-cmds tramp auth-source advice help-fns
advice-preload shell format-spec tramp-compat trampver time smime dig
server psvn cl cl-19 log-edit pcvs-util add-log diff-mode easy-mmode pgg
pgg-parse pgg-def message sendmail ecomplete rfc822 mml easymenu mml-sec
password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231
rfc2047 rfc2045 qp ietf-drums mailabbrev gmm-utils mailheader canlock
sha1 hex-util hashcash gnus gnus-ems nnheader gnus-util netrc time-date
mail-utils mm-util mail-prsvr wid-edit generic-x dired-x dired-aux dired
ange-ftp regexp-opt comint ring tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd 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 text-properties overlay
md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind gtk
x-toolkit x multi-tty emacs)

-- 
Michael Welsh Duggan
([email-masked])