[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nmh-workers] exciting new stuff for 2.0

From: Harald Geyer
Subject: Re: [Nmh-workers] exciting new stuff for 2.0
Date: Thu, 22 Dec 2005 16:10:37 +0100

> So what exactly are the plans for 2.0?

I think the more important question is: Which of the various plans that
people have, need a major effort before the can be released and which
things can drip in as they get done? For the later i think Jon's 
approach of "Do whatever you like to see!" is just the right thing.

> Here are some things I'd like to see, in increasing order of complexity:
> * I'd like to see all the hacky messing with stdio internals taken out in
> favour of using the proper APIs. This kind of thing was added as a
> performance hack decades ago when MH was running on VAXen -- surely we
> can afford to take it out now? We wind up with #ifdefs for different
> kinds of stdio library and we still hit portability problems: see for
> instance https://savannah.nongnu.org/bugs/?func=detailitem&item_id=3945.

I think this could be done step by step by whoever volunteers without 
affecting release plans much.

> * I'd also prefer much less reliance on fixed-size buffers. Again, these
> were a good idea in 1980 but these days they mostly mean arbitrary length
> limits at best and security holes at worst.

Same here.

> * We really need much better support for MIME and non-ASCII character
> sets. This means fixing simpler things like scan thinking that
> one byte == one character == one screen column:
> https://savannah.nongnu.org/bugs/?func=detailitem&item_id=15017
> and also more general support for seamlessly translating between the
> charset of an email and the locale charset when viewing and editing
> email. My opinion (given in slightly more detail in this PR:
> https://savannah.nongnu.org/bugs/?func=detailitem&item_id=15214
> ) is that we should have some extra thing you can specify in your repl
> filter file (and which should be in the default one, probably) which
> says "select the right part of a multipart MIME mail, decode
> quoted-printable or base-64, and convert charset as specified by MIME
> header into the charset for the user's locale". Then when you finish
> editing and before sending it we need to (semi-?)automatically add
> the right MIME headers and translate charsets again.
> The aim is that reading and replying to an email in Japanese should
> require no extra steps beyond what you'd do for an email in English.

Yes, this is a major issue lurking for a long time. This is not restricted
to repl though. It affects pretty much everthing in nmh. Does anybody have
a good design for this in their drawer? 

One MIME thing that I thought about is message signing and verification.
I wonder if this should be implemented as a new program which interacts
with the rest through sequences, annotations or whatever. But of course
this is strongly related to multipart handling, which we probably should
resolve first.

> * Threading support. This is one of the obvious things missing from
> nmh that just about all modern mailers support.

I'm not that sure about this. After all it's about e-mail not usenet.
I have something like 

thread () {
        pick -subject $1 -seq thread
        scan thread
which does all I need.

> I had a play at adding
> it ages ago. This is my suggestion for a UI:
>  + all commands that take a range of message numbers take a new option
>    switch -[no]thread which causes them to run the threading algorithm
>    on the set of messages and process them in thread order rather than
>    numerical order

Hmm, that would drop the traditional UNIX tradition of "one feature one
tool". I think sorting Messages is the job of sortm. Also this would
make the commands much slower.

>  + sortm takes -[no]thread which makes it sort primarily by thread order
>    (with siblings subsorted by whatever other sort options are given)

Yes, I think adding new algorithms to sortm (and pick) would be a good
idea. This can be done independently from everything else.

>  + we should have a new format string escape sequence to add an ASCII
>    representation of the thread tree, so you can make scan display
>    something like this:
>  441  12/18 Joel Uckelman o     [Nmh-workers] mhshow: invalid QUO
>  442  12/18 Josh Bressers +o    Re: [Nmh-workers] mhshow: invalid
>  443  12/18 Paul Fox      +o    Re: [Nmh-workers] mhshow: invalid
>  444  12/18 Joel Uckelman |+o   Re: [Nmh-workers] mhshow: invalid
>  448  12/19 To:nmh-worker | +o  Re: [Nmh-workers] mhshow: invalid
>  447  12/19 To:nmh-worker +o    Re: [Nmh-workers] mhshow: invalid

Would this really be useful? I think to pick one thread but sort it
by Date rather than as tree is much more natural for ML discussions.

>    (better ASCII-art thread tree suggestions welcome)

How about:
  441  12/18 Joel Uckelman (0)   [Nmh-workers] mhshow: invalid QUO
  442  12/18 Josh Bressers (1)   Re: [Nmh-workers] mhshow: invalid
  443  12/18 Paul Fox      (1)   Re: [Nmh-workers] mhshow: invalid
  444  12/18 Joel Uckelman (2)   Re: [Nmh-workers] mhshow: invalid
  448  12/19 To:nmh-worker (3)   Re: [Nmh-workers] mhshow: invalid
  447  12/19 To:nmh-worker (1)   Re: [Nmh-workers] mhshow: invalid

This would provide - depending on sorting - the same information as
above, could be calculated statically/on a per message basis, would be
easier to represent on a terminal and easier to parse for humans if the
thread is longer than the screen.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]