<div dir="ltr"><div style>In modern Emacs, it's recommended to install <a href="http://melpa.milkbox.net/">MELPA</a> and use M-x install-package RET erlang-mode RET to get Erlang mode up and running. With most major modes, this is all that is required, however erlang-mode needs some manual configuration that we should probably work on automating during its installation. Currently, Emacs users must modify several lines in ~/.emacs in order to setup erlang-mode:</div>
<div><br></div><div><div>(autoload 'erlang-mode "erlang" "" t)</div><div>(add-to-list 'auto-mode-alist '("\\.erl\\'" . erlang-mode))</div><div>(add-to-list 'auto-mode-alist '("\\.escript\\'" . erlang-mode))</div>
<div>(add-hook 'erlang-mode-hook</div><div>          (lambda ()</div><div>            (setq erlang-indent-level tab-width)))</div><div><br></div><div style>The first three collectively register the ".erl" and ".escript" file extensions with erlang-mode. In modern Emacs, the idiom is to register these autoloads as part of installation. For example, go-mode successfully does this. <a href="https://code.google.com/p/go/source/browse/#hg%2Fmisc%2Femacs">https://code.google.com/p/go/source/browse/#hg%2Fmisc%2Femacs</a></div>
<div style><br></div><div style>Also, it's more idiomatic for Emacs users to set a global tab-width, and modify it by file type with hooks. As we see above, erlang-mode in its current form does not respect the conventional variable tab-width, using erlang-indent-level instead. We can improve this a bit, while maintaining backwards compatibility, by defaulting erlang-indent-level to tab-width when a buffer enters erlang-mode.</div>
<div style><br></div><div style>What do you think?</div><div><br></div>-- <br><div></div>Cheers,<div><br></div><div>Andrew Pennebaker</div><div><a href="http://www.yellosoft.us" target="_blank">www.yellosoft.us</a></div>
</div></div>