I've got this correspondent who I don't dare tell to get a real MUA
(he's my boss), so I whipped this little function up:
(defun sjt/fix-takagi ()
  (interactive)
  (save-excursion
    (let ((vm-frame-per-edit nil))
      (vm-edit-message))
    (goto-char (point-min))
    (search-forward "\nFrom: ")
    (beginning-of-line)
    (insert "MIME-Version: 1.0")
    (insert "Content-Type: text/plain; charset=ISO-2022-JP\n")
    (goto-char (point-min))
    (while (search-forward "\033$@" nil t)
      (replace-match "\033$B" nil t))
    (goto-char (point-min))
    (while (search-forward "\033(J" nil t)
      (replace-match "\033(B" nil t))
    (vm-edit-message-end)))
I execute it using M-x sjt/fix-takagi RET, in a VM frame containing a
Summary window at top, a Presentation window, and a BBDB window at
bottom.  Point is on Takagi's most recent message in the Summary
window.
Somehow after the function is executed, point ends up in the BBDB
window.  Also sometimes it closes the Presentation window, and
sometimes it doesn't.  (I'm not sure what determines when this
happens.)  Either way, point is always left in the BBDB window.
P.S.  Kyle doesn't want anybody to know about this function.  Policy
is to yell at correspondents, not to knuckle under. So don't tell
anyone.  ;-)
Emacs  : XEmacs 21.2  (beta45) "Thelxepeia" [Lucid] (i586-pc-linux, Mule) of Mon
Apr  2 2001 on turnbull
Package: VM 6.88
current state:
==============
(setq
 vm-arrived-message-hook nil
 vm-arrived-messages-hook nil
 vm-auto-center-summary nil
 vm-auto-decode-mime-messages t
 vm-auto-displayed-mime-content-type-exceptions '("text/html")
 vm-auto-displayed-mime-content-types '("text" "multipart")
 vm-auto-folder-case-fold-search t
 vm-auto-get-new-mail t
 vm-auto-next-message t
 vm-berkeley-mail-compatibility nil
 vm-check-folder-types t
 vm-circular-folders nil
 vm-confirm-new-folders t
 vm-confirm-quit 0
 vm-convert-folder-types t
 vm-crash-box "~/.crash.INBOX"
 vm-crash-box-suffix nil
 vm-default-From_-folder-type 'From_
 vm-default-folder-type 'From_
 vm-delete-after-archiving nil
 vm-delete-after-bursting nil
 vm-delete-after-saving nil
 vm-delete-empty-folders t
 vm-digest-burst-type "guess"
 vm-digest-identifier-header-format "X-Digest: %s\n"
 vm-digest-center-preamble t
 vm-digest-preamble-format "\"%s\" (%F)"
 vm-digest-send-type "mime"
 vm-display-buffer-hook nil
 vm-display-using-mime t
 vm-edit-message-hook nil
 vm-edit-message-mode 'text-mode
 vm-fill-paragraphs-containing-long-lines nil
 vm-flush-interval 90
 vm-folder-directory "~/VM/"
 vm-folder-read-only nil
 vm-folders-summary-database "~/.vm.folders.db"
 vm-folders-summary-directories '("~/")
 vm-folders-summary-format "  %12f %4t total, %n new, %u unread, %s spooled\n"
 vm-follow-summary-cursor t
 vm-forward-message-hook nil
 vm-forwarded-headers nil
 vm-forwarding-digest-type "mime"
 vm-forwarding-subject-format "forwarded message from %F"
 vm-frame-parameter-alist '((folder (height 40 width 90)))
 vm-frame-per-completion t
 vm-frame-per-composition t
 vm-frame-per-edit t
 vm-frame-per-folder t
 vm-frame-per-folders-summary nil
 vm-frame-per-help nil
 vm-frame-per-summary nil
 vm-highlight-url-face 'bold-italic
 vm-highlighted-header-regexp nil
 vm-honor-page-delimiters nil
 vm-image-directory "/playpen/gnu/plat/lib/xemacs/xemacs-packages/etc/vm/"
 vm-imap-bytes-per-session nil
 vm-imap-expunge-after-retrieving t
 vm-imap-max-message-size nil
 vm-imap-messages-per-session nil
 vm-imap-session-preauth-hook nil
 vm-in-reply-to-format "%i"
 vm-included-text-attribution-format "%F writes:\n"
 vm-included-text-discard-header-regexp nil
 vm-included-text-headers nil
 vm-included-text-prefix " > "
 vm-index-file-suffix nil
 vm-init-file "~/.vm"
 vm-infer-mime-types nil
 vm-invisible-header-regexp nil
 vm-jump-to-new-messages t
 vm-jump-to-unread-messages t
 vm-keep-crash-boxes nil
 vm-keep-sent-messages 1
 vm-lynx-program "lynx"
 vm-mail-header-from nil
 vm-mail-header-insert-date t
 vm-mail-header-insert-message-id t
 vm-mail-hook nil
 vm-make-crash-box-name nil
 vm-make-spool-file-name nil
 vm-mail-check-interval 300
 vm-mail-mode-hook nil
 vm-mail-send-hook nil
 vm-mime-7bit-composition-charset "us-ascii"
 vm-mime-8bit-composition-charset "iso-8859-1"
 vm-mime-8bit-text-transfer-encoding 'quoted-printable
 vm-mime-alternative-select-method 'best-internal
 vm-mime-attachment-auto-type-alist '(("\\.jpe?g$" .
"image/jpeg")
				      ("\\.gif$" . "image/gif")
				      ("\\.png$" . "image/png")
				      ("\\.tiff?$" . "image/tiff")
				      ("\\.html?$" . "text/html")
				      ("\\.au$" . "audio/basic")
				      ("\\.mpe?g$" . "video/mpeg")
				      ("\\.ps$" . "application/postscript"))
 vm-mime-attachment-save-directory nil
 vm-mime-avoid-folding-content-type t
 vm-mime-base64-decoder-program nil
 vm-mime-base64-decoder-switches nil
 vm-mime-base64-encoder-program nil
 vm-mime-base64-encoder-switches nil
 vm-mime-button-face 'gui-button-face
 vm-mime-button-format-alist '(("text" . "%-35.35(%d, %c%) [%k to
