Function: evil-set-marker
evil-set-marker is an interactive and byte-compiled function defined
in evil-common.el.
Signature
(evil-set-marker CHAR &optional POS ADVANCE)
Documentation
Set the marker denoted by CHAR to position POS.
POS defaults to the current position of point. If ADVANCE is t, the marker advances when inserting text at it; otherwise, it stays behind.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/evil-20251108.138/evil-common.el
(defun evil-set-marker (char &optional pos advance)
"Set the marker denoted by CHAR to position POS.
POS defaults to the current position of point.
If ADVANCE is t, the marker advances when inserting text at it;
otherwise, it stays behind."
(interactive (list (read-char)))
(catch 'done
(let ((marker (evil-get-marker char t)) alist)
(unless (markerp marker)
(cond
((eq marker 'evil-visual-beginning)
(setq marker evil-visual-mark))
((eq marker 'evil-visual-goto-end)
(setq marker evil-visual-point))
((and marker (symbolp marker) (boundp marker))
(set marker (or (symbol-value marker) (make-marker)))
(setq marker (symbol-value marker)))
((eq marker 'evil-jump-backward-swap)
(evil-set-jump)
(throw 'done nil))
((functionp marker)
(user-error "Cannot set special marker `%c'" char))
((evil-global-marker-p char)
(setq alist (default-value 'evil-markers-alist)
marker (make-marker))
(evil--add-to-alist alist char marker)
(setq-default evil-markers-alist alist))
(t
(setq marker (make-marker))
(evil--add-to-alist evil-markers-alist char marker))))
(add-hook 'kill-buffer-hook #'evil-swap-out-markers nil t)
(set-marker-insertion-type marker advance)
(set-marker marker (or pos (point))))))