diff --git a/ChangeLog b/ChangeLog
index 592a69c4e1a986f1a278fea06fd84288a8bd8eb2_Q2hhbmdlTG9n..1ef83d35a76e01f5489e7a2699d2f04a1ccc5638_Q2hhbmdlTG9n 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2002-05-09  Ben Wing  <ben@xemacs.org>
+
+	* arc-mode.el (archive-*-write-file-member):
+	* arc-mode.el (archive-lzh-summarize):
+	* arc-mode.el (archive-zip-summarize):
+	Use #o... not ?\... to get octal integers.  ?\ in XEmacs
+	gives chars and you will get syntax errors or worse.
+
 2002-05-07  Steve Youngs  <youngs@xemacs.org>
 
 	* Makefile (VERSION): XEmacs package 1.27 released.
diff --git a/arc-mode.el b/arc-mode.el
index 592a69c4e1a986f1a278fea06fd84288a8bd8eb2_YXJjLW1vZGUuZWw=..1ef83d35a76e01f5489e7a2699d2f04a1ccc5638_YXJjLW1vZGUuZWw= 100644
--- a/arc-mode.el
+++ b/arc-mode.el
@@ -1022,7 +1022,7 @@
 	  (write-region (point-min) (point-max) tmpfile nil 'nomessage)
 	  (if (aref descr 3)
 	      ;; Set the file modes, but make sure we can read it.
-	      (set-file-modes tmpfile (logior ?\400 (aref descr 3))))
+	      (set-file-modes tmpfile (logior #o400 (aref descr 3))))
           (let ((exitcode (apply 'call-process
                                  (car command)
                                  nil
@@ -1303,7 +1303,7 @@
              (ifnname (if fiddle (downcase efnname) efnname))
 	     (p2      (+ p 22 fnlen))
 	     (creator (if (>= (- hsize fnlen) 24) (char-after (+ p2 2)) 0))
-	     (mode    (if (eq creator ?U) (archive-l-e (+ p2 8) 2) ?\666))
+	     (mode    (if (eq creator ?U) (archive-l-e (+ p2 8) 2) #o666))
 	     (modestr (if mode (archive-int-to-mode mode) "??????????"))
 	     (uid     (if (eq creator ?U) (archive-l-e (+ p2 10) 2)))
 	     (gid     (if (eq creator ?U) (archive-l-e (+ p2 12) 2)))
@@ -1447,7 +1447,7 @@
 			     (archive-l-e (+ p 40) 2))
 			    ((memq (char-int creator)
 				   '(0 5 6 7 10 11)) ; Dos etc.
-			     (logior ?\444
-				     (if isdir (logior 16384 ?\111) 0)
+			     (logior #o444
+				     (if isdir (logior 16384 #o111) 0)
 				     (if (zerop
 					  (logand 1 (char-after (+ p 38))))
@@ -1452,6 +1452,6 @@
 				     (if (zerop
 					  (logand 1 (char-after (+ p 38))))
-					 ?\222 0)))
+					 #o222 0)))
 			    (t nil)))
 	     (modestr (if mode (archive-int-to-mode mode) "??????????"))
 	     (fiddle  (and archive-zip-case-fiddle