Function: combobulate-mark-defun

combobulate-mark-defun is an interactive and natively compiled function defined in combobulate-manipulation.el.

Signature

(combobulate-mark-defun &optional ARG)

Documentation

Mark defun and place point at the end ARG times.

Uses procedures-defun to determine what a defun is. Repeat calls expands the scope.

Key Bindings

combobulate-key-map C-M-h

Source Code

;; Defined in /nix/store/b5fvrwzi3zvkabyzx0in6gw1cj963z46-emacs-packages-deps/share/emacs/site-lisp/combobulate-manipulation.el
(defun combobulate-mark-defun (&optional arg)
  "Mark defun and place point at the end ARG times.

Uses `procedures-defun' to determine what a
defun is.  Repeat calls expands the scope."
  (interactive "p")
  (with-argument-repetition arg
    (with-navigation-nodes (:procedures (combobulate-read procedures-defun) :skip-prefix t)
      (unless (combobulate-mark-node-at-point nil t)
        (if (< arg 0)
            (combobulate-navigate-beginning-of-defun)
          (when (and mark-active (> (mark) (point)))
            (exchange-point-and-mark))
          (combobulate-navigate-end-of-defun))))))