# HG changeset patch # User Andrew Innes # Date 925637767 0 # Node ID 7de5cc79a8b4c80e40bc81420cdff1771d1e604a # Parent 5b211965b2b92496587c7ead68434510038032af (file-name-buffer-file-type-alist): Remove various file extension regexps which aren't necessarily binary files. diff -r 5b211965b2b9 -r 7de5cc79a8b4 lisp/dos-w32.el --- a/lisp/dos-w32.el Sun May 02 09:34:41 1999 +0000 +++ b/lisp/dos-w32.el Sun May 02 09:36:07 1999 +0000 @@ -46,12 +46,11 @@ (defvar file-name-buffer-file-type-alist '( ("[:/].*config.sys$" . nil) ; config.sys text - ("\\.elc$" . t) ; emacs stuff - ("\\.\\(obj\\|exe\\|com\\|lib\\|sym\\|sys\\|chk\\|out\\|bin\\|ico\\|pif\\|class\\)$" . t) + ("\\.\\(obj\\|exe\\|com\\|lib\\|sys\\|bin\\|ico\\|pif\\|class\\)$" . t) ; MS-Dos stuff - ("\\.\\(dll\\|drv\\|cpl\\|scr\\vbx\\|386\\|vxd\\|fon\\|fnt\\|fot\\|ttf\\|grp\\)$" . t) + ("\\.\\(dll\\|drv\\|386\\|vxd\\|fon\\|fnt\\|fot\\|ttf\\|grp\\)$" . t) ; Windows stuff - ("\\.\\(hlp\\|bmp\\|wav\\|avi\\|mpg\\|jpg\\|tif\\|mov\\|au\\)" . t) + ("\\.\\(bmp\\|wav\\|avi\\|mpg\\|jpg\\|tif\\|mov\\|au\\)" . t) ; known binary data files ("\\.\\(arc\\|zip\\|pak\\|lzh\\|zoo\\)$" . t) ; Packers @@ -250,6 +249,9 @@ ;;; Support for printing under DOS/Windows, see lpr.el and ps-print.el. +(defvar direct-print-region-use-command-dot-com t + "*Control whether command.com is used to print on Windows 9x.") + ;; Function to actually send data to the printer port. ;; Supports writing directly, and using various programs. (defun direct-print-region-helper (printer @@ -257,8 +259,7 @@ lpr-prog delete-text buf display rest) - (let* ((directory-sep-char ?\\) ; expand file names in DOS format - ;; Ignore case when matching known external program names. + (let* (;; Ignore case when matching known external program names. (case-fold-search t) ;; Convert / to \ in printer name, for sake of external programs. (printer @@ -272,8 +273,10 @@ (setq safe-dirs (cdr safe-dirs))) (car safe-dirs))) (tempfile - (make-temp-name - (expand-file-name "EP" (getenv "TMPDIR")))) + (subst-char-in-string + ?/ ?\\ + (make-temp-name + (expand-file-name "EP" (getenv "TMPDIR"))))) ;; capture output for diagnosis (errbuf (list (get-buffer-create " *print-region-helper*") t))) ;; It seems that we must be careful about the directory name that @@ -284,7 +287,8 @@ ;; No action is needed for UNC printer names, which is just as well ;; because `expand-file-name' doesn't support UNC names on MS-DOS. (if (and (stringp printer) (not (string-match "^\\\\" printer))) - (setq printer (expand-file-name printer safe-dir))) + (setq printer + (subst-char-in-string ?/ ?\\ (expand-file-name printer safe-dir)))) ;; Handle known programs specially where necessary. (unwind-protect (cond @@ -323,6 +327,8 @@ ;; programs from accessing LPT ports reliably. ((and (eq system-type 'windows-nt) (getenv "winbootdir") + ;; Allow cop-out so command.com isn't invoked + direct-print-region-use-command-dot-com ;; file-attributes fails on LPT ports on Windows 9x but ;; not on NT, so handle both cases for safety. (eq (or (nth 7 (file-attributes printer)) 0) 0))