;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:37:58 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/dos-w32.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`dos-w32.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\303\304	B\305\304\207" [path-separator minibuffer-history-case-insensitive-variables null-device ";" file-name-history "NUL"] 2)
#@187 *Alist for distinguishing text files from binary files.
Each element has the form (REGEXP . TYPE), where REGEXP is matched
against the file name, and TYPE is nil for text, t for binary.
(defvar file-name-buffer-file-type-alist '(("[:/].*config.sys$") ("\\.\\(obj\\|exe\\|com\\|lib\\|sys\\|bin\\|ico\\|pif\\|class\\)$" . t) ("\\.\\(dll\\|drv\\|386\\|vxd\\|fon\\|fnt\\|fot\\|ttf\\|grp\\)$" . t) ("\\.\\(bmp\\|wav\\|avi\\|mpg\\|jpg\\|tif\\|mov\\|au\\)$" . t) ("\\.\\(arc\\|zip\\|pak\\|lzh\\|zoo\\)$" . t) ("\\.\\(a\\|o\\|tar\\|z\\|gz\\|taz\\|jar\\)$" . t) ("\\.tp[ulpw]$" . t) ("[:/]tags$")) (#$ . -762))
(defalias 'find-buffer-file-type-match #[(filename) "\305\306\307\f!	\204$ \n\203$ \310\n@@\f\"\203 \n@\nA\202\n 	+\207" [file-name-buffer-file-type-alist found alist case-fold-search filename nil t file-name-sans-versions string-match] 3])
(defalias 'find-buffer-file-type #[(filename) "\304!\305\211\204 \202) \nA\211\306>\203 	\202) 	9\205) \307	!\205) 	!*\207" [filename code match default-buffer-file-type find-buffer-file-type-match nil (nil t) fboundp] 3])
(set-default 'buffer-file-coding-system 'undecided-dos)
#@1652 Choose a coding system for a file operation.
If COMMAND is `insert-file-contents', the coding system is chosen based
upon the filename, the contents of `untranslated-filesystem-list' and
`file-name-buffer-file-type-alist', and whether the file exists:

  If it matches in `untranslated-filesystem-list':
    If the file exists:					`undecided'
    If the file does not exist:				`undecided-unix'
  If it matches in `file-name-buffer-file-type-alist':
    If the match is t (for binary):			`no-conversion'
    If the match is nil (for dos-text):			`undecided-dos'
  Otherwise:
    If the file exists:					`undecided'
    If the file does not exist:	       default-buffer-file-coding-system

If COMMAND is `write-region', the coding system is chosen based upon
the value of `buffer-file-coding-system' and `buffer-file-type'. If
`buffer-file-coding-system' is non-nil, its value is used.  If it is
nil and `buffer-file-type' is t, the coding system is `no-conversion'.
Otherwise, it is `undecided-dos'.

The two most common situations are when DOS and Unix files are read
and written, and their names do not match in
`untranslated-filesystem-list' and `file-name-buffer-file-type-alist'.
In these cases, the coding system initially will be `undecided'.  As
the file is read in the DOS case, the coding system will be changed to
`undecided-dos' as CR/LFs are detected.  As the file is read in the
Unix case, the coding system will be changed to `undecided-unix' as
LFs are detected.  In both cases, `buffer-file-coding-system' will be
set to the appropriate coding system, and the value of
`buffer-file-coding-system' will be used when writing the file.
(defalias 'find-buffer-file-type-coding-system #[(command) "@\306\211\211\211\211\211\307=\203e A@\310!\211\204> \311!\203+ \312\202> \313!\2036 \312\202> \314!\203> \312\f\203F \315\202\202 \203N \316\202\202 	\203V \317\202\202 \n\203^ \320\202\202 \211B\202\202 \321=\205\202 \203x \211B\202\202 \203\201 \322\202\202 \323.\207" [command undecided-unix undecided text binary target nil insert-file-contents find-buffer-file-type find-buffer-file-type-match t file-exists-p untranslated-file-p (no-conversion . no-conversion) (undecided-dos . undecided-dos) (undecided-unix . undecided-unix) (undecided . undecided) write-region (no-conversion . no-conversion) (undecided-dos . undecided-dos) op default-buffer-file-coding-system buffer-file-coding-system buffer-file-type] 7 (#$ . 1908)])
(modify-coding-system-alist 'file "" 'find-buffer-file-type-coding-system)
#@45 Visit file FILENAME and treat it as binary.
(defalias 'find-file-binary #[(filename) "\302\303	!)\207" [file-name-buffer-file-type-alist filename (("" . t)) find-file] 2 (#$ . 4462) "FFind file binary: "])
#@50 Visit file FILENAME and treat it as a text file.
(defalias 'find-file-text #[(filename) "\302\303	!)\207" [file-name-buffer-file-type-alist filename (("")) find-file] 2 (#$ . 4675) "FFind file text: "])
(defalias 'find-file-not-found-set-buffer-file-coding-system #[nil "\212pq\210\n\204 \204 \305\306 !\203 \307	\310\"\211\311=\211*\207" [buffer-file-coding-system coding coding-system-for-read inhibit-eol-conversion buffer-file-type untranslated-file-p buffer-file-name coding-system-change-eol-conversion 0 no-conversion] 4])
(add-hook 'find-file-not-found-hooks 'find-file-not-found-set-buffer-file-coding-system)
#@190 List of filesystems that require no CR/LF translation when reading 
and writing files.  Each filesystem in the list is a string naming
the directory prefix corresponding to the filesystem.
(defvar untranslated-filesystem-list nil (#$ . 5312))
#@107 Return FILENAME in a canonicalized form for use with the functions
dealing with untranslated filesystems.
(defalias 'untranslated-canonical-name #[(filename) "\303>\203% \304\305\306\n\304#\307\310	\"\204 \307\311	\"\203  	\202# \312	!)\207\n\207" [system-type name filename (ms-dos windows-nt) nil mapconcat #[(char) "\301X\203 \302X\203 \303\301Z\304\\!\207\303!\207" [char 65 90 char-to-string 97] 3] string-match "^.:$" "^/[^/:]+:" expand-file-name] 4 (#$ . 5562)])
#@102 Return t if FILENAME is on a filesystem that does not require 
CR/LF translation, and nil otherwise.
(defalias 'untranslated-file-p #[(filename) "\305!	\306\n\204& \203& \307\310@P\f\"\203  \311\211\202	 A\202 \n+\207" [filename untranslated-filesystem-list found ufs-list fs untranslated-canonical-name nil string-match "^" t] 4 (#$ . 6049)])
#@255 Add FILESYSTEM to the list of filesystems that do not require
CR/LF translation.  FILESYSTEM is a string containing the directory
prefix corresponding to the filesystem.  For example, for a Unix 
filesystem mounted on drive Z:, FILESYSTEM could be "Z:".
(defalias 'add-untranslated-filesystem #[(filesystem) "\303!\211\n\235\203 \n\202 	\nB\211)\207" [filesystem fs untranslated-filesystem-list untranslated-canonical-name] 3 (#$ . 6410) "DUntranslated file system: "])
#@261 Remove FILESYSTEM from the list of filesystems that do not require 
CR/LF translation.  FILESYSTEM is a string containing the directory
prefix corresponding to the filesystem.  For example, for a Unix 
filesystem mounted on drive Z:, FILESYSTEM could be "Z:".
(defalias 'remove-untranslated-filesystem #[(filesystem) "\302\303!	\"\211\207" [filesystem untranslated-filesystem-list delete untranslated-canonical-name] 3 (#$ . 6892) "fUntranslated file system: "])
#@62 *Control whether command.com is used to print on Windows 9x.
(defvar direct-print-region-use-command-dot-com t (#$ . -7363))
(defalias 'direct-print-region-helper #[(printer start end lpr-prog delete-text buf display rest) "\306	;\203 \307\310\311	#\202 	\312\313\314!\313\315!E\316\n@!\204' \nA\202 \n@)\307\310\311\317\320\321\f\"!#\322\323!\306D-	;\203R \324\325	\"\204R \307\310\311\320	\"#\326\216\324\327\330.!\"\203x \331/0\332\333%\210\334.\332-\332\335	P&\2029\324\336\330.!\"\203\310 1\337=\203\217 \313\340!\203\223 \341\342!\2100/V\203\252 \3430Sf\344\"\203\252 0S0\3322\331/0\332\333%\210)\334.\332-\332\345	P&\2029.G\333V\203\361 \331/0\332\333%\210\3463C\"3\347\334.\332-\3323&\20291\337=\2030\313\340!\20304\2030\350\316	!8\206\f\333\333=\2030\331/0\332\333%\210\3325\334\351\332-\332\352\353\354	#&)\2029\331/0	\306\333%.\207" [case-fold-search printer safe-dirs safe-dir temporary-file-directory tempfile t subst-char-in-string 47 92 "c:/" getenv "windir" "TMPDIR" file-attributes make-temp-name expand-file-name "EP" get-buffer-create " *print-region-helper*" string-match "^\\\\" ((byte-code "\301!\203\n \302!\210\301\207" [tempfile file-exists-p delete-file] 2)) "^nprint\\(\\.exe\\)?$" file-name-nondirectory write-region nil 0 call-process "P=" "^print\\(\\.exe\\)?$" windows-nt "winbootdir" error "Printing via print.exe is not supported on MS-DOS or Windows 9x" char-equal 12 "/D:" append apply 7 "command.com" "/c" format "copy /b %s %s" errbuf lpr-prog start end system-type write-region-annotate-functions rest direct-print-region-use-command-dot-com w32-quote-process-args] 10])
(byte-code "\301B\301\207" [current-load-list printer-name] 2)
#@235 DOS/Windows-specific function to print the region on a printer.
Writes the region to the device or file which is a value of
`printer-name' (which see), unless the value of `lpr-command'
indicates a specific program should be invoked.
(defalias 'direct-print-region-function #[(start end &optional lpr-prog delete-text buf display &rest rest) "\211\204\n \306\202 \307	!\310\n!\311\fB\312\313!\203' \313J;\203' \313J\206( \314=\2044 \315H\316&-\207" [coding-system-for-write coding coding-base eol-type write-region-annotate-functions printer-name undecided coding-system-base coding-system-eol-type #[(start end) "\301Sf\302\"?\205 \303BC\207" [end char-equal 12 "\f"] 3] boundp dos-printer no-conversion 1 direct-print-region-helper printer start end lpr-prog delete-text buf display rest] 10 (#$ . 9113)])
(byte-code "\303\304\305\nB\303\207" [print-region-function lpr-headers-switches current-load-list direct-print-region-function "(page headers are not supported)" ps-printer-name] 2)
#@252 DOS/Windows-specific function to print the region on a PostScript printer.
Writes the region to the device or file which is a value of
`ps-printer-name' (which see), unless the value of `ps-lpr-command'
indicates a specific program should be invoked.
(defalias 'direct-ps-print-region-function #[(start end &optional lpr-prog delete-text buf display &rest rest) "\306\307!\203 \307J;\203 \307J\206 \310	\n\f	\n&)\207" [ps-printer-name printer start end lpr-prog delete-text boundp dos-ps-printer direct-print-region-helper buf display rest] 9 (#$ . 10146)])
(byte-code "\301\302\303!\207" [ps-print-region-function direct-ps-print-region-function provide dos-w32] 2)
