Cách thành ngữ để thực hiện các callback đa hình trong elisp là gì?Gọi lại đa hình trong Emacs/Elisp
Cụ thể, giả sử tôi có một chế độ nhỏ với một hàm thực hiện một phép toán nhất định và sau đó gọi một hàm khác. Hàm thứ hai này nên có một sự triển khai khác nhau tùy thuộc vào bộ đệm hiện tại có chứa một tệp C++ hay một tệp Java.
Hoặc, giả sử tôi muốn quá tải biến thay vì hàm. Ví dụ, tôi muốn gọi một số thực thi bên ngoài, và một trong các đối số được truyền cho nó khác nhau tùy thuộc vào bộ đệm hiện tại có tệp C++ hay tệp Java. Tôi muốn có thể xây dựng dòng lệnh trong một hàm chung và thay thế một đối số tùy thuộc vào nội dung của bộ đệm. Có phải là make-variable-buffer-local
cách tiếp cận phù hợp không? Tại thời điểm nào (và theo cơ chế nào) là các biến cục bộ ban đầu được thiết lập?
Tôi đã nhận thấy rằng 'make-variable-buffer-local' và' funcall' là phương pháp được thực hiện với 'indent-line-function', trong số những thứ khác. – Ray