🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.vm.bug
Article #8697

vm plans (was VM and MIME parsing)

#8697
From: Kyle Jones
Date: Wed, 25 Aug 1993 04:21
68 lines
4257 bytes
 > >  VM is not structured properly for this.  This is one of the reasons
 > > why I have held out on layering on more features that will
 > > complicate the eventual restructuring that must occur to properly
 > > support MIME and other features that should be added.
 > 
 > You obviously have given this a lot of thought. Could you maybe air
 > your plans on gnu.emacs.vm.info, or the appropriate newsgroup of your
 > choice? I, for one, would be very interested to see them.

It's boring stuff mostly, fixing poor choices I made when I
heaped features on VM practically daily.  VM wasn't really
designed, it started from a loose kernel and just grew.  I wrote
the first pass in a few work days because I was tired of waiting
for emacs to start up when I replied to mail.  I used it and was
mostly satisfied with it.  I made the mistake of giving this VM
to an old co-worker and have been adding things to it ever
since.

Some things I'm going to be dealing with in no particular order:

- hook functions.  People have been asking for them for an
  eternity but I haven't wanted to add them until I could do them
  right.  That is, I wanted to pick the right hooks and make sure
  that they were executed in useful contexts.  I settled on three
  so far and am thinking about 60 or 70 more.

- VM uses inhibit-quit too much.  I need to change how VM
  maintains its internal data structures so that they stay
  consistent in the face of user interrupts.  Up until this point
  I have copped out and locked out interrupts, often for too long
  in the code.

- virtual folders code is wrong, wrong, wrong.  It will never
  work the way I'm doing it currently.  virtual folders and real
  folders can't share the same buffers, so virtual messages will
  to be created on the fly by copying them.  This might be slow
  but there's no way around it.  Probably can get some speed by
  doing it incrementally if the user uses previewing.  Hopefully
  some pretty gross code dealing with local variables will go away
  with the virtual folders fix.

- display code is intertwined in the code a bit too much.  Need
  to pull it out, make it modular or at least separate.  Part of
  that work has been done with the window configuration code.
  Need to add more code to construct configuration of the fly so
  that the VM specific window code can go away completely.  This
  probably won't work in reality, since I can't seem to get Emacs
  windows to behave correctly without ad hockery.  Need to expand
  tapestry.el to incldue the new X frame stuff for FSF19.  Gotta
  get Lucid Emacs built at some point and learn more about it's
  windowing.  Jamie, help!
 
- message types; this will probably go along with the virtual
  folder work.  Have to have them if virtual folders are going to
  map over different folder types.  Message type field is alreayd
  present.  Need a new field in the message struct to
  accurately point to the start of the headers, and maybe another
  field to point to the end of the text section of the message.

- message encapsulation and digests; Whole thing needs to be
  modularized and rewritten in preparation for MIME.  Multipart
  messages and message encapsulation have too much in common not to
  share code.

There's more, and I have notes and mail messages galore, but
these are the things that have been on my mind lately.  Some of
it will have to wait.  VM 5 should be stabilized and taken out of
beta before some of this is done.
Technical Details
Message-ID: <9308250421.AA02421@crystal.WonderWorks.com>
Path: arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!yale.edu!spool.mu.edu!howland.reston.ans.net!europa.eng.gtefsd.com!uunet!wendy-fate.uu.net!bug-vm
References: <9308190646.AA00213@flame.falch.no>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f6829,b6426d1d59b23cf1,start
X-Google-Attributes: gidf6829,public
X-Google-ArrivalTime: 1993-08-24 21:24:54 PST
x-gateway: relay2.UU.NET from bug-vm to gnu.emacs.vm.bug; Wed, 25 Aug 1993 00:22:41 EDT
Date: Wed, 25 Aug 1993 00:21:41 -0400
Message-ID: <9308250421.AA02421@crystal.WonderWorks.com>
From: kyle@crystal.WonderWorks.com (Kyle Jones)
Subject: vm plans
         (was VM and MIME parsing)
References: <9308190646.AA00213@flame.falch.no>
Newsgroups: gnu.emacs.vm.bug
Path: arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!yale.edu!spool.mu.edu!howland.reston.ans.net!europa.eng.gtefsd.com!uunet!wendy-fate.uu.net!bug-vm
Sender: bug-vm-request@uunet.uu.net
Lines: 68