あれ、もう桜が咲きそうなんですけど???
今回は超小ネタです。ちょっと今Emacsをいじっているなかでなかなか出来なかったので。
やりたいこと
こういうことがやりたいんです。
(insert (propertize "sample" 'face (:foreground "red")))
が、例えばこれをscratchバッファでやると、faceが反映されません。whyなんで!?ってなりますね。
こうしよう
例えば今のバッファに入れたければ、こうしましょう。
(with-current-buffer (current-buffer)
(insert (propertize "sample" 'face '(:foreground "red"))))
なんでこれで動くん?って話ですが、公式のドキュメントにちゃんと書いてあるようです。
https://www.gnu.org/software/emacs/manual/html_node/elisp/Current-Buffer.html
要は、lisp programや関数の中では、bufferが関連付けられていないので、propertyを設定してもfaceを反映する処理が動かないよ、ということのようです。propertize自体は動いているのにバッファに反映されなくて???ってなってましたが、私はこれで解消しました。
小ネタも書いていきたい
ネタ自体は、またキーボード変えたとかいくつかあるんですが、目下大きめのネタが進行中で、そっちに集中している全然書けない、というジレンマ状態です。もうちょっとしたらかけるようになると思うので、それまでも小ネタを書いていけるようになりたいところです。