Если вы посмотрите на исходный код
(defun window-configuration-to-register (register &optional arg)
...
(set-register register (list (current-window-configuration) (point-marker))))
, вы увидите, что он сохраняет точку в качестве второго аргумента.Просто переопределите его как
(defun my-window-configuration-to-register (register &optional arg)
(interactive "cWindow configuration to register: \nP")
(set-register register (list (current-window-configuration) nil)))
и переопределите ярлык Cx rw, чтобы использовать my-window-configuration-to-register
(define-key (current-global-map) (kbd "C-x r w") 'my-window-configuration-to-register)
Или определить совет
(defadvice window-configuration-to-register (after window-configuration-to-register-no-point activate)
"Avoid storing current buffer's position in the register. We want to stay on the last used position, not to jump to the saved one"
(set-register register (list (current-window-configuration) nil)))
Единственная проблема заключается в том, что при переходе на него появляется сообщение об ошибке.Вы можете переопределить jump-to-register
, чтобы избежать его