Впервые на elisp и нужна помощь.
У меня есть простая функция, которая просматривает документ, когда кадр разбит на два окна:
(defun noteview-pagedown ()
(interactive)
(with-selected-window (other-window-for-scrolling)
(doc-view-scroll-up-or-next-page nil)))
(defconst noteview-mode-keys
'(("C-M-v" . noteview-pagedown)))
; lifted from android-mode.el
(defvar noteview-mode-map (make-sparse-keymap))
(add-hook 'noteview-mode-hook
(lambda ()
(dolist (spec noteview-mode-keys)
(define-key
noteview-mode-map
(read-kbd-macro (concat noteview-mode-key-prefix " " (car spec)))
(cdr spec)))))
В левом окне есть текстовый документ с этой функцией. В правом окне есть PDF-файл с открытым docview.
Когда я нажимаю C-M-v, он работает правильно в первый раз, а затем неправильно во второй раз. Кажется, что поочередно выполняется переход на страницу вниз, а затем на страницу вверх, поэтому я никогда не перехожу на следующую страницу.
Когда я запускаю эту функцию в интерактивном режиме с M-x noteview-pagedown, она работает.
Будем благодарны за любые подсказки, почему это не сработает из макроса клавиатуры.