Variable: smie-config--mode-local
smie-config--mode-local is a buffer-local variable defined in
smie.el.gz.
Documentation
Indentation config rules installed for this major mode.
Typically manipulated from the major-mode's hook.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/smie.el.gz
;;; User configuration
;; This is designed to be a completely independent "module", so we can play
;; with various kinds of smie-config modules without having to change the core.
;; This smie-config module is fairly primitive and suffers from serious
;; restrictions:
;; - You can only change a returned offset, so you can't change the offset
;; passed to smie-rule-parent, nor can you change the object with which
;; to align (in general).
;; - The rewrite rule can only distinguish cases based on the kind+token arg
;; and smie-rules-function's return value, so you can't distinguish cases
;; where smie-rules-function returns the same value.
;; - Since config-rules depend on the return value of smie-rules-function, any
;; config change that modifies this return value (e.g. changing
;; foo-indent-basic) ends up invalidating config-rules.
;; This last one is a serious problem since it means that file-local
;; config-rules will only work if the user hasn't changed foo-indent-basic.
;; One possible way to change it is to modify smie-rules-functions so they can
;; return special symbols like +, ++, -, etc. Or make them use a new
;; smie-rule-basic function which can then be used to know when a returned
;; offset was computed based on foo-indent-basic.
(defvar-local smie-config--mode-local nil
"Indentation config rules installed for this major mode.
Typically manipulated from the major-mode's hook.")