 ;; e.g. it does not assume that we are running an inferior
 ;; Erlang, there exists a lot of other possibilities.
 
-
 (defvar erlang-shell-buffer-name "*erlang*"
   "The name of the Erlang link shell buffer.")
 

                   (define-key map [menu-bar compilation]
                     (cons "Errors" compilation-menu-map)))
               map))))
  (erlang-tags-init)
  (run-hooks 'erlang-shell-mode-hook))


(defun erlang-mouse-2-command (event)

  :type 'boolean
  :package-version '(erlang . "2.8.0"))

(defvar erlang-shell-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map "\M-\t"    'erlang-complete-tag)

    ;; Normally the other way around.
    (define-key map "\C-a"     'comint-bol)
    (define-key map "\C-c\C-a" 'beginning-of-line)

    (define-key map "\C-d"     nil)     ; Was `comint-delchar-or-maybe-eof'
    (define-key map "\M-\C-m"  'compile-goto-error)
    map)
  "Keymap used by Erlang shells.")

(defvar erlang-input-ring-file-name "~/.erlang_history"
  "When non-nil, file name used to store Erlang shell history information.")

(define-derived-mode erlang-shell-mode comint-mode "Erlang Shell"
  "Major mode for interacting with an Erlang shell.

The following special commands are available:
\\{erlang-shell-mode-map}"
  (erlang-mode-variables)
  ;; Needed when compiling directly from the Erlang shell.
  (setq compilation-last-buffer (current-buffer))
  (setq comint-prompt-regexp "^[^>=]*> *")