%a]")
			       ("multipart/alternative" .
				"%-35.35(%d%) [%k to %a]")
			       ("multipart/digest" .
				"%-35.35(%d, %n message%s%) [%k to %a]")
			       ("multipart" .
				"%-35.35(%d, %n part%s%) [%k to %a]")
			       ("message/partial" .
				"%-35.35(%d, part %N (of %T)%) [%k to %a]")
			       ("message/external-body" .
				"%-35.35(%d%) [%k to %a (%x)]")
			       ("message" . "%-35.35(%d%) [%k to %a]")
			       ("audio" . "%-35.35(%d%) [%k to %a]")
			       ("video" . "%-35.35(%d%) [%k to %a]")
			       ("image" . "%-35.35(%d%) [%k to %a]")
			       ("application/octet-stream" .
				"%-35.35(%d, %f%) [%k to %a]")
			       )
 vm-mime-charset-font-alist nil
 vm-mime-confirm-delete t
 vm-mime-decode-for-preview t
 vm-mime-default-face-charset-exceptions nil
 vm-mime-default-face-charsets '("us-ascii" "iso-8859-1")
 vm-mime-delete-after-saving nil
 vm-mime-delete-viewer-processes t
 vm-mime-digest-discard-header-regexp nil
 vm-mime-digest-headers '("Resent-" "From:" "Sender:"
"To:" "Cc:" "Subject:"
			  "Date:" "Message-ID:" "Keywords:"
"MIME-Version:"
			  "Content-")
 vm-mime-display-function nil
 vm-mime-external-content-types-alist '(("video" "xanim")
					("audio/x-pn-realaudio"
					 "/playpen/proprietary/rvplayer5.0/rvplayer")
					)
 vm-mime-ignore-mime-version t
 vm-mime-internal-content-type-exceptions '("text/html")
 vm-mime-internal-content-types t
 vm-mime-max-message-size nil
 vm-mime-qp-decoder-program nil
 vm-mime-qp-decoder-switches nil
 vm-mime-qp-encoder-program nil
 vm-mime-qp-encoder-switches nil
 vm-mime-type-converter-alist nil
 vm-mime-uuencode-decoder-program "uudecode"
 vm-mime-uuencode-decoder-switches nil
 vm-mode-hook nil
 vm-mode-hooks nil
 vm-mosaic-program "Mosaic"
 vm-mosaic-program-switches nil
 vm-move-after-deleting t
 vm-move-after-undeleting nil
 vm-move-after-killing nil
 vm-move-messages-physically nil
 vm-movemail-program "movemail"
 vm-mutable-frames t
 vm-mutable-windows t
 vm-netscape-program "netscape"
 vm-netscape-program-switches nil
 vm-page-continuation-glyph "...press SPACE to see more..."
 vm-paragraph-fill-column 70
 vm-pop-bytes-per-session nil
 vm-pop-expunge-after-retrieving t
 vm-pop-max-message-size nil
 vm-pop-messages-per-session nil
 vm-pop-md5-program "md5"
 vm-popup-menu-on-mouse-3 t
 vm-preferences-file "~/.vm.preferences"
 vm-preview-lines nil
 vm-preview-read-messages nil
 vm-primary-inbox "~/VM/INBOX"
 vm-quit-hook '(vm-expunge-folder)
 vm-recognize-imap-maildrops "^imap:[^:]+:[^:]+:[^:]+:[^:]+:[^:]+:[^:]+"
 vm-recognize-pop-maildrops "^[^:]+:[^:]+:[^:]+:[^:]+:[^:]+"
 vm-reply-hook nil
 vm-reply-ignored-reply-tos '("tlug\\|taira")
 vm-reply-subject-prefix nil
 vm-resend-bounced-discard-header-regexp nil
 vm-resend-bounced-headers '("MIME-Version:" "Content-"
