Skip to content

Michelson Emacs mode: MELPA prep

Context

Follow-up to the discussion in the Tezos Slack about getting michelson-mode into MELPA: https://tezos-dev.slack.com/archives/C596FGNUR/p1602712481376400

I sat down for an hour and made a number of modernisation and style changes that would be necessary for acceptance into MELPA, and which should generally improve the code quality.

These changes have mostly been made blind (but carefully: I do this stuff a lot!). I've checked that michelson-mode still basically works, but I haven't tested any of the interactive/subprocess features, so a user familiar with the mode should do this.

Switching to lexical-binding has led to a couple of specific warnings about unused variables which - to me - indicate possible bugs in the existing code: I have not investigated that further, but curious readers can simply byte-compile the code to see the warnings.

We (the MELPA admins) would generally strongly recommend the emacs mode live in a separate repo, otherwise we end up having to clone large repositories (e.g. erlang in the past) on our server just to fetch elisp and build Emacs packages. A checkout of the Tezos repo is currently > 550MB.

Manually testing the MR

Try out the stack-mode and other interactive features on a system with tezos-client set up.

Checklist

- [ ] Provide automatic testing (see the testing guide). - [ ] Add item in the Development Version section of CHANGES.md (only for new features and bug fixes).

Reviewers

Richard Bonichon, Raphaël Cauderlier

Edited by Arvid Jakobsson

Merge request reports