C-x r j связан с jump-to-register
, и вы можете найти нужный код там. Вы можете использовать M-x find-function
или M-x find-function-on-key
для удобного перехода к источнику.
Функция получает аргумент register
и затем вызывает (get-register register)
для получения данных. Следующий код затем восстанавливает конфигурацию кадра или окна по мере необходимости.
Код "c" для interactive
означает символ, поэтому аргумент register
является просто символом. Поэтому вы можете использовать (get-register ?a)
для получения регистра a
.
(defun jump-to-register (register &optional delete)
(interactive "cJump to register: \nP")
(let ((val (get-register register)))
(cond
;; [...]
((and (consp val) (frame-configuration-p (car val)))
(set-frame-configuration (car val) (not delete))
(goto-char (cadr val)))
((and (consp val) (window-configuration-p (car val)))
(set-window-configuration (car val))
(goto-char (cadr val)))
;; [...]
)))