+(defcustom lpr-printer-switch
+ (if lpr-lp-system
+ "-d "
+ "-P")
+ "*Printer switch, that is, something like \"-P\", \"-d \", \"/D:\", etc.
+This switch is used in conjunction with `printer-name'."
+ :type '(choice :menu-tag "Printer Name Switch"
+ :tag "Printer Name Switch"
+ (const :tag "None" nil)
+ (string :tag "Printer Switch"))
+ :group 'lpr)
+
+;;;###autoload
+(defcustom lpr-command
+ (cond
+ (lpr-windows-system
+ "")
+ (lpr-lp-system
+ "lp")
+ (t
+ "lpr"))
+ "*Name of program for printing a file.
+
+On MS-DOS and MS-Windows systems, if the value is an empty string then
+Emacs will write directly to the printer port named by `printer-name'.
+The programs `print' and `nprint' (the standard print programs on
+Windows NT and Novell Netware respectively) are handled specially, using
+`printer-name' as the destination for output; any other program is
+treated like `lpr' except that an explicit filename is given as the last
+argument."
+ :type 'string
+ :group 'lpr)
+
+;; Default is nil, because that enables us to use pr -f
+;; which is more reliable than pr with no args, which is what lpr -p does.
+(defcustom lpr-headers-switches nil
+ "*List of strings of options to request page headings in the printer program.
+If nil, we run `lpr-page-header-program' to make page headings
+and print the result."
+ :type '(repeat (string :tag "Argument"))
+ :group 'lpr)
+
+(defcustom print-region-function nil