             'inferior-erlang-strip-delete nil t)
   (add-hook 'comint-output-filter-functions
             'inferior-erlang-strip-ctrl-m nil t)
-  ;; Some older versions of comint don't have an input ring.
-  (if (fboundp 'comint-read-input-ring)
-      (progn
-        (setq comint-input-ring-file-name erlang-input-ring-file-name)
-        (comint-read-input-ring t)
-        (make-local-variable 'kill-buffer-hook)
-        (add-hook 'kill-buffer-hook 'comint-write-input-ring)))
+
+  (setq comint-input-ring-file-name erlang-input-ring-file-name)
+  (comint-read-input-ring t)
+  (make-local-variable 'kill-buffer-hook)
+  (add-hook 'kill-buffer-hook 'comint-write-input-ring)
   ;; At least in Emacs 21, we need to be in `compilation-minor-mode'
   ;; for `next-error' to work.  We can avoid it clobbering the shell
   ;; keys thus.

        (while (null file)
          (or erlang-tags-file-list
              (save-excursion
                (if (and (featurep 'etags)
                         (funcall
                          (symbol-function 'visit-tags-table-buffer) 'same)
                         (funcall
                          (symbol-function 'visit-tags-table-buffer) t))

  (defvar next-error-last-buffer))

(eval-when-compile
  (require 'comint)
  (require 'tempo)
  (require 'compile))


(defun erlang-version ()
