Function: erc--restore-initialize-priors
erc--restore-initialize-priors is a macro defined in erc.el.gz.
Signature
(erc--restore-initialize-priors MODE &rest VARS)
Documentation
Restore local VARS for local minor MODE from a previous session.
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc.el.gz
(defmacro erc--restore-initialize-priors (mode &rest vars)
"Restore local VARS for local minor MODE from a previous session."
(declare (indent 1))
(let ((priors (make-symbol "priors"))
(initp (make-symbol "initp"))
;;
forms)
(while-let ((k (pop vars)))
(push `(,k (if ,initp (alist-get ',k ,priors) ,(pop vars))) forms))
`(let* ((,priors (or erc--server-reconnecting erc--target-priors))
(,initp (and ,priors (alist-get ',mode ,priors))))
(unless (local-variable-if-set-p ',mode)
(error "Not a local minor mode var: %s" ',mode))
(setq ,@(mapcan #'identity (nreverse forms))))))