summaryrefslogtreecommitdiff
path: root/lisp/ps-print.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/ps-print.el')
-rw-r--r--lisp/ps-print.el13
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 8968d414199..b1b13ccc2a1 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -1869,11 +1869,14 @@ EndDSCPage\n"))
(message "Printing..."))
(save-excursion
(set-buffer ps-spool-buffer)
- (if (eq system-type 'ms-dos)
- (write-region (point-min) (point-max) "PRN")
- (apply 'call-process-region
- (point-min) (point-max) ps-lpr-command nil 0 nil
- ps-lpr-switches)))
+ (if (and (eq system-type 'ms-dos) (stringp dos-ps-printer))
+ (write-region (point-min) (point-max) dos-ps-printer t 0)
+ (let ((binary-process-input t)) ; for MS-DOS
+ (apply 'call-process-region
+ (point-min) (point-max) ps-lpr-command nil
+ (if (fboundp 'start-process) 0 nil)
+ nil
+ ps-lpr-switches))))
(if ps-razzle-dazzle
(message "Printing...done")))
(kill-buffer ps-spool-buffer)))