[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!).