Emacs

org-log-repeat を改良

org-log-repeat を non-nil に設定すると、繰り返しタスクを一度完了(その後に自動でTODOに戻る)するたびに、次のような情報が記録されます。

- State "DONE"       from "TODO"       [2025-02-10 Mon 22:55]

繰り返し頻度が高かったり、長期間に渡って完了開始を繰り返すタスクの場合には、記録されるデータがどんどん増えてしまいます。今のところ、私はこの記録をうまく活かせていないので停止することにしました。

ツリーのカットペースト時に統計情報を更新する

org-refile を使ってサブツリーを移動するのもいいですが、シンプルにサブツリーをカット&ペーストするのも直感的で良いですよね。

スピードコマンドを有効にしていれば、カット&ペーストは、ツリー(見出し)の行頭で ky で簡単できます( yorg-yank を呼ぶ設定は自分で追加が必要です)。

古い暗号化エントリーの Decryption failed を回避する

org ファイルの各エントリーは、gpg を使って暗号化できますが、かれこれ10年ほど前に暗号化したエントリーを復号できないケースに当たりました。数年前にも同じようなケースに遭遇しましたが、今回はその時とは違う方法で解決できたので、記録を残します。

インラインパッチ付きmacOS用EmacsをNativeComp対応に

脆弱性対策の為に先日、最新の安定版29.3がリリースされたEmacsですが、次のメジャーアップデートのEmacs 30からは、NativeCompがデフォルトでオンになるようです。

https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS#L29

** Native compilation is now enabled by default.
'configure' will enable the Emacs Lisp native compiler, so long as
libgccjit is present and functional on the system.  To disable native
compilation, configure Emacs with the option:

    ./configure --with-native-compilation=no

macOS用のインラインパッチ付きEmacsはどうしましょう…

MacBook Air (M3)

3月冒頭に発売された M3チップ搭載のMacBook Airをゲットしました。手元の Intel i7 のMacBook Airと比較して、どのくらいスペックが向上したかな?との疑問が自然と生じますので、早速比較してみました。Emacsの起動時間で。

counsel-projectile-ag を使う

the_silver_sercher(ag) を用いた全文検索を Emacs から使う場合に、 counsel-ag を使っています。検索の範囲は、現在のバッファ(ファイル)があるディレクトリ以下に自動的に設定されますが、ソースコードを読んでいる時には検索の範囲を、ソースコードが属しているプロジェクト全体に設定したくなります。

macOS の Homebrew で GCC Emacs のビルドがうまく行かない

16dfe04be2c57fc82ccdd56cad97b39d559a5afe で解決しました (将来、再発するかもしれませんが…)

NativeComp が有効になった Emacs 28 ですが、macOS+Homebrew の環境では、うまくビルドできない場合があります。根本的な原因は Homebrew でインストールする libgccjit の状態に依存していて、現時点(2022-08-15)でも問題が再発しています。libgccjit のバージョンが12で、master branch と emacs-28 branch の双方で発生します。当面の解決策は、下記に示すパッチを configure.ac にあてて autogen.sh を呼べば、正しくビルドできる configure が生成されます。

GCC Emacs を試す

ここ数日、界隈を賑わせている GCC Emacs を試してみました。28系のコードで特定のオプションを付けてビルドすると、 elelc にする従来のバイトコンパイルに加えて、 eln に変換するネイティブコンパイルを使えるようになります。GCC Emacsと呼ばれています。

all-the-icons から解脱したい

Emacsのモードラインやバッファを賑やかにしてくれる all-the-icons.el ですが、環境によっては希望するアイコンがレンダリングされなかったり、しかも直すのが簡単じゃありません。

view-modeをorgバッファで違和感なく使う設定

init.elorg-mode で書いている関係から、一般的な設定ファイルと同じように、特定のorgファイルが簡単に書き換わってほしくない状態にあります。そういうファイルは view-mode で扱うのがよいですね。