Function: pr-eval-setting-alist
pr-eval-setting-alist is a byte-compiled function defined in
printing.el.gz.
Signature
(pr-eval-setting-alist KEY &optional GLOBAL OLD)
Source Code
;; Defined in /usr/src/emacs/lisp/printing.el.gz
(defun pr-eval-setting-alist (key &optional global old)
(let ((setting (cdr (assq key pr-setting-database))))
(and setting
(let ((inherits (nth 0 setting))
(local (nth 1 setting))
(kill (nth 2 setting))
local-list)
(and local global
(progn
(ding)
(message "There are local buffer settings for `%S'." key)
(setq global nil)))
(and inherits
(if (memq inherits old)
(error "Circular inheritance for `%S'" inherits)
(setq local-list
(pr-eval-setting-alist inherits global
(cons inherits old)))))
(mapc
(cond ((not local) ; global settings
(lambda (option)
(let ((var-sym (car option)))
(or (eq var-sym 'inherits-from:)
(set var-sym (eval (cdr option)))))))
(kill ; local settings with killing
(lambda (option)
(let ((var-sym (car option)))
(unless (eq var-sym 'inherits-from:)
(setq local-list (cons var-sym local-list))
(set (make-local-variable var-sym)
(eval (cdr option)))))))
(t ; local settings without killing
(lambda (option)
(let ((var-sym (car option)))
(or (eq var-sym 'inherits-from:)
(set (make-local-variable var-sym)
(eval (cdr option))))))))
(nthcdr 3 setting))
local-list))))