[25545] in Athena Bugs
sun4 9.2.25: mailcap / pine
daemon@ATHENA.MIT.EDU (Jacob Morzinski)
Thu Mar 4 13:54:45 2004
Message-Id: <200403041854.i24Isbpf023610@multics.mit.edu>
To: bugs@mit.edu
Date: Thu, 04 Mar 2004 13:54:31 -0500
From: "Jacob Morzinski" <jmorzins@mit.edu>
Errors-To: bugs-bounces@mit.edu
System name: multics.mit.edu
Type and version: UltraAX-i2 9.2.25 (with mkserv)
Display type: unknown
Shell: /bin/sh (/bin/athena/tcsh?)
Window manager: unknown
What were you trying to do?
Read mime mail with pine.
What's wrong:
Some messages corrupt the on-screen text when displayed.
The messages that do so are ones with mime content-types
that don't have an Athena-defined handler. When pine
loads such a message, the text "Unknown content type"
is dumped to the screen. Pine is a full-screen curses
application... curses applications do not deal well with
random text being dumped to the screen.
As a typical example, here is a message I've received.
Note the corrupted display caused by the mailcap printing
error messages to the screen. (A more common attachment
type that triggers this problem is zip file attachments.)
---------------------------------------------------------------------------
From: aliab@MIT.EDU
Date: Thu, 4 Mar 2004 02:57:53 -0500
To: Jacob Morzinski <jmorzins@MIT.EDUUnknown content type application/MS-TNEF
Parts/Attachments: Unknown content type application/MS-TNEF
Parts/Attachments:
---------------------------------------------------------------------------
What's going on behind the scenes is that when pine
prepares to show a message to the user, pine checks any
attached content types against the rules in the mailcap
file. (Athena's mailcap is in /usr/athena/etc/mailcap )
It does this while printing message headers, before
printing the message body.
Athena's mailcap file runs tests for most content types,
and the problem is that many tests assume that they are
free to print text to the screen.
When run under pine, this is definitely a wrong assumption.
Diagnostic text dumped to the screen repositions the
cursor, causing the curses library to have corrupted
knowledge about the state of the screen. The screen
display becomes ugly, and often remains ugly for the next
few messages (since curses is smart about not redrawing
parts of the screen that it "knows" are empty).
What should have happened:
Mailcap entries used by pine should either:
(1) not print text to the screen,
or
(2) only print text to the screen under "needsterminal"
or "copiousoutput" conditions.
Please describe any relevant documentation references:
...
Thank you,
-Jacob