-;;; lpr.el --- print Emacs buffer on line printer.
+;;; lpr.el --- print Emacs buffer on line printer
;; Copyright (C) 1985, 1988, 1992, 1994, 2001 Free Software Foundation, Inc.
-;; Maintainer: FSF
-;; Keywords: unix
+;; Maintainer: FSF
+;; Keywords: unix
;; This file is part of GNU Emacs.
;;; Commentary:
-;; Commands to send the region or a buffer your printer. Entry points
-;; are `lpr-buffer', `print-buffer', lpr-region', or `print-region'; option
+;; Commands to send the region or a buffer to your printer. Entry points
+;; are `lpr-buffer', `print-buffer', `lpr-region', or `print-region'; option
;; variables include `printer-name', `lpr-switches' and `lpr-command'.
;;; Code:
+;;;###autoload
(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)))
:type '(repeat (string :tag "Argument"))
:group 'lpr)
-(defcustom lpr-add-switches (eq system-type 'berkeley-unix)
- "*Non-nil means construct -T and -J options for the printer program.
+(defcustom lpr-add-switches (memq system-type '(berkeley-unix gnu/linux))
+ "*Non-nil means construct `-T' and `-J' options for the printer program.
These are made assuming that the program is `lpr';
if you are using some other incompatible printer program,
this variable should be nil."
(defcustom print-region-function nil
"Function to call to print the region on a printer.
See definition of `print-region-1' for calling conventions."
- :type 'function
+ :type '(choice (const nil) function)
:group 'lpr)
(defcustom lpr-page-header-program "pr"
;; Berkeley systems support -F, and GNU pr supports both -f and -F,
;; So it looks like -F is a better default.
-(defcustom lpr-page-header-switches '("-h" "-F")
+(defcustom lpr-page-header-switches '("-F")
"*List of strings to use as options for the page-header-generating program.
The variable `lpr-page-header-program' specifies the program to use."
:type '(repeat string)
Otherwise, the switches in `lpr-headers-switches' are used
in the print command itself; we expect them to request pagination.
-
+
See the variables `lpr-switches' and `lpr-command'
for further customization of the printer command."
(interactive)
Otherwise, the switches in `lpr-headers-switches' are used
in the print command itself; we expect them to request pagination.
-
+
See the variables `lpr-switches' and `lpr-command'
for further customization of the printer command."
(interactive "r")
(let ((new-coords (print-region-new-buffer start end)))
(apply 'call-process-region (car new-coords) (cdr new-coords)
lpr-page-header-program t t nil
- lpr-page-header-switches))
+ (nconc (list "-h" title)
+ lpr-page-header-switches)))
(setq start (point-min)
end (point-max))))
(apply (or print-region-function 'call-process-region)