Преобразуйте макрос Emacs в Elisp

Прочитайте газету: Porikli, Fatih, Oncel Tuzel и Peter Meer. Отслеживание “Covariance Используя Образцовое Обновление На основе Средств на Риманновом Manifolds”. (2006) Машинное зрение IEEE и Распознавание образов.

я успешно смог обнаружить перекрывающиеся регионы в изображениях, полученных от смежных веб-камер с помощью техники, представленной в данной статье. Моя ковариационная матрица состояла из Sobel, осторожных и выводов обнаружения аспекта/края SUSAN, а также исходных полутоновых пикселей.

18
задан Paul Sonier 11 November 2009 в 19:48
поделиться

1 ответ

Нет, извините. Не существует тривиального способа преобразовать макрос emacs в elisp.

Обновление: Над Emacs была проделана некоторая работа, чтобы начать этот путь. См. эту ветку в качестве отправной точки. Это все еще невозможно (июнь 2010 г.), но есть активность.

Первая причина, о которой я могу думать, это иметь дело с интерактивными командами и преобразовывать нажатия клавиш в правильные аргументы для функций.

Подумайте о следующей последовательности:

Cx b .em TAB RET

Начинает команду переключения на буфер, вводит три символа, использует завершение TAB для завершения и RET для принятия. Эквивалентный lisp для конечного результата (в сеансе emacs, где завершение TAB является уникальным):

(switch-to-buffer ".emacs")

Думая о завершении, есть также взаимодействия с раскрытием всех типов ( dabbrev , hippie-expand и т. Д.).

Отправной точкой может быть Mx edit-last-kbd-macro , который (в моем случае) показывает следующее:

;; Keyboard Macro Editor.  Press C-c C-c to finish; press C-x k RET to cancel.
;; Original keys: C-x b .em <tab> RET

Command: last-kbd-macro
Key: none

Macro:

C-x b       ;; switch-to-buffer
.em         ;; self-insert-command * 3
<tab>       ;; pabbrev-expand-maybe
RET         ;; newline-and-indent

Который на По крайней мере, дает вам некоторые имена функций. Но вы увидите, что RET помечен как 'newline-and-indent , что неверно, потому что во время выполнения макроса минибуфер активен, а привязка фактически 'завершение и выход из минибуфера . Точно так же правильное связывание для TAB - это 'минибуфер-полный .

newline-and-indent , что неверно, потому что во время выполнения макроса минибуфер активен, а привязка фактически является 'minibuffer-complete-and-exit . Точно так же правильное связывание для TAB - это 'минибуфер-полный .

newline-and-indent , что неверно, потому что во время выполнения макроса минибуфер активен, а привязка фактически является 'minibuffer-complete-and-exit . Точно так же правильное связывание для TAB - это 'минибуфер-полный .

22
ответ дан 30 November 2019 в 08:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: