org-mode のバッファを save しようとすると Emacs が黙って落ちるようになった・・(doom upgrade する前は crash してた)デバッグ方法もわからないし、emacs-plus も doom-emacs も最新だし、こういうの参っちゃうなあ・・
— Kensuke Nagae (@kyanny) 2021年10月11日
- 8000 行くらいの .org ファイルに追記して save-buffer すると十回中九回以上の確率で落ちる
— Kensuke Nagae (@kyanny) 2021年10月11日
- 先週までは落ちなかった
- 今日追記した部分だけ新しい .org ファイルにコピーして save-buffer すると落ちない
バッファサイズが大きすぎる、とかだろうか。小分けにしてみるか・・
emacs -nw して同じファイルを save-buffer してみたら segmentation fault した(GUI からだと見えなかった)
— Kensuke Nagae (@kyanny) 2021年10月11日
https://t.co/Rj8pOrrIPX この人と同じことを知りたくて検索して見つけたこのコメントの footnote で「undo-tree が悪さをしてる」という記述を見つけてもしやと思って .doom.d/init.el の (undo +tree) を undo に変えて doom sync したら治った・・
— Kensuke Nagae (@kyanny) 2021年10月11日
Doom Emacs はデフォルトで undo-fu を使う。Emacs デフォルトのあの奇妙な undo/redo は上書きされる。これに慣れなくて(長年の経験で奇妙な undo/redo に慣れたため)、少しでも redo を把握しやすくするために undo-tree を入れたのが仇になったようだ。特定のそれなりに大きい .org ファイルの保存時だけ発生するのも debugging - How do I debug an emacs crash? - Emacs Stack Exchange の人と似ている。
org-mode のフロントエンドとしてだけ Emacs を使おう、とこの夏に決めて以来、とにかくカスタマイズをしない・Emacs (使ってるディストリビューション)に自分を合わせることにこだわっていて、なんと C-h を help-command のまま使っている!(一文字消すときは MacBook Pro の delete キー == backspace を押している)なので Undo/Redo も慣れたキーバインドに変えるのをグッと我慢して Doom Emacs がアサインしているキーバインドに手を慣れさせることにする。
- Undo:
C-/
他 - Redo:
M-_
(Command + Shift + -)
Redo でキーを三つも押さないといけない && 左手小指を Ctrl から左 Shift に移動させるのがもたつくのが気に入らないが、考えてみれば undo-tree よりはマシかもしれない(あれは全く使いたくて使っていたわけではなかった、便利さは認めるが)。