Моего типичное использование SQL-режим в Emacs заключается в следующем:Emacs: Как посетить все буфера SQL-режим и установить соответствующий SQL-буфер
а. откройте файл foo.sql и начните редактирование
b. решите, что я хочу запустить его, используя привязки клавиш для sql-send-region
c. запустите мою специальную функцию (db-connect), чтобы подключиться к соответствующему db и создать буфер * SQL *.
Однако foo.sql не знает о существовании буфера * SQL *, если я не выполняю «mx sql-mode» в буфере, чтобы обновить его среду и обнаружить, что такой буфер существует в этом точка. Я хотел бы встроить некоторый код в свою пользовательскую функцию db-connect, чтобы посетить все буферы с использованием SQL-режима и обновить переменную sql-buffer. Я уверен, что несколько элементов переполнения стека должны были сделать это или что-то подобное раньше.
Спасибо,
SetJmp
Этот код для старой версии Emacs? Он не работает (буферный режим void-function) на моем Emacs 23.3.1 (OS X). Я предполагаю, что это означает извлечение основного режима буфера. Он доступен в переменной 'major-mode', которая является локальным буфером. – vpit3833
Нет, это еще не так. Его просто что-то я написал, но я полностью забыл об этом - (defun buffer-mode (buffer-or-name) (с основным-буфером-буфером-буфером) –