+(defvar lpr-windows-system
+ (memq system-type '(emx win32 w32 mswindows ms-dos windows-nt)))
+
+;;;###autoload
+(defvar lpr-lp-system
+ (memq system-type '(usg-unix-v dgux hpux irix)))
+
+
+(defgroup lpr nil
+ "Print Emacs buffer on line printer."
+ :group 'wp)
+
+
+;;;###autoload
+(defcustom printer-name
+ (and lpr-windows-system "PRN")
+ "*The name of a local printer to which data is sent for printing.
+\(Note that PostScript files are sent to `ps-printer-name', which see.\)
+
+On Unix-like systems, a string value should be a name understood by
+lpr's -P option; otherwise the value should be nil.
+
+On MS-DOS and MS-Windows systems, a string value is taken as the name of
+a printer device or port, provided `lpr-command' is set to \"\".
+Typical non-default settings would be \"LPT1\" to \"LPT3\" for parallel
+printers, or \"COM1\" to \"COM4\" or \"AUX\" for serial printers, or
+\"//hostname/printer\" for a shared network printer. You can also set
+it to the name of a file, in which case the output gets appended to that
+file. If you want to discard the printed output, set this to \"NUL\"."
+ :type '(choice :menu-tag "Printer Name"
+ :tag "Printer Name"
+ (const :tag "Default" nil)
+ ;; could use string but then we lose completion for files.
+ (file :tag "Name"))
+ :group 'lpr)
+
+;;;###autoload
+(defcustom lpr-switches nil