[In a message on Thu, 24 Jan 2002 15:52:05 PST,
"Jon Steinhart" wrote:]
>OK, here's what I'm seeing.
>
>I just incorporated the messages from each of you. These ended up
>being messa ge numbers 3913-3916 (because you each cc'd me in
>addition to posting to the list list so I got two of each) in my
>inbox, located in /export/home/jon/Mail/inbox.
>
>I deleted (rmm) message 3916. I then did "mhpath cur" and it returned
>
> /export/home/jon/Mail/inbox/3916
That's because the rmm did *NOT* change the cur=3916 in .mh_sequences
in your inbox.
I just did the same thing (I have a two-line shell prompt, the first
of which prints my current path):
/home/catenary/kamath/Mail
{195}(kamath@red) -> : more inbox/.mh_sequences
cur: 227
unseen: 213 218-226
/home/catenary/kamath/Mail
{196}(kamath@red) -> : show last
(Message inbox:228)
Date: Thu, 24 Jan 2002 18:08:54 PST
To: [EMAIL PROTECTED]
From: Sean Kamath <[EMAIL PROTECTED]>
Subject: test
Return-Path: [EMAIL PROTECTED]
Delivery-Date: Thu Jan 24 18:08:56 2002
X-image-url: http://www.geekoids.com/kamath/images/face.gif
X-url: http://www.geekoids.com/kamath
Reply-to: [EMAIL PROTECTED]
MIME-Version: 1.0
foo
/home/catenary/kamath/Mail
{197}(kamath@red) -> : rmm
/home/catenary/kamath/Mail
{198}(kamath@red) -> : more inbox/.mh_sequences
cur: 228
unseen: 213 218-226
/home/catenary/kamath/Mail
{199}(kamath@red) -> : mhpath cur
/home/catenary/kamath/Mail/inbox/228
/home/catenary/kamath/Mail
{200}(kamath@red) -> : show 228
show: message 228 doesn't exist
/home/catenary/kamath/Mail
{201}(kamath@red) -> : mhpath new
/home/catenary/kamath/Mail/inbox/228
/home/catenary/kamath/Mail
{202}(kamath@red) -> :
So, the .mh_seqences isn't updated, mhpath says "here's the path to
the non-existant current message", and yet when you call 'mhpath new',
it will check to see what the next message *would* be numbered (which
would be 228)
>This is the same thing that "mhpath new" returns. I would expect "cur" to say
>"no cur message" and "new" to return the above.
Fundementally, if mhpath checked to see if there actually was a file
for the current message, it would return "no cur message". But the
message really means "a cur message number is assigned", not "there is
a current message, and it is <blort>". This is what I think the
set_select_empty means (it allows selection of an empty slot):
About 10 lines after your quote:
/*
* Cycle through the range and select the messages
* that exist. If ALLOW_NEW is set, then we also check
* if we are selecting an empty slot.
*/
for (; first <= last; first++) {
if (does_exist (mp, first) ||
((mp->msgflags & ALLOW_NEW) && is_select_empty (mp, first))) {
This reads to me that it's OK if we just asked for a message number
that doesn't have a file associated with it.
I can't think of a way to change this behaviour that fixes mhpath but
doesn't break other things calling m_convert. . . But I've only
looked at it for 10 minutes (and I'm in the middle of an OpenBSD
kernel bug I'm waiting to recompile to test).
>So I guess that I don't understand how Neil and Sean are seeing what they're
>seeing.
So, I *think* this clears up why we're seeing what you're seeing (and
my inclusion shows I see the same behaviour when I do exactly what you
did (oh, and I had to remove my context file, since it was caching the
current file, in order to show the .mh_sequences file.).
Sean