Function: markdown-prev-list-item
markdown-prev-list-item is a byte-compiled function defined in
markdown-mode.el.
Signature
(markdown-prev-list-item LEVEL)
Documentation
Search backward from point for a list item with indentation LEVEL.
Set point to the beginning of the item, and return point, or nil upon failure.
Source Code
;; Defined in ~/.emacs.d/elpa/markdown-mode-20260321.143/markdown-mode.el
(defun markdown-prev-list-item (level)
"Search backward from point for a list item with indentation LEVEL.
Set point to the beginning of the item, and return point, or nil
upon failure."
(let (bounds indent prev)
(setq prev (point))
(forward-line -1)
(setq indent (current-indentation))
(while
(cond
;; List item
((and (looking-at-p markdown-regex-list)
(setq bounds (markdown-cur-list-item-bounds)))
(cond
;; Stop and return point at item of equal indentation
((= (nth 3 bounds) level)
(setq prev (point))
nil)
;; Stop and return nil at item with lesser indentation
((< (nth 3 bounds) level)
(setq prev nil)
nil)
;; Stop at beginning of buffer
((bobp) (setq prev nil))
;; Continue at item with greater indentation
((> (nth 3 bounds) level) t)))
;; Stop at beginning of buffer
((bobp) (setq prev nil))
;; Continue if current line is blank
((markdown-cur-line-blank-p) t)
;; Continue while indentation is the same or greater
((>= indent level) t)
;; Stop if current indentation is less than list item
;; and the next is blank
((and (< indent level)
(markdown-next-line-blank-p))
(setq prev nil))
;; Stop at a header
((looking-at-p markdown-regex-header) (setq prev nil))
;; Stop at a horizontal rule
((looking-at-p markdown-regex-hr) (setq prev nil))
;; Otherwise, continue.
(t t))
(forward-line -1)
(setq indent (current-indentation)))
prev))