changeset 14189:557b3d11a381

(ps-lpr-switches, ps-lpr-command): Just setq them; duplicate defvar is a bad idea. (dos-printer): New variable, the local printer device. (dos-print-region-function): New function, used for `print-region-function'. (dos-ps-printer): New variable; if a string, it's the name of the local printer device. (ps-lpr-command, ps-lpr-switches): Set them properly for Ghostscript. (lpr-headers-switches): Set to non-nil, to disable page headers' support under MS-DOS.
author Richard M. Stallman <rms@gnu.org>
date Mon, 15 Jan 1996 22:50:00 +0000
parents cca44468f1e4
children 395b22713872
files lisp/dos-fns.el
diffstat 1 files changed, 68 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/dos-fns.el	Mon Jan 15 22:42:33 1996 +0000
+++ b/lisp/dos-fns.el	Mon Jan 15 22:50:00 1996 +0000
@@ -192,3 +192,71 @@
 (defun select-frame (frame &optional no-enter)
   "Select FRAME for input events."
   (selected-frame))
+
+;; Support for printing under MS-DOS, see lpr.el and ps-print.el.
+(defvar dos-printer "PRN"
+  "*The name of a local MS-DOS device to which data is sent for printing.
+\(Note that PostScript files are sent to `dos-ps-printer', which see.\)
+
+Typical non-default settings would be \"LPT1\" to \"LPT3\" for
+parallel printers, or \"COM1\" to \"COM4\" or \"AUX\" for serial
+printers.  You can also set it to a 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\".")
+
+(defun dos-print-region-function (start end
+					&optional lpr-prog
+					delete-text buf display rest)
+  "MS-DOS-specific function to print the region on a printer.
+Writes the region to the device or file which is a value of
+`dos-printer' \(which see\).  Ignores any arguments beyond
+START and END."
+
+  (write-region start end dos-printer t 0)
+  ;; Make each print-out start on a new page, but don't waste
+  ;; paper if there was a form-feed at the end of this file.
+  (if (not (char-equal (char-after (1- end)) ?\C-l))
+      (write-region "\f" nil dos-printer t 0)))
+
+;; Set this to nil if you have a port of the `lpr' program and
+;; you want to use it for printing.  If the default setting is
+;; in effect, `lpr-command' and its switches are ignored when
+;; printing with `lpr-xxx' and `print-xxx'.
+(setq print-region-function 'dos-print-region-function)
+
+;; Set this to nil if you have a port of the `pr' program
+;; (e.g., from GNU Textutils), or if you have an `lpr'
+;; program (see above) that can print page headers.
+;; If `lpr-headers-switches' is non-nil (the default) and
+;; `print-region-function' is set to `dos-print-region-function',
+;; then requests to print page headers will be silently
+;; ignored, and `print-buffer' and `print-region' produce
+;; the same output as `lpr-buffer' and `lpr-region', accordingly.
+(setq lpr-headers-switches "(page headers are not supported)")
+
+(defvar dos-ps-printer "PRN"
+  "*Method for printing PostScript files under MS-DOS.
+
+If the value is a string, then it is taken as the name of the
+device to which PostScript files are written.  By default it
+is the default printer device; typical non-default settings
+would be \"LPT1\" to \"LPT3\" for parallel printers, or \"COM1\"
+to \"COM4\" or \"AUX\" for serial printers.  You can also set it
+to a name of a file, in which case the output gets appended
+to that file.  \(Note that `ps-print' package already has
+facilities for printing to a file, so you might as well use
+them instead of changing the setting of this variable.\)  If
+you want to silently discard the printed output, set this to \"NUL\".
+
+If the value is anything but a string, PostScript files will be
+piped to the program given by `ps-lpr-command', with switches
+given by `ps-lpr-switches', which see.")
+
+(setq ps-lpr-command "gs")
+
+(setq ps-lpr-switches '("-q" "-dNOPAUSE" "-sDEVICE=epson" "-r240x60"
+			  "-sOutputFile=LPT1" "-"))
+
+(provide 'dos-fns)
+
+; dos-fns.el ends here