Subject: bug#9520: 24.0.50; hide<->show feature of RMAIL's MIME handling is broken

From: Kenichi Handa <[email-masked]>
Date: Fri, 16 Sep 2011 12:55:27 +0900

While reading a multi-part MIME message by RMAIL, each part
is shown with a preceding tag line something like these:

   [1:text/plain Hide]
   [2:application/pdf Show Save:temp.pdf (2kB)]

In Emacs 23.3, clicking "Hide" or "Show" part correctly
hides or shows the corresponding part, but with the latest
trunk code, it hides (or shows) incorrect part.

---
Kenichi Handa
[email-masked]

In GNU Emacs 24.0.50.2 (i686-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2011-09-16 on etlken
Windowing system distributor `The X.Org Foundation', version 11.0.10706000
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: ja_JP.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: RMAIL Summary

Minor modes in effect:
  shell-dirtrack-mode: t
  display-time-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-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
  line-number-mode: t

Recent input:
C-x k <return> C-u C-v <escape> > <return> C-c C-a 
t e m p . p d <tab> <return> <return> <return> <return> 
<escape> < C-v <escape> < C-c C-f C-c , SPC h a n d 
a @ m 1 7 n . o r g C-a C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-k C-u C-v C-u C-v C-n C-n C-n C-u C-v C-u 
C-v C-n M-f M-f M-f M-f M-f M-f M-f M-b C-a C-u C-v 
<escape> < <escape> > C-c C-c g h d d d d s y g C-x 
o <tab> <tab> <return> <return> <return> C-a C-v C-v 
<escape> > C-p C-p C-s C-w C-w C-r C-r C-a C-x C-x 
C-M-a C-M-a <escape> < C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-e M-b <return> <return> C-v 
C-v C-v C-n C-n C-n <return> <return> p n C-x o C-x 
o <tab> <tab> <return> <return> <escape> < <escape> 
> <escape> < C-s s h o w C-s C-s C-s C-a M-f M-f M-f 
M-f M-f M-f C-a M-v M-v M-v C-v C-v C-s C-s C-s C-a 
<escape> < <tab> <tab> <return> <return> C-h c <return> 
<tab> <tab> <tab> <tab> <tab> <tab> p n <tab> <return> 
<return> <return> <return> <return> <return> p n <tab> 
<tab> <escape> < C-x o p C-x o <tab> <tab> C-v C-x 
o p p p p p n p p C-x o <tab> <return> <return> p n 
C-x o C-x o C-x s C-g C-x o s C-x o C-x s M-p <return> 
C-x o j C-x o <escape> > <help-echo> <help-echo> <help-echo> 
C-x b R M <tab> <return> j C-x C-g n M-x r e p o r 
t <tab> <return>

Recent messages:
rmail-mime-insert-text: End of buffer [2 times]
mouse-2, RET: Toggle show/hide [2 times]
Mark set
forward-button: No buttons! [2 times]
mouse-2, RET: Toggle show/hide
Quit
(No changes need to be saved)
Computing summary lines...done
History item: 1
Mark set

Load-path shadows:
/usr/local/share/emacs/site-lisp/evi-mule hides /usr/local/share/emacs/site-lisp/lookup/evi-mule
/usr/local/share/emacs/site-lisp/evi hides /usr/local/share/emacs/site-lisp/lookup/evi
/usr/local/share/emacs/site-lisp/anthy/anthy hides /usr/local/share/emacs/site-lisp/egg/egg/anthy
/usr/local/share/emacs/site-lisp/egg/its/thai hides /usr/local/work/emacs/stable/lisp/language/thai
/usr/local/share/emacs/site-lisp/egg/its/greek hides /usr/local/work/emacs/stable/lisp/language/greek
/usr/local/work/emacs/stable/lisp/textmodes/table hides ~/emacslisp/table
/usr/local/work/emacs/stable/lisp/language/thai-word hides ~/emacslisp/thai-word
/usr/local/work/emacs/stable/lisp/progmodes/prolog hides ~/emacslisp/prolog
/usr/local/work/emacs/stable/lisp/emacs-lisp/syntax hides ~/emacslisp/syntax
/usr/local/work/emacs/stable/lisp/textmodes/tex-mode hides ~/emacslisp/tex-mode

Features:
(shadow emacsbug doc-view image-mode dired nxml-uchnm
rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc
rng-uri rng-parse nxml-parse rng-match rng-dt rng-util
rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util
nxml-glyph nxml-enc xmltok help-fns ansi-color shell
pcomplete comint ring add-log vc-bzr pp wid-edit descr-text
network-stream starttls tls mailalias smtpmail auth-source
eieio byte-opt bytecomp byte-compile cconv macroexp assoc
password-cache sendmail regexp-opt jka-compr sort mailcap
newcomment ja-dic mule-util kkc ja-dic-utl quail help-mode
view supercite easy-mmode regi gnus-util mail-extr
multi-isearch qp rmailkwd rmailmm message format-spec rfc822
mml easymenu mml-sec mm-decode mm-bodies mm-encode
mailabbrev gmm-utils mailheader mail-parse rfc2231
js2-mode-autoloads package tabulated-list rmail-parse-url
time rmail-sa rmailsum rmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time-date japan-util 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 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 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)