Function: clojure--modern-indent-spec-p

clojure--modern-indent-spec-p is a byte-compiled function defined in clojure-mode.el.

Signature

(clojure--modern-indent-spec-p SPEC)

Documentation

Return non-nil if SPEC uses the modern tuple-based indent format.

A modern spec is a list of rules like ((:block N)) or
((:inner D) (:inner D I)).

Source Code

;; Defined in ~/.emacs.d/elpa/clojure-mode-20260325.811/clojure-mode.el
;;; Indent spec format conversion
;;
;; clojure-mode supports two indent spec formats:
;;
;; Legacy format (to be removed in clojure-mode 6):
;;   - Integer N: N special args, then body
;;   - :defn: body-style indentation
;;   - Quoted positional list: '(1 ((:defn)) nil) where each element
;;     controls a specific argument position
;;
;; Modern format (shared with clojure-ts-mode):
;;   - ((:block N)): N special args, then body
;;   - ((:inner D)): body-style at nesting depth D
;;   - ((:inner D I)): body-style at depth D, only at position I
;;   - Multiple rules: ((:block 1) (:inner 2 0))

(defun clojure--modern-indent-spec-p (spec)
  "Return non-nil if SPEC uses the modern tuple-based indent format.
A modern spec is a list of rules like ((:block N)) or
\((:inner D) (:inner D I))."
  (and (listp spec)
       spec ; not nil
       (cl-every (lambda (rule)
                   (and (listp rule)
                        (memq (car rule) '(:block :inner))))
                 spec)))