[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: My God ... Its full of epsilons!
    Date: Thu, 7 Sep 89 17:14 EDT
    From: Palter@STONY-BROOK.SCRC.Symbolics.COM (Gary M. Palter)
	Date: 5 Sep 1989 08:40-EDT
	From: ROSENKING@A.ISI.EDU
	Please broadcast an answer to this message to the whole [SLUG] list. Thanks.
    Try this Zmail command:
1    ;;; -*- Mode: LISP; Syntax: Common-lisp; Package: ZWEI; Base: 10; Lowercase: T -*-
    ;;; Reparse a message
0    (define-zmail-top-level-command 2com-zmail-reparse-msg
0      "Reparse the current message.
    With a numeric argument, reinterprets the character style mappings in the message."
				    (numeric-arg-ok)
      (when *numeric-arg-p*
	(setf (msg-fattened-p *msg*) nil))
      (reparse-msg *msg*)
      dis-text)
I hadn't thought I'd need this but one of the people who read their mail
via Decnet forwarded a message out to SLUG with the character type mappings
in the body, not in the header.  I first tried editing the msg (in
ZMAIL) and just merging the second header with the first but the
epsilons weren't decoded when I exited the edit.  Then I called C-U M-X
REPARSE MSG but nothing seemed to happen.  Then I went back into the
header and found the CHARACTER-TYPE-MAPPINGS header was no longer there.
I presume what happened was the CHARACTER-TYPE-MAPPINGS was essentially
flushed and recomputed when I finished editing the msg so the info
wasn't available when I tried to reparse it.  (The recomputation only finds
the one default style as no characters were in any other style.)
So what I did was to trace ZWEI:UPDATE-MSG-CHARACTER-TYPE-MAPPINGS so it
broke when I entered it after (another round of) finishing the editing
the msg to put the CHARACTER-TYPE-MAPPINGS header back in (which I got
from the original inbox).  (ZWEI:UPDATE-MSG-CHARACTER-TYPE-MAPPINGS was
called within REPARSE-MSG within EDIT-MSG.  I just told it to return
without doing its normal work.  Then a C-U M-X REPARSE MSG did work
properly.
In short, Palter's function above was not enough by itself (or maybe it
requires more explanation!).