Belirli modlar için kancaları çıkarın


13

Ben hariç her mod için kaydetme sondaki boşluk silmek istiyorum org-mode.

Benim .emacs, aşağıdaki satır var:

(add-hook 'before-save-hook 'delete-trailing-whitespace)

Kullandığım use-packagemakro ve ben ekleyerek çalıştı (remove-hook 'before-save-hook 'delete-trailing-whitespace)benim için :configbloğun, ama bu küresel kanca kaldırır. Özel olarak nasıl kaldırabilirim org-mode?

Yanıtlar:


18

use-packageMakro ile ilgili herhangi bir deneyimim yok , ancak prensip olarak, remove-hookişlevi yalnızca yerel kancadan kaldırmayı söyleyen üçüncü argümanı kullanabilirsiniz :

(remove-hook 'before-save-hook 'delete-trailing-whitespace t)

İşte referans için öğreti:

(remove-hook HOOK FUNCTION &optional LOCAL)

FUNCTION işlevini HOOK değerinden kaldırın. KANCA bir sembol olmalı ve FUNCTION geçerli herhangi bir fonksiyon olabilir. FUNCTION, HOOK değeri değilse veya FOOKCTION, HOOK'da çalıştırılacak kancalar listesinde görünmüyorsa, hiçbir şey yapılmaz. Bkz add-hook.

İsteğe bağlı üçüncü bağımsız değişken olan LOCAL, nil değilse, çağanozun arabellek-yerel değerini varsayılan değeri yerine değiştirdiğini söyler.


Mükemmel çalışıyor, teşekkürler. Başka bir büyük hatırlatma C-h f. Zamanlayıcı azalır kalmaz kabul edeceğim.
Matthew Piziak

2
@MatthewPiziak: Sizi daha iyi hissettirirse, bu üçüncü argümanı aldığını fark etmeden önce çok uzun zaman aldı ve sadece bu sitedeki birisinin bana işaret etmesinden sonra oldu.
Dan

2
Bu, yalnızca işlev başlangıçta LOCAL olarak açıkça eklenmişse işe yaramayacak add-hookmı? (
24.5'teki
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.