目次

Remacs公式

テスト環境

  • 試した順番
    • Ubuntu MATE 16.04.3 (Virtualbox 64bit)
    • Linux Mint 18.3 (実機, Ubuntu 16.04 based, 64bit)
    • Windows Subsystem for Linux (実機, Ubuntu 16.04 based, 64bit)
    • Linux Mint Debian Edition 2 (実機, Debian jessie based, 32bit)
    • Xubuntu 16.04.3 (実機, Ubuntu 16.04 based, 32bit)
    • Debian 9.3 (実機, 32bit)
    • Manjaro Linux (Virtualbox, 実機, Arch based, 64bit)
  • Debian系もしくはその派生であるUbuntu系ならインストールできると推察されます。

手順 (といってもほぼ公式準拠)

Rustをインストール

URL: https://www.rust-lang.org/en-US/install.html

curl https://sh.rustup.rs -sSf | sh
  • インストール方法を聞いてくるので,1.の通常インストールを選びましょう。
  • インストールを終えたら設定を反映させるためログインし直します。

remacsリポジトリをクローンし,Rustを開発版にする

git clone https://github.com/Wilfred/remacs.git
cd remacs/rust_src
rustup install `cat rust-toolchain`
cd ../
rustup override set nightly

必要なソフトウェアをインストール

sudo apt install build-essential autoconf texinfo libjpeg-dev \
libtiff-dev libgif-dev libxpm-dev libgtk-3-dev libgnutls-dev \
libncurses5-dev libxml2-dev

ビルドを実行

$ ./autogen.sh
$ ./configure --enable-rust-debug
$ make
  • remacs/src内にremacsバイナリができます。

動作している様子

img

私が現在使用しているパッケージはすべて互換性がありました。

32bit版Linuxの場合

32bit版のLinuxでは公式の手順だとエラーが生じる (https://github.com/Wilfred/remacs/issues/294) ので,上記の「必要なソフトウェアをインストールする」までを実行したら,次の手続きでビルドします。

$ sed -i -e "s/i64/i32/g" rust_src/src/lisp.rs
$ ./autogen.sh
$ ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" --enable-rust-debug
$ RUST_BACKTRACE=0 make

ここではlisp.rsの命令を32bitに修正して,make時のbacktraceを無効にしました。スワップが1GB程度あればコアダンプせずに最後まで実行できると思います。

追記: 現在lisp.rsのキャストが修正されたため,1行目は不要です。

Manjaro Linuxの場合

こちらの記事 をご覧ください。

あとがき

remacsはemacsの核であるlispインタプリタをRustに置き換える試みですが,ここまで本家と違和感なく使えるとは思いませんでした。Ubuntu系を使っている方は気軽に試してみてはいかがでしょうか。