diff -urN w3-4.0pre.47/lisp/mule-sysdp.el w3-4.0pre.47.new/lisp/mule-sysdp.el
--- w3-4.0pre.47/lisp/mule-sysdp.el	Wed Nov 28 21:04:21 2001
+++ w3-4.0pre.47.new/lisp/mule-sysdp.el	Sun Dec 23 22:25:09 2001
@@ -191,7 +191,7 @@
 		   (if (not (symbolp (car-safe possible)))
 		       '(undecided-unix)
 		     possible)))
-		((4.0 4.1)
+		((4.0 4.1 5.0)
 		 ;; We can use HIGHEST arg t for faster detection.
 		 (detect-coding-region st nd t))
 		(otherwise nil))))
@@ -230,6 +230,14 @@
 	 (or code (setq code 'automatic-conversion))
 	 (decode-coding-region (point-min) (point-max) code)
 	 (set-buffer-file-coding-system (symbol-value 'last-coding-system-used)))))
+    (5.0
+     (when default-enable-multibyte-characters
+       (set-buffer-multibyte t)
+       (if (memq code '(autodetect automatic-conversion))
+	   nil
+	 (or code (setq code 'automatic-conversion))
+	 (decode-coding-region (point-min) (point-max) code)
+	 (set-buffer-file-coding-system (symbol-value 'last-coding-system-used)))))
     (xemacs
      (if (and (listp code) (not (car code)))
 	 (progn
@@ -251,7 +259,7 @@
 	    (set-buffer-multibyte nil)
 	  (set 'enable-multibyte-characters nil))))
   (case mule-sysdep-version
-    ((3.0 4.0 4.1 2.4 2.3)
+    ((3.0 4.0 4.1 2.4 2.3 5.0)
      (set-process-coding-system proc mule-no-coding-system
 				mule-no-coding-system))
     (xemacs
@@ -277,7 +285,7 @@
       (3.0
        (let ((enable-multibyte-characters t))
 	 (write-region st nd file append visit lockname)))
-      ((4.0 4.1)
+      ((4.0 4.1 5.0)
        (write-region st nd file append visit lockname))
       (otherwise
        (write-region st nd file append visit lockname)))))
@@ -288,7 +296,7 @@
      (code-convert-string str *internal* mule-retrieval-coding-system))
     ((2.4 3.0 xemacs)
      (encode-coding-string str mule-retrieval-coding-system))
-    ((4.0 4.1)
+    ((4.0 4.1 5.0)
      (if default-enable-multibyte-characters
 	 (encode-coding-string str mule-retrieval-coding-system)
        str))
@@ -302,7 +310,7 @@
 	  (decode-coding-string str mule-retrieval-coding-system))
 	 (2.3
 	  (code-convert-string str *internal* mule-retrieval-coding-system))
-	 ((4.0 4.1)
+	 ((4.0 4.1 5.0)
 	  (if default-enable-multibyte-characters
 	      (decode-coding-string str mule-retrieval-coding-system)
 	    str))
@@ -314,7 +322,7 @@
  If width of the truncated string is less than LEN, and if a character PAD is
  defined, add padding end of it."
   (case mule-sysdep-version
-    ((3.0 4.0 4.1)
+    ((3.0 4.0 4.1 5.0)
      (truncate-string-to-width str len 0 pad))
     (2.4
      (let ((cl (string-to-vector str)) (n 0) (sw 0))
@@ -341,19 +349,19 @@
 (defun mule-find-charset-region (beg end &optional table)
   (case mule-sysdep-version
     (2.3 (code-detect-region beg end))
-    ((2.4 3.0 4.0 4.1) (find-charset-region beg end table))
+    ((2.4 3.0 4.0 4.1 5.0) (find-charset-region beg end table))
     (xemacs (charsets-in-region beg end))
     (otherwise '(no-conversion))))
 
 (defun mule-coding-system-name (codesys)
   (case mule-sysdep-version
-    ((3.0 4.0 4.1) nil)
+    ((3.0 4.0 4.1 5.0) nil)
     (xemacs (coding-system-name codesys))))
 
 (defun mule-find-coding-system (sys)
   (case mule-sysdep-version
     ((2.3 2.4) nil)
-    ((3.0 4.0 4.1) (if (get sys 'coding-system) sys nil))
+    ((3.0 4.0 4.1 5.0) (if (get sys 'coding-system) sys nil))
     (xemacs (find-coding-system sys))
     (otherwise nil)))
      
@@ -364,14 +372,14 @@
       (2.3 (make-character lc-ltn1 char))
       (2.4 (make-char charset-latin-iso8859-1 char))
       (3.0 (make-char 'latin-iso8859-1 char))
-      ((4.0 4.1) (if default-enable-multibyte-characters
+      ((4.0 4.1 5.0) (if default-enable-multibyte-characters
 		     (make-char 'latin-iso8859-1 char)
 		   char))
       (xemacs char)
       (otherwise char))))
 
 (case mule-sysdep-version
-  ((2.3 2.4 3.0 4.0 4.1 xemacs) nil)
+  ((2.3 2.4 3.0 4.0 4.1 5.0 xemacs) nil)
   (otherwise (fset 'string-width 'length)))
 
 (and
diff -urN w3-4.0pre.47/lisp/w3-display.el w3-4.0pre.47.new/lisp/w3-display.el
--- w3-4.0pre.47/lisp/w3-display.el	Wed Nov 28 21:04:22 2001
+++ w3-4.0pre.47.new/lisp/w3-display.el	Sun Dec 23 22:26:42 2001
@@ -1021,7 +1021,7 @@
      (if (not (find-charset 'w3-dingbats))
 	 (make-charset 'w3-dingbats "Dingbats character set for Emacs/W3"
 		       '(registry "" dimension 1 chars 96 final ?:))))
-    ((4.0 3.0 3.1)
+    ((5.0 4.1 4.0 3.0 3.1)
      (if (not (charsetp 'w3-dingbats))
 	 (define-charset nil 'w3-dingbats
 	   (vector
@@ -1040,7 +1040,7 @@
   (case mule-sysdep-version
     (xemacs 
      (make-char 'w3-dingbats (if (characterp oct) (char-int oct) oct)))
-    ((4.0 3.0 3.1)
+    ((5.0 4.1 4.0 3.0 3.1)
      (make-char 'w3-dingbats oct))
     (t
      oct)))
diff -urN w3-4.0pre.47/lisp/w3-vars.el w3-4.0pre.47.new/lisp/w3-vars.el
--- w3-4.0pre.47/lisp/w3-vars.el	Wed Nov 28 21:04:22 2001
+++ w3-4.0pre.47.new/lisp/w3-vars.el	Sun Dec 23 22:21:05 2001
@@ -34,7 +34,7 @@
 (require 'wid-edit)			; For `widget-keymap'
 
 (defconst w3-version-number
-  (let ((x "p4.0pre.46"))
+  (let ((x "p4.0pre.47"))
     (if (string-match "State:[ \t\n]+.\\([^ \t\n]+\\)" x)
 	(setq x (substring x (match-beginning 1) (match-end 1)))
       (setq x (substring x 1)))
@@ -42,7 +42,7 @@
      (function (lambda (x) (if (= x ?-) "." (char-to-string x)))) x ""))
   "Version # of w3-mode.")
 
-(defconst w3-version-date (let ((x "1999/10/01 20:22:11"))
+(defconst w3-version-date (let ((x "2001/09/28 21:04:11"))
 			    (if (string-match "Date: \\([^ \t\n]+\\)" x)
 				(substring x (match-beginning 1) (match-end 1))
 			      x))
