 (put 'fn 'arc-indent-function 1)
 (put 'afn 'arc-indent-function 1)
 (put 'rfn 'arc-indent-function 2)
-(put 'let 'arc-indent-function 'arc-let-indent)
+;(put 'let 'arc-indent-function 'arc-let-indent)
+(put 'let 'arc-indent-function 2)
 
 ;; By default, Emacs thinks .arc is an archive extension.
 ;; This makes it normal.
 (dolist (coding auto-coding-alist)
   (when (and (string-match "[Aa][Rr][Cc]\\\\|" (car coding))
-             (eq (cdr coding) 'no-conversion))
+             (or (eq (cdr coding) 'no-conversion)
+                 (eq (cdr coding) 'no-conversion-multibyte)))
     (setcar coding (replace-match "" nil nil (car coding)))))
 
 (provide 'arc)


;;; Let is different in Arc

(defun would-be-symbol (string)
  (not (string-equal (substring string 0 1) "(")))

(defun next-sexp-as-string ()
  ;; Assumes that it is protected by a save-excursion
  (forward-sexp 1)
  (let ((the-end (point)))
    (backward-sexp 1)
    (buffer-substring (point) the-end)))

;; This is correct but too slow.
;; The one below works almost always.

;;      (arc-indent-specform 2 state indent-point)
;;      (arc-indent-specform 1 state indent-point)))

;; (defun arc-let-indent (state indent-point normal-indent)
;;   (skip-chars-forward " \t")
;;   (if (looking-at "[-a-zA-Z0-9+*/?!@$%^&_:~]")
;;       (lisp-indent-specform 2 state indent-point normal-indent)
;;     (lisp-indent-specform 1 state indent-point normal-indent)))

;; (put 'begin 'arc-indent-function 0), say, causes begin to be indented
;; like def if the first form is placed on the next line, otherwise