"From:" "Sender:"
			     "Reply-To:" "To:" "Cc:" "Subject:"
"Newsgroups:"
			     "In-Reply-To:" "References:" "Keywords:"
"X-")
 vm-resend-bounced-message-hook nil
 vm-resend-discard-header-regexp "\\(\\(X400-\\)?Received:\\|Resent-\\)"
 vm-resend-headers nil
 vm-resend-message-hook nil
 vm-retrieved-spooled-mail-hook nil
 vm-rfc1153-digest-discard-header-regexp "\\(X400-\\)?Received:"
 vm-rfc1153-digest-headers '("Resent-" "Date:" "From:"
"Sender:" "To:" "Cc:"
			     "Subject:" "Message-ID:" "Keywords:")
 vm-rfc934-digest-discard-header-regexp nil
 vm-rfc934-digest-headers '("Resent-" "From:" "Sender:"
"To:" "Cc:" "Subject:"
			    "Date:" "Message-ID:" "Keywords:")
 vm-search-using-regexps nil
 vm-select-message-hook '(bbdb/vm-update-record
			  sjt-vm-clean-tlug-subjects-function)
 vm-select-new-message-hook nil
 vm-select-unread-message-hook nil
 vm-send-digest-hook nil
 vm-send-using-mime t
 vm-skip-deleted-messages t
 vm-skip-read-messages nil
 vm-spool-file-suffixes nil
 vm-spooled-mail-waiting-hook nil
 vm-startup-with-summary t
 vm-strip-reply-headers nil
 vm-subject-significant-chars nil
 vm-summary-format "%n %*%a %-17.17F %-3.3m %2d %4l/%-5c %I\"%s\"\n"
 vm-summary-highlight-face 'bold
 vm-summary-mode-hook nil
 vm-summary-mode-hooks nil
 vm-summary-redo-hook nil
 vm-summary-show-threads nil
 vm-summary-thread-indent-level 2
 vm-summary-uninteresting-senders nil
 vm-summary-uninteresting-senders-arrow "To: "
 vm-tale-is-an-idiot t
 vm-temp-file-directory "/tmp"
 vm-thread-using-subject t
 vm-toolbar-pixmap-directory
"/playpen/gnu/plat/lib/xemacs/xemacs-packages/etc/vm/"
 vm-trust-From_-with-Content-Length nil
 vm-undisplay-buffer-hook nil
 vm-unforwarded-header-regexp "only-drop-this-header"
 vm-url-browser 'w3-fetch-other-frame
 vm-url-retrieval-methods '(lynx wget url-w3)
 vm-url-search-limit 12000
 vm-use-menus '(folder motion send mark label sort virtual undo dispose emacs
		nil help)
 vm-use-toolbar '(next previous delete/undelete autofile file reply compose
		  print visit quit nil help)
 vm-virtual-folder-alist nil
 vm-virtual-mirror t
 vm-visible-headers '("From:" "Sender:" "To:"
"Apparently-To:" "Cc:"
		      "Message-ID:" "Subject:" "Date:"
"X-TLUG-serial:"
		      "X-Mailer:")
 vm-visit-folder-hook nil
 vm-visit-when-saving 0
 vm-warp-mouse-to-new-frame nil
 vm-wget-program "wget"
 vm-window-configuration-file "~/.vm.windows"
 features '(reporter emacsbug vm-edit leim-canna-initialized canna poem
	    poem-xm pces pces-xfc pces-20 broken pces-xm poe-xemacs timer
	    overlay poe pym static apel-ver product efs-dired efs-x19\.15
	    efs-fnh efs-ovwrt efs-netrc efs-defun efs edmacro passwd shell
	    comint ring rfc822 vm-thread vm-mark facemenu enriched
	    mail-abbrevs sendmail vm-reply vm-sort vm-delete vm-minibuf
	    vm-macro vm-virtual font disp-table highlight-headers vm-mime
	    bbdb-xemacs bbdb-com bbdb-hooks vm-page vm-save vm-toolbar
	    vm-summary tapestry vm-motion vm-undo vm-message vm-menu vm-folder
	    vm-misc vm-mouse vm-window bbdb-vm vm-autoload vm-vars vm-version
	    vm vm-startup env dired-faces dired-xemacs dired info psgml-xemacs
	    sgml-mode psgml cc-mode cc-cmds cc-align cc-engine cc-langs
	    cc-styles cc-vars cc-menus imenu cc-defs efs-cu desktop gnuserv
	    font-lock filladapt bbdb-w3 bbdb-sc supercite regi bbdb-reportmail
	    advice advice-preload reportmail mail-extr bbdb-gnus gnus gnus-ems
	    gnus-xmas wid-edit gnus-util message messagexmas cus-face mml
	    mm-decode mm-encode mailcap mm-bodies uudecode mail-parse rfc2045
	    rfc2047 qp rfc2231 ietf-drums time-date parse-time nnheader
	    nnheaderxm mail-utils mailheader mm-util mail-prsvr bbdb t
	    timezone footnote tex-site dotxemacs-init xemacs-devel-autoloads
	    xemacs-base-autoloads w3-autoloads vm-autoloads
	    view-process-autoloads vc-autoloads tm-autoloads time-autoloads
	    textools-autoloads text-modes-autoloads texinfo-autoloads
	    supercite-autoloads strokes-autoloads speedbar-autoloads
	    slider-autoloads skk-autoloads sh-script-autoloads
	    reftex-autoloads psgml-autoloads prog-modes-autoloads
	    pcl-cvs-autoloads pc-autoloads os-utils-autoloads
	    net-utils-autoloads mule-base-autoloads misc-games-autoloads
	    mine-autoloads mailcrypt-autoloads mail-lib-autoloads
	    leim-autoloads ispell-autoloads igrep-autoloads
	    hm--html-menus-autoloads gnus-autoloads gnuplot-mode-autoloads
	    gnats-autoloads games-autoloads fsf-compat-autoloads
	    frame-icon-autoloads forms-autoloads footnote-autoloads
	    eudc-autoloads eterm-autoloads egg-its-autoloads efs-autoloads
	    edit-utils-autoloads ediff-autoloads edict-autoloads
	    edebug-autoloads dired-autoloads crisp-autoloads cookie-autoloads
	    cc-mode-autoloads calendar-autoloads calc-autoloads
	    c-support-autoloads bbdb-autoloads auctex-autoloads apel-autoloads
	    lisp-autoloads vc-hooks efs-dump loadhist auto-show fontl-hooks
	    x-iso8859-1 canna-leim slovenian czech romanian ccl mule-help
	    code-cmds gutter-items menubar-items x-menubar mode-motion mouse
	    itimer auto-save lisp-mode easymenu iso8859-1 page buff-menu
	    lib-complete cus-file derived frame text-props obsolete cus-start
	    custom widget cl-extra mini-cl cl cl-19 packages backquote
	    very-early-lisp CANNA file-coding mule lucid-scrollbars cut-buffer
	    lucid-menubars athena-dialogs x c-balloon-help tty-frames tty
	    toolbar native-sound scrollbar unix-processes multicast
	    network-streams subprocesses modules menubar berkeley-db md5
	    xemacs xim gutter tiff png gif jpeg xface xpm xbm lisp-float-type
	    linux dialog devices window-system base64)
 )
-- 
University of Tsukuba                Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences       Tel/fax: +81 (298) 53-5091
_________________  _________________  _________________  _________________
What are those straight lines for?  "XEmacs rules."
    
    
    
 
                    
                    
                        
                        Show replies by date
                        
                    
                    
                    
                        
                            
                
                
                    
                    
                    
     
    
        Use save-window-excursion instead of save-excursion.