Mercurial > hg > xemacs-beta
comparison lisp/printer.el @ 503:98fb34b6fbe9
[xemacs-hg @ 2001-05-04 23:31:31 by ben]
* printer.el (generic-print-buffer):
* printer.el (generic-print-region):
Enable dialog boxes. Apply workaround recommended by Kirill.
fix (fboundp 'lpr-buffer) -> (fboundp 'lpr-region).
Take out interactive dependence of kill-whole-line.
* etc\check_cygwin_setup.sh (distdir): Update for current
Cygwin reality.
* etc\NEWS: Remove kill-whole-line changes.
author | ben |
---|---|
date | Fri, 04 May 2001 23:31:34 +0000 |
parents | b3bbdc4058d7 |
children | 39ccc7dd8077 |
comparison
equal
deleted
inserted
replaced
502:7039e6323819 | 503:98fb34b6fbe9 |
---|---|
225 operation using the dialog box, and `generic-print-buffer' will not print | 225 operation using the dialog box, and `generic-print-buffer' will not print |
226 anything. When called interactively, use a prefix arg to suppress the | 226 anything. When called interactively, use a prefix arg to suppress the |
227 display of the print dialog box. | 227 display of the print dialog box. |
228 | 228 |
229 If BUFFER is nil or omitted, the current buffer is used." | 229 If BUFFER is nil or omitted, the current buffer is used." |
230 ;; #### for some reason, displaying a dialog box makes the printing | 230 (interactive (list nil (not current-prefix-arg))) |
231 ;; fail unless y-or-n-p is called (see below). when this is fixed, | |
232 ;; remove one of the calls to `not' in the following line. | |
233 (interactive (list nil (not (not current-prefix-arg)))) | |
234 (if (or (not (valid-specifier-tag-p 'msprinter)) | 231 (if (or (not (valid-specifier-tag-p 'msprinter)) |
235 (not display-print-dialog)) | 232 (not display-print-dialog)) |
236 (generic-print-region (point-min buffer) (point-max buffer) buffer) | 233 (generic-print-region (point-min buffer) (point-max buffer) buffer) |
237 (let* ((d (make-device 'msprinter printer-name)) | 234 (let* ((d (make-device 'msprinter printer-name)) |
238 (props (make-dialog-box 'print :device d))) | 235 (props (make-dialog-box 'print :device d))) |
340 (setf (Print-context-pageno context) pageno) | 337 (setf (Print-context-pageno context) pageno) |
341 | 338 |
342 ;; only actually print the page if it's in the | 339 ;; only actually print the page if it's in the |
343 ;; range. | 340 ;; range. |
344 (when (>= pageno from-page) | 341 (when (>= pageno from-page) |
345 ;; none of these work. | |
346 ; (mapcar #'(lambda (foo) | |
347 ; (redisplay-device foo t)) | |
348 ; (delete-if #'(lambda (foo) | |
349 ; (eq (device-type foo) | |
350 ; 'msprinter)) | |
351 ; (device-list))) | |
352 ; (mapcar #'(lambda (foo) | |
353 ; (redraw-device foo t)) | |
354 ; (delete-if #'(lambda (foo) | |
355 ; (eq (device-type foo) | |
356 ; 'msprinter)) | |
357 ; (device-list))) | |
358 ; (sit-for 0.01) | |
359 ;; but this one sure as hell does. | |
360 ; (y-or-n-p "continue") | |
361 (when printer-page-header | 342 (when printer-page-header |
362 (with-current-buffer header-buffer | 343 (with-current-buffer header-buffer |
363 (erase-buffer) | 344 (erase-buffer) |
364 (generate-header-line printer-page-header | 345 (generate-header-line printer-page-header |
365 context) | 346 context) |
373 (generate-header-line printer-page-footer | 354 (generate-header-line printer-page-footer |
374 context) | 355 context) |
375 (goto-char (point-min)) | 356 (goto-char (point-min)) |
376 (set-window-start footer-window (point-min)))) | 357 (set-window-start footer-window (point-min)))) |
377 | 358 |
378 (redisplay-frame f) | 359 (redisplay-frame f t) |
379 (print-job-eject-page f) | 360 (print-job-eject-page f) |
380 ) | 361 ) |
381 ;; but use the GUARANTEE argument to `window-end' | 362 ;; but use the GUARANTEE argument to `window-end' |
382 ;; so that we get the right value even if we | 363 ;; so that we get the right value even if we |
383 ;; didn't do a redisplay. | 364 ;; didn't do a redisplay. |
411 (and d (delete-device d)) | 392 (and d (delete-device d)) |
412 (and header-buffer (kill-buffer header-buffer)) | 393 (and header-buffer (kill-buffer header-buffer)) |
413 (and footer-buffer (kill-buffer footer-buffer)) | 394 (and footer-buffer (kill-buffer footer-buffer)) |
414 ))) | 395 ))) |
415 ((and (not (eq system-type 'windows-nt)) | 396 ((and (not (eq system-type 'windows-nt)) |
416 (fboundp 'lpr-buffer)) | 397 (fboundp 'lpr-region)) |
417 (lpr-region buffer)) | 398 (lpr-region buffer)) |
418 (t (error "No print support available")))) | 399 (t (error "No print support available")))) |