ujimushiの日記: tc.elのEmacs-27.1対応 1
Emacsの27.1が8月に出て,メジャーバージョンが上がるとうまく動かないところがあって, そろそろ対応しないとやばいなと思ってたけど,放置していたらやはりissueが立った。 (クララが立った,みたいな感じで)
本当にたまたま出来心でその日Windowsの公式バイナリのEmacs-27.1をダウンロードして,漢直以外も含めて今使っているモジュールがどれぐらい動くか試してみて, やっぱりisearch動かんなぁとか思ってここ修正せなあかんなと思っていて家に帰ってメール確認してたらissue通知が来ていたという感じ。
もちろん放置していたのも理由があって,最新のUbuntu 20.10でもEmacsのバージョンは26.3が最新で,LinuxでEmacsの最新版の確認をするのは現状意外と面倒というもの。今使っている環境はまだ27.1は入れたくないし…
ただ,速攻でプルリク出されてしまったので, 「速攻には速攻で返すのが礼儀」ということでLinux上での検証環境の構築を模索する。
最近個人的にイチオシのlxdで検証できないか試してみる。
まずは,ubuntu 20.04のコンテナを立ち上げて,必要なファイルをゲストにアップロードしておく
# ubuntu serverなら最初に作ったユーザーはsudoはいらないけど,desktop版ではデフォルではsudoが必要
# ubuntu 20.04イメージのダウンロード
sudo lxc launch ubuntu:20.04 emacs27test
# ゲストの/home/ubuntu/ に ~/.emacs.d 以下のアーカイブをまとめたものをアップロード
sudo lxc file push emacs.d.tar.gz emacs27test/home/ubuntu/
# ゲストの/home/ubuntu/にtcodeの設定ファイルをアップロード
sudo lxc file push ~/.tc emacs27test/home/ubuntu/
# ゲストのシェルに入る
sudo lxc exec emacs27test bash
邪道だけどゲストのshell上で作業
# 上のコマンドでbashに入るとrootユーザー相当なのでsudoがいらない
# ppaのレポジトリを追加
add-apt-repository ppa:kelleyk/emacs
apt update
apt upgrade
# Xを使わないemacs27をインストール
apt install emacs27-nox
# コンテナに最初から存在するユーザーubuntuに変更
su ubuntu
# emacsの設定ファイルを展開
tar xzf emacs.d.tar.gz
# バージョン確認
emacs --version
# emacs 起動
emacs -nw
後はよしなに確認作業をして,プルリクをマージして,melpaにも反映されましたとさ。おしまい。
テスト環境 (スコア:0)
そんな大袈裟なことはしなくてよく、emacs -q -l >で十分です。
依存ファイルがあるならcaskで十分。これはグローバルの環境には影響されない。
そもそもGitHub ActionsでCIが走るようにしておくのがいいと思う。