Không, biến số before-save-hook
không phải là vùng đệm tự nhiên cục bộ. Tài liệu của biến không nói là bộ đệm cục bộ hoặc nói nó sẽ tự động trở thành bộ đệm cục bộ khi được thiết lập.
Nếu bạn muốn thêm một cái móc đệm cục bộ với nó, cách chính xác để làm điều này là chỉ để sử dụng tham số LOCAL bắt buộc của tiêu chuẩn add-hook
chức năng:
(add-hook 'before-save-hook 'foo nil t)
Các tài liệu add-móc nói :
Đối số thứ tư tùy chọn, LOCAL, nếu không phải, cho biết sửa đổi giá trị bộ đệm cục bộ của móc thay vì giá trị toàn cầu của móc. Điều này làm cho bộ đệm móc cục bộ, và nó làm cho t một thành viên của giá trị bộ đệm cục bộ . Nó hoạt động như một lá cờ để chạy móc các chức năng của giá trị toàn cầu cũng như trong giá trị cục bộ.
Câu trả lời được chọn để thêm nó vào local-write-file-hooks
là sai, tôi tin. Nếu bạn xem tài liệu cho hàm đó, trên các emacs 24.3, nó nói biến đã lỗi thời kể từ 22.1 và bạn nên sử dụng write-file-functions
. Và nếu bạn tra cứu tài liệu của write-file-functions
, nó mô tả hành vi phức tạp hơn và nói ở cuối rằng "Để thực hiện các kiểm tra hoặc cập nhật khác nhau trước khi bộ đệm được lưu, hãy sử dụng` trước khi lưu-móc '".
Ngoài ra còn có 'ws-trim', đó là những gì tôi sử dụng: ftp://ftp.lysator.liu.se/pub/emacs/ws-trim.el –