Крюк выбора сдвига Emacs?

Я настроил активировать-отметить-хук и деактивировать-отметить-хук, но они работают только при выделении текста перетаскиванием мышью, а не с помощью Shift-выделения. Как подключиться к выбору смены?

Я использую Aquamacs 24 на Mac OS X 10.6.6.


person myfreeweb    schedule 25.02.2011    source источник
comment
Вероятно, вам следует опубликовать здесь, а не ТАК: superuser.com   -  person Josh    schedule 25.02.2011
comment
@Josh: Это на самом деле зависит от того, что он хочет делать с этими крючками (которые, в конце концов, обычно предоставляются для будущих нужд программирования) @myfreeweb: вы должны уточнить зачем вам это нужно.   -  person dmckee --- ex-moderator kitten    schedule 25.02.2011
comment
Это действительно имеет значение? Я хочу отключить режим hl-line-mode при активации метки и наоборот, потому что я хочу иметь одинаковый цвет для выделенной линии и области. Так же, как TextMate делает это из коробки.   -  person myfreeweb    schedule 25.02.2011
comment
Это важно, потому что сайт выбор вопросов, связанных с emacs, сложен и несколько противоречив, но если вы можете явно показать, что это вопрос программирования, тогда нет необходимости спорить.   -  person dmckee --- ex-moderator kitten    schedule 25.02.2011


Ответы (1)


Просто заглянул в исходный код Emacs, чтобы посмотреть, что происходит, вот что я нашел:

Для каждой команды, которая была транслирована с помощью сдвига, вызывается функция "handle-shift-selection". Эта функция будет активировать или деактивировать выбор, используя переменную «transient-mark-mode» и вызывая «push-mark» и «deactivate-mark» соответственно. Если я правильно посчитаю, это означает, что будет вызываться ваш хук деактивации, а не хук активации.

Один из способов решить эту проблему — добавить свой собственный код в «push-mark» с помощью «defadvice».

person Lindydancer    schedule 26.02.2011