Commits

Anonymous committed 4bc372d

Synch with VM-6.41

Comments (0)

Files changed (36)

+1998-02-14  SL Baur  <steve@altair.xemacs.org>
+
+	* Synch with VM-6.41
+
 1998-01-24  SL Baur  <steve@altair.xemacs.org>
 
 	* Makefile (VERSION): Update to package standard 1.0.
 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 # Boston, MA 02111-1307, USA.
 
-VERSION = 1.04
-AUTHOR_VERSION = 6.34
+VERSION = 1.05
+AUTHOR_VERSION = 6.41
 MAINTAINER = XEmacs Development Team <xemacs-beta@xemacs.org>
 PACKAGE = vm
 PKG_TYPE = regular
Old
Old image
New
New image
 /* XPM */
 static char * autofile_xpm[] = {
-"64 42 5 1",
+"64 42 6 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "o	c black",
 "O	c Gray60",
 "+	c Gray90",
 "XXXXXXXXXXXXXXXXXXXXXXXXXooooooooooooooooXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXooXXXXXXXXXXXooXXXXXXXXXXooooooooXooXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXooooXXXXXXXXXXooXXXXXXXXXXooXXXXXXXooXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXoXXoXXooXXooXooooXXooooXXXooXXXXooXooXXooooXXXXXXXXXXX",
-"XXXXXXXXXooXXooXooXXooXXooXXooXXooXXooXXXXooXooXooXXooXXXXXXXXXX",
-"XXXXXXXXXooXXooXooXXooXXooXXooXXooXXoooooXooXooXooXXooXXXXXXXXXX",
-"XXXXXXXXXooooooXooXXooXXooXXooXXooXXooXXXXooXooXooooooXXXXXXXXXX",
-"XXXXXXXXooXXXXooooXXooXXooXXooXXooXXooXXXXooXooXooXXXXXXXXXXXXXX",
-"XXXXXXXXooXXXXooooXoooXXooXoooXXooXXooXXXXooXooXooXXooXXXXXXXXXX",
-"XXXXXXXXooXXXXooXooXooXXXooXXooooXXXooXXXXooXooXXooooXXXXXXXXXXX",
+"XXXXXXXXXXX,,XXXXXXXXXXX,,XXXXXXXXXX,,,,,,,,X,,XXXXXXXXXXXXXXXXX",
+"XXXXXXXXXX,,,,XXXXXXXXXX,,XXXXXXXXXX,,XXXXXXX,,XXXXXXXXXXXXXXXXX",
+"XXXXXXXXXX,XX,XX,,XX,,X,,,,XX,,,,XXX,,XXXX,,X,,XX,,,,XXXXXXXXXXX",
+"XXXXXXXXX,,XX,,X,,XX,,XX,,XX,,XX,,XX,,XXXX,,X,,X,,XX,,XXXXXXXXXX",
+"XXXXXXXXX,,XX,,X,,XX,,XX,,XX,,XX,,XX,,,,,X,,X,,X,,XX,,XXXXXXXXXX",
+"XXXXXXXXX,,,,,,X,,XX,,XX,,XX,,XX,,XX,,XXXX,,X,,X,,,,,,XXXXXXXXXX",
+"XXXXXXXX,,XXXX,,,,XX,,XX,,XX,,XX,,XX,,XXXX,,X,,X,,XXXXXXXXXXXXXX",
+"XXXXXXXX,,XXXX,,,,X,,,XX,,X,,,XX,,XX,,XXXX,,X,,X,,XX,,XXXXXXXXXX",
+"XXXXXXXX,,XXXX,,X,,X,,XXX,,XX,,,,XXX,,XXXX,,X,,XX,,,,XXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * compose_xpm[] = {
-"64 42 5 1",
+"64 42 6 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "o	c black",
 "O	c Gray90",
 "+	c Gray60",
 "XXXXXXXXXXXXXXXXXXXXXXXXXooooooooooooooXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXooooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXooXXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXooXXXXXXooooXXoXoooXoooXXooXooXXXooooXXXooooXXXooooXXXXXXX",
-"XXXXXXooXXXXXooXXooXooXXooXXooXoooXooXooXXooXooXXooXooXXooXXXXXX",
-"XXXXXXooXXXXXooXXooXooXXooXXooXooXXooXooXXooXoooXXXXooXXooXXXXXX",
-"XXXXXXooXXXXXooXXooXooXXooXXooXooXXooXooXXooXXXoooXXooooooXXXXXX",
-"XXXXXXooXXXXXooXXooXooXXooXXooXooXXooXooXXooXXXXoooXooXXXXXXXXXX",
-"XXXXXXXooXXooooXXooXooXXooXXooXoooXooXooXXooXooXXooXooXXooXXXXXX",
-"XXXXXXXXooooXXooooXXooXXooXXooXooXooXXXooooXXXooooXXXooooXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXX,,,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXX,,XX,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXX,,XXXXXX,,,,XX,X,,,X,,,XX,,X,,XXX,,,,XXX,,,,XXX,,,,XXXXXXX",
+"XXXXXX,,XXXXX,,XX,,X,,XX,,XX,,X,,,X,,X,,XX,,X,,XX,,X,,XX,,XXXXXX",
+"XXXXXX,,XXXXX,,XX,,X,,XX,,XX,,X,,XX,,X,,XX,,X,,,XXXX,,XX,,XXXXXX",
+"XXXXXX,,XXXXX,,XX,,X,,XX,,XX,,X,,XX,,X,,XX,,XXX,,,XX,,,,,,XXXXXX",
+"XXXXXX,,XXXXX,,XX,,X,,XX,,XX,,X,,XX,,X,,XX,,XXXX,,,X,,XXXXXXXXXX",
+"XXXXXXX,,XX,,,,XX,,X,,XX,,XX,,X,,,X,,X,,XX,,X,,XX,,X,,XX,,XXXXXX",
+"XXXXXXXX,,,,XX,,,,XX,,XX,,XX,,X,,X,,XXX,,,,XXX,,,,XXX,,,,XXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * delete_xpm[] = {
-"64 42 4 1",
+"64 42 5 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "o	c black",
 "O	c white",
 "+	c Gray60",
 "XXXXXXXXXXXXXXXXXXXXXXXXXooooooooooooooXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXoooooXXXXXXXXXXooXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXooXXooXXXXXXXXXooXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXooXXXooXXooooXXooXXooooXXooooXXooooXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXooXXXooXooXXooXooXooXXooXXooXXooXXooXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXooXXXooXooXXooXooXooXXooXXooXXooXXooXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXooXXXooXooooooXooXooooooXXooXXooooooXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXooXXXooXooXXXXXooXooXXXXXXooXXooXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXooXXooXXooXXooXooXooXXooXXooXoooXXooXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXoooooXXXXooooXXooXXooooXXXXooXXooooXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXX,,,,,XXXXXXXXXX,,XXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXX,,XX,,XXXXXXXXX,,XXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXX,,XXX,,XX,,,,XX,,XX,,,,XX,,,,XX,,,,XXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXX,,XXX,,X,,XX,,X,,X,,XX,,XX,,XX,,XX,,XXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXX,,XXX,,X,,XX,,X,,X,,XX,,XX,,XX,,XX,,XXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXX,,XXX,,X,,,,,,X,,X,,,,,,XX,,XX,,,,,,XXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXX,,XXX,,X,,XXXXX,,X,,XXXXXX,,XX,,XXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXX,,XX,,XX,,XX,,X,,X,,XX,,XX,,X,,,XX,,XXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXX,,,,,XXXX,,,,XX,,XX,,,,XXXX,,XX,,,,XXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * file_xpm[] = {
-"64 42 5 1",
+"64 42 6 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "o	c black",
 "O	c Gray60",
 "+	c Gray90",
 "XXXXXXXXXXXXXXXXXXXXXXXXXooooooooooooooooXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXooooooooXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXooXXXXooXooXXooooXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXooXXXXooXooXooXXooXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXoooooXooXooXooXXooXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXooXXXXooXooXooooooXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXooXXXXooXooXooXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXooXXXXooXooXooXXooXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXooXXXXooXooXXooooXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,,,,,,,,X,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,,XXXX,,X,,XX,,,,XXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,,XXXX,,X,,X,,XX,,XXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,,,,,X,,X,,X,,XX,,XXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,,XXXX,,X,,X,,,,,,XXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,,XXXX,,X,,X,,XXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,,XXXX,,X,,X,,XX,,XXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,,XXXX,,X,,XX,,,,XXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * getmail-up_xpm[] = {
-"64 42 6 1",
+"64 42 7 1",
 " 	c #C3C3C3C3C3C3 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "@ 	c #C0C0C0C0C0C0",
 ".	c #000000000000",
 "X	c #808080808080",
 "                                 ....                           ",
 "                                                                ",
 "                                                                ",
-"                         .                                      ",
-"          .....          ..       ..     ..        .. ..        ",
-"         ..   ..         ..       ..     ..           ..        ",
-"        ..        ....  ....      ...   ...  ....  .. ..        ",
-"        ..       ..  ..  ..       ...   ... ..  .. .. ..        ",
-"        ..  .... ..  ..  ..       .... ....     .. .. ..        ",
-"        ..    .. ......  ..       .. . . ..  ..... .. ..        ",
-"        ..    .. ..      ..       .. ... .. ..  .. .. ..        ",
-"         ..   .. ..  ..  .. .     ..  .  .. ..  .. .. ..        ",
-"          .... .  ....    ..      ..  .  ..  ... .... ..        ",
+"                         ,                                      ",
+"          ,,,,,          ,,       ,,     ,,        ,, ,,        ",
+"         ,,   ,,         ,,       ,,     ,,           ,,        ",
+"        ,,        ,,,,  ,,,,      ,,,   ,,,  ,,,,  ,, ,,        ",
+"        ,,       ,,  ,,  ,,       ,,,   ,,, ,,  ,, ,, ,,        ",
+"        ,,  ,,,, ,,  ,,  ,,       ,,,, ,,,,     ,, ,, ,,        ",
+"        ,,    ,, ,,,,,,  ,,       ,, , , ,,  ,,,,, ,, ,,        ",
+"        ,,    ,, ,,      ,,       ,, ,,, ,, ,,  ,, ,, ,,        ",
+"         ,,   ,, ,,  ,,  ,, ,     ,,  ,  ,, ,,  ,, ,, ,,        ",
+"          ,,,, ,  ,,,,    ,,      ,,  ,  ,,  ,,, ,,,, ,,        ",
 "                                                                ",
 "                                                                ",
 "                                                                ",
Old
Old image
New
New image
 /* XPM */
 static char * help3_xpm[] = {
-"64 42 6 1",
+"64 42 7 1",
 "X  	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "i	c Gray20",
 "@	c rgb:00/df/ff",
 "T	c red",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiTTTiiXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiiiXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXooooXXXXXXXXXXXXXXXooXooXXXXXoooooXXXXXXXXXXXXXXooXXXXXXXooXXX",
-"XXooXooXXXXXXXXXXXXXXXoXooXXXXXooXXooXXXXXXXXXXXXXXXXXXXXXXooXXX",
-"XXooXXooXXoooXXoXooXXoXXoooXXXXooXXooXXoooXXoXooXXooXXoooXXooXXX",
-"XXooXXooXooXooXooXooXXXXooXXXXXooXXooXoXXooXooXooXooXooXoXXooXXX",
-"XXooXXooXooXooXooXooXXXXooXXXXXoooooXXXooooXooXooXooXooXXXXooXXX",
-"XXooXXooXooXooXooXooXXXXooXXXXXooXXXXXooXooXooXooXooXooXXXXooXXX",
-"XXooXooXXooXooXooXooXXXXooXXXXXooXXXXXooXooXooXooXooXooXoXXXXXXX",
-"XXooooXXXXoooXXooXooXXXXXooXXXXooXXXXXXooXooooXooXooXXoooXXooXXX",
+"XX,,,,XXXXXXXXXXXXXXX,,X,,XXXXX,,,,,XXXXXXXXXXXXXX,,XXXXXXX,,XXX",
+"XX,,X,,XXXXXXXXXXXXXXX,X,,XXXXX,,XX,,XXXXXXXXXXXXXXXXXXXXXX,,XXX",
+"XX,,XX,,XX,,,XX,X,,XX,XX,,,XXXX,,XX,,XX,,,XX,X,,XX,,XX,,,XX,,XXX",
+"XX,,XX,,X,,X,,X,,X,,XXXX,,XXXXX,,XX,,X,XX,,X,,X,,X,,X,,X,XX,,XXX",
+"XX,,XX,,X,,X,,X,,X,,XXXX,,XXXXX,,,,,XXX,,,,X,,X,,X,,X,,XXXX,,XXX",
+"XX,,XX,,X,,X,,X,,X,,XXXX,,XXXXX,,XXXXX,,X,,X,,X,,X,,X,,XXXX,,XXX",
+"XX,,X,,XX,,X,,X,,X,,XXXX,,XXXXX,,XXXXX,,X,,X,,X,,X,,X,,X,XXXXXXX",
+"XX,,,,XXXX,,,XX,,X,,XXXXX,,XXXX,,XXXXXX,,X,,,,X,,X,,XX,,,XX,,XXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * next_xpm[] = {
-"64 42 3 1",
+"64 42 4 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "W	c white",
 "o	c black",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXoXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXoWoXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXooooooooooooooooWWoXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXoWWWWWWWWWWWWWWWWoWoXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXoWoooooooooooooooooWoXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXoWooooooooooooooooooooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXoWoooooooooooooooooooXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXooooooooooooooooooooXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXoooooooooooooooooooXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXoooXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXoXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,W,XXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXX,,,,,,,,,,,,,,,,WW,XXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXX,WWWWWWWWWWWWWWWWoW,XXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXX,WoooooooooooooooooW,XXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXX,Wooooooooooooooooooo,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXX,Woooooooooooooooooo,XXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXX,oooooooooooooooooo,XXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXX,,,,,,,,,,,,,,,,oo,XXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,o,XXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXXooXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXoooXXooXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXoooXXooXXooooXXooXXooXooooXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXoXooXooXXooXooXXooXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXoXooXooXXooXXooooXXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXoooXooooooXXXooXXXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXoooXooXXXXXXooooXXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXXooXooXXooXooXXooXXooXoXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXXooXXooooXXooXXooXXXooXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XXX,,XXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,,XX,,XXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,,XX,,XX,,,,XX,,XX,,X,,,,XXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,X,X,,X,,XX,,X,,XX,,XX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,X,X,,X,,XX,,XX,,,,XXX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XX,,,X,,,,,,XXX,,XXXX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XX,,,X,,XXXXXX,,,,XXX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XXX,,X,,XX,,X,,XX,,XX,,X,XXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XXX,,XX,,,,XX,,XX,,XXX,,XXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * previous_xpm[] = {
-"64 42 3 1",
+"64 42 4 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "W	c white",
 "o	c black",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXoXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXoWoXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXoWWooooooooooooooooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXoWoWWWWWWWWWWWWWWWWoXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXoWoooooooooooooooooWoXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXooooooooooooooooooooWoXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXoooooooooooooooooooWoXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXooooooooooooooooooooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXoooooooooooooooooooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXoooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXoXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXX,W,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXX,WW,,,,,,,,,,,,,,,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,WoWWWWWWWWWWWWWWWW,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXX,WoooooooooooooooooW,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXX,oooooooooooooooooooW,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXX,ooooooooooooooooooW,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXX,oooooooooooooooooo,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXX,oo,,,,,,,,,,,,,,,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXX,o,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXooooooXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXooXXXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXooXXXooooXooXooooXXooXXXooXooXXooooXXooXXooXXooooXXXXXXXXX",
-"XXXXXXooXXXoooooooooXXooXooXXXooXooXooXXooXooXXooXooXXooXXXXXXXX",
-"XXXXXXooooooXoooXXooXXooXXooXooXXooXooXXooXooXXooXoooXXXXXXXXXXX",
-"XXXXXXooXXXXXooXXXooooooXXooXooXXooXooXXooXooXXooXXXoooXXXXXXXXX",
-"XXXXXXooXXXXXooXXXooXXXXXXXoooXXXooXooXXooXooXXooXXXXoooXXXXXXXX",
-"XXXXXXooXXXXXooXXXooXXooXXXoooXXXooXooXXooXooXoooXooXXooXXXXXXXX",
-"XXXXXXooXXXXXooXXXXooooXXXXXoXXXXooXXooooXXXooXooXXooooXXXXXXXXX",
+"XXXXXX,,,,,,XXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXX,,XXX,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXX,,XXX,,,,X,,X,,,,XX,,XXX,,X,,XX,,,,XX,,XX,,XX,,,,XXXXXXXXX",
+"XXXXXX,,XXX,,,,,,,,,XX,,X,,XXX,,X,,X,,XX,,X,,XX,,X,,XX,,XXXXXXXX",
+"XXXXXX,,,,,,X,,,XX,,XX,,XX,,X,,XX,,X,,XX,,X,,XX,,X,,,XXXXXXXXXXX",
+"XXXXXX,,XXXXX,,XXX,,,,,,XX,,X,,XX,,X,,XX,,X,,XX,,XXX,,,XXXXXXXXX",
+"XXXXXX,,XXXXX,,XXX,,XXXXXXX,,,XXX,,X,,XX,,X,,XX,,XXXX,,,XXXXXXXX",
+"XXXXXX,,XXXXX,,XXX,,XX,,XXX,,,XXX,,X,,XX,,X,,X,,,X,,XX,,XXXXXXXX",
+"XXXXXX,,XXXXX,,XXXX,,,,XXXXX,XXXX,,XX,,,,XXX,,X,,XX,,,,XXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * print_xpm,[] = {
-"64 42 6 1",
+"64 42 7 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "o	c black",
 "O	c white",
 "+	c Gray60",
 "XXXXXXXXXXXXXXXXXXXXXXXXooooooooooooXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooooooXXXXXXooXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXXooXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXXooooXooooXooXooXXooooXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXXoooooooooXoooXooXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooooooXoooXXooXooXXooXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXXXXooXXXooXooXXooXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXXXXooXXXooXooXXooXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXXXXooXXXooXooXXooXXooXoXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXooXXXXXooXXXooXooXXooXXXooXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,,,,,XXXXXX,,XXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XXX,,XXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XXX,,,,X,,,,X,,X,,XX,,,,XXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XXX,,,,,,,,,X,,,X,,XX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,,,,,X,,,XX,,X,,XX,,XX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XXXXX,,XXX,,X,,XX,,XX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XXXXX,,XXX,,X,,XX,,XX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XXXXX,,XXX,,X,,XX,,XX,,X,XXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXX,,XXXXX,,XXX,,X,,XX,,XXX,,XXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * recover-up_xpm[] = {
-"64 42 3 1",
+"64 42 4 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "#	c red",
 "o	c black",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXX#######XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXooooooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXooXXXooXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXooXXXooXXooooXXXooooXXXooooXXooXXXooXXooooXXooXooXXXXXXXX",
-"XXXXXXXooXXXooXooXXooXooXXooXooXXooXooXXXooXooXXooXoooooXXXXXXXX",
-"XXXXXXXooooooXXooXXooXooXXXXXooXXooXXooXooXXooXXooXoooXXXXXXXXXX",
-"XXXXXXXooXXooXXooooooXooXXXXXooXXooXXooXooXXooooooXooXXXXXXXXXXX",
-"XXXXXXXooXXXooXooXXXXXooXXXXXooXXooXXXoooXXXooXXXXXooXXXXXXXXXXX",
-"XXXXXXXooXXXooXooXXooXooXXooXooXXooXXXoooXXXooXXooXooXXXXXXXXXXX",
-"XXXXXXXooXXXooXXooooXXXooooXXXooooXXXXXoXXXXXooooXXooXXXXXXXXXXX",
+"XXXXXXX,,,,,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXX,,XXX,,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXX,,XXX,,XX,,,,XXX,,,,XXX,,,,XX,,XXX,,XX,,,,XX,,X,,XXXXXXXX",
+"XXXXXXX,,XXX,,X,,XX,,X,,XX,,X,,XX,,X,,XXX,,X,,XX,,X,,,,,XXXXXXXX",
+"XXXXXXX,,,,,,XX,,XX,,X,,XXXXX,,XX,,XX,,X,,XX,,XX,,X,,,XXXXXXXXXX",
+"XXXXXXX,,XX,,XX,,,,,,X,,XXXXX,,XX,,XX,,X,,XX,,,,,,X,,XXXXXXXXXXX",
+"XXXXXXX,,XXX,,X,,XXXXX,,XXXXX,,XX,,XXX,,,XXX,,XXXXX,,XXXXXXXXXXX",
+"XXXXXXX,,XXX,,X,,XX,,X,,XX,,X,,XX,,XXX,,,XXX,,XX,,X,,XXXXXXXXXXX",
+"XXXXXXX,,XXX,,XX,,,,XXX,,,,XXX,,,,XXXXX,XXXXX,,,,XX,,XXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * reply_xpm[] = {
-"64 42 5 1",
+"64 42 6 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "o	c black",
 "O	c Gray90",
 "+	c Gray60",
 "XXXXXXXXXXXXXXXXXXXXXXXXXooooooooooooooXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXooooooXXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXooXXXooXXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXooXXXooXXooooXXooXooXXooXooXXXooXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXooXXXooXooXXooXoooXooXooXooXXXooXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXooooooXXooXXooXooXXooXooXXooXooXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXooXXooXXooooooXooXXooXooXXooXooXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXooXXXooXooXXXXXooXXooXooXXXoooXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXooXXXooXooXXooXoooXooXooXXXoooXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXooXXXooXXooooXXooXooXXooXXXXooXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXXXoXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXXooXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXooXXXXXXXXXooXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXX,,,,,,XXXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXX,,XXX,,XXXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXX,,XXX,,XX,,,,XX,,X,,XX,,X,,XXX,,XXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXX,,XXX,,X,,XX,,X,,,X,,X,,X,,XXX,,XXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXX,,,,,,XX,,XX,,X,,XX,,X,,XX,,X,,XXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXX,,XX,,XX,,,,,,X,,XX,,X,,XX,,X,,XXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXX,,XXX,,X,,XXXXX,,XX,,X,,XXX,,,XXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXX,,XXX,,X,,XX,,X,,,X,,X,,XXX,,,XXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXX,,XXX,,XX,,,,XX,,X,,XX,,XXXX,,XXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXXXX,XXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXXX,,XXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,,XXXXXXXXX,,XXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * undelete_xpm[] = {
-"64 42 4 1",
+"64 42 5 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "o	c black",
 "O	c white",
 "+	c Gray60",
 "XXXXXXXXXXXXXXXXXXXXXXXXXooooooooooooooXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXooXXXooXXXXXXXXXXXXooXXXXXXXXooXXXXXXXXXooXXXXXXXXXXXXXXXXX",
-"XXXXXooXXXooXXXXXXXXXXXXooXXXXXXXXooXXXXXXXXXooXXXXXXXXXXXXXXXXX",
-"XXXXXooXXXooXooXooXXXooXooXXooooXXooXXooooXXooooXXooooXXXXXXXXXX",
-"XXXXXooXXXooXoooXooXooXoooXooXXooXooXooXXooXXooXXooXXooXXXXXXXXX",
-"XXXXXooXXXooXooXXooXooXXooXooXXooXooXooXXooXXooXXooXXooXXXXXXXXX",
-"XXXXXooXXXooXooXXooXooXXooXooooooXooXooooooXXooXXooooooXXXXXXXXX",
-"XXXXXooXXXooXooXXooXooXXooXooXXXXXooXooXXXXXXooXXooXXXXXXXXXXXXX",
-"XXXXXXooXooXXooXXooXooXoooXooXXooXooXooXXooXXooXoooXXooXXXXXXXXX",
-"XXXXXXoooooXXooXXooXXooXooXXooooXXooXXooooXXXXooXXooooXXXXXXXXXX",
+"XXXXX,,XXX,,XXXXXXXXXXXX,,XXXXXXXX,,XXXXXXXXX,,XXXXXXXXXXXXXXXXX",
+"XXXXX,,XXX,,XXXXXXXXXXXX,,XXXXXXXX,,XXXXXXXXX,,XXXXXXXXXXXXXXXXX",
+"XXXXX,,XXX,,X,,X,,XXX,,X,,XX,,,,XX,,XX,,,,XX,,,,XX,,,,XXXXXXXXXX",
+"XXXXX,,XXX,,X,,,X,,X,,X,,,X,,XX,,X,,X,,XX,,XX,,XX,,XX,,XXXXXXXXX",
+"XXXXX,,XXX,,X,,XX,,X,,XX,,X,,XX,,X,,X,,XX,,XX,,XX,,XX,,XXXXXXXXX",
+"XXXXX,,XXX,,X,,XX,,X,,XX,,X,,,,,,X,,X,,,,,,XX,,XX,,,,,,XXXXXXXXX",
+"XXXXX,,XXX,,X,,XX,,X,,XX,,X,,XXXXX,,X,,XXXXXX,,XX,,XXXXXXXXXXXXX",
+"XXXXXX,,X,,XX,,XX,,X,,X,,,X,,XX,,X,,X,,XX,,XX,,X,,,XX,,XXXXXXXXX",
+"XXXXXX,,,,,XX,,XX,,XX,,X,,XX,,,,XX,,XX,,,,XXXX,,XX,,,,XXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
Old
Old image
New
New image
 /* XPM */
 static char * visit_xpm[] = {
-"64 42 4 1",
+"64 42 5 1",
 "X	c Gray75 s backgroundToolBarColor",
+",	c black s foregroundToolBarColor",
 "o	c black",
 "O	c white",
 "+	c Gray60",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXooXXXXooooXXXXXXXXooXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXooXXXXooXXXXXXXXXXXXXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXooXXooXooXXooooXXooXooooXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXooXXooXooXooXXooXooXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXooXXooXooXoooXXXXooXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXoXXoXXooXXXoooXXooXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXooooXXooXXXXoooXooXXooXXXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXooXXXooXooXXooXooXXooXoXXXXXXXXXXXXXXXXXXX",
-"XXXXXXXXXXXXXXXXXXXXXXooXXXooXXooooXXooXXXooXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXX,,XXXX,,,,XXXXXXXX,,XX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXX,,XXXX,,XXXXXXXXXXXXXX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXX,,XX,,X,,XX,,,,XX,,X,,,,XXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXX,,XX,,X,,X,,XX,,X,,XX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXX,,XX,,X,,X,,,XXXX,,XX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXX,XX,XX,,XXX,,,XX,,XX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXX,,,,XX,,XXXX,,,X,,XX,,XXXXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXX,,XXX,,X,,XX,,X,,XX,,X,XXXXXXXXXXXXXXXXXXX",
+"XXXXXXXXXXXXXXXXXXXXXX,,XXX,,XX,,,,XX,,XXX,,XXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
 
 (autoload (quote vm-delete-auto-save-file-names) "vm-misc" nil nil nil)
 
+(autoload (quote vm-delete-index-file-names) "vm-misc" nil nil nil)
+
+(autoload (quote vm-index-file-name-p) "vm-misc" nil nil nil)
+
 (autoload (quote vm-delete-duplicates) "vm-misc" "Delete duplicate equivalent strings from the list.
 If ALL is t, then if there is more than one occurrence of a string in the list,
  then all occurrences of it are removed instead of just the subsequent ones.
 
 (autoload (quote vm-make-tempfile-name) "vm-misc" nil nil nil)
 
+(autoload (quote vm-make-work-buffer) "vm-misc" nil nil nil)
+
 (autoload (quote vm-insert-char) "vm-misc" nil nil nil)
 
 (autoload (quote vm-xemacs-compatible-insert-char) "vm-misc" nil nil nil)
 
 (autoload (quote vm-assert) "vm-misc" nil nil t)
 
+(autoload (quote vm-time-difference) "vm-misc" nil nil nil)
+
 (autoload (quote tapestry) "tapestry" "Returns a list containing complete information about the current
 configuration of Emacs frames, windows, buffers and cursor
 positions.  Call the function set-tapestry with the list that this function
 
 (autoload (quote vm-burst-mime-digest) "vm-digest" "Burst a MIME digest" t nil)
 
+(autoload (quote vm-burst-digest-to-temp-folder) "vm-digest" "Burst the current message (a digest) into a temporary folder.
+The digest's messages are copied to a buffer and vm-mode is
+invoked on the buffer.  There is no file associated with this
+buffer.  You can use `vm-write-file' to save the buffer, or
+`vm-save-message' to save individual messages to a real folder.
+
+Optional argument DIGEST-TYPE is a string that tells VM what kind
+of digest the current message is.  If it is not given the value
+defaults to the value of vm-digest-burst-type.  When called
+interactively DIGEST-TYPE will be read from the minibuffer.
+
+If invoked on marked messages (via vm-next-command-uses-marks),
+all marked messages will be burst." t nil)
+
 (autoload (quote vm-guess-digest-type) "vm-digest" "Guess the digest type of the message M.
 M should be the message struct of a real message.
 Returns either \"rfc934\", \"rfc1153\" or \"mime\"." nil nil)
 
 (autoload (quote vm-convert-v4-attributes) "vm-folder" nil nil nil)
 
+(autoload (quote vm-gobble-last-modified) "vm-folder" nil nil nil)
+
 (autoload (quote vm-gobble-labels) "vm-folder" nil nil nil)
 
+(autoload (quote vm-startup-apply-labels) "vm-folder" nil nil nil)
+
 (autoload (quote vm-gobble-bookmark) "vm-folder" nil nil nil)
 
+(autoload (quote vm-startup-apply-bookmark) "vm-folder" nil nil nil)
+
+(autoload (quote vm-gobble-pop-retrieved) "vm-folder" nil nil nil)
+
 (autoload (quote vm-gobble-visible-header-variables) "vm-folder" nil nil nil)
 
+(autoload (quote vm-startup-apply-header-variables) "vm-folder" nil nil nil)
+
 (autoload (quote vm-gobble-message-order) "vm-folder" nil nil nil)
 
+(autoload (quote vm-startup-apply-message-order) "vm-folder" nil nil nil)
+
 (autoload (quote vm-gobble-summary) "vm-folder" nil nil nil)
 
+(autoload (quote vm-startup-apply-summary) "vm-folder" nil nil nil)
+
 (autoload (quote vm-stuff-attributes) "vm-folder" nil nil nil)
 
 (autoload (quote vm-stuff-folder-attributes) "vm-folder" nil nil nil)
 
 (autoload (quote vm-stuff-bookmark) "vm-folder" nil nil nil)
 
+(autoload (quote vm-stuff-last-modified) "vm-folder" nil nil nil)
+
+(autoload (quote vm-stuff-pop-retrieved) "vm-folder" nil nil nil)
+
 (autoload (quote vm-stuff-summary) "vm-folder" nil nil nil)
 
 (autoload (quote vm-stuff-header-variables) "vm-folder" nil nil nil)
 
 (autoload (quote vm-remove-message-order) "vm-folder" nil nil nil)
 
+(autoload (quote vm-read-index-file-maybe) "vm-folder" nil nil nil)
+
+(autoload (quote vm-read-index-file) "vm-folder" nil nil nil)
+
+(autoload (quote vm-check-index-file-validity) "vm-folder" nil nil nil)
+
+(autoload (quote vm-generate-index-file-validity-check) "vm-folder" nil nil nil)
+
+(autoload (quote vm-write-index-file-maybe) "vm-folder" nil nil nil)
+
+(autoload (quote vm-write-index-file) "vm-folder" nil nil nil)
+
+(autoload (quote vm-delete-index-file) "vm-folder" nil nil nil)
+
 (autoload (quote vm-change-all-new-to-unread) "vm-folder" nil nil nil)
 
 (autoload (quote vm-unread-message) "vm-folder" "Set the `unread' attribute for the current message.  If the message is
 
 (autoload (quote vm-write-file) "vm-folder" nil t nil)
 
+(autoload (quote vm-unblock-new-mail) "vm-folder" nil nil nil)
+
 (autoload (quote vm-save-folder) "vm-folder" "Save current folder to disk.
 Deleted messages are not expunged.
 Prefix arg is handled the same as for the command save-buffer.
 
 (autoload (quote vm-spool-check-mail) "vm-folder" nil nil nil)
 
+(autoload (quote vm-movemail-specific-spool-file-p) "vm-folder" nil nil nil)
+
 (autoload (quote vm-check-for-spooled-mail) "vm-folder" nil nil nil)
 
 (autoload (quote vm-get-spooled-mail) "vm-folder" nil nil nil)
 undisturbed after its messages have been copied.
 
 When applied to a virtual folder, this command runs itself on
-each of the underlying real folders associated with this virtual folder.
-A prefix argument has no effect; mail is always gathered from the
-spool files." t nil)
+each of the underlying real folders associated with this virtual
+folder.  A prefix argument has no effect when this command is
+applied to virtual folder; mail is always gathered from the spool
+files." t nil)
 
 (autoload (quote vm-assimilate-new-messages) "vm-folder" nil nil nil)
 
 
 (autoload (quote vm-clear-all-marks) "vm-mark" "Removes all message marks in the current folder." t nil)
 
+(autoload (quote vm-toggle-all-marks) "vm-mark" "Toggles all message marks in the current folder.
+Messages that are unmarked will become marked and messages that are
+marked will become unmarked." t nil)
+
 (autoload (quote vm-mark-all-messages) "vm-mark" "Mark all messages in the current folder." t nil)
 
 (autoload (quote vm-mark-message) "vm-mark" "Mark the current message.
 
 (autoload (quote vm-mark-or-unmark-messages-same-author) "vm-mark" nil nil nil)
 
+(autoload (quote vm-mark-or-unmark-messages-with-virtual-folder) "vm-mark" nil nil nil)
+
+(autoload (quote vm-mark-matching-messages-with-virtual-folder) "vm-mark" "Mark messages that are matched by the selectors of virtual folder NAME." t nil)
+
+(autoload (quote vm-unmark-matching-messages-with-virtual-folder) "vm-mark" "Unmark messages that are matched by the selectors of virtual folder NAME." t nil)
+
 (autoload (quote vm-next-command-uses-marks) "vm-mark" "Does nothing except insure that the next VM command will operate only
 on the marked messages in the current folder.  This only works for
 commands bound to key, menu or button press events.  M-x vm-command will
 
 (autoload (quote vm-menu-xemacs-menus-p) "vm-menu" nil nil nil)
 
-(autoload (quote vm-fsfemacs-19-p) "vm-menu" nil nil nil)
+(autoload (quote vm-fsfemacs-p) "vm-menu" nil nil nil)
 
 (autoload (quote vm-menu-run-command) "vm-menu" "Run COMMAND almost interactively, with ARGS.
 call-interactive can't be used unfortunately, but this-command is
 
 (autoload (quote vm-mime-display-button-text) "vm-mime" nil nil nil)
 
-(autoload (quote vm-mime-display-internal-text/html) "vm-mime" nil nil nil)
-
 (autoload (quote vm-mime-display-internal-text/plain) "vm-mime" nil nil nil)
 
 (autoload (quote vm-mime-display-internal-text/enriched) "vm-mime" nil nil nil)
 
 (autoload (quote vm-mime-text-type-p) "vm-mime" nil nil nil)
 
+(autoload (quote vm-mime-text-type-layout-p) "vm-mime" nil nil nil)
+
 (autoload (quote vm-mime-charset-internally-displayable-p) "vm-mime" nil nil nil)
 
 (autoload (quote vm-mime-find-message/partials) "vm-mime" nil nil nil)
 with normal text editing commands.  If you remove the attachment
 tag, the attachment will not be sent.
 
-The sole argument, FILE, is the name of the file to attach.
+The first argument, FILE, is the name of the file to attach.
 When called interactively the FILE argument is read from the
 minibuffer.
 
+The second argument, TYPE, is the MIME Content-Type of the object.
+
 This command is for attaching files that have a MIME
 header section at the top.  For files without MIME headers, you
-should use vm-mime-attach-file to attach such a file.  VM
-will interactively query you for the file type information." t nil)
+should use vm-mime-attach-file to attach such a file." t nil)
 
 (autoload (quote vm-mime-attach-object) "vm-mime" nil nil nil)
 
 
 (autoload (quote vm-pop-check-mail) "vm-pop" nil nil nil)
 
+(autoload (quote vm-expunge-pop-messages) "vm-pop" "Deletes all messages from POP mailbox that have already been retrieved
+into the current folder.  VM sends POP DELE commands to all the
+relevant POP servers to remove the messages." t nil)
+
 (autoload (quote vm-pop-make-session) "vm-pop" nil nil nil)
 
 (autoload (quote vm-pop-end-session) "vm-pop" nil nil nil)
 
 (autoload (quote vm-pop-read-list-response) "vm-pop" nil nil nil)
 
+(autoload (quote vm-pop-read-uidl-long-response) "vm-pop" nil nil nil)
+
 (autoload (quote vm-pop-ask-about-large-message) "vm-pop" nil nil nil)
 
 (autoload (quote vm-pop-retrieve-to-crashbox) "vm-pop" nil nil nil)
 
 (autoload (quote vm-pop-md5) "vm-pop" nil nil nil)
 
+(autoload (quote vm-popdrop-sans-password) "vm-pop" nil nil nil)
+
 (autoload (quote vm-do-reply) "vm-reply" nil nil nil)
 
 (autoload (quote vm-strip-ignored-addresses) "vm-reply" nil nil nil)
 
 (autoload (quote vm-mode) "vm-startup" "Major mode for reading mail.
 
-This is VM 6.34.
+This is VM 6.41.
 
 Commands:
    h - summarize folder contents
 
  M N - use marks; the next vm command will affect only marked messages
        if it makes sense for the command to do so.  These commands
-       apply and remove marks to messages.
+       apply and remove marks to messages:
 
        M M - mark the current message
        M U - unmark the current message
        M a - unmark messages with the same author as the current message
        M R - mark messages within the point/mark region in the summary
        M r - unmark messages within the point/mark region in the summary
+       M V - toggle the marked-ness of all messages
 
        M ? - partial help for mark commands
 
  V V - visit a virtual folder (must be defined in vm-virtual-folder-alist)
  V C - create a virtual folder composed of a subset of the
        current folder's messages.
- V A - apply the selectors of a named virtual folder to the
+ V A - create a virtual folder containing all the messages in the current
+       folder with the same author as the current message.
+ V S - create a virtual folder containing all the messages in the current
+       folder with the same subject as the current message.
+ V X - apply the selectors of a named virtual folder to the
        messages in the current folder and create a virtual folder
        containing the selected messages.
  V M - toggle whether this virtual folder's messages mirror the
    vm-mail-mode-hook
    vm-make-crash-box-name
    vm-make-spool-file-name
+   vm-mime-7bit-composition-charset
    vm-mime-8bit-composition-charset
    vm-mime-8bit-text-transfer-encoding
    vm-mime-alternative-select-method
 negative COUNT arg causes the current message and the previous
 COUNT-1 messages to be altered.  COUNT defaults to one." t nil)
 
+(autoload (quote vm-add-existing-message-labels) "vm-undo" "Attach some already existing labels to a message.
+Only labels that are currently attached to some message in this
+folder or labels that have previously been attached to messages
+in this folder will be added.  Other labels will be silently
+ignored.
+
+These are arbitrary user-defined labels, not to be confused with
+message attributes like `new' and `deleted'.  Interactively you
+will be prompted for the labels to be added.  You can use
+completion to expand the label names, with the completion list
+being all the labels that have ever been used in this folder.
+The names should be entered as a space separated list.  Label
+names are compared case-insensitively.
+
+A numeric prefix argument COUNT causes the current message and
+the next COUNT-1 message to have the labels added.  A
+negative COUNT arg causes the current message and the previous
+COUNT-1 messages to be altered.  COUNT defaults to one." t nil)
+
 (autoload (quote vm-delete-message-labels) "vm-undo" "Delete some labels from a message.
 These are arbitrary user-defined labels, not to be confused with
 message attributes like `new' and `deleted'.  Interactively you
 
 (autoload (quote vm-xemacs-mule-p) "vm-vars" nil nil nil)
 
-(autoload (quote vm-fsfemacs-19-p) "vm-vars" nil nil nil)
+(autoload (quote vm-fsfemacs-p) "vm-vars" nil nil nil)
+
+(autoload (quote vm-fsfemacs-mule-p) "vm-vars" nil nil nil)
 
 (autoload (quote vm-note-emacs-version) "vm-vars" nil nil nil)
 
 (autoload (quote vm-version) "vm-version" "Returns the value of the variable vm-version." nil nil)
 
-(autoload (quote vm-build-virtual-message-list) "vm-virtual" nil nil nil)
+(autoload (quote vm-build-virtual-message-list) "vm-virtual" "Builds a list of messages matching the virtual folder definition
+stored in the variable vm-virtual-folder-definition.
+
+If the NEW-MESSAGES argument is nil, the message list is
+derived from the folders listed in the virtual folder
+definition and selected by the various selectors.  The
+resulting message list is assigned to vm-message-list unless
+DONT-FINALIZE is non-nil.
+
+If NEW-MESSAGES is non-nil then it is a list of messages to
+be tried against the selector parts of the virtual folder
+definition.  Matching messages are added to vm-message-list,
+instead of replacing it.
+
+The messages in the NEW-MESSAGES list, if any, must all be in the
+same real folder.
+
+The list of matching virtual messages is returned.
+
+If DONT-FINALIZE is nil, in addition to vm-message-list being
+set, the virtual messages are added to the virtual message
+lists of their real messages, the current buffer is added to
+vm-virtual-buffers list of each real folder buffer represented
+in the virtual list, and vm-real-buffers is set to a list of
+all the real folder buffers involved." nil nil)
 
 (autoload (quote vm-create-virtual-folder) "vm-virtual" "Create a new virtual folder from messages in the current folder.
 The messages will be chosen by applying the selector you specify,
 
 Prefix arg means the new virtual folder should be visited read only." t nil)
 
+(autoload (quote vm-create-virtual-folder-same-subject) "vm-virtual" nil t nil)
+
+(autoload (quote vm-create-virtual-folder-same-author) "vm-virtual" nil t nil)
+
 (autoload (quote vm-toggle-virtual-mirror) "vm-virtual" nil t nil)
 
 (autoload (quote vm-virtual-help) "vm-virtual" nil t nil)
 
 (autoload (quote vm-vs-recipient) "vm-virtual" nil nil nil)
 
+(autoload (quote vm-vs-author-or-recipient) "vm-virtual" nil nil nil)
+
 (autoload (quote vm-vs-subject) "vm-virtual" nil nil nil)
 
 (autoload (quote vm-vs-sent-before) "vm-virtual" nil nil nil)
 
 (autoload (quote vm-vs-text) "vm-virtual" nil nil nil)
 
+(autoload (quote vm-vs-header-or-text) "vm-virtual" nil nil nil)
+
 (autoload (quote vm-vs-more-chars-than) "vm-virtual" nil nil nil)
 
 (autoload (quote vm-vs-less-chars-than) "vm-virtual" nil nil nil)
 
 (autoload (quote vm-vs-forwarded) "vm-virtual" nil nil nil)
 
+(autoload (quote vm-vs-redistributed) "vm-virtual" nil nil nil)
+
 (autoload (quote vm-vs-filed) "vm-virtual" nil nil nil)
 
 (autoload (quote vm-vs-written) "vm-virtual" nil nil nil)
 
 (autoload (quote vm-vs-edited) "vm-virtual" nil nil nil)
 
+(autoload (quote vm-vs-undeleted) "vm-virtual" nil nil nil)
+
+(autoload (quote vm-vs-unreplied) "vm-virtual" nil nil nil)
+
+(autoload (quote vm-vs-unforwarded) "vm-virtual" nil nil nil)
+
+(autoload (quote vm-vs-unredistributed) "vm-virtual" nil nil nil)
+
+(autoload (quote vm-vs-unfiled) "vm-virtual" nil nil nil)
+
+(autoload (quote vm-vs-unwritten) "vm-virtual" nil nil nil)
+
+(autoload (quote vm-vs-unmarked) "vm-virtual" nil nil nil)
+
+(autoload (quote vm-vs-unedited) "vm-virtual" nil nil nil)
+
 (autoload (quote vm-read-virtual-selector) "vm-virtual" nil nil nil)
 
 (autoload (quote vm-virtual-quit) "vm-virtual" nil nil nil)
 	(prev-sep nil)
 	(ident-header nil)
 	after-prev-sep prologue-separator-regexp separator-regexp
+	(folder-buffer (current-buffer))
 	(folder-type vm-folder-type))
     (if vm-digest-identifier-header-format
 	(setq ident-header (vm-sprintf 'vm-digest-identifier-header-format m)))
 	     (setq work-buffer (generate-new-buffer "*vm-work*"))
 	     (buffer-disable-undo work-buffer)
 	     (set-buffer work-buffer)
-	     (insert-buffer-substring (vm-buffer-of m)
-				      (vm-text-of m)
-				      (vm-text-end-of m))
+	     (vm-insert-region-from-buffer (vm-buffer-of m)
+					   (vm-text-of m)
+					   (vm-text-end-of m))
 	     (goto-char (point-min))
 	     (if (not (re-search-forward prologue-separator-regexp nil t))
 		 (throw 'done nil))
 		 (vm-skip-past-trailing-message-separator)))
 	     ;; now insert the messages into the folder buffer
 	     (cond ((not (zerop (buffer-size)))
-		    (set-buffer (vm-buffer-of m))
+		    (set-buffer folder-buffer)
 		    (let ((old-buffer-modified-p (buffer-modified-p))
 			  (buffer-read-only nil)
 			  (inhibit-quit t))
   (interactive)
   (vm-burst-digest "mime"))
 
+(defun vm-burst-digest-to-temp-folder (&optional digest-type)
+  "Burst the current message (a digest) into a temporary folder.
+The digest's messages are copied to a buffer and vm-mode is
+invoked on the buffer.  There is no file associated with this
+buffer.  You can use `vm-write-file' to save the buffer, or
+`vm-save-message' to save individual messages to a real folder.
+
+Optional argument DIGEST-TYPE is a string that tells VM what kind
+of digest the current message is.  If it is not given the value
+defaults to the value of vm-digest-burst-type.  When called
+interactively DIGEST-TYPE will be read from the minibuffer.
+
+If invoked on marked messages (via vm-next-command-uses-marks),
+all marked messages will be burst."
+  (interactive
+   (list
+    (let ((type nil)
+	  (this-command this-command)
+	  (last-command last-command))
+      (setq type (completing-read (format "Digest type: (default %s) "
+					  vm-digest-burst-type)
+				  (append vm-digest-type-alist
+					  (list '("guess")))
+				  'identity nil))
+      (if (string= type "")
+	  vm-digest-burst-type
+	type ))))
+  (or digest-type (setq digest-type vm-digest-burst-type))
+  (vm-follow-summary-cursor)
+  (vm-select-folder-buffer)
+  (vm-check-for-killed-summary)
+  (vm-error-if-folder-empty)
+  (let ((start-buffer (current-buffer)) m totals-blurb
+	(mlist (vm-select-marked-or-prefixed-messages 1))
+	(work-buffer nil))
+    (unwind-protect
+	(save-excursion
+	  (setq work-buffer (generate-new-buffer
+			     (format "digest from %s/%s%s"
+				     (current-buffer)
+				     (vm-number-of (car vm-message-pointer))
+				     (if (cdr mlist) " ..." ""))))
+	  (set-buffer work-buffer)
+	  (setq vm-folder-type vm-default-folder-type)
+	  (while mlist
+	    (if (vm-virtual-message-p (car mlist))
+		(setq m (vm-real-message-of (car mlist)))
+	      (setq m (car mlist)))
+	    (if (equal digest-type "guess")
+		(progn
+		  (setq digest-type (vm-guess-digest-type m))
+		  (if (null digest-type)
+		      (error "Couldn't guess digest type."))))
+	    (message "Bursting %s digest to folder..." digest-type)
+	    (cond ((equal digest-type "mime")
+		   (vm-mime-burst-message m))
+		  ((equal digest-type "rfc934")
+		   (vm-rfc934-burst-message m))
+		  ((equal digest-type "rfc1153")
+		   (vm-rfc1153-burst-message m))
+		  (t (error "Unknown digest type: %s" digest-type)))
+	    (message "Bursting %s digest... done" digest-type)
+	    (setq mlist (cdr mlist)))
+	  (set-buffer-modified-p nil)
+	  (vm-save-buffer-excursion
+	   (vm-goto-new-folder-frame-maybe 'folder)
+	   (vm-mode)
+	   (if (vm-should-generate-summary)
+	       (progn
+		 (vm-goto-new-folder-frame-maybe 'summary)
+		 (vm-summarize))))
+	  ;; temp buffer, don't offer to save it.
+	  (setq buffer-offer-save nil)
+	  (vm-display (or vm-presentation-buffer (current-buffer)) t
+		      (list this-command) '(vm-mode startup))
+	  (setq work-buffer nil))
+      (and work-buffer (kill-buffer work-buffer)))))
+
 (defun vm-guess-digest-type (m)
   "Guess the digest type of the message M.
 M should be the message struct of a real message.
 ;;; VM folder related functions
-;;; Copyright (C) 1989-1997 Kyle E. Jones
+;;; Copyright (C) 1989-1998 Kyle E. Jones
 ;;;
 ;;; This program is free software; you can redistribute it and/or modify
 ;;; it under the terms of the GNU General Public License as published by
       (let ((modified (buffer-modified-p)))
 	(save-excursion
 	  (vm-copy-local-variables vm-summary-buffer
+				   'default-directory
 				   'vm-ml-message-new
 				   'vm-ml-message-unread
 				   'vm-ml-message-read
       (let ((modified (buffer-modified-p)))
 	(save-excursion
 	  (vm-copy-local-variables vm-presentation-buffer
+				   'default-directory
 				   'vm-ml-message-new
 				   'vm-ml-message-unread
 				   'vm-ml-message-read
 				 nil)))
 	(make-vector vm-cache-vector-length nil)))
 
+(defun vm-gobble-last-modified ()
+  (let ((case-fold-search t)
+	time lim oldpoint)
+    (save-excursion
+      (vm-save-restriction
+       (widen)
+       (goto-char (point-min))
+       (vm-skip-past-folder-header)
+       (vm-skip-past-leading-message-separator)
+       (search-forward "\n\n" nil t)
+       (setq lim (point))
+       (goto-char (point-min))
+       (vm-skip-past-folder-header)
+       (vm-skip-past-leading-message-separator)
+       (if (re-search-forward vm-last-modified-header-regexp lim t)
+	   (condition-case ()
+	       (progn
+		 (setq oldpoint (point)
+		       time (read (current-buffer)))
+		 (if (not (consp time))
+		     (error "Bad last-modified header at %d in buffer %s"
+			    oldpoint (buffer-name)))
+		 time )
+	     (error
+	      (message "Bad last-modified header at %d in buffer %s, ignoring"
+		       oldpoint (buffer-name))
+	      (setq time '(0 0 0)))))))
+    time ))
+
 (defun vm-gobble-labels ()
   (let ((case-fold-search t)
 	lim)
 		  (message "Bad global label list at %d in buffer %s, ignoring"
 			   oldpoint (buffer-name))
 		  (setq list nil) ))
-	       (mapcar (function
-			(lambda (s)
-			  (intern s vm-label-obarray)))
-		       list))))))
+	       (vm-startup-apply-labels list))))))
     t ))
 
+(defun vm-startup-apply-labels (labels)
+  (mapcar (function (lambda (s) (intern s vm-label-obarray))) labels))
+
 ;; Go to the message specified in a bookmark and eat the bookmark.
 ;; Returns non-nil if successful, nil otherwise.
 (defun vm-gobble-bookmark ()
 	      (message "Bad bookmark at %d in buffer %s, ignoring"
 		       oldpoint (buffer-name))
 	      (setq n 1))))))
-    (if n
-	(vm-record-and-change-message-pointer
-	 vm-message-pointer
-	 (nthcdr (1- n) vm-message-list)))
+    (vm-startup-apply-bookmark n)
+    t ))
+
+(defun vm-startup-apply-bookmark (n)
+  (if n
+      (vm-record-and-change-message-pointer
+       vm-message-pointer
+       (nthcdr (1- n) vm-message-list))))
+
+(defun vm-gobble-pop-retrieved ()
+  (let ((case-fold-search t)
+	ob lim oldpoint)
+    (save-excursion
+      (vm-save-restriction
+       (widen)
+       (goto-char (point-min))
+       (vm-skip-past-folder-header)
+       (vm-skip-past-leading-message-separator)
+       (search-forward "\n\n" nil t)
+       (setq lim (point))
+       (goto-char (point-min))
+       (vm-skip-past-folder-header)
+       (vm-skip-past-leading-message-separator)
+       (if (re-search-forward vm-pop-retrieved-header-regexp lim t)
+	   (condition-case ()
+	       (progn
+		 (setq oldpoint (point)
+		       ob (read (current-buffer)))
+		 (if (not (listp ob))
+		     (error "Bad pop-retrieved header at %d in buffer %s"
+			    oldpoint (buffer-name)))
+		 (setq vm-pop-retrieved-messages ob))
+	     (error
+	      (message "Bad pop-retrieved header at %d in buffer %s, ignoring"
+		       oldpoint (buffer-name)))))))
     t ))
 
 (defun vm-gobble-visible-header-variables ()
 		       invis (read (current-buffer))
 		       got t)
 	       (error nil))
-	     ;; if the variables don't match the values stored when this
-	     ;; folder was saved, then we have to discard any cached
-	     ;; vheader info so the user will see the right headers.
-	     (and got (or (not (equal vis vm-visible-headers))
-			  (not (equal invis vm-invisible-header-regexp)))
-		  (let ((mp vm-message-list))
-		    (message "Discarding visible header info...")
-		    (while mp
-		      (vm-set-vheaders-regexp-of (car mp) nil)
-		      (vm-set-vheaders-of (car mp) nil)
-		      (setq mp (cdr mp)))))))))))
+	     (if got
+		 (vm-startup-apply-header-variables vis invis))))))))
+
+(defun vm-startup-apply-header-variables (vis invis)
+  ;; if the variables don't match the values stored when this
+  ;; folder was saved, then we have to discard any cached
+  ;; vheader info so the user will see the right headers.
+  (and (or (not (equal vis vm-visible-headers))
+	   (not (equal invis vm-invisible-header-regexp)))
+       (let ((mp vm-message-list))
+	 (message "Discarding visible header info...")
+	 (while mp
+	   (vm-set-vheaders-regexp-of (car mp) nil)
+	   (vm-set-vheaders-of (car mp) nil)
+	   (setq mp (cdr mp))))))
 
 ;; Read and delete the header that gives the folder's desired
 ;; message order.
 (defun vm-gobble-message-order ()
   (let ((case-fold-search t)
-	lim v order
-	(mp vm-message-list)
-	list-length)
+	lim order)
     (save-excursion
       (save-restriction
 	(widen)
 	(vm-skip-past-leading-message-separator)
 	(if (re-search-forward vm-message-order-header-regexp lim t)
 	    (let ((oldpoint (point)))
-	      (message "Reordering messages...")
 	      (condition-case nil
 		  (progn
 		    (setq order (read (current-buffer)))
 		 (message "Bad order header at %d in buffer %s, ignoring"
 			  oldpoint (buffer-name))
 		 (setq order nil)))
-	      (setq list-length (length vm-message-list)
-		    v (make-vector (max list-length (length order)) nil))
-	      (while (and order mp)
-		(condition-case nil
-		    (aset v (1- (car order)) (car mp))
-		  (args-out-of-range nil))
-		(setq order (cdr order) mp (cdr mp)))
-	      ;; lock out interrupts while the message list is in
-	      ;; an inconsistent state.
-	      (let ((inhibit-quit t))
-		(setq vm-message-list (delq nil (append v mp))
-		      vm-message-order-changed nil
-		      vm-message-order-header-present t
-		      vm-message-pointer (memq (car vm-message-pointer)
-					       vm-message-list))
-		(vm-set-numbering-redo-start-point t)
-		(vm-reverse-link-messages))
-	      (message "Reordering messages... done")))))))
+	      (if order
+		  (progn
+		    (message "Reordering messages...")
+		    (vm-startup-apply-message-order order)
+		    (message "Reordering messages... done")))))))))
+
+(defun vm-startup-apply-message-order (order)
+  (let (list-length v (mp vm-message-list))
+    (setq list-length (length vm-message-list)
+	  v (make-vector (max list-length (length order)) nil))
+    (while (and order mp)
+      (condition-case nil
+	  (aset v (1- (car order)) (car mp))
+	(args-out-of-range nil))
+      (setq order (cdr order) mp (cdr mp)))
+    ;; lock out interrupts while the message list is in
+    ;; an inconsistent state.
+    (let ((inhibit-quit t))
+      (setq vm-message-list (delq nil (append v mp))
+	    vm-message-order-changed nil
+	    vm-message-order-header-present t
+	    vm-message-pointer (memq (car vm-message-pointer)
+				     vm-message-list))
+      (vm-set-numbering-redo-start-point t)
+      (vm-reverse-link-messages))))
 
 ;; Read the header that gives the folder's cached summary format
 ;; If the current summary format is different, then the cached
 ;; summary lines are discarded.
 (defun vm-gobble-summary ()
   (let ((case-fold-search t)
-	summary lim
-	(mp vm-message-list))
+	summary lim)
     (save-excursion
       (vm-save-restriction
        (widen)
 		(message "Bad summary header at %d in buffer %s, ignoring"
 			 oldpoint (buffer-name))
 		(setq summary "")))
-	     (if (not (equal summary vm-summary-format))
-		 (while mp
-		   (vm-set-summary-of (car mp) nil)
-		   ;; force restuffing of cache to clear old
-		   ;; summary entry cache.
-		   (vm-set-modflag-of (car mp) t)
-		   (setq mp (cdr mp))))))))))
+	     (vm-startup-apply-summary summary)))))))
+
+(defun vm-startup-apply-summary (summary)
+  (if (not (equal summary vm-summary-format))
+      (let ((mp vm-message-list))
+	(while mp
+	  (vm-set-summary-of (car mp) nil)
+	  ;; force restuffing of cache to clear old
+	  ;; summary entry cache.
+	  (vm-set-modflag-of (car mp) t)
+	  (setq mp (cdr mp))))))
 
 ;; Stuff the message attributes back into the message as headers.
 (defun vm-stuff-attributes (m &optional for-other-folder)
 	   attributes cache
 	   (case-fold-search t)
 	   (buffer-read-only nil)
+ 	   ;; don't truncate the printing of large Lisp objects
+ 	   (print-length nil)
 	   opoint
 	   ;; This prevents file locking from occuring.  Disabling
 	   ;; locking can speed things noticeably if the lock
 	 (widen)
 	 (let ((old-buffer-modified-p (buffer-modified-p))
 	       (case-fold-search t)
+	       ;; don't truncate the printing of large Lisp objects
+	       (print-length nil)
 	       ;; This prevents file locking from occuring.  Disabling
 	       ;; locking can speed things noticeably if the lock
 	       ;; directory is on a slow device.  We don't need locking
 		   "\n")
 	   (set-buffer-modified-p old-buffer-modified-p))))))
 
+(defun vm-stuff-last-modified ()
+  (if vm-message-pointer
+      (save-excursion
+	(vm-save-restriction
+	 (widen)
+	 (let ((old-buffer-modified-p (buffer-modified-p))
+	       (case-fold-search t)
+	       ;; This prevents file locking from occuring.  Disabling
+	       ;; locking can speed things noticeably if the lock
+	       ;; directory is on a slow device.  We don't need locking
+	       ;; here because the user shouldn't care about VM stuffing
+	       ;; its own status headers.
+	       (buffer-file-name nil)
+	       (buffer-read-only nil)
+	       lim)
+	   (goto-char (point-min))
+	   (vm-skip-past-folder-header)
+	   (vm-find-leading-message-separator)
+	   (vm-skip-past-leading-message-separator)
+	   (search-forward "\n\n" nil t)
+	   (setq lim (point))
+	   (goto-char (point-min))
+	   (vm-skip-past-folder-header)
+	   (vm-find-leading-message-separator)
+	   (vm-skip-past-leading-message-separator)
+	   (if (re-search-forward vm-last-modified-header-regexp lim t)
+	       (progn (goto-char (match-beginning 0))
+		      (if (vm-match-header vm-last-modified-header)
+			  (delete-region (vm-matched-header-start)
+					 (vm-matched-header-end)))))
+	   ;; To insert or to insert-before-markers, that is the question.
+	   ;;
+	   ;; If we insert-before-markers we push a header behind
+	   ;; vm-headers-of, which is clearly undesirable.  So we
+	   ;; just insert.  This will cause the last-modified header
+	   ;; to be visible if there are no non-visible headers,
+	   ;; oh well, no way around this.
+	   (insert vm-last-modified-header " "
+		   (prin1-to-string (current-time))
+		   "\n")
+	   (set-buffer-modified-p old-buffer-modified-p))))))
+
+(defun vm-stuff-pop-retrieved ()
+  (if vm-message-pointer
+      (save-excursion
+	(vm-save-restriction
+	 (widen)
+	 (let ((old-buffer-modified-p (buffer-modified-p))
+	       (case-fold-search t)
+	       ;; This prevents file locking from occuring.  Disabling
+	       ;; locking can speed things noticeably if the lock
+	       ;; directory is on a slow device.  We don't need locking
+	       ;; here because the user shouldn't care about VM stuffing
+	       ;; its own status headers.
+	       (buffer-file-name nil)
+	       (buffer-read-only nil)
+	       (print-length nil)
+	       (p vm-pop-retrieved-messages)
+	       (curbuf (current-buffer))
+	       lim)
+	   (goto-char (point-min))
+	   (vm-skip-past-folder-header)
+	   (vm-find-leading-message-separator)
+	   (vm-skip-past-leading-message-separator)
+	   (search-forward "\n\n" nil t)
+	   (setq lim (point))
+	   (goto-char (point-min))
+	   (vm-skip-past-folder-header)
+	   (vm-find-leading-message-separator)
+	   (vm-skip-past-leading-message-separator)
+	   (if (re-search-forward vm-pop-retrieved-header-regexp lim t)
+	       (progn (goto-char (match-beginning 0))
+		      (if (vm-match-header vm-pop-retrieved-header)
+			  (delete-region (vm-matched-header-start)
+					 (vm-matched-header-end)))))
+	   ;; To insert or to insert-before-markers, that is the question.
+	   ;;
+	   ;; If we insert-before-markers we push a header behind
+	   ;; vm-headers-of, which is clearly undesirable.  So we
+	   ;; just insert.  This will cause the pop-retrieved header
+	   ;; to be visible if there are no non-visible headers,
+	   ;; oh well, no way around this.
+	   (insert vm-pop-retrieved-header)
+	   (if (null p)
+	       (insert " nil\n")
+	     (insert "\n   (\n")
+	     (while p
+	       (insert "\t")
+	       (prin1 (car p) curbuf)
+	       (insert "\n")
+	       (setq p (cdr p)))
+	     (insert "   )\n"))
+	   (set-buffer-modified-p old-buffer-modified-p))))))
+
 ;; Insert the summary format variable header into the first message.
 (defun vm-stuff-summary ()
   (if vm-message-pointer
 	 (widen)
 	 (let ((old-buffer-modified-p (buffer-modified-p))
 	       (case-fold-search t)
+	       ;; don't truncate the printing of large Lisp objects
+	       (print-length nil)
 	       ;; This prevents file locking from occuring.  Disabling
 	       ;; locking can speed things noticeably if the lock
 	       ;; directory is on a slow device.  We don't need locking
 	       (case-fold-search t)
 	       (print-escape-newlines t)
 	       lim
+	       ;; don't truncate the printing of large Lisp objects
+	       (print-length nil)
 	       (buffer-read-only nil)
 	       ;; This prevents file locking from occuring.  Disabling
 	       ;; locking can speed things noticeably if the lock
 	   (setq vm-message-order-header-present nil)
 	   (set-buffer-modified-p old-buffer-modified-p))))))
 
+(defun vm-read-index-file-maybe ()
+  (catch 'done
+    (if (or (not (stringp buffer-file-name))
+	    (not (stringp vm-index-file-suffix)))
+	(throw 'done nil))
+    (let ((index-file (concat buffer-file-name vm-index-file-suffix)))
+      (if (file-readable-p index-file)
+	  (vm-read-index-file index-file)
+	nil ))))
+
+(defun vm-read-index-file (index-file)
+  (catch 'done
+    (condition-case error-data
+	(let ((work-buffer nil))
+	  (unwind-protect
+	      (let (obj attr-list cache-list location-list label-list
+		    validity-check vis invis folder-type
+		    bookmark summary labels retrieved order
+		    v m (m-list nil) tail)
+		(message "Reading index file...")
+		(setq work-buffer (vm-make-work-buffer))
+		(save-excursion
+		  (set-buffer work-buffer)
+		  (insert-file-contents-literally index-file))
+		(goto-char (point-min))
+
+		;; check version
+		(setq obj (read work-buffer))
+		(if (not (eq obj 1))
+		    (error "Unsupported index file version: %s") obj)
+
+		;; folder type
+		(setq folder-type (read work-buffer))
+
+		;; validity check
+		(setq validity-check (read work-buffer))
+		(if (null (vm-check-index-file-validity validity-check))
+		    (throw 'done nil))
+
+		;; bookmark
+		(setq bookmark (read work-buffer))
+
+		;; message order
+		(setq order (read work-buffer))
+
+		;; what summary format was used to produce the
+		;; folder's summary cache line.
+		(setq summary (read work-buffer))
+
+		;; folder-wide list of labels
+		(setq labels (read work-buffer))
+
+		;; what vm-visible-headers / vm-invisible-header-regexp
+		;; settings were used to ordewr the headers and to
+		;; produce the vm-headers-regexp-of slot value.
+		(setq vis (read work-buffer))
+		(setq invis (read work-buffer))
+
+		;; location offsets
+		;; attributes list
+		;; cache list
+		;; label list
+		(setq location-list (read work-buffer))
+		(setq attr-list (read work-buffer))
+		(setq cache-list (read work-buffer))
+		(setq label-list (read work-buffer))
+		(while location-list
+		  (setq v (car location-list)
+			m (vm-make-message))
+		  (if (null m-list)
+		      (setq m-list (list m)
+			    tail m-list)
+		    (setcdr tail (list m))
+		    (setq tail (cdr tail)))
+		  (vm-set-start-of m (vm-marker (aref v 0)))
+		  (vm-set-headers-of m (vm-marker (aref v 1)))
+		  (vm-set-text-end-of m (vm-marker (aref v 2)))
+		  (vm-set-end-of m (vm-marker (aref v 3)))
+		  (if (null attr-list)
+		      (error "Attribute list is shorter than location list")
+		    (setq v (car attr-list))
+		    (if (< (length v) vm-attributes-vector-length)
+			(setq v (vm-extend-vector
+				 v vm-attributes-vector-length)))
+		    (vm-set-attributes-of m v))
+		  (if (null cache-list)
+		      (error "Cache list is shorter than location list")
+		    (setq v (car cache-list))
+		    (if (< (length v) vm-cache-vector-length)
+			(setq v (vm-extend-vector v vm-cache-vector-length)))
+		    (vm-set-cache-of m v))
+		  (if (null label-list)
+		      (error "Label list is shorter than location list")
+		    (vm-set-labels-of m (car label-list)))
+		  (setq location-list (cdr location-list)
+			attr-list (cdr attr-list)
+			cache-list (cdr cache-list)
+			label-list (cdr label-list)))
+
+		;; pop retrieved messages
+		(setq retrieved (read work-buffer))
+
+		(setq vm-message-list m-list
+		      vm-folder-type folder-type
+		      vm-pop-retrieved-messages retrieved)
+
+		(vm-startup-apply-bookmark bookmark)
+		(and order (vm-startup-apply-message-order order))
+		(vm-startup-apply-summary summary)
+		(vm-startup-apply-labels labels)
+		(vm-startup-apply-header-variables vis invis)
+
+		(message "Reading index file... done")
+		t )
+	    (and work-buffer (kill-buffer work-buffer))))
+      (error (message "Index file read of %s signaled: %s"
+		      index-file error-data)
+	     (sleep-for 2)
+	     (message "Ignoring index file...")
+	     (sleep-for 2)))))
+
+(defun vm-check-index-file-validity (blob)
+  (save-excursion
+    (widen)
+    (catch 'done
+      (cond ((not (consp blob))
+	     (error "Validity check object not a cons: %s"))
+	    ((eq (car blob) 'file)
+	     (let (ch time time2)
+	       (setq blob (cdr blob))
+	       (setq time (car blob)
+		     time2 (vm-gobble-last-modified))
+	       (if (> 0 (vm-time-difference time time2))
+		   (throw 'done nil))
+	       (setq blob (cdr blob))
+	       (while blob
+		 (setq ch (char-after (car blob)))
+		 (if (or (null ch) (not (eq (char-to-int ch) (nth 1 blob))))
+		     (throw 'done nil))
+		 (setq blob (cdr (cdr blob)))))
+	     t )
+	    (t (error "Unknown validity check type: %s" (car blob)))))))
+
+(defun vm-generate-index-file-validity-check ()
+  (save-restriction
+    (widen)
+    (let ((step (/ (point-max) 11))
+	  (pos (1- (point-max)))
+	  (lim (point-min))
+	  (blob nil))
+      (while (>= pos lim)
+	(setq blob (cons pos (cons (char-to-int (char-after pos)) blob))
+	      pos (- pos step)))
+      (cons 'file (cons (current-time) blob)))))
+
+(defun vm-write-index-file-maybe ()
+  (catch 'done
+    (if (not (stringp buffer-file-name))
+	(throw 'done nil))
+    (if (not (stringp vm-index-file-suffix))
+	(throw 'done nil))
+    (let ((index-file (concat buffer-file-name vm-index-file-suffix)))
+      (vm-write-index-file index-file))))
+
+(defun vm-write-index-file (index-file)
+  (let ((work-buffer nil))
+    (unwind-protect
+	(let ((print-escape-newlines t)
+	      (print-length nil)
+	      m-list mp m)
+	  (message "Sorting for index file...")
+	  (setq m-list (sort (copy-sequence vm-message-list)
+			     (function vm-sort-compare-physical-order)))
+	  (message "Stuffing index file...")
+	  (setq work-buffer (vm-make-work-buffer))
+
+	  (princ ";; index file version\n" work-buffer)
+	  (prin1 1 work-buffer)
+	  (terpri work-buffer)
+
+	  (princ ";; folder type\n" work-buffer)
+	  (prin1 vm-folder-type work-buffer)
+	  (terpri work-buffer)
+
+	  (princ 
+	   ";; timestamp + sample of folder bytes for consistency check\n"
+	   work-buffer)
+	  (prin1 (vm-generate-index-file-validity-check) work-buffer)
+	  (terpri work-buffer)
+
+	  (princ ";; bookmark\n" work-buffer)
+	  (princ (if vm-message-pointer
+		     (vm-number-of (car vm-message-pointer))
+		   "1")
+		 work-buffer)
+	  (terpri work-buffer)
+
+	  (princ ";; message order\n" work-buffer)
+	  (let ((n 0) (mp vm-message-list))
+	   (princ "(" work-buffer)
+	   (setq n 0)
+	   (while mp
+	     (if (zerop (% n 15))
+		 (princ "\n\t" work-buffer)
+	       (princ " " work-buffer))
+	     (princ (vm-number-of (car mp)) work-buffer)
+	     (setq n (1+ n) mp (cdr mp)))
+	   (princ "\n)\n" work-buffer))
+
+	  (princ ";; summary\n" work-buffer)
+	  (prin1 vm-summary-format work-buffer)
+	  (terpri work-buffer)
+
+	  (princ ";; labels used in this folder\n" work-buffer)
+	  (let ((list nil))
+	    (mapatoms (function
+		       (lambda (sym)
+			 (setq list (cons (symbol-name sym) list))))
+		      vm-label-obarray)
+	    (prin1 list work-buffer))
+	  (terpri work-buffer)
+
+	  (princ ";; visible headers\n" work-buffer)
+	  (prin1 vm-visible-headers work-buffer)
+	  (terpri work-buffer)
+
+	  (princ ";; hidden headers\n" work-buffer)
+	  (prin1 vm-invisible-header-regexp work-buffer)
+	  (terpri work-buffer)
+
+	  (princ ";; location list\n" work-buffer)
+	  (princ "(\n" work-buffer)
+	  (setq mp m-list)
+	  (while mp
+	    (setq m (car mp))
+	    (princ "  [" work-buffer)
+	    (prin1 (marker-position (vm-start-of m)) work-buffer)
+	    (princ " " work-buffer)
+	    (prin1 (marker-position (vm-headers-of m)) work-buffer)
+	    (princ " " work-buffer)
+	    (prin1 (marker-position (vm-text-end-of m)) work-buffer)
+	    (princ " " work-buffer)
+	    (prin1 (marker-position (vm-end-of m)) work-buffer)
+	    (princ "]\n" work-buffer)
+	    (setq mp (cdr mp)))
+	  (princ ")\n" work-buffer)
+	  (princ ";; attribute list\n" work-buffer)
+	  (princ "(\n" work-buffer)
+	  (setq mp m-list)
+	  (while mp
+	    (setq m (car mp))
+	    (princ "  " work-buffer)
+	    (prin1 (vm-attributes-of m) work-buffer)
+	    (princ "\n" work-buffer)
+	    (setq mp (cdr mp)))
+	  (princ ")\n" work-buffer)
+	  (princ ";; cache list\n" work-buffer)
+	  (princ "(\n" work-buffer)
+	  (setq mp m-list)
+	  (while mp
+	    (setq m (car mp))
+	    (princ "  " work-buffer)
+	    (prin1 (vm-cache-of m) work-buffer)
+	    (princ "\n" work-buffer)
+	    (setq mp (cdr mp)))
+	  (princ ")\n" work-buffer)
+	  (princ ";; labels list\n" work-buffer)
+	  (princ "(\n" work-buffer)
+	  (setq mp m-list)
+	  (while mp
+	    (setq m (car mp))
+	    (princ "  " work-buffer)
+	    (prin1 (vm-labels-of m) work-buffer)
+	    (princ "\n" work-buffer)
+	    (setq mp (cdr mp)))
+	  (princ ")\n" work-buffer)
+	  (princ ";; retrieved POP messages\n" work-buffer)
+	  (let ((p vm-pop-retrieved-messages))
+	    (if (null p)
+		(princ "nil\n" work-buffer)
+	      (princ "(\n" work-buffer)
+	      (while p
+		(princ "\t" work-buffer)
+		(prin1 (car p) work-buffer)
+		(princ "\n" work-buffer)
+		(setq p (cdr p)))
+	      (princ ")\n" work-buffer)))
+
+	  (princ ";; end of index file\n" work-buffer)
+
+	  (message "Writing index file...")
+	  (catch 'done
+	    (save-excursion
+	      (set-buffer work-buffer)
+	      (condition-case data
+		  (let ((coding-system-for-write 'binary))
+		    (write-region (point-min) (point-max) index-file))
+		(error
+		 (message "Write of %s signaled: %s" index-file data)
+		 (sleep-for 2)
+		 (throw 'done nil))))
+	    (vm-error-free-call 'set-file-modes index-file 384) ;; 384 == 0600
+	    (message "Writing index file... done")
+	    t ))
+      (and work-buffer (kill-buffer work-buffer)))))
+
+(defun vm-delete-index-file ()
+  (let ((index-file (concat buffer-file-name vm-index-file-suffix)))
+    (vm-error-free-call 'delete-file index-file)))
+
 (defun vm-change-all-new-to-unread ()
   (let ((mp vm-message-list))
     (while mp
 	     ;; get summary cache up-to-date
 	     (vm-update-summary-and-mode-line)
 	     (vm-stuff-bookmark)
+	     (vm-stuff-pop-retrieved)
+	     (vm-stuff-last-modified)
 	     (vm-stuff-header-variables)
 	     (vm-stuff-labels)
 	     (vm-stuff-summary)
   (intern (buffer-name) vm-buffers-needing-display-update)
   (setq vm-block-new-mail nil)
   (vm-display nil nil '(vm-save-buffer) '(vm-save-buffer))
-  (vm-update-summary-and-mode-line))
+  (vm-update-summary-and-mode-line)
+  (vm-write-index-file-maybe))
 
 (defun vm-write-file ()
   (interactive)
   (vm-select-folder-buffer)
   (vm-error-if-virtual-folder)
-  (call-interactively 'write-file)
+  (let ((old-buffer-name (buffer-name)))
+    (save-excursion
+      (call-interactively 'write-file))
+    (if (not (equal (buffer-name) old-buffer-name))
+	(progn
+	  (vm-check-for-killed-summary)
+	  (if vm-summary-buffer
+	      (save-excursion
+		(let ((name (buffer-name)))
+		  (set-buffer vm-summary-buffer)
+		  (rename-buffer (format "%s Summary" name) t))))
+	  (vm-check-for-killed-presentation)
+	  (if vm-presentation-buffer-handle
+	      (save-excursion
+		(let ((name (buffer-name)))
+		  (set-buffer vm-presentation-buffer-handle)
+		  (rename-buffer (format "%s Presentation" name) t)))))))
   (intern (buffer-name) vm-buffers-needing-display-update)
   (setq vm-block-new-mail nil)
   (vm-display nil nil '(vm-write-file) '(vm-write-file))
-  (vm-update-summary-and-mode-line))
+  (vm-update-summary-and-mode-line)
+  (vm-write-index-file-maybe))
+
+(defun vm-unblock-new-mail ()
+  (setq vm-block-new-mail nil))
 
 (defun vm-save-folder (&optional prefix)
   "Save current folder to disk.
 		;; get summary cache up-to-date
 		(vm-update-summary-and-mode-line)
 		(vm-stuff-bookmark)
+		(vm-stuff-pop-retrieved)
+		(vm-stuff-last-modified)
 		(vm-stuff-header-variables)
 		(vm-stuff-labels)
 		(vm-stuff-summary)
 	  (vm-clear-modification-flag-undos)
 	  (setq vm-messages-not-on-disk 0)
 	  (setq vm-block-new-mail nil)
+	  (vm-write-index-file-maybe)
+	  (vm-update-summary-and-mode-line)
 	  (and (zerop (buffer-size))
 	       vm-delete-empty-folders
 	       buffer-file-name
 	       (condition-case ()
 		   (progn
 		     (delete-file buffer-file-name)
+		     (vm-delete-index-file)
 		     (clear-visited-file-modtime)
 		     (message "%s removed" buffer-file-name))
 		 ;; no can do, oh well.
-		 (error nil)))
-	  (vm-update-summary-and-mode-line))
+		 (error nil))))
       (message "No changes need to be saved"))))
 
 (defun vm-save-and-expunge-folder (&optional prefix)
       (and (not (equal 0 (nth 7 (file-attributes source))))
 	   (file-readable-p source)))))
 
+(defun vm-movemail-specific-spool-file-p (file)
+  (string-match "^po:[^:]+$" file))
+
 (defun vm-check-for-spooled-mail (&optional interactive)
   (if vm-block-new-mail
       nil
 	(setq in (expand-file-name (nth 0 (car triples)) vm-folder-directory)
 	      maildrop (nth 1 (car triples))
 	      crash (nth 2 (car triples)))
-	(if (eq (current-buffer) (vm-get-file-buffer in))
-	    (progn
-	      (if (file-exists-p crash)
-		  (progn
-		    (setq mail-waiting t
-			  done t))
-		(setq popdrop (and vm-recognize-pop-maildrops
-				   (string-match vm-recognize-pop-maildrops
-						 maildrop)))
-		(if (not interactive)
-		    ;; allow no error to be signaled
-		    (condition-case nil
-			(setq mail-waiting
-			      (or mail-waiting
-				  (if popdrop
-				      (vm-pop-check-mail maildrop)
-				    (vm-spool-check-mail maildrop))))
-		      (error nil))
-		  (setq mail-waiting (or mail-waiting
-					 (if popdrop
-					     (vm-pop-check-mail maildrop)
-					   (vm-spool-check-mail maildrop)))))
-		(if mail-waiting
-		    (setq done t)))))
+	(if (vm-movemail-specific-spool-file-p maildrop)
+	    ;; spool file is accessible only with movemail
+	    ;; so skip it.
+	    nil
+	  (if (eq (current-buffer) (vm-get-file-buffer in))
+	      (progn
+		(if (file-exists-p crash)
+		    (progn
+		      (setq mail-waiting t
+			    done t))
+		  (setq popdrop (and vm-recognize-pop-maildrops
+				     (string-match vm-recognize-pop-maildrops
+						   maildrop)))
+		  (if (not interactive)
+		      ;; allow no error to be signaled
+		      (condition-case nil
+			  (setq mail-waiting
+				(or mail-waiting
+				    (if popdrop
+					(vm-pop-check-mail maildrop)
+				      (vm-spool-check-mail maildrop))))
+			(error nil))
+		    (setq mail-waiting (or mail-waiting
+					   (if popdrop
+					       (vm-pop-check-mail maildrop)
+					     (vm-spool-check-mail maildrop)))))
+		  (if mail-waiting
+		      (setq done t))))))
 	(setq triples (cdr triples)))
       (setq vm-spooled-mail-waiting mail-waiting)
       mail-waiting )))
 	;; before we finish.  block these attempts.
 	(vm-block-new-mail t)
 	(vm-pop-ok-to-ask interactive)
-	crash in maildrop popdrop
+	crash in maildrop popdrop need-movemail
 	(got-mail nil))
     (if (and (not (verify-visited-file-modtime (current-buffer)))
 	     (or (null interactive)
 	(progn
 	  (message "Folder %s changed on disk, consider M-x revert-buffer"
 		   (buffer-name (current-buffer)))
-	  (sleep-for 1)
+	  (sleep-for 2)
 	  nil )
       (while triples
 	(setq in (expand-file-name (nth 0 (car triples)) vm-folder-directory)
 	      maildrop (nth 1 (car triples))
-	      crash (nth 2 (car triples)))
+	      crash (nth 2 (car triples))
+	      need-movemail (vm-movemail-specific-spool-file-p maildrop))
 	(if (eq (current-buffer) (vm-get-file-buffer in))
 	    (let (retrieval-function)
 	      (if (file-exists-p crash)
 		    (message "Recovering messages from %s..." crash)
 		    (setq got-mail (or (vm-gobble-crash-box crash) got-mail))
 		    (message "Recovering messages from %s... done" crash)))
-	      (setq popdrop (and vm-recognize-pop-maildrops
+	      (setq popdrop (and (not need-movemail)
+				 vm-recognize-pop-maildrops
 				 (string-match vm-recognize-pop-maildrops
 					       maildrop)
 				 ;; maildrop with password clipped
 				 (vm-safe-popdrop-string maildrop)))
-	      (if (or popdrop
+	      (if (or popdrop need-movemail
 		      (and (not (equal 0 (nth 7 (file-attributes maildrop))))
 			   (file-readable-p maildrop)))
 		  (progn
 		    (setq crash (expand-file-name crash vm-folder-directory))
-		    (if (not popdrop)
-			(setq maildrop (expand-file-name maildrop)
-			      retrieval-function 'vm-spool-move-mail)
-		      (setq retrieval-function 'vm-pop-move-mail))
+		    (cond (need-movemail
+			   (setq retrieval-function 'vm-spool-move-mail))
+			  ((not popdrop)
+			   (setq maildrop (expand-file-name maildrop)
+				 retrieval-function 'vm-spool-move-mail))
+			  (t
+			   (setq retrieval-function 'vm-pop-move-mail)))
 		    (if (if got-mail
 			    ;; don't allow errors to be signaled unless no
 			    ;; mail has been appended to the incore
 					     (if popdrop
 						 'vm-pop-move-mail
 					       'vm-spool-move-mail))
-				    (sleep-for 1)
+				    (sleep-for 2)
 				    ;; we don't know if mail was
 				    ;; put into the crash box or
 				    ;; not, so return t just to be
 undisturbed after its messages have been copied.
 
 When applied to a virtual folder, this command runs itself on
-each of the underlying real folders associated with this virtual folder.
-A prefix argument has no effect; mail is always gathered from the
-spool files."
+each of the underlying real folders associated with this virtual
+folder.  A prefix argument has no effect when this command is
+applied to virtual folder; mail is always gathered from the spool
+files."
   (interactive "P")
   (vm-select-folder-buffer)
   (vm-check-for-killed-summary)
   (vm-error-if-folder-read-only)
   (cond ((eq major-mode 'vm-virtual-mode)
 	 (vm-virtual-get-new-mail))
+	((not (eq major-mode 'vm-mode))
+	 (error "Can't get