Function: smie-config--setter

smie-config--setter is a byte-compiled function defined in smie.el.gz.

Signature

(smie-config--setter VAR VALUE)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/smie.el.gz
(defun smie-config--setter (var value)
  (set-default var value)
  (let ((old-modefuns smie-config--modefuns))
    (setq smie-config--modefuns nil)
    (pcase-dolist (`(,mode . ,rules) value)
      (let ((modefunname (intern (format "smie-config--modefun-%s" mode))))
        (fset modefunname (lambda () (smie-config--mode-hook rules)))
        (push modefunname smie-config--modefuns)
        (add-hook (intern (format "%s-hook" mode)) modefunname)))
    ;; Neuter any left-over previously installed hook.
    (dolist (modefun old-modefuns)
      (unless (memq modefun smie-config--modefuns)
        (fset modefun #'ignore)))))