Function: dtrt-indent-set

dtrt-indent-set is an interactive and natively compiled function defined in dtrt-indent.el.

Signature

(dtrt-indent-set INDENT)

Documentation

Force the indentation offset for the current buffer to INDENT.

Key Bindings

This command is not in any keymaps.

Source Code

;; Defined in /nix/store/xl774j723v677bsfsybzln3vi6w0fpm3-emacs-packages-deps/share/emacs/site-lisp/elpa/dtrt-indent-20260709.2011/dtrt-indent.el
(defun dtrt-indent-set (indent)
  "Force the indentation offset for the current buffer to INDENT."
  (interactive "nIndentation offset: ")
  (let ((language-and-variable (cdr (dtrt-indent--search-hook-mapping major-mode))))
    (when language-and-variable
      (when (string= (car language-and-variable) "default")
        (error "Unsupported mode: %s" major-mode))
      (let* ((indent-offset-mode-variables
              (let ((v (nth 1 language-and-variable)))
                (if (listp v) v (list v))))
             (indent-offset-variables
              (append
               indent-offset-mode-variables
               (remove nil
                       (mapcar
                        (lambda (x)
                          (let ((mode (car x))
                                (variable (cadr x)))
                            (when (and (boundp mode)
                                       (symbol-value mode))
                              variable)))
                        dtrt-indent-hook-generic-mapping-list)))))
        (setq dtrt-indent-original-indent
              (mapcar
               (lambda (x)
                 (list x (symbol-value x) (local-variable-p x)))
               indent-offset-variables))
        (dolist (x indent-offset-variables)
          (set (make-local-variable x)
               indent))
        (when (>= dtrt-indent-verbosity 1)
          (message "%s set to %d"
                   (mapconcat 'symbol-name indent-offset-variables ", ")
                   indent))))))