Bu sıralar O’Reilly’nin Writing GNU Emacs Extensions isimli kitabını okuyorum. Emacs’i uzun zamandır kullanıyorum. Neredeyse günlük her işim için emacs açıyorum. Artık daha ileri seviyede bir kullanıcı olmak ve daha fazla özelleştirebilmek için Emacs Lisp şart oldu. Ne zamandır da aklımdaydı fakat bir türlü fırsat olmadı. Lisp i de merak ediyordum.
Kitaba yeni başladım. Bir iki şey dikkatimi çekti. Daha önce farketmemiştim. Emacs de kullandığım tüm komutların altında Lisp kodları olduğunu biliyorum fakat C-u yu hiç kullanmamıştım. C-u herhangi bir M-x sonrası komuta argüman vermek için kullanılıyor. Örneğin C-u - 1 M-x other-window komutu ile other-window a -1 i argüman olarak verip bir önceki pencereye geçiş yapılabiliyor. Kitapta ilk örnek bu iş için bir fonksiyon tanımlayıp bir tuşa bağlamak.

(defun other-window-backward()
"Select the previous window."
(interactive)
(other-window -1))

Debian emacs21-el paketini ve emacs21 sourcelarını da indirdim. Kullandığım komutların kodlarına da kitapla birlikte bakacağım.