changeset 90365:a802c5505156

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-43 Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 148-156) - Update from CVS - Merge from gnus--rel--5.10 - Remove nick-abbrevs stuff from rcirc.el - rcirc.el update from Ryan Yeske * gnus--rel--5.10 (patch 57) - Copy/update icons from Gnus trunk
author Miles Bader <miles@gnu.org>
date Mon, 13 Mar 2006 12:19:58 +0000
parents 494bf720eaf0 (current diff) 1527bb09ec30 (diff)
children 63ef337729c5
files etc/ChangeLog etc/NEWS etc/PROBLEMS etc/TODO lisp/ChangeLog lisp/battery.el lisp/calendar/holidays.el lisp/cus-start.el lisp/eshell/eshell.el lisp/files.el lisp/ibuf-ext.el lisp/image.el lisp/info.el lisp/international/mule.el lisp/mail/rmail.el lisp/mail/rmailsum.el lisp/mh-e/ChangeLog lisp/mh-e/mh-utils.el lisp/net/rcirc.el lisp/progmodes/gdb-ui.el lisp/progmodes/octave-mod.el lisp/simple.el lisp/textmodes/flyspell.el lisp/textmodes/ispell.el lisp/textmodes/org.el lispref/ChangeLog lispref/display.texi lispref/searching.texi lispref/strings.texi lispref/text.texi man/ChangeLog man/calendar.texi man/mh-e.texi man/search.texi nt/ChangeLog nt/addpm.c nt/makefile.w32-in nt/runemacs.c src/ChangeLog src/eval.c src/keymap.c src/lisp.h src/mac.c src/macfns.c src/macgui.h src/macterm.c src/macterm.h src/mem-limits.h src/process.c src/vm-limit.c src/w32fns.c src/w32menu.c src/w32term.c src/window.c src/xdisp.c src/xfns.c src/xterm.c
diffstat 94 files changed, 5549 insertions(+), 901 deletions(-) [+]
line wrap: on
line diff
--- a/etc/ChangeLog	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/ChangeLog	Mon Mar 13 12:19:58 2006 +0000
@@ -1,3 +1,32 @@
+2006-03-11  Miles Bader  <miles@gnu.org>
+
+	* images/mail: New directory.
+	* images/attach.xpm, images/connect.xpm:
+	* images/contact.xpm, images/delete.xpm:
+	* images/describe.xpm, images/disconnect.xpm:
+	* images/exit.xpm, images/gnus/toggle-subscription.xpm:
+	* images/lock-broken.xpm, images/lock-ok.xpm:
+	* images/lock.xpm, images/mail/compose.xpm:
+	* images/mail/copy.xpm, images/mail/forward.xpm:
+	* images/mail/inbox.xpm, images/mail/move.xpm:
+	* images/mail/not-spam.xpm, images/mail/outbox.xpm:
+	* images/mail/preview.xpm, images/mail/reply-all.xpm:
+	* images/mail/reply.xpm, images/mail/save-draft.xpm:
+	* images/mail/save.xpm, images/mail/send.xpm:
+	* images/mail/spam.xpm, images/next-page.xpm:
+	* images/refresh.xpm, images/separator.xpm:
+	* images/sort-ascending.xpm:
+	* images/sort-column-ascending.xpm:
+	* images/sort-criteria.xpm, images/sort-descending.xpm:
+	* images/sort-row-ascending.xpm:
+	New icons, copied from Gnus trunk (originally from Gnome 2.6).
+
+2006-03-11  Bill Wohler  <wohler@newt.com>
+
+	* NEWS: Document `image-load-path-for-library'. Note that all
+	images have been moved from lisp into etc/images in `find-image'
+	item. Fix typo in `copy-tree'.
+
 2006-03-09  Reiner Steib  <Reiner.Steib@gmx.de>
 
 	* TUTORIAL.de: Replace "Schreiben" by "Dr,A|(Bcken" where appropriate.
--- a/etc/NEWS	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/NEWS	Mon Mar 13 12:19:58 2006 +0000
@@ -3566,7 +3566,7 @@
 +++
 *** New function `copy-tree' makes a copy of a tree.
 
-It recursively copyies through both CARs and CDRs.
+It recursively copies through both CARs and CDRs.
 
 +++
 *** New function `delete-dups' deletes `equal' duplicate elements from a list.
@@ -4959,6 +4959,15 @@
 
   (defimage foo-image '((:type xpm :file "foo/bar.xpm")))
 
+Note that all images formerly located in the lisp directory have been
+moved to etc/images.
+
++++
+*** New function `image-load-path-for-library' returns a suitable
+search path for images relative to library. This function is useful in
+external packages to save users from having to update
+`image-load-path'.
+
 +++
 *** The new variable `max-image-size' defines the maximum size of
 images that Emacs will load and display.
--- a/etc/PROBLEMS	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/PROBLEMS	Mon Mar 13 12:19:58 2006 +0000
@@ -1221,6 +1221,10 @@
 
 A solution is to exit the offending X programs before starting Emacs.
 
+"undefined color" messages can also occur if the RgbPath entry in the
+X configuration file is incorrect, or the rgb.txt file is not where
+X expects to find it.
+
 *** Improving performance with slow X connections.
 
 There are several ways to improve this performance, any subset of which can
--- a/etc/TODO	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/TODO	Mon Mar 13 12:19:58 2006 +0000
@@ -60,6 +60,10 @@
 
 ** M-! M-n should fetch the buffer-file-name as the default.
 
+** Redesign the load-history data structure so it can cope better
+  with evaluating definitions of the same function from different files,
+  recording which file the latest definition came from.
+  
 * Important features:
 
 ** Provide user-friendly ways to list all available font families,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/attach.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,126 @@
+/* XPM */
+static char * stock_attach_xpm[] = {
+"24 24 99 2",
+"  	c None",
+". 	c #000000",
+"+ 	c #010101",
+"@ 	c #515151",
+"# 	c #9A9A9A",
+"$ 	c #CFCFCF",
+"% 	c #6F6F6F",
+"& 	c #464646",
+"* 	c #A5A5A5",
+"= 	c #E2E2E2",
+"- 	c #FFFFFF",
+"; 	c #F6F6F6",
+"> 	c #8A8A8A",
+", 	c #393939",
+"' 	c #1C1C1C",
+") 	c #8B8B8B",
+"! 	c #E6E6E6",
+"~ 	c #EEEEEE",
+"{ 	c #E1E1E1",
+"] 	c #F8F8F8",
+"^ 	c #F7F7F7",
+"/ 	c #CCCCCC",
+"( 	c #565656",
+"_ 	c #3E3E3E",
+": 	c #818181",
+"< 	c #D4D4D4",
+"[ 	c #E7E7E7",
+"} 	c #D7D7D7",
+"| 	c #FAFAFA",
+"1 	c #F9F9F9",
+"2 	c #C2C2C2",
+"3 	c #CBCBCB",
+"4 	c #F5F5F5",
+"5 	c #D9D9D9",
+"6 	c #030303",
+"7 	c #545454",
+"8 	c #DEDEDE",
+"9 	c #B3B3B3",
+"0 	c #797979",
+"a 	c #F4F4F4",
+"b 	c #9D9D9D",
+"c 	c #282828",
+"d 	c #FBFBFB",
+"e 	c #A6A6A6",
+"f 	c #C5C5C5",
+"g 	c #F0F0F0",
+"h 	c #CACACA",
+"i 	c #C7C7C7",
+"j 	c #F2F2F2",
+"k 	c #CECECE",
+"l 	c #C4C4C4",
+"m 	c #D5D5D5",
+"n 	c #DADADA",
+"o 	c #F3F3F3",
+"p 	c #858585",
+"q 	c #BEBEBE",
+"r 	c #D3D3D3",
+"s 	c #DCDCDC",
+"t 	c #9C9C9C",
+"u 	c #484848",
+"v 	c #A7A7A7",
+"w 	c #D6D6D6",
+"x 	c #C8C8C8",
+"y 	c #C6C6C6",
+"z 	c #4C4C4C",
+"A 	c #EAEAEA",
+"B 	c #E5E5E5",
+"C 	c #D8D8D8",
+"D 	c #ADADAD",
+"E 	c #BCBCBC",
+"F 	c #E0E0E0",
+"G 	c #F1F1F1",
+"H 	c #909090",
+"I 	c #686868",
+"J 	c #A2A2A2",
+"K 	c #C0C0C0",
+"L 	c #C1C1C1",
+"M 	c #787878",
+"N 	c #AEAEAE",
+"O 	c #151515",
+"P 	c #D0D0D0",
+"Q 	c #979797",
+"R 	c #727272",
+"S 	c #4A4A4A",
+"T 	c #ECECEC",
+"U 	c #ACACAC",
+"V 	c #BABABA",
+"W 	c #DDDDDD",
+"X 	c #DBDBDB",
+"Y 	c #B1B1B1",
+"Z 	c #232323",
+"` 	c #696969",
+" .	c #B7B7B7",
+"..	c #828282",
+"+.	c #404040",
+"@.	c #969696",
+"#.	c #323232",
+"$.	c #E8E8E8",
+"%.	c #121212",
+"                                                ",
+"                  . . . . .                     ",
+"                .           .   . .             ",
+"                .         + @ # $ % .           ",
+"                .   . & * = - - ; > ,           ",
+"              . ' ) ! ~ { - ] ^ ; / (           ",
+"        . _ : < ' [ } | 1 ] 2 3 4 5 : .         ",
+"    6 7 ! - - - . } 8 9 0 . = ; 4 a b c         ",
+"  . ; - - | | d . e f g ] . = 2 h a i (         ",
+"  . j ] 1 k l f . m 1 ] ] . 9 n a o o 0 .       ",
+"    p - ] q 1 1 . r s 2 2 . = 4 a o j t c       ",
+"    u - ^ ^ ] ] . v w ^ ; . = a l x j y z       ",
+"    . A - ; q 2 . B C ; 4 . D E A F G A H .     ",
+"      I - 4 ; ; J . K L . M w o j G G m N O     ",
+"      , - a 4 4 n # . . 0 w j j G w P Q R S     ",
+"      . T - a U V W o k X T } w Y : ( Z .       ",
+"        ` - o o o o j j }  ...+.Z . .           ",
+"        c - o j j } q @.#.Z .                   ",
+"        . ! $./ # +.Z . .                       ",
+"          , .., %..                             ",
+"          . .                                   ",
+"                                                ",
+"                                                ",
+"                                                "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/connect.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,85 @@
+/* XPM */
+static char * stock_connect_xpm[] = {
+"24 24 58 1",
+" 	c None",
+".	c #000000",
+"+	c #989389",
+"@	c #807D74",
+"#	c #C6C2BA",
+"$	c #34332D",
+"%	c #B7B3AA",
+"&	c #C4C2BD",
+"*	c #EAE8E3",
+"=	c #9C978D",
+"-	c #BCB9B2",
+";	c #363433",
+">	c #E2E1DD",
+",	c #F0EFEC",
+"'	c #AAA7A0",
+")	c #F0EEEB",
+"!	c #B2B0AB",
+"~	c #F9F9F8",
+"{	c #C5C3BD",
+"]	c #0F0F0D",
+"^	c #F2F0ED",
+"/	c #EBEAE6",
+"(	c #8A857B",
+"_	c #ECEBE8",
+":	c #EEECEA",
+"<	c #9F9C93",
+"[	c #F3F2F0",
+"}	c #E8E7E4",
+"|	c #E3E1DD",
+"1	c #78756B",
+"2	c #BEBBB5",
+"3	c #B3B1AA",
+"4	c #7D786E",
+"5	c #E1DFDB",
+"6	c #D1D0CC",
+"7	c #938E84",
+"8	c #C8C5BF",
+"9	c #A7A298",
+"0	c #010101",
+"a	c #8C8981",
+"b	c #A6A29B",
+"c	c #726D63",
+"d	c #CECAC3",
+"e	c #A7A49E",
+"f	c #7E7A70",
+"g	c #A09D94",
+"h	c #817D73",
+"i	c #6C685E",
+"j	c #3C3933",
+"k	c #8B877E",
+"l	c #706C62",
+"m	c #B1ADA4",
+"n	c #97938A",
+"o	c #625E54",
+"p	c #6A655B",
+"q	c #37342D",
+"r	c #646056",
+"s	c #8B877D",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"          .. ..         ",
+"        ..+@.#@..       ",
+"       $%&*@.*@=-;      ",
+"      .>,'*@.)@!~{]     ",
+"......@>,'*@.)@!~{@.....",
+"*******^/(_@.:@<[}|*****",
+"@@@@@1123451.6@789@@@@@@",
+".....01abcd1.e@fghi.....",
+"      ]abcd1.e@fgh]     ",
+"      ]jklmi.n@opq.     ",
+"        ]]+r.s@..       ",
+"          ]] ].         ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/contact.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,129 @@
+/* XPM */
+static char * stock_contact_xpm[] = {
+"24 24 102 2",
+"  	c None",
+". 	c #000000",
+"+ 	c #E3E1DE",
+"@ 	c #ECEBE7",
+"# 	c #F0EEEB",
+"$ 	c #D2CFC9",
+"% 	c #81817F",
+"& 	c #4C4C4A",
+"* 	c #ECEAE6",
+"= 	c #ECEAE5",
+"- 	c #EBE9E5",
+"; 	c #D2CEC8",
+"> 	c #D9C7B8",
+", 	c #D9C7B9",
+"' 	c #D8C5B8",
+") 	c #D1C0B3",
+"! 	c #D6C5B7",
+"~ 	c #EBEAE5",
+"{ 	c #D3D0C9",
+"] 	c #CDBCAC",
+"^ 	c #AFA093",
+"/ 	c #3A3531",
+"( 	c #443F3A",
+"_ 	c #AE9F93",
+": 	c #CBBAAB",
+"< 	c #4E4E4C",
+"[ 	c #595957",
+"} 	c #595857",
+"| 	c #7D7C7A",
+"1 	c #D3D0CA",
+"2 	c #C6B5A4",
+"3 	c #3D3833",
+"4 	c #433D37",
+"5 	c #C2B0A2",
+"6 	c #D4D1CA",
+"7 	c #B0A08E",
+"8 	c #261F18",
+"9 	c #D37D1E",
+"0 	c #D68021",
+"a 	c #B26616",
+"b 	c #27241F",
+"c 	c #9C8E7F",
+"d 	c #EAE9E5",
+"e 	c #A29281",
+"f 	c #2E2012",
+"g 	c #CC751A",
+"h 	c #CC761A",
+"i 	c #BF6C16",
+"j 	c #24211C",
+"k 	c #8E8170",
+"l 	c #EAE8E3",
+"m 	c #E9E8E3",
+"n 	c #E9E7E3",
+"o 	c #8E7F6C",
+"p 	c #221E17",
+"q 	c #C56D14",
+"r 	c #7D450D",
+"s 	c #AF5F11",
+"t 	c #221E19",
+"u 	c #7F7260",
+"v 	c #E9E7E2",
+"w 	c #E8E6E1",
+"x 	c #E7E5E1",
+"y 	c #E7E5E0",
+"z 	c #D5D1CB",
+"A 	c #3E372C",
+"B 	c #1C1F1F",
+"C 	c #301B06",
+"D 	c #542D07",
+"E 	c #291B0E",
+"F 	c #151412",
+"G 	c #473F33",
+"H 	c #E8E6E2",
+"I 	c #546371",
+"J 	c #849CB4",
+"K 	c #56687C",
+"L 	c #343332",
+"M 	c #495868",
+"N 	c #566D85",
+"O 	c #293643",
+"P 	c #E6E4DF",
+"Q 	c #E5E4DE",
+"R 	c #EEEDE9",
+"S 	c #7B95AF",
+"T 	c #7B96B0",
+"U 	c #68819B",
+"V 	c #8999AA",
+"W 	c #5A7088",
+"X 	c #607A96",
+"Y 	c #5B7691",
+"Z 	c #E5E3DE",
+"` 	c #4B4A48",
+" .	c #757471",
+"..	c #E6E3DE",
+"+.	c #3B3A39",
+"@.	c #747371",
+"#.	c #D3CFC8",
+"$.	c #E2E1DD",
+"%.	c #E7E4E0",
+"&.	c #D2CFC8",
+"*.	c #D1D0CA",
+"=.	c #C2C0B9",
+"                                                ",
+"                                                ",
+"                                                ",
+"    . . . . . . . . . . . . . . . . . . . .     ",
+"  . + @ # # # # # # # # # # # # # # # # # $ .   ",
+"  . # % . . . . . . . & * = - - - - - - - ; .   ",
+"  . # . > , ' ) ! > , . * * ~ ~ ~ ~ - - ~ { .   ",
+"  . # . ] ^ / . ( _ : . * < [ ~ } } | - ~ 1 .   ",
+"  . # . 2 3 . . . 4 5 . * * ~ ~ - - - - - 6 .   ",
+"  . # . 7 8 9 0 a b c . * [ < | [ - } | d 6 .   ",
+"  . # . e f g h i j k . * * l l m n n n n 6 .   ",
+"  . # . o p q r s t u . v v w w w x y y y z .   ",
+"  . # . A B C D E F G . H H y y y y y y y 6 .   ",
+"  . # . I J K L M N O . y y P P P P P P Q { .   ",
+"  . R . S T U V W X Y . y y P P P P Z Z Z { .   ",
+"  . d ` . . . . . . . ` y y  ...+.+.Z @.Z #..   ",
+"  . $.y y y y y y y y y %.P Z Z Z Z Z Z Z &..   ",
+"  . *.6 z 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 =..   ",
+"    . . . . . . . . . . . . . . . . . . . . .   ",
+"                                                ",
+"                                                ",
+"                                                ",
+"                                                ",
+"                                                "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/delete.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,270 @@
+/* XPM */
+static char * stock_delete_xpm[] = {
+"24 24 243 2",
+"  	c None",
+". 	c #000000",
+"+ 	c #1C1C1C",
+"@ 	c #767676",
+"# 	c #E6E6E6",
+"$ 	c #D3D3D3",
+"% 	c #C3C3C3",
+"& 	c #909090",
+"* 	c #494949",
+"= 	c #48473D",
+"- 	c #BAB8A6",
+"; 	c #E2E2DF",
+"> 	c #F1F1F0",
+", 	c #EAE9E6",
+"' 	c #F2F2EE",
+") 	c #EBEAE5",
+"! 	c #C1C0B5",
+"~ 	c #57564A",
+"{ 	c #525146",
+"] 	c #A8A68F",
+"^ 	c #BDBBA1",
+"/ 	c #C0BEA3",
+"( 	c #A3A18A",
+"_ 	c #6D6C5C",
+": 	c #7C7C72",
+"< 	c #4C4C49",
+"[ 	c #45453F",
+"} 	c #44433A",
+"| 	c #6F6F67",
+"1 	c #C6C5B9",
+"2 	c #B6B59B",
+"3 	c #6D6C5D",
+"4 	c #B3B19B",
+"5 	c #A7A68E",
+"6 	c #908F7A",
+"7 	c #AAA993",
+"8 	c #CCCBB5",
+"9 	c #D0CEBA",
+"0 	c #D5D3C1",
+"a 	c #AEADA3",
+"b 	c #94938A",
+"c 	c #454442",
+"d 	c #232321",
+"e 	c #353431",
+"f 	c #292823",
+"g 	c #1E1E1A",
+"h 	c #535246",
+"i 	c #ADAC93",
+"j 	c #929189",
+"k 	c #C2C1AF",
+"l 	c #B1AF96",
+"m 	c #ACAA92",
+"n 	c #93927D",
+"o 	c #080808",
+"p 	c #D1D0C1",
+"q 	c #D6D5C4",
+"r 	c #DFDED1",
+"s 	c #CECDC0",
+"t 	c #ACACA6",
+"u 	c #908F8A",
+"v 	c #7E7D77",
+"w 	c #5C5C55",
+"x 	c #47463E",
+"y 	c #656456",
+"z 	c #777665",
+"A 	c #807E6F",
+"B 	c #BEBDA7",
+"C 	c #B5B39A",
+"D 	c #A19F88",
+"E 	c #D9D8CC",
+"F 	c #F6F5F2",
+"G 	c #DBDAD1",
+"H 	c #DAD9CE",
+"I 	c #E5E4D9",
+"J 	c #D0CFC3",
+"K 	c #D3D3C9",
+"L 	c #CAC9BC",
+"M 	c #B7B6A6",
+"N 	c #B8B6A1",
+"O 	c #B0AF96",
+"P 	c #B9B89D",
+"Q 	c #B9B79D",
+"R 	c #B8B69C",
+"S 	c #C4C2A9",
+"T 	c #AFAD97",
+"U 	c #8B8976",
+"V 	c #AAA998",
+"W 	c #B6B6B2",
+"X 	c #F9F9F7",
+"Y 	c #FAFAF8",
+"Z 	c #F4F4F0",
+"` 	c #E2E1DA",
+" .	c #D9D9CE",
+"..	c #DBDACF",
+"+.	c #D3D1BE",
+"@.	c #C5C4AC",
+"#.	c #D6D5C3",
+"$.	c #CDCCBF",
+"%.	c #BBBAAD",
+"&.	c #7C7A69",
+"*.	c #717060",
+"=.	c #131313",
+"-.	c #999882",
+";.	c #AFAE9D",
+">.	c #C3C3BE",
+",.	c #DEDEDC",
+"'.	c #E9E9E8",
+").	c #FBFBFA",
+"!.	c #FDFDFC",
+"~.	c #FDFDFD",
+"{.	c #FCFBFA",
+"].	c #F2F2EF",
+"^.	c #EAE9E3",
+"/.	c #C0BFB1",
+"(.	c #959484",
+"_.	c #787766",
+":.	c #6E6D5D",
+"<.	c #5B5B4D",
+"[.	c #5D5C4F",
+"}.	c #A3A293",
+"|.	c #B8B7A6",
+"1.	c #D8D7D0",
+"2.	c #DBDBD4",
+"3.	c #D3D2CA",
+"4.	c #C8C8C3",
+"5.	c #C6C5BD",
+"6.	c #BDBCAD",
+"7.	c #BAB8A8",
+"8.	c #9F9E8B",
+"9.	c #8E8C78",
+"0.	c #8C8B77",
+"a.	c #7A7968",
+"b.	c #6C6B5D",
+"c.	c #4E4D45",
+"d.	c #424242",
+"e.	c #7B7B73",
+"f.	c #9F9F96",
+"g.	c #D2D1C7",
+"h.	c #DCDBD2",
+"i.	c #CCCBBE",
+"j.	c #D1D0C2",
+"k.	c #C4C3B6",
+"l.	c #9A9883",
+"m.	c #807F6D",
+"n.	c #7D7C6B",
+"o.	c #6A695E",
+"p.	c #40403E",
+"q.	c #37372D",
+"r.	c #0F0F0F",
+"s.	c #383734",
+"t.	c #787875",
+"u.	c #999893",
+"v.	c #8A897E",
+"w.	c #B3B2A4",
+"x.	c #AAAA9E",
+"y.	c #878673",
+"z.	c #8F8D79",
+"A.	c #626155",
+"B.	c #545451",
+"C.	c #31312E",
+"D.	c #2B2B23",
+"E.	c #71715D",
+"F.	c #57574B",
+"G.	c #42423A",
+"H.	c #262620",
+"I.	c #212121",
+"J.	c #1B1B1B",
+"K.	c #242424",
+"L.	c #161613",
+"M.	c #2A2A22",
+"N.	c #303027",
+"O.	c #3F3F34",
+"P.	c #7A7A65",
+"Q.	c #5B5B51",
+"R.	c #858576",
+"S.	c #76766B",
+"T.	c #98988E",
+"U.	c #75756B",
+"V.	c #515146",
+"W.	c #7F7F74",
+"X.	c #6A6A58",
+"Y.	c #404035",
+"Z.	c #626251",
+"`.	c #545445",
+" +	c #3E3E33",
+".+	c #555546",
+"++	c #34342B",
+"@+	c #515143",
+"#+	c #85856E",
+"$+	c #5D5D54",
+"%+	c #919182",
+"&+	c #828278",
+"*+	c #AAAAA3",
+"=+	c #7A7A71",
+"-+	c #4E4E45",
+";+	c #8A8A80",
+">+	c #7C7C6D",
+",+	c #424237",
+"'+	c #606052",
+")+	c #5A5A4A",
+"!+	c #3C3C32",
+"~+	c #4E4E41",
+"{+	c #35352C",
+"]+	c #ACAC9C",
+"^+	c #85857B",
+"/+	c #BBBBB3",
+"(+	c #A3A39A",
+"_+	c #54544B",
+":+	c #93938A",
+"<+	c #919185",
+"[+	c #686856",
+"}+	c #414136",
+"|+	c #434337",
+"1+	c #A4A493",
+"2+	c #C1C1B6",
+"3+	c #B1B1A2",
+"4+	c #6B6B5F",
+"5+	c #9D9D8B",
+"6+	c #848470",
+"7+	c #71715E",
+"8+	c #A5A594",
+"9+	c #C2C2B7",
+"0+	c #7B7B65",
+"a+	c #5F5F4F",
+"b+	c #666654",
+"c+	c #49493C",
+"d+	c #575748",
+"e+	c #57574A",
+"f+	c #7D7D6D",
+"g+	c #767669",
+"h+	c #B3B3A8",
+"i+	c #A1A194",
+"j+	c #6D6D61",
+"k+	c #B3B3A5",
+"l+	c #696957",
+"m+	c #414135",
+"n+	c #565647",
+"o+	c #444438",
+"p+	c #595951",
+"q+	c #585849",
+"r+	c #4E4E40",
+"s+	c #747467",
+"t+	c #616153",
+"                  . . . . . .                   ",
+"              . + @ # $ % & * . .               ",
+"        . . . = - ; > , ' ) ! ~ { . . .         ",
+"      . ] ^ / ( _ : < [ } | 1 2 3 4 5 6 .       ",
+"    . 7 8 9 0 a b c d e f g h i j k l m n .     ",
+"    o p 8 q r s t u v w x y z A B C 2 C D .     ",
+"    . E F G H I J K L M N O D P Q R S T U .     ",
+"    . V W X Y Z `  ...0 +.S / @.#.$.%.&.*..     ",
+"    =.-.;.>.,.'.).!.~.{.X ].^.G /.(._.:.<..     ",
+"    . [.n }.|.1.2.3.4.5.6.7.8.9.0.9.a.b.c.      ",
+"      . d.e.f.g.h.i.j.k.l l l l.m.n.o.p..       ",
+"      . q.r.s.t.u.v.w.x.( y.z.A.B.C.. D..       ",
+"      . E.F.G.H.I.J.. K.. . . . L.M.N.O..       ",
+"      . P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+++@+.       ",
+"      . #+$+%+&+*+=+-+;+>+,+'+)+!+~+{+`..       ",
+"      . #+Q.]+^+/+(+_+:+<+,+'+[+}+X.|+X..       ",
+"      . #+Q.1+^+2+3+4+3+5+`.6+7+|+X.|+X..       ",
+"      . #+Q.8+^+9+3+4+3+5+`.6+7+|+X.|+X..       ",
+"      . #+Q.5+^+2+3+4+3+5+`.6+7+|+X.|+X..       ",
+"      . 0+Q.1+^+2+3+4+3+5+`.6+7+|+X.|+a+.       ",
+"      . b+Q.1+&+2+3+4+3+5+`.6+7+|+X.c+d+.       ",
+"        . e+f+g+h+i+j+k+5+`.6+l+m+n+o+. .       ",
+"          . . . p+q+r+s+t+~+c+c+. . .           ",
+"              . . . . . . . . . .               "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/describe.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,95 @@
+/* XPM */
+static char * stock_properties_xpm[] = {
+"24 24 68 1",
+" 	c None",
+".	c #000000",
+"+	c #74716E",
+"@	c #C9C4BD",
+"#	c #DFDAD2",
+"$	c #F4EFE5",
+"%	c #F2ECE1",
+"&	c #FFFFFF",
+"*	c #4C4B48",
+"=	c #EEE5D4",
+"-	c #ECE2CF",
+";	c #EADFC9",
+">	c #F9F9F9",
+",	c #E2D2B1",
+"'	c #F4F4F4",
+")	c #EEEEEE",
+"!	c #959595",
+"~	c #F5F5F5",
+"{	c #F6F6F6",
+"]	c #D9D9D9",
+"^	c #C7B99C",
+"/	c #E9E9E9",
+"(	c #787878",
+"_	c #E1E1E1",
+":	c #E2E2E2",
+"<	c #C8C8C8",
+"[	c #877E69",
+"}	c #9A8F78",
+"|	c #DEDEDE",
+"1	c #E3E3E3",
+"2	c #929292",
+"3	c #AFA389",
+"4	c #ACACAC",
+"5	c #A2A2A2",
+"6	c #E4E4E4",
+"7	c #BCBCBC",
+"8	c #939393",
+"9	c #EDEDED",
+"0	c #EFEFEF",
+"a	c #F0F0F0",
+"b	c #E5E5E5",
+"c	c #E7E7E7",
+"d	c #E8E8E8",
+"e	c #EAEAEA",
+"f	c #EBEBEB",
+"g	c #BEBEBE",
+"h	c #F1F1F1",
+"i	c #DFDFDF",
+"j	c #F3F3F3",
+"k	c #E0E0E0",
+"l	c #ABABAB",
+"m	c #AEAEAE",
+"n	c #AFAFAF",
+"o	c #ADADAD",
+"p	c #B0B0B0",
+"q	c #B1B1B1",
+"r	c #F7F7F7",
+"s	c #B3B3B3",
+"t	c #F8F8F8",
+"u	c #B4B4B4",
+"v	c #B5B5B5",
+"w	c #B6B6B6",
+"x	c #FAFAFA",
+"y	c #FBFBFB",
+"z	c #DCDCDC",
+"A	c #DDDDDD",
+"B	c #E6E6E6",
+"C	c #969696",
+"                        ",
+"                        ",
+"                        ",
+"           .........    ",
+"          .+@#$%.&&.    ",
+"          *=---;.&>.    ",
+"   .......;.,,,,.').    ",
+"   !~~{].;.^.,^^./(..   ",
+"  .~_:<.;.[.^.}..|]..   ",
+"  .~:1.;.2.[.3.4...5.   ",
+"  .{16..7/8.[.49)0a|.   ",
+"  .{6bcd/ef8.g9)0ahi.   ",
+"  .{bcd/ef9ef9)0ahjk.   ",
+"  .{cllefmnomnppqj'_.   ",
+"  .rd/ef9)09)0ahj'~:.   ",
+"  .r/4o9)ppnppqss~{1.   ",
+"  .tef9)0ah0ahj'~{rb.   ",
+"  .>9npahssqssuvw>xc.   ",
+"  .>)0ahj'~j'~{r>xyd.   ",
+"  .nzA|ik_:k_:1bBcdC.   ",
+"   .................    ",
+"                        ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/disconnect.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,69 @@
+/* XPM */
+static char * stock_disconnect_xpm[] = {
+"24 24 42 1",
+" 	c None",
+".	c #000000",
+"+	c #989389",
+"@	c #807D74",
+"#	c #C6C2BA",
+"$	c #43423C",
+"%	c #B7B3AA",
+"&	c #C4C2BD",
+"*	c #EAE8E3",
+"=	c #E2E1DD",
+"-	c #F0EFEC",
+";	c #AAA7A0",
+">	c #C5D2C8",
+",	c #E9EEEA",
+"'	c #F0EEEB",
+")	c #F2F0ED",
+"!	c #EBEAE6",
+"~	c #8A857B",
+"{	c #ECEBE8",
+"]	c #EEECEA",
+"^	c #78756B",
+"/	c #BEBBB5",
+"(	c #B3B1AA",
+"_	c #7D786E",
+":	c #E1DFDB",
+"<	c #D1D0CC",
+"[	c #010101",
+"}	c #8C8981",
+"|	c #A6A29B",
+"1	c #726D63",
+"2	c #CECAC3",
+"3	c #A7A49E",
+"4	c #0F0F0D",
+"5	c #F0F3F1",
+"6	c #272622",
+"7	c #8B877E",
+"8	c #706C62",
+"9	c #B1ADA4",
+"0	c #6C685E",
+"a	c #97938A",
+"b	c #646056",
+"c	c #8B877D",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"         ..           ..",
+"       ..+@.         .#@",
+"      $%&*@....      .*@",
+"     .=-;*@.>>,.     .'@",
+".....@=-;*@....      .'@",
+"******)!~{@.         .]@",
+"@@@@^^/(_:^.         .<@",
+"....[^}|12^....      .3@",
+"     4}|12^.>>5.     .3@",
+"      67890....      .a@",
+"       44+b.         .c@",
+"         44           4.",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        "};
--- a/etc/images/exit.xpm	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/images/exit.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -1,36 +1,167 @@
 /* XPM */
-static char *magick[] = {
-/* columns rows colors chars-per-pixel */
-"24 24 6 1",
-"  c Gray0",
-". c #ae6e66e76a0a",
-"X c #c6c67d7d8181",
-"o c #cdcd86868989",
-"O c #e4e4e4e4dcdc",
-"+ c None",
-/* pixels */
-"++++++++++++++++++++++++",
-"++++++++++++++++++++++++",
-"++++++++++++++++++++++++",
-"++++++++++++++++++++++++",
-"++++++++++++++++++++++++",
-"++++++++++         +++++",
-"++++++++++ OOOOOO  +++++",
-"++++++++++ OOOOOO  +++++",
-"++++++++   OOOOOO  +++++",
-"++++++++ . OOOOOO  +++++",
-"+++      .X OO  O  +++++",
-"+++ ......Xo O  O  +++++",
-"+++ ......Xo OOOO  +++++",
-"+++      .X OOOOO  +++++",
-"++++++++ . OOOOOO  +++++",
-"++++++++   OOOOOO  +++++",
-"++++++++++ OOOO    +++++",
-"++++++++++ OO      +++++",
-"++++++++++         +++++",
-"++++++++++++++++++++++++",
-"++++++++++++++++++++++++",
-"++++++++++++++++++++++++",
-"++++++++++++++++++++++++",
-"++++++++++++++++++++++++"
-};
+static char * stock_exit_xpm[] = {
+"24 24 140 2",
+"  	c None",
+". 	c #000000",
+"+ 	c #D6D6D4",
+"@ 	c #BDBDBC",
+"# 	c #A8A8A4",
+"$ 	c #92928F",
+"% 	c #727370",
+"& 	c #61615E",
+"* 	c #20201F",
+"= 	c #F1F1EF",
+"- 	c #E6E6E4",
+"; 	c #DADAD7",
+"> 	c #CFCFCD",
+", 	c #C4C4C1",
+"' 	c #A8A8A5",
+") 	c #767674",
+"! 	c #777774",
+"~ 	c #1E1E1D",
+"{ 	c #B9B9B7",
+"] 	c #AEAEAC",
+"^ 	c #8F8F8D",
+"/ 	c #262626",
+"( 	c #414140",
+"_ 	c #E9836C",
+": 	c #DEDEDC",
+"< 	c #C5C5C2",
+"[ 	c #636362",
+"} 	c #040504",
+"| 	c #040604",
+"1 	c #050705",
+"2 	c #E87B62",
+"3 	c #E67056",
+"4 	c #D5D5D3",
+"5 	c #DBDBD8",
+"6 	c #D0D0CE",
+"7 	c #080A07",
+"8 	c #0A0C09",
+"9 	c #0A0D09",
+"0 	c #0B0E0A",
+"a 	c #F0B0A1",
+"b 	c #EB8D77",
+"c 	c #DF421E",
+"d 	c #E97E66",
+"e 	c #CBCBC8",
+"f 	c #0C0F0B",
+"g 	c #0F130D",
+"h 	c #10140E",
+"i 	c #11150F",
+"j 	c #EFA392",
+"k 	c #BFBFBD",
+"l 	c #5D5D5C",
+"m 	c #10150F",
+"n 	c #141912",
+"o 	c #161C14",
+"p 	c #171D15",
+"q 	c #B7B7B4",
+"r 	c #0C0C0C",
+"s 	c #192017",
+"t 	c #1C2319",
+"u 	c #1D241A",
+"v 	c #CD8484",
+"w 	c #990000",
+"x 	c #701616",
+"y 	c #A6A6A5",
+"z 	c #181E16",
+"A 	c #1E261B",
+"B 	c #212A1E",
+"C 	c #222B1F",
+"D 	c #4F0000",
+"E 	c #AEAEAB",
+"F 	c #1D261B",
+"G 	c #242E21",
+"H 	c #273224",
+"I 	c #283325",
+"J 	c #580000",
+"K 	c #B5B5B3",
+"L 	c #293426",
+"M 	c #2D3929",
+"N 	c #2E3A2A",
+"O 	c #7C4343",
+"P 	c #6A0000",
+"Q 	c #720000",
+"R 	c #BDBDBB",
+"S 	c #232C20",
+"T 	c #2A3526",
+"U 	c #303C2B",
+"V 	c #33402E",
+"W 	c #C5C5C3",
+"X 	c #1E261C",
+"Y 	c #303D2C",
+"Z 	c #374532",
+"` 	c #394834",
+" .	c #500000",
+"..	c #CDCDCB",
+"+.	c #1B2319",
+"@.	c #253022",
+"#.	c #303E2D",
+"$.	c #394934",
+"%.	c #3D4E38",
+"&.	c #9D9D9B",
+"*.	c #565655",
+"=.	c #2C3828",
+"-.	c #40503A",
+";.	c #43553E",
+">.	c #BABAB7",
+",.	c #777776",
+"'.	c #323830",
+").	c #232C1F",
+"!.	c #313E2D",
+"~.	c #3B4A36",
+"{.	c #43553D",
+"].	c #485B42",
+"^.	c #4A5E44",
+"/.	c #F0F0EE",
+"(.	c #E5E5E3",
+"_.	c #C6C6C3",
+":.	c #ACACAB",
+"<.	c #8B8B8A",
+"[.	c #32392F",
+"}.	c #2C3728",
+"|.	c #3F503A",
+"1.	c #465840",
+"2.	c #4B5E44",
+"3.	c #4E6347",
+"4.	c #506549",
+"5.	c #DADAD8",
+"6.	c #7A7D78",
+"7.	c #333C30",
+"8.	c #475A41",
+"9.	c #4F6348",
+"0.	c #53694C",
+"a.	c #566C4E",
+"b.	c #576D4F",
+"c.	c #91968F",
+"d.	c #3B4736",
+"e.	c #42543C",
+"f.	c #51674A",
+"g.	c #586F50",
+"h.	c #5B7353",
+"i.	c #5C7454",
+"                                                ",
+"              . . . . . . . . . . . . . . . .   ",
+"              . + @ # $ % & & & * . . . . . .   ",
+"              . = - ; > , ' ) ! ~ . . . . . .   ",
+"          .   . = - ; > , { ] ^ / . . . . . .   ",
+"          . . . = - ; > , { { { ( . . . . . .   ",
+"          . _ . : - ; > < { { { [ } | 1 1 1 .   ",
+". . . . . . 2 3 . 4 5 6 < { { { [ 7 8 9 0 0 .   ",
+". a 2 2 2 2 b c d . e 6 < { { { [ f g h i i .   ",
+". j c c c c c c c 3 . k < { l { [ m n o p p .   ",
+". j c c c c c c c c 3 . q { l r [ n s t u u .   ",
+". v w w w w w w w w w x . y r { [ z A B C C .   ",
+". v w w w w w w w w D . E { { { [ F G H I I .   ",
+". v w w w w w w w J . K < { { { [ C L M N N .   ",
+". O P P P P Q w J . R 6 < { { { [ S T U V V .   ",
+". . . . . . Q J . W 5 6 < { { { [ X H Y Z ` .   ",
+"          .  .. ..- 5 6 < { { { [ +.@.#.$.%..   ",
+"          . . . = - 5 6 < { ] &.*.B =.Z -.;..   ",
+"          .   . = - 5 6 >.&.,.'.).!.~.{.].^..   ",
+"              . /.(._.:.<.[.}.Z |.1.2.3.4.4..   ",
+"              . 5.k 6.7.Z -.8.9.0.a.a.b.b.b..   ",
+"              . c.d.e.^.f.g.h.i.i.i.i.i.i.i..   ",
+"              . . . . . . . . . . . . . . . .   ",
+"                                                "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/gnus/toggle-subscription.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,58 @@
+/* XPM */
+static char * stock_task_recurring_xpm[] = {
+"24 24 31 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF",
+"@	c #F4E2BC",
+"#	c #F4D597",
+"$	c #434343",
+"%	c #F0CC84",
+"&	c #EBB13D",
+"*	c #4B4B4B",
+"=	c #535353",
+"-	c #C8C8C8",
+";	c #7D7D7D",
+">	c #7C7C7C",
+",	c #858585",
+"'	c #5C5C5C",
+")	c #949494",
+"!	c #F2F2F2",
+"~	c #B6B6B6",
+"{	c #BDBDBD",
+"]	c #818181",
+"^	c #878787",
+"/	c #B2B2B2",
+"(	c #FDFDFD",
+"_	c #DBDBDB",
+":	c #CCCCCC",
+"<	c #ECECEC",
+"[	c #7F7F99",
+"}	c #333366",
+"|	c #8F8FA9",
+"1	c #59597F",
+"2	c #EEEEEE",
+"                        ",
+"     . . . . . . .      ",
+"    .+.+.+.+.+.+.+.     ",
+"    .@.#.#.#.#.#.#.     ",
+"   .$%$&*&*&=&=&$&*.    ",
+"   .-*;*>*>*>*>=,').    ",
+"   .!>~>{]{]{]{]{^/.    ",
+"   .(_:::::::::::_/.    ",
+"   .+<<<<<<<<<<<<</.    ",
+"   .+_::[}::}}}}:_/.    ",
+"   .+<<|}<<<}}}<<</.    ",
+"   .+_:}[:::}}1[:_/.    ",
+"   .+<<}<<<<}<|}<</.    ",
+"   .+_:}[:}::::}:_/.    ",
+"   .+<<|}}}<<<|}<</.    ",
+"   .+_::}}}:::}[:_/.    ",
+"   .+<<}}}}<<}|<<</.    ",
+"   .+_:::::::::::_/.    ",
+"   .+<<<<<<<<<<<<</.    ",
+"   .2//////////////.    ",
+"   .................    ",
+"                        ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/lock-broken.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,231 @@
+/* XPM */
+static char * stock_lock_broken_xpm[] = {
+"24 24 204 2",
+"  	c None",
+". 	c #0E0E0E",
+"+ 	c #262626",
+"@ 	c #464646",
+"# 	c #3C3C3C",
+"$ 	c #3B3B3B",
+"% 	c #212121",
+"& 	c #252525",
+"* 	c #ADADAD",
+"= 	c #F0F0F0",
+"- 	c #EAEAEA",
+"; 	c #1A1A1A",
+"> 	c #000000",
+", 	c #FAFAFA",
+"' 	c #F4F4F4",
+") 	c #4D4D4D",
+"! 	c #303030",
+"~ 	c #D8D8D8",
+"{ 	c #E5E5E5",
+"] 	c #B0B0B0",
+"^ 	c #414141",
+"/ 	c #484848",
+"( 	c #030303",
+"_ 	c #DADADA",
+": 	c #E4E4E4",
+"< 	c #353535",
+"[ 	c #070707",
+"} 	c #A6A6A6",
+"| 	c #E6E6E6",
+"1 	c #686868",
+"2 	c #020202",
+"3 	c #3E3E3E",
+"4 	c #EFEFEF",
+"5 	c #9B9B9B",
+"6 	c #343434",
+"7 	c #F8F8F8",
+"8 	c #999999",
+"9 	c #F1F1F1",
+"0 	c #C4C4C4",
+"a 	c #232323",
+"b 	c #535353",
+"c 	c #AEAEAE",
+"d 	c #F3F3F3",
+"e 	c #D3D3D3",
+"f 	c #242424",
+"g 	c #4E4E4E",
+"h 	c #EEEEEE",
+"i 	c #B5B5B5",
+"j 	c #0F0601",
+"k 	c #200E03",
+"l 	c #765E49",
+"m 	c #7D6A56",
+"n 	c #38291D",
+"o 	c #180A03",
+"p 	c #D6CBC1",
+"q 	c #A09E9D",
+"r 	c #1D1109",
+"s 	c #2A1E13",
+"t 	c #3D2E21",
+"u 	c #3F3123",
+"v 	c #47423D",
+"w 	c #DBB98E",
+"x 	c #D6B183",
+"y 	c #D3AC7E",
+"z 	c #CFA573",
+"A 	c #CD9E67",
+"B 	c #C39056",
+"C 	c #46270A",
+"D 	c #281F14",
+"E 	c #675643",
+"F 	c #A48367",
+"G 	c #D8AB7C",
+"H 	c #BF9E7C",
+"I 	c #DCBB93",
+"J 	c #DCB786",
+"K 	c #D1A872",
+"L 	c #231B12",
+"M 	c #7B6C58",
+"N 	c #C69B63",
+"O 	c #C39860",
+"P 	c #C09257",
+"Q 	c #BD8A4A",
+"R 	c #B9803D",
+"S 	c #AA6E28",
+"T 	c #412409",
+"U 	c #100B07",
+"V 	c #CDB598",
+"W 	c #E8CCA9",
+"X 	c #DAB587",
+"Y 	c #D4AC7D",
+"Z 	c #D1A775",
+"` 	c #C99F6A",
+" .	c #AF8B5B",
+"..	c #2E2517",
+"+.	c #1E1910",
+"@.	c #0B0805",
+"#.	c #594B39",
+"$.	c #2A2015",
+"%.	c #C2975E",
+"&.	c #BE8D50",
+"*.	c #BB823F",
+"=.	c #AE722C",
+"-.	c #422409",
+";.	c #0E0B07",
+">.	c #AB957E",
+",.	c #E9CEAC",
+"'.	c #DBB68A",
+").	c #D5AD7E",
+"!.	c #D0A975",
+"~.	c #C9A26F",
+"{.	c #B99667",
+"].	c #AA895F",
+"^.	c #31291C",
+"/.	c #322A1C",
+"(.	c #54493B",
+"_.	c #C69C64",
+":.	c #C2965E",
+"<.	c #BE8E50",
+"[.	c #C29156",
+"}.	c #9E692A",
+"|.	c #1A150D",
+"1.	c #887762",
+"2.	c #EAD1AF",
+"3.	c #DDB98E",
+"4.	c #D4AC7E",
+"5.	c #D2A876",
+"6.	c #C39E6D",
+"7.	c #927751",
+"8.	c #15110C",
+"9.	c #988468",
+"0.	c #C2945A",
+"a.	c #BE8F51",
+"b.	c #BC8544",
+"c.	c #BE8A4F",
+"d.	c #9A6526",
+"e.	c #70604D",
+"f.	c #EFD6B5",
+"g.	c #DEBD93",
+"h.	c #D4AC7C",
+"i.	c #D0A672",
+"j.	c #C9A069",
+"k.	c #9D7E53",
+"l.	c #140F09",
+"m.	c #1F1710",
+"n.	c #EFD8B9",
+"o.	c #E3C39C",
+"p.	c #D7B080",
+"q.	c #D4AC79",
+"r.	c #CDA46F",
+"s.	c #3A2C1B",
+"t.	c #FFFFFF",
+"u.	c #1C160D",
+"v.	c #B29E85",
+"w.	c #E6C8A3",
+"x.	c #D7B081",
+"y.	c #D1A874",
+"z.	c #CBA16A",
+"A.	c #BA905A",
+"B.	c #251C10",
+"C.	c #DF421E",
+"D.	c #F7F7F7",
+"E.	c #DFDFDF",
+"F.	c #2F2619",
+"G.	c #92806A",
+"H.	c #E6C7A2",
+"I.	c #D6AF7E",
+"J.	c #CCA26C",
+"K.	c #53422A",
+"L.	c #211910",
+"M.	c #2A2014",
+"N.	c #E1E1E1",
+"O.	c #6A5C4A",
+"P.	c #EAD0AD",
+"Q.	c #DAB68B",
+"R.	c #D2A978",
+"S.	c #CEA56E",
+"T.	c #C89D66",
+"U.	c #856740",
+"V.	c #534026",
+"W.	c #F9F9F9",
+"X.	c #FBFBFB",
+"Y.	c #E2E2E2",
+"Z.	c #42362B",
+"`.	c #D1BA9B",
+" +	c #DCBA8E",
+".+	c #D1A773",
+"++	c #C4975C",
+"@+	c #BE8C4C",
+"#+	c #B4813F",
+"$+	c #281B0B",
+"%+	c #E3E3E3",
+"&+	c #372416",
+"*+	c #74654F",
+"=+	c #B68E5C",
+"-+	c #926231",
+";+	c #452B11",
+">+	c #341E09",
+",+	c #221205",
+"'+	c #150802",
+")+	c #FDFDFD",
+"!+	c #030000",
+"~+	c #050000",
+"{+	c #010000",
+"]+	c #C3C3C3",
+"                                                ",
+"                                                ",
+"            . + @ #           $ %               ",
+"          & * = - ;         > , ' ) >           ",
+"        ! ~ { ] ^ /         ( $ _ : <           ",
+"      [ } | 1 2                 3 4 5 >         ",
+"      6 7 8 >                   > 9 0 a         ",
+"      b 9 c >                   > d e f         ",
+"      g h i >                 j k l m n o       ",
+"      ^ p q r s t u >       v w x y z A B C     ",
+"  D E F G H I J K L       > M N O P Q R S T     ",
+"  U V W X Y Z `  ...+.      @.#.$.%.&.*.=.-.    ",
+"  ;.>.,.'.).!.~.{.].^./.      (._.:.<.[.}.-.    ",
+"  |.1.2.3.4.5.6.7.8.        > 9.0.a.b.c.d.T     ",
+"    e.f.g.h.i.j.k.l.>     > > > > > > > > >     ",
+"    m.n.o.p.q.r._.s.      > t.t.t.t.t.t.t.>     ",
+"    u.v.w.x.y.z.A.B.>     > t.C.C.D.C.C.E.>     ",
+"    F.G.H.I.i.J.K.L.M.    > t.C.C.C.C.C.N.>     ",
+"      O.P.Q.R.S.T.U.V.    > t.W.C.C.C.X.Y.>     ",
+"      Z.`. +.+z.++@+#+$+> > t.C.C.C.C.C.%+>     ",
+"      &+*+=+-+;+>+,+'+    > t.C.C.)+C.C.{ >     ",
+"        !+~+{+>           > - %+%+: { { ]+>     ",
+"                          > > > > > > > > >     ",
+"                                                "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/lock-ok.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,215 @@
+/* XPM */
+static char * stock_lock_ok_xpm[] = {
+"24 24 188 2",
+"  	c None",
+". 	c #000000",
+"+ 	c #212121",
+"@ 	c #9E9E9E",
+"# 	c #E6E6E6",
+"$ 	c #E7E7E7",
+"% 	c #C8C8C8",
+"& 	c #A0A0A0",
+"* 	c #131313",
+"= 	c #5F5F5F",
+"- 	c #EDEDED",
+"; 	c #D6D6D6",
+"> 	c #D5D5D5",
+", 	c #DDDDDD",
+"' 	c #D8D8D8",
+") 	c #A1A1A1",
+"! 	c #3C3C3C",
+"~ 	c #353535",
+"{ 	c #EFEFEF",
+"] 	c #CFCFCF",
+"^ 	c #4C4C4C",
+"/ 	c #141414",
+"( 	c #6A6A6A",
+"_ 	c #D0D0D0",
+": 	c #B2B2B2",
+"< 	c #454545",
+"[ 	c #E2E2E2",
+"} 	c #292929",
+"| 	c #0F0F0F",
+"1 	c #949494",
+"2 	c #E9E9E9",
+"3 	c #C3C3C3",
+"4 	c #1C1C1C",
+"5 	c #E1E1E1",
+"6 	c #272727",
+"7 	c #DEDEDE",
+"8 	c #B6B6B6",
+"9 	c #B7B6B6",
+"0 	c #150902",
+"a 	c #2E2419",
+"b 	c #251D15",
+"c 	c #616160",
+"d 	c #5E5A56",
+"e 	c #29211A",
+"f 	c #15100C",
+"g 	c #2F251B",
+"h 	c #1D1710",
+"i 	c #4A392B",
+"j 	c #656361",
+"k 	c #565352",
+"l 	c #392B1D",
+"m 	c #322110",
+"n 	c #0C0500",
+"o 	c #EFDBBF",
+"p 	c #EDD9C0",
+"q 	c #E9D5BE",
+"r 	c #E7D2B9",
+"s 	c #E5D0B3",
+"t 	c #DCC09D",
+"u 	c #D9BE99",
+"v 	c #DABE99",
+"w 	c #D7BB95",
+"x 	c #D5B68E",
+"y 	c #D2AF85",
+"z 	c #CFA77C",
+"A 	c #9A5E1B",
+"B 	c #F0DABF",
+"C 	c #E4C6A0",
+"D 	c #D6AF80",
+"E 	c #D3AC7B",
+"F 	c #D0A570",
+"G 	c #C99F68",
+"H 	c #C69B64",
+"I 	c #C69C64",
+"J 	c #C89D66",
+"K 	c #C79C65",
+"L 	c #C39860",
+"M 	c #C09256",
+"N 	c #BC8645",
+"O 	c #B67C36",
+"P 	c #985E1A",
+"Q 	c #EED8BC",
+"R 	c #E3C39C",
+"S 	c #D3AA7B",
+"T 	c #CFA670",
+"U 	c #CA9F68",
+"V 	c #C89E66",
+"W 	c #C89F68",
+"X 	c #C49961",
+"Y 	c #C09358",
+"Z 	c #BC8746",
+"` 	c #B77D39",
+" .	c #EED8BB",
+"..	c #E2C29B",
+"+.	c #D6AE7F",
+"@.	c #CA9E6D",
+"#.	c #C69861",
+"$.	c #BF925A",
+"%.	c #BB8E56",
+"&.	c #BD8E56",
+"*.	c #5C7354",
+"=.	c #EFDABE",
+"-.	c #E4C49D",
+";.	c #D7B080",
+">.	c #DAB685",
+",.	c #D4B07C",
+"'.	c #D0A971",
+").	c #CEA46B",
+"!.	c #CDA46D",
+"~.	c #FFFFFF",
+"{.	c #DBE0D9",
+"].	c #52684B",
+"^.	c #4E6346",
+"/.	c #52674A",
+"(.	c #EFD8BB",
+"_.	c #E0C199",
+":.	c #D3AA7A",
+"<.	c #C89B67",
+"[.	c #C3965F",
+"}.	c #BC8E56",
+"|.	c #BA8B52",
+"1.	c #BA8C54",
+"2.	c #F6F6F6",
+"3.	c #F7F7F7",
+"4.	c #F8F8F8",
+"5.	c #E6E9E5",
+"6.	c #6B8064",
+"7.	c #4B5F45",
+"8.	c #44553D",
+"9.	c #E3C29C",
+"0.	c #D9B484",
+"a.	c #D4AE77",
+"b.	c #CFA770",
+"c.	c #CCA46B",
+"d.	c #CBA36B",
+"e.	c #B6BEB3",
+"f.	c #4E6047",
+"g.	c #788274",
+"h.	c #CBD2C9",
+"i.	c #6A8063",
+"j.	c #384834",
+"k.	c #EDD6B8",
+"l.	c #E1BD94",
+"m.	c #D1A874",
+"n.	c #BD9058",
+"o.	c #B7874E",
+"p.	c #B48349",
+"q.	c #B5844C",
+"r.	c #8F9C8A",
+"s.	c #53684B",
+"t.	c #475841",
+"u.	c #657C5E",
+"v.	c #4A5D44",
+"w.	c #626E5D",
+"x.	c #EED8BA",
+"y.	c #E0C099",
+"z.	c #D8B37F",
+"A.	c #D2AD76",
+"B.	c #CEA66F",
+"C.	c #CCA46D",
+"D.	c #FAFAFA",
+"E.	c #6A7E63",
+"F.	c #63715E",
+"G.	c #E3E3E3",
+"H.	c #EED5B7",
+"I.	c #DFC096",
+"J.	c #D2A776",
+"K.	c #CEA46E",
+"L.	c #C89D65",
+"M.	c #C49960",
+"N.	c #C1955C",
+"O.	c #C2955C",
+"P.	c #FBFBFB",
+"Q.	c #FCFCFC",
+"R.	c #80937A",
+"S.	c #6D796A",
+"T.	c #FEFEFE",
+"U.	c #E5E5E5",
+"V.	c #AC8C65",
+"W.	c #CFA772",
+"X.	c #C49256",
+"Y.	c #C08D51",
+"Z.	c #BA8849",
+"`.	c #B78342",
+" +	c #B48240",
+".+	c #B68241",
+"++	c #EAEAEA",
+"@+	c #E4E4E4",
+"                                                ",
+"                                                ",
+"                    . . . . .                   ",
+"                . + @ # $ % & *                 ",
+"              . = - # ; > , ' ) ! .             ",
+"              ~ { ] ^ . . / ( _ : <             ",
+"            . [ ' } .       | ( % 1 .           ",
+"            * 2 3 .           4 5 @ .           ",
+"            6 7 8 .           . $ 9 .           ",
+"        0 a b c d e f g b h b i j k l m n       ",
+"        . o p q r s t u u v u w x y z A .       ",
+"        . B C D E F G H I J K L M N O P .       ",
+"        . Q R D S T U I V W V X Y Z ` A .       ",
+"        .  ...+.@.#.$.%.&.. . . . . . . . . *.  ",
+"        . =.-.;.>.,.'.).!.. ~.~.~.~.~.~.{.].^./.",
+"        . (._.:.<.[.}.|.1.. ~.2.3.3.4.5.6.7.8.  ",
+"        . Q 9.+.0.a.b.c.d.. ~.e.f.g.h.i.7.j.    ",
+"        . k.l.m.#.n.o.p.q.. ~.r.s.t.u.v.w..     ",
+"        . x.y.S z.A.B.c.C.. ~.D.E.s./.F.G..     ",
+"        . H.I.J.K.L.M.N.O.. ~.P.Q.R.S.T.U..     ",
+"        . V.W.X.Y.Z.`. +.+. ++G.G.@+U.U.3 .     ",
+"          . . . . . . . . . . . . . . . . .     ",
+"                                                ",
+"                                                "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/lock.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,227 @@
+/* XPM */
+static char * stock_lock_xpm[] = {
+"24 24 200 2",
+"  	c None",
+". 	c #000000",
+"+ 	c #212121",
+"@ 	c #9E9E9E",
+"# 	c #E6E6E6",
+"$ 	c #E7E7E7",
+"% 	c #C8C8C8",
+"& 	c #A0A0A0",
+"* 	c #131313",
+"= 	c #5F5F5F",
+"- 	c #EDEDED",
+"; 	c #D6D6D6",
+"> 	c #D5D5D5",
+", 	c #DDDDDD",
+"' 	c #D8D8D8",
+") 	c #A1A1A1",
+"! 	c #3C3C3C",
+"~ 	c #353535",
+"{ 	c #EFEFEF",
+"] 	c #CFCFCF",
+"^ 	c #4C4C4C",
+"/ 	c #141414",
+"( 	c #6A6A6A",
+"_ 	c #D0D0D0",
+": 	c #B2B2B2",
+"< 	c #454545",
+"[ 	c #E2E2E2",
+"} 	c #292929",
+"| 	c #0F0F0F",
+"1 	c #949494",
+"2 	c #E9E9E9",
+"3 	c #C3C3C3",
+"4 	c #1C1C1C",
+"5 	c #E1E1E1",
+"6 	c #272727",
+"7 	c #DEDEDE",
+"8 	c #B6B6B6",
+"9 	c #B7B6B6",
+"0 	c #150902",
+"a 	c #2E2419",
+"b 	c #251D15",
+"c 	c #616160",
+"d 	c #5E5A56",
+"e 	c #29211A",
+"f 	c #15100C",
+"g 	c #2F251B",
+"h 	c #1D1710",
+"i 	c #4A392B",
+"j 	c #656361",
+"k 	c #565352",
+"l 	c #392B1D",
+"m 	c #322110",
+"n 	c #0C0500",
+"o 	c #EFDBBF",
+"p 	c #EDD9C0",
+"q 	c #E9D5BE",
+"r 	c #E7D2B9",
+"s 	c #E5D0B3",
+"t 	c #DCC09D",
+"u 	c #D9BE99",
+"v 	c #DABE99",
+"w 	c #D7BB95",
+"x 	c #D5B68E",
+"y 	c #D2AF85",
+"z 	c #CFA77C",
+"A 	c #9A5E1B",
+"B 	c #F0DABF",
+"C 	c #E4C6A0",
+"D 	c #D6AF80",
+"E 	c #D3AC7B",
+"F 	c #D0A570",
+"G 	c #C99F68",
+"H 	c #C69B64",
+"I 	c #C69C64",
+"J 	c #C89D66",
+"K 	c #C79C65",
+"L 	c #C39860",
+"M 	c #C09256",
+"N 	c #BC8645",
+"O 	c #B67C36",
+"P 	c #985E1A",
+"Q 	c #EED8BC",
+"R 	c #E3C39C",
+"S 	c #D3AA7B",
+"T 	c #CFA670",
+"U 	c #CA9F68",
+"V 	c #C89E66",
+"W 	c #C89F68",
+"X 	c #C49961",
+"Y 	c #C09358",
+"Z 	c #BC8746",
+"` 	c #B77D39",
+" .	c #EED8BB",
+"..	c #E2C29B",
+"+.	c #D6AE7F",
+"@.	c #CA9E6D",
+"#.	c #C69861",
+"$.	c #BF925A",
+"%.	c #BB8E56",
+"&.	c #BD8E56",
+"*.	c #BD9058",
+"=.	c #BC8F58",
+"-.	c #B9884E",
+";.	c #B48145",
+">.	c #BA8442",
+",.	c #B47834",
+"'.	c #975C1A",
+").	c #EFDABE",
+"!.	c #E4C49D",
+"~.	c #D7B080",
+"{.	c #DAB685",
+"].	c #D4B07C",
+"^.	c #D0A971",
+"/.	c #CEA46B",
+"(.	c #CDA46D",
+"_.	c #CCA66D",
+":.	c #CCA46B",
+"<.	c #CA9F63",
+"[.	c #C79858",
+"}.	c #B9813F",
+"|.	c #B37834",
+"1.	c #975D1A",
+"2.	c #EFD8BB",
+"3.	c #E0C199",
+"4.	c #D3AA7A",
+"5.	c #C89B67",
+"6.	c #C3965F",
+"7.	c #BC8E56",
+"8.	c #BA8B52",
+"9.	c #BA8C54",
+"0.	c #BB8D55",
+"a.	c #BA8C55",
+"b.	c #B6864C",
+"c.	c #B47F43",
+"d.	c #BA833F",
+"e.	c #B37934",
+"f.	c #9B601E",
+"g.	c #E3C29C",
+"h.	c #D9B484",
+"i.	c #D4AE77",
+"j.	c #CFA770",
+"k.	c #CBA36B",
+"l.	c #CCA46C",
+"m.	c #CA9D61",
+"n.	c #C69856",
+"o.	c #BA813E",
+"p.	c #B27733",
+"q.	c #A36B2F",
+"r.	c #EDD6B8",
+"s.	c #E1BD94",
+"t.	c #D1A874",
+"u.	c #B7874E",
+"v.	c #B48349",
+"w.	c #B5844C",
+"x.	c #B5884D",
+"y.	c #B48146",
+"z.	c #B27A3C",
+"A.	c #B67D3A",
+"B.	c #B07530",
+"C.	c #A67137",
+"D.	c #EED8BA",
+"E.	c #E0C099",
+"F.	c #D8B37F",
+"G.	c #D2AD76",
+"H.	c #CEA66F",
+"I.	c #CCA46D",
+"J.	c #CCA56D",
+"K.	c #C99D61",
+"L.	c #C69858",
+"M.	c #B9803D",
+"N.	c #B67D38",
+"O.	c #AB783F",
+"P.	c #EED5B7",
+"Q.	c #DFC096",
+"R.	c #D2A776",
+"S.	c #CEA46E",
+"T.	c #C89D65",
+"U.	c #C49960",
+"V.	c #C1955C",
+"W.	c #C2955C",
+"X.	c #C2965C",
+"Y.	c #C09155",
+"Z.	c #BC8A4B",
+"`.	c #BE8A4C",
+" +	c #A9773C",
+".+	c #AC8C65",
+"++	c #CFA772",
+"@+	c #C49256",
+"#+	c #C08D51",
+"$+	c #BA8849",
+"%+	c #B78342",
+"&+	c #B48240",
+"*+	c #B68241",
+"=+	c #B88544",
+"-+	c #BB8949",
+";+	c #BC8748",
+">+	c #BA874A",
+",+	c #B98548",
+"'+	c #B27B3B",
+")+	c #6D4215",
+"                                                ",
+"                                                ",
+"                    . . . . .                   ",
+"                . + @ # $ % & *                 ",
+"              . = - # ; > , ' ) ! .             ",
+"              ~ { ] ^ . . / ( _ : <             ",
+"            . [ ' } .       | ( % 1 .           ",
+"            * 2 3 .           4 5 @ .           ",
+"            6 7 8 .           . $ 9 .           ",
+"        0 a b c d e f g b h b i j k l m n       ",
+"        . o p q r s t u u v u w x y z A .       ",
+"        . B C D E F G H I J K L M N O P .       ",
+"        . Q R D S T U I V W V X Y Z ` A .       ",
+"        .  ...+.@.#.$.%.&.*.=.-.;.>.,.'..       ",
+"        . ).!.~.{.].^./.(._.:.<.[.}.|.1..       ",
+"        . 2.3.4.5.6.7.8.9.0.a.b.c.d.e.f..       ",
+"        . Q g.+.h.i.j.:.k.l.k.m.n.o.p.q..       ",
+"        . r.s.t.#.*.u.v.w.x.b.y.z.A.B.C..       ",
+"        . D.E.S F.G.H.:.I.J.l.K.L.M.N.O..       ",
+"        . P.Q.R.S.T.U.V.W.X.X.Y.Z.>.`. +.       ",
+"        . .+++@+#+$+%+&+*+=+-+;+>+,+'+)+.       ",
+"          . . . . . . . . . . . . . . .         ",
+"                                                ",
+"                                                "};
--- a/etc/images/mail/compose.xpm	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/images/mail/compose.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -1,39 +1,225 @@
 /* XPM */
-static char *magick[] = {
-/* columns rows colors chars-per-pixel */
-"24 24 9 1",
-"  c Gray0",
-". c #757560602020",
-"X c #6711662663d9",
-"o c #8e8e7d7d4545",
-"O c #adad8e8e3030",
-"+ c #d8d8bebe6a6a",
-"@ c #a8fba84da483",
-"# c #eb79ea70e4f4",
-"$ c None",
-/* pixels */
-"$$$$$$$$$$$$$$$$$$$$$$$$",
-"$$$$$$$$$$$$$$$$$$$$$$$$",
-"$$$$$$$$$$$$$    $$$$$$$",
-"$$$$$$$$     X##@ $$$$$$",
-"$$$     X@######@ $$$$$$",
-"$$ X@##########X@@ $$$$$",
-"$$ #XX########@X@# $$$$$",
-"$$ @#@XX######X@## $$$$$",
-"$$$ ###@@X@##XXX##@ $ $$",
-"$$$ #####@@XX@#@X@#  + $",
-"$$$ @####X#######X@ +o $",
-"$$$$ ###@@######## +o $$",
-"$$$$ ###X######## +o $$$",
-"$$$$ @#@@######@ +o $$$$",
-"$$$$$ #X####@   +o $$$$$",
-"$$$$$ X@#@   $ +o $$$$$$",
-"$$$$$ XX  $$$ +o $$$$$$$",
-"$$$$$$  $$$$ +o $$$$$$$$",
-"$$$$$$$$$$$O.  $$$$$$$$$",
-"$$$$$$$$$$$  $$$$$$$$$$$",
-"$$$$$$$$$$$$$$$$$$$$$$$$",
-"$$$$$$$$$$$$$$$$$$$$$$$$",
-"$$$$$$$$$$$$$$$$$$$$$$$$",
-"$$$$$$$$$$$$$$$$$$$$$$$$"
-};
+static char * stock_mail_compose_xpm[] = {
+"24 24 198 2",
+"  	c None",
+". 	c #000000",
+"+ 	c #D1AF61",
+"@ 	c #F1E3AC",
+"# 	c #FBA90F",
+"$ 	c #FFFFFF",
+"% 	c #B5B5B5",
+"& 	c #A06B09",
+"* 	c #816000",
+"= 	c #E0E0E0",
+"- 	c #C1C1C1",
+"; 	c #F4F4F4",
+"> 	c #FDFDFD",
+", 	c #E6C370",
+"' 	c #F1D387",
+") 	c #D58F0C",
+"! 	c #B2B2B2",
+"~ 	c #C3C3C3",
+"{ 	c #FBFBFB",
+"] 	c #A8A8A8",
+"^ 	c #F6F6F6",
+"/ 	c #B3B3B3",
+"( 	c #FAFAFA",
+"_ 	c #ADADAD",
+": 	c #767676",
+"< 	c #5D5D5D",
+"[ 	c #404040",
+"} 	c #F8F8F8",
+"| 	c #F1D07E",
+"1 	c #ACACAC",
+"2 	c #F8F8F6",
+"3 	c #E2E2E2",
+"4 	c #858585",
+"5 	c #4B4B49",
+"6 	c #161616",
+"7 	c #FBFBFA",
+"8 	c #7D7D7D",
+"9 	c #F2F2F2",
+"0 	c #F0F0F0",
+"a 	c #EFEFEF",
+"b 	c #D5D5D5",
+"c 	c #F9F9F9",
+"d 	c #F6F6F3",
+"e 	c #F3F3F3",
+"f 	c #878786",
+"g 	c #E5E5E5",
+"h 	c #DFDFDF",
+"i 	c #EBEBEB",
+"j 	c #AEAEAE",
+"k 	c #7B5307",
+"l 	c #EDEDED",
+"m 	c #EBEBE9",
+"n 	c #E9E9E7",
+"o 	c #E0E0DE",
+"p 	c #BFBFBF",
+"q 	c #F0F0ED",
+"r 	c #F1D284",
+"s 	c #CA870B",
+"t 	c #9E9E9C",
+"u 	c #DCDCD9",
+"v 	c #D9D9D9",
+"w 	c #D9D9D6",
+"x 	c #D6D6D4",
+"y 	c #E5E5E4",
+"z 	c #D9D9D7",
+"A 	c #BABABA",
+"B 	c #AAAAAA",
+"C 	c #E7E7E5",
+"D 	c #E4E4E2",
+"E 	c #E2E2E0",
+"F 	c #EEEEEC",
+"G 	c #979796",
+"H 	c #D4D4D1",
+"I 	c #DEDEDC",
+"J 	c #DEDEDB",
+"K 	c #BDBDBC",
+"L 	c #E7E7E7",
+"M 	c #EFEFED",
+"N 	c #A6A6A5",
+"O 	c #BA7C0A",
+"P 	c #7A5B00",
+"Q 	c #DBDBD9",
+"R 	c #D5D5D3",
+"S 	c #BCBCBC",
+"T 	c #E3E3E3",
+"U 	c #F2E6B6",
+"V 	c #7B7B7B",
+"W 	c #704B05",
+"X 	c #676764",
+"Y 	c #CBCBC7",
+"Z 	c #C9C9C7",
+"` 	c #DBDBD7",
+" .	c #D7D7D5",
+"..	c #D7D7D3",
+"+.	c #B4B4B4",
+"@.	c #E4E4E4",
+"#.	c #DBD5C1",
+"$.	c #7E6F57",
+"%.	c #755800",
+"&.	c #D9D9D5",
+"*.	c #D5D5D1",
+"=.	c #D0D0CE",
+"-.	c #BABAB8",
+";.	c #DDDDDB",
+">.	c #D1D1CF",
+",.	c #0E0E0E",
+"'.	c #535353",
+").	c #8D8D8B",
+"!.	c #C4C4C1",
+"~.	c #C4C4BF",
+"{.	c #C1C1BC",
+"].	c #D3D3D0",
+"^.	c #D1D1D0",
+"/.	c #DCDCDB",
+"(.	c #E0E0DC",
+"_.	c #898987",
+":.	c #C9C9C6",
+"<.	c #CDCDCA",
+"[.	c #D0D0CD",
+"}.	c #CECECB",
+"|.	c #CFCFCC",
+"1.	c #D0D0CC",
+"2.	c #B6B6B6",
+"3.	c #D4D4D0",
+"4.	c #C3C3C0",
+"5.	c #5B5B5B",
+"6.	c #91918D",
+"7.	c #91918F",
+"8.	c #9F9F9D",
+"9.	c #AFAFAC",
+"0.	c #B9B9B6",
+"a.	c #BEBEBB",
+"b.	c #C5C5C2",
+"c.	c #C8C8C5",
+"d.	c #CACAC7",
+"e.	c #CBCBC8",
+"f.	c #CCCCC9",
+"g.	c #CCCCC8",
+"h.	c #D2D2D0",
+"i.	c #D2D2CF",
+"j.	c #BFBFBD",
+"k.	c #9F9F9C",
+"l.	c #888886",
+"m.	c #878785",
+"n.	c #8C8C8A",
+"o.	c #959593",
+"p.	c #9C9C9A",
+"q.	c #A8A8A5",
+"r.	c #B1B1AE",
+"s.	c #B5B5B3",
+"t.	c #BBBBB8",
+"u.	c #BFBFBC",
+"v.	c #C2C2BE",
+"w.	c #D1D1CE",
+"x.	c #AEAEAB",
+"y.	c #9D9D9A",
+"z.	c #979794",
+"A.	c #949491",
+"B.	c #9A9A97",
+"C.	c #A3A3A0",
+"D.	c #AAAAA7",
+"E.	c #B0B0AC",
+"F.	c #B8B8B5",
+"G.	c #B0B0AE",
+"H.	c #CFCFCD",
+"I.	c #BEBEBC",
+"J.	c #B4B4B0",
+"K.	c #ACACA8",
+"L.	c #A4A4A2",
+"M.	c #A0A09C",
+"N.	c #A4A4A0",
+"O.	c #A8A8A6",
+"P.	c #ABABA7",
+"Q.	c #B2B2AE",
+"R.	c #A4A4A4",
+"S.	c #CECECC",
+"T.	c #CECECA",
+"U.	c #C6C6C2",
+"V.	c #BCBCB9",
+"W.	c #B3B3AF",
+"X.	c #ABABA9",
+"Y.	c #A6A6A3",
+"Z.	c #A0A09D",
+"`.	c #ACACA9",
+" +	c #A1A1A1",
+".+	c #B1B1AF",
+"++	c #B4B4B3",
+"@+	c #B4B4B1",
+"#+	c #B3B3B1",
+"$+	c #AEAEAA",
+"%+	c #A7A7A4",
+"&+	c #A2A2A0",
+"*+	c #A5A5A1",
+"=+	c #999997",
+"-+	c #929290",
+";+	c #949490",
+">+	c #9D9D9B",
+",+	c #858583",
+"                            . . .               ",
+"    . . . . . . . . . . . . + @ # . . .         ",
+"    . $ $ $ $ $ $ $ $ $ % & @ # * . = - .       ",
+"    . $ ; $ $ $ $ $ > > . , ' ) . ! ~ { ] .     ",
+"    . $ ^ $ $ $ > > > / & @ # * . ( _ : < [ .   ",
+"    . $ ^ $ { { { { } . , | ) . 1 2 3 4 5 6 .   ",
+"    . $ ; > > { { 7 8 & @ # * . ; 9 0 a b _ .   ",
+"    . $ 9 c ^ ^ d e . , | ) . f g 3 h i 3 - .   ",
+"    . $ 0 } } } 2 j k @ # * . l i m n n o p .   ",
+"    . $ a e 0 q l . , r s . t u v w x y z A .   ",
+"    . $ l ; ; 9 B & @ # * . C y y D o E z A .   ",
+"    . $ i F C g . , r s . G H E o I J I z K .   ",
+"    . $ L M i N O # # P . E o I J u Q Q R S .   ",
+"    . $ g T v . U V W . X Y Z u ` z  .z ..+..   ",
+"    . $ E y @.. #.$.%.. u Q ` &...R *...=.-..   ",
+"    . $ I ;.>.,.'.. . ).!.~.{.*.*.].^.].=.-..   ",
+"    . $ /.(.;.. . _.:.<.[.}.[.[.[.[.|.[.1.2..   ",
+"    . $ Q 3.4.5.6.7.8.9.0.a.4.b.c.d.e.f.g.! .   ",
+"    . $ h.i.|.j.k.l.m.n.o.p.q.r.s.t.a.u.v.! .   ",
+"    . $ w.1.f.|.4.x.y.z.z.A.B.k.C.q.D.E.F.G..   ",
+"    . $ i.w.w.w.H.e.I.J.K.L.M.M.N.L.O.P.Q.R..   ",
+"    . $ ^.w.=.S.T.T.g.U.V.W.J.X.Y.Z.Y.D.`. +.   ",
+"    . $ .+++@+@+@+#+#+Q.$+%+&+*+*+=+-+;+>+,+.   ",
+"    . . . . . . . . . . . . . . . . . . . .     "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/mail/copy.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,104 @@
+/* XPM */
+static char * stock_mail_copy_xpm[] = {
+"24 24 77 1",
+" 	c None",
+".	c #010101",
+"+	c #2F2F2F",
+"@	c #E3E2E1",
+"#	c #FCFCFC",
+"$	c #B3B2B1",
+"%	c #95938E",
+"&	c #F7F7F7",
+"*	c #F5F4F2",
+"=	c #F8F8F8",
+"-	c #F7F6F6",
+";	c #EAE9E5",
+">	c #7B7976",
+",	c #D2CFCA",
+"'	c #E1E0DD",
+")	c #908E8B",
+"!	c #EBEAEA",
+"~	c #F1F0EE",
+"{	c #E2E0DD",
+"]	c #7C7B78",
+"^	c #C6C3C0",
+"/	c #E5E3DE",
+"(	c #DCDAD7",
+"_	c #8F8C88",
+":	c #EBEBEA",
+"<	c #EFEDEA",
+"[	c #DFDDDA",
+"}	c #787774",
+"|	c #C1BEBA",
+"1	c #E6E3E0",
+"2	c #EFEEEC",
+"3	c #CBCAC6",
+"4	c #ECECEC",
+"5	c #F3F2F0",
+"6	c #DCDCDC",
+"7	c #7D7C79",
+"8	c #B4B2AE",
+"9	c #E7E5E1",
+"0	c #F0EFEB",
+"a	c #E4E2DD",
+"b	c #7B7874",
+"c	c #AFACA6",
+"d	c #ABA8A3",
+"e	c #F9F8F6",
+"f	c #EAE9E8",
+"g	c #B0ADA7",
+"h	c #F5F3F0",
+"i	c #B9B8B6",
+"j	c #CBC9C4",
+"k	c #DEDBD5",
+"l	c #9D9994",
+"m	c #DBD9D6",
+"n	c #747370",
+"o	c #A09C97",
+"p	c #DAD8D5",
+"q	c #E7E6E3",
+"r	c #E8E6E1",
+"s	c #E0DED9",
+"t	c #F7F6F4",
+"u	c #D3D1CF",
+"v	c #868480",
+"w	c #C2BFBD",
+"x	c #DAD9D5",
+"y	c #F6F5F1",
+"z	c #D8D6D1",
+"A	c #F7F5F2",
+"B	c #92908B",
+"C	c #CCCAC5",
+"D	c #F7F6F2",
+"E	c #F5F4F0",
+"F	c #EAE8E3",
+"G	c #D2D0CB",
+"H	c #D9D7D2",
+"I	c #DAD8D3",
+"J	c #D5D3CE",
+"K	c #D6D4CF",
+"L	c #040404",
+"                        ",
+"                        ",
+"                        ",
+"   .+...........        ",
+"  .@###########$.       ",
+"  .#%&*=*-*-*;>,.       ",
+"  .#')!~-*-*{]^/.       ",
+"  .#~(_:~<~[}|1/.       ",
+"  .#~23]4567890a.       ",
+"  .#22~b.+...........   ",
+"  .#~2c.@###########$.  ",
+"  .#2de.#%&*=*-*-*;>,.  ",
+"  .fgeh.#')!~-*-*{]^/.  ",
+"  .ijkk.#~(_:~<~[}|1/.  ",
+"   .....#~23]4567890a.  ",
+"       .#22~l]mnopqrs.  ",
+"       .#~2ctuvwxoy0z.  ",
+"       .#2deetptAABrC.  ",
+"       .fgehDEAEAhFBG.  ",
+"       .ijkkkHIJKGGGB.  ",
+"        ............L   ",
+"                        ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/mail/forward.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,92 @@
+/* XPM */
+static char * stock_mail_forward_xpm[] = {
+"24 24 65 1",
+" 	c None",
+".	c #000000",
+"+	c #535353",
+"@	c #FFFFFF",
+"#	c #FEFEFE",
+"$	c #FDFDFD",
+"%	c #FCFCFC",
+"&	c #FBFBFB",
+"*	c #F9F9F9",
+"=	c #F8F8F8",
+"-	c #F7F7F7",
+";	c #F6F6F6",
+">	c #F5F5F5",
+",	c #F4F4F4",
+"'	c #E3E3E3",
+")	c #EEEEEE",
+"!	c #4F4F4F",
+"~	c #F3F3F3",
+"{	c #F2F2F2",
+"]	c #F1F1F1",
+"^	c #F0F0F0",
+"/	c #EFEFEF",
+"(	c #EDEDED",
+"_	c #AEAEAE",
+":	c #E4E4E4",
+"<	c #434343",
+"[	c #ACACAC",
+"}	c #C8C8C8",
+"|	c #A0A0A0",
+"1	c #D4D4D4",
+"2	c #ECECEC",
+"3	c #959595",
+"4	c #3E3E3E",
+"5	c #4D4D4D",
+"6	c #818181",
+"7	c #C6C6C6",
+"8	c #6A6A6A",
+"9	c #636363",
+"0	c #B9B9B9",
+"a	c #737373",
+"b	c #7C7C7C",
+"c	c #5B88B2",
+"d	c #9EB8D1",
+"e	c #5080AD",
+"f	c #B5C9DC",
+"g	c #AFC5DA",
+"h	c #B2C7DB",
+"i	c #B6CADD",
+"j	c #A4BDD5",
+"k	c #9CB7D1",
+"l	c #080D11",
+"m	c #BCBCBC",
+"n	c #9BB6D0",
+"o	c #A0BAD3",
+"p	c #9AB5CF",
+"q	c #97B3CE",
+"r	c #5F8BB4",
+"s	c #91B0CC",
+"t	c #95B2CE",
+"u	c #4C79A3",
+"v	c #49749C",
+"w	c #3F6588",
+"x	c #2A435B",
+"y	c #456F96",
+"z	c #375978",
+"                        ",
+"                        ",
+"                        ",
+"  .................     ",
+" .+@@@@#$%&*=-;>,'+.    ",
+" .)!@>,~{{]^^/)('!_.    ",
+" .@:<$~{{]^/))('![}.    ",
+" .@>:!&]^^/)(('<|1}.    ",
+" .@&>:<=^/)(2'!31:}.    ",
+" .@>>>:4>)(2'567::}.    ",
+" .@&>>:8<~2'!877>.}.    ",
+" .@>>:9@0!^!37a7>...    ",
+" .@&:9@>:1![7::b:.c.    ",
+" .@:a@>>>>:.......de.   ",
+" .@b@::::::.fghiiijkel  ",
+" .ammmmmmmm.nokknpokqr. ",
+"  ..........sdppnkkkotu.",
+"           .vwwwwwwwwx. ",
+"           .yzzzzzwwx.  ",
+"           .......wx.   ",
+"                 .x.    ",
+"                 ..     ",
+"                 .      ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/mail/inbox.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,103 @@
+/* XPM */
+static char * stock_inbox_xpm[] = {
+"24 24 76 1",
+" 	c None",
+".	c #000000",
+"+	c #B5CADD",
+"@	c #BFD1E1",
+"#	c #C3D4E3",
+"$	c #C7D7E5",
+"%	c #B0C6DA",
+"&	c #6B94BB",
+"*	c #131E29",
+"=	c #739ABF",
+"-	c #7EA2C4",
+";	c #9AB6D0",
+">	c #E4EBF2",
+",	c #DDE6EF",
+"'	c #8CACCA",
+")	c #5C8AB4",
+"!	c #090F15",
+"~	c #B1C7DB",
+"{	c #D0DDEA",
+"]	c #D9E3ED",
+"^	c #88A9C8",
+"/	c #4D7CA7",
+"(	c #030405",
+"_	c #41688D",
+":	c #32506C",
+"<	c #C4D5E4",
+"[	c #A5BED5",
+"}	c #456F97",
+"|	c #3B5F81",
+"1	c #C8D8E6",
+"2	c #9CB8D2",
+"3	c #395B7B",
+"4	c #C6D6E4",
+"5	c #BBCEDF",
+"6	c #3D6183",
+"7	c #B6CBDE",
+"8	c #426A90",
+"9	c #E2C6A9",
+"0	c #E5CDB4",
+"a	c #D5AA7F",
+"b	c #9D6733",
+"c	c #CB9967",
+"d	c #ADC4D9",
+"e	c #B99877",
+"f	c #CFBAA4",
+"g	c #9A7149",
+"h	c #CDA378",
+"i	c #D2A87E",
+"j	c #608DB6",
+"k	c #AA7B4B",
+"l	c #C2A588",
+"m	c #996633",
+"n	c #BB9978",
+"o	c #C3976B",
+"p	c #D2A980",
+"q	c #D1A77D",
+"r	c #E0C4A8",
+"s	c #C9B097",
+"t	c #D7B38E",
+"u	c #DAC2A9",
+"v	c #BD9063",
+"w	c #CEA57C",
+"x	c #E5CFBB",
+"y	c #393633",
+"z	c #E0C8B1",
+"A	c #C9A480",
+"B	c #D1A87E",
+"C	c #D0A67B",
+"D	c #E1CAB4",
+"E	c #52504D",
+"F	c #D8C6B5",
+"G	c #CBA988",
+"H	c #CCAF93",
+"I	c #D2B496",
+"J	c #A67D51",
+"K	c #E2CFBD",
+"     ......             ",
+"    .+@#$%&*.           ",
+"    .=-;$>,')!          ",
+"     ...=~{]^/(         ",
+"        .=+#$_:.        ",
+"         .<[@}|.        ",
+"         .12@}3.        ",
+"      ....425}6....     ",
+"       .=2527}8}:.      ",
+"     ..9.=227}}:.       ",
+"   ..0abb.=2~}:..       ",
+" ..0abbbbc.=d:.ef..     ",
+".0abbbbghii.j.kkklf..   ",
+".mnabgopqqqi.iokkkkef.  ",
+".mmmnrooqiqqqiiiokkkks. ",
+".mmmmmnrooqiqqqiiiokkl. ",
+" ..mmmmmnrooqiqqiiituf. ",
+"   ..mmmmmnrvwiqqtxxy.  ",
+"     ..mmmmmzABCDxE..   ",
+"      ...mmmFGHIE..     ",
+"        ...mJK...       ",
+"          .....         ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/mail/move.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,103 @@
+/* XPM */
+static char * stock_mail_move_xpm[] = {
+"24 24 76 1",
+" 	c None",
+".	c #010101",
+"+	c #2F2F2F",
+"@	c #E3E2E1",
+"#	c #FCFCFC",
+"$	c #B3B2B1",
+"%	c #95938E",
+"&	c #F7F7F7",
+"*	c #F5F4F2",
+"=	c #F8F8F8",
+"-	c #F7F6F6",
+";	c #EAE9E5",
+">	c #7B7976",
+",	c #D2CFCA",
+"'	c #E1E0DD",
+")	c #908E8B",
+"!	c #EBEAEA",
+"~	c #F1F0EE",
+"{	c #E2E0DD",
+"]	c #7C7B78",
+"^	c #C6C3C0",
+"/	c #E5E3DE",
+"(	c #DCDAD7",
+"_	c #8F8C88",
+":	c #EBEBEA",
+"<	c #EFEDEA",
+"[	c #DFDDDA",
+"}	c #787774",
+"|	c #C1BEBA",
+"1	c #E6E3E0",
+"2	c #EFEEEC",
+"3	c #CBCAC6",
+"4	c #ECECEC",
+"5	c #F3F2F0",
+"6	c #DCDCDC",
+"7	c #7D7C79",
+"8	c #B4B2AE",
+"9	c #E7E5E1",
+"0	c #F0EFEB",
+"a	c #E4E2DD",
+"b	c #9D9994",
+"c	c #DBD9D6",
+"d	c #747370",
+"e	c #A09C97",
+"f	c #DAD8D5",
+"g	c #E7E6E3",
+"h	c #E8E6E1",
+"i	c #E0DED9",
+"j	c #AFACA6",
+"k	c #F7F6F4",
+"l	c #D3D1CF",
+"m	c #868480",
+"n	c #C2BFBD",
+"o	c #DAD9D5",
+"p	c #F6F5F1",
+"q	c #D8D6D1",
+"r	c #ABA8A3",
+"s	c #F9F8F6",
+"t	c #F7F5F2",
+"u	c #92908B",
+"v	c #CCCAC5",
+"w	c #EAE9E8",
+"x	c #B0ADA7",
+"y	c #F5F3F0",
+"z	c #F7F6F2",
+"A	c #F5F4F0",
+"B	c #EAE8E3",
+"C	c #D2D0CB",
+"D	c #B9B8B6",
+"E	c #CBC9C4",
+"F	c #DEDBD5",
+"G	c #D9D7D2",
+"H	c #DAD8D3",
+"I	c #D5D3CE",
+"J	c #D6D4CF",
+"K	c #040404",
+"                        ",
+"                        ",
+"                        ",
+"   . . . . . . .        ",
+"  .             .       ",
+"                        ",
+"  .             .       ",
+"                        ",
+"  .             .       ",
+"        .+...........   ",
+"  .    .@###########$.  ",
+"       .#%&*=*-*-*;>,.  ",
+"  .    .#')!~-*-*{]^/.  ",
+"       .#~(_:~<~[}|1/.  ",
+"   . . .#~23]4567890a.  ",
+"       .#22~b]cdefghi.  ",
+"       .#~2jklmnoep0q.  ",
+"       .#2rsskfkttuhv.  ",
+"       .wxsyzAtAtyBuC.  ",
+"       .DEFFFGHIJCCCu.  ",
+"        ............K   ",
+"                        ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/mail/not-spam.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,149 @@
+/* XPM */
+static char * stock_not_spam_xpm[] = {
+"24 24 122 2",
+"  	c None",
+". 	c #1D1E1E",
+"+ 	c #333839",
+"@ 	c #393F40",
+"# 	c #171819",
+"$ 	c #B2B8B9",
+"% 	c #D5E3E7",
+"& 	c #AABABD",
+"* 	c #64696A",
+"= 	c #0C0D0D",
+"- 	c #929C9E",
+"; 	c #E7F0F3",
+"> 	c #EDF0F1",
+", 	c #E5EDEF",
+"' 	c #C5D9DD",
+") 	c #2E3132",
+"! 	c #3F4343",
+"~ 	c #1F2121",
+"{ 	c #DFEBEE",
+"] 	c #B7C4C8",
+"^ 	c #D2D9DA",
+"/ 	c #E1EFF2",
+"( 	c #B6CBCF",
+"_ 	c #3C4547",
+": 	c #1E2223",
+"< 	c #191E1F",
+"[ 	c #2D2E2F",
+"} 	c #191A1A",
+"| 	c #252829",
+"1 	c #7E8E92",
+"2 	c #B7C2C3",
+"3 	c #C3D9DD",
+"4 	c #9CACB0",
+"5 	c #C3CDCE",
+"6 	c #C7E1E7",
+"7 	c #668F97",
+"8 	c #90ACB2",
+"9 	c #CDDDE1",
+"0 	c #485559",
+"a 	c #88A6AC",
+"b 	c #1F2223",
+"c 	c #3F4545",
+"d 	c #242728",
+"e 	c #313B3E",
+"f 	c #A8C2C8",
+"g 	c #B2BDC0",
+"h 	c #CFE5E9",
+"i 	c #C2D9DE",
+"j 	c #81989C",
+"k 	c #A2C0C5",
+"l 	c #85A9B1",
+"m 	c #E5ECEE",
+"n 	c #E7F2F4",
+"o 	c #9BAEB3",
+"p 	c #C8E1E7",
+"q 	c #3A3E3F",
+"r 	c #0C0E0E",
+"s 	c #000000",
+"t 	c #333737",
+"u 	c #B3C2C5",
+"v 	c #DDEDF0",
+"w 	c #D8E4E6",
+"x 	c #DAECEF",
+"y 	c #D5E9ED",
+"z 	c #D2E7EC",
+"A 	c #95ADB2",
+"B 	c #DBE2E2",
+"C 	c #EDEFF0",
+"D 	c #A2B1B3",
+"E 	c #8FA4A8",
+"F 	c #D7E2E5",
+"G 	c #798F94",
+"H 	c #151819",
+"I 	c #F3B5A7",
+"J 	c #865E55",
+"K 	c #AFB9BB",
+"L 	c #F1F8F9",
+"M 	c #F7FBFB",
+"N 	c #D9EBEF",
+"O 	c #ECF4F6",
+"P 	c #F3F7F7",
+"Q 	c #E9F2F4",
+"R 	c #EEF2F3",
+"S 	c #E9EDEE",
+"T 	c #C5C8C9",
+"U 	c #C2C6C8",
+"V 	c #E0E7E7",
+"W 	c #DDEAED",
+"X 	c #7A9DA5",
+"Y 	c #EB8169",
+"Z 	c #B83618",
+"` 	c #924E3C",
+" .	c #9FA5A6",
+"..	c #E3EEF0",
+"+.	c #ECF5F7",
+"@.	c #D6EAED",
+"#.	c #CBE4E9",
+"$.	c #747C7D",
+"%.	c #B43518",
+"&.	c #E76A4D",
+"*.	c #B53F24",
+"=.	c #CB705A",
+"-.	c #C4D8DB",
+";.	c #D2E6E9",
+">.	c #CAE3E8",
+",.	c #A9C8CF",
+"'.	c #EC927D",
+").	c #E66F54",
+"!.	c #D26951",
+"~.	c #F1A897",
+"{.	c #E76547",
+"].	c #C58B7D",
+"^.	c #A8ABAC",
+"/.	c #70A1AB",
+"(.	c #DF421E",
+"_.	c #C43A1A",
+":.	c #E17055",
+"<.	c #DD8D7A",
+"[.	c #FFFFFF",
+"}.	c #030505",
+"|.	c #A2432E",
+"1.	c #AC3316",
+"                                                ",
+"                                                ",
+"              . + @                             ",
+"            # $ % & * .                         ",
+"            = - ; > , ' ) !                     ",
+"              ~ { ] ^ / ( _ : < [ }             ",
+"            | 1 2 3 4 5 6 7 8 9 0 a b           ",
+"        c d e f g h i j k l m n o p q r         ",
+"      s t u v w / x y z A B C D E F G H         ",
+"  s s I J K L M N O P Q R S T U V W X <         ",
+"s I Y Z `  ...+.@.#.$.s s s s s s s s s s s s   ",
+"s %.&.Y *.=.-.;.>.,.s '.).).).).).).).).).).!.s ",
+"s %.%.%.&.~.{.].^./.s ).(.(.(.(.(.(.(.(.(.(._.s ",
+"s %.%.%.%.%.&.~.:.<.s ).(.[.[.(.(.(.(.[.[.(._.s ",
+"  s s %.%.%.%.%.&.~.s ).(.[.[.[.(.(.[.[.[.(._.s ",
+"      s s %.%.%.%.%.s ).(.(.[.[.[.[.[.[.(.(._.s ",
+"          s s %.%.%.s ).(.(.(.[.[.[.[.(.(.(._.s ",
+"            }.s s |.s ).(.(.(.[.[.[.[.(.(.(._.s ",
+"                s s s ).(.(.[.[.[.[.[.[.(.(._.s ",
+"                    s ).(.[.[.[.(.(.[.[.[.(._.s ",
+"                    s ).(.[.[.(.(.(.(.[.[.(._.s ",
+"                    s ).(.(.(.(.(.(.(.(.(.(._.s ",
+"                    s !._._._._._._._._._._.1.s ",
+"                      s s s s s s s s s s s s   "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/mail/outbox.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,96 @@
+/* XPM */
+static char * stock_outbox_xpm[] = {
+"24 24 69 1",
+" 	c None",
+".	c #000000",
+"+	c #E66040",
+"@	c #EE937E",
+"#	c #E55E3F",
+"$	c #E1431F",
+"%	c #EC8770",
+"&	c #F0A08E",
+"*	c #F3B7A9",
+"=	c #EF9985",
+"-	c #E76749",
+";	c #ED8C75",
+">	c #F5BEB1",
+",	c #F3B4A5",
+"'	c #F4B8AA",
+")	c #F1A593",
+"!	c #E55B3B",
+"~	c #E45534",
+"{	c #F4BDB0",
+"]	c #F4BAAC",
+"^	c #EF9C89",
+"/	c #E34E2B",
+"(	c #C0391A",
+"_	c #8A2912",
+":	c #3E3E3C",
+"<	c #D4D3D2",
+"[	c #DB411D",
+"}	c #F1A999",
+"|	c #D23E1C",
+"1	c #812611",
+"2	c #C7C7C5",
+"3	c #ACABA8",
+"4	c #6A6966",
+"5	c #E9775D",
+"6	c #CECDCC",
+"7	c #A93217",
+"8	c #9B9A97",
+"9	c #494846",
+"0	c #9A9996",
+"a	c #BBBBB9",
+"b	c #747370",
+"c	c #A5A4A1",
+"d	c #AAA9A6",
+"e	c #686765",
+"f	c #7D7C79",
+"g	c #686764",
+"h	c #9C9B98",
+"i	c #999895",
+"j	c #ABAAA7",
+"k	c #A9A8A5",
+"l	c #AF3417",
+"m	c #E55D3D",
+"n	c #C5C5C3",
+"o	c #8D8C89",
+"p	c #626260",
+"q	c #B2B1AE",
+"r	c #A7A6A3",
+"s	c #B4B4B2",
+"t	c #C3C3C1",
+"u	c #92918E",
+"v	c #D1D0CF",
+"w	c #373735",
+"x	c #CACAC8",
+"y	c #A8A7A4",
+"z	c #CCCCCA",
+"A	c #52514E",
+"B	c #C8C8C6",
+"C	c #B5B5B3",
+"D	c #7E7D7A",
+"                 .      ",
+"                 ..     ",
+"                 .+.    ",
+"              ....@#.   ",
+"             .$%&*=@-.  ",
+"            .;>,')@@@!. ",
+"           .~{]*^@@@@@-.",
+"         ...@>/((((((_. ",
+"       .:<.[}|((((((1.  ",
+"     ..234.5+(_...(1.   ",
+"   ..63444.@(7...._.    ",
+" ..6344448.@(.90a..     ",
+".634444bcd.#$.eff.a..   ",
+".gh34bijkk.lm.iffff0a.  ",
+".ggghniikdo..pddiffffq. ",
+".ggggghniikdkkkdddiffr. ",
+" ..ggggghniikdkkdddsta. ",
+"   ..ggggghnurdkksvvw.  ",
+"     ..gggggxrdyzvA..   ",
+"      ...gggB3qCA..     ",
+"        ...gDv...       ",
+"          .....         ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/mail/preview.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,178 @@
+/* XPM */
+static char * mail_preview_xpm[] = {
+"24 24 151 2",
+"  	c None",
+". 	c #343434",
+"+ 	c #2D2D2D",
+"@ 	c #292929",
+"# 	c #262626",
+"$ 	c #2E2E2E",
+"% 	c #303030",
+"& 	c #737373",
+"* 	c #A1A1A1",
+"= 	c #B4B4B4",
+"- 	c #B2B2B2",
+"; 	c #9D9D9D",
+"> 	c #676767",
+", 	c #202020",
+"' 	c #1C1C1C",
+") 	c #272727",
+"! 	c #616161",
+"~ 	c #CACACA",
+"{ 	c #CFCFCF",
+"] 	c #D0D0D0",
+"^ 	c #CECECE",
+"/ 	c #C9C9C9",
+"( 	c #C1C1C1",
+"_ 	c #A7A7A7",
+": 	c #4C4C4C",
+"< 	c #131313",
+"[ 	c #222222",
+"} 	c #757575",
+"| 	c #D3D3D3",
+"1 	c #DBDBDB",
+"2 	c #E7E7E7",
+"3 	c #EFEFEF",
+"4 	c #F3F3F3",
+"5 	c #F1F1F1",
+"6 	c #E5E5E5",
+"7 	c #D2D2D2",
+"8 	c #BCBCBC",
+"9 	c #5E5E5E",
+"0 	c #101010",
+"a 	c #212121",
+"b 	c #5B5B5B",
+"c 	c #CCCCCC",
+"d 	c #D7D7D7",
+"e 	c #F5F5F5",
+"f 	c #FAFAFA",
+"g 	c #FBFBFB",
+"h 	c #F8F8F8",
+"i 	c #F0F0F0",
+"j 	c #E1E1E1",
+"k 	c #C2C2C2",
+"l 	c #434343",
+"m 	c #0F0F0F",
+"n 	c #1F1F1F",
+"o 	c #B9B9B9",
+"p 	c #D4D4D4",
+"q 	c #F7F7F7",
+"r 	c #F9F9F9",
+"s 	c #F6F6F6",
+"t 	c #EAEAEA",
+"u 	c #E2E2E2",
+"v 	c #ABABAB",
+"w 	c #0E0E0E",
+"x 	c #000000",
+"y 	c #111111",
+"z 	c #686868",
+"A 	c #9C9C9C",
+"B 	c #808080",
+"C 	c #8E8E8E",
+"D 	c #919191",
+"E 	c #929292",
+"F 	c #949494",
+"G 	c #939393",
+"H 	c #8B8B8B",
+"I 	c #838383",
+"J 	c #A3A3A3",
+"K 	c #555555",
+"L 	c #080808",
+"M 	c #535353",
+"N 	c #333333",
+"O 	c #AFAFAF",
+"P 	c #E6E6E6",
+"Q 	c #FDFDFD",
+"R 	c #FEFEFE",
+"S 	c #FCFCFC",
+"T 	c #A8A8A8",
+"U 	c #8D8D8D",
+"V 	c #050505",
+"W 	c #EEEEEE",
+"X 	c #A6A6A6",
+"Y 	c #C8C8C8",
+"Z 	c #FFFFFF",
+"` 	c #B6B6B6",
+" .	c #F4F4F4",
+"..	c #F2F2F2",
+"+.	c #A9A9A9",
+"@.	c #040404",
+"#.	c #2A2A2A",
+"$.	c #AAAAAA",
+"%.	c #ECECEC",
+"&.	c #A5A5A5",
+"*.	c #C7C7C7",
+"=.	c #D8D8D8",
+"-.	c #CDCDCD",
+";.	c #858585",
+">.	c #010101",
+",.	c #606060",
+"'.	c #646464",
+").	c #C3C3C3",
+"!.	c #DADADA",
+"~.	c #494949",
+"{.	c #ADADAD",
+"].	c #0A0A0A",
+"^.	c #BABABA",
+"/.	c #DCDCDC",
+"(.	c #989898",
+"_.	c #E9E9E9",
+":.	c #EBEBEB",
+"<.	c #A4A4A4",
+"[.	c #B7B7B7",
+"}.	c #D1D1D1",
+"|.	c #414141",
+"1.	c #3D3D3D",
+"2.	c #969696",
+"3.	c #A0A0A0",
+"4.	c #BEBEBE",
+"5.	c #D9D9D9",
+"6.	c #C5C5C5",
+"7.	c #515151",
+"8.	c #C0C0C0",
+"9.	c #959595",
+"0.	c #DDDDDD",
+"a.	c #484848",
+"b.	c #030303",
+"c.	c #454545",
+"d.	c #060606",
+"e.	c #B5B5B5",
+"f.	c #C6C6C6",
+"g.	c #C4C4C4",
+"h.	c #A2A2A2",
+"i.	c #828282",
+"j.	c #1E1E1E",
+"k.	c #191919",
+"l.	c #7C7C7C",
+"m.	c #E4E4E4",
+"n.	c #9E9E9E",
+"o.	c #525252",
+"p.	c #B0B0B0",
+"q.	c #6C6C6C",
+"r.	c #565656",
+"s.	c #797979",
+"t.	c #3A3A3A",
+"                                                ",
+"                                                ",
+"                . + @ # # #                     ",
+"            $ % & * = - ; > , '                 ",
+"          ) ! = ~ { ] ^ / ( _ : <               ",
+"        [ } ~ | 1 2 3 4 5 6 7 8 9 0             ",
+"      a b c d 6 e f g f h e i j k l m           ",
+"      n o p 6 q r g g f r s i t u v w           ",
+"  x y z A B C D E F F G G D C H I J K L         ",
+"x M N O P e r g Q R R Q S f h e i T U V         ",
+"x W y ~ t 5 q q g r S r f q e i X Y _ V         ",
+"x Z y ` t 3 4 e s q q q s  ...+.~ ] J @.        ",
+"x Z #.$.v %.i .. .e e e 4 5 &.*.=.-.;.>.        ",
+"x Z ,.'.1 ; %.3 i 5 5 i i T ).=.!./ ~.x         ",
+"x Z {.].^./.(._.:.%.%.%.<.[.}.!.p &.>.          ",
+"x Z /.|.1.7 +.2.6 6 6 3.$.4.=.5.).% x           ",
+"x Z e 6.L 7.8.( 9.0.(.= Y J ).( a.b.x           ",
+"x Z g d c.d.. 3.( F e.8.~ f.U + b.].x x         ",
+"x Z e & ^.g.1.b.a.I h.&.i.l x j.[.k.x x x       ",
+"x Z l.p m.m.Y n.o.j.b.b.j.o.n.p.q.O j.n x x     ",
+"x & 8 8 8 8 8 8 &.&.&.&.&.&.&.8 8 r.x > N x x   ",
+"  x x x x x x x x x x x x x x x x x x x s.t.x x ",
+"                                        x z n x ",
+"                                          x x   "};
--- a/etc/images/mail/reply-all.xpm	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/images/mail/reply-all.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -1,38 +1,176 @@
 /* XPM */
-static char * reply_all_xpm[] = {
-/* columns rows colors chars-per-pixel */
-"24 24 9 1",
-" 	c None",
-".	c black",
-"X	c #673e666663d4",
-"o	c #eb46ea1de471",
-"O	c #a852a7bea3d2",
-"+	c #ae51c17b9b26",
-"@	c #8d4d97577838",
-"#	c #7c7c8b8b6e6e",
-"$	c #5e0868be52d3",
-/* pixels */
-"                        ",
-"                        ",
-"              ....      ",
-"         .....XooO.     ",
-"    .....XOooooooO.     ",
-"   .XOooooooooooXOO.    ",
-"   .oXXooooooooOXOo.    ",
-"   .OoOXXooooooXOoo.    ",
-"    .oooOOXOooXXXooO.   ",
-"    ........XXOoOXOo.   ",
-"    ..++++@.ooooooXO.   ",
-"     ..+@@@.oooooooXO.  ",
-"    ..+@@@#.oooooooO..  ",
-"  ..++@@@#$.ooooO...    ",
-" .++++@@#.$    ..       ",
-"  .+@@@#.o  ..   .O .O  ",
-"   .+@#$.   .O.  .O .O  ",
-"    .#$.   .O .o .O .O  ",
-"     .$.   .  .O .O .O  ",
-"      .    ....O .O .O  ",
-"           .O .O .O .O  ",
-"           .O .O .O .O  ",
-"           .O .O .O .O  ",
-"                        "};
+static char * stock_mail_reply_to_all_xpm[] = {
+"24 24 149 2",
+"  	c None",
+". 	c #000000",
+"+ 	c #ADA99C",
+"@ 	c #E6E1D0",
+"# 	c #F0EAD9",
+"$ 	c #A9A598",
+"% 	c #141416",
+"& 	c #161618",
+"* 	c #080809",
+"= 	c #DBD6C7",
+"- 	c #1B1B1C",
+"; 	c #050505",
+"> 	c #5A5A5A",
+", 	c #676767",
+"' 	c #020202",
+") 	c #807D76",
+"! 	c #D49A3E",
+"~ 	c #D2973B",
+"{ 	c #040402",
+"] 	c #6D6B6B",
+"^ 	c #7A7979",
+"/ 	c #030100",
+"( 	c #040100",
+"_ 	c #282724",
+": 	c #DD9831",
+"< 	c #DA962F",
+"[ 	c #1A0E01",
+"} 	c #BC6D1B",
+"| 	c #BE6E13",
+"1 	c #BE6D13",
+"2 	c #BD6C13",
+"3 	c #3E3C36",
+"4 	c #D69029",
+"5 	c #D18D27",
+"6 	c #737067",
+"7 	c #110900",
+"8 	c #CF791C",
+"9 	c #CE791C",
+"0 	c #CD761A",
+"a 	c #C47013",
+"b 	c #4A4136",
+"c 	c #A0731E",
+"d 	c #96691A",
+"e 	c #000100",
+"f 	c #291703",
+"g 	c #BA6613",
+"h 	c #8C4E0D",
+"i 	c #844A0D",
+"j 	c #BF6D13",
+"k 	c #1F2A0D",
+"l 	c #306220",
+"m 	c #4F7242",
+"n 	c #448D44",
+"o 	c #2E802E",
+"p 	c #3A6F3A",
+"q 	c #FFFFFF",
+"r 	c #535353",
+"s 	c #171009",
+"t 	c #AC600C",
+"u 	c #713F0A",
+"v 	c #693A0A",
+"w 	c #AA5F0A",
+"x 	c #192B10",
+"y 	c #275926",
+"z 	c #68A769",
+"A 	c #358A36",
+"B 	c #2D812D",
+"C 	c #FBFBFB",
+"D 	c #F7F7F7",
+"E 	c #FAFAFA",
+"F 	c #F5F5F5",
+"G 	c #4F4F4F",
+"H 	c #AEAEAE",
+"I 	c #141517",
+"J 	c #6F767C",
+"K 	c #534C46",
+"L 	c #241609",
+"M 	c #23180E",
+"N 	c #484644",
+"O 	c #354A4D",
+"P 	c #050B07",
+"Q 	c #4F7E4F",
+"R 	c #399239",
+"S 	c #2D852D",
+"T 	c #297F29",
+"U 	c #ACACAC",
+"V 	c #C8C8C8",
+"W 	c #151618",
+"X 	c #6C7C8B",
+"Y 	c #728EA9",
+"Z 	c #5D6B78",
+"` 	c #C8CBCD",
+" .	c #C3C7CD",
+"..	c #8090A2",
+"+.	c #5A728B",
+"@.	c #4E6479",
+"#.	c #111714",
+"$.	c #328732",
+"%.	c #2B7F2C",
+"&.	c #2B772C",
+"*.	c #434343",
+"=.	c #A0A0A0",
+"-.	c #D4D4D4",
+";.	c #25282A",
+">.	c #8A9EB4",
+",.	c #6A86A1",
+"'.	c #596A7C",
+").	c #DDE1E4",
+"!.	c #DCE2E7",
+"~.	c #899CAC",
+"{.	c #687E96",
+"].	c #546D87",
+"^.	c #10161D",
+"/.	c #8C8C8C",
+"(.	c #959595",
+"_.	c #E4E4E4",
+":.	c #23282D",
+"<.	c #8096AB",
+"[.	c #5D7996",
+"}.	c #53687D",
+"|.	c #CDD3D9",
+"1.	c #CBD2DC",
+"2.	c #899BAB",
+"3.	c #CCD4DC",
+"4.	c #5C748C",
+"5.	c #111820",
+"6.	c #4D4D4D",
+"7.	c #818181",
+"8.	c #C6C6C6",
+"9.	c #1F252B",
+"0.	c #6B8197",
+"a.	c #536D89",
+"b.	c #4A5D6F",
+"c.	c #81919F",
+"d.	c #8293A4",
+"e.	c #5A7087",
+"f.	c #496481",
+"g.	c #445D79",
+"h.	c #0E151B",
+"i.	c #6A6A6A",
+"j.	c #0E141A",
+"k.	c #0D1319",
+"l.	c #0E141B",
+"m.	c #0E131A",
+"n.	c #0F141A",
+"o.	c #636363",
+"p.	c #737373",
+"q.	c #7C7C7C",
+"r.	c #BCBCBC",
+"                                                ",
+"                  . .                           ",
+"                + @ # $ .                       ",
+"          % & * = # # # .                       ",
+"      - ; > , ' ) ! ~ # .                       ",
+"      { ] ^ / ( _ : < # .                       ",
+"      [ } | 1 2 3 4 5 # 6                       ",
+"      7 8 9 0 a b c d # # . e . . . . . .       ",
+"      f g h i j k l m n o p . q q q q q r .     ",
+"      s t u v w x y z A o B . C D E F G H .     ",
+"    I J K L M N O P Q R S T . F F F G U V .     ",
+"  W X Y Z `  ...+.@.#.$.%.&.. F F *.=.-.V .     ",
+"  ;.>.,.'.).!.~.{.].^.. . . /.F G (.-._.V .     ",
+"  :.<.[.}.|.1.2.3.4.5.F F F F 6.7.8._._.V .     ",
+"  9.0.a.b.c.d.e.f.g.h.F F F G i.=._.F _.V .     ",
+"    j.k.l.l.l.j.m.n.o.G F G (.8.p.8.F _.V .     ",
+"      . q C F o.8.F _.-.G U 8._.F q._._.V .     ",
+"      . q F p.-.F F F F _._.F F F F q._.V .     ",
+"      . q q.-._._._._._._._._._._._._.q.V .     ",
+"      . p.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.o..     ",
+"        . . . . . . . . . . . . . . . . . .     ",
+"                                                ",
+"                                                ",
+"                                                "};
--- a/etc/images/mail/reply.xpm	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/images/mail/reply.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -1,38 +1,94 @@
 /* XPM */
-static char * mail_reply_xpm[] = {
-/* columns rows colors chars-per-pixel */
-"24 24 9 1",
+static char * stock_mail_reply_xpm[] = {
+"24 24 67 1",
 " 	c None",
-".	c black",
-"X	c #673e666663d4",
-"o	c #eb46ea1de471",
-"O	c #a852a7bea3d2",
-"+	c #ae51c17b9b26",
-"@	c #8d4d97577838",
-"#	c #7c7c8b8b6e6e",
-"$	c #5e0868be52d3",
-/* pixels */
-"                        ",
-"                        ",
+".	c #000000",
+"+	c #535353",
+"@	c #FFFFFF",
+"#	c #FEFEFE",
+"$	c #FDFDFD",
+"%	c #FCFCFC",
+"&	c #FBFBFB",
+"*	c #F9F9F9",
+"=	c #F8F8F8",
+"-	c #F7F7F7",
+";	c #F6F6F6",
+">	c #F5F5F5",
+",	c #F4F4F4",
+"'	c #E3E3E3",
+")	c #EEEEEE",
+"!	c #4F4F4F",
+"~	c #F3F3F3",
+"{	c #F2F2F2",
+"]	c #F1F1F1",
+"^	c #F0F0F0",
+"/	c #EFEFEF",
+"(	c #EDEDED",
+"_	c #AEAEAE",
+":	c #E4E4E4",
+"<	c #434343",
+"[	c #ACACAC",
+"}	c #C8C8C8",
+"|	c #A0A0A0",
+"1	c #D4D4D4",
+"2	c #ECECEC",
+"3	c #959595",
+"4	c #3E3E3E",
+"5	c #4D4D4D",
+"6	c #818181",
+"7	c #C6C6C6",
+"8	c #3D1A13",
+"9	c #6A6A6A",
+"0	c #636363",
+"a	c #B9B9B9",
+"b	c #737373",
+"c	c #EAC0BA",
+"d	c #7C7C7C",
+"e	c #DF9E95",
+"f	c #E0A198",
+"g	c #E1A59D",
+"h	c #E2A79E",
+"i	c #E3ABA3",
+"j	c #E3AAA2",
+"k	c #CC6253",
+"l	c #DD978D",
+"m	c #DF9F97",
+"n	c #DE9A90",
+"o	c #DD968C",
+"p	c #DD948A",
+"q	c #B14334",
+"r	c #BCBCBC",
+"s	c #431913",
+"t	c #EAC2BC",
+"u	c #DF9C92",
+"v	c #DD998F",
+"w	c #B54535",
+"x	c #65261D",
+"y	c #983A2C",
+"z	c #7C2F24",
+"A	c #63251D",
+"B	c #6C291F",
 "                        ",
 "                        ",
 "                        ",
-"              ....      ",
-"         .....XooO.     ",
-"    .....XOooooooO.     ",
-"   .XOooooooooooXOO.    ",
-"   .oXXooooooooOXOo.    ",
-"   .OoOXXooooooXOoo.    ",
-"    .oooOOXOooXXXooO.   ",
-"    ........XXOoOXOo.   ",
-"    ..++++@.ooooooXO.   ",
-"     ..+@@@.oooooooXO.  ",
-"    ..+@@@#.oooooooO..  ",
-"  ..++@@@#$.ooooO...    ",
-" .++++@@#.$.oO...       ",
-"  .+@@@#.o....          ",
-"   .+@#$...             ",
-"    .#$.                ",
-"     .$.                ",
+"    .................   ",
+"   .+@@@@#$%&*=-;>,'+.  ",
+"   .)!@>,~{{]^^/)('!_.  ",
+"   .@:<$~{{]^/))('![}.  ",
+"   .@>:!&]^^/)(('<|1}.  ",
+"   .@&>:<=^/)(2'!31:}.  ",
+"   .@>>>:4>)(2'567::}.  ",
+"   .@&8>:9<~2'!977>:}.  ",
+"   .@..:0@a!^!37b7>:}.  ",
+"   ..c.0@>:1![7::d::}.  ",
+"   .ce.......:>>>:d:}.  ",
+"  .cfghihjek.::::::d}.  ",
+" .clmenoonpq.rrrrrrr0.  ",
+"stnuvvlnnnnw..........  ",
+" .xyyyyyyyyz.           ",
+"  .xyyAAAAAB.           ",
+"   .xy.......           ",
+"    .x.                 ",
+"     ..                 ",
 "      .                 ",
 "                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/mail/save-draft.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,99 @@
+/* XPM */
+static char * stock_mail_handling_xpm[] = {
+"24 24 72 1",
+" 	c None",
+".	c #000000",
+"+	c #BCBCBC",
+"@	c #FFFFFF",
+"#	c #535353",
+"$	c #EEEEEE",
+"%	c #4F4F4F",
+"&	c #F5F5F5",
+"*	c #FBFBFB",
+"=	c #F7F7F7",
+"-	c #FAFAFA",
+";	c #AEAEAE",
+">	c #E4E4E4",
+",	c #434343",
+"'	c #ACACAC",
+")	c #C8C8C8",
+"!	c #A0A0A0",
+"~	c #D4D4D4",
+"{	c #959595",
+"]	c #3E3E3E",
+"^	c #4D4D4D",
+"/	c #818181",
+"(	c #C6C6C6",
+"_	c #6A6A6A",
+":	c #636363",
+"<	c #B9B9B9",
+"[	c #737373",
+"}	c #010101",
+"|	c #AAAAAA",
+"1	c #0B0B0B",
+"2	c #0C0C0C",
+"3	c #060606",
+"4	c #E4E3E1",
+"5	c #050505",
+"6	c #B3B3B1",
+"7	c #484641",
+"8	c #9F9D96",
+"9	c #888781",
+"0	c #7C7C7C",
+"a	c #B0AFAD",
+"b	c #A8A7A1",
+"c	c #908E86",
+"d	c #97958E",
+"e	c #807D74",
+"f	c #969696",
+"g	c #090909",
+"h	c #595854",
+"i	c #605E57",
+"j	c #898883",
+"k	c #76746B",
+"l	c #43423F",
+"m	c #282724",
+"n	c #363430",
+"o	c #6D6B63",
+"p	c #E2E2E1",
+"q	c #B6B5AF",
+"r	c #21201E",
+"s	c #0A0908",
+"t	c #181816",
+"u	c #E6E6E4",
+"v	c #65635C",
+"w	c #161614",
+"x	c #8C8B89",
+"y	c #DFDEDC",
+"z	c #B0AFA9",
+"A	c #D5D4D1",
+"B	c #93918B",
+"C	c #D6D5D2",
+"D	c #ABA9A3",
+"E	c #5D5C55",
+"F	c #494943",
+"G	c #42413C",
+"                        ",
+"  .................     ",
+" .+@@@@@@@@@@@@@@@#.    ",
+" .$%&*&*=*&*&*=-&%;.    ",
+" .@>,&&&&&&&&&&&%').    ",
+" .@&>%&&&&&&&&&,!~).    ",
+" .@*&>,&&&&&&&%{~>).    ",
+" .@&&&>]&&&&&^/(>>).    ",
+" .@*&&&_,&&&%_!>&>).    ",
+" .@&&&:<<%&%{([(}}}.    ",
+" .@*&:(&>~%'|12:345...  ",
+" .@&[~&&&&>>2>62787.9.. ",
+" .@0~>>>>>>>1ab888cde7. ",
+" .[+++++++++fg88hijek.  ",
+"  ...........78ilmn8o7..",
+"           .pq8hrstuevi.",
+"           ..78jnwxyv7..",
+"             .zequABv.  ",
+"            .CD8eekkE7. ",
+"            ..h.7k7.F.. ",
+"             .. .G. ..  ",
+"                ...     ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/mail/save.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,291 @@
+/* XPM */
+static char * mail_save_xpm[] = {
+"24 24 264 2",
+"  	c None",
+". 	c #000000",
+"+ 	c #141414",
+"@ 	c #262626",
+"# 	c #212121",
+"$ 	c #1F1F1F",
+"% 	c #1E1E1E",
+"& 	c #1D1D1D",
+"* 	c #202020",
+"= 	c #232323",
+"- 	c #292929",
+"; 	c #171717",
+"> 	c #121212",
+", 	c #B8B8B8",
+"' 	c #FFFFFF",
+") 	c #A8A8A8",
+"! 	c #0E0E0E",
+"~ 	c #595959",
+"{ 	c #444444",
+"] 	c #4F4F4F",
+"^ 	c #050505",
+"/ 	c #222222",
+"( 	c #3D3D3D",
+"_ 	c #FEFEFE",
+": 	c #FCFCFC",
+"< 	c #FDFDFD",
+"[ 	c #CACACA",
+"} 	c #191919",
+"| 	c #B3B1B0",
+"1 	c #EEECEB",
+"2 	c #F0DCAA",
+"3 	c #E5C470",
+"4 	c #DFB84F",
+"5 	c #8A681F",
+"6 	c #100E09",
+"7 	c #FBFBFB",
+"8 	c #515151",
+"9 	c #F0F0F0",
+"0 	c #D6D6D6",
+"a 	c #EEECE9",
+"b 	c #E6D498",
+"c 	c #EED682",
+"d 	c #EED680",
+"e 	c #E3C15E",
+"f 	c #D29815",
+"g 	c #976E15",
+"h 	c #7F5B0A",
+"i 	c #1C190F",
+"j 	c #D9D9D9",
+"k 	c #424242",
+"l 	c #F1F1F1",
+"m 	c #F3F3F3",
+"n 	c #EBE9E5",
+"o 	c #CBB771",
+"p 	c #735817",
+"q 	c #C6A546",
+"r 	c #E3C05D",
+"s 	c #BC8710",
+"t 	c #AD7C10",
+"u 	c #6B6B6B",
+"v 	c #A0A0A0",
+"w 	c #535353",
+"x 	c #505050",
+"y 	c #AE9C5C",
+"z 	c #292928",
+"A 	c #CECDCA",
+"B 	c #CAC9C7",
+"C 	c #1A1917",
+"D 	c #9C7E2B",
+"E 	c #AB7C12",
+"F 	c #242012",
+"G 	c #555555",
+"H 	c #DEDEDE",
+"I 	c #E8E8E8",
+"J 	c #3B3B3B",
+"K 	c #D7D6D6",
+"L 	c #656462",
+"M 	c #DAD9D7",
+"N 	c #E1E0DF",
+"O 	c #1A1A19",
+"P 	c #3D351F",
+"Q 	c #A37819",
+"R 	c #231F13",
+"S 	c #282828",
+"T 	c #898989",
+"U 	c #EFEFEF",
+"V 	c #FAFAFA",
+"W 	c #E8E7E6",
+"X 	c #8B8B8A",
+"Y 	c #0B0B06",
+"Z 	c #A97C1A",
+"` 	c #1B1B1B",
+" .	c #C9C9C9",
+"..	c #DFDFDF",
+"+.	c #EBEBEB",
+"@.	c #ECECEC",
+"#.	c #E1E1E1",
+"$.	c #221E11",
+"%.	c #EAE8E3",
+"&.	c #C58F13",
+"*.	c #B68411",
+"=.	c #826321",
+"-.	c #302C19",
+";.	c #131313",
+">.	c #1A1A1A",
+",.	c #161616",
+"'.	c #151515",
+").	c #181818",
+"!.	c #1B1B1A",
+"~.	c #141413",
+"{.	c #363220",
+"].	c #916F25",
+"^.	c #322F1E",
+"/.	c #98B4C8",
+"(.	c #25313B",
+"_.	c #A9CCE0",
+":.	c #545A68",
+"<.	c #BC6A60",
+"[.	c #AD5A51",
+"}.	c #A4574D",
+"|.	c #2B2719",
+"1.	c #353120",
+"2.	c #5A4D51",
+"3.	c #6E8DA2",
+"4.	c #0C1820",
+"5.	c #BAE5FF",
+"6.	c #696E6F",
+"7.	c #F9F9F9",
+"8.	c #EBEBEA",
+"9.	c #937025",
+"0.	c #CDCAC1",
+"a.	c #73726E",
+"b.	c #7496AF",
+"c.	c #0A131A",
+"d.	c #BAE0FD",
+"e.	c #6A6E71",
+"f.	c #ECEDEC",
+"g.	c #DEDFDF",
+"h.	c #DBDDDD",
+"i.	c #D8DBDB",
+"j.	c #CDCFCF",
+"k.	c #312E1B",
+"l.	c #2F2C19",
+"m.	c #B2B3B0",
+"n.	c #C0C0BE",
+"o.	c #6F6D6B",
+"p.	c #7C9FBB",
+"q.	c #050F15",
+"r.	c #B7DDFC",
+"s.	c #54575A",
+"t.	c #F4F4F3",
+"u.	c #ECECEB",
+"v.	c #F3F3F2",
+"w.	c #7F7D7A",
+"x.	c #7EA0BB",
+"y.	c #020A10",
+"z.	c #B1D7F7",
+"A.	c #FDFCFB",
+"B.	c #EFEFEE",
+"C.	c #EDEDEC",
+"D.	c #EBECEB",
+"E.	c #EBECEC",
+"F.	c #F7F7F6",
+"G.	c #7D7977",
+"H.	c #7F9FB9",
+"I.	c #050B0E",
+"J.	c #B3DDF7",
+"K.	c #685050",
+"L.	c #847F7C",
+"M.	c #7E9DB7",
+"N.	c #0A0B0C",
+"O.	c #A9D3F0",
+"P.	c #7B99AB",
+"Q.	c #6B6E70",
+"R.	c #63696C",
+"S.	c #60666B",
+"T.	c #5E6569",
+"U.	c #555E67",
+"V.	c #5D6267",
+"W.	c #61676B",
+"X.	c #64696D",
+"Y.	c #62666A",
+"Z.	c #6B747E",
+"`.	c #7D9CB4",
+" +	c #000508",
+".+	c #A8CBED",
+"++	c #7498B7",
+"@+	c #6F92B0",
+"#+	c #3F5160",
+"$+	c #4A5E70",
+"%+	c #566E82",
+"&+	c #4D6779",
+"*+	c #52697C",
+"=+	c #52697A",
+"-+	c #54687A",
+";+	c #455E70",
+">+	c #7697B4",
+",+	c #92A9BC",
+"'+	c #000205",
+")+	c #A8CEEB",
+"!+	c #7196B3",
+"~+	c #4D5152",
+"{+	c #D7D2CB",
+"]+	c #F1EEEA",
+"^+	c #FAF8F5",
+"/+	c #F9F8F5",
+"(+	c #E8E4DF",
+"_+	c #D8D4CD",
+":+	c #9D968B",
+"<+	c #425563",
+"[+	c #446783",
+"}+	c #A7C4DA",
+"|+	c #000101",
+"1+	c #A5CDEA",
+"2+	c #7196B1",
+"3+	c #57595C",
+"4+	c #534F46",
+"5+	c #2E281F",
+"6+	c #CAC7C2",
+"7+	c #C9C4BD",
+"8+	c #C2BBB1",
+"9+	c #E3E0DC",
+"0+	c #314353",
+"a+	c #40647C",
+"b+	c #B6C9DA",
+"c+	c #A3CDEB",
+"d+	c #7695B1",
+"e+	c #525455",
+"f+	c #474239",
+"g+	c #3B372D",
+"h+	c #C0BCB5",
+"i+	c #C7C2BA",
+"j+	c #E2DFD9",
+"k+	c #F8F6F3",
+"l+	c #344652",
+"m+	c #406479",
+"n+	c #A6C3DA",
+"o+	c #010000",
+"p+	c #708798",
+"q+	c #6A8DA7",
+"r+	c #4F5052",
+"s+	c #F7F2EC",
+"t+	c #59534B",
+"u+	c #57524A",
+"v+	c #C1BCB4",
+"w+	c #EBE9E4",
+"x+	c #FFFFFD",
+"y+	c #30414E",
+"z+	c #415C6F",
+"A+	c #A2C4DC",
+"B+	c #020000",
+"C+	c #030406",
+"D+	c #141A1F",
+"E+	c #151718",
+"F+	c #35332F",
+"G+	c #393634",
+"H+	c #41403E",
+"I+	c #3F3E3D",
+"J+	c #454344",
+"K+	c #434241",
+"L+	c #312F2C",
+"M+	c #02070A",
+"N+	c #070E12",
+"O+	c #465A69",
+". + @ # $ % & & & % * = - ; .                   ",
+"> , ' ' ' ' ' ' ' ' ' ' ' ) !                   ",
+"@ ' ~ ' ' ' ' ' ' ' ' ' { ] ^ . . .             ",
+"/ ' ' ( ' _ : < < ' [ } | 1 2 3 4 5 . 6         ",
+"* ' ' 7 8 9 < 7 _ 0 @ a b c d d e f g h i       ",
+"$ ' ' ' j k l : m $ n o . . . p q r s t i       ",
+"* ' ' ' u v w ' x . y z A B C   D d f E F       ",
+"/ ' ' G H 7 I J , K > L M N O   P d f Q R       ",
+"S ' T U ' ' ' _ V ' < W X Y . . . d f Z . . .   ",
+"`  ...U +.+.+.@.@.+.@.+.#.$.%.d d d f &.*.=.-.. ",
+". ;.>.; ,.'.'.'.'.'.,.).!.~.{.%.d d f f ].^./.(.",
+"                  . _.:.<.[.}.|.%.d f ].1.2.3.4.",
+"                  . 5.6.' ' 7.8.-.%.9.^.0.a.b.c.",
+"                  . d.e.f.g.h.i.j.k.l.m.n.o.p.q.",
+"                  . r.s.' ' ' ' ' ' t.u.v.w.x.y.",
+"                  . z.6.A.B.C.D.+.E.C.U F.G.H.I.",
+"                  . J.K.' ' ' ' ' ' ' ' ' L.M.N.",
+"                  . O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +",
+"                  . .+++@+#+$+%+&+*+=+-+;+>+,+'+",
+"                  . )+!+~+{+]+^+/+(+_+:+<+[+}+|+",
+"                  . 1+2+3+' 4+5+6+7+8+9+0+a+b+. ",
+"                  . c+d+e+' f+g+h+i+j+k+l+m+n+o+",
+"                  . p+q+r+s+t+u+v+w+x+]+y+z+A+B+",
+"                    C+D+E+F+G+H+I+J+K+L+M+N+O+. "};
--- a/etc/images/mail/send.xpm	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/images/mail/send.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -1,39 +1,85 @@
 /* XPM */
-static char *magick[] = {
-/* columns rows colors chars-per-pixel */
-"24 24 9 1",
-"  c Gray0",
-". c #675e6580613e",
-"X c #8c8c7c7c6969",
-"o c #9b458d377822",
-"O c #a941a6459f3e",
-"+ c #c8c8b2b29898",
-"@ c #dadac2c2a5a5",
-"# c #eb4dea2fe4ad",
-"$ c None",
-/* pixels */
-"$$$$$$$$$$$$$$$$$$$$$$$$",
-"$$$$$$$$$$$$$$$$$$$$$$$$",
-"$$$$$$$$$$$$$    $$$$$$$",
-"$$$$$$$$     .@#+ $$$$$$",
-"$$$     .+#####@O $$$$$$",
-"$$ .+##########.+O $$$$$",
-"$$ @..########O.+# $$$$$",
-"$$ O@O..@#####.+## $$$$$",
-"$$$ ###+O.O##...##O $$$$",
-"$$$ @####@+..O#O.+# $$$$",
-"$$$ O####.#######.O $$$$",
-"$$$$ ###+O########.O $$$",
-"$$$$ ###.########@O  $$$",
-"$$$$ +#+O#####@O   $$$$$",
-"$$$$$ #.###@O     $$$$$$",
-"$$$$$ .O@O   $$ .. $$$$$",
-"$$$$$ ..  $$$$ .oo. $$$$",
-"$$$$$$  $$$$$   oo   $$$",
-"$$$$$$$$$$$$$$$ Oo $$$$$",
-"$$$$$$$$$$$$$$ oOOX $$$$",
-"$$$$$$$$$$$$$$ ++++ $$$$",
-"$$$$$$$$$$$$$ O@@@@O $$$",
-"$$$$$$$$$$$$$        $$$",
-"$$$$$$$$$$$$$$$$$$$$$$$$"
-};
+static char * stock_mail_send_xpm[] = {
+"24 24 58 1",
+" 	c None",
+".	c #4F3F0A",
+"+	c #000000",
+"@	c #F4E6B5",
+"#	c #F4E5B3",
+"$	c #EDD684",
+"%	c #755F10",
+"&	c #EDD580",
+"*	c #EED685",
+"=	c #AF8D18",
+"-	c #EFD98C",
+";	c #EED88B",
+">	c #EDD582",
+",	c #EED889",
+"'	c #EFDA92",
+")	c #F0DB93",
+"!	c #735D10",
+"~	c #535353",
+"{	c #FFFFFF",
+"]	c #F0DC97",
+"^	c #F6F6F6",
+"/	c #F5F5F5",
+"(	c #F4F4F4",
+"_	c #E3E3E3",
+":	c #EEEEEE",
+"<	c #4F4F4F",
+"[	c #EDD37C",
+"}	c #EDEDED",
+"|	c #AEAEAE",
+"1	c #E4E4E4",
+"2	c #434343",
+"3	c #FDFDFD",
+"4	c #F3F3F3",
+"5	c #E4BF3D",
+"6	c #CBA41C",
+"7	c #D1A81C",
+"8	c #907413",
+"9	c #7C6411",
+"0	c #ACACAC",
+"a	c #C8C8C8",
+"b	c #FBFBFB",
+"c	c #A0A0A0",
+"d	c #D4D4D4",
+"e	c #F8F8F8",
+"f	c #F0F0F0",
+"g	c #EFEFEF",
+"h	c #ECECEC",
+"i	c #959595",
+"j	c #3E3E3E",
+"k	c #4D4D4D",
+"l	c #818181",
+"m	c #C6C6C6",
+"n	c #6A6A6A",
+"o	c #636363",
+"p	c #B9B9B9",
+"q	c #737373",
+"r	c #7C7C7C",
+"s	c #BCBCBC",
+"                        ",
+"           .            ",
+"          +@+           ",
+"         +#$%+          ",
+"        +#&*=%+         ",
+"       +#-;>==%+        ",
+"      +#,',>===%+       ",
+"   ++++++)$&=!++++++    ",
+"  +~{{{{+]$$=!+^/(_~+   ",
+"  +:<{/(+,[$=!+:}_<|+   ",
+"  +{1234+56789+}_<0a+   ",
+"  +{/1<b+++++++_2cda+   ",
+"  +{b/12efg:}h_<id1a+   ",
+"  +{///1j/:}h_klm11a+   ",
+"  +{b//1n24h_<nmm/1a+   ",
+"  +{//1o{p<f<imqm/1a+   ",
+"  +{b1o{/1d<0m11r11a+   ",
+"  +{1q{////11///1r1a+   ",
+"  +{r{111111111111ra+   ",
+"  +qssssssssssssssso+   ",
+"   ++++++++++++++++++   ",
+"                        ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/mail/spam.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,217 @@
+/* XPM */
+static char * stock_spam_xpm[] = {
+"24 24 190 2",
+"  	c None",
+". 	c #1D1E1E",
+"+ 	c #333839",
+"@ 	c #393F40",
+"# 	c #171819",
+"$ 	c #B2B8B9",
+"% 	c #D5E3E7",
+"& 	c #AABABD",
+"* 	c #64696A",
+"= 	c #0C0D0D",
+"- 	c #929C9E",
+"; 	c #E7F0F3",
+"> 	c #EDF0F1",
+", 	c #E5EDEF",
+"' 	c #C5D9DD",
+") 	c #2E3132",
+"! 	c #3F4343",
+"~ 	c #1F2121",
+"{ 	c #DFEBEE",
+"] 	c #B7C4C8",
+"^ 	c #D2D9DA",
+"/ 	c #E1EFF2",
+"( 	c #B6CBCF",
+"_ 	c #3C4547",
+": 	c #1E2223",
+"< 	c #191E1F",
+"[ 	c #2D2E2F",
+"} 	c #191A1A",
+"| 	c #252829",
+"1 	c #7E8E92",
+"2 	c #B7C2C3",
+"3 	c #C3D9DD",
+"4 	c #9CACB0",
+"5 	c #C3CDCE",
+"6 	c #C7E1E7",
+"7 	c #668F97",
+"8 	c #90ACB2",
+"9 	c #CDDDE1",
+"0 	c #485559",
+"a 	c #88A6AC",
+"b 	c #1F2223",
+"c 	c #3F4545",
+"d 	c #242728",
+"e 	c #313B3E",
+"f 	c #A8C2C8",
+"g 	c #B2BDC0",
+"h 	c #CFE5E9",
+"i 	c #C2D9DE",
+"j 	c #81989C",
+"k 	c #A2C0C5",
+"l 	c #85A9B1",
+"m 	c #E5ECEE",
+"n 	c #E7F2F4",
+"o 	c #9BAEB3",
+"p 	c #C8E1E7",
+"q 	c #3A3E3F",
+"r 	c #0C0E0E",
+"s 	c #000000",
+"t 	c #333737",
+"u 	c #B3C2C5",
+"v 	c #DDEDF0",
+"w 	c #D8E4E6",
+"x 	c #DAECEF",
+"y 	c #D5E9ED",
+"z 	c #D2E7EC",
+"A 	c #95ADB2",
+"B 	c #DBE2E2",
+"C 	c #EDEFF0",
+"D 	c #A2B1B3",
+"E 	c #8FA4A8",
+"F 	c #D7E2E5",
+"G 	c #798F94",
+"H 	c #151819",
+"I 	c #F3B5A7",
+"J 	c #865E55",
+"K 	c #AFB9BB",
+"L 	c #F1F8F9",
+"M 	c #F7FBFB",
+"N 	c #D9EBEF",
+"O 	c #ECF4F6",
+"P 	c #F3F7F7",
+"Q 	c #E9F2F4",
+"R 	c #EEF2F3",
+"S 	c #E9EDEE",
+"T 	c #C5C8C9",
+"U 	c #C2C6C8",
+"V 	c #E0E7E7",
+"W 	c #DDEAED",
+"X 	c #7A9DA5",
+"Y 	c #EB8169",
+"Z 	c #B83618",
+"` 	c #924E3C",
+" .	c #9FA5A6",
+"..	c #E3EEF0",
+"+.	c #ECF5F7",
+"@.	c #D6EAED",
+"#.	c #CBE4E9",
+"$.	c #D9E7E9",
+"%.	c #E1EBED",
+"&.	c #B8CBD0",
+"*.	c #BDCBCF",
+"=.	c #ABB3B5",
+"-.	c #E3E5E5",
+";.	c #DCEBEF",
+">.	c #6A979F",
+",.	c #131819",
+"'.	c #B43518",
+").	c #E76A4D",
+"!.	c #B53F24",
+"~.	c #CB705A",
+"{.	c #C4D8DB",
+"].	c #D2E6E9",
+"^.	c #CAE3E8",
+"/.	c #A9C8CF",
+"(.	c #7FA4AA",
+"_.	c #82B4BE",
+":.	c #E2EFF0",
+"<.	c #D3E7EA",
+"[.	c #AFD5DE",
+"}.	c #C7E2E7",
+"|.	c #E7F1F2",
+"1.	c #97C3CB",
+"2.	c #637F86",
+"3.	c #191311",
+"4.	c #EF9985",
+"5.	c #F1A897",
+"6.	c #E76547",
+"7.	c #C58B7D",
+"8.	c #A8ABAC",
+"9.	c #70A1AB",
+"0.	c #88B5BE",
+"a.	c #95C7D1",
+"b.	c #ADD4DC",
+"c.	c #DCEAEF",
+"d.	c #B5D8E0",
+"e.	c #CAE4E9",
+"f.	c #95BEC6",
+"g.	c #6696A0",
+"h.	c #585857",
+"i.	c #51190C",
+"j.	c #D9401D",
+"k.	c #EC8A74",
+"l.	c #E17055",
+"m.	c #DD8D7A",
+"n.	c #D8E7EA",
+"o.	c #D8E9ED",
+"p.	c #D6EAEE",
+"q.	c #D9EBEE",
+"r.	c #E4F0F3",
+"s.	c #CFE3E8",
+"t.	c #5B94A0",
+"u.	c #5C7E85",
+"v.	c #3D221D",
+"w.	c #782310",
+"x.	c #EA7A60",
+"y.	c #E5A293",
+"z.	c #EBD9D5",
+"A.	c #C6D3D6",
+"B.	c #799FA8",
+"C.	c #558C98",
+"D.	c #45686E",
+"E.	c #27201F",
+"F.	c #5D3228",
+"G.	c #B86F5D",
+"H.	c #F1A593",
+"I.	c #E58D78",
+"J.	c #C0C0C1",
+"K.	c #32464B",
+"L.	c #4A6E75",
+"M.	c #282121",
+"N.	c #4A2E27",
+"O.	c #C6968B",
+"P.	c #DDA89B",
+"Q.	c #5F1C0D",
+"R.	c #F2AFA0",
+"S.	c #A36F63",
+"T.	c #341C17",
+"U.	c #301A15",
+"V.	c #674C45",
+"W.	c #E4AEA1",
+"X.	c #8D2A13",
+"Y.	c #030505",
+"Z.	c #A2432E",
+"`.	c #E4A799",
+" +	c #D97C67",
+".+	c #B66A59",
+"++	c #B26C5C",
+"@+	c #882812",
+"#+	c #DB411D",
+"$+	c #F4BAAC",
+"                                                ",
+"                                                ",
+"                                                ",
+"                                                ",
+"              . + @                             ",
+"            # $ % & * .                         ",
+"            = - ; > , ' ) !                     ",
+"              ~ { ] ^ / ( _ : < [ }             ",
+"            | 1 2 3 4 5 6 7 8 9 0 a b           ",
+"        c d e f g h i j k l m n o p q r         ",
+"      s t u v w / x y z A B C D E F G H         ",
+"  s s I J K L M N O P Q R S T U V W X <         ",
+"s I Y Z `  ...+.@.#.$.%.h &.*.=.-.;.>.,.s       ",
+"s '.).Y !.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.s     ",
+"s '.'.'.).5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.s   ",
+"s '.'.'.'.'.).5.l.m.n.o.p.q.r.s.t.u.v.w.j.x.s   ",
+"  s s '.'.'.'.'.).5.6.y.z.A.B.C.D.E.F.G.H.4.s   ",
+"      s s '.'.'.'.'.).5.I.J.K.L.M.N.O.P.Q.s     ",
+"          s s '.'.'.'.'.R.S.T.U.V.W.X.s s       ",
+"            Y.s s Z.'.'.`. +.+++@+s s           ",
+"                s s s '.#+$+s s s               ",
+"                    s s s s s                   ",
+"                                                ",
+"                                                "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/next-page.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,119 @@
+/* XPM */
+static char * stock_next_page_xpm[] = {
+"24 24 92 2",
+"  	c None",
+". 	c #000000",
+"+ 	c #5B7289",
+"@ 	c #FFFFFF",
+"# 	c #F2F2F2",
+"$ 	c #E5E5E5",
+"% 	c #D8D8D8",
+"& 	c #CCCCCC",
+"* 	c #B0B0B0",
+"= 	c #8B8B8B",
+"- 	c #6A6A6A",
+"; 	c #494949",
+"> 	c #888888",
+", 	c #C9C9C9",
+"' 	c #E3E3E3",
+") 	c #EEEEEE",
+"! 	c #E6E6E6",
+"~ 	c #DEDEDE",
+"{ 	c #D6D6D6",
+"] 	c #ADADAD",
+"^ 	c #556D85",
+"/ 	c #47617B",
+"( 	c #BFBFBF",
+"_ 	c #B2B2B2",
+": 	c #ACACAC",
+"< 	c #A6A6A6",
+"[ 	c #F6F6F6",
+"} 	c #384F66",
+"| 	c #3A5067",
+"1 	c #DADADA",
+"2 	c #3A5168",
+"3 	c #D3D3D3",
+"4 	c #3B5269",
+"5 	c #47617C",
+"6 	c #3D526A",
+"7 	c #48627D",
+"8 	c #B6B6B6",
+"9 	c #959595",
+"0 	c #7C7C7C",
+"a 	c #616161",
+"b 	c #464646",
+"c 	c #262626",
+"d 	c #C5C5C5",
+"e 	c #3E546A",
+"f 	c #49637D",
+"g 	c #3F556B",
+"h 	c #4B647E",
+"i 	c #40566C",
+"j 	c #4C647F",
+"k 	c #41576D",
+"l 	c #4C657F",
+"m 	c #42586E",
+"n 	c #4E6780",
+"o 	c #44586F",
+"p 	c #4F6881",
+"q 	c #B5B5B5",
+"r 	c #45596F",
+"s 	c #506982",
+"t 	c #77838F",
+"u 	c #9C9FA1",
+"v 	c #91969C",
+"w 	c #91979C",
+"x 	c #92979C",
+"y 	c #92979D",
+"z 	c #A2A3A4",
+"A 	c #9D9FA2",
+"B 	c #8F9296",
+"C 	c #8F9396",
+"D 	c #8F9397",
+"E 	c #909397",
+"F 	c #868788",
+"G 	c #465B70",
+"H 	c #526A83",
+"I 	c #3E5975",
+"J 	c #3F5A76",
+"K 	c #415B77",
+"L 	c #425C78",
+"M 	c #435E79",
+"N 	c #445F7A",
+"O 	c #46607B",
+"P 	c #68727D",
+"Q 	c #7D8185",
+"R 	c #616A73",
+"S 	c #3B4F63",
+"T 	c #3C5064",
+"U 	c #3C5065",
+"V 	c #3E5166",
+"W 	c #3F5266",
+"X 	c #405367",
+"Y 	c #405468",
+"Z 	c #344353",
+"` 	c #2F4050",
+"                                                ",
+"                                                ",
+"    . . . . . . . .       . . . . . . . .       ",
+"  . + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ .     ",
+"  . / @ # $ % & ( _ : < @ @ [ ) ! ~ { _ } .     ",
+"  . / @ # $ % & ( _ : < @ ' [ ) ! ~ { _ | .     ",
+"  . / @ # $ % & ( _ : < @ . 1 ) ! ~ { * 2 .     ",
+"  . / @ # $ % & ( _ : < @ . . 3 ! ~ { * 4 .     ",
+"  . 5 @ # $ % & ( _ : < @ . . . & ~ { * 6 .     ",
+"  . 7 @ # $ 8 9 0 a b c . . . . . d { * e .     ",
+"  . f @ # $ % & ( _ : < @ . . . & ~ { * g .     ",
+"  . h @ # $ % & ( _ : < @ . . 3 ! ~ { * i .     ",
+"  . j @ # $ % & ( _ : < @ . 1 ) ! ~ { * k .     ",
+"  . l @ # $ % & ( _ : < @ ' [ ) ! ~ { * m .     ",
+"  . n @ # $ % & ( _ : < @ @ [ ) ! ~ { * o .     ",
+"  . p @ # $ % & ( _ : < @ @ [ ) ! ~ { q r .     ",
+"  . s t u v w x y y z < A B C C D D E F G .     ",
+"  . H I J K L M N O P Q R S T U V W X Y Z .     ",
+"    . . . . . . . . . ` . . . . . . . . . .     ",
+"                    . . .                       ",
+"                                                ",
+"                                                ",
+"                                                ",
+"                                                "};
--- a/etc/images/refresh.xpm	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/images/refresh.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -1,5 +1,5 @@
 /* XPM */
-static char * refresh_xpm[] = {
+static char * stock_refresh_xpm[] = {
 "24 24 86 1",
 " 	c None",
 ".	c #000000",
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/separator.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,29 @@
+/* XPM */
+static char * sep_xpm[] = {
+"1 24 2 1",
+" 	c None s backgroundToolBarColor",
+".	c #776758",
+" ",
+" ",
+" ",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+" ",
+" ",
+" "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/sort-ascending.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,33 @@
+/* XPM */
+static char * stock_sort_ascending_xpm[] = {
+"23 23 7 1",
+" 	c None",
+".	c #314E6C",
+"+	c #000000",
+"@	c #D1DECF",
+"#	c #7DA377",
+"$	c #E4ECE3",
+"%	c #B3C9AF",
+"                       ",
+"   ....                ",
+"  ..  ..               ",
+"  ..  ..               ",
+"  ......               ",
+"  ..  ..               ",
+"  ..  ..               ",
+"                       ",
+"          +            ",
+"                       ",
+"            +          ",
+"                       ",
+"    +         +        ",
+"   +@+   +             ",
+"  +@##+ ++      ++++++ ",
+"   +###+$+         +++ ",
+"    +##%#+        +++  ",
+"     +%##+       +++   ",
+"    +$###+      +++    ",
+"   +++++++      ++++++ ",
+"                       ",
+"                       ",
+"                       "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/sort-column-ascending.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,29 @@
+/* XPM */
+static char * stock_sort_column_ascending_xpm[] = {
+"24 24 2 1",
+" 	c None",
+".	c #000000",
+"                        ",
+"                        ",
+"    ...                 ",
+"   . ..                 ",
+"     ..                 ",
+"     ..                 ",
+"     ..                 ",
+"     ..                 ",
+"     ..                 ",
+"   .....   .            ",
+"                        ",
+"           .            ",
+"                        ",
+"           .            ",
+"    ....                ",
+"   ..  ..               ",
+"   ..  ..               ",
+"   ..  ..               ",
+"    .....               ",
+"       ..               ",
+"   .  ...               ",
+"   .....                ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/sort-criteria.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,55 @@
+/* XPM */
+static char * stock_sort_criteria_xpm[] = {
+"24 24 28 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF",
+"@	c #D3D3D3",
+"#	c #F2ECE1",
+"$	c #F4EFE5",
+"%	c #DFDAD2",
+"&	c #C9C4BD",
+"*	c #74716E",
+"=	c #FAFAFA",
+"-	c #EADFC9",
+";	c #ECE2CF",
+">	c #EEE5D4",
+",	c #4C4B48",
+"'	c #F5F5F5",
+")	c #C9C9C9",
+"!	c #E2D2B1",
+"~	c #CFC4B1",
+"{	c #BFBFBF",
+"]	c #C0C0C0",
+"^	c #C7B99C",
+"/	c #F0F0F0",
+"(	c #B7B7B7",
+"_	c #9A8F78",
+":	c #877E69",
+"<	c #AFA389",
+"[	c #A09889",
+"}	c #314E6C",
+"                        ",
+"                        ",
+"                ......  ",
+"                   ...  ",
+"                  ...   ",
+"                 ...    ",
+"  .........     ...     ",
+"  .+@.#$%&*.    ......  ",
+"  .=@.-;;;>,            ",
+"  .').!!!!.~.           ",
+"  .{].^^!.^.~.          ",
+"  ./(.._.^.:.~.         ",
+"   .....<.:...[.        ",
+"        .:..  ..        ",
+"         ..             ",
+"                        ",
+"                 }}}}   ",
+"                }}  }}  ",
+"                }}  }}  ",
+"                }}}}}}  ",
+"                }}  }}  ",
+"                }}  }}  ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/sort-descending.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,33 @@
+/* XPM */
+static char * stock_sort_descending_xpm[] = {
+"24 23 7 1",
+" 	c None",
+".	c #000000",
+"+	c #D1DECF",
+"@	c #7DA377",
+"#	c #314E6C",
+"$	c #E4ECE3",
+"%	c #B3C9AF",
+"                        ",
+"                        ",
+"  ......                ",
+"     ...                ",
+"    ...                 ",
+"   ...                  ",
+"  ...                   ",
+"  ......                ",
+"          .             ",
+"                        ",
+"            .           ",
+"                        ",
+"    .         .         ",
+"   .+.   .              ",
+"  .+@@. ..       ####   ",
+"   .@@@.$.      ##  ##  ",
+"    .@@%@.      ##  ##  ",
+"     .%@@.      ######  ",
+"    .$@@@.      ##  ##  ",
+"   .......      ##  ##  ",
+"                        ",
+"                        ",
+"                        "};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/images/sort-row-ascending.xpm	Mon Mar 13 12:19:58 2006 +0000
@@ -0,0 +1,22 @@
+/* XPM */
+static char * stock_sort_row_ascending_xpm[] = {
+"21 17 2 1",
+" 	c None",
+".	c #000000",
+"                     ",
+"                     ",
+"                     ",
+"                     ",
+"  ...         ....   ",
+" . ..        ..  ..  ",
+"   ..        ..  ..  ",
+"   ..        ..  ..  ",
+"   ..         .....  ",
+"   ..            ..  ",
+"   ..        .   ..  ",
+" ..... . . . .....   ",
+"                     ",
+"                     ",
+"                     ",
+"                     ",
+"                     "};
--- a/etc/orgcard.tex	Fri Mar 10 23:46:54 2006 +0000
+++ b/etc/orgcard.tex	Mon Mar 13 12:19:58 2006 +0000
@@ -1,4 +1,4 @@
-% Reference Card for Org Mode 4.08
+% Reference Card for Org Mode 4.09
 %
 %**start of header
 \newcount\columnsperpage
@@ -58,7 +58,7 @@
 % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
 % for their many good ideas.
 
-\def\orgversionnumber{4.08}
+\def\orgversionnumber{4.09}
 \def\year{2006}
 
 \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
--- a/lisp/ChangeLog	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/ChangeLog	Mon Mar 13 12:19:58 2006 +0000
@@ -1,3 +1,133 @@
+2006-03-13  Ryan Yeske  <rcyeske@gmail.com>
+
+	* net/rcirc.el (rcirc) <defgroup>: Add link to manual.
+	(rcirc-print): Mark the start of text at the end of the prompt.
+	(rcirc-track-minor-mode): Add autoload cookie.
+	(rcirc-update-activity-string): Add space to front of mode-line
+	indicator.
+
+2006-03-13  Miles Bader  <miles@gnu.org>
+
+	* net/rcirc.el (rcirc-nick-abbrevs): Variable removed.
+	(rcirc-abbrev-nick): Function removed.
+	(rcirc-format-response-string): Don't call `rcirc-abbrev-nick'.
+
+2006-03-13  David Ponce  <david@dponce.com>
+
+	* tree-widget.el: Handle themes across all occurrences of the main
+	themes sub-directory found in tree-widget-themes-load-path.
+	(tree-widget-themes-directory, tree-widget-theme): Doc fix.
+	(tree-widget--locate-sub-directory): Return all occurrences.
+	(tree-widget-themes-path): New function.  Replace
+	tree-widget-themes-directory, and return a list of directories.
+	(tree-widget-set-parent-theme)
+	(tree-widget-lookup-image): Use it.
+
+2006-03-13  Carsten Dominik  <dominik@science.uva.nl>
+
+	* textmodes/org.el: (org-link-search): Avoid self-matching of
+	links, allow target text to be distributed over several lines.
+	(org-search-not-link): New function.
+	(org-set-regexps-and-options, org-get-current-options): New
+	startup options.
+	(org-export-as-html): Take odd-level setting from local variable.
+	(org-fontify-emphasized-text): New option.
+	(org-set-font-lock-defaults): Include emphasized text.
+	(org-follow-mhe-link): Allow folder-only links, fix folder name.
+	(org-font-lock): Customize group renamed from `org-faces'.
+
+2006-03-13  John Paul Wallington  <jpw@pobox.com>
+
+	* ibuf-ext.el (ibuffer-never-show-predicates): Add `require'
+	keyword; require `ibuf-ext' feature.  Thanks to Zhang Wei.
+
+2006-03-12  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* cus-start.el (all): Delete :version keyword for members of the
+	fringe group, since the entire group is new in 22.1.
+
+2006-03-13  Nick Roberts  <nickrob@snap.net.nz>
+
+	* progmodes/gdb-ui.el (gdb-stack-list-locals-handler): Add local
+	map if value is hexadecimal (an address).
+	(gud-watch): Only search roots for existing watch expressions.
+	(gdb-speedbar-refresh): Bind speedbar-shown-directories to nil to
+	prevent caching problems with speedbar-update-directory-contents.
+
+2006-03-12  Juri Linkov  <juri@jurta.org>
+
+	* battery.el (battery-linux-proc-acpi): Check `capacity' for non-nil
+	before comparing with `low' and `warn'.
+
+	* info.el (Info-dir-remove-duplicates): Move point to the
+	beginning of the current line after deleting the entries from
+	redundant heading.  Use marker for `limit' and compare it with
+	point before calling `re-search-forward'.
+
+2006-03-11  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* simple.el (yank): Fix typo in docstring.
+
+2006-03-11  Ryan Yeske  <rcyeske@gmail.com>
+
+	* mail/rmailsum.el (rmail-summary-next-msg): Skip deleted
+	messages, where "D" is the 6th character.
+
+2006-03-11  Eli Zaretskii  <eliz@gnu.org>
+
+	* simple.el (yank): Fix last change.
+
+2006-03-11  David Ponce  <david@dponce.com>
+
+	* ispell.el (ispell-find-aspell-dictionaries): Add aliases before
+	merging elements from the standard ispell-dictionary-alist.
+	(ispell-aspell-add-aliases): Add aliases to the passed dictionary
+	alist, and return the new alist.
+
+2006-03-11  Richard Stallman  <rms@gnu.org>
+
+	* mail/rmail.el (rmail-ignored-headers): Discard DomainKey-Signature.
+
+	* eshell/eshell.el (eshell-prefer-to-shell): Variable deleted;
+	the way it is implemented is too unclean.
+
+	* simple.el (kill-region, yank): Doc fix.
+
+	* battery.el (battery-echo-area-format): Doc fix.
+	(battery-mode-line-format): Likewise.
+	(battery-linux-proc-apm, battery-linux-proc-acpi): Likewise.
+	(battery-linux-proc-acpi): Ignore batteries that say "charged".
+
+2006-03-11  Kurt Hornik  <Kurt.Hornik@wu-wien.ac.at>
+
+	* progmodes/octave-mod.el (octave-indent-for-comment): Behave
+	according to do string.
+
+2006-03-11  Agustin Martin  <agustin.martin@hispalinux.es>
+
+	* textmodes/ispell.el (ispell-menu-map-needed) [ispell-message]:
+	Be visible only if major mode is Mail Mode.
+
+	* textmodes/flyspell.el (flyspell-external-point-words)
+	(flyspell-process-localwords): Fix last changes.
+
+2006-03-11  Eli Zaretskii  <eliz@gnu.org>
+
+	* calendar/holidays.el (list-holidays): Doc fix.
+
+	* international/mule.el (auto-coding-alist): Add .odt
+	(OpenOffice's open document) files.
+
+	* files.el (auto-mode-alist): Add .odt (OpenOffice's open
+	document) files.  Mention in the doc string the need to sync with
+	auto-coding-alist.
+
+2006-03-10  Chong Yidong  <cyd@stupidchicken.com>
+
+	* files.el (hack-local-variables-confirm): Don't prompt for ! if
+	enable-local-variables is set to always query, or there is no
+	savable variable.
+
 2006-03-10  Bill Wohler  <wohler@newt.com>
 
 	* image.el (image-load-path-for-library): Merge at least three
--- a/lisp/battery.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/battery.el	Mon Mar 13 12:19:58 2006 +0000
@@ -77,7 +77,18 @@
 Ordinary characters in the control string are printed as-is, while
 conversion specifications introduced by a `%' character in the control
 string are substituted as defined by the current value of the variable
-`battery-status-function'."
+`battery-status-function'.  Here are the ones generally available:
+%c Current capacity (mAh or mWh)
+%r Current rate of charge or discharge
+%B Battery status (verbose)
+%b Battery status: empty means high, `-' means low,
+   `!' means critical, and `+' means charging
+%d Temperature (in degrees Celsius)
+%L AC line status (verbose)
+%p Battery load percentage
+%m Remaining time (to charge or discharge) in minutes
+%h Remaining time (to charge or discharge) in hours
+%t Remaining time (to charge or discharge) in the form `h:min'"
   :type '(choice string (const nil))
   :group 'battery)
 
@@ -96,7 +107,18 @@
 Ordinary characters in the control string are printed as-is, while
 conversion specifications introduced by a `%' character in the control
 string are substituted as defined by the current value of the variable
-`battery-status-function'."
+`battery-status-function'.  Here are the ones generally available:
+%c Current capacity (mAh or mWh)
+%r Current rate of charge or discharge
+%B Battery status (verbose)
+%b Battery status: empty means high, `-' means low,
+   `!' means critical, and `+' means charging
+%d Temperature (in degrees Celsius)
+%L AC line status (verbose)
+%p Battery load percentage
+%m Remaining time (to charge or discharge) in minutes
+%h Remaining time (to charge or discharge) in hours
+%t Remaining time (to charge or discharge) in the form `h:min'"
   :type '(choice string (const nil))
   :group 'battery)
 
@@ -196,10 +218,10 @@
 %b Battery status, empty means high, `-' means low,
    `!' means critical, and `+' means charging
 %p Battery load percentage
-%s Remaining time in seconds
-%m Remaining time in minutes
-%h Remaining time in hours
-%t Remaining time in the form `h:min'"
+%s Remaining time (to charge or discharge) in seconds
+%m Remaining time (to charge or discharge) in minutes
+%h Remaining time (to charge or discharge) in hours
+%t Remaining time (to charge or discharge) in the form `h:min'"
   (let (driver-version bios-version bios-interface line-status
 	battery-status battery-status-symbol load-percentage
 	seconds minutes hours remaining-time tem)
@@ -267,9 +289,9 @@
 %d Temperature (in degrees Celsius)
 %L AC line status (verbose)
 %p Battery load percentage
-%m Remaining time in minutes
-%h Remaining time in hours
-%t Remaining time in the form `h:min'"
+%m Remaining time (to charge or discharge) in minutes
+%h Remaining time (to charge or discharge) in hours
+%t Remaining time (to charge or discharge) in the form `h:min'"
   (let ((design-capacity 0)
 	(last-full-capacity 0)
 	full-capacity
@@ -287,7 +309,7 @@
 	(ignore-errors (insert-file-contents (expand-file-name "state" dir)))
 	(when (re-search-forward "present: +yes$" nil t)
 	  (and (re-search-forward "charging state: +\\(.*\\)$" nil t)
-	       (member charging-state '("unknown" nil))
+	       (member charging-state '("unknown" "charged" nil))
 	       ;; On most multi-battery systems, most of the time only one
 	       ;; battery is "charging"/"discharging", the others are
 	       ;; "unknown".
@@ -369,8 +391,8 @@
 					 rate-type)) "N/A"))
 	  (cons ?B (or charging-state "N/A"))
 	  (cons ?b (or (and (string= charging-state "charging") "+")
-		       (and (< capacity low) "!")
-		       (and (< capacity warn) "-")
+		       (and capacity (< capacity low) "!")
+		       (and capacity (< capacity warn) "-")
 		       ""))
 	  (cons ?h (or (and hours (number-to-string hours)) "N/A"))
 	  (cons ?m (or (and minutes (number-to-string minutes)) "N/A"))
--- a/lisp/calendar/holidays.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/calendar/holidays.el	Mon Mar 13 12:19:58 2006 +0000
@@ -120,6 +120,15 @@
   "Display holidays for years Y1 to Y2 (inclusive).
 
 The optional list of holidays L defaults to `calendar-holidays'.
+If you want to control what holidays are displayed, use a
+different list.  For example,
+
+  (list-holidays 2006 2006
+    (append general-holidays local-holidays other-holidays))
+
+will display holidays for the year 2006 defined in the 3
+mentioned lists, and nothing else.
+
 When called interactively, this command offers a choice of
 holidays, based on the variables `solar-holidays' etc.  See the
 documentation of `calendar-holidays' for a list of the variables
--- a/lisp/cus-start.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/cus-start.el	Mon Mar 13 12:19:58 2006 +0000
@@ -52,7 +52,7 @@
 	     (ctl-arrow display boolean)
 	     (truncate-lines display boolean)
 	     (selective-display-ellipses display boolean)
-	     (indicate-empty-lines fringe boolean "21.1")
+	     (indicate-empty-lines fringe boolean)
 	     (indicate-buffer-boundaries
 	      fringe
 	      (choice
@@ -91,8 +91,7 @@
 			    (const :tag "Do not show" (down . nil))
 			    (const :tag "On the left" (down . left))
 			    (const :tag "On the right" (down . right))))
-	       (other :tag "On left, no arrows" t))
-	      "22.1")
+	       (other :tag "On left, no arrows" t)))
 	     (scroll-up-aggressively windows
 				     (choice (const :tag "off" nil) number)
 				     "21.1")
@@ -177,7 +176,7 @@
 					    (const :tag "always shown" t)
 					    (other :tag "hidden by keypress" 1)))
 	     ;; fringe.c
-	     (overflow-newline-into-fringe fringe boolean "22.1")
+	     (overflow-newline-into-fringe fringe boolean)
 	     ;; indent.c
 	     (indent-tabs-mode fill boolean)
 	     ;; keyboard.c
--- a/lisp/eshell/eshell.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/eshell/eshell.el	Mon Mar 13 12:19:58 2006 +0000
@@ -323,24 +323,6 @@
       (= (file-modes eshell-directory-name)
 	 eshell-private-directory-modes)))
 
-(defcustom eshell-prefer-to-shell nil
-  "*If non-nil, \\[shell-command] will use Eshell instead of shell-mode."
-  :set (lambda (symbol value)
-	 ;; modifying the global keymap directly is odious, but how
-	 ;; else to achieve the takeover?
-	 (if value
-	     (progn
-	       (define-key global-map [(meta ?!)] 'eshell-command)
-;;;            (define-key global-map [(meta ?|)] 'eshell-command-on-region)
-	       )
-	   (define-key global-map [(meta ?!)] 'shell-command)
-;;;        (define-key global-map [(meta ?|)] 'shell-command-on-region)
-	   )
-	 (set symbol value))
-  :type 'boolean
-  :require 'eshell
-  :group 'eshell)
-
 ;;;_* Running Eshell
 ;;
 ;; There are only three commands used to invoke Eshell.  The first two
--- a/lisp/files.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/files.el	Mon Mar 13 12:19:58 2006 +0000
@@ -1872,7 +1872,7 @@
      ;; `auto-coding-alist' with `no-conversion' coding system.
      ("\\.\\(arc\\|zip\\|lzh\\|zoo\\|[jew]ar\\|xpi\\)\\'" . archive-mode)
      ("\\.\\(ARC\\|ZIP\\|LZH\\|ZOO\\|[JEW]AR\\|XPI\\)\\'" . archive-mode)
-     ("\\.sx[dmicw]\\'" . archive-mode)	; OpenOffice.org
+     ("\\.\\(sx[dmicw]\\|odt\\)\\'" . archive-mode)	; OpenOffice.org
      ;; Mailer puts message to be edited in
      ;; /tmp/Re.... or Message
      ("\\`/tmp/Re" . text-mode)
@@ -1955,6 +1955,9 @@
 If the file name matches `inhibit-first-line-modes-regexps',
 then `auto-mode-alist' is not processed.
 
+The extensions whose FUNCTION is `archive-mode' should also
+appear in `auto-coding-alist' with `no-conversion' coding system.
+
 See also `interpreter-mode-alist', which detects executable script modes
 based on the interpreters they specify to run,
 and `magic-mode-alist', which determines modes based on file contents.")
@@ -2349,6 +2352,7 @@
     (let ((name (if buffer-file-name
 		    (file-name-nondirectory buffer-file-name)
 		  (concat "buffer " (buffer-name))))
+	  (offer-save (and (eq enable-local-variables t) unsafe-vars))
 	  prompt char)
       (save-window-excursion
 	(let ((buf (get-buffer-create "*Local Variables*")))
@@ -2367,9 +2371,12 @@
 	      (insert "A local variables list is specified in " name ".")))
 	  (insert "\n\nDo you want to apply it?  You can type
 y  -- to apply the local variables list.
-n  -- to ignore the local variables list.
+n  -- to ignore the local variables list.")
+	  (if offer-save
+	      (insert "
 !  -- to apply the local variables list, and mark these values (*) as
       safe (in the future, they can be set automatically.)\n\n")
+	    (insert "\n\n"))
 	  (dolist (elt vars)
 	    (cond ((member elt unsafe-vars)
 		   (insert "  * "))
@@ -2381,12 +2388,17 @@
 	    (insert " : ")
 	    (princ (cdr elt) buf)
 	    (insert "\n"))
-	  (if (< (line-number-at-pos) (window-body-height))
-	      (setq prompt "Please type y, n, or !: ")
-	    (goto-char (point-min))
-	    (setq prompt "Please type y, n, or !, or C-v to scroll: "))
+	  (setq prompt
+		(format "Please type %s%s: "
+			(if offer-save "y, n, or !" "y or n")
+			(if (< (line-number-at-pos) (window-body-height))
+			    ""
+			  ", or C-v to scroll")))
+	  (goto-char (point-min))
 	  (let ((inhibit-quit t)
 		(cursor-in-echo-area t)
+		(exit-chars
+		 (if offer-save '(?! ?y ?n ?\s ?\C-g) '(?y ?n ?\s ?\C-g)))
 		done)
 	    (while (not done)
 	      (message prompt)
@@ -2396,21 +2408,21 @@
 		      (condition-case nil
 			  (scroll-up)
 			(error (goto-char (point-min))))
-		    (setq done (memq (downcase char)
-				     '(?! ?y ?n ?\s ?\C-g))))))
+		    (setq done (memq (downcase char) exit-chars)))))
 	    (if (= char ?\C-g)
 		(setq quit-flag nil)))
 	  (setq char (downcase char))
-	  (when (and (= char ?!) unsafe-vars)
+	  (when (and offer-save (= char ?!) unsafe-vars)
 	    (dolist (elt unsafe-vars)
 	      (add-to-list 'safe-local-variable-values elt))
 	    ;; When this is called from desktop-restore-file-buffer,
 	    ;; coding-system-for-read may be non-nil.  Reset it before
 	    ;; writing to .emacs.
-	    (let ((coding-system-for-read nil))
-	      (customize-save-variable
-	       'safe-local-variable-values
-	       safe-local-variable-values)))
+	    (if (or custom-file user-init-file)
+		(let ((coding-system-for-read nil))
+		  (customize-save-variable
+		   'safe-local-variable-values
+		   safe-local-variable-values))))
 	  (kill-buffer buf)
 	  (or (= char ?!)
 	      (= char ?\s)
--- a/lisp/ibuf-ext.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/ibuf-ext.el	Mon Mar 13 12:19:58 2006 +0000
@@ -74,6 +74,7 @@
 If a function, it will be called with the buffer as an argument, and
 should return non-nil if this buffer should not be shown."
   :type '(repeat (choice regexp function))
+  :require 'ibuf-ext
   :group 'ibuffer)
 
 (defcustom ibuffer-always-show-predicates nil
--- a/lisp/image.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/image.el	Mon Mar 13 12:19:58 2006 +0000
@@ -77,7 +77,7 @@
        (list (file-name-as-directory (expand-file-name "images" data-directory))
 	     'data-directory 'load-path)))
 
-(defun image-load-path-for-library (library image &optional path)
+(defun image-load-path-for-library (library image &optional path no-error)
   "Return a suitable search path for images relative to LIBRARY.
 
 Images for LIBRARY are searched for in \"../../etc/images\" and
@@ -85,8 +85,12 @@
 well as in `image-load-path' and `load-path'.
 
 This function returns the value of `load-path' augmented with the
-path to IMAGE. If PATH is given, it is used instead of
-`load-path'.
+directory containing IMAGE. If PATH is given, it is used instead
+of `load-path'. If PATH is t, just return the directory that
+contains IMAGE.
+
+If NO-ERROR is non-nil, return nil if a suitable path can't be
+found rather than signaling an error.
 
 Here is an example that uses a common idiom to provide
 compatibility with versions of Emacs that lack the variable
@@ -137,11 +141,19 @@
                  (setq img (directory-file-name parent)
                        dir (expand-file-name "../" dir)))
                (setq image-directory dir)))))
+     (no-error
+      ;; In this case we will return nil.
+      (message "Could not find image %s for library %s" image library))
      (t
       (error "Could not find image %s for library %s" image library)))
 
-    ;; Return augmented `image-load-path' or `load-path'.
-    (cond ((and path (symbolp path))
+    ;; Return the directory, nil if no-error was non-nil and a
+    ;; suitable path could not be found, or an augmented
+    ;; `image-load-path' or `load-path'.
+    (cond ((or (null image-directory)
+               (eq path t))
+           image-directory)
+          ((and path (symbolp path))
            (nconc (list image-directory)
                   (delete image-directory
                           (if (boundp path)
--- a/lisp/info.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/info.el	Mon Mar 13 12:19:58 2006 +0000
@@ -1196,7 +1196,9 @@
 		  (point)
 		  (if (re-search-forward "^[^* \n\t]" nil t)
 		      (match-beginning 0)
-		    (or limit (point-max)))) entries))))
+		    (or limit (point-max))))
+		 entries)
+		(forward-line 0))))
 	  ;; Insert the entries just found.
 	  (while (= (line-beginning-position 0) (1- (point)))
 	    (backward-char))
@@ -1207,10 +1209,11 @@
 
 	  ;; Now remove duplicate entries under the same heading.
 	  (let ((seen nil)
-		(limit (point)))
+		(limit (point-marker)))
 	    (goto-char start)
-	    (while (re-search-forward "^* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)"
-				      limit 'move)
+	    (while (and (> limit (point))
+			(re-search-forward "^* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)"
+					   limit 'move))
 	      ;; Fold case straight away; `member-ignore-case' here wasteful.
 	      (let ((x (downcase (match-string 1))))
 	  	(if (member x seen)
--- a/lisp/international/mule.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/international/mule.el	Mon Mar 13 12:19:58 2006 +0000
@@ -1562,7 +1562,7 @@
 (defcustom auto-coding-alist
   '(("\\.\\(arc\\|zip\\|lzh\\|zoo\\|[jew]ar\\|xpi\\)\\'" . no-conversion)
     ("\\.\\(ARC\\|ZIP\\|LZH\\|ZOO\\|[JEW]AR\\|XPI\\)\\'" . no-conversion)
-    ("\\.\\(sx[dmicw]\\|tar\\|tgz\\)\\'" . no-conversion)
+    ("\\.\\(sx[dmicw]\\|odt\\|tar\\|tgz\\)\\'" . no-conversion)
     ("\\.\\(gz\\|Z\\|bz\\|bz2\\|gpg\\)\\'" . no-conversion)
     ("\\.\\(jpe?g\\|png\\|gif\\|tiff?\\|p[bpgn]m\\)\\'" . no-conversion)
     ("/#[^/]+#\\'" . emacs-mule))
--- a/lisp/mail/rmail.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/mail/rmail.el	Mon Mar 13 12:19:58 2006 +0000
@@ -268,7 +268,7 @@
 	  "\\|^list-id:\\|^list-unsubscribe:\\|^list-archive:"
 	  "\\|^content-length:\\|^nntp-posting-date:\\|^user-agent"
 	  "\\|^importance:\\|^envelope-to:\\|^delivery-date\\|^openpgp:"
-	  "\\|^mbox-line:\\|^cancel-lock:"
+	  "\\|^mbox-line:\\|^cancel-lock:\\|^DomainKey-Signature:"
 	  "\\|^resent-face:\\|^resent-x.*:\\|^resent-organization:\\|^resent-openpgp:"
 
 	  "\\|^x-.*:")
@@ -319,8 +319,14 @@
   :type 'regexp
   :group 'rmail-headers)
 
+(defface rmail-highlight
+  '((t :default highlight))
+  "Face to use for highlighting the most important header fields."
+  :group 'rmail-headers
+  :version "22.1")
+
 ;;;###autoload
-(defcustom rmail-highlight-face nil "\
+(defcustom rmail-highlight-face 'rmail-highlight "\
 *Face used by Rmail for highlighting headers."
   :type '(choice (const :tag "Default" nil)
 		 face)
--- a/lisp/mail/rmailsum.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/mail/rmailsum.el	Mon Mar 13 12:19:58 2006 +0000
@@ -535,7 +535,7 @@
 	(search (if (> number 0) 're-search-forward 're-search-backward))
 	(non-del-msg-found nil))
     (while (and (> count 0) (setq non-del-msg-found
-				  (or (funcall search "^....[^D]" nil t)
+				  (or (funcall search "^.....[^D]" nil t)
 				      non-del-msg-found)))
       (setq count (1- count))))
   (beginning-of-line)
--- a/lisp/mh-e/ChangeLog	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/mh-e/ChangeLog	Mon Mar 13 12:19:58 2006 +0000
@@ -1,5 +1,17 @@
+2006-03-12  Bill Wohler  <wohler@newt.com>
+
+	* mh-utils.el (mh-folder-list): Fix docstring (closes SF
+	#1448498).
+
 2006-03-10  Bill Wohler  <wohler@newt.com>
 
+	* mh-compat.el (mh-replace-regexp-in-string): Pass the literal
+	flag to replace-in-string. This was badly needed by
+	mh-quote-pick-expr in order to properly quote subjects when using
+	/ s on XEmacs (closes SF #1447598).
+	(mh-image-load-path-for-library): Merged changes from Reiner. Add
+	no-error argument. If path t, just return directory.
+
 	* mh-e.el (mh-profile-component): Drop `s' from mhparam
 	-components for Mailutils compatibility (closes SF #1446985).
 
--- a/lisp/mh-e/mh-compat.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/mh-e/mh-compat.el	Mon Mar 13 12:19:58 2006 +0000
@@ -116,7 +116,7 @@
     `(face-background ,face ,frame ,inherit)))
 
 (mh-defun-compat mh-image-load-path-for-library
-  image-load-path-for-library (library image &optional path)
+  image-load-path-for-library (library image &optional path no-error)
   "Return a suitable search path for images relative to LIBRARY.
 
 Images for LIBRARY are searched for in \"../../etc/images\" and
@@ -124,8 +124,12 @@
 well as in `image-load-path' and `load-path'.
 
 This function returns the value of `load-path' augmented with the
-path to IMAGE. If PATH is given, it is used instead of
-`load-path'.
+directory containing IMAGE. If PATH is given, it is used instead
+of `load-path'. If PATH is t, just return the directory that
+contains IMAGE.
+
+If NO-ERROR is non-nil, return nil if a suitable path can't be
+found rather than signaling an error.
 
 Here is an example that uses a common idiom to provide
 compatibility with versions of Emacs that lack the variable
@@ -179,11 +183,19 @@
                  (setq img (directory-file-name parent)
                        dir (expand-file-name "../" dir)))
                (setq image-directory dir)))))
+     (no-error
+      ;; In this case we will return nil.
+      (message "Could not find image %s for library %s" image library))
      (t
       (error "Could not find image %s for library %s" image library)))
 
-    ;; Return augmented `image-load-path' or `load-path'.
-    (cond ((and path (symbolp path))
+    ;; Return the directory, nil if no-error was non-nil and a
+    ;; suitable path could not be found, or an augmented
+    ;; `image-load-path' or `load-path'.
+    (cond ((or (null image-directory)
+               (eq path t))
+           image-directory)
+          ((and path (symbolp path))
            (nconc (list image-directory)
                   (delete image-directory
                           (if (boundp path)
@@ -232,8 +244,9 @@
   "Replace REGEXP with REP everywhere in STRING and return result.
 This function is used by XEmacs that lacks `replace-regexp-in-string'.
 The function `replace-in-string' is used instead.
-The arguments FIXEDCASE, LITERAL, SUBEXP, and START are ignored."
-  (replace-in-string string regexp rep))
+The arguments FIXEDCASE, SUBEXP, and START, used by
+`replace-in-string' are ignored."
+  (replace-in-string string regexp rep literal))
 
 ;; Copy of constant from url-util.el in Emacs 22; needed by Emacs 21.
 (if (not (boundp 'url-unreserved-chars))
--- a/lisp/mh-e/mh-utils.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/mh-e/mh-utils.el	Mon Mar 13 12:19:58 2006 +0000
@@ -504,7 +504,7 @@
   (mh-folder-list nil)
        => (\"inbox\" \"lists\" \"lists/mh-e\" \"outbox\")
   (mh-folder-list \"+lists\")
-       => (\"lists/mh-e\")
+       => (\"lists\" \"lists/mh-e\")
 
 Respects the value of `mh-recursive-folders-flag'. If this flag
 is nil, and the sub-folders have not been explicitly viewed, then
--- a/lisp/net/rcirc.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/net/rcirc.el	Mon Mar 13 12:19:58 2006 +0000
@@ -50,6 +50,7 @@
   "Simple IRC client."
   :version "22.1"
   :prefix "rcirc-"
+  :link '(custom-manual "(rcirc)")
   :group 'applications)
 
 (defcustom rcirc-server "irc.freenode.net"
@@ -195,12 +196,6 @@
   :type '(repeat string)
   :group 'rcirc)
 
-(defcustom rcirc-nick-abbrevs nil
-  "List of short replacements for printing nicks."
-  :type '(alist :key-type (string :tag "Nick")
-		:value-type (string :tag "Abbrev"))
-  :group 'rcirc)
-
 (defvar rcirc-ignore-list-automatic ()
   "List of ignored nicks added to `rcirc-ignore-list' because of renaming.
 When an ignored person renames, their nick is added to both lists.
@@ -493,11 +488,6 @@
   (with-rcirc-process-buffer process
     rcirc-nick))
 
-(defun rcirc-abbrev-nick (nick)
-  "If NICK has an entry in `rcirc-nick-abbrevs', return its abbreviation,
-otherwise return NICK."
-  (or (cdr (assoc nick rcirc-nick-abbrevs)) nick))
-
 (defvar rcirc-max-message-length 450
   "Messages longer than this value will be split.")
 
@@ -883,7 +873,7 @@
 (defun rcirc-multiline-edit-submit ()
   "Send the text in buffer back to parent buffer."
   (interactive)
-  (assert (and (eq major-mode 'rcirc-multiline-edit-mode)))
+  (assert (eq major-mode 'rcirc-multiline-edit-mode))
   (assert rcirc-parent-buffer)
   (untabify (point-min) (point-max))
   (let ((text (buffer-substring (point-min) (point-max)))
@@ -899,7 +889,7 @@
 (defun rcirc-multiline-edit-cancel ()
   "Cancel the multiline edit."
   (interactive)
-  (assert (and (eq major-mode 'rcirc-multiline-edit-mode)))
+  (assert (eq major-mode 'rcirc-multiline-edit-mode))
   (kill-buffer (current-buffer))
   (set-window-configuration rcirc-window-configuration))
 
@@ -975,7 +965,7 @@
 							process rcirc-server)
 						    sender)
 					   ""
-					 (rcirc-abbrev-nick sender))
+					 sender)
 				       (and target (concat "," target)))))
 		     (rcirc-facify nick
 				   (if (eq key ?n)
@@ -1088,7 +1078,7 @@
 	      (set-marker text-start
 			  (or (next-single-property-change fill-start 
 							   'rcirc-text)
-			      (point-max)))
+			      rcirc-prompt-end-marker))
 	      ;; squeeze spaces out of text before rcirc-text
 	      (fill-region fill-start (1- text-start))
 
@@ -1253,9 +1243,7 @@
 (define-key rcirc-track-minor-mode-map (kbd "C-c C-@") 'rcirc-next-active-buffer)
 (define-key rcirc-track-minor-mode-map (kbd "C-c C-SPC") 'rcirc-next-active-buffer)
 
-;;; FIXME: the code to insert `rcirc-activity-string' into
-;;; `global-mode-string' isn't called when the mode is activated by
-;;; customize.  I don't know how to set that up.
+;;;###autoload
 (define-minor-mode rcirc-track-minor-mode
   "Global minor mode for tracking activity in rcirc buffers."
   :init-value nil
@@ -1357,7 +1345,7 @@
   (setq rcirc-activity-string
 	(if (not rcirc-activity)
 	       ""
-	  (concat " ["
+	  (concat "-["
 		  (mapconcat
 		   (lambda (b)
 		     (let ((s (rcirc-short-buffer-name b)))
@@ -1366,7 +1354,7 @@
 			     s
 			   (rcirc-facify s 'rcirc-mode-line-nick)))))
 		   rcirc-activity ",")
-		  "]"))))
+		  "]-"))))
 
 (defun rcirc-short-buffer-name (buffer)
   "Return a short name for BUFFER to use in the modeline indicator."
--- a/lisp/progmodes/gdb-ui.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/progmodes/gdb-ui.el	Mon Mar 13 12:19:58 2006 +0000
@@ -301,12 +301,38 @@
   :group 'gud
   :version "22.1")
 
+(defcustom gdb-many-windows nil
+  "Nil means just pop up the GUD buffer unless `gdb-show-main' is t.
+In this case it starts with two windows: one displaying the GUD
+buffer and the other with the source file with the main routine
+of the inferior.  Non-nil means display the layout shown for
+`gdba'."
+  :type 'boolean
+  :group 'gud
+  :version "22.1")
+
 (defcustom gdb-use-separate-io-buffer nil
   "Non-nil means display output from the inferior in a separate buffer."
   :type 'boolean
   :group 'gud
   :version "22.1")
 
+(defun gdb-many-windows (arg)
+  "Toggle the number of windows in the basic arrangement.
+With arg, display additional buffers iff arg is positive."
+  (interactive "P")
+  (setq gdb-many-windows
+	(if (null arg)
+	    (not gdb-many-windows)
+	  (> (prefix-numeric-value arg) 0)))
+  (message (format "Display of other windows %sabled"
+		   (if gdb-many-windows "en" "dis")))
+  (if (and gud-comint-buffer
+	   (buffer-name gud-comint-buffer))
+      (condition-case nil
+	  (gdb-restore-windows)
+	(error nil))))
+
 (defun gdb-use-separate-io-buffer (arg)
   "Toggle separate IO for inferior.
 With arg, use separate IO iff arg is positive."
@@ -631,7 +657,8 @@
     (let ((expr (tooltip-identifier-from-point (point))))
       (catch 'already-watched
 	(dolist (var gdb-var-list)
-	  (if (string-equal expr (car var)) (throw 'already-watched nil)))
+	  (unless (string-match "\\." (nth 1 var))
+	    (if (string-equal expr (car var)) (throw 'already-watched nil))))
 	(set-text-properties 0 (length expr) nil expr)
 	(gdb-enqueue-input
 	 (list
@@ -757,7 +784,8 @@
   (setq gdb-pending-triggers
 	(delq 'gdb-speedbar-refresh gdb-pending-triggers))
   (with-current-buffer gud-comint-buffer
-    (let ((speedbar-verbosity-level 0))
+    (let ((speedbar-verbosity-level 0)
+	  (speedbar-shown-directories nil))
       (save-excursion
 	(speedbar-refresh)))))
 
@@ -2671,32 +2699,6 @@
   (gdb-set-window-buffer (gdb-breakpoints-buffer-name))
   (other-window 1))
 
-(defcustom gdb-many-windows nil
-  "Nil means just pop up the GUD buffer unless `gdb-show-main' is t.
-In this case it starts with two windows: one displaying the GUD
-buffer and the other with the source file with the main routine
-of the inferior.  Non-nil means display the layout shown for
-`gdba'."
-  :type 'boolean
-  :group 'gud
-  :version "22.1")
-
-(defun gdb-many-windows (arg)
-  "Toggle the number of windows in the basic arrangement.
-With arg, display additional buffers iff arg is positive."
-  (interactive "P")
-  (setq gdb-many-windows
-	(if (null arg)
-	    (not gdb-many-windows)
-	  (> (prefix-numeric-value arg) 0)))
-  (message (format "Display of other windows %sabled"
-		   (if gdb-many-windows "en" "dis")))
-  (if (and gud-comint-buffer
-	   (buffer-name gud-comint-buffer))
-      (condition-case nil
-	  (gdb-restore-windows)
-	(error nil))))
-
 (defun gdb-restore-windows ()
   "Restore the basic arrangement of windows used by gdba.
 This arrangement depends on the value of `gdb-many-windows'."
@@ -3309,7 +3311,7 @@
 		   (dolist (local locals-list)
 		     (setq name (car local))
 		     (if (or (not (nth 2 local))
-			     (string-match "\\*$" (nth 1 local)))
+			     (string-match "\\0x" (nth 2 local)))
 		       (add-text-properties 0 (length name)
 			    `(mouse-face highlight
 			      help-echo "mouse-2: create watch expression"
--- a/lisp/progmodes/octave-mod.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/progmodes/octave-mod.el	Mon Mar 13 12:19:58 2006 +0000
@@ -732,7 +732,10 @@
 comment (started by one comment character) otherwise.
 Point is left after the start of the comment which is properly aligned."
   (interactive)
-  (indent-for-comment)
+  (beginning-of-line)
+  (if (looking-at "^\\s-*$")
+      (insert octave-block-comment-start)
+    (indent-for-comment))
   (indent-according-to-mode))
 
 (defun octave-indent-line (&optional arg)
--- a/lisp/simple.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/simple.el	Mon Mar 13 12:19:58 2006 +0000
@@ -2506,8 +2506,8 @@
 (put 'text-read-only 'error-message "Text is read-only")
 
 (defun kill-region (beg end &optional yank-handler)
-  "Kill between point and mark.
-The text is deleted but saved in the kill ring.
+  "Kill (\"cut\") text between point and mark.
+This deletes the text from the buffer and saves it in the kill ring.
 The command \\[yank] can retrieve it from there.
 \(If you want to kill and then yank immediately, use \\[kill-ring-save].)
 
@@ -2690,7 +2690,7 @@
   nil)
 
 (defun yank (&optional arg)
-  "Reinsert the last stretch of killed text.
+  "Reinsert (\"paste\") the last stretch of killed text.
 More precisely, reinsert the stretch of killed text most recently
 killed OR yanked.  Put point at end, and set mark at beginning.
 With just \\[universal-argument] as argument, same but put point at beginning (and mark at end).
--- a/lisp/textmodes/flyspell.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/textmodes/flyspell.el	Mon Mar 13 12:19:58 2006 +0000
@@ -1323,7 +1323,7 @@
   (let (words-not-found
 	(ispell-otherchars (ispell-get-otherchars))
 	(buffer-scan-pos flyspell-large-region-beg)
-	(case-fold-search nil))
+	case-fold-search)
     (with-current-buffer flyspell-external-ispell-buffer
       (goto-char (point-min))
       ;; Loop over incorrect words, in the order they were reported,
@@ -1409,8 +1409,7 @@
 ;;*    declared correct.                                                */
 ;;*---------------------------------------------------------------------*/
 (defun flyspell-process-localwords (misspellings-buffer)
-  (let (localwords
-	(case-fold-search nil)
+  (let (localwords case-fold-search
 	(ispell-casechars (ispell-get-casechars)))
     ;; Get localwords from the original buffer
     (save-excursion
--- a/lisp/textmodes/ispell.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/textmodes/ispell.el	Mon Mar 13 12:19:58 2006 +0000
@@ -899,14 +899,15 @@
 	 (found
 	  (delq nil 
 		(mapcar #'ispell-aspell-find-dictionary dictionaries))))
+    ;; Ensure aspell's alias dictionary will override standard
+    ;; definitions.
+    (setq found (ispell-aspell-add-aliases found))
     ;; Merge into FOUND any elements from the standard ispell-dictionary-alist
     ;; which have no element in FOUND at all.    
     (dolist (dict ispell-dictionary-alist)
       (unless (assoc (car dict) found)
 	(setq found (nconc found (list dict)))))
     (setq ispell-dictionary-alist found)
-
-    (ispell-aspell-add-aliases)
     ;; Add a default entry
     (let* ((english-dict (assoc "en" ispell-dictionary-alist))
 	   (default-dict
@@ -973,8 +974,9 @@
       (file-error
        nil))))
 
-(defun ispell-aspell-add-aliases ()
-  "Find aspell's dictionary aliases and add them to `ispell-dictionary-alist'."
+(defun ispell-aspell-add-aliases (alist)
+  "Find aspell's dictionary aliases and add them to dictionary ALIST.
+Return the new dictionary alist."
   (let ((aliases (file-expand-wildcards
 		  (concat (or ispell-aspell-dict-dir
 			      (setq ispell-aspell-dict-dir
@@ -987,11 +989,12 @@
 	(when (search-forward-regexp "^add \\([^.]+\\)\\.multi" nil t)
 	  (let* ((aliasname (file-name-sans-extension
 			     (file-name-nondirectory alias-file)))
-		 (already-exists-p (assoc aliasname ispell-dictionary-alist))
+		 (already-exists-p (assoc aliasname alist))
 		 (realname (match-string 1))
-		 (realdict (assoc realname ispell-dictionary-alist)))
+		 (realdict (assoc realname alist)))
 	    (when (and realdict (not already-exists-p))
-	      (push (cons aliasname (cdr realdict)) ispell-dictionary-alist))))))))
+	      (push (cons aliasname (cdr realdict)) alist))))))
+    alist))
 
 (defun ispell-valid-dictionary-list ()
   "Returns a list of valid dictionaries.
@@ -1086,6 +1089,7 @@
 		    :help "Spell-check text in marked region"))
       (define-key ispell-menu-map [ispell-message]
 	'(menu-item "Spell-Check Message" ispell-message
+		    :visible (eq major-mode 'mail-mode)
 		    :help "Skip headers and included message text"))
       (define-key ispell-menu-map [ispell-buffer]
 	'(menu-item "Spell-Check Buffer" ispell-buffer
--- a/lisp/textmodes/org.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/textmodes/org.el	Mon Mar 13 12:19:58 2006 +0000
@@ -5,7 +5,7 @@
 ;; Author: Carsten Dominik <dominik at science dot uva dot nl>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
-;; Version: 4.08
+;; Version: 4.09
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -81,8 +81,14 @@
 ;;
 ;; Changes since version 4.00:
 ;; ---------------------------
+;; Version 4.09
+;;    - Bug fixes.
+;;    - Small improvements to font-lock support.
+;;    - MHE support finalized.
+;;
 ;; Version 4.08
-;;
+;;    - Bug fixes.
+;;    - Improved MHE support
 ;;
 ;; Version 4.07
 ;;    - Bug fixes.
@@ -139,7 +145,7 @@
 
 ;;; Customization variables
 
-(defvar org-version "4.08"
+(defvar org-version "4.09"
   "The version number of the file org.el.")
 (defun org-version ()
   (interactive)
@@ -796,31 +802,15 @@
   :group 'org-structure
   :type 'hook)
 
-(defcustom org-level-color-stars-only nil
-  "Non-nil means fontify only the stars in each headline.
-When nil, the entire headline is fontified.
-Changing it requires restart of `font-lock-mode' to become effective."
-  :group 'org-structure
-  :type 'boolean)
-
-(defcustom org-hide-leading-stars nil
-  "Non-nil means, hide the first N-1 stars in a headline.
-This works by using the face `org-hide' for these stars.  This
-face is white for a light background, and black for a dark
-background.  You may have to customize the face `org-hide' to
-make this work.
-Changing it requires restart of `font-lock-mode' to become effective."
-  :group 'org-structure
-  :type 'boolean)
-
 (defcustom org-odd-levels-only nil
   "Non-nil means, skip even levels and only use odd levels for the outline.
 This has the effect that two stars are being added/taken away in
 promotion/demotion commands.  It also influences how levels are
 handled by the exporters.
 Changing it requires restart of `font-lock-mode' to become effective
-for fontification." 
+for fontification also in regions already fontified." 
   :group 'org-structure
+  :group 'org-font-lock
   :type 'boolean)
 
 (defcustom org-adapt-indentation t
@@ -1710,11 +1700,44 @@
   :group 'org-export
   :type 'string)
 
-(defgroup org-faces nil
-  "Faces for highlighting in Org-mode."
-  :tag "Org Faces"
+(defgroup org-font-lock nil
+  "Faces and settings for highlighting in Org-mode."
+  :tag "Org Font Lock"
   :group 'org)
 
+(defcustom org-level-color-stars-only nil
+  "Non-nil means fontify only the stars in each headline.
+When nil, the entire headline is fontified.
+Changing it requires restart of `font-lock-mode' to become effective
+also in regions already fontified."
+  :group 'org-font-lock
+  :type 'boolean)
+
+(defcustom org-hide-leading-stars nil
+  "Non-nil means, hide the first N-1 stars in a headline.
+This works by using the face `org-hide' for these stars.  This
+face is white for a light background, and black for a dark
+background.  You may have to customize the face `org-hide' to
+make this work.
+Changing it requires restart of `font-lock-mode' to become effective
+also in regions already fontified."
+  :group 'org-font-lock
+  :type 'boolean)
+
+(defcustom org-fontify-done-headline nil
+  "Non-nil means, change the face of a headline if it is marked DONE.
+Normally, only the TODO/DONE keyword indicates the state of a headline.
+When this is non-nil, the headline after the keyword is set to the
+`org-headline-done' as an additional indication."
+  :group 'org-font-lock
+  :type 'boolean)
+
+(defcustom org-fontify-emphasized-text t
+  "Non-nil means fontify *bold*, /italic/ and _underlined_ text.
+Changing this variable requires a restart of Emacs to take effect."
+  :group 'org-font-lock
+  :type 'boolean)
+
 (defface org-hide
   '((((type tty) (class color)) (:foreground "blue" :weight bold))
     (((class color) (background light)) (:foreground "white"))
@@ -1723,7 +1746,7 @@
 ;    (((class color) (background dark)) (:foreground "grey10"))
     (t (:inverse-video nil)))
   "Face used for level 1 headlines."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-level-1 ;; font-lock-function-name-face
   '((((type tty) (class color)) (:foreground "blue" :weight bold))
@@ -1731,7 +1754,7 @@
     (((class color) (background dark)) (:foreground "LightSkyBlue"))
     (t (:inverse-video t :bold t)))
   "Face used for level 1 headlines."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-level-2 ;; font-lock-variable-name-face
   '((((type tty) (class color)) (:foreground "yellow" :weight light))
@@ -1739,7 +1762,7 @@
     (((class color) (background dark)) (:foreground "LightGoldenrod"))
     (t (:bold t :italic t)))
   "Face used for level 2 headlines."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-level-3 ;; font-lock-keyword-face
   '((((type tty) (class color)) (:foreground "cyan" :weight bold))
@@ -1747,7 +1770,7 @@
     (((class color) (background dark)) (:foreground "Cyan"))
     (t (:bold t)))
   "Face used for level 3 headlines."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-level-4   ;; font-lock-comment-face
   '((((type tty pc) (class color) (background light)) (:foreground "red"))
@@ -1756,7 +1779,7 @@
     (((class color) (background dark)) (:foreground "chocolate1"))
     (t (:bold t :italic t)))
   "Face used for level 4 headlines."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-level-5 ;; font-lock-type-face
   '((((type tty) (class color)) (:foreground "green"))
@@ -1764,7 +1787,7 @@
     (((class color) (background dark)) (:foreground "PaleGreen"))
     (t (:bold t :underline t)))
   "Face used for level 5 headlines."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-level-6 ;; font-lock-constant-face
   '((((type tty) (class color)) (:foreground "magenta"))
@@ -1772,7 +1795,7 @@
     (((class color) (background dark)) (:foreground "Aquamarine"))
     (t (:bold t :underline t)))
   "Face used for level 6 headlines."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-level-7 ;; font-lock-builtin-face
   '((((type tty) (class color)) (:foreground "blue" :weight light))
@@ -1780,7 +1803,7 @@
     (((class color) (background dark)) (:foreground "LightSteelBlue"))
     (t (:bold t)))
   "Face used for level 7 headlines."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-level-8 ;; font-lock-string-face
   '((((type tty) (class color)) (:foreground "green"))
@@ -1788,7 +1811,7 @@
     (((class color) (background dark)) (:foreground "LightSalmon"))
     (t (:italic t)))
   "Face used for level 8 headlines."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-special-keyword ;; font-lock-string-face
   '((((type tty) (class color)) (:foreground "green"))
@@ -1796,7 +1819,7 @@
     (((class color) (background dark)) (:foreground "LightSalmon"))
     (t (:italic t)))
   "Face used for special keywords."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-warning ;; font-lock-warning-face
   '((((type tty) (class color)) (:foreground "red"))
@@ -1805,15 +1828,7 @@
 ;    (((class color) (background dark)) (:foreground "Pink" :bold t))
     (t (:inverse-video t :bold t)))
   "Face for deadlines and TODO keywords."
-  :group 'org-faces)
-
-(defcustom org-fontify-done-headline nil
-  "Non-nil means, change the face of a headline if it is marked DONE.
-Normally, only the TODO/DONE keyword indicates the state of a headline.
-When this is non-nil, the headline after the keyword is set to the
-`org-headline-done' as an additional indication."
-  :group 'org-faces
-  :type 'boolean)
+  :group 'org-font-lock)
 
 (defface org-headline-done ;; font-lock-string-face
   '((((type tty) (class color)) (:foreground "green"))
@@ -1822,7 +1837,7 @@
     (t (:italic t)))
   "Face used to indicate that a headline is DONE.  See also the variable
 `org-fontify-done-headline'."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 ;; Inheritance does not yet work for xemacs. So we just copy...
 
@@ -1832,7 +1847,7 @@
     (((class color) (background dark)) (:foreground "LightSkyBlue"))
     (t (:inverse-video t :bold t)))
   "Face for upcoming deadlines."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-scheduled-today
   '((((type tty) (class color)) (:foreground "green"))
@@ -1840,7 +1855,7 @@
     (((class color) (background dark)) (:foreground "PaleGreen"))
     (t (:bold t :underline t)))
   "Face for items scheduled for a certain day."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-scheduled-previously
   '((((type tty pc) (class color) (background light)) (:foreground "red"))
@@ -1849,7 +1864,7 @@
     (((class color) (background dark)) (:foreground "chocolate1"))
     (t (:bold t :italic t)))
   "Face for items scheduled previously, and not yet done."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-formula
   '((((type tty pc) (class color) (background light)) (:foreground "red"))
@@ -1858,7 +1873,7 @@
     (((class color) (background dark)) (:foreground "chocolate1"))
     (t (:bold t :italic t)))
   "Face for formulas."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-link
   '((((type tty) (class color)) (:foreground "cyan" :weight bold))
@@ -1866,15 +1881,15 @@
     (((class color) (background dark)) (:foreground "Cyan"))
     (t (:bold t)))
   "Face for links."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-tag
   '((((type tty) (class color)) (:foreground "cyan" :weight bold))
     (((class color) (background light)) (:foreground "Purple" :weight bold))
     (((class color) (background dark)) (:foreground "Cyan" :weight bold))
     (t (:bold t)))
-  "Face for links."
-  :group 'org-faces)
+  "Face for tags."
+  :group 'org-font-lock)
 
 (defface org-done ;; font-lock-type-face
   '((((type tty) (class color)) (:foreground "green"))
@@ -1882,7 +1897,7 @@
     (((class color) (background dark)) (:foreground "PaleGreen" :bold t))
     (t (:bold t :underline t)))
   "Face used for DONE."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-table ;; font-lock-function-name-face
   '((((type tty) (class color)) (:foreground "blue" :weight bold))
@@ -1890,7 +1905,7 @@
     (((class color) (background dark)) (:foreground "LightSkyBlue"))
     (t (:inverse-video t :bold t)))
   "Face used for tables."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defface org-time-grid ;; font-lock-variable-name-face
   '((((type tty) (class color)) (:foreground "yellow" :weight light))
@@ -1898,7 +1913,7 @@
     (((class color) (background dark)) (:foreground "LightGoldenrod"))
     (t (:bold t :italic t)))
   "Face used for time grids."
-  :group 'org-faces)
+  :group 'org-font-lock)
 
 (defvar org-level-faces
   '(org-level-1 org-level-2 org-level-3 org-level-4
@@ -1939,6 +1954,10 @@
 		    (set '(("fold" org-startup-folded t)
 			   ("nofold" org-startup-folded nil)
 			   ("content" org-startup-folded content)
+			   ("hidestars" org-hide-leading-stars t)
+			   ("showstars" org-hide-leading-stars nil)
+			   ("odd" org-odd-levels-only t)
+			   ("oddeven" org-odd-levels-only nil)
 			   ("dlcheck" org-startup-with-deadline-check t)
 			   ("nodlcheck" org-startup-with-deadline-check nil)))
 		    l var val)
@@ -2307,44 +2326,45 @@
 (defvar org-font-lock-keywords nil)
 
 (defun org-set-font-lock-defaults ()
-  (let ((org-font-lock-extra-keywords
-	 (list
-	  '("^\\(\\**\\)\\(\\*\\)\\(.*\\)" (1 (org-get-level-face 1))
-	    (2 (org-get-level-face 2)) (3 (org-get-level-face 3)))
-	  '(org-activate-links (0 'org-link t))
-	  '(org-activate-links2 (0 'org-link t))
-	  '(org-activate-target-links (0 'org-link t))
-	  '(org-activate-dates (0 'org-link t))
-	  '(org-activate-camels (0 'org-link t))
-	  '(org-activate-tags (1 'org-tag t))
-	  (list (concat "^\\*+[ \t]*" org-not-done-regexp)
-		'(1 'org-warning t))
-	  (list (concat "\\[#[A-Z]\\]") '(0 'org-special-keyword t))
-	  (list (concat "\\<" org-deadline-string) '(0 'org-special-keyword t))
-	  (list (concat "\\<" org-scheduled-string) '(0 'org-special-keyword t))
-	  (list (concat "\\<" org-closed-string) '(0 'org-special-keyword t))
-	  ;; '("\\(\\s-\\|^\\)\\(\\*\\([a-zA-Z]+\\)\\*\\)\\([^a-zA-Z*]\\|$\\)"
-	  ;; (3 'bold))
-	  ;; '("\\(\\s-\\|^\\)\\(/\\([a-zA-Z]+\\)/\\)\\([^a-zA-Z*]\\|$\\)"
-	  ;; (3 'italic))
-	  ;; '("\\(\\s-\\|^\\)\\(_\\([a-zA-Z]+\\)_\\)\\([^a-zA-Z*]\\|$\\)"
-	  ;; (3 'underline))
-	  (list (concat "^\\*+[ \t]*\\<\\(" org-comment-string
-			"\\|" org-quote-string "\\)\\>")
-		'(1 'org-special-keyword t))
-	  '("^#.*" (0 'font-lock-comment-face t))
-	  (if org-fontify-done-headline
-	      (list (concat "^[*]+ +\\<\\(" org-done-string "\\)\\(.*\\)\\>")
-		    '(1 'org-done t) '(2 'org-headline-done t))
-	    (list (concat "^[*]+ +\\<\\(" org-done-string "\\)\\>")
-		  '(1 'org-done t)))
-	  '("^[ \t]*\\(\\(|\\|\\+-[-+]\\).*\\S-\\)"
-	    (1 'org-table t))
-	  '("^[ \t]*\\(:.*\\)" (1 'org-table t))
-	  '("| *\\(:?=[^|\n]*\\)" (1 'org-formula t))
-	  '("^[ \t]*| *\\([#!$*_^]\\) *|" (1 'org-formula t))
-	  )))
-
+  (let* ((em org-fontify-emphasized-text)
+	 (org-font-lock-extra-keywords
+	  (list
+	   '("^\\(\\**\\)\\(\\*\\)\\(.*\\)" (1 (org-get-level-face 1))
+	     (2 (org-get-level-face 2)) (3 (org-get-level-face 3)))
+	   '(org-activate-links (0 'org-link t))
+	   '(org-activate-links2 (0 'org-link t))
+	   '(org-activate-target-links (0 'org-link t))
+	   '(org-activate-dates (0 'org-link t))
+	   '(org-activate-camels (0 'org-link t))
+	   '(org-activate-tags (1 'org-tag t))
+	   (list (concat "^\\*+[ \t]*" org-not-done-regexp)
+		 '(1 'org-warning t))
+	   (list (concat "\\[#[A-Z]\\]") '(0 'org-special-keyword t))
+	   (list (concat "\\<" org-deadline-string) '(0 'org-special-keyword t))
+	   (list (concat "\\<" org-scheduled-string) '(0 'org-special-keyword t))
+	   (list (concat "\\<" org-closed-string) '(0 'org-special-keyword t))
+;	   (if em '("\\(\\s-\\|^\\)\\(\\*\\([a-zA-Z]+\\)\\*\\)\\([^a-zA-Z*]\\|$\\)" (3 'bold)))
+;	   (if em '("\\(\\s-\\|^\\)\\(/\\([a-zA-Z]+\\)/\\)\\([^a-zA-Z*]\\|$\\)" (3 'italic)))
+;	   (if em '("\\(\\s-\\|^\\)\\(_\\([a-zA-Z]+\\)_\\)\\([^a-zA-Z*]\\|$\\)" (3 'underline)))
+	   (if em '("\\*[a-zA-Z]+\\*" 0 'bold))
+	   (if em '("/*[a-zA-Z]+/" 0 'italic))
+	   (if em '("_[a-zA-Z]+_" 0 'underline))
+	   (list (concat "^\\*+[ \t]*\\<\\(" org-comment-string
+			 "\\|" org-quote-string "\\)\\>")
+		 '(1 'org-special-keyword t))
+	   '("^#.*" (0 'font-lock-comment-face t))
+	   (if org-fontify-done-headline
+	       (list (concat "^[*]+ +\\<\\(" org-done-string "\\)\\(.*\\)\\>")
+		     '(1 'org-done t) '(2 'org-headline-done t))
+	     (list (concat "^[*]+ +\\<\\(" org-done-string "\\)\\>")
+		   '(1 'org-done t)))
+	   '("^[ \t]*\\(\\(|\\|\\+-[-+]\\).*\\S-\\)"
+	     (1 'org-table t))
+	   '("^[ \t]*\\(:.*\\)" (1 'org-table t))
+	   '("| *\\(:?=[^|\n]*\\)" (1 'org-formula t))
+	   '("^[ \t]*| *\\([#!$*_^]\\) *|" (1 'org-formula t))
+	   )))
+    (setq org-font-lock-extra-keywords (delq nil org-font-lock-extra-keywords))
     ;; Now set the full font-lock-keywords
     (set (make-local-variable 'org-font-lock-keywords)
 	 org-font-lock-extra-keywords)
@@ -6960,7 +6980,7 @@
 	(s0 (mapconcat 'identity (org-split-string s "[ \t\r\n]+") " "))
 	(pos (point))
 	(pre "") (post "")
-	words re0 re1 re2 re3 re4 re5 reall camel)
+	words re0 re1 re2 re3 re4 re5 re2a reall camel)
     (cond ((save-excursion
 	     (goto-char (point-min))
 	     (and
@@ -6995,11 +7015,13 @@
 		   (org-split-string s "[ \n\r\t]+"))
 		 re0 (concat "<<" (regexp-quote s0) ">>")
 		 re2 (concat "\\<" (mapconcat 'downcase words "[ \t]+") "\\>")
+		 re2a (concat "\\<" (mapconcat 'downcase words "[ \t\r\n]+") "\\>")
 		 re4 (concat "\\<" (mapconcat 'downcase words "[^a-zA-Z_\r\n]+") "\\>")
 		 re1 (concat pre re2 post)
 		 re3 (concat pre re4 post)
 		 re5 (concat pre ".*" re4)
 		 re2 (concat pre re2)
+		 re2a (concat pre re2a)
 		 re4 (concat pre re4)
 		 reall (concat "\\(" re0 "\\)\\|\\(" re1 "\\)\\|\\(" re2
 			       "\\)\\|\\(" re3 "\\)\\|\\(" re4 "\\)\\|\\("
@@ -7009,12 +7031,14 @@
 	    ((eq type 'org-occur) (org-occur reall))
 	    ((eq type 'occur) (org-do-occur (downcase reall) 'cleanup))
 	    (t (goto-char (point-min))
-	       (if (or (re-search-forward re0 nil t)
-		       (re-search-forward re1 nil t)
-		       (re-search-forward re2 nil t)
-		       (re-search-forward re3 nil t)
-		       (re-search-forward re4 nil t)
-		       (re-search-forward re5 nil t))
+	       (if (or (org-search-not-link re0 nil t)
+		       (org-search-not-link re1 nil t)
+		       (org-search-not-link re2 nil t)
+		       (org-search-not-link re2a nil t) ;; FIXME: Right place???
+		       (org-search-not-link re3 nil t)
+		       (org-search-not-link re4 nil t)
+		       (org-search-not-link re5 nil t)
+		       )
 		   (goto-char (match-beginning 0))
 		 (goto-char pos)
 		 (error "No match")))))
@@ -7026,6 +7050,21 @@
 	     (error "No match"))))
     (and (eq major-mode 'org-mode) (org-show-hierarchy-above))))
 
+(defun org-search-not-link (&rest args)
+  "Execute `re-search-forward', but only accept matches that are not a link."
+  (catch 'exit
+    (let ((pos (point)) p1)
+      (while (apply 're-search-forward args)
+	(setq p1 (point))
+	(if (not (save-match-data
+		   (and (re-search-backward "\\[\\[" nil t)
+			(looking-at org-bracket-link-regexp)
+			(<= (match-beginning 0) p1)
+			(>= (match-end 0) p1))))
+	    (progn (goto-char (match-end 0))
+		   (throw 'exit (point)))
+	  (goto-char (match-end 0)))))))
+
 (defun org-do-occur (regexp &optional cleanup)
   "Call the Emacs command `occur'.
 If CLEANUP is non-nil, remove the printout of the regular expression
@@ -7284,24 +7323,32 @@
     header-field)))
 
 (defun org-follow-mhe-link (folder article)
-  "Follow an MHE link to FOLDER and ARTICLE."
-  (setq article (org-add-angle-brackets article))
+  "Follow an MHE link to FOLDER and ARTICLE.
+If ARTICLE is nil FOLDER is shown.  If the configuration variable
+`org-mhe-search-all-folders' is t and `mh-searcher' is pick,
+ARTICLE is searched in all folders.  Indexed searches (swish++,
+namazu, and others supported by MH-E) will always search in all
+folders."
   (require 'mh-e)
   (require 'mh-search)
+  (require 'mh-utils)
   (mh-find-path)
-  (mh-search-choose)
-  (if (equal mh-searcher 'pick)
-      (progn
-        (mh-search folder (list "--message-id" article))
-        (when (and org-mhe-search-all-folders
-                 (not (org-mhe-get-message-real-folder)))
-          (kill-this-buffer)
-          (mh-search "+" (list "--message-id" article))))
-    (mh-search "+" article))
-  (if (org-mhe-get-message-real-folder)
-      (mh-show-msg 1)
-    (kill-this-buffer)
-    (error "Message not found")))
+  (if (not article)
+      (mh-visit-folder (mh-normalize-folder-name folder))
+    (setq article (org-add-angle-brackets article))
+    (mh-search-choose)
+    (if (equal mh-searcher 'pick)
+        (progn
+          (mh-search folder (list "--message-id" article))
+          (when (and org-mhe-search-all-folders
+                     (not (org-mhe-get-message-real-folder)))
+            (kill-this-buffer)
+            (mh-search "+" (list "--message-id" article))))
+      (mh-search "+" article))
+    (if (org-mhe-get-message-real-folder)
+        (mh-show-msg 1)
+      (kill-this-buffer)
+      (error "Message not found"))))
 
 (defun org-open-file (path &optional in-emacs line search)
   "Open the file at PATH.
@@ -10563,7 +10610,7 @@
 This will leave level 1 alone, convert level 2 to level 3, level 3 to
 level 5 etc."
   (interactive)
-  (when (yes-or-no-p "Are you sure you want to globally change levels? ")
+  (when (yes-or-no-p "Are you sure you want to globally change levels to odd? ")
     (let ((org-odd-levels-only nil) n)
       (save-excursion
 	(goto-char (point-min))
@@ -10573,6 +10620,28 @@
 	    (org-demote))
 	  (end-of-line 1))))))
 
+
+(defun org-convert-to-oddeven-levels ()
+  "Convert an org-mode file with only odd levels to one with odd and even levels.
+This promotes level 3 to level 2, level 5 to level 3 etc.  If the file contains a
+section with an even level, conversion would destroy the structure of the file.  An error
+is signaled in this case."
+  (interactive)
+  (goto-char (point-min))
+  ;; First check if there are no even levels
+  (when (re-search-forward "^\\(\\*\\*\\)+[^*]" nil t)
+    (org-show-hierarchy-above)
+    (error "Not all levels are odd in this file.  Conversion not possible."))
+  (when (yes-or-no-p "Are you sure you want to globally change levels to odd-even? ")
+    (let ((org-odd-levels-only nil) n)
+      (save-excursion
+	(goto-char (point-min))
+	(while (re-search-forward "^\\*\\*+" nil t)
+	  (setq n (/ (length (match-string 0)) 2))
+	  (while (>= (setq n (1- n)) 0)
+	    (org-promote))
+	  (end-of-line 1))))))
+
 (defun org-tr-level (n)
   "Make N odd if required."
   (if org-odd-levels-only (1+ (/ n 2)) n))
@@ -10817,7 +10886,7 @@
 #+CATEGORY:  %s
 #+SEQ_TODO:  %s
 #+TYP_TODO:  %s
-#+STARTUP:   %s %s
+#+STARTUP:   %s %s %s %s
 #+ARCHIVE:   %s
 "
    (buffer-name) (user-full-name) user-mail-address org-export-default-language
@@ -10841,6 +10910,8 @@
    (cdr (assoc org-startup-folded
 	       '((nil . "nofold")(t . "fold")(content . "content"))))
    (if org-startup-with-deadline-check "dlcheck" "nodlcheck")
+   (if org-odd-levels-only "odd" "oddeven")
+   (if org-hide-leading-stars "hidestars" "showstars")
    org-archive-location
    ))
 
@@ -10924,6 +10995,7 @@
   (setq-default org-deadline-line-regexp org-deadline-line-regexp)
   (setq-default org-done-string org-done-string)
   (let* ((style org-export-html-style)
+	 (odd org-odd-levels-only)
 	 (region-p (org-region-active-p))
          (region
           (buffer-substring
@@ -10987,7 +11059,8 @@
       (switch-to-buffer-other-window buffer))
     (erase-buffer)
     (fundamental-mode)
-    (let ((case-fold-search nil))
+    (let ((case-fold-search nil)
+	  (org-odd-levels-only odd))
       (if options (org-parse-export-options options))
       (setq umax (if arg (prefix-numeric-value arg)
                    org-export-headline-levels))
@@ -12372,7 +12445,8 @@
      "--"
      ["Archive Subtree" org-archive-subtree t]
      "--"
-     ["Convert file to odd levels" org-convert-to-odd-levels t])
+     ["Convert to odd levels" org-convert-to-odd-levels t]
+     ["Convert to odd/even levels" org-convert-to-oddeven-levels t])
     "--"
     ("TODO Lists"
      ["TODO/DONE/-" org-todo t]
@@ -12851,3 +12925,4 @@
 
 ;; arch-tag: e77da1a7-acc7-4336-b19e-efa25af3f9fd
 ;;; org.el ends here
+
--- a/lisp/tree-widget.el	Fri Mar 10 23:46:54 2006 +0000
+++ b/lisp/tree-widget.el	Mon Mar 13 12:19:58 2006 +0000
@@ -154,8 +154,9 @@
 (defcustom tree-widget-themes-directory "tree-widget"
   "*Name of the directory where to look up for image themes.
 When nil use the directory where the tree-widget library is located.
-When a relative name is specified, try to locate that sub directory in
-the locations specified in `tree-widget-themes-load-path'.
+When a relative name is specified, search in all occurrences of that
+sub directory found in the locations specified in
+`tree-widget-themes-load-path'.
 The default is to use the \"tree-widget\" relative name."
   :type '(choice (const :tag "Default" "tree-widget")
                  (const :tag "With the library" nil)
@@ -164,9 +165,9 @@
 
 (defcustom tree-widget-theme nil
   "*Name of the theme where to look up for images.
-It must be a sub directory of the directory specified in variable
+It must be a sub directory in the directories specified in variable
 `tree-widget-themes-directory'.  The default theme is \"default\".
-When an image is not found in a theme, it is searched in the default
+When an image is not found in a theme, it is searched in the parent
 theme.
 
 A complete theme must at least contain images with these file names
@@ -275,10 +276,15 @@
   (unless (member name (aref tree-widget--theme 0))
     (aset tree-widget--theme 0
           (append (aref tree-widget--theme 0) (list name)))
-    ;; Load the theme setup
-    (let ((default-directory (tree-widget-themes-directory)))
-      (when default-directory
-        (load (expand-file-name "tree-widget-theme-setup" name) t)))))
+    ;; Load the theme setup from the first directory where the theme
+    ;; is found.
+    (catch 'found
+      (dolist (dir (tree-widget-themes-path))
+        (setq dir (expand-file-name name dir))
+        (when (file-accessible-directory-p dir)
+          (throw 'found
+                 (load (expand-file-name
+                        "tree-widget-theme-setup" dir) t)))))))
 
 (defun tree-widget-set-theme (&optional name)
   "In the current buffer, set the theme to use for images.
@@ -304,54 +310,62 @@
       (tree-widget-set-parent-theme name)
       (tree-widget-set-parent-theme "default")))
 
-(defun tree-widget--locate-sub-directory (name path)
-  "Locate the sub-directory NAME in PATH.
-Return the absolute name of the directory found, or nil if not found."
-  (let (dir elt)
-    (while (and (not dir) (consp path))
-      (setq elt  (condition-case nil (eval (car path)) (error nil))
-            path (cdr path))
-      (cond
-       ((stringp elt)
-        (setq dir (expand-file-name name elt))
-        (or (file-accessible-directory-p dir)
-            (setq dir nil)))
-       ((and elt (not (equal elt (car path))))
-        (setq dir (tree-widget--locate-sub-directory name elt)))))
-    dir))
+(defun tree-widget--locate-sub-directory (name path &optional found)
+  "Locate all occurrences of the sub-directory NAME in PATH.
+Return a list of absolute directory names in reverse order, or nil if
+not found."
+  (condition-case err
+      (dolist (elt path)
+        (setq elt (eval elt))
+        (cond
+         ((stringp elt)
+          (and (file-accessible-directory-p
+                (setq elt (expand-file-name name elt)))
+               (push elt found)))
+         (elt
+          (setq found (tree-widget--locate-sub-directory
+                       name (if (atom elt) (list elt) elt) found)))))
+    (error
+     (message "In tree-widget--locate-sub-directory: %s"
+              (error-message-string err))))
+  found)
 
-(defun tree-widget-themes-directory ()
-  "Locate the directory where to search for a theme.
-It is defined in variable `tree-widget-themes-directory'.
-Return the absolute name of the directory found, or nil if the
-specified directory is not accessible."
-  (let ((found (aref tree-widget--theme 1)))
+(defun tree-widget-themes-path ()
+  "Return the path where to search for a theme.
+It is specified in variable `tree-widget-themes-directory'.
+Return a list of absolute directory names, or nil when no directory
+has been found accessible."
+  (let ((path (aref tree-widget--theme 1)))
     (cond
-     ;; The directory was not found.
-     ((eq found 'void)
-      (setq found nil))
-     ;; The directory is available in the cache.
-     (found)
+     ;; No directory was found.
+     ((eq path 'void) nil)
+     ;; The list of directories is available in the cache.
+     (path)
      ;; Use the directory where this library is located.
      ((null tree-widget-themes-directory)
-      (setq found (locate-library "tree-widget"))
-      (when found
-        (setq found (file-name-directory found))
-        (or (file-accessible-directory-p found)
-            (setq found nil))))
+      (when (setq path (locate-library "tree-widget"))
+        (setq path (file-name-directory path))
+        (setq path (and (file-accessible-directory-p path)
+                        (list path)))
+        ;; Store the result in the cache for later use.
+        (aset tree-widget--theme 1 (or path 'void))
+        path))
      ;; Check accessibility of absolute directory name.
      ((file-name-absolute-p tree-widget-themes-directory)
-      (setq found (expand-file-name tree-widget-themes-directory))
-      (or (file-accessible-directory-p found)
-          (setq found nil)))
+      (setq path (expand-file-name tree-widget-themes-directory))
+      (setq path (and (file-accessible-directory-p path)
+                      (list path)))
+      ;; Store the result in the cache for later use.
+      (aset tree-widget--theme 1 (or path 'void))
+      path)
      ;; Locate a sub-directory in `tree-widget-themes-load-path'.
      (t
-      (setq found (tree-widget--locate-sub-directory
-                   tree-widget-themes-directory
-                   tree-widget-themes-load-path))))
-    ;; Store the result in the cache for later use.
-    (aset tree-widget--theme 1 (or found 'void))
-    found))
+      (setq path (nreverse (tree-widget--locate-sub-directory
+                            tree-widget-themes-directory
+                            tree-widget-themes-load-path)))
+      ;; Store the result in the cache for later use.
+      (aset tree-widget--theme 1 (or path 'void))
+      path))))
 
 (defconst tree-widget--cursors
   ;; Pointer shapes when the mouse pointer is over inactive
@@ -391,20 +405,19 @@
 function `tree-widget-set-parent-theme').
 Return the first image found having a supported format, or nil if not
 found."
-  (let ((default-directory (tree-widget-themes-directory)) file)
-    (when default-directory
-      (catch 'found
-        (dolist (dir (aref tree-widget--theme 0))
-          (dolist (fmt (tree-widget-image-formats))
-            (dolist (ext (cdr fmt))
-              (setq file (expand-file-name (concat name ext) dir))
-              (and (file-readable-p file)
-                   (file-regular-p file)
-                   (throw 'found
-                          (tree-widget-create-image
-                           (car fmt) file
-                           (tree-widget-image-properties name)))))))
-        nil))))
+  (catch 'found
+    (dolist (default-directory (tree-widget-themes-path))
+      (dolist (dir (aref tree-widget--theme 0))
+        (dolist (fmt (tree-widget-image-formats))
+          (dolist (ext (cdr fmt))
+            (setq file (expand-file-name (concat name ext) dir))
+            (and (file-readable-p file)
+                 (file-regular-p file)
+                 (throw 'found
+                        (tree-widget-create-image
+                         (car fmt) file
+                         (tree-widget-image-properties name))))))))
+    nil))
 
 (defun tree-widget-find-image (name)
   "Find the image with NAME in current theme.
--- a/lispref/ChangeLog	Fri Mar 10 23:46:54 2006 +0000
+++ b/lispref/ChangeLog	Mon Mar 13 12:19:58 2006 +0000
@@ -1,3 +1,16 @@
+2006-03-11  Bill Wohler  <wohler@newt.com>
+
+	* display.texi (Defining Images): Add image-load-path-for-library.
+
+2006-03-11  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* text.texi (Adaptive Fill): Fix Texinfo usage.
+
+	* strings.texi (Creating Strings): Fix Texinfo usage.
+
+	* searching.texi (Regexp Special): Use @samp for regular
+	expressions that are not in Lisp syntax.
+
 2006-03-08  Luc Teirlinck  <teirllm@auburn.edu>
 
 	* searching.texi (Regexp Special): Put remark between parentheses
--- a/lispref/display.texi	Fri Mar 10 23:46:54 2006 +0000
+++ b/lispref/display.texi	Mon Mar 13 12:19:58 2006 +0000
@@ -4125,6 +4125,36 @@
 @end example
 @end defvar
 
+@defun image-load-path-for-library library image &optional path no-error
+@tindex image-load-path-for-library
+Return a suitable search path for images relative to @var{library}.
+
+Images for @var{library} are searched for in @file{../../etc/images}
+and @file{../etc/images} relative to the files in
+@file{lisp/@var{library}} as well as in @code{image-load-path} and
+@var{load-path}.
+
+This function returns the value of @code{load-path} augmented with the
+directory containing @var{image}. If @var{path} is given, it is used
+instead of @code{load-path}. If @code{path} is @code{t}, just return
+the directory that contains @var{image}.
+
+If @var{no-error} is non-nil, this function returns @code{nil} if a
+suitable path can't be found rather than signaling an error.
+
+Here is an example that uses a common idiom to provide compatibility
+with versions of Emacs that lack the variable @code{image-load-path}:
+
+@example
+(let ((load-path
+       (image-load-path-for-library "mh-e" "mh-logo.xpm"))
+      (image-load-path
+       (image-load-path-for-library "mh-e" "mh-logo.xpm"
+                                    'image-load-path)))
+  (mh-tool-bar-folder-buttons-init))
+@end example
+@end defun
+
 @node Showing Images
 @subsection Showing Images
 
--- a/lispref/searching.texi	Fri Mar 10 23:46:54 2006 +0000
+++ b/lispref/searching.texi	Mon Mar 13 12:19:58 2006 +0000
@@ -476,7 +476,7 @@
 should not quote these characters when they have no special meaning
 either.  This would not clarify anything, since backslashes can
 legitimately precede these characters where they @emph{have} special
-meaning, as in @code{[^\]} (@code{"[^\\]"} for Lisp string syntax),
+meaning, as in @samp{[^\]} (@code{"[^\\]"} for Lisp string syntax),
 which matches any single character except a backslash.
 
 In practice, most @samp{]} that occur in regular expressions close a
@@ -485,8 +485,8 @@
 @samp{[} and @samp{]}.  In such situations, it sometimes may be
 necessary to carefully parse the regexp from the start to determine
 which square brackets enclose a character alternative.  For example,
-@code{[^][]]} consists of the complemented character alternative
-@code{[^][]} (which matches any single character that is not a square
+@samp{[^][]]} consists of the complemented character alternative
+@samp{[^][]} (which matches any single character that is not a square
 bracket), followed by a literal @samp{]}.
 
 The exact rules are that at the beginning of a regexp, @samp{[} is
--- a/lispref/strings.texi	Fri Mar 10 23:46:54 2006 +0000
+++ b/lispref/strings.texi	Mon Mar 13 12:19:58 2006 +0000
@@ -293,7 +293,7 @@
      @result{} ("two" "words")
 @end example
 
-The result is not @samp{("" "two" "words" "")}, which would rarely be
+The result is not @code{("" "two" "words" "")}, which would rarely be
 useful.  If you need such a result, use an explicit value for
 @var{separators}:
 
@@ -355,7 +355,7 @@
 
 @defvar split-string-default-separators
 The default value of @var{separators} for @code{split-string}.  Its
-usual value is @w{@samp{"[ \f\t\n\r\v]+"}}.
+usual value is @w{@code{"[ \f\t\n\r\v]+"}}.
 @end defvar
 
 @node Modifying Strings
--- a/lispref/text.texi	Fri Mar 10 23:46:54 2006 +0000
+++ b/lispref/text.texi	Mon Mar 13 12:19:58 2006 +0000
@@ -1716,7 +1716,7 @@
 starting after the left margin whitespace (if any) on a line; the
 characters it matches are that line's candidate for the fill prefix.
 
-@w{@samp{"[ \t]*\\([-|#;>*]+[ \t]*\\|(?[0-9]+[.)][ \t]*\\)*"}} is the
+@w{@code{"[ \t]*\\([-|#;>*]+[ \t]*\\|(?[0-9]+[.)][ \t]*\\)*"}} is the
 default value.  This matches a number enclosed in parentheses or
 followed by a period, or certain punctuation characters, or any
 sequence of these intermingled with whitespace.  In particular, it
@@ -1731,7 +1731,7 @@
 replaces the candidate with a string of spaces ``of the same width''
 as it.
 
-The default value of this variable is @w{@samp{"\\`[ \t]*\\'"}}, which
+The default value of this variable is @w{@code{"\\`[ \t]*\\'"}}, which
 matches only a string of whitespace.  The effect of this default is to
 force the fill prefixes found in one-line paragraphs always to be pure
 whitespace.
--- a/man/ChangeLog	Fri Mar 10 23:46:54 2006 +0000
+++ b/man/ChangeLog	Mon Mar 13 12:19:58 2006 +0000
@@ -1,3 +1,25 @@
+2006-03-13  Carsten Dominik  <dominik@science.uva.nl>
+
+	* org.texi (Clean view): Document new startup options.
+
+2006-03-11  Bill Wohler  <wohler@newt.com>
+
+	* mh-e.texi (Preface, More About MH-E, Options, HTML, Folders)
+	(Composing, Scan Line Formats): Fix @refs.
+	(Getting Started): Define MH profile and MH profile components.
+	(Incorporating Mail, Reading Mail, Viewing, Printing)
+	(Sending Mail, Forwarding, Editing Drafts, Inserting Letter)
+	(Signature, Aliases, Scan Line Formats): Use @code instead of @samp
+	for string constants.
+	(Tool Bar): Remove spurious quote.
+	(Junk): Use ``...'' instead of "...".
+	(Scan Line Formats): Replace @samp with @kbd.
+
+2006-03-11  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* search.texi (Regexps): Use @samp for regexp that is not in Lisp
+	syntax.
+
 2006-03-10  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* gnus.texi (NoCeM): Mention gnus-use-nocem can also be a number.
@@ -85,7 +107,7 @@
 	(Electric Keys): Add a justification for electric indentation.
 	(Hungry WS Deletion): Clear up the names and complications of the
 	BACKSPACE and DELETE keys.
-	
+
 2006-02-23  Juri Linkov  <juri@jurta.org>
 
 	* faq.texi (Common requests): Move `Turning on auto-fill by
@@ -130,7 +152,7 @@
 	* emacs.texi: Use @smallbook.
 	(Top): Update ref to Emacs paper, delete ref to Cookbook.
 	Update subnode menu.
-	
+
 	* building.texi (Lisp Interaction): Minor addition.
 
 2006-02-18  Nick Roberts  <nickrob@snap.net.nz>
--- a/man/calendar.texi	Fri Mar 10 23:46:54 2006 +0000
+++ b/man/calendar.texi	Mon Mar 13 12:19:58 2006 +0000
@@ -24,7 +24,7 @@
 calendar features that are independent of any particular date.  To exit
 the calendar, type @kbd{q}.
 
-The basic features of the Calendar/Diary are described here.
+  This chapter describes the basic calendar features.
 @inforef{Advanced Calendar/Diary Usage,, emacs-xtra}, for information
 about more specialized features.
 
@@ -49,13 +49,13 @@
 @section Movement in the Calendar
 
 @cindex moving inside the calendar
-  Calendar mode lets you move through the calendar in logical units of
-time such as days, weeks, months, and years.  If you move outside the
-three months originally displayed, the calendar display ``scrolls''
-automatically through time to make the selected date visible.  Moving to
-a date lets you view its holidays or diary entries, or convert it to other
-calendars; moving longer time periods is also useful simply to scroll the
-calendar.
+  Calendar mode provides commands to move through the calendar in
+logical units of time such as days, weeks, months, and years.  If you
+move outside the three months originally displayed, the calendar
+display ``scrolls'' automatically through time to make the selected
+date visible.  Moving to a date lets you view its holidays or diary
+entries, or convert it to other calendars; moving by long time periods
+is also useful simply to scroll the calendar.
 
 @menu
 * Calendar Unit Motion::      Moving by days, weeks, months, and years.
@@ -117,16 +117,16 @@
 @findex calendar-forward-year
   The commands for motion by months and years work like those for
 weeks, but move a larger distance.  The month commands @kbd{M-@}} and
-@kbd{M-@{} move forward or backward by an entire month's time.  The
-year commands @kbd{C-x ]} and @w{@kbd{C-x [}} move forward or backward a
+@kbd{M-@{} move forward or backward by an entire month.  The year
+commands @kbd{C-x ]} and @w{@kbd{C-x [}} move forward or backward a
 whole year.
 
   The easiest way to remember these commands is to consider months and
-years analogous to paragraphs and pages of text, respectively.  But the
-commands themselves are not quite analogous.  The ordinary Emacs paragraph
-commands move to the beginning or end of a paragraph, whereas these month
-and year commands move by an entire month or an entire year, which usually
-involves skipping across the end of a month or year.
+years analogous to paragraphs and pages of text, respectively.  But
+the commands themselves are not quite analogous.  The ordinary Emacs
+paragraph commands move to the beginning or end of a paragraph,
+whereas these month and year commands move by an entire month or an
+entire year, keeping the same date within the month or year.
 
   All these commands accept a numeric argument as a repeat count.
 For convenience, the digit keys and the minus sign specify numeric
@@ -313,8 +313,8 @@
   To display the number of days elapsed since the start of the year, or
 the number of days remaining in the year, type the @kbd{p d} command
 (@code{calendar-print-day-of-year}).  This displays both of those
-numbers in the echo area.  The number of days elapsed includes the
-selected date.  The number of days remaining does not include that
+numbers in the echo area.  The count of days elapsed includes the
+selected date.  The count of days remaining does not include that
 date.
 
 @kindex C-c C-l @r{(Calendar mode)}
@@ -432,8 +432,7 @@
 click on that date with @kbd{Mouse-2} and then choose @kbd{Holidays}
 from the menu that appears.  Either way, this displays the holidays for
 that date, in the echo area if they fit there, otherwise in a separate
-window.  If the variable @code{view-calendar-holidays-initially} is
-non-@code{nil}, creating the calendar displays holidays in this way.
+window.
 
 @kindex x @r{(Calendar mode)}
 @findex mark-calendar-holidays
@@ -462,9 +461,11 @@
 @findex holidays
   The command @kbd{M-x holidays} displays the list of holidays for the
 current month and the preceding and succeeding months; this works even
-if you don't have a calendar window.  If you want the list of holidays
-centered around a different month, use @kbd{C-u M-x holidays}, which
-prompts for the month and year.
+if you don't have a calendar window.  If the variable
+@code{view-calendar-holidays-initially} is non-@code{nil}, creating
+the calendar displays holidays in this way.  If you want the list of
+holidays centered around a different month, use @kbd{C-u M-x
+holidays}, which prompts for the month and year.
 
   The holidays known to Emacs include United States holidays and the
 major Christian, Jewish, and Islamic holidays; also the solstices and
@@ -1017,7 +1018,7 @@
 @kbd{Mouse-2} on the date, and then choose @kbd{Diary entries} from
 the menu that appears.  If the variable
 @code{view-diary-entries-initially} is non-@code{nil}, creating the
-calendar also lists diary entries for the current date (provided the
+calendar lists the diary entries for the current date (provided the
 current date is visible).
 
 @kindex m @r{(Calendar mode)}
@@ -1371,10 +1372,10 @@
 minutes beforehand that that appointment is pending.  Emacs alerts you
 to the appointment by displaying a message in your chosen format, as
 specified by the variable @code{appt-display-format}.  If the value of
-@code{appt-audible} is non-@code{nil}, an audible reminder is also
-given.  In addition, if @code{appt-display-mode-line} is non-@code{nil},
-Emacs displays the number of minutes to the appointment on the mode
-line.
+@code{appt-audible} is non-@code{nil}, the warning includes an audible
+reminder.  In addition, if @code{appt-display-mode-line} is
+non-@code{nil}, Emacs displays the number of minutes to the
+appointment on the mode line.
 
 @vindex appt-display-duration
 @vindex appt-disp-window-function
@@ -1387,12 +1388,12 @@
 respectively.
 
 @findex appt-activate
-  To enable appointment notification, call the function
-@code{appt-activate} with a positive argument.  This sets up an
-appointment list for today from the diary file, giving all diary entries
-found with recognizable times of day, and reminds you just before each
-of them. Calling @code{appt-activate} with a negative argument disables
-the appointment package.  With no argument, it toggles.
+  To enable appointment notification, use the command @kbd{M-x
+appt-activate}.  With a positive argument, it enables notification;
+with a negative argument, it disables notification; with no argument,
+it toggles.  Enabling notification also sets up an appointment list
+for today from the diary file, giving all diary entries found with
+recognizable times of day, and reminds you just before each of them.
 
   For example, suppose the diary file contains these lines:
 
@@ -1404,10 +1405,10 @@
 
 @vindex appt-message-warning-time
 @noindent
-Then on Mondays, you will be reminded at around 9:20am about your coffee
-break and at around 11:50am about lunch.  How many minutes in advance you
-are first warned is determined by the value of
-@code{appt-message-warning-time}.
+Then on Mondays, you will be reminded at around 9:20am about your
+coffee break and at around 11:50am about lunch.  The variable
+@code{appt-message-warning-time} specifies how many minutes in advance
+to warn you; its default value is 12 (12 minutes).
 
   You can write times in am/pm style (with @samp{12:00am} standing
 for midnight and @samp{12:00pm} standing for noon), or 24-hour
@@ -1416,12 +1417,12 @@
 of lines if they are to be recognized.
 
 @vindex appt-display-diary
-  Emacs updates the appointments list from the diary file automatically
-just after midnight.  An update can be forced at any time by
-re-activating the appointment package.  Both these actions also display
-the day's diary buffer, unless you set @code{appt-display-diary} to
-@code{nil}.  The appointments list is also updated whenever the
-diary file is saved.
+  Emacs updates the appointments list from the diary file
+automatically just after midnight.  You can force an update at any
+time by re-enabling appointment notification.  Both these actions also
+display the day's diary buffer, unless you set
+@code{appt-display-diary} to @code{nil}.  The appointments list is
+also updated whenever the diary file is saved.
 
 @findex appt-add
 @findex appt-delete
@@ -1450,11 +1451,11 @@
 2445---Internet Calendaring and Scheduling Core Object Specification
 (iCalendar)'' (as well as the earlier vCalendar format).
 
-  Importing works for ``ordinary'' (i.e. non-recurring) events, but (at
-present) may not work correctly (if at all) for recurring events.
-Exporting of diary files into iCalendar files should work correctly for
-most diary entries.  Please note that @file{icalendar.el} is work in
-progress, so usage may evolve in future.
+  Importing works for ``ordinary'' (i.e. non-recurring) events, but
+(at present) may not work correctly (if at all) for recurring events.
+Exporting of diary files into iCalendar files should work correctly
+for most diary entries.  This feature is a work in progress, so the
+commands may evolve in future.
 
 @findex icalendar-import-buffer
   The command @code{icalendar-import-buffer} extracts
@@ -1476,7 +1477,7 @@
 
 @noindent
 You can use an @code{#include} directive to add the import file contents
-to the main diary file, if these are distinct.  @inforef{Fancy Diary
+to the main diary file, if these are different files.  @inforef{Fancy Diary
 Display,, emacs-xtra}.
 
 @findex icalendar-export-file, icalendar-export-region
@@ -1485,7 +1486,6 @@
 file, mark the relevant area, and call @code{icalendar-export-region}.
 In both cases the result is appended to the target file.
 
-
 @node Daylight Savings
 @section Daylight Savings Time
 @cindex daylight savings time
@@ -1560,7 +1560,8 @@
 @cindex timeclock
 
   The timeclock feature adds up time intervals, so you can (for
-instance) keep track of how much time you spend working.
+instance) keep track of how much time you spend working on particular
+projects.
 
 @findex timeclock-in
 @findex timeclock-out
@@ -1586,11 +1587,11 @@
 @code{t}, or invoke the @kbd{M-x timeclock-modeline-display} command.
 
 @vindex timeclock-ask-before-exiting
-  Terminating the current Emacs session might or might not mean that you
-have stopped working on the project and, by default, Emacs queries this.
-You can, however, set the value of the variable
+  Terminating the current Emacs session might or might not mean that
+you have stopped working on the project and, by default, Emacs asks
+you.  You can, however, set the value of the variable
 @code{timeclock-ask-before-exiting} to @code{nil} (via @kbd{M-x
-customize}) to avoid this behavior; then, only an explicit @kbd{M-x
+customize}) to avoid the question; then, only an explicit @kbd{M-x
 timeclock-out} or @kbd{M-x timeclock-change} will tell Emacs that the
 current interval is over.
 
--- a/man/mh-e.texi	Fri Mar 10 23:46:54 2006 +0000
+++ b/man/mh-e.texi	Mon Mar 13 12:19:58 2006 +0000
@@ -8,11 +8,11 @@
 @c %**end of header
 
 @c Version of the software and manual.
-@set VERSION 7.93
+@set VERSION 7.93+cvs
 @c EDITION of the manual. It is either empty for the first edition or
 @c has the form ", nth Edition" (without the quotes).
 @set EDITION
-@set UPDATED 2006-03-05
+@set UPDATED 2006-03-11
 @set UPDATE-MONTH March, 2006
 
 @c Other variables.
@@ -218,8 +218,8 @@
 21.5.9-21.5.16). It is compatible with MH versions 6.8.4 and higher,
 all versions of nmh, and GNU mailutils 0.4 and higher.}, so you
 shouldn't have to do anything special to use it. This manual covers
-MH-E version @value{VERSION}. @ref{Getting Started} will help you
-decide which version you have.
+MH-E version @value{VERSION}. To help you decide which version you
+have, see @ref{Getting Started}.
 
 If you don't already use GNU Emacs but want to learn more, you can
 read an online tutorial by starting GNU Emacs and typing @kbd{C-h t}
@@ -554,6 +554,17 @@
 If you don't, you'll be greeted with the error message: @samp{Install
 MH and run install-mh before running MH-E}.
 
+@cindex @samp{Path:} MH profile component
+@cindex MH profile
+@cindex MH profile component
+@cindex MH profile component, @samp{Path:}
+
+Your MH environment includes your @dfn{MH profile} which is found in
+the file @file{~/.mh_profile}. This file contains a number of @dfn{MH
+profile components}. For example, the @samp{Path:} MH profile
+component contains the path to your mail directory, which is
+@file{~/Mail} by default.
+
 @cindex @samp{Draft-Folder:} MH profile component
 @cindex @samp{Path:} MH profile component
 @cindex @samp{Previous-Sequence:} MH profile component
@@ -886,57 +897,58 @@
 
 @itemize @bullet
 @item
-Print your messages (@ref{Printing}).
+Print your messages (@pxref{Printing}).
 @c -------------------------
 @item
-Edit messages and include your signature (@ref{Editing Drafts}).
+Edit messages and include your signature (@pxref{Editing Drafts}).
 @c -------------------------
 @item
-Forward messages (@ref{Forwarding}).
+Forward messages (@pxref{Forwarding}).
 @c -------------------------
 @item
-Read digests (@ref{Digests}).
+Read digests (@pxref{Digests}).
 @c -------------------------
 @item
-Edit bounced messages (@ref{Editing Again}).
+Edit bounced messages (@pxref{Editing Again}).
 @c -------------------------
 @item
-Send multimedia messages (@ref{Adding Attachments}).
+Send multimedia messages (@pxref{Adding Attachments}).
 @c -------------------------
 @item
-Read HTML messages (@ref{HTML}).
+Read HTML messages (@pxref{HTML}).
 @c -------------------------
 @item
-Use @ref{Aliases} and @ref{Identities}.
+Use aliases and identities (see @ref{Aliases}, @pxref{Identities}).
 @c -------------------------
 @item
-Create different views of your mail (@ref{Threading} and @ref{Limits}).
+Create different views of your mail (see @ref{Threading}, @pxref{Limits}).
 @c -------------------------
 @item
-Deal with junk mail (@ref{Junk}).
+Deal with junk mail (@pxref{Junk}).
 @c -------------------------
 @item
-Handle signed and encrypted messages (@ref{Reading PGP} and
-@ref{Sending PGP}).
+Handle signed and encrypted messages (see @ref{Reading PGP},
+@pxref{Sending PGP}).
 @c -------------------------
 @item
 Process mail that was sent with @command{shar} or @command{uuencode}
-(@ref{Files and Pipes}).
+(@pxref{Files and Pipes}).
 @c -------------------------
 @item
-Use sequences conveniently (@ref{Sequences}).
+Use sequences conveniently (@pxref{Sequences}).
 @c -------------------------
 @item
-Use the @ref{Speedbar}, @ref{Tool Bar}, and @ref{Menu Bar}.
+Use the speedbar, tool bar, and menu bar (see @ref{Speedbar}, see @ref{Tool
+Bar}, @pxref{Menu Bar}).
 @c -------------------------
 @item
-Show header fields in different fonts (@ref{Reading Mail}).
+Show header fields in different fonts (@pxref{Reading Mail}).
 @c -------------------------
 @item
-Find previously refiled messages (@ref{Searching}).
+Find previously refiled messages (@pxref{Searching}).
 @c -------------------------
 @item
-Place messages in a file (@ref{Files and Pipes}).
+Place messages in a file (@pxref{Files and Pipes}).
 @end itemize
 
 Remember that you can also use MH commands when you're not running
@@ -1065,7 +1077,8 @@
 the string to the right of the variable. For example, you may change
 the @command{lpr} command with @samp{nenscript -G -r -2 -i'%s'}. Then
 use the @samp{State} combo box and select @samp{Save for Future
-Sessions}. @ref{Printing} talks more about this option.
+Sessions}. To read more about @code{mh-lpr-command-format}, see
+@ref{Printing}.
 
 @vindex mh-bury-show-buffer-flag, example
 
@@ -1084,9 +1097,9 @@
 
 The text usually says to turn on an option by setting it to a
 @emph{non-@code{nil}} value, because sometimes values other than
-@samp{on} are meaningful (for example, see @code{mh-mhl-format-file},
-described in @ref{Viewing}). Other options, such as hooks, involve a
-little more Emacs Lisp programming expertise.
+@samp{on} are meaningful. An example of this is the variable
+@code{mh-mhl-format-file} (@pxref{Viewing}). Other options, such as
+hooks, involve a little more Emacs Lisp programming expertise.
 
 @cindex @samp{mh} customization group
 @cindex customization group, @samp{mh}
@@ -1262,7 +1275,7 @@
 
 @vtable @code
 @item mh-inc-prog
-Program to incorporate mail (default: @samp{"inc"}).
+Program to incorporate mail (default: @code{"inc"}).
 @c -------------------------
 @item mh-inc-spool-list
 Alternate spool files (default: @code{nil}).
@@ -1306,7 +1319,7 @@
 @vindex mh-progs
 
 The name of the program that incorporates new mail is stored in
-@code{mh-inc-prog}; it is @samp{"inc"} by default. This program
+@code{mh-inc-prog}; it is @code{"inc"} by default. This program
 generates a one-line summary for each of the new messages. Unless it
 is an absolute pathname, the file is assumed to be in the
 @code{mh-progs} directory (@pxref{Getting Started}). You may also link
@@ -1714,7 +1727,7 @@
 @c -------------------------
 @item mh-fetch-x-image-url
 Control fetching of @samp{X-Image-URL:} header field image (default:
-@code{Never Fetch}).
+@samp{Never Fetch}).
 @c -------------------------
 @item mh-graphical-smileys-flag
 On means graphical smileys are displayed (default: @samp{on}).
@@ -1733,14 +1746,14 @@
 Additional header fields to hide (default: @code{nil}).
 @c -------------------------
 @item mh-lpr-command-format
-Command used to print (default: @samp{"lpr -J '%s'"}).
+Command used to print (default: @code{"lpr -J '%s'"}).
 @c -------------------------
 @item mh-max-inline-image-height
-Maximum inline image height if \"Content-Disposition:\" is not
+Maximum inline image height if @samp{Content-Disposition:} is not
 present (default: 0).
 @c -------------------------
 @item mh-max-inline-image-width
-Maximum inline image width if \"Content-Disposition:\" is not
+Maximum inline image width if @samp{Content-Disposition:} is not
 present(default: 0).
 @c -------------------------
 @item mh-mhl-format-file
@@ -1754,12 +1767,16 @@
 On means messages should be printed in the background (default:
 @samp{off}).
 @c -------------------------
+@item mh-show-buffer-mode-line-buffer-id
+Format string to produce @code{mode-line-buffer-identification} for
+show buffers (default: @code{"    @{show-%s@} %d"}).
+@c -------------------------
 @item mh-show-maximum-size
 Maximum size of message (in bytes) to display automatically (default:
 0).
 @c -------------------------
 @item mh-show-use-xface-flag
-On means display face images in MH-Show buffers (default: @code{on}).
+On means display face images in MH-Show buffers (default: @samp{on}).
 @c -------------------------
 @item mh-store-default-directory
 Default directory for @kbd{X s} (default: @samp{Current}).
@@ -2074,7 +2091,7 @@
 
 MH-E normally renders signatures and vCards in italics so that the
 body of the message stands out more. MH-E depends on the presence of
-the @dfn{signature separator} (@samp{"-- "}) to do this. You can also
+the @dfn{signature separator} (@code{"-- "}) to do this. You can also
 customize the face @code{mh-show-signature} so the appearance of the
 signature block is more to your liking.
 
@@ -2098,7 +2115,7 @@
 the MH-Show buffers. Place the two escape strings @samp{%s} and
 @samp{%d}, which will display the folder name and the message number,
 respectively, somewhere in the string in that order. The default value
-of @samp{"@{show-%s@} %d"} yields a mode line of
+of @code{"@{show-%s@} %d"} yields a mode line of
 
 @smallexample
 -----@{show-+inbox@} 4      (MH-Show)--Bot--------------------------------
@@ -2344,8 +2361,8 @@
 [1. text/html; foo.html]...
 @end example
 
-See @ref{Viewing Attachments} to see how to read the contents of this
-body part.
+To see how to read the contents of this body part, see @ref{Viewing
+Attachments}.
 
 The browser that MH-E uses is determined by the option
 @code{mm-text-html-renderer}. The default setting is set automatically
@@ -2685,7 +2702,7 @@
 performs the actual printing. The string can contain one escape,
 @samp{%s}, which is replaced by the name of the folder and the message
 number and is useful for print job names. The default setting is
-@samp{"lpr -J '%s'"}. I use @samp{"mpage -h'%s' -b Letter -H1of -mlrtb
+@code{"lpr -J '%s'"}. I use @code{"mpage -h'%s' -b Letter -H1of -mlrtb
 -P"} which produces a nice header and adds a bit of margin so the text
 fits within my printer's margins. Normally messages are printed in the
 foreground. If this is slow on your system, you may elect to turn on
@@ -3270,8 +3287,8 @@
 
 If you are refiling several messages into the same folder, you can use
 the command @kbd{!} (@code{mh-refile-or-write-again}) to repeat the
-last refile or write (see the description of @kbd{>}
-(@code{mh-write-msg-to-file} in @ref{Files and Pipes}). You can use a
+last refile or write (for the description of @kbd{>}
+(@code{mh-write-msg-to-file}), @pxref{Files and Pipes}). You can use a
 range in either case (for example, @kbd{C-u o 1 3 5-7 last:5 frombob
 @key{RET}}, @pxref{Ranges}).
 
@@ -3616,7 +3633,7 @@
 @samp{off}).
 @c -------------------------
 @item mh-forward-subject-format
-Format string for forwarded message subject (default: @samp{"%s:
+Format string for forwarded message subject (default: @code{"%s:
 %s"}).
 @c -------------------------
 @item mh-insert-x-mailer-flag
@@ -3692,17 +3709,16 @@
 
 From within a MH-Folder buffer, you can simply use the command @kbd{m}
 (@code{mh-send}). However you invoke @code{mh-send}, your letter
-appears in an Emacs buffer whose mode is MH-Letter (see the Figure in
-@ref{Sending Mail Tour} to see what the buffer looks like). MH-Letter
-mode allows you to edit your message, to check the validity of the
-recipients, to insert attachments and other messages into your
-message, and to send the message. We'll go more into depth about
-editing a @dfn{draft}@footnote{I highly recommend that you use a
-@dfn{draft folder} so that you can edit several drafts in parallel. To
-do so, create a folder named @samp{+drafts} for example, and add the
-profile component @samp{Draft-Folder: drafts} (see
-@code{mh-profile}(5)).} (a message you're composing) in just a moment
-(@pxref{Editing Drafts}).
+appears in an Emacs buffer whose mode is MH-Letter (to see what the
+buffer looks like, @pxref{Sending Mail Tour}). MH-Letter mode allows
+you to edit your message, to check the validity of the recipients, to
+insert attachments and other messages into your message, and to send
+the message. We'll go more into depth about editing a
+@dfn{draft}@footnote{I highly recommend that you use a @dfn{draft
+folder} so that you can edit several drafts in parallel. To do so,
+create a folder named @samp{+drafts} for example, and add the profile
+component @samp{Draft-Folder: drafts} (see @code{mh-profile}(5)).} (a
+message you're composing) in just a moment (@pxref{Editing Drafts}).
 
 @vindex mh-compose-prompt-flag
 
@@ -3912,7 +3928,7 @@
 option is a string which includes two escapes (@samp{%s}). The first
 @samp{%s} is replaced with the sender of the original message, and the
 second one is replaced with the original @samp{Subject:}. The default
-value of @samp{"%s: %s"} takes a message with the header:
+value of @code{"%s: %s"} takes a message with the header:
 
 @smallexample
 @group
@@ -4310,11 +4326,11 @@
 @c -------------------------
 @item mh-extract-from-attribution-verb
 Verb to use for attribution when a message is yanked by @kbd{C-c C-y}
-(default: @samp{"wrote:"}).
+(default: @code{"wrote:"}).
 @c -------------------------
 @item mh-ins-buf-prefix
 String to put before each line of a yanked or inserted message
-(default: @samp{"> "}).
+(default: @code{"> "}).
 @c -------------------------
 @item mh-letter-complete-function
 Function to call when completing outside of address or folder fields
@@ -4328,7 +4344,7 @@
 support for it is available; otherwise @samp{None}).
 @c -------------------------
 @item mh-signature-file-name
-Source of user's signature (default: @samp{"~/.signature"}).
+Source of user's signature (default: @code{"~/.signature"}).
 @c -------------------------
 @item mh-signature-separator-flag
 On means a signature separator should be inserted (default:
@@ -4336,7 +4352,7 @@
 @c -------------------------
 @item mh-x-face-file
 File containing X-Face or Face header field to insert in outgoing mail.
-(default: @samp{"~/.face"}).
+(default: @code{"~/.face"}).
 @c -------------------------
 @item mh-yank-behavior
 Controls which part of a message is yanked by @kbd{C-c C-y} (default:
@@ -4594,7 +4610,7 @@
 
 @vindex mh-ins-buf-prefix
 
-The prefix @samp{"> "} is the default setting for the option
+The prefix @code{"> "} is the default setting for the option
 @code{mh-ins-buf-prefix}. I suggest that you not modify this option
 since it is used by many mailers and news readers: messages are far
 easier to read if several included messages have all been indented by
@@ -4727,7 +4743,7 @@
 @cindex signature separator
 @vindex mh-signature-separator-flag
 
-A signature separator (@samp{"-- "}) will be added if the signature
+A signature separator (@code{"-- "}) will be added if the signature
 block does not contain one and @code{mh-signature-separator-flag} is
 on. It is not recommended that you change this option since various
 mail user agents, including MH-E, use the separator to present the
@@ -5350,7 +5366,7 @@
 @c -------------------------
 @item mh-alias-local-users-prefix
 String prefixed to the real names of users from the password file
-(default: @samp{"local."}.
+(default: @code{"local."}.
 @c -------------------------
 @item mh-alias-passwd-gecos-comma-separator-flag
 On means the GECOS field in the password file uses a comma separator
@@ -5991,7 +6007,7 @@
 @samp{Top}, @samp{Bottom}, @samp{Left}, or @samp{Right}. If this
 variable is set to anything other than @samp{Same As Default Tool Bar}
 and the default tool bar is in a different location, then two tool
-bars will be displayed: the MH-E tool bar and the default tool bar."
+bars will be displayed: the MH-E tool bar and the default tool bar.
 
 @node Searching, Threading, Tool Bar, Top
 @chapter Searching Through Messages
@@ -7059,7 +7075,7 @@
 First, run @samp{spamassassin -t} on every mail message in your
 archive and use @command{gnumeric} to verify that the average plus the
 standard deviation of good mail is under 5, the SpamAssassin default
-for "spam".
+for ``spam''.
 
 Using @command{gnumeric}, sort the messages by score and view the
 messages with the highest score. Determine the score which encompasses
@@ -7370,7 +7386,7 @@
 @samp{Use MH-E scan Format}).
 @c -------------------------
 @item mh-scan-prog
-Program used to scan messages (default: @samp{"scan"}).
+Program used to scan messages (default: @code{"scan"}).
 @end vtable
 
 @findex mh-set-cmd-note
@@ -7459,7 +7475,7 @@
 @vindex mh-scan-prog
 
 The name of the program that generates a listing of one line per
-message is held in @code{mh-scan-prog} (default: @samp{"scan"}).
+message is held in @code{mh-scan-prog} (default: @code{"scan"}).
 Unless this variable contains an absolute pathname, it is assumed to
 be in the @code{mh-progs} directory (@pxref{Getting Started}). You may
 link another program to @command{scan} (see @samp{mh-profile}(5)) to
@@ -7471,22 +7487,21 @@
 
 If you change the format of the scan lines you'll need to tell MH-E
 how to parse the new format. As you will see, quite a lot of variables
-are involved to do that. Use @samp{M-x apropos @key{RET} mh-scan.*regexp'}
-to obtain a list of these variables. You will also have to call
-@code{mh-set-cmd-note} if your notations are not in column 4 (columns
-in Emacs start with 0). Note that unlike most of the user options
-described in this manual, these are variables and must be set with
-@code{setq} instead of in a customization buffer. For help with
-regular expressions, see
+are involved to do that. Use @kbd{M-x apropos @key{RET}
+mh-scan.*regexp @key{RET}} to obtain a list of these variables. You
+will also have to call @code{mh-set-cmd-note} if your notations are
+not in column 4 (columns in Emacs start with 0). Note that unlike most
+of the user options described in this manual, these are variables and
+must be set with @code{setq} instead of in a customization buffer. For
+help with regular expressions, see
 @ifnothtml
 @ref{Regexps, , Syntax of Regular Expressions, emacs, The
-GNU Emacs Manual}
+GNU Emacs Manual}.
 @end ifnothtml
 @ifhtml
-the section
+section
 @uref{http://www.gnu.org/software/emacs/manual/html_node/Regexps.html,
-Syntax of Regular Expressions} in
-@cite{The GNU Emacs Manual}).
+Syntax of Regular Expressions} in @cite{The GNU Emacs Manual}.
 @end ifhtml
 
 The first variable has to do with pruning out garbage.
@@ -7501,7 +7516,7 @@
 eliminate error messages that are occasionally produced by
 @command{inc}@footnote{See the section
 @uref{@value{MH-BOOK-HOME}/reapre.htm, Reading Mail: inc show next
-prev} in the MH book.} or @command{scan} (default: @samp{"^ *[0-9]"}).
+prev} in the MH book.} or @command{scan} (default: @code{"^ *[0-9]"}).
 @end vtable
 
 Next, many variables control how the scan lines are parsed.
@@ -7516,7 +7531,7 @@
 the default setting of @code{mh-folder-font-lock-keywords} expects
 this expression to contain at least one parenthesized expression which
 matches the body text as in the default of
-@samp{"\\(<<\\([^\n]+\\)?\\)"}. If this regular expression is not
+@code{"\\(<<\\([^\n]+\\)?\\)"}. If this regular expression is not
 correct, the body fragment will not be highlighted with the face
 @code{mh-folder-body}.
 @c -------------------------
@@ -7528,7 +7543,7 @@
 from the beginning of the line. Note that the default setting of
 @code{mh-folder-font-lock-keywords} expects this expression to contain
 at least one parenthesized expression which matches the message number
-as in the default of @w{@samp{"^\\( *[0-9]+\\+\\).*"}}. This
+as in the default of @w{@code{"^\\( *[0-9]+\\+\\).*"}}. This
 expression includes the leading space and current message marker
 @samp{+} within the parenthesis since it looks better to highlight
 these items as well. The highlighting is done with the face
@@ -7545,7 +7560,7 @@
 default setting of @code{mh-folder-font-lock-keywords} expects this
 expression to contain only one parenthesized expression which matches
 the date field as in the default of
-@samp{"\\([0-9][0-9]/[0-9][0-9]\\)"}. If this regular expression is
+@code{"\\([0-9][0-9]/[0-9][0-9]\\)"}. If this regular expression is
 not correct, the date will not be highlighted with the face
 @code{mh-folder-date}.
 @c -------------------------
@@ -7557,7 +7572,7 @@
 the beginning of the line. Note that the default setting of
 @code{mh-folder-font-lock-keywords} expects this expression to contain
 at least one parenthesized expression which matches the message number
-as in the default of @samp{"^\\( *[0-9]+\\)D"}. This expression
+as in the default of @code{"^\\( *[0-9]+\\)D"}. This expression
 includes the leading space within the parenthesis since it looks
 better to highlight it as well. The highlighting is done with the face
 @code{mh-folder-deleted}. This regular expression should be correct as
@@ -7571,7 +7586,7 @@
 the beginning of the line. Note that the default setting of
 @code{mh-folder-font-lock-keywords} expects this expression to contain
 at least one parenthesized expression which matches the message number
-as in the default of @w{@samp{"^\\( *[0-9]+\\)[^D^0-9]"}}. This
+as in the default of @w{@code{"^\\( *[0-9]+\\)[^D^0-9]"}}. This
 expression includes the leading space within the parenthesis since it
 looks better to highlight it as well. The highlighting is done with
 the face @code{mh-folder-msg-number}. This regular expression should
@@ -7581,7 +7596,7 @@
 @item mh-scan-msg-format-regexp
 This regular expression finds the message number width in a scan
 format. Note that the message number must be placed in a parenthesized
-expression as in the default of @samp{"%\\([0-9]*\\)(msg)"}. This
+expression as in the default of @code{"%\\([0-9]*\\)(msg)"}. This
 variable is only consulted if @code{mh-scan-format-file} is set to
 @samp{Use MH-E scan Format}.
 @c -------------------------
@@ -7590,22 +7605,22 @@
 This is a format string for the width of the message number in a scan
 format. Use @samp{0%d} for zero-filled message numbers. This variable
 is only consulted if @code{mh-scan-format-file} is set to @samp{Use
-MH-E scan Format} (default: @samp{"%d"}).
+MH-E scan Format} (default: @code{"%d"}).
 @c -------------------------
 @item mh-scan-msg-number-regexp
 This regular expression extracts the message number. It must match
 from the beginning of the line. Note that the message number must be
-placed in a parenthesized expression as in the default of @w{@samp{"^
+placed in a parenthesized expression as in the default of @w{@code{"^
 *\\([0-9]+\\)"}}.
 @c -------------------------
 @item mh-scan-msg-overflow-regexp
 This regular expression matches overflowed message numbers (default:
-@samp{"^[?0-9][0-9]"}).
+@code{"^[?0-9][0-9]"}).
 @c -------------------------
 @item mh-scan-msg-search-regexp
 This regular expression matches a particular message. It is a format
 string; use @samp{%d} to represent the location of the message number
-within the expression as in the default of @samp{"^[^0-9]*%d[^0-9]"}.
+within the expression as in the default of @code{"^[^0-9]*%d[^0-9]"}.
 @c -------------------------
 @vindex mh-folder-address
 @vindex mh-folder-font-lock-keywords
@@ -7616,7 +7631,7 @@
 expects this expression to contain two parenthesized expressions. The
 first is expected to match the @samp{To:} that the default scan format
 file generates. The second is expected to match the recipient's name
-as in the default of @samp{"\\(To:\\)\\(..............\\)"}. If this
+as in the default of @code{"\\(To:\\)\\(..............\\)"}. If this
 regular expression is not correct, the @samp{To:} string will not be
 highlighted with the face @code{mh-folder-to} and the recipient will not be
 highlighted with the face @code{mh-folder-address}.
@@ -7629,7 +7644,7 @@
 the beginning of the line. Note that the default setting of
 @code{mh-folder-font-lock-keywords} expects this expression to contain
 at least one parenthesized expression which matches the message number
-as in the default of @w{@samp{"^\\( *[0-9]+\\)\\^"}}. This expression
+as in the default of @w{@code{"^\\( *[0-9]+\\)\\^"}}. This expression
 includes the leading space within the parenthesis since it looks
 better to highlight it as well. The highlighting is done with the face
 @code{mh-folder-refiled}. This regular expression should be correct as
@@ -7647,7 +7662,7 @@
 first should match the fontification hint (see
 @code{mh-scan-format-nmh}) and the second should match the user name
 as in the default of
-@w{@samp{"^ *[0-9]+.\\([bct]\\).....[ ]*\\(..................\\)"}}.
+@w{@code{"^ *[0-9]+.\\([bct]\\).....[ ]*\\(..................\\)"}}.
 If this regular expression is not correct, the notation hints will not
 be highlighted with the face @code{mh-mh-folder-sent-to-me-hint} and
 the sender will not be highlighted with the face
@@ -7667,8 +7682,8 @@
 sub-expression of the first expression). The third is expected to
 match the subject line itself which is highlighted with the face
 @code{mh-folder-subject}. For example, the default is
-@w{@samp{"^ *[0-9]+........[ ]*...................}}@*
-@w{@samp{\\([Rr][Ee]\\(\\[[0-9]+\\]\\)?:\\s-*\\)*\\([^<\n]*\\)"}}.
+@w{@code{"^ *[0-9]+........[ ]*...................}}@*
+@w{@code{\\([Rr][Ee]\\(\\[[0-9]+\\]\\)?:\\s-*\\)*\\([^<\n]*\\)"}}.
 This regular expression should be correct as it is needed by
 non-fontification functions. Note that this example is broken up on
 two lines for readability, but is actually a single string.
@@ -7687,39 +7702,39 @@
 @c -------------------------
 @item mh-note-copied
 Messages that have been copied are marked by this character (default:
-@samp{?C}).
+@code{?C}).
 @c -------------------------
 @item mh-note-cur
 The current message (in MH, not in MH-E) is marked by this character
-(default: @samp{?+}). See also @code{mh-scan-cur-msg-number-regexp}.
+(default: @code{?+}). See also @code{mh-scan-cur-msg-number-regexp}.
 @c -------------------------
 @item mh-note-deleted
 Messages that have been deleted are marked by this character (default:
-@samp{?D}). See also @code{mh-scan-deleted-msg-regexp}.
+@code{?D}). See also @code{mh-scan-deleted-msg-regexp}.
 @c -------------------------
 @item mh-note-dist
 Messages that have been redistributed are marked by this character
-(default: @samp{?R}).
+(default: @code{?R}).
 @c -------------------------
 @item mh-note-forw
 Messages that have been forwarded are marked by this character
-(default: @samp{?F}).
+(default: @code{?F}).
 @c -------------------------
 @item mh-note-printed
 Messages that have been printed are marked by this character (default:
-@samp{?P}).
+@code{?P}).
 @c -------------------------
 @item mh-note-refiled
 Messages that have been refiled are marked by this character (default:
-@samp{?^}). See also @code{mh-scan-refiled-msg-regexp}.
+@code{?^}). See also @code{mh-scan-refiled-msg-regexp}.
 @c -------------------------
 @item mh-note-repl
 Messages that have been replied to are marked by this character
-(default: @samp{?-}).
+(default: @code{?-}).
 @c -------------------------
 @item mh-note-seq
 Messages in a user-defined sequence are marked by this character
-(default: @samp{?%}). Messages in the @samp{search} sequence are
+(default: @code{?%}). Messages in the @samp{search} sequence are
 marked by this character as well.
 @end vtable
 
--- a/man/org.texi	Fri Mar 10 23:46:54 2006 +0000
+++ b/man/org.texi	Mon Mar 13 12:19:58 2006 +0000
@@ -4,7 +4,7 @@
 @setfilename ../info/org
 @settitle Org Mode Manual
 
-@set VERSION 4.08
+@set VERSION 4.09
 @set DATE March 2006
 
 @dircategory Emacs
@@ -22,6 +22,7 @@
 
 @c Macro definitions
 
+@c FIXME: does not look good in html
 @c Subheadings inside a table.  Need a difference between info and the rest.
 @macro tsubheading{text}
 @ifinfo
@@ -3063,8 +3064,18 @@
 @end lisp
 
 @noindent
-and restart emacs (this is necessary to make this change effective).
-The tree then becomes
+or change this on a per-file basis with one of the lines (anywhere in
+the buffer)
+
+@example
+#+STARTUP: showstars
+#+STARTUP: hidestars
+@end example
+@noindent
+Press @kbd{C-c C-c} with the cursor in a @samp{STARTUP} line to activate
+the modifications.  
+
+With stars hidden, the tree becomes:
 
 @example
 * Top level headline
@@ -3101,17 +3112,28 @@
 
 @noindent
 In order to make the structure editing and export commands handle this
-convention correctly, use (again a restart of emacs will be needed)
+convention correctly, use
 
 @lisp
 (setq org-odd-levels-only t)
 @end lisp
 
 @noindent
+or set this on a per-file basis with one of the following lines (don't
+forget to press @kbd{C-c C-c} with the cursor in the startup line to
+activate changes immediately).
+
+@example
+#+STARTUP: odd
+#+STARTUP: oddeven
+@end example
+
 You can convert an Org-mode file from single-star-per-level to
 double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels
-RET} in that file.  It is not possible to use this setting on a
-file-local basis, so you need to decide which format to use.
+RET} in that file.  There is no command for the back conversion because
+such a command might merge levels and in this way destroy the
+structure of the tree.
+@c FIXME: Maybe we should have such a command...
 
 @node TTY keys, FAQ, Clean view, Miscellaneous
 @section Using org-mode on a tty
@@ -3130,7 +3152,6 @@
 really only fun with @kbd{S-@key{cursor}} keys.  On a tty you would
 rather use @kbd{C-c .}  to re-insert the timestamp.
 
-@page
 @multitable @columnfractions 0.15 0.2 0.2
 @item @b{Default} @tab @b{Alternative 1} @tab @b{Alternative 2}
 @item @kbd{S-@key{TAB}}     @tab @kbd{C-u @key{TAB}}       @tab
@@ -3339,7 +3360,7 @@
 @code{org-disputed-keys}.
 @item @file{remember.el} by John Wiegley
 Org mode cooperates with remember, see @ref{Remember}.
-@file{remember.el} is not part of Emacs, find it on the web.
+@file{Remember.el} is not part of Emacs, find it on the web.
 @cindex @file{planner.el}
 @item @file{planner.el} by John Wiegley
 Planner is another tool to plan work and keep track of tasks.  Planner
@@ -3388,7 +3409,7 @@
 @kbd{C-c C-r} and @kbd{C-c a}), things do work correctly.
 @item
 You can only make a single word boldface or italic.  To emphasize
-several words in a row, each much have the emphasize markers, like in
+several words in a row, each must have the emphasize markers, like in
 @samp{*three* *bold* *words*}.
 @item
 The exporters work well, but could be made more efficient.
@@ -3452,6 +3473,8 @@
 Juergen Vollmer contributed code generating the table of contents
 in HTML output, and other export improvements.
 @item
+Chris Wallace provided a patch implementing the @samp{QUOTE} keyword.
+@item
 David Wainberg suggested the archiving mechanism and shaped the
 internal link system with many suggestions and ideas.
 @item
--- a/man/search.texi	Fri Mar 10 23:46:54 2006 +0000
+++ b/man/search.texi	Mon Mar 13 12:19:58 2006 +0000
@@ -689,7 +689,7 @@
 should not quote these characters when they have no special meaning
 either.  This would not clarify anything, since backslashes can
 legitimately precede these characters where they @emph{have} special
-meaning, as in @code{[^\]} (@code{"[^\\]"} for Lisp string syntax),
+meaning, as in @samp{[^\]} (@code{"[^\\]"} for Lisp string syntax),
 which matches any single character except a backslash.
 
 @node Regexp Backslash
--- a/nt/ChangeLog	Fri Mar 10 23:46:54 2006 +0000
+++ b/nt/ChangeLog	Mon Mar 13 12:19:58 2006 +0000
@@ -1,3 +1,16 @@
+2006-03-12  Jason Rumney  <jasonr@gnu.org>
+
+	* addpm.c (add_registry): Don't change the registry unless keys
+	already exist from a previous version.
+
+	* makefile.w32-in (install): Use -q when invoking addpm.
+
+	* addpm.c (main): Accept -q as alternative for /q.
+
+2006-03-11  Jason Rumney  <jasonr@gnu.org>
+
+	* runemacs.c (WinMain): Set screen buffer to 80x25.
+
 2005-12-24  Eli Zaretskii  <eliz@gnu.org>
 
 	* gmake.defs (TEMACS_EXTRA_LINK): Remove redundant -g.
--- a/nt/addpm.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/nt/addpm.c	Mon Mar 13 12:19:58 2006 +0000
@@ -71,19 +71,23 @@
      char *path;
 {
   HKEY hrootkey = NULL;
-  DWORD dwDisp;
   int i;
   BOOL ok = TRUE;
 
+  /* Previous versions relied on registry settings, but we do not need
+     them any more.  If registry settings are installed from a previous
+     version, replace them to ensure they are the current settings.
+     Otherwise, do nothing.  */
+
   /* Check both the current user and the local machine to see if we
      have any resources.  */
 
-  if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, REG_ROOT,
-		      0, "", REG_OPTION_NON_VOLATILE,
-		      KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS
-      && RegCreateKeyEx (HKEY_CURRENT_USER, REG_ROOT,
-			 0, "", REG_OPTION_NON_VOLATILE,
-			 KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS)
+  if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, REG_ROOT,
+		      REG_OPTION_NON_VOLATILE,
+		      KEY_WRITE, &hrootkey) != ERROR_SUCCESS
+      && RegOpenKeyEx (HKEY_CURRENT_USER, REG_ROOT,
+			 REG_OPTION_NON_VOLATILE,
+			 KEY_WRITE, &hrootkey) != ERROR_SUCCESS)
     {
       return FALSE;
     }
@@ -122,12 +126,14 @@
 #if 0
   if (argc < 2 || argc > 3)
     {
-      fprintf (stderr, "usage: addpm [/q] [emacs_path [icon_path]]\n");
+      fprintf (stderr, "usage: addpm [-q] [emacs_path [icon_path]]\n");
       exit (1);
     }
 #endif
 
-  if (argc > 1 && argv[1][0] == '/' && argv[1][1] == 'q')
+  if (argc > 1
+      && (argv[1][0] == '/' || argv[1][0] == '-')
+      && argv[1][1] == 'q')
     {
       quiet = 1;
       --argc;
--- a/nt/makefile.w32-in	Fri Mar 10 23:46:54 2006 +0000
+++ b/nt/makefile.w32-in	Mon Mar 13 12:19:58 2006 +0000
@@ -180,7 +180,7 @@
 	- $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
-	- "$(INSTALL_DIR)/bin/addpm" /q
+	- "$(INSTALL_DIR)/bin/addpm" -q
 	- $(DEL) ../same-dir.tst
 	- $(DEL) $(INSTALL_DIR)/same-dir.tst
 	echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
--- a/nt/runemacs.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/nt/runemacs.c	Mon Mar 13 12:19:58 2006 +0000
@@ -138,8 +138,12 @@
 
   memset (&start, 0, sizeof (start));
   start.cb = sizeof (start);
-  start.dwFlags = STARTF_USESHOWWINDOW;
+  start.dwFlags = STARTF_USESHOWWINDOW | STARTF_USECOUNTCHARS;
   start.wShowWindow = SW_HIDE;
+  /* Ensure that we don't waste memory if the user has specified a huge
+     default screen buffer for command windows.  */
+  start.dwXCountChars = 80;
+  start.dwYCountChars = 25;
 
   sec_attrs.nLength = sizeof (sec_attrs);
   sec_attrs.lpSecurityDescriptor = NULL;
--- a/src/ChangeLog	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/ChangeLog	Mon Mar 13 12:19:58 2006 +0000
@@ -1,3 +1,129 @@
+2006-03-12  Jason Rumney  <jasonr@gnu.org>
+
+	* w32fns.c (Fx_create_frame): Remove call to
+	Qface_set_after_frame_default. (from xfns.c 2003-05-26)
+
+	* w32menu.c (Fx_popup_menu): Call w32_free_menu_strings when
+	finished with the menu.
+
+	* w32term.c: Sync 2005-10-24 xterm.c changes.
+	(last_mouse_glyph_frame): New var.
+	(note_mouse_movement): Say mouse moved if current frame differs
+	from last_mouse_glyph_frame, and update last_mouse_glyph_frame.
+	(w32_mouse_position): Set last_mouse_glyph_frame.
+	 Remove OLD_REDISPLAY_CODE block.
+
+2006-03-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* macgui.h [USE_ATSUI && MAC_OSX]: Define USE_CG_TEXT_DRAWING to 1.
+
+	* macterm.h (struct mac_output) [USE_CG_DRAWING]: New member cg_context.
+	(mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Add prototype.
+
+	* mac.c (sys_select) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
+
+	* macfns.c (x_create_tip_frame): Apply 2006-03-11 change for xfns.c.
+
+	* macterm.c (mac_draw_rectangle, x_draw_glyph_string_foreground)
+	(x_draw_composite_glyph_string_foreground)
+	(x_draw_image_foreground): Undo previous changes.
+	(x_draw_hollow_cursor): Likewise.  Subtract 1 from the last
+	argument of mac_draw_rectangle.
+	(CG_SET_FILL_COLOR, CG_SET_STROKE_COLOR): New macros.
+	(mac_draw_string_common, mac_draw_image_string_cg): Use them.
+	(FRAME_CG_CONTEXT) [USE_CG_DRAWING]: New macro.
+	(mac_begin_cg_clip, mac_end_cg_clip, mac_prepare_for_quickdraw)
+	[USE_CG_DRAWING]: New functions.
+	(mac_draw_line, mac_erase_rectangle, mac_clear_window)
+	(mac_fill_rectangle, mac_draw_rectangle, mac_draw_string_common)
+	(mac_draw_image_string_cg) [USE_CG_DRAWING]: Add Quartz 2D drawing part.
+	(mac_draw_bitmap, mac_invert_rectangle, mac_draw_string_common)
+	(mac_copy_area, mac_scroll_area, x_scroll_bar_create)
+	(x_scroll_bar_remove, XTset_vertical_scroll_bar, x_set_window_size)
+	(XTread_socket) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
+
+2006-03-12  L$,1 q(Brentey K,Aa(Broly  <lorentey@elte.hu>
+
+	* xfns.c (x_icon): Disable redundant call to `x_wm_set_window_state'.
+
+2006-03-11  Jason Rumney  <jasonr@gnu.org>
+
+	* w32fns.c (signal_user_input): New function.
+	(post_character_message): Use it for keyboard input.
+	(w32_msg_pump): Use it for mouse input.
+
+2006-03-11  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* window.c: Rename preserve_y to window_scroll_pixel_based_preserve_y.
+	(window_scroll_pixel_based, syms_of_window): Adapt to above change.
+
+2006-03-11  Eli Zaretskii  <eliz@gnu.org>
+
+	* w32fns.c (w32_wnd_proc): Ignore middle and extra button events
+	if a menu is already active (the menubar_active flag is on).
+
+2006-03-11  David Ponce  <david@dponce.com>
+
+	* xfns.c (x_create_tip_frame): Preserve received parms by copying
+	them.
+
+2006-03-11  Eli Zaretskii  <eliz@gnu.org>
+
+	* w32term.c: Add x_fully_uncatch_errors and x_catching_errors to
+	the list of unused display error handling functions.
+
+	* eval.c (unwind_to_catch): Call x_fully_uncatch_errors only if
+	HAVE_X_WINDOWS.
+	(internal_condition_case, internal_condition_case_1)
+	(internal_condition_case_2): Call x_catching_errors only if
+	HAVE_X_WINDOWS.
+
+	* vm-limit.c [HAVE_GETRLIMIT]: Don't define unconditionally.
+	Don't include sys/resource.h unless defined.
+
+2006-03-11  Richard Stallman  <rms@gnu.org>
+
+	* keymap.c (describe_map): Shorten string to indicate shadowed binding.
+
+	* vm-limit.c (get_lim_data, lim_data, data_space_start):
+	Moved from mem-limits.h.
+	(enum warnlevel): New data type.
+	(check_memory_limits): Rewrite the logic about warnings.
+	Use standard `struct rlimit'.  Check return values for nonsense.
+	(memory_warnings): Always clear lim_data.
+
+	* mem-limits.h (get_lim_data, lim_data, data_space_start):
+	Moved to vm-limit.c.
+
+	* xterm.c (x_fully_uncatch_errors, x_catching_errors): New functions.
+
+	* eval.c (unwind_to_catch): Call x_fully_uncatch_errors.
+	(internal_condition_case_1, internal_condition_case_2):
+	Abort if within unclosed x_catch_errors.
+
+2006-03-11  Romain Francoise  <romain@orebokech.com>
+
+	* process.c (Vprocess_adaptive_read_buffering): Doc fix.
+
+2006-03-11  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)
+
+	* lisp.h: Remove duplicate prototypes.  Make the prototype of
+	getloadavg be conditioned on HAVE_GETLOADAVG being undefined.
+
+2006-03-11  Eli Zaretskii  <eliz@gnu.org>
+
+	* xterm.c (x_draw_hollow_cursor): Subtract 1 from the last
+	argument of XDrawRectangle.
+
+	* xdisp.c (get_phys_cursor_geometry): Don't decrease height by 1.
+
+	* macterm.c (mac_draw_rectangle): Don't add 1 to width and height.
+	(x_draw_glyph_string_foreground)
+	(x_draw_composite_glyph_string_foreground)
+	(x_draw_image_foreground): Don't subtract 1 from width and height
+	arguments to mac_draw_rectangle.
+	(x_draw_hollow_cursor): Add 1 to w->phys_cursor_width.
+
 2006-03-10  Kim F. Storm  <storm@cua.dk>
 
 	* alloc.c (USE_POSIX_MEMALIGN): Fix last change.
@@ -23,7 +149,7 @@
 
 	* image.c [MAC_OS] (XPutPixel): Set alpha channel bits if pixmap
 	depth is 32.
-	 [MAC_OS] (XGetPixel): Strip off alpha channel bits if pixmap
+	[MAC_OS] (XGetPixel): Strip off alpha channel bits if pixmap
 	depth is 32.
 
 2006-03-06  Chong Yidong  <cyd@stupidchicken.com>
--- a/src/eval.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/eval.c	Mon Mar 13 12:19:58 2006 +0000
@@ -1259,6 +1259,12 @@
     }
   while (! last_time);
 
+#if HAVE_X_WINDOWS
+  /* If x_catch_errors was done, turn it off now.
+     (First we give unbind_to a chance to do that.)  */
+  x_fully_uncatch_errors ();
+#endif
+
   byte_stack_list = catch->byte_stack;
   gcprolist = catch->gcpro;
 #ifdef DEBUG_GCPRO
@@ -1435,8 +1441,10 @@
   struct catchtag c;
   struct handler h;
 
-#if 0 /* We now handle interrupt_input_blocked properly.
-	 What we still do not handle is exiting a signal handler.  */
+  /* Since Fsignal will close off all calls to x_catch_errors,
+     we will get the wrong results if some are not closed now.  */
+#if HAVE_X_WINDOWS
+  if (x_catching_errors ())
     abort ();
 #endif
 
@@ -1481,6 +1489,13 @@
   struct catchtag c;
   struct handler h;
 
+  /* Since Fsignal will close off all calls to x_catch_errors,
+     we will get the wrong results if some are not closed now.  */
+#if HAVE_X_WINDOWS
+  if (x_catching_errors ())
+    abort ();
+#endif
+
   c.tag = Qnil;
   c.val = Qnil;
   c.backlist = backtrace_list;
@@ -1525,6 +1540,13 @@
   struct catchtag c;
   struct handler h;
 
+  /* Since Fsignal will close off all calls to x_catch_errors,
+     we will get the wrong results if some are not closed now.  */
+#if HAVE_X_WINDOWS
+  if (x_catching_errors ())
+    abort ();
+#endif
+
   c.tag = Qnil;
   c.val = Qnil;
   c.backlist = backtrace_list;
--- a/src/keymap.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/keymap.c	Mon Mar 13 12:19:58 2006 +0000
@@ -3390,7 +3390,7 @@
       if (vect[i].shadowed)
 	{
 	  SET_PT (PT - 1);
-	  insert_string ("  (binding currently shadowed)");
+	  insert_string ("  (shadowed)");
 	  SET_PT (PT + 1);
 	}
     }
--- a/src/lisp.h	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/lisp.h	Mon Mar 13 12:19:58 2006 +0000
@@ -2767,7 +2767,6 @@
 EXFUN (Fformat, MANY);
 EXFUN (Fmessage, MANY);
 extern Lisp_Object format2 P_ ((char *, Lisp_Object, Lisp_Object));
-extern Lisp_Object make_buffer_string P_ ((int, int, int));
 EXFUN (Fbuffer_substring, 2);
 EXFUN (Fbuffer_string, 0);
 extern Lisp_Object save_excursion_save P_ ((void));
@@ -2786,7 +2785,6 @@
 extern Lisp_Object make_buffer_string_both P_ ((int, int, int, int, int));
 extern void init_editfns P_ ((void));
 extern void syms_of_editfns P_ ((void));
-EXFUN (Fcurrent_message, 0);
 extern Lisp_Object Vinhibit_field_text_motion;
 EXFUN (Fconstrain_to_field, 5);
 EXFUN (Ffield_string, 1);
@@ -2885,7 +2883,6 @@
 extern void report_file_error P_ ((const char *, Lisp_Object));
 extern int internal_delete_file P_ ((Lisp_Object));
 extern void syms_of_fileio P_ ((void));
-EXFUN (Fmake_temp_name, 1);
 extern void init_fileio_once P_ ((void));
 extern Lisp_Object make_temp_name P_ ((Lisp_Object, int));
 EXFUN (Fmake_symbolic_link, 3);
@@ -3176,7 +3173,6 @@
 extern void sys_suspend P_ ((void));
 extern void discard_tty_input P_ ((void));
 extern void init_sys_modes P_ ((void));
-extern void reset_sys_modes P_ ((void));
 extern void get_frame_size P_ ((int *, int *));
 extern void wait_for_termination P_ ((int));
 extern void flush_pending_output P_ ((int));
@@ -3231,8 +3227,10 @@
 /* Defined in xfaces.c */
 extern void syms_of_xfaces P_ ((void));
 
+#ifndef HAVE_GETLOADAVG
 /* Defined in getloadavg.c */
 extern int getloadavg P_ ((double *, int));
+#endif
 
 #ifdef HAVE_X_WINDOWS
 /* Defined in xfns.c */
@@ -3253,9 +3251,6 @@
 /* Defined in xterm.c */
 extern void syms_of_xterm P_ ((void));
 
-/* Defined in getloadavg.c */
-extern int getloadavg P_ ((double [], int));
-
 #ifdef MSDOS
 /* Defined in msdos.c */
 EXFUN (Fmsdos_downcase_filename, 1);
--- a/src/mac.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/mac.c	Mon Mar 13 12:19:58 2006 +0000
@@ -4829,6 +4829,9 @@
 	    return 0;
 	}
 
+#if USE_CG_DRAWING
+      mac_prepare_for_quickdraw (NULL);
+#endif
       /* Avoid initial overhead of RunLoop setup for the case that
 	 some input is already available.  */
       EMACS_SET_SECS_USECS (select_timeout, 0, 0);
--- a/src/macfns.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/macfns.c	Mon Mar 13 12:19:58 2006 +0000
@@ -3591,6 +3591,7 @@
 
   check_mac ();
 
+  parms = Fcopy_alist (parms);
 
 #ifdef MULTI_KBOARD
   kb = dpyinfo->kboard;
--- a/src/macgui.h	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/macgui.h	Mon Mar 13 12:19:58 2006 +0000
@@ -79,6 +79,18 @@
 #include <Gestalt.h>
 #endif /* not HAVE_CARBON */
 
+#ifndef USE_CG_TEXT_DRAWING
+#if USE_ATSUI && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+#define USE_CG_TEXT_DRAWING 1
+#endif
+#endif
+
+#ifndef USE_CG_DRAWING
+#if USE_ATSUI && defined (MAC_OSX)
+#define USE_CG_DRAWING 1
+#endif
+#endif
+
 typedef WindowPtr Window;
 typedef GWorldPtr Pixmap;
 
@@ -92,12 +104,6 @@
 #endif
 
 
-#ifndef USE_CG_TEXT_DRAWING
-#if USE_ATSUI && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
-#define USE_CG_TEXT_DRAWING 1
-#endif
-#endif
-
 /* Emulate XCharStruct.  */
 typedef struct _XCharStruct
 {
--- a/src/macterm.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/macterm.c	Mon Mar 13 12:19:58 2006 +0000
@@ -270,6 +270,72 @@
 #define GC_BACK_COLOR(gc)	(&(gc)->back_color)
 #define GC_FONT(gc)		((gc)->xgcv.font)
 #define FRAME_NORMAL_GC(f)	((f)->output_data.mac->normal_gc)
+#define CG_SET_FILL_COLOR(context, color)			\
+  CGContextSetRGBFillColor (context,					\
+			    RED_FROM_ULONG (color) / 255.0f,		\
+			    GREEN_FROM_ULONG (color) / 255.0f,		\
+			    BLUE_FROM_ULONG (color) / 255.0f, 1.0f)
+#define CG_SET_STROKE_COLOR(context, color)		\
+  CGContextSetRGBStrokeColor (context,					\
+			      RED_FROM_ULONG (color) / 255.0f,		\
+			      GREEN_FROM_ULONG (color) / 255.0f,	\
+			      BLUE_FROM_ULONG (color) / 255.0f, 1.0f)
+#if USE_CG_DRAWING
+#define FRAME_CG_CONTEXT(f)	((f)->output_data.mac->cg_context)
+
+static CGContextRef
+mac_begin_cg_clip (f, gc)
+     struct frame *f;
+     GC gc;
+{
+  CGContextRef context = FRAME_CG_CONTEXT (f);
+
+  if (!context)
+    {
+      QDBeginCGContext (GetWindowPort (FRAME_MAC_WINDOW (f)), &context);
+      FRAME_CG_CONTEXT (f) = context;
+    }
+
+  CGContextSaveGState (context);
+  CGContextTranslateCTM (context, 0, FRAME_PIXEL_HEIGHT (f));
+  CGContextScaleCTM (context, 1, -1);
+  if (gc && gc->n_clip_rects)
+    CGContextClipToRects (context, gc->clip_rects, gc->n_clip_rects);
+
+  return context;
+}
+
+static void
+mac_end_cg_clip (f)
+     struct frame *f;
+{
+  CGContextRestoreGState (FRAME_CG_CONTEXT (f));
+}
+
+void
+mac_prepare_for_quickdraw (f)
+     struct frame *f;
+{
+  if (f == NULL)
+    {
+      Lisp_Object rest, frame;
+      FOR_EACH_FRAME (rest, frame)
+	if (FRAME_MAC_P (XFRAME (frame)))
+	  mac_prepare_for_quickdraw (XFRAME (frame));
+    }
+  else
+    {
+      CGContextRef context = FRAME_CG_CONTEXT (f);
+
+      if (context)
+	{
+	  CGContextSynchronize (context);
+	  QDEndCGContext (GetWindowPort (FRAME_MAC_WINDOW (f)),
+			  &FRAME_CG_CONTEXT (f));
+	}
+    }
+}
+#endif
 
 static RgnHandle saved_port_clip_region = NULL;
 
@@ -320,6 +386,18 @@
      GC gc;
      int x1, y1, x2, y2;
 {
+#if USE_CG_DRAWING
+  CGContextRef context;
+
+  context = mac_begin_cg_clip (f, gc);
+  CG_SET_STROKE_COLOR (context, gc->xgcv.foreground);
+  CGContextBeginPath (context);
+  CGContextMoveToPoint (context, x1 + 0.5f, y1 + 0.5f);
+  CGContextAddLineToPoint (context, x2 + 0.5f, y2 + 0.5f);
+  CGContextClosePath (context);
+  CGContextStrokePath (context);
+  mac_end_cg_clip (f);
+#else
   SetPortWindowPort (FRAME_MAC_WINDOW (f));
 
   RGBForeColor (GC_FORE_COLOR (gc));
@@ -328,6 +406,7 @@
   MoveTo (x1, y1);
   LineTo (x2, y2);
   mac_end_clip (gc);
+#endif
 }
 
 void
@@ -361,6 +440,14 @@
      int x, y;
      unsigned int width, height;
 {
+#if USE_CG_DRAWING
+  CGContextRef context;
+
+  context = mac_begin_cg_clip (f, gc);
+  CG_SET_FILL_COLOR (context, gc->xgcv.background);
+  CGContextFillRect (context, CGRectMake (x, y, width, height));
+  mac_end_cg_clip (f);
+#else
   Rect r;
 
   SetPortWindowPort (FRAME_MAC_WINDOW (f));
@@ -373,6 +460,7 @@
   mac_end_clip (gc);
 
   RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
+#endif
 }
 
 
@@ -393,6 +481,16 @@
 mac_clear_window (f)
      struct frame *f;
 {
+#if USE_CG_DRAWING
+  CGContextRef context;
+  GC gc = FRAME_NORMAL_GC (f);
+
+  context = mac_begin_cg_clip (f, NULL);
+  CG_SET_FILL_COLOR (context, gc->xgcv.background);
+  CGContextFillRect (context, CGRectMake (0, 0, FRAME_PIXEL_WIDTH (f),
+					  FRAME_PIXEL_HEIGHT (f)));
+  mac_end_cg_clip (f);
+#else
   SetPortWindowPort (FRAME_MAC_WINDOW (f));
 
   RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
@@ -407,6 +505,7 @@
 #else /* not TARGET_API_MAC_CARBON */
   EraseRect (&(FRAME_MAC_WINDOW (f)->portRect));
 #endif /* not TARGET_API_MAC_CARBON */
+#endif
 }
 
 
@@ -427,6 +526,9 @@
   bitmap.baseAddr = (char *)bits;
   SetRect (&(bitmap.bounds), 0, 0, width, height);
 
+#if USE_CG_DRAWING
+  mac_prepare_for_quickdraw (f);
+#endif
   SetPortWindowPort (FRAME_MAC_WINDOW (f));
 
   RGBForeColor (GC_FORE_COLOR (gc));
@@ -573,6 +675,14 @@
      int x, y;
      unsigned int width, height;
 {
+#if USE_CG_DRAWING
+  CGContextRef context;
+
+  context = mac_begin_cg_clip (f, gc);
+  CG_SET_FILL_COLOR (context, gc->xgcv.foreground);
+  CGContextFillRect (context, CGRectMake (x, y, width, height));
+  mac_end_cg_clip (f);
+#else
   Rect r;
 
   SetPortWindowPort (FRAME_MAC_WINDOW (f));
@@ -583,6 +693,7 @@
   mac_begin_clip (gc);
   PaintRect (&r); /* using foreground color of gc */
   mac_end_clip (gc);
+#endif
 }
 
 
@@ -595,6 +706,15 @@
      int x, y;
      unsigned int width, height;
 {
+#if USE_CG_DRAWING
+  CGContextRef context;
+
+  context = mac_begin_cg_clip (f, gc);
+  CG_SET_STROKE_COLOR (context, gc->xgcv.foreground);
+  CGContextStrokeRect (context,
+		       CGRectMake (x + 0.5f, y + 0.5f, width, height));
+  mac_end_cg_clip (f);
+#else
   Rect r;
 
   SetPortWindowPort (FRAME_MAC_WINDOW (f));
@@ -605,6 +725,7 @@
   mac_begin_clip (gc);
   FrameRect (&r); /* using foreground color of gc */
   mac_end_clip (gc);
+#endif
 }
 
 
@@ -674,6 +795,9 @@
 {
   Rect r;
 
+#if USE_CG_DRAWING
+  mac_prepare_for_quickdraw (f);
+#endif
   SetPortWindowPort (FRAME_MAC_WINDOW (f));
 
   SetRect (&r, x, y, x + width, y + height);
@@ -719,6 +843,9 @@
       if (!mac_use_core_graphics)
 	{
 #endif
+#if USE_CG_DRAWING
+	  mac_prepare_for_quickdraw (f);
+#endif
 	  mac_begin_clip (gc);
 	  RGBForeColor (GC_FORE_COLOR (gc));
 	  if (bg_width)
@@ -747,6 +874,9 @@
 	  ByteCount sizes[] = {sizeof (CGContextRef)};
 	  ATSUAttributeValuePtr values[] = {&context};
 
+#if USE_CG_DRAWING
+	  context = mac_begin_cg_clip (f, gc);
+#else
 	  GetPort (&port);
 	  QDBeginCGContext (port, &context);
 	  if (gc->n_clip_rects || bg_width)
@@ -756,14 +886,10 @@
 	      if (gc->n_clip_rects)
 		CGContextClipToRects (context, gc->clip_rects,
 				      gc->n_clip_rects);
+#endif
 	      if (bg_width)
 		{
-		  CGContextSetRGBFillColor
-		    (context,
-		     RED_FROM_ULONG (gc->xgcv.background) / 255.0f,
-		     GREEN_FROM_ULONG (gc->xgcv.background) / 255.0f,
-		     BLUE_FROM_ULONG (gc->xgcv.background) / 255.0f,
-		     1.0);
+		  CG_SET_FILL_COLOR (context, gc->xgcv.background);
 		  CGContextFillRect
 		    (context,
 		     CGRectMake (x, y - FONT_BASE (GC_FONT (gc)),
@@ -771,13 +897,10 @@
 		}
 	      CGContextScaleCTM (context, 1, -1);
 	      CGContextTranslateCTM (context, 0, -port_height);
+#if !USE_CG_DRAWING
 	    }
-	  CGContextSetRGBFillColor
-	    (context,
-	     RED_FROM_ULONG (gc->xgcv.foreground) / 255.0f,
-	     GREEN_FROM_ULONG (gc->xgcv.foreground) / 255.0f,
-	     BLUE_FROM_ULONG (gc->xgcv.foreground) / 255.0f,
-	     1.0);
+#endif
+	  CG_SET_FILL_COLOR (context, gc->xgcv.foreground);
 	  err = ATSUSetLayoutControls (text_layout,
 				       sizeof (tags) / sizeof (tags[0]),
 				       tags, sizes, values);
@@ -785,8 +908,13 @@
 	    ATSUDrawText (text_layout,
 			  kATSUFromTextBeginning, kATSUToTextEnd,
 			  Long2Fix (x), Long2Fix (port_height - y));
+#if USE_CG_DRAWING
+	  mac_end_cg_clip (f);
+	  context = NULL;
+#else
 	  CGContextSynchronize (context);
 	  QDEndCGContext (port, &context);
+#endif
 #if 0
 	  /* This doesn't work on Mac OS X 10.1.  */
 	  ATSUClearLayoutControls (text_layout,
@@ -808,6 +936,9 @@
       if (mac_use_core_graphics)
 	savedFlags = SwapQDTextFlags (kQDUseCGTextRendering);
 #endif
+#if USE_CG_DRAWING
+      mac_prepare_for_quickdraw (f);
+#endif
       mac_begin_clip (gc);
       RGBForeColor (GC_FORE_COLOR (gc));
 #ifdef MAC_OS8
@@ -1115,6 +1246,9 @@
       buf++;
     }
 
+#if USE_CG_DRAWING
+  context = mac_begin_cg_clip (f, gc);
+#else
   QDBeginCGContext (port, &context);
   if (gc->n_clip_rects || bg_width)
     {
@@ -1122,14 +1256,10 @@
       CGContextScaleCTM (context, 1, -1);
       if (gc->n_clip_rects)
 	CGContextClipToRects (context, gc->clip_rects, gc->n_clip_rects);
+#endif
       if (bg_width)
 	{
-	  CGContextSetRGBFillColor
-	    (context,
-	     RED_FROM_ULONG (gc->xgcv.background) / 255.0f,
-	     GREEN_FROM_ULONG (gc->xgcv.background) / 255.0f,
-	     BLUE_FROM_ULONG (gc->xgcv.background) / 255.0f,
-	     1.0);
+	  CG_SET_FILL_COLOR (context, gc->xgcv.background);
 	  CGContextFillRect
 	    (context,
 	     CGRectMake (gx, y - FONT_BASE (GC_FONT (gc)),
@@ -1137,12 +1267,10 @@
 	}
       CGContextScaleCTM (context, 1, -1);
       CGContextTranslateCTM (context, 0, -port_height);
-    }
-  CGContextSetRGBFillColor (context,
-			    RED_FROM_ULONG (gc->xgcv.foreground) / 255.0f,
-			    GREEN_FROM_ULONG (gc->xgcv.foreground) / 255.0f,
-			    BLUE_FROM_ULONG (gc->xgcv.foreground) / 255.0f,
-			    1.0);
+#if !USE_CG_DRAWING
+    }
+#endif
+  CG_SET_FILL_COLOR (context, gc->xgcv.foreground);
   CGContextSetFont (context, GC_FONT (gc)->cg_font);
   CGContextSetFontSize (context, GC_FONT (gc)->mac_fontsize);
   if (GC_FONT (gc)->mac_fontsize <= cg_text_anti_aliasing_threshold)
@@ -1157,8 +1285,12 @@
       gx += advances[i].width;
     }
 #endif
+#if USE_CG_DRAWING
+  mac_end_cg_clip (f);
+#else
   CGContextSynchronize (context);
   QDEndCGContext (port, &context);
+#endif
 
   return 1;
 }
@@ -1178,6 +1310,9 @@
 {
   Rect src_r, dest_r;
 
+#if USE_CG_DRAWING
+  mac_prepare_for_quickdraw (f);
+#endif
   SetPortWindowPort (FRAME_MAC_WINDOW (f));
 
   SetRect (&src_r, src_x, src_y, src_x + width, src_y + height);
@@ -1222,6 +1357,9 @@
 {
   Rect src_r, dest_r;
 
+#if USE_CG_DRAWING
+  mac_prepare_for_quickdraw (f);
+#endif
   SetPortWindowPort (FRAME_MAC_WINDOW (f));
 
   SetRect (&src_r, src_x, src_y, src_x + width, src_y + height);
@@ -1271,6 +1409,9 @@
   RgnHandle dummy = NewRgn ();	/* For avoiding update events.  */
 
   SetRect (&src_r, src_x, src_y, src_x + width, src_y + height);
+#if USE_CG_DRAWING
+  mac_prepare_for_quickdraw (f);
+#endif
   ScrollWindowRect (FRAME_MAC_WINDOW (f),
 		    &src_r, dest_x - src_x, dest_y - src_y,
 		    kScrollWindowNoOptions, dummy);
@@ -1529,6 +1670,9 @@
 {
 #if TARGET_API_MAC_CARBON
   BLOCK_INPUT;
+#if USE_CG_DRAWING
+  mac_prepare_for_quickdraw (f);
+#endif
   if (f)
     QDFlushPortBuffer (GetWindowPort (FRAME_MAC_WINDOW (f)), NULL);
   else
@@ -4595,6 +4739,9 @@
   r.right = left + width;
   r.bottom = disp_top + disp_height;
 
+#if USE_CG_DRAWING
+  mac_prepare_for_quickdraw (f);
+#endif
 #if TARGET_API_MAC_CARBON
   ch = NewControl (FRAME_MAC_WINDOW (f), &r, "\p",
 #if USE_TOOLKIT_SCROLL_BARS
@@ -4721,6 +4868,9 @@
 
   BLOCK_INPUT;
 
+#if USE_CG_DRAWING
+  mac_prepare_for_quickdraw (f);
+#endif
   /* Destroy the Mac scroll bar control  */
   DisposeControl (SCROLL_BAR_CONTROL_HANDLE (bar));
 
@@ -4817,6 +4967,9 @@
 	     for them on the frame, we have to clear "under" them.  */
 	  mac_clear_area (f, left, top, width, height);
 
+#if USE_CG_DRAWING
+	  mac_prepare_for_quickdraw (f);
+#endif
           HideControl (ch);
           MoveControl (ch, sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, disp_top);
           SizeControl (ch, sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2,
@@ -5261,7 +5414,7 @@
 
   /* Set clipping, draw the rectangle, and reset clipping again.  */
   x_clip_to_row (w, row, TEXT_AREA, gc);
-  mac_draw_rectangle (f, gc, x, y, wd, h);
+  mac_draw_rectangle (f, gc, x, y, wd, h - 1);
   mac_reset_clip_rectangles (dpy, gc);
 }
 
@@ -5805,8 +5958,13 @@
   SizeWindow (FRAME_MAC_WINDOW (f), pixelwidth, pixelheight, 0);
 #if TARGET_API_MAC_CARBON
   if (f->output_data.mac->hourglass_control)
-    MoveControl (f->output_data.mac->hourglass_control,
-		 pixelwidth - HOURGLASS_WIDTH, 0);
+    {
+#if USE_CG_DRAWING
+      mac_prepare_for_quickdraw (f);
+#endif
+      MoveControl (f->output_data.mac->hourglass_control,
+		   pixelwidth - HOURGLASS_WIDTH, 0);
+    }
 #endif
 
   /* Now, strictly speaking, we can't be sure that this is accurate,
@@ -9693,7 +9851,11 @@
 #if USE_CARBON_EVENTS
   toolbox_dispatcher = GetEventDispatcherTarget ();
 
-  while (!ReceiveNextEvent (0, NULL, kEventDurationNoWait,
+  while (
+#if USE_CG_DRAWING
+	 mac_prepare_for_quickdraw (NULL),
+#endif
+	 !ReceiveNextEvent (0, NULL, kEventDurationNoWait,
 			    kEventRemoveFromQueue, &eventRef))
 #else /* !USE_CARBON_EVENTS */
   while (mac_wait_next_event (&er, 0, true))
--- a/src/macterm.h	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/macterm.h	Mon Mar 13 12:19:58 2006 +0000
@@ -334,6 +334,11 @@
 
   /* Hints for the size and the position of a window.  */
   XSizeHints *size_hints;
+
+#if USE_CG_DRAWING
+  /* Quartz 2D graphics context.  */
+  CGContextRef cg_context;
+#endif
 };
 
 typedef struct mac_output mac_output;
@@ -566,6 +571,9 @@
 extern OSErr install_window_handler P_ ((WindowPtr));
 extern void remove_window_handler P_ ((WindowPtr));
 extern Lisp_Object mac_make_lispy_event_code P_ ((int));
+#if USE_CG_DRAWING
+extern void mac_prepare_for_quickdraw P_ ((struct frame *));
+#endif
 
 #define FONT_TYPE_FOR_UNIBYTE(font, ch) 0
 #define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0
--- a/src/mem-limits.h	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/mem-limits.h	Mon Mar 13 12:19:58 2006 +0000
@@ -112,91 +112,5 @@
 #endif /* not _LIBC */
 
 
-/* start of data space; can be changed by calling malloc_init */
-static POINTER data_space_start;
-
-/* Number of bytes of writable memory we can expect to be able to get */
-static unsigned long lim_data;
-
-#ifdef NO_LIM_DATA
-static void
-get_lim_data ()
-{
-  lim_data = -1;
-}
-#else /* not NO_LIM_DATA */
-
-#ifdef USG
-
-static void
-get_lim_data ()
-{
-  extern long ulimit ();
-
-  lim_data = -1;
-
-  /* Use the ulimit call, if we seem to have it.  */
-#if !defined (ULIMIT_BREAK_VALUE) || defined (GNU_LINUX)
-  lim_data = ulimit (3, 0);
-#endif
-
-  /* If that didn't work, just use the macro's value.  */
-#ifdef ULIMIT_BREAK_VALUE
-  if (lim_data == -1)
-    lim_data = ULIMIT_BREAK_VALUE;
-#endif
-
-  lim_data -= (long) data_space_start;
-}
-
-#else /* not USG */
-#ifdef WINDOWSNT
-
-static void
-get_lim_data ()
-{
-  extern unsigned long reserved_heap_size;
-  lim_data = reserved_heap_size;
-}
-
-#else
-#if !defined (BSD4_2) && !defined (__osf__)
-
-#ifdef MSDOS
-void
-get_lim_data ()
-{
-  _go32_dpmi_meminfo info;
-
-  _go32_dpmi_get_free_memory_information (&info);
-  lim_data = info.available_memory;
-}
-#else /* not MSDOS */
-static void
-get_lim_data ()
-{
-  lim_data = vlimit (LIM_DATA, -1);
-}
-#endif /* not MSDOS */
-
-#else /* BSD4_2 */
-
-static void
-get_lim_data ()
-{
-  struct rlimit XXrlimit;
-
-  getrlimit (RLIMIT_DATA, &XXrlimit);
-#ifdef RLIM_INFINITY
-  lim_data = XXrlimit.rlim_cur & RLIM_INFINITY; /* soft limit */
-#else
-  lim_data = XXrlimit.rlim_cur;	/* soft limit */
-#endif
-}
-#endif /* BSD4_2 */
-#endif /* not WINDOWSNT */
-#endif /* not USG */
-#endif /* not NO_LIM_DATA */
-
 /* arch-tag: fe39244e-e54f-4208-b7aa-02556f7841c5
    (do not change this comment) */
--- a/src/process.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/process.c	Mon Mar 13 12:19:58 2006 +0000
@@ -6979,7 +6979,7 @@
 is read in very small blocks, potentially resulting in very poor performance.
 This behavior can be remedied to some extent by setting this variable to a
 non-nil value, as it will automatically delay reading from such processes, to
-allowing them to produce more output before Emacs tries to read it.
+allow them to produce more output before Emacs tries to read it.
 If the value is t, the delay is reset after each write to the process; any other
 non-nil value means that the delay is not reset on write.
 The variable takes effect when `start-process' is called.  */);
--- a/src/vm-limit.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/vm-limit.c	Mon Mar 13 12:19:58 2006 +0000
@@ -44,13 +44,102 @@
   2 -- 85% warning already issued.
   3 -- 95% warning issued; keep warning frequently.
 */
-static int warnlevel;
+enum warnlevel { not_warned, warned_75, warned_85, warned_95 };
+
+static enum warnlevel warnlevel;
 
 /* Function to call to issue a warning;
    0 means don't issue them.  */
 static void (*warn_function) ();
 
-/* Get more memory space, complaining if we're near the end. */
+/* Start of data space; can be changed by calling malloc_init.  */
+static POINTER data_space_start;
+
+/* Number of bytes of writable memory we can expect to be able to get.  */
+static unsigned long lim_data;
+
+
+#ifdef NO_LIM_DATA
+static void
+get_lim_data ()
+{
+  lim_data = -1;
+}
+#else /* not NO_LIM_DATA */
+
+#ifdef USG
+
+static void
+get_lim_data ()
+{
+  extern long ulimit ();
+
+  lim_data = -1;
+
+  /* Use the ulimit call, if we seem to have it.  */
+#if !defined (ULIMIT_BREAK_VALUE) || defined (GNU_LINUX)
+  lim_data = ulimit (3, 0);
+#endif
+
+  /* If that didn't work, just use the macro's value.  */
+#ifdef ULIMIT_BREAK_VALUE
+  if (lim_data == -1)
+    lim_data = ULIMIT_BREAK_VALUE;
+#endif
+
+  lim_data -= (long) data_space_start;
+}
+
+#else /* not USG */
+#ifdef WINDOWSNT
+
+static void
+get_lim_data ()
+{
+  extern unsigned long reserved_heap_size;
+  lim_data = reserved_heap_size;
+}
+
+#else
+#if !defined (BSD4_2) && !defined (__osf__)
+
+#ifdef MSDOS
+void
+get_lim_data ()
+{
+  _go32_dpmi_meminfo info;
+
+  _go32_dpmi_get_free_memory_information (&info);
+  lim_data = info.available_memory;
+}
+#else /* not MSDOS */
+static void
+get_lim_data ()
+{
+  lim_data = vlimit (LIM_DATA, -1);
+}
+#endif /* not MSDOS */
+
+#else /* BSD4_2 */
+
+static void
+get_lim_data ()
+{
+  struct rlimit XXrlimit;
+
+  getrlimit (RLIMIT_DATA, &XXrlimit);
+#ifdef RLIM_INFINITY
+  lim_data = XXrlimit.rlim_cur & RLIM_INFINITY; /* soft limit */
+#else
+  lim_data = XXrlimit.rlim_cur;	/* soft limit */
+#endif
+}
+#endif /* BSD4_2 */
+#endif /* not WINDOWSNT */
+#endif /* not USG */
+#endif /* not NO_LIM_DATA */
+
+/* Verify amount of memory available, complaining if we're near the end. */
 
 static void
 check_memory_limits ()
@@ -64,14 +153,19 @@
   register POINTER cp;
   unsigned long five_percent;
   unsigned long data_size;
+  enum warnlevel new_warnlevel;
 
 #ifdef HAVE_GETRLIMIT
-  struct rlimit {
-    rlim_t rlim_cur;
-    rlim_t rlim_max;
-  } rlimit;
+  struct rlimit rlimit;
+
+  getrlimit (RLIMIT_AS, &rlimit);
 
-  getrlimit (RLIMIT_DATA, &rlimit);
+  if (RLIM_INFINITY == rlimit.rlim_max)
+    return;
+
+  /* This is a nonsensical case, but it happens -- rms.  */
+  if (rlimit.rlim_cur > rlimit.rlim_max)
+    return;
 
   five_percent = rlimit.rlim_max / 20;
   data_size = rlimit.rlim_cur;
@@ -93,57 +187,61 @@
 
 #endif /* not HAVE_GETRLIMIT */
 
-  if (warn_function)
-    switch (warnlevel)
-      {
-      case 0:
-	if (data_size > five_percent * 15)
-	  {
-	    warnlevel++;
-	    (*warn_function) ("Warning: past 75% of memory limit");
-	  }
-	break;
+  if (!warn_function)
+    return;
 
-      case 1:
-	if (data_size > five_percent * 17)
-	  {
-	    warnlevel++;
-	    (*warn_function) ("Warning: past 85% of memory limit");
-	  }
-	break;
+  /* What level of warning does current memory usage demand?  */
+  if (data_size > five_percent * 19)
+    new_warnlevel = warned_95;
+  else if (data_size > five_percent * 17)
+    new_warnlevel = warned_85;
+  else if (data_size > five_percent * 15)
+    new_warnlevel = warned_75;
+  else
+    new_warnlevel = not_warned;
+
+  /* If we have gone up a level, give the appropriate warning.  */
+  if (new_warnlevel > warnlevel || new_warnlevel == warned_95)
+    {
+      warnlevel = new_warnlevel;
+      switch (warnlevel)
+	{
+	case warned_75:
+	  (*warn_function) ("Warning: past 75% of memory limit");
+	  break;
 
-      case 2:
-	if (data_size > five_percent * 19)
-	  {
-	    warnlevel++;
-	    (*warn_function) ("Warning: past 95% of memory limit");
-	  }
-	break;
-
-      default:
-	(*warn_function) ("Warning: past acceptable memory limits");
-	break;
-      }
+	case warned_85:
+	  (*warn_function) ("Warning: past 85% of memory limit");
+	  break;
 
-  /* If we go down below 70% full, issue another 75% warning
-     when we go up again.  */
-  if (data_size < five_percent * 14)
-    warnlevel = 0;
-  /* If we go down below 80% full, issue another 85% warning
-     when we go up again.  */
-  else if (warnlevel > 1 && data_size < five_percent * 16)
-    warnlevel = 1;
-  /* If we go down below 90% full, issue another 95% warning
-     when we go up again.  */
-  else if (warnlevel > 2 && data_size < five_percent * 18)
-    warnlevel = 2;
+	case warned_95:
+	  (*warn_function) ("Warning: past 95% of memory limit");
+	}
+    }
+  /* Handle going down in usage levels, with some hysteresis.  */
+  else
+    {
+      /* If we go down below 70% full, issue another 75% warning
+	 when we go up again.  */
+      if (data_size < five_percent * 14)
+	warnlevel = not_warned;
+      /* If we go down below 80% full, issue another 85% warning
+	 when we go up again.  */
+      else if (warnlevel > warned_75 && data_size < five_percent * 16)
+	warnlevel = warned_75;
+      /* If we go down below 90% full, issue another 95% warning
+	 when we go up again.  */
+      else if (warnlevel > warned_85 && data_size < five_percent * 18)
+	warnlevel = warned_85;
+    }
 
   if (EXCEEDS_LISP_PTR (cp))
     (*warn_function) ("Warning: memory in use exceeds lisp pointer size");
 }
-
-/* Cause reinitialization based on job parameters;
-   also declare where the end of pure storage is. */
+
+/* Enable memory usage warnings.
+   START says where the end of pure storage is.
+   WARNFUN specifies the function to call to issue a warning.  */
 
 void
 memory_warnings (start, warnfun)
@@ -160,10 +258,8 @@
   warn_function = warnfun;
   __after_morecore_hook = check_memory_limits;
 
-#ifdef WINDOWSNT
   /* Force data limit to be recalculated on each run.  */
   lim_data = 0;
-#endif
 }
 
 /* arch-tag: eab04eda-1f69-447a-8d9f-95f0a3983ca5
--- a/src/w32fns.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/w32fns.c	Mon Mar 13 12:19:58 2006 +0000
@@ -2696,6 +2696,24 @@
 }
 
 static void
+signal_user_input ()
+{
+  /* Interrupt any lisp that wants to be interrupted by input.  */
+  if (!NILP (Vthrow_on_input))
+    {
+      Vquit_flag = Vthrow_on_input;
+      /* If we're inside a function that wants immediate quits,
+	 do it now.  */
+      if (immediate_quit && NILP (Vinhibit_quit))
+	{
+	  immediate_quit = 0;
+	  QUIT;
+	}
+    }
+}
+
+
+static void
 post_character_message (hwnd, msg, wParam, lParam, modifiers)
      HWND hwnd;
      UINT msg;
@@ -2752,6 +2770,8 @@
 	   to receive C-g to interrupt the lisp thread.  */
 	cancel_all_deferred_msgs ();
       }
+    else
+      signal_user_input ();
   }
 
   my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
@@ -3251,6 +3271,11 @@
 	BOOL up;
 	int button;
 
+	/* Ignore middle and extra buttons as long as the menu is active.  */
+	f = x_window_to_frame (dpyinfo, hwnd);
+	if (f && f->output_data.w32->menubar_active)
+	  return 0;
+
 	if (parse_button (msg, HIWORD (wParam), &button, &up))
 	  {
 	    if (up) ReleaseCapture ();
@@ -3266,6 +3291,7 @@
 
       wmsg.dwModifiers = w32_get_modifiers ();
       my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
+      signal_user_input ();
 
       /* Need to return true for XBUTTON messages, false for others,
          to indicate that we processed the message.  */
@@ -3320,11 +3346,13 @@
     case WM_MOUSEWHEEL:
       wmsg.dwModifiers = w32_get_modifiers ();
       my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
+      signal_user_input ();
       return 0;
 
     case WM_DROPFILES:
       wmsg.dwModifiers = w32_get_modifiers ();
       my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
+      signal_user_input ();
       return 0;
 
     case WM_TIMER:
@@ -3334,6 +3362,7 @@
 	  if (saved_mouse_button_msg.msg.hwnd)
 	    {
 	      post_msg (&saved_mouse_button_msg);
+	      signal_user_input ();
 	      saved_mouse_button_msg.msg.hwnd = 0;
 	    }
 	  KillTimer (hwnd, mouse_button_timer);
@@ -3836,6 +3865,7 @@
 	{
 	  wmsg.dwModifiers = w32_get_modifiers ();
 	  my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
+	  signal_user_input ();
 	  return 0;
 	}
 
@@ -4340,17 +4370,6 @@
   x_wm_set_size_hint (f, window_prompting, 0);
   UNBLOCK_INPUT;
 
-  /* Avoid a bug that causes the new frame to never become visible if
-     an echo area message is displayed during the following call1.  */
-  specbind(Qredisplay_dont_pause, Qt);
-
-  /* Set up faces after all frame parameters are known.  This call
-     also merges in face attributes specified for new frames.  If we
-     don't do this, the `menu' face for instance won't have the right
-     colors, and the menu bar won't appear in the specified colors for
-     new frames.  */
-  call1 (Qface_set_after_frame_default, frame);
-
   /* Make the window appear on the frame and enable display, unless
      the caller says not to.  However, with explicit parent, Emacs
      cannot control visibility, so don't try.  */
--- a/src/w32menu.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/w32menu.c	Mon Mar 13 12:19:58 2006 +0000
@@ -819,8 +819,10 @@
     }
 
 #ifdef HAVE_MENUS
-  /* If resources from a previous popup menu exist yet, does nothing
-     until the `menu_free_timer' has freed them (see w32fns.c).
+  /* If resources from a previous popup menu still exist, does nothing
+     until the `menu_free_timer' has freed them (see w32fns.c). This
+     can occur if you press ESC or click outside a menu without selecting
+     a menu item.
   */
   if (current_popup_menu)
     {
@@ -837,6 +839,8 @@
   UNBLOCK_INPUT;
 
   discard_menu_items ();
+  w32_free_menu_strings (FRAME_W32_WINDOW (f));
+
 #endif /* HAVE_MENUS */
 
   UNGCPRO;
--- a/src/w32term.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/w32term.c	Mon Mar 13 12:19:58 2006 +0000
@@ -210,6 +210,7 @@
 /* Where the mouse was last time we reported a mouse event.  */
 
 static RECT last_mouse_glyph;
+static FRAME_PTR last_mouse_glyph_frame;
 static Lisp_Object last_mouse_press_frame;
 
 int w32_num_mouse_buttons;
@@ -3372,11 +3373,13 @@
       frame->mouse_moved = 1;
       last_mouse_scroll_bar = Qnil;
       note_mouse_highlight (frame, -1, -1);
+      last_mouse_glyph_frame = 0;
       return 1;
     }
 
   /* Has the mouse moved off the glyph it was on at the last sighting?  */
-  if (mouse_x < last_mouse_glyph.left
+  if (frame != last_mouse_glyph_frame
+      || mouse_x < last_mouse_glyph.left
       || mouse_x >= last_mouse_glyph.right
       || mouse_y < last_mouse_glyph.top
       || mouse_y >= last_mouse_glyph.bottom)
@@ -3389,6 +3392,7 @@
 	 to keep track of the mouse for help_echo and highlighting at
 	 other times.  */
       remember_mouse_glyph (frame, mouse_x, mouse_y, &last_mouse_glyph);
+      last_mouse_glyph_frame = frame;
       return 1;
     }
 
@@ -3512,19 +3516,9 @@
 	       on it, i.e. into the same rectangles that matrices on
 	       the frame are divided into.  */
 
-#if OLD_REDISPLAY_CODE
-	    int ignore1, ignore2;
-
-	    ScreenToClient (FRAME_W32_WINDOW (f1), &pt);
-
-	    pixel_to_glyph_coords (f1, pt.x, pt.y, &ignore1, &ignore2,
-				   &last_mouse_glyph,
-				   FRAME_W32_DISPLAY_INFO (f1)->grabbed
-				   || insist);
-#else
 	    ScreenToClient (FRAME_W32_WINDOW (f1), &pt);
 	    remember_mouse_glyph (f1, pt.x, pt.y, &last_mouse_glyph);
-#endif
+	    last_mouse_glyph_frame = f1;
 
 	    *bar_window = Qnil;
 	    *part = 0;
@@ -5387,6 +5381,8 @@
 x_catch_errors (dpy)
 x_catch_errors_unwind (old_val)
 x_check_errors (dpy, format)
+x_fully_uncatch_errors ()
+x_catching_errors ()
 x_had_errors_p (dpy)
 x_clear_errors (dpy)
 x_uncatch_errors (dpy, count)
--- a/src/window.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/window.c	Mon Mar 13 12:19:58 2006 +0000
@@ -217,7 +217,7 @@
 
 /* Used by the function window_scroll_pixel_based */
 
-static int preserve_y;
+static int window_scroll_pixel_based_preserve_y;
 
 #if 0 /* This isn't used anywhere.  */
 /* Nonzero means we can split a frame even if it is "unsplittable".  */
@@ -4795,17 +4795,17 @@
 	 calls to scroll-up or scroll-down.  This avoids the
 	 possibility of point becoming "stuck" on a tall line when
 	 scrolling by one line.  */
-      if (preserve_y < 0
+      if (window_scroll_pixel_based_preserve_y < 0
 	  || (current_kboard->Vlast_command != Qscroll_up
 	      && current_kboard->Vlast_command != Qscroll_down))
 	{
 	  start_display (&it, w, start);
 	  move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
-	  preserve_y = it.current_y;
+	  window_scroll_pixel_based_preserve_y = it.current_y;
 	}
     }
   else
-    preserve_y = -1;
+    window_scroll_pixel_based_preserve_y = -1;
 
   /* Move iterator it from start the specified distance forward or
      backward.  The result is the new window start.  */
@@ -4935,12 +4935,13 @@
 	      || EQ (Vscroll_preserve_screen_position, Qt)))
 	/* We found PT at a legitimate height.  Leave it alone.  */
 	;
-      else if (preserve_y >= 0)
+      else if (window_scroll_pixel_based_preserve_y >= 0)
 	{
 	  /* If we have a header line, take account of it.
 	     This is necessary because we set it.current_y to 0, above.  */
 	  move_it_to (&it, -1, -1,
-		      preserve_y - (WINDOW_WANTS_HEADER_LINE_P (w) ? 1 : 0 ),
+		      window_scroll_pixel_based_preserve_y
+		      - (WINDOW_WANTS_HEADER_LINE_P (w) ? 1 : 0 ),
 		      -1, MOVE_TO_Y);
 	  SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));
 	}
@@ -4961,7 +4962,8 @@
       int charpos, bytepos;
       int partial_p;
 
-      /* Save our position, for the preserve_y case.  */
+      /* Save our position, for the
+	 window_scroll_pixel_based_preserve_y case.  */
       charpos = IT_CHARPOS (it);
       bytepos = IT_BYTEPOS (it);
 
@@ -4991,14 +4993,15 @@
 	      || EQ (Vscroll_preserve_screen_position, Qt)))
 	/* We found PT before we found the display margin, so PT is ok.  */
 	;
-      else if (preserve_y >= 0)
+      else if (window_scroll_pixel_based_preserve_y >= 0)
 	{
 	  SET_TEXT_POS_FROM_MARKER (start, w->start);
 	  start_display (&it, w, start);
 	  /* It would be wrong to subtract CURRENT_HEADER_LINE_HEIGHT
 	     here because we called start_display again and did not
 	     alter it.current_y this time.  */
-	  move_it_to (&it, -1, -1, preserve_y, -1, MOVE_TO_Y);
+	  move_it_to (&it, -1, -1, window_scroll_pixel_based_preserve_y, -1,
+		      MOVE_TO_Y);
 	  SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));
 	}
       else
@@ -7025,7 +7028,7 @@
   minibuf_selected_window = Qnil;
   staticpro (&minibuf_selected_window);
 
-  preserve_y = -1;
+  window_scroll_pixel_based_preserve_y = -1;
 
   DEFVAR_LISP ("temp-buffer-show-function", &Vtemp_buffer_show_function,
 	       doc: /* Non-nil means call as function to display a help buffer.
--- a/src/xdisp.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/xdisp.c	Mon Mar 13 12:19:58 2006 +0000
@@ -2032,7 +2032,7 @@
 	}
     }
 
-  *heightp = h - 1;
+  *heightp = h;
   return WINDOW_TO_FRAME_PIXEL_Y (w, y);
 }
 
--- a/src/xfns.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/xfns.c	Mon Mar 13 12:19:58 2006 +0000
@@ -2801,12 +2801,15 @@
   if (! EQ (icon_x, Qunbound))
     x_wm_set_icon_position (f, XINT (icon_x), XINT (icon_y));
 
+#if 0 /* x_get_arg removes the visibility parameter as a side effect,
+         but x_create_frame still needs it.  */
   /* Start up iconic or window? */
   x_wm_set_window_state
     (f, (EQ (x_get_arg (dpyinfo, parms, Qvisibility, 0, 0, RES_TYPE_SYMBOL),
 	     Qicon)
 	 ? IconicState
 	 : NormalState));
+#endif
 
   x_text_icon (f, (char *) SDATA ((!NILP (f->icon_name)
 				     ? f->icon_name
@@ -4621,6 +4624,7 @@
 
   check_x ();
 
+  parms = Fcopy_alist (parms);
 
 #ifdef MULTI_KBOARD
   kb = dpyinfo->kboard;
--- a/src/xterm.c	Fri Mar 10 23:46:54 2006 +0000
+++ b/src/xterm.c	Mon Mar 13 12:19:58 2006 +0000
@@ -7234,7 +7234,7 @@
 
   /* Set clipping, draw the rectangle, and reset clipping again.  */
   x_clip_to_row (w, row, TEXT_AREA, gc);
-  XDrawRectangle (dpy, FRAME_X_WINDOW (f), gc, x, y, wd, h);
+  XDrawRectangle (dpy, FRAME_X_WINDOW (f), gc, x, y, wd, h - 1);
   XSetClipMask (dpy, gc, None);
 }
 
@@ -7646,6 +7646,23 @@
   x_error_message->string[0] = 0;
 }
 
+/* Close off all unclosed x_catch_errors calls.  */
+
+void
+x_fully_uncatch_errors ()
+{
+  while (x_error_message)
+    x_uncatch_errors ();
+}
+
+/* Nonzero if x_catch_errors has been done and not yet canceled.  */
+
+int
+x_catching_errors ()
+{
+  return x_error_message != 0;
+}
+
 #if 0
 static unsigned int x_wire_count;
 x_trace_wire ()