Transform register-quicknav--last-register into a function.
It accesses the local value of register-quicknav--last-register-v if register-quicknav-buffer-only is t, the global value otherwise.
This commit is contained in:
parent
efacea633b
commit
4757e63fcd
|
@ -87,9 +87,21 @@
|
||||||
:type 'boolean
|
:type 'boolean
|
||||||
:group 'register-quicknav)
|
:group 'register-quicknav)
|
||||||
|
|
||||||
(defvar register-quicknav--last-register nil
|
(defvar-local register-quicknav--last-register-v nil
|
||||||
"The last jumped-to position register.")
|
"The last jumped-to position register.")
|
||||||
|
|
||||||
|
(defun register-quicknav--last-register (&optional val)
|
||||||
|
"Return `register-quicknav--last-register-v' or set it if VAL is non-nil.
|
||||||
|
Use the local value if `register-quicknav-buffer-only' is set and
|
||||||
|
the global value otherwise."
|
||||||
|
(if val
|
||||||
|
(if register-quicknav-buffer-only
|
||||||
|
(setq register-quicknav--last-register-v val)
|
||||||
|
(setq-default register-quicknav--last-register-v val))
|
||||||
|
(if register-quicknav-buffer-only
|
||||||
|
register-quicknav--last-register-v
|
||||||
|
(default-value 'register-quicknav--last-register-v))))
|
||||||
|
|
||||||
(defun register-quicknav--item-file-name (item)
|
(defun register-quicknav--item-file-name (item)
|
||||||
"Return file-name of ITEM.
|
"Return file-name of ITEM.
|
||||||
Works on markers and file-queries."
|
Works on markers and file-queries."
|
||||||
|
@ -137,7 +149,7 @@ Works on markers and file-queries."
|
||||||
(defun register-quicknav--jump-to-register (next)
|
(defun register-quicknav--jump-to-register (next)
|
||||||
"Jump to next position register if NEXT is t, to previous otherwise."
|
"Jump to next position register if NEXT is t, to previous otherwise."
|
||||||
(let* ((registers (register-quicknav--registers))
|
(let* ((registers (register-quicknav--registers))
|
||||||
(index (cl-position register-quicknav--last-register registers))
|
(index (cl-position (register-quicknav--last-register) registers))
|
||||||
(stop-searching))
|
(stop-searching))
|
||||||
(unless (eq index nil)
|
(unless (eq index nil)
|
||||||
(if next
|
(if next
|
||||||
|
@ -170,9 +182,9 @@ Works on markers and file-queries."
|
||||||
(setq index (- (length registers) 1))
|
(setq index (- (length registers) 1))
|
||||||
(cl-decf index)))
|
(cl-decf index)))
|
||||||
(register-to-point (car (nth index registers)))
|
(register-to-point (car (nth index registers)))
|
||||||
(setq register-quicknav--last-register (nth index registers)))
|
(register-quicknav--last-register (nth index registers)))
|
||||||
(register-to-point (car (car registers)))
|
(register-to-point (car (car registers)))
|
||||||
(setq register-quicknav--last-register (car registers)))))
|
(register-quicknav--last-register (car registers)))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun register-quicknav-next-register ()
|
(defun register-quicknav-next-register ()
|
||||||
|
@ -190,7 +202,8 @@ Works on markers and file-queries."
|
||||||
(defun register-quicknav-clear-current-register ()
|
(defun register-quicknav-clear-current-register ()
|
||||||
"Clear last jumped-to position register from `register-alist'."
|
"Clear last jumped-to position register from `register-alist'."
|
||||||
(interactive)
|
(interactive)
|
||||||
(setq register-alist (delq register-quicknav--last-register register-alist)))
|
(setq register-alist
|
||||||
|
(delq (register-quicknav--last-register) register-alist)))
|
||||||
|
|
||||||
(provide 'register-quicknav)
|
(provide 'register-quicknav)
|
||||||
;;; register-quicknav.el ends here
|
;;; register-quicknav.el ends here
|
||||||
|
|
Loading…
Reference in New Issue
Block a user