changeset 122:d2f30a177268 r20-1b14

Import from CVS: tag r20-1b14
author cvs
date Mon, 13 Aug 2007 09:26:03 +0200
parents 419db647c998
children c77884c6318d
files CHANGES-beta ChangeLog lib-src/movemail.c lisp/ChangeLog lisp/efs/dired-faces.el lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/gnus-gl.el lisp/gnus/gnus-group.el lisp/gnus/gnus-msg.el lisp/gnus/gnus-srvr.el lisp/gnus/gnus-start.el lisp/gnus/gnus-sum.el lisp/gnus/gnus-undo.el lisp/gnus/gnus-xmas.el lisp/gnus/gnus.el lisp/gnus/message.el lisp/gnus/nnvirtual.el lisp/prim/about.el lisp/prim/custom-load.el lisp/prim/glyphs.el lisp/version.el lisp/w3/ChangeLog lisp/w3/FAQ lisp/w3/mm.el lisp/w3/url-ns.el lisp/w3/url-vars.el lisp/w3/url.el lisp/w3/w3-auto.el lisp/w3/w3-display.el lisp/w3/w3-e19.el lisp/w3/w3-parse.el lisp/w3/w3-sysdp.el lisp/w3/w3-vars.el lisp/w3/w3-xemac.el man/gnus.texi man/message.texi src/ChangeLog src/Makefile.in.in src/console-tty.h src/emacsfns.h src/events.c src/general.c src/glyphs-x.c src/glyphs.c src/glyphs.h src/redisplay-tty.c src/s/freebsd.h
diffstat 48 files changed, 492 insertions(+), 172 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES-beta	Mon Aug 13 09:25:31 2007 +0200
+++ b/CHANGES-beta	Mon Aug 13 09:26:03 2007 +0200
@@ -1,4 +1,13 @@
 							-*- indented-text -*-
+to 20.1 beta14
+-- about.el hacking
+-- W3-3.0.81
+-- autodetect restored for use with Glyphs
+-- Gnus-5.4.43
+-- miscellaneous bug fixes
+
+[beta13 was skipped]
+
 to 20.1 beta12
 -- Synch to Emacs/MULE patches courtesy of MORIOKA Tomohiko
 -- VM-6.24
--- a/ChangeLog	Mon Aug 13 09:25:31 2007 +0200
+++ b/ChangeLog	Mon Aug 13 09:26:03 2007 +0200
@@ -1,3 +1,7 @@
+Thu Apr 10 19:07:26 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* XEmacs 20.1-b14 is released.  (Beta 13 was skipped).
+
 Wed Apr  9 22:52:06 1997  Steven L Baur  <steve@altair.xemacs.org>
 
 	* XEmacs 20.1-b12 is released.
--- a/lib-src/movemail.c	Mon Aug 13 09:25:31 2007 +0200
+++ b/lib-src/movemail.c	Mon Aug 13 09:26:03 2007 +0200
@@ -62,6 +62,8 @@
 #include <stdio.h>
 #include <errno.h>
 #include <../src/syswait.h>
+#include <stdlib.h>
+#include <string.h>
 #ifdef MAIL_USE_POP
 #include "pop.h"
 #endif
--- a/lisp/ChangeLog	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/ChangeLog	Mon Aug 13 09:26:03 2007 +0200
@@ -1,6 +1,16 @@
+Thu Apr 10 13:23:14 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* prim/about.el (about-xemacs-xref): Forgot to link David Moore's
+	picture (oops).
+
+Thu Apr 10 12:30:29 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* efs/dired-faces.el (dired): Move to environment group.
+
 Wed Apr  9 19:45:46 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
 
-	* x-menubar.el (default-menubar): Inline definition of customize menu.
+	* x11/x-menubar.el (default-menubar): Inline definition of
+	customize menu.
 
 Wed Apr  9 10:45:54 1997  Steven L Baur  <steve@altair.xemacs.org>
 
--- a/lisp/efs/dired-faces.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/efs/dired-faces.el	Mon Aug 13 09:26:03 2007 +0200
@@ -16,7 +16,7 @@
 
 (defgroup dired nil
   "Directory editing."
-  :group 'emacs)
+  :group 'environment)
 
 (defcustom dired-do-highlighting t
   "Set if we should use highlighting according to filetype."
--- a/lisp/gnus/ChangeLog	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/ChangeLog	Mon Aug 13 09:26:03 2007 +0200
@@ -1,3 +1,72 @@
+Thu Apr 10 22:07:46 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+	* gnus.el: Gnus v5.4.43 is released.
+
+Thu Apr 10 21:47:08 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* gnus-start.el (gnus-save-newsrc-file): Message less.
+
+Thu Apr 10 21:35:45 1997  ISO-2022-JP  <morioka@jaist.ac.jp>
+
+	* gnus-sum.el (gnus-summary-show-article): Bind gnus-show-mime. 
+
+Thu Apr 10 21:26:19 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* gnus.el: Removed gnus-add-hook.
+
+Thu Apr  3 21:08:57 1997  Hrvoje Niksic  <hniksic@srce.hr>
+
+	* gnus-xmas.el (gnus-xmas-summary-set-display-table): Don't change
+	the values that are non-nil in the default table.
+	(gnus-xmas-add-hook): Removed it.
+
+Thu Apr 10 20:44:46 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* gnus-art.el (gnus-article-show-summary): Error better.
+
+	* message.el (message-indent-citation): Tippy-foot when deleting
+	leading empty lines.
+
+	* gnus-sum.el (gnus-summary-move-article): Update group lines. 
+
+	* gnus-srvr.el (gnus-server-exit): Configure windows.
+
+	* gnus-group.el: Added gnus-version to help map.
+
+Thu Apr 10 20:41:11 1997  Hrvoje Niksic  <hniksic@srce.hr>
+
+	* gnus-xmas.el: Customized.
+
+Thu Apr 10 19:58:40 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* gnus-sum.el (gnus-summary-next-group): Selected deleted group. 
+
+	* gnus-art.el (article-treat-overstrike): Don't bug out on empty
+	articles. 
+
+Thu Apr 10 19:52:27 1997  David Moore  <dmoore@ucsd.edu>
+
+	* nnvirtual.el (nnvirtual-partition-sequence): Style fix.
+
+Thu Apr 10 19:45:30 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* gnus-group.el (gnus-group-kill-group): Kill more carefully.
+
+Tue Apr  8 23:02:30 1997  Michael Welsh Duggan  <md5i@schenley.com>
+
+	* message.el (message-insert-to): Fetch reply field.
+
+Tue Apr  8 21:41:13 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* gnus-sum.el (gnus-summary-refer-article): Accept prefix.
+
+Sun Apr  6 14:08:03 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* gnus-xmas.el (gnus-xmas-summary-set-display-table): Add
+	missing paren.
+	(gnus-xmas-summary-set-display-table): current-display-table can
+	be nil.
+
 Sun Apr  6 23:17:21 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 	* gnus.el: Gnus v5.4.42 is released.
@@ -19,11 +88,6 @@
 
 	* gnus.el: Gnus v5.4.41 is released.
 
-Thu Apr  3 21:08:57 1997  Hrvoje Niksic  <hniksic@srce.hr>
-
-	* gnus-xmas.el (gnus-xmas-summary-set-display-table): Don't change
-	the values that are non-nil in the default table.
-
 Sun Apr  6 20:58:38 1997  Kim-Minh Kaplan  <kimminh.kaplan@utopia.eunet.fr>
 
 	* gnus-picon.el (gnus-picons-insert-face-if-exists): "." instead
--- a/lisp/gnus/gnus-art.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/gnus-art.el	Mon Aug 13 09:26:03 2007 +0200
@@ -744,26 +744,27 @@
   (interactive)
   (save-excursion
     (goto-char (point-min))
-    (re-search-forward "\n\n")
-    (let ((buffer-read-only nil))
-      (while (search-forward "\b" nil t)
-	(let ((next (following-char))
-	      (previous (char-after (- (point) 2))))
-	  ;; We do the boldification/underlining by hiding the
-	  ;; overstrikes and putting the proper text property
-	  ;; on the letters.
-	  (cond
-	   ((eq next previous)
-	    (gnus-article-hide-text-type (- (point) 2) (point) 'overstrike)
-	    (put-text-property (point) (1+ (point)) 'face 'bold))
-	   ((eq next ?_)
-	    (gnus-article-hide-text-type (1- (point)) (1+ (point)) 'overstrike)
-	    (put-text-property
-	     (- (point) 2) (1- (point)) 'face 'underline))
-	   ((eq previous ?_)
-	    (gnus-article-hide-text-type (- (point) 2) (point) 'overstrike)
-	    (put-text-property
-	     (point) (1+ (point)) 'face 'underline))))))))
+    (when (search-forward "\n\n" nil t)
+      (let ((buffer-read-only nil))
+	(while (search-forward "\b" nil t)
+	  (let ((next (following-char))
+		(previous (char-after (- (point) 2))))
+	    ;; We do the boldification/underlining by hiding the
+	    ;; overstrikes and putting the proper text property
+	    ;; on the letters.
+	    (cond
+	     ((eq next previous)
+	      (gnus-article-hide-text-type (- (point) 2) (point) 'overstrike)
+	      (put-text-property (point) (1+ (point)) 'face 'bold))
+	     ((eq next ?_)
+	      (gnus-article-hide-text-type
+	       (1- (point)) (1+ (point)) 'overstrike)
+	      (put-text-property
+	       (- (point) 2) (1- (point)) 'face 'underline))
+	     ((eq previous ?_)
+	      (gnus-article-hide-text-type (- (point) 2) (point) 'overstrike)
+	      (put-text-property
+	       (point) (1+ (point)) 'face 'underline)))))))))
 
 (defun article-fill ()
   "Format too long lines."
@@ -2142,8 +2143,10 @@
 (defun gnus-article-show-summary ()
   "Reconfigure windows to show summary buffer."
   (interactive)
-  (gnus-configure-windows 'article)
-  (gnus-summary-goto-subject gnus-current-article))
+  (if (not (gnus-buffer-live-p gnus-summary-buffer))
+      (error "There is no summary buffer for this article buffer")
+    (gnus-configure-windows 'article)
+    (gnus-summary-goto-subject gnus-current-article)))
 
 (defun gnus-article-describe-briefly ()
   "Describe article mode commands briefly."
--- a/lisp/gnus/gnus-gl.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/gnus-gl.el	Mon Aug 13 09:26:03 2007 +0200
@@ -811,9 +811,9 @@
 	    (> (prefix-numeric-value arg) 0)))
     (when gnus-grouplens-mode
       (make-local-hook 'gnus-select-article-hook)
-      (gnus-add-hook 'gnus-select-article-hook 'grouplens-do-time nil 'local)
+      (add-hook 'gnus-select-article-hook 'grouplens-do-time nil 'local)
       (make-local-hook 'gnus-exit-group-hook)
-      (gnus-add-hook 'gnus-exit-group-hook 'bbb-exit-group nil 'local)
+      (add-hook 'gnus-exit-group-hook 'bbb-exit-group nil 'local)
       (make-local-variable 'gnus-score-find-score-files-function)
 
       (cond
--- a/lisp/gnus/gnus-group.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/gnus-group.el	Mon Aug 13 09:26:03 2007 +0200
@@ -549,7 +549,8 @@
 
   (gnus-define-keys (gnus-group-help-map "H" gnus-group-mode-map)
     "d" gnus-group-describe-group
-    "f" gnus-group-fetch-faq)
+    "f" gnus-group-fetch-faq
+    "v" gnus-version)
 
   (gnus-define-keys (gnus-group-sub-map "S" gnus-group-mode-map)
     "l" gnus-group-set-current-level
@@ -763,7 +764,7 @@
   (gnus-update-format-specifications nil 'group 'group-mode)
   (gnus-update-group-mark-positions)
   (make-local-hook 'post-command-hook)
-  (gnus-add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t)
+  (add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t)
   (when gnus-use-undo
     (gnus-undo-mode 1))
   (run-hooks 'gnus-group-mode-hook))
--- a/lisp/gnus/gnus-msg.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/gnus-msg.el	Mon Aug 13 09:26:03 2007 +0200
@@ -180,7 +180,7 @@
 
 (defun gnus-inews-add-send-actions (winconf buffer article)
   (make-local-hook 'message-sent-hook)
-  (gnus-add-hook 'message-sent-hook 'gnus-inews-do-gcc nil t)
+  (add-hook 'message-sent-hook 'gnus-inews-do-gcc nil t)
   (setq message-post-method
 	`(lambda (arg)
 	   (gnus-post-method arg ,gnus-newsgroup-name)))
--- a/lisp/gnus/gnus-srvr.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/gnus-srvr.el	Mon Aug 13 09:26:03 2007 +0200
@@ -314,9 +314,9 @@
 (defun gnus-server-exit ()
   "Return to the group buffer."
   (interactive)
+  (run-hooks 'gnus-server-exit-hook)
   (kill-buffer (current-buffer))
-  (switch-to-buffer gnus-group-buffer)
-  (run-hooks 'gnus-server-exit-hook))
+  (gnus-configure-windows 'group t))
 
 (defun gnus-server-list-servers ()
   "List all available servers."
--- a/lisp/gnus/gnus-start.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/gnus-start.el	Mon Aug 13 09:26:03 2007 +0200
@@ -2174,9 +2174,9 @@
 	    (gnus-slave-save-newsrc)
 	  ;; Save .newsrc.
 	  (when gnus-save-newsrc-file
-	    (gnus-message 5 "Saving %s..." gnus-current-startup-file)
+	    (gnus-message 8 "Saving %s..." gnus-current-startup-file)
 	    (gnus-gnus-to-newsrc-format)
-	    (gnus-message 5 "Saving %s...done" gnus-current-startup-file))
+	    (gnus-message 8 "Saving %s...done" gnus-current-startup-file))
 	  ;; Save .newsrc.eld.
 	  (set-buffer (get-buffer-create " *Gnus-newsrc*"))
 	  (make-local-variable 'version-control)
--- a/lisp/gnus/gnus-sum.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/gnus-sum.el	Mon Aug 13 09:26:03 2007 +0200
@@ -1855,7 +1855,7 @@
   (make-local-variable 'gnus-summary-line-format-spec)
   (make-local-variable 'gnus-summary-mark-positions)
   (make-local-hook 'post-command-hook)
-  (gnus-add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t)
+  (add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t)
   (run-hooks 'gnus-summary-mode-hook)
   (gnus-update-format-specifications nil 'summary 'summary-mode 'summary-dummy)
   (gnus-update-summary-mark-positions))
@@ -5128,7 +5128,7 @@
 	  (progn
 	    (gnus-message 5 "Returning to the group buffer")
 	    (setq entered t)
-	    (when (buffer-live-p current-buffer)
+	    (when (gnus-buffer-live-p current-buffer)
 	      (set-buffer current-buffer)
 	      (gnus-summary-exit))
 	    (run-hooks 'gnus-group-no-more-groups-hook))
@@ -6133,9 +6133,11 @@
       (gnus-summary-position-point)
       n)))
 
-(defun gnus-summary-refer-article (message-id)
-  "Fetch an article specified by MESSAGE-ID."
-  (interactive "sMessage-ID: ")
+(defun gnus-summary-refer-article (message-id &optional arg)
+  "Fetch an article specified by MESSAGE-ID.
+If ARG (the prefix), fetch the article using `gnus-refer-article-method'
+or `gnus-select-method', no matter what backend the article comes from."
+  (interactive "sMessage-ID: \nP")
   (when (and (stringp message-id)
 	     (not (zerop (length message-id))))
     ;; Construct the correct Message-ID if necessary.
@@ -6157,8 +6159,11 @@
 	      (gnus-summary-update-article (mail-header-number header))))
 	;; We fetch the article
 	(let ((gnus-override-method
-	       (and (gnus-news-group-p gnus-newsgroup-name)
-		    gnus-refer-article-method))
+	       (cond ((gnus-news-group-p gnus-newsgroup-name)
+		      gnus-refer-article-method)
+		     (arg
+		      (or gnus-refer-article-method gnus-select-method))
+		     (t nil)))
 	      number)
 	  ;; Start the special refer-article method, if necessary.
 	  (when (and gnus-refer-article-method
@@ -6480,6 +6485,7 @@
 	  gnus-article-display-hook
 	  gnus-article-prepare-hook
 	  gnus-break-pages
+	  gnus-show-mime
 	  gnus-visual)
       (gnus-summary-select-article nil 'force)))
   (gnus-summary-goto-subject gnus-current-article)
@@ -6777,7 +6783,11 @@
       (gnus-summary-remove-process-mark article))
     ;; Re-activate all groups that have been moved to.
     (while to-groups
-      (gnus-activate-group (pop to-groups)))
+      (save-excursion
+	(set-buffer gnus-group-buffer)
+	(when (gnus-group-goto-group (car to-groups) t)
+	  (gnus-group-get-new-news-this-group 1))
+	(pop to-groups)))
 
     (gnus-kill-buffer copy-buf)
     (gnus-summary-position-point)
--- a/lisp/gnus/gnus-undo.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/gnus-undo.el	Mon Aug 13 09:26:03 2007 +0200
@@ -102,7 +102,7 @@
       (push (cons 'gnus-undo-mode gnus-undo-mode-map)
 	    minor-mode-map-alist))
     (make-local-hook 'post-command-hook)
-    (gnus-add-hook 'post-command-hook 'gnus-undo-boundary nil t)
+    (add-hook 'post-command-hook 'gnus-undo-boundary nil t)
     (add-hook 'gnus-summary-exit-hook 'gnus-undo-boundary)
     (run-hooks 'gnus-undo-mode-hook)))
 
--- a/lisp/gnus/gnus-xmas.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/gnus-xmas.el	Mon Aug 13 09:26:03 2007 +0200
@@ -29,10 +29,17 @@
 (defvar menu-bar-mode (featurep 'menubar))
 (require 'messagexmas)
 
-(defvar gnus-xmas-glyph-directory nil
+(defgroup gnus-xmas nil
+  "XEmacsoid support for Gnus"
+  :group 'gnus)
+
+(defcustom gnus-xmas-glyph-directory nil
   "*Directory where Gnus logos and icons are located.
 If this variable is nil, Gnus will try to locate the directory
-automatically.")
+automatically."
+  :type '(choice (const :tag "autodetect" nil)
+		 directory)
+  :group 'gnus-xmas)
 
 (defvar gnus-xmas-logo-color-alist
   '((flame "#cc3300" "#ff2200")
@@ -49,20 +56,26 @@
     (september "#bf9900" "#ffcc00"))
   "Color alist used for the Gnus logo.")
 
-(defvar gnus-xmas-logo-color-style 'flame
-  "Color styles used for the Gnus logo.")
+(defcustom gnus-xmas-logo-color-style 'flame
+  "Color styles used for the Gnus logo."
+  :type '(choice (const flame) (const pine) (const moss)
+		 (const irish) (const sky) (const tin)
+		 (const velvet) (const grape) (const labia)
+		 (const berry) (const neutral) (const september))
+  :group 'gnus-xmas)
 
 (defvar gnus-xmas-logo-colors
   (cdr (assq gnus-xmas-logo-color-style gnus-xmas-logo-color-alist))
   "Colors used for the Gnus logo.")
 
-(defvar gnus-article-x-face-command
+(defcustom gnus-article-x-face-command
   (if (featurep 'xface)
       'gnus-xmas-article-display-xface
     "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | xv -quit -")
   "String or function to be executed to display an X-Face header.
 If it is a string, the command will be executed in a sub-shell
-asynchronously.	 The compressed face will be piped to this command.")
+asynchronously.	 The compressed face will be piped to this command."
+  :type '(choice string function))
 
 ;;; Internal variables.
 
@@ -137,9 +150,11 @@
     (set-extent-face gnus-newsgroup-selected-overlay
 		     gnus-summary-selected-face)))
 
-(defvar gnus-xmas-force-redisplay nil
+(defcustom gnus-xmas-force-redisplay nil
   "If non-nil, force a redisplay before recentering the summary buffer.
-This is ugly, but it works around a bug in `window-displayed-height'.")
+This is ugly, but it works around a bug in `window-displayed-height'."
+  :type 'boolean
+  :group 'gnus-xmas)
 
 (defun gnus-xmas-switch-horizontal-scrollbar-off ()
   (when (featurep 'scrollbar)
@@ -195,18 +210,15 @@
     (aset table ?\n nil)
     (aset table ?\r nil)
     ;; We nix out any glyphs over 126 that are not set already.
-    (let ((i 256))
-      (while (>= (setq i (1- i)) 127)
-	;; Only modify if the default entry is nil.
-	(when (or (not default-table)
-		  (not (aref default-table i)))
-	  (aset table i [??]))))
+    (when default-table
+      (let ((i 256))
+	(while (>= (setq i (1- i)) 127)
+	  ;; Only modify if the default entry is nil.
+	  (unless (aref default-table i)
+	    (aset table i [??])))))
     ;; Can't use `set-specifier' because of a bug in 19.14 and earlier
     (add-spec-to-specifier current-display-table table (current-buffer) nil)))
 
-(defun gnus-xmas-add-hook (hook function &optional append local)
-  (add-hook hook function))
-
 (defun gnus-xmas-add-text-properties (start end props &optional object)
   (add-text-properties start end props object)
   (put-text-property start end 'start-closed nil object))
@@ -478,7 +490,6 @@
   (fset 'gnus-appt-select-lowest-window
 	'gnus-xmas-appt-select-lowest-window)
   (fset 'gnus-mail-strip-quoted-names 'gnus-xmas-mail-strip-quoted-names)
-  (fset 'gnus-add-hook 'gnus-xmas-add-hook)
   (fset 'gnus-character-to-event 'character-to-event)
   (fset 'gnus-mode-line-buffer-identification
 	'gnus-xmas-mode-line-buffer-identification)
@@ -596,13 +607,18 @@
 
 ;;; The toolbar.
 
-(defvar gnus-use-toolbar (if (featurep 'toolbar)
-			     'default-toolbar
-			   nil)
+(defcustom gnus-use-toolbar (if (featurep 'toolbar)
+				'default-toolbar
+			      nil)
   "*If nil, do not use a toolbar.
 If it is non-nil, it must be a toolbar.  The five legal values are
 `default-toolbar', `top-toolbar', `bottom-toolbar',
-`right-toolbar', and `left-toolbar'.")
+`right-toolbar', and `left-toolbar'."
+  :type '(choice (const default-toolbar)
+		 (const top-toolbar) (const bottom-toolbar)
+		 (const left-toolbar) (const right-toolbar)
+		 (const :tag "no toolbar" nil))
+  :group 'gnus-xmas)
 
 (defvar gnus-group-toolbar
   '([gnus-group-get-new-news gnus-group-get-new-news t "Get new news"]
@@ -712,10 +728,9 @@
    'call-process-region (point-min) (point-max) command t '(t nil) nil
    args))
 
-(unless (find-face 'gnus-x-face)
-  (copy-face 'default 'gnus-x-face)
-  (set-face-foreground 'gnus-x-face "black")
-  (set-face-background 'gnus-x-face "white"))
+(defface gnus-x-face '((t (:foreground "black" :background "white")))
+  "Face to show X face"
+  :group 'gnus-xmas)
 
 (defun gnus-xmas-article-display-xface (beg end)
   "Display any XFace headers in the current article."
--- a/lisp/gnus/gnus.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/gnus.el	Mon Aug 13 09:26:03 2007 +0200
@@ -226,7 +226,7 @@
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "5.4.42"
+(defconst gnus-version-number "5.4.43"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
@@ -258,7 +258,6 @@
   (defalias 'gnus-topic-remove-excess-properties 'ignore)
   (defalias 'gnus-appt-select-lowest-window 'appt-select-lowest-window)
   (defalias 'gnus-mail-strip-quoted-names 'mail-strip-quoted-names)
-  (defalias 'gnus-add-hook 'add-hook)
   (defalias 'gnus-character-to-event 'identity)
   (defalias 'gnus-add-text-properties 'add-text-properties)
   (defalias 'gnus-put-text-property 'put-text-property)
--- a/lisp/gnus/message.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/message.el	Mon Aug 13 09:26:03 2007 +0200
@@ -1330,7 +1330,7 @@
 (defun message-insert-to ()
   "Insert a To header that points to the author of the article being replied to."
   (interactive)
-  (let ((co (message-fetch-field "mail-copies-to")))
+  (let ((co (message-fetch-reply-field "mail-copies-to")))
     (when (and co
 	       (equal (downcase co) "never"))
       (error "The user has requested not to have copies sent via mail")))
@@ -1515,14 +1515,20 @@
   (let ((start (point)))
     ;; Remove unwanted headers.
     (when message-ignored-cited-headers
-      (save-restriction
-	(narrow-to-region
-	 (goto-char start)
-	 (if (search-forward "\n\n" nil t)
-	     (1- (point))
-	   (point)))
-	(message-remove-header message-ignored-cited-headers t)
-	(goto-char (point-max))))
+      (let (all-removed)
+	(save-restriction
+	  (narrow-to-region
+	   (goto-char start)
+	   (if (search-forward "\n\n" nil t)
+	       (1- (point))
+	     (point)))
+	  (message-remove-header message-ignored-cited-headers t)
+	  (when (= (point-min) (point-max))
+	    (setq all-removed t))
+	  (goto-char (point-max)))
+	(if all-removed
+	    (goto-char start)
+	  (forward-line 1))))
     ;; Delete blank lines at the start of the buffer.
     (while (and (point-min)
 		(eolp)
--- a/lisp/gnus/nnvirtual.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/gnus/nnvirtual.el	Mon Aug 13 09:26:03 2007 +0200
@@ -626,7 +626,7 @@
 	  (setq entry (assoc (car article) carticles))
 	  (setcdr entry (cons (cdr article) (cdr entry))))
 	(setq i (1+ i))))
-    (mapc '(lambda (x) (setcdr x (nreverse (cdr x))))
+    (mapc (lambda (x) (setcdr x (nreverse (cdr x))))
 	  carticles)
     carticles))
 
--- a/lisp/prim/about.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/prim/about.el	Mon Aug 13 09:26:03 2007 +0200
@@ -157,7 +157,7 @@
     (toggle-read-only 0)
 
     (let ((rest (if who-to-load (list who-to-load)
-		  '(steve mrb cthomp wing stig jwz mly vladimir baw piper bw wmperry kyle larsi jens jareth)))
+		  '(steve mrb cthomp wing stig jwz mly vladimir baw piper bw wmperry kyle larsi jens jareth morioka dmoore)))
 	  (got-error nil))
       (while rest
 	(let* ((who (car rest))
@@ -303,6 +303,7 @@
 	  ('jens "About Jens Lautenbacher")
 	  ('jareth "About Jareth Hein")
 	  ('morioka "About MORIOKA Tomohiko")
+	  ('dmoore "About David Moore")
 	  ('others "About Everyone")
 	  ('features "New XEmacs Features")
 	  ('history "XEmacs History")
@@ -836,6 +837,22 @@
 	(Japan Advanced Institute of Science and Technology, Hokuriku).
 	I'm interested in Natural Language, Affordance and writing systems.")
 
+	  (insert "\n\n\tClick ")
+	  (about-xref "here" prev-page "Return to previous page")
+	  (insert " to go back to the previous page.\n")
+	  )
+
+	 ((eq xref 'dmoore)
+	  (about-face "David Moore" 'bold)
+	  (insert " <dmoore@UCSD.edu>
+
+	David has contributed greatly to the quest to speed up XEmacs.
+	He is a student in the Computer Systems Laboratory at UCSD.
+	When he manages to have free time, he usually spends it on 200
+	mile bicycle rides, learning german or showing people the best
+	mail & news environment he's found in 10 years.  (That'd be
+	XEmacs, Gnus and bbdb, of course.)  He can be found at
+	`druidmuck.egbt.org 4201' at various hours of the day.")
 
 	  (insert "\n\n\tClick ")
 	  (about-xref "here" prev-page "Return to previous page")
@@ -942,6 +959,16 @@
 	(Japan Advanced Institute of Science and Technology, Hokuriku).
 	I'm interested in Natural Language, Affordance and writing systems.
 
+	") (about-xref "David Moore" 'dmoore "Find out more about David Moore") (insert " <dmoore@UCSD.EDU>
+
+	David has contributed greatly to the quest to speed up XEmacs.
+	He is a student in the Computer Systems Laboratory at UCSD.
+	When he manages to have free time, he usually spends it on 200
+	mile bicycle rides, learning german or showing people the best
+	mail & news environment he's found in 10 years.  (That'd be
+	XEmacs, Gnus and bbdb, of course.)  He can be found at
+	`druidmuck.egbt.org 4201' at various hours of the day.
+
 	Darrell Kindred <Darrell.Kindred@cmu.edu>
 	Unofficial maintainer of the xemacs-beta list of extant bugs
 	and contributor of an extraordinary number of important bug
@@ -983,15 +1010,6 @@
 	Author of the code used to connect XEmacs with ToolTalk, and
 	of an early client of the external Emacs widget.
 
-	David Moore <dmoore@UCSD.EDU>
-	David has contributed greatly to the quest to speed up XEmacs.
-	He is a student in the Computer Systems Laboratory at UCSD.
-	When he manages to have free time, he usually spends it on 200
-	mile bicycle rides, learning german or showing people the best
-	mail & news environment he's found in 10 years.  (That'd be
-	XEmacs, Gnus and bbdb, of course.)  He can be found at
-	`druidmuck.egbt.org 4201' at various hours of the day.
-
 	Hrvoje Niksic <hniksic@srce.hr>
 	Hrvoje is currently a student at the Faculty of Electrical
 	Engineering and Computing in Zagreb, Croatia.  He works part-
@@ -1010,11 +1028,14 @@
 	  Per Abrahamsen <abraham@dina.kvl.dk>
 	  Gary Adams <gra@zeppo.East.Sun.COM>
 	  Gennady Agranov <agranov@csa.CS.Technion.Ac.IL>
+	  Adrian Aichner <aichner@ecf.teradyne.com>
 	  Mark Allender <allender@vnet.IBM.COM>
 	  Butch Anton <butch@zaphod.uchicago.edu>
 	  Fred Appelman <Fred.Appelman@cv.ruu.nl>
 	  Erik \"The Pope\" Arneson <lazarus@mind.net>
 	  Tor Arntsen <tor@spacetec.no>
+	  Larry Auton <lda@control.att.com>
+	  Oswald P. Backus IV <backus@altagroup.com>
 	  Mike Battaglia <mbattagl@dsccc.com>
 	  Neal Becker <neal@ctd.comsat.com>
 	  Paul Bibilo <peb@delcam.com>
@@ -1028,19 +1049,23 @@
 	  Rick Campbell <rickc@lehman.com>
 	  Richard Caley <rjc@cstr.edinburgh.ac.uk>
 	  Stephen Carney <carney@gvc.dec.com>
+	  Lorenzo M. Catucci <lorenzo@argon.roma2.infn.it>
 	  Philippe Charton <charton@lmd.ens.fr>
 	  Peter Cheng <peter.cheng@sun.com>
 	  Jin S. Choi <jin@atype.com>
 	  Tomasz J. Cholewo <tjchol01@mecca.spd.louisville.edu>
 	  Serenella Ciongoli <czs00@ladybug.oes.amdahl.com>
+	  Glynn Clements <glynn@sensei.co.uk>
 	  Richard Cognot <cognot@ensg.u-nancy.fr>
 	  Andy Cohen <cohen@andy.bu.edu>
 	  Andrew J Cosgriff <ajc@bing.wattle.id.au>
 	  Nick J. Crabtree <nickc@scopic.com>
 	  Christopher Davis <ckd@kei.com>
 	  Soren Dayton <csdayton@cs.uchicago.edu>
+	  Chris Dean <ctdean@cogit.com>
 	  Michael Diers <mdiers@logware.de>
 	  William G. Dubuque <wgd@martigny.ai.mit.edu>
+	  Steve Dunham <dunham@dunham.tcimet.net>
 	  Samuel J. Eaton <samuele@cogs.susx.ac.uk>
 	  Carl Edman <cedman@Princeton.EDU>
 	  Dave Edmondson <davided@sco.com>
@@ -1051,18 +1076,22 @@
 	  David Fletcher <frodo@tsunami.com>
 	  Paul Flinders <ptf@delcam.co.uk>
 	  Jered J Floyd <jered@mit.edu>
+	  Gary D. Foster <Gary.Foster@Corp.Sun.COM>
 	  Jerry Frain <jerry@sneffels.tivoli.com>
+	  Holger Franz <hfranz@physik.rwth-aachen.de>
 	  Benjamin Fried <bf@morgan.com>
-	  Barry Friedman <friedman@bnr.ca>
+	  Barry Friedman <friedman@nortel.ca>
 	  Lew Gaiter III <lew@StarFire.com>
 	  Itay Gat <itay@cs.huji.ac.il>
 	  Tim Geisler <Tim.Geisler@informatik.uni-muenchen.de>
 	  Dave Gillespie <daveg@synaptics.com>
 	  Christian F. Goetze <cg@bigbook.com>
+	  Yusuf Goolamabbas <yusufg@iss.nus.sg>
 	  Wolfgang Grieskamp <wg@cs.tu-berlin.de>
 	  James Grinter <jrg@demon.net>
 	  Ben Gross <bgross@uiuc.edu>
 	  Dirk Grunwald <grunwald@foobar.cs.Colorado.EDU>
+	  Michael Guenther <michaelg@igor.stuttgart.netsurf.de>
 	  Dipankar Gupta <dg@hplb.hpl.hp.com>
 	  Markus Gutschke <gutschk@GOEDEL.UNI-MUENSTER.DE>
 	  Adam Hammer <hammer@cs.purdue.edu>
@@ -1070,12 +1099,19 @@
 	  ChangGil Han <cghan@phys401.phys.pusan.ac.kr>
 	  Derek Harding <dharding@lssec.bt.co.uk>
 	  Michael Harnois <mharnois@sbt.net>
+	  Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>
 	  John Haxby <J.Haxby@isode.com>
+	  Karl M. Hegbloom <karlheg@inetarena.com>
 	  Benedikt Heinen <beh@icemark.thenet.ch>
 	  Stephan Herrmann <sh@first.gmd.de>
 	  Charles Hines <chuck_hines@VNET.IBM.COM>
+	  Shane Holder <holder@rsn.hp.com>
 	  David Hughes <djh@harston.cv.com>
+	  Tatsuya Ichikawa <ichikawa@hv.epson.co.jp>
+	  Kazuyuki IENAGA <ienaga@jsys.co.jp>
 	  Andrew Innes <andrewi@harlequin.co.uk>
+	  Vladimir Ivanovic <Vladimir.Ivanovic@mri.com>
+	  Andreas Jaeger <aj@arthur.pfalz.de>
 	  Markku Jarvinen <Markku.Jarvinen@simpukka.funet.fi>
 	  Robin Jeffries <robin.jeffries@sun.com>
 	  Philip Johnson <johnson@uhics.ics.Hawaii.Edu>
@@ -1089,6 +1125,8 @@
 	  Yasuhiko Kiuchi <kiuchi@dsp.ksp.fujixerox.co.jp>
 	  Greg Klanderman <greg@alphatech.com>
 	  Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
+	  Rob Kooper <kooper@cc.gatech.edu>
+	  Peter Skov Knudsen <knu@dde.dk>
 	  Jens Krinke <krinke@ips.cs.tu-bs.de>
 	  Mats Larsson <Mats.Larsson@uab.ericsson.se>
 	  Simon Leinen <simon@instrumatic.ch>
@@ -1097,6 +1135,7 @@
 	  Mats Lidell <mats.lidell@contactor.se>
 	  Matt Liggett <mliggett@seven.ucs.indiana.edu>
 	  Christian Limpach <Christian.Limpach@nice.ch>
+	  Markus Linnala <maage@b14b.tupsu.ton.tut.fi>
 	  Robert Lipe <robertl@arnet.com>
 	  Damon Lipparelli <lipp@aa.net>
 	  Hamish Macdonald <hamish@bnr.ca>
@@ -1109,6 +1148,7 @@
 	  Simon Marshall <simon@gnu.ai.mit.edu>
 	  Dave Mason <dmason@plg.uwaterloo.ca>
 	  Jaye Mathisen <mrcpu@cdsnet.net>
+	  Michael McNamara <mac@silicon-sorcery.com>
 	  Michael Meissner <meissner@osf.org>
 	  David M. Meyer <meyer@ns.uoregon.edu>
 	  Brad Miller <bmiller@cs.umn.edu>
@@ -1137,17 +1177,21 @@
 	  Tibor Polgar <tlp00@eng.amdahl.com>
 	  Frederic Poncin <fp@info.ucl.ac.be>
 	  E. Rehmi Post <rehmi@asylum.sf.ca.us>
+	  Martin Pottendorfer <Martin.Pottendorfer@aut.alcatel.at>
 	  Colin Rafferty <craffert@spspme.ml.com>
 	  Paul M Reilly <pmr@pajato.com>
 	  Jack Repenning <jackr@sgi.com>
 	  Daniel Rich <drich@cisco.com>
 	  Roland Rieke <rol@darmstadt.gmd.de>
+	  Art Rijos <art.rijos@SNET.com>
 	  Russell Ritchie <ritchier@msc.ie>
 	  Roland <rol@darmstadt.gmd.de>
+	  Anthony Rossini <rossini@math.sc.edu>
 	  Mike Russell <mjruss@rchland.vnet.ibm.com>
 	  Jan Sandquist <etxquist@iqa.ericsson.se>
 	  Marty Sasaki <sasaki@spdcc.com>
 	  Mike Scheidler <c23mts@eng.delcoelect.com>
+	  Daniel Schepler <daniel@shep13.wustl.edu>
 	  Darrel Schneider <darrel@slc.com>
 	  Hayden Schultz <haydens@ll.mit.edu>
 	  Cotton Seed <cottons@cybercom.net>
@@ -1156,18 +1200,23 @@
 	  Vinnie Shelton <shelton@icd.teradyne.com>
 	  John Shen <zfs60@cas.org>
 	  Murata Shuuichirou <mrt@mickey.ai.kyutech.ac.jp>
+	  Dinesh Somasekhar <somasekh@ecn.purdue.edu>
 	  Jeffrey Sparkes <jsparkes@bnr.ca>
 	  Michael Sperber <sperber@informatik.uni-tuebingen.de>
 	  Manoj Srivastava <srivasta@pilgrim.umass.edu>
 	  Francois Staes <frans@kiwi.uia.ac.be>
+	  Anders Stenman <stenman@isy.liu.se>
 	  Jason Stewart <jasons@cs.unm.edu>
 	  Rick Tait <rickt@gnu.ai.mit.edu>
+	  Marcus Thiessel <thiessel@rhrk.uni-kl.de>
 	  James Thompson <thompson@wg2.waii.com>
 	  Raymond L. Toy <toy@rtp.ericsson.se>
+	  Remek Trzaska <remek@npac.syr.edu>
 	  John Turner <turner@xdiv.lanl.gov>
 	  Juan E. Villacis <jvillaci@cs.indiana.edu>
 	  Jan Vroonhof <vroonhof@math.ethz.ch>
 	  Vladimir Vukicevic <vladimir@intrepid.com>
+	  David Walter<djw18@cornell.edu>
 	  Peter Ware <ware@cis.ohio-state.edu>
 	  Yoav Weiss <yoav@zeus.datasrv.co.il>
 	  Rod Whitby <rwhitby@asc.corp.mot.com>
--- a/lisp/prim/custom-load.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/prim/custom-load.el	Mon Aug 13 09:26:03 2007 +0200
@@ -17,7 +17,7 @@
 (put 'tcl 'custom-loads '("tcl"))
 (put 'widgets 'custom-loads '("wid-browse" "wid-edit"))
 (put 'minibuffer 'custom-loads '("minibuf"))
-(put 'environment 'custom-loads '("minibuf" "modeline" "x-toolbar" "cus-edit"))
+(put 'environment 'custom-loads '("minibuf" "modeline" "x-toolbar" "cus-edit" "dired-faces"))
 (put 'gnus-article-buttons 'custom-loads '("gnus-art"))
 (put 'gnus-extract-archive 'custom-loads '("gnus-uu"))
 (put 'html 'custom-loads '("psgml-html"))
@@ -33,7 +33,7 @@
 (put 'boolean 'custom-loads '("bookmark"))
 (put 'auto-save 'custom-loads '("auto-save"))
 (put 'gnus-group-foreign 'custom-loads '("gnus-group"))
-(put 'gnus-article-washing 'custom-loads '("gnus-art"))
+(put 'gnus-article-washing 'custom-loads '("gnus-xmas" "gnus-art"))
 (put 'ispell 'custom-loads '("ispell"))
 (put 'mail 'custom-loads '("gnus" "message" "mail-abbrevs" "supercite" "highlight-headers"))
 (put 'gnus-summary-exit 'custom-loads '("gnus-sum"))
@@ -88,7 +88,8 @@
 (put 'cc-indent 'custom-loads '("cc-mode"))
 (put 'compression 'custom-loads '("jka-compr"))
 (put 'comm 'custom-loads '("ssl"))
-(put 'gnus 'custom-loads '("gnus-art" "gnus-async" "gnus-cache" "gnus-demon" "gnus-dup" "gnus-eform" "gnus-uu" "gnus-win" "gnus" "nnmail"))
+(put 'gnus 'custom-loads '("gnus-art" "gnus-async" "gnus-cache" "gnus-demon" "gnus-dup" "gnus-eform" "gnus-uu" "gnus-win" "gnus-xmas" "gnus" "nnmail"))
+(put 'gnus-xmas 'custom-loads '("gnus-xmas"))
 (put 'gnus-treading 'custom-loads '("gnus-sum"))
 (put 'psgml-html 'custom-loads '("psgml-html"))
 (put 'nnmail 'custom-loads '("nnmail"))
@@ -151,7 +152,7 @@
 (put 'xmine 'custom-loads '("xmine"))
 (put 'supercite-frames 'custom-loads '("supercite"))
 (put 'gnus-article-highlight 'custom-loads '("gnus-art"))
-(put 'emacs 'custom-loads '("cus-edit" "dired-faces"))
+(put 'emacs 'custom-loads '("cus-edit"))
 (put 'processes 'custom-loads '("comint-xemacs" "executable" "gnuserv" "ispell" "passwd"))
 (put 'news 'custom-loads '("gnus" "message" "supercite" "highlight-headers"))
 (put 'w3-hooks 'custom-loads '("w3-cus"))
--- a/lisp/prim/glyphs.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/prim/glyphs.el	Mon Aug 13 09:26:03 2007 +0200
@@ -609,7 +609,7 @@
 				 [jpeg :data nil] 2)))
        ,@(if (featurep 'png) '(("\.png$" [png :file nil] 2)))
        ,@(if (featurep 'png) '(("^\211PNG" [png :data nil] 2)))
-       ("" [automatic-conversion :data nil] 2))))
+       ("" [autodetect :data nil] 2))))
   ;; #### this should really be formatted-string, not string but we
   ;; don't have it implemented yet
   ;;
--- a/lisp/version.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/version.el	Mon Aug 13 09:26:03 2007 +0200
@@ -25,7 +25,7 @@
 (defconst emacs-version "20.1"
   "Version numbers of this version of Emacs.")
 
-(setq emacs-version (purecopy (concat emacs-version " XEmacs Lucid (beta12)")))
+(setq emacs-version (purecopy (concat emacs-version " XEmacs Lucid (beta14)")))
 
 (defconst emacs-major-version
   (progn (or (string-match "^[0-9]+" emacs-version)
--- a/lisp/w3/ChangeLog	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/ChangeLog	Mon Aug 13 09:26:03 2007 +0200
@@ -2,8 +2,40 @@
 
 * Makefile (xemacs-w3): Special target for XEmacs Build.
 
+Wed Apr  9 16:46:52 1997  William M. Perry  <wmperry@aventail.com>
+
+* w3-xemac.el (w3-text-pixel-width): And a XEmacs specific version of it.
+
+* w3-e19.el (w3-text-pixel-width): New function to return the pixel width
+  of a piece of text.
+
+* url.el (url-handle-no-scheme): Use it.
+
+* url-vars.el (url-handle-no-scheme-hook): New hook that should expand a
+  partial url like 'gnu' to a full URL, like 'http://www.gnu.org/'.
+
+* w3-sysdp.el (run-hook-with-args-until-success): Added a stub for
+  run-hook-with-args-until-success
+
+Tue Apr  8 12:20:39 1997  William M. Perry  <wmperry@aventail.com>
+
+* w3-auto.el: Added autoloads for all the functions in url-ns for proxy
+  functions, and url-mail
+
+* url-ns.el (isPlainHostName): Fixed isPlainHostName
+
+* w3-parse.el (w3-parse-buffer): now throws up a bad style warning for
+  images without ALT attributes.
+
+* mm.el (mm-parse-mailcaps): Reverse the ':|;' separated path for MAILCAPS
+  so that earlier items take precedence, like standard unix PATH-like
+  variables do.
+  (mm-parse-mimetypes): Ditto for MIMETYPES
+
 Mon Apr  7 06:23:11 1997  William M. Perry  <wmperry@aventail.com>
 
+* Emacs/W3 3.0.80 released
+
 * w3-parse.el: Some more transitions - don't imply <p> after some form
   tags.
 
--- a/lisp/w3/FAQ	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/FAQ	Mon Aug 13 09:26:03 2007 +0200
@@ -35,7 +35,7 @@
 recognize that key sequence. Then you may have to make your programs do useful
 things when they get a "backtab", Emacs for example will recognize it
 automatically but except for the Widget and W3 commands nothing is ever bound
-to it.
+it it.
 
 Step 1 On An XTerm: XTerm obeys standard X Toolkit translations which you can
 use to specify what character sequence Shift-Tab generates. The following X
@@ -60,7 +60,7 @@
 xmodmap -e 'keysym Tab = Tab'
 
 or adding that command to some global X configuration file (On Debian systems
-adding ``keysym Tab = Tab'' to /etc/X11/Xmodmap or ~/.Xmodmap is sufficient)
+adding ``Keysym Tab = Tab'' to /etc/X11/Xmodmap or ~/.Xmodmap is sufficient)
 
 Step 1 On A Linux Virtual Console: on a Linux virtual console you can
 configure what character sequences are generated by which keys using the
--- a/lisp/w3/mm.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/mm.el	Mon Aug 13 09:26:03 2007 +0200
@@ -430,11 +430,13 @@
    (t (setq path (concat "/etc/mailcap:/usr/etc/mailcap:"
 			 "/usr/local/etc/mailcap:"
 			 (expand-file-name "~/.mailcap")))))
-  (let ((fnames (mm-string-to-tokens path
-				     (if (memq system-type
-					       '(ms-dos ms-windows windows-nt))
-					 ?;
-				       ?:))) fname)
+  (let ((fnames (reverse
+		 (mm-string-to-tokens path
+				      (if (memq system-type
+						'(ms-dos ms-windows windows-nt))
+					  ? ;
+					?:))))
+	fname)
     (while fnames
       (setq fname (car fnames))
       (if (and (file-exists-p fname) (file-readable-p fname))
@@ -975,11 +977,13 @@
 			 "/etc/mime-types:/usr/etc/mime-types:"
 			 "/usr/local/etc/mime-types:"
 			 "/usr/local/www/conf/mime-types"))))
-  (let ((fnames (mm-string-to-tokens path
-				     (if (memq system-type
-					       '(ms-dos ms-windows windows-nt))
-					 ?;
-				       ?:))) fname)
+  (let ((fnames (reverse
+		 (mm-string-to-tokens path
+				      (if (memq system-type
+						'(ms-dos ms-windows windows-nt))
+					  ? ;
+					?:))))
+	fname)
     (while fnames
       (setq fname (car fnames))
       (if (and (file-exists-p fname) (file-readable-p fname))
--- a/lisp/w3/url-ns.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/url-ns.el	Mon Aug 13 09:26:03 2007 +0200
@@ -1,7 +1,7 @@
 ;;; url-ns.el --- Various netscape-ish functions for proxy definitions
 ;; Author: wmperry
-;; Created: 1997/03/24 20:16:16
-;; Version: 1.1
+;; Created: 1997/04/08 21:18:23
+;; Version: 1.2
 ;; Keywords: comm, data, processes, hypermedia
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -26,7 +26,7 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defun isPlainHostName (host)
-  (string-match "\\." host))
+  (not (string-match "\\." host)))
 
 (defun dnsDomainIs (host dom)
   (setq host (url-gateway-nslookup-host host))
--- a/lisp/w3/url-vars.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/url-vars.el	Mon Aug 13 09:26:03 2007 +0200
@@ -1,7 +1,7 @@
 ;;; url-vars.el --- Variables for Uniform Resource Locator tool
 ;; Author: wmperry
-;; Created: 1997/04/07 16:06:35
-;; Version: 1.48
+;; Created: 1997/04/10 21:18:12
+;; Version: 1.50
 ;; Keywords: comm, data, processes, hypermedia
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -26,7 +26,7 @@
 ;;; Boston, MA 02111-1307, USA.
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(defconst url-version (let ((x "p3.0.80"))
+(defconst url-version (let ((x "p3.0.81"))
 			(if (string-match "State: \\([^ \t\n]+\\)" x)
 			    (substring x (match-beginning 1) (match-end 1))
 			  x))
@@ -429,6 +429,13 @@
 (modify-syntax-entry ?> ")<" url-mailserver-syntax-table)
 (modify-syntax-entry ?/ " " url-mailserver-syntax-table)
 
+(defvar url-handle-no-scheme-hook nil
+  "*Hooks to be run until one can successfully transform an incomplete URL.
+
+Each hook is called with a single argument URL and should return a tranformed
+url with a valid scheme (e.g., \"gnu\" --> \"http://www.gnu.org/\"), or nil
+otherwise.")
+
 ;;; Make OS/2 happy - yeeks
 (defvar	tcp-binary-process-input-services nil
   "*Make OS/2 happy with our CRLF pairs...")
--- a/lisp/w3/url.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/url.el	Mon Aug 13 09:26:03 2007 +0200
@@ -1,13 +1,13 @@
 ;;; url.el --- Uniform Resource Locator retrieval tool
 ;; Author: wmperry
-;; Created: 1997/04/07 16:01:55
-;; Version: 1.72
+;; Created: 1997/04/09 23:49:33
+;; Version: 1.73
 ;; Keywords: comm, data, processes, hypermedia
 
 ;;; LCD Archive Entry:
 ;;; url|William M. Perry|wmperry@cs.indiana.edu|
 ;;; Functions for retrieving/manipulating URLs|
-;;; 1997/04/07 16:01:55|1.72|Location Undetermined
+;;; 1997/04/09 23:49:33|1.73|Location Undetermined
 ;;;
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -850,6 +850,9 @@
      ((string-match "\\(\\.[^\\.]+\\)\\(\\.[^\\.]+\\)" url)
       ;; Ok, we have at least two dots in the filename, just stick http on it
       (url-retrieve (concat "http://" url)))
+     ((setq temp (run-hook-with-args-until-success
+		  'url-handle-no-scheme-hook url))
+      (url-retrieve temp))
      (t
       (url-retrieve (concat "http://www." url ".com"))))))
 
--- a/lisp/w3/w3-auto.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/w3-auto.el	Mon Aug 13 09:26:03 2007 +0200
@@ -47,6 +47,12 @@
 
 ;; URL stuff
 (autoload 'url-gateway-nslookup-host "url-gw")
+(autoload 'url-mail "url-mail")
+(autoload 'isInNet "url-ns")
+(autoload 'isResolvable "url-ns")
+(autoload 'dnsResolve "url-ns")
+(autoload 'dnsDomainIs "url-ns")
+(autoload 'isPlainHostName "url-ns")
 
 ;; Preferences
 (autoload 'w3-preferences-edit "w3-prefs" nil t)
--- a/lisp/w3/w3-display.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/w3-display.el	Mon Aug 13 09:26:03 2007 +0200
@@ -1,7 +1,7 @@
 ;;; w3-display.el --- display engine v99999
 ;; Author: wmperry
-;; Created: 1997/04/03 16:32:31
-;; Version: 1.171
+;; Created: 1997/04/07 17:01:38
+;; Version: 1.172
 ;; Keywords: faces, help, hypermedia
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -443,6 +443,9 @@
 
 ;; Various macros
 (eval-when-compile
+  (defmacro w3-node-visible-p ()
+    (` (not (eq (car break-style) 'none))))
+
   (defmacro w3-handle-empty-tag ()
     (`
      (progn
@@ -722,9 +725,6 @@
 	    (setq w3-image-widgets-waiting
 		  (cons widget w3-image-widgets-waiting)))))))
 
-(defmacro w3-node-visible-p ()
-  (` (not (eq (car break-style) 'none))))
-
 (defmacro w3-handle-image ()
   (`
    (let* ((height (w3-get-attribute 'height))
--- a/lisp/w3/w3-e19.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/w3-e19.el	Mon Aug 13 09:26:03 2007 +0200
@@ -1,7 +1,7 @@
 ;;; w3-e19.el --- Emacs 19.xx specific functions for emacs-w3
 ;; Author: wmperry
-;; Created: 1997/04/01 19:23:18
-;; Version: 1.22
+;; Created: 1997/04/10 00:03:25
+;; Version: 1.23
 ;; Keywords: faces, help, mouse, hypermedia
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -120,6 +120,10 @@
 	(if back (font-set-face-background face back))
 	(fillin-text-property (point-min) (point-max) 'face 'face face))))
 
+(defun w3-text-pixel-width (str &optional face)
+  "Return the pixel-width of a chunk of text STR with face FACE."
+  (* (length str) (frame-char-width)))
+
 (defun w3-mouse-handler (e)
   "Function to message the url under the mouse cursor"
   (interactive "e")
--- a/lisp/w3/w3-parse.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/w3-parse.el	Mon Aug 13 09:26:03 2007 +0200
@@ -2316,6 +2316,11 @@
                (setq tag-attributes (cons (cons attr-name attr-value)
                                           tag-attributes)))
 
+             (if (and (eq w3-p-d-tag-name 'img)
+                      (not (assq 'alt tag-attributes)))
+                 (w3-debug-html :bad-style
+                                :outer
+                                "IMG element has no ALT attribute"))
              (cond
               ((and (eq w3-p-d-tag-name 'base)
                     (setq w3-p-s-baseobject
--- a/lisp/w3/w3-sysdp.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/w3-sysdp.el	Mon Aug 13 09:26:03 2007 +0200
@@ -994,6 +994,24 @@
 ;; NT doesn't have make-symbolic-link
 (sysdep-defalias 'make-symbolic-link 'copy-file)
 
+(sysdep-defun run-hook-with-args-until-success (hook &rest args)
+  "Run HOOK with the specified arguments ARGS.
+HOOK should be a symbol, a hook variable.  Its value should
+be a list of functions.  We call those functions, one by one,
+passing arguments ARGS to each of them, until one of them
+returns a non-nil value.  Then we return that value.
+If all the functions return nil, we return nil."
+  (let ((rval nil)
+	(todo (and (boundp hook) (symbol-value hook)))
+	(global (and (boundp hook) (default-value hook)))
+	(cur nil))
+    (while (and (setq cur (car todo)) (not rval))
+      (setq todo (cdr todo))
+      (if (eq cur t)
+	  (if global
+	      (setq todo (append global todo)))
+	(setq rval (apply cur args))))))
+
 (sysdep-defun split-string (string pattern)
   "Return a list of substrings of STRING which are separated by PATTERN."
   (let (parts (start 0))
--- a/lisp/w3/w3-vars.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/w3-vars.el	Mon Aug 13 09:26:03 2007 +0200
@@ -1,7 +1,7 @@
 ;;; w3-vars.el,v --- All variable definitions for emacs-w3
 ;; Author: wmperry
-;; Created: 1997/04/07 16:06:34
-;; Version: 1.122
+;; Created: 1997/04/10 21:18:12
+;; Version: 1.123
 ;; Keywords: comm, help, hypermedia
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -33,7 +33,7 @@
 (require 'w3-cus)			; Grab everything that is customized
 
 (defconst w3-version-number
-  (let ((x "p3.0.80"))
+  (let ((x "p3.0.81"))
     (if (string-match "State:[ \t\n]+.\\([^ \t\n]+\\)" x)
 	(setq x (substring x (match-beginning 1) (match-end 1)))
       (setq x (substring x 1)))
@@ -41,7 +41,7 @@
      (function (lambda (x) (if (= x ?-) "." (char-to-string x)))) x ""))
   "Version # of w3-mode.")
 
-(defconst w3-version-date (let ((x "1997/04/07 16:06:34"))
+(defconst w3-version-date (let ((x "1997/04/10 21:18:12"))
 			    (if (string-match "Date: \\([^ \t\n]+\\)" x)
 				(substring x (match-beginning 1) (match-end 1))
 			      x))
--- a/lisp/w3/w3-xemac.el	Mon Aug 13 09:25:31 2007 +0200
+++ b/lisp/w3/w3-xemac.el	Mon Aug 13 09:26:03 2007 +0200
@@ -1,7 +1,7 @@
 ;;; w3-xemac.el --- XEmacs specific functions for emacs-w3
 ;; Author: wmperry
-;; Created: 1997/04/01 19:23:21
-;; Version: 1.17
+;; Created: 1997/04/10 00:03:38
+;; Version: 1.18
 ;; Keywords: faces, help, mouse, hypermedia
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -35,6 +35,15 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Enhancements For XEmacs
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(defun w3-text-pixel-width (str &optional face)
+  "Return the pixel-width of a chunk of text STR with face FACE."
+  (let ((glyph (make-glyph str))
+	(todo (if (listp face) face (list face)))
+	(max 0))
+    (while (progn (set-glyph-face glyph (pop todo)) todo)
+      (setq max (max (glyph-width glyph) max)))
+    max))
+  
 (defun w3-mouse-handler (e)
   "Function to message the url under the mouse cursor"
   (interactive "e")
--- a/man/gnus.texi	Mon Aug 13 09:25:31 2007 +0200
+++ b/man/gnus.texi	Mon Aug 13 09:26:03 2007 +0200
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Gnus 5.4.42 Manual
+@settitle Gnus 5.4.43 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -287,7 +287,7 @@
 @tex
 
 @titlepage
-@title Gnus 5.4.42 Manual
+@title Gnus 5.4.43 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -323,7 +323,7 @@
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Gnus 5.4.42.
+This manual corresponds to Gnus 5.4.43.
 
 @end ifinfo
 
@@ -2910,8 +2910,10 @@
 Describe all groups (@code{gnus-group-describe-all-groups}).  If given a
 prefix, force Gnus to re-read the description file from the server.
 
-@item V
+@item H v
+@itemx V
 @kindex V (Group)
+@kindex H v (Group)
 @cindex version
 @findex gnus-version
 Display current Gnus version numbers (@code{gnus-version}).
@@ -6331,6 +6333,10 @@
 that look something like @samp{<38o6up$6f2@@hymir.ifi.uio.no>}.  You
 have to get it all exactly right.  No fuzzy searches, I'm afraid.
 
+The current select method will be used when fetching by
+@code{Message-ID} from non-news select method, but you can override this
+by giving this command a prefix.
+
 @vindex gnus-refer-article-method
 If the group you are reading is located on a backend that does not
 support fetching by @code{Message-ID} very well (like @code{nnspool}),
@@ -6574,7 +6580,10 @@
 If this variable is non-@code{nil}, Gnus will try to keep the tree
 buffer as small as possible to allow more room for the other Gnus
 windows.  If this variable is a number, the tree buffer will never be
-higher than that number.  The default is @code{t}.
+higher than that number.  The default is @code{t}.  Note that if you
+have several windows displayed side-by-side in a frame and the tree
+buffer is one of these, minimizing the tree window will also resize all
+other windows that are displayed next to it.
 
 @item gnus-generate-tree-function
 @vindex gnus-generate-tree-function
@@ -16271,6 +16280,11 @@
 does this @code{defalias} thing with Gnus equivalents instead.  Cleaner
 all over.
 
+In the cases when the XEmacs function interface was obviously
+cleaner, I used it instead.  For example @code{gnus-region-active-p}
+is an alias for @code{region-active-p} in XEmacs, whereas in Emacs
+it is a function.
+
 Of course, I could have chosen XEmacs as my native platform and done
 mapping functions the other way around.  But I didn't.  The performance
 hit these indirections impose on Gnus under XEmacs should be slight.
--- a/man/message.texi	Mon Aug 13 09:25:31 2007 +0200
+++ b/man/message.texi	Mon Aug 13 09:26:03 2007 +0200
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 5.4.42 Manual
+@settitle Message 5.4.43 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -39,7 +39,7 @@
 @tex
 
 @titlepage
-@title Message 5.4.42 Manual
+@title Message 5.4.43 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -79,7 +79,7 @@
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Message 5.4.42.  Message is distributed with
+This manual corresponds to Message 5.4.43.  Message is distributed with
 the Gnus distribution bearing the same version number as this manual
 has. 
 
--- a/src/ChangeLog	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/ChangeLog	Mon Aug 13 09:26:03 2007 +0200
@@ -1,3 +1,28 @@
+Thu Apr 10 12:48:49 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* glyphs.c: Undo duplicate declaration of display_table.
+
+	* glyphs.h: Back out name change of autodetect to
+	automatic_conversion.
+
+	* glyphs.c: Back out name change of autodetect to
+	automatic_conversion.
+
+	* glyphs-x.c (image_instantiator_format_create_glyphs_x): Back out
+	name change of autodetect to automatic_conversion.
+
+	* events.c (Fevent_properties): Do something sensible for
+	dead_event and empty_event.
+
+	* general.c: Restore autodetect symbol.
+
+	* emacsfns.h: Declare new symbol Qempty.
+
+	* general.c: Add symbol to identify empty events.
+
+	* events.c (Fevent_type): Don't abort() when presented with an
+	empty_event or a dead_event.
+
 Mon Apr  7 18:12:26 1997  David Moore  <dmoore@ucsd.edu>
 
 	* xmu.c: Renamed local `initialized' variable to `hex_initialized'
--- a/src/Makefile.in.in	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/Makefile.in.in	Mon Aug 13 09:26:03 2007 +0200
@@ -1589,10 +1589,8 @@
 	exit 1
 
 /* Cover your eyes, please */
-xemacs-version.h: ${lispdir}version.el
-	@echo "#define main_1 xemacs_`grep emacs-version ${lispdir}version.el | sed 's/.*\"\(.*\)\.\(.*\)\"/\1_\2/ \
-1q'`_`grep -i xemacs.*lucid.*beta ${lispdir}version.el | sed 's/.*\(beta[0-9]*\).*/\1/ \
-1q'`" > xemacs-version.h
+xemacs-version.h: ../lisp/version.el
+	@echo "#define main_1 xemacs_`grep emacs-version ../lisp/version.el | sed -e 's/.*\"\(.*\)\.\(.*\)\"/\1_\2/' -e 1q`_`grep -i xemacs.*lucid.*beta ../lisp/version.el | sed -e 's/.*\(beta[0-9]*\).*/\1/' -e 1q`" > xemacs-version.h
 
 
 /* Some machines have alloca built-in.
--- a/src/console-tty.h	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/console-tty.h	Mon Aug 13 09:26:03 2007 +0200
@@ -167,6 +167,8 @@
       CONST char *end_motion;		/* rmcup, te */
       CONST char *keypad_on;		/* smkx, ks */
       CONST char *keypad_off;		/* rmkx, ke */
+
+      CONST char *orig_pair;		/* op, op */
     } sd;
   
   /* costs of various operations */
--- a/src/emacsfns.h	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/emacsfns.h	Mon Aug 13 09:26:03 2007 +0200
@@ -1166,6 +1166,7 @@
 extern Lisp_Object Qall;
 extern Lisp_Object Qassoc;
 extern Lisp_Object Qat;
+extern Lisp_Object Qautodetect;
 extern Lisp_Object Qautomatic_conversion;
 extern Lisp_Object Qbad_variable;
 extern Lisp_Object Qbefore;
@@ -1196,6 +1197,7 @@
 extern Lisp_Object Qdisplay;
 extern Lisp_Object Qdoc_string;
 extern Lisp_Object Qdynarr_overhead;
+extern Lisp_Object Qempty;
 extern Lisp_Object Qeq;
 extern Lisp_Object Qequal;
 extern Lisp_Object Qeql;
--- a/src/events.c	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/events.c	Mon Aug 13 09:26:03 2007 +0200
@@ -1097,6 +1097,9 @@
 timeout		A timeout has expired.
 eval		This causes a specified action to occur when dispatched.
 magic		Some window-system-specific event has occurred.
+dead		The event has been deallocated.
+empty		The event has been allocated but not assigned.
+
 */
        (event))
 {
@@ -1131,6 +1134,12 @@
     case magic_eval_event:
       return Qmagic;
 
+    case empty_event:
+      return Qempty;
+
+    case dead_event:
+      return Qdead;
+
     default:
       abort ();
       return Qnil;
@@ -1841,6 +1850,8 @@
 
     case magic_eval_event:
     case magic_event:
+    case dead_event:
+    case empty_event:
       break;
 
     default:
--- a/src/general.c	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/general.c	Mon Aug 13 09:26:03 2007 +0200
@@ -36,6 +36,7 @@
 Lisp_Object Qall;
 Lisp_Object Qassoc;
 Lisp_Object Qat;
+Lisp_Object Qautodetect;
 Lisp_Object Qautomatic_conversion;
 Lisp_Object Qbad_variable;
 Lisp_Object Qbefore;
@@ -66,6 +67,7 @@
 Lisp_Object Qdisplay;
 Lisp_Object Qdoc_string;
 Lisp_Object Qdynarr_overhead;
+Lisp_Object Qempty;
 Lisp_Object Qeq;
 Lisp_Object Qequal;
 Lisp_Object Qeql;
@@ -163,6 +165,7 @@
   defsymbol (&Qall, "all");
   defsymbol (&Qassoc, "assoc");
   defsymbol (&Qat, "at");
+  defsymbol (&Qautodetect, "autodetect");
   defsymbol (&Qautomatic_conversion, "automatic-conversion");
   defsymbol (&Qbad_variable, "bad-variable");
   defsymbol (&Qbefore, "before");
@@ -193,6 +196,7 @@
   defsymbol (&Qdisplay, "display");
   defsymbol (&Qdoc_string, "doc-string");
   defsymbol (&Qdynarr_overhead, "dynarr-overhead");
+  defsymbol (&Qempty, "empty");
   defsymbol (&Qeq, "eq");
   defsymbol (&Qequal, "equal");
   defsymbol (&Qeql, "eql");
--- a/src/glyphs-x.c	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/glyphs-x.c	Mon Aug 13 09:26:03 2007 +0200
@@ -104,7 +104,7 @@
 
 DEFINE_IMAGE_INSTANTIATOR_FORMAT (font);
 
-DEFINE_IMAGE_INSTANTIATOR_FORMAT (automatic_conversion);
+DEFINE_IMAGE_INSTANTIATOR_FORMAT (autodetect);
 
 static void cursor_font_instantiate (Lisp_Object image_instance,
 				     Lisp_Object instantiator,
@@ -3115,17 +3115,17 @@
 
 
 /**********************************************************************
- *			 Automatic_Conversion                         *
+ *			 Autodetect		                         *
  **********************************************************************/
 
 static void
-automatic_conversion_validate (Lisp_Object instantiator)
+autodetect_validate (Lisp_Object instantiator)
 {
   data_must_be_present (instantiator);
 }
 
 static Lisp_Object
-automatic_conversion_normalize (Lisp_Object instantiator,
+autodetect_normalize (Lisp_Object instantiator,
 				Lisp_Object console_type)
 {
   Lisp_Object file = find_keyword_in_vector (instantiator, Q_data);
@@ -3199,14 +3199,14 @@
      specification. (We can't do that now because we don't know
      what dest-types it's going to be instantiated into.) */
   {
-    Lisp_Object result = alist_to_tagged_vector (Qautomatic_conversion, alist);
+    Lisp_Object result = alist_to_tagged_vector (Qautodetect, alist);
     free_alist (alist);
     RETURN_UNGCPRO (result);
   }
 }
 
 static int
-automatic_conversion_possible_dest_types (void)
+autodetect_possible_dest_types (void)
 {
   return
     IMAGE_MONO_PIXMAP_MASK  |
@@ -3216,7 +3216,7 @@
 }
 
 static void
-automatic_conversion_instantiate (Lisp_Object image_instance,
+autodetect_instantiate (Lisp_Object image_instance,
 				  Lisp_Object instantiator,
 				  Lisp_Object pointer_fg,
 				  Lisp_Object pointer_bg,
@@ -3939,15 +3939,15 @@
   IIFORMAT_VALID_KEYWORD (xface, Q_background, check_valid_string);
 #endif 
 
-  INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (automatic_conversion,
-					"automatic-conversion");
-
-  IIFORMAT_HAS_METHOD (automatic_conversion, validate);
-  IIFORMAT_HAS_METHOD (automatic_conversion, normalize);
-  IIFORMAT_HAS_METHOD (automatic_conversion, possible_dest_types);
-  IIFORMAT_HAS_METHOD (automatic_conversion, instantiate);
-
-  IIFORMAT_VALID_KEYWORD (automatic_conversion, Q_data, check_valid_string);
+  INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (autodetect,
+					"autodetect");
+
+  IIFORMAT_HAS_METHOD (autodetect, validate);
+  IIFORMAT_HAS_METHOD (autodetect, normalize);
+  IIFORMAT_HAS_METHOD (autodetect, possible_dest_types);
+  IIFORMAT_HAS_METHOD (autodetect, instantiate);
+
+  IIFORMAT_VALID_KEYWORD (autodetect, Q_data, check_valid_string);
 }
 
 void
--- a/src/glyphs.c	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/glyphs.c	Mon Aug 13 09:26:03 2007 +0200
@@ -54,7 +54,8 @@
 Lisp_Object Qmono_pixmap, Qcolor_pixmap, Qsubwindow;
 
 Lisp_Object Vcurrent_display_table;
-Lisp_Object Qdisplay_table;
+/* Declared in faces.c */
+extern Lisp_Object Qdisplay_table;
 
 Lisp_Object Vtruncation_glyph, Vcontinuation_glyph, Voctal_escape_glyph;
 Lisp_Object Vcontrol_arrow_glyph, Vinvisible_text_glyph, Vhscroll_glyph;
@@ -146,7 +147,7 @@
 Given an IMAGE-INSTANTIATOR-FORMAT, return non-nil if it is valid.
 Valid formats are some subset of 'nothing, 'string, 'formatted-string,
 'xpm, 'xbm, 'xface, 'gif, 'jpeg, 'png, 'tiff, 'cursor-font, 'font,
-'automatic-conversion, and 'subwindow, depending on how XEmacs was
+'autodetect, and 'subwindow, depending on how XEmacs was
 compiled.
 */
        (image_instantiator_format))
@@ -1837,7 +1838,7 @@
    probably be fixed.)
 'subwindow
   (An embedded X window; not currently implemented.)
-'automatic-conversion
+'autodetect
   (XEmacs tries to guess what format the data is in.  If X support
   exists, the data string will be checked to see if it names a filename.
   If so, and this filename contains XBM or XPM data, the appropriate
@@ -1864,7 +1865,7 @@
   value of the `image-instance-file-name' function when applied to
   the resulting image-instance.  This keyword is not valid for
   instantiator formats `nothing', `string', `formatted-string',
-  `cursor-font', `font', `automatic-conversion', and `inherit'.)
+  `cursor-font', `font', `autodetect', and `inherit'.)
 :foreground
 :background
   (For `xbm', `xface', `cursor-font', and `font'.  These keywords
--- a/src/glyphs.h	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/glyphs.h	Mon Aug 13 09:26:03 2007 +0200
@@ -51,7 +51,7 @@
   font					pointer
   subwindow				subwindow
   inherit				mono-pixmap
-  automatic-conversion			mono-pixmap, color-pixmap, pointer,
+  autodetect				mono-pixmap, color-pixmap, pointer,
 					text
 */
 
--- a/src/redisplay-tty.c	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/redisplay-tty.c	Mon Aug 13 09:26:03 2007 +0200
@@ -429,18 +429,16 @@
   int y2 = WINDOW_TEXT_BOTTOM (w);
   unsigned char divv = '|';
 
-  tty_turn_on_face (w, DEFAULT_INDEX);
+  tty_turn_on_face (w, MODELINE_INDEX);
   for (line = y1; line < y2; line++)
     {
       cmgoto (f, line, WINDOW_TEXT_LEFT (w) - 1);
       send_string_to_tty_console (c, &divv, 1);
       TTY_INC_CURSOR_X (c, 1);
     }
-  tty_turn_off_face (w, DEFAULT_INDEX);
 
   /* Draw the divider in the modeline. */
   cmgoto (f, y2, WINDOW_TEXT_LEFT (w) - 1);
-  tty_turn_on_face (w, MODELINE_INDEX);
   send_string_to_tty_console (c, &divv, 1);
   TTY_INC_CURSOR_X (c, 1);
   tty_turn_off_face (w, MODELINE_INDEX);
@@ -922,6 +920,7 @@
   if (!CONSOLE_TTY_P (c))
     return;
 
+  OUTPUT1_IF (c, TTY_SD (c).orig_pair);
   OUTPUT1_IF (c, TTY_SD (c).keypad_off);
   OUTPUT1_IF (c, TTY_SD (c).cursor_normal);
   OUTPUT1_IF (c, TTY_SD (c).end_motion);
@@ -1207,6 +1206,7 @@
   TTY_SD (c).turn_on_bold = tgetstr ("md", &bufptr);
   TTY_SD (c).turn_on_dim = tgetstr ("mh", &bufptr);
   TTY_SD (c).turn_off_attributes = tgetstr ("me", &bufptr);
+  TTY_SD (c).orig_pair = tgetstr ("op", &bufptr);
 
   TTY_SD (c).visual_bell = tgetstr ("vb", &bufptr);
   TTY_SD (c).audio_bell = tgetstr ("bl", &bufptr);
--- a/src/s/freebsd.h	Mon Aug 13 09:25:31 2007 +0200
+++ b/src/s/freebsd.h	Mon Aug 13 09:26:03 2007 +0200
@@ -88,6 +88,8 @@
 #define BSD 199103
 #elif __FreeBSD__ == 2
 #define BSD 199306
+#elif __FreeBSD__ == 3
+#define BSD 199506
 #endif
 
 #undef HAVE_UNION_WAIT