Variable: pr-setting-database

pr-setting-database is a customizable variable defined in printing.el.gz.

Value

((no-duplex nil nil nil (pr-file-duplex) (pr-file-tumble)))

Documentation

Specify an alist for settings in general.

The elements have the following form:

   (SYMBOL INHERITS LOCAL KILL-LOCAL SETTING...)

Where:

SYMBOL It's a symbol to identify the setting group.

INHERITS Specify the inheritance for SYMBOL group. It's a symbol name
setting from which the current setting inherits the context.
If INHERITS is nil, means that there is no inheritance.
This is a simple inheritance mechanism.

Let's see an example to illustrate the inheritance mechanism:

(setq pr-setting-database
'((no-duplex ; setting symbol name
nil ; inherits
nil nil ; local kill-local
(pr-file-duplex . nil) ; settings
(pr-file-tumble . nil)
)
(no-duplex-and-landscape ; setting symbol name
no-duplex ; inherits
nil nil ; local kill-local
(pr-file-landscape . nil) ; settings
)))

The example above has two setting groups: no-duplex and
no-duplex-and-landscape. When setting no-duplex is activated
through inherits-from: (see option pr-ps-utility(var)/pr-ps-utility(fun),
pr-mode-alist and pr-ps-printer-alist), the variables
pr-file-duplex and pr-file-tumble are both set to nil.

Now when setting no-duplex-and-landscape is activated through
inherits-from:, the variable pr-file-landscape is set to nil
and also the settings for no-duplex are done, because
no-duplex-and-landscape inherits settings from no-duplex.

Take care with circular inheritance. It's an error if circular
inheritance happens.

LOCAL Non-nil means that all settings for SYMBOL group will be
declared local buffer.

KILL-LOCAL Non-nil means that all settings for SYMBOL group will be
killed at end. It has effect only when LOCAL is non-nil.

SETTING It's a cons like:

(VARIABLE . VALUE)

Which associates VARIABLE with VALUE. When this entry is
selected, it's executed the following command:

* If LOCAL is non-nil:
(set (make-local-variable VARIABLE) (eval VALUE))

* If LOCAL is nil:
(set VARIABLE (eval VALUE))

                Note that VALUE can be any valid Lisp expression. So, don't
forget to quote symbols and constant lists.
This setting is ignored if VARIABLE is equal to keyword
inherits-from:.
Examples:
(ps-landscape-mode . nil)
(ps-spool-duplex . t)
(pr-gs-device . (my-gs-device t))

Source Code

;; Defined in /usr/src/emacs/lisp/printing.el.gz
(defcustom pr-setting-database
  '((no-duplex				; setting symbol name
     nil nil nil			; inherits  local  kill-local
     (pr-file-duplex . nil)		; settings
     (pr-file-tumble . nil))
    )
  "Specify an alist for settings in general.

The elements have the following form:

   (SYMBOL INHERITS LOCAL KILL-LOCAL SETTING...)

Where:

SYMBOL		It's a symbol to identify the setting group.

INHERITS	Specify the inheritance for SYMBOL group.  It's a symbol name
		setting from which the current setting inherits the context.
		If INHERITS is nil, means that there is no inheritance.
		This is a simple inheritance mechanism.

		Let's see an example to illustrate the inheritance mechanism:

		(setq pr-setting-database
		      \\='((no-duplex	; setting symbol name
			 nil		; inherits
			 nil nil	; local  kill-local
			 (pr-file-duplex . nil) ; settings
			 (pr-file-tumble . nil)
			 )
			(no-duplex-and-landscape ; setting symbol name
			 no-duplex	; inherits
			 nil nil	; local  kill-local
			 (pr-file-landscape . nil) ; settings
			 )))

		The example above has two setting groups: no-duplex and
		no-duplex-and-landscape.  When setting no-duplex is activated
		through `inherits-from:' (see option `pr-ps-utility',
		`pr-mode-alist' and `pr-ps-printer-alist'), the variables
		pr-file-duplex and pr-file-tumble are both set to nil.

		Now when setting no-duplex-and-landscape is activated through
		`inherits-from:', the variable pr-file-landscape is set to nil
		and also the settings for no-duplex are done, because
		no-duplex-and-landscape inherits settings from no-duplex.

		Take care with circular inheritance.  It's an error if circular
		inheritance happens.

LOCAL		Non-nil means that all settings for SYMBOL group will be
		declared local buffer.

KILL-LOCAL	Non-nil means that all settings for SYMBOL group will be
		killed at end.  It has effect only when LOCAL is non-nil.

SETTING		It's a cons like:

		   (VARIABLE . VALUE)

		Which associates VARIABLE with VALUE.  When this entry is
		selected, it's executed the following command:

		  * If LOCAL is non-nil:
		   (set (make-local-variable VARIABLE) (eval VALUE))

		  * If LOCAL is nil:
		   (set VARIABLE (eval VALUE))

                Note that VALUE can be any valid Lisp expression.  So, don't
		forget to quote symbols and constant lists.
		This setting is ignored if VARIABLE is equal to keyword
		`inherits-from:'.
		Examples:
			(ps-landscape-mode . nil)
			(ps-spool-duplex . t)
			(pr-gs-device . (my-gs-device t))"
  :type '(repeat
	  (list
	   :tag ""
	   (symbol :tag "Setting Name")
	   (choice :menu-tag "Inheritance"
		   :tag "Inheritance"
		   (const :tag "No Inheritance" nil)
		   (symbol :tag "Inherits From"))
	   (boolean :tag "Local Buffer Setting")
	   (boolean :tag "Kill Local Variable At End")
	   (repeat
	    :tag "Setting List"
	    :inline t
	    (cons
	     :tag ""
	     (choice
	      :menu-tag "Variable"
	      :tag "Variable"
	      (const :tag "Landscape"              ps-landscape-mode)
	      (const :tag "Print Header"           ps-print-header)
	      (const :tag "Print Header Frame"     ps-print-header-frame)
	      (const :tag "Line Number"            ps-line-number)
	      (const :tag "Zebra Stripes"          ps-zebra-stripes)
	      (const :tag "Duplex"                 ps-spool-duplex)
	      (const :tag "Tumble"                 ps-spool-tumble)
	      (const :tag "Upside-Down"            ps-print-upside-down)
	      (const :tag "PS File Landscape"      pr-file-landscape)
	      (const :tag "PS File Duplex"         pr-file-duplex)
	      (const :tag "PS File Tumble"         pr-file-tumble)
	      (const :tag "Auto Region"            pr-auto-region)
	      (const :tag "Auto Mode"              pr-auto-mode)
	      (const :tag "Ghostscript Device"     pr-gs-device)
	      (const :tag "Ghostscript Resolution" pr-gs-resolution)
	      (variable :tag "Other"))
	     (sexp :tag "Value")))
	   )))