-;;; dos-w32.el --- Functions shared among MS-DOS and W32 (NT/95) platforms
+;; dos-w32.el --- Functions shared among MS-DOS and W32 (NT/95) platforms
-;; Copyright (C) 1996 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
;; Maintainer: Geoff Voelker <voelker@cs.washington.edu>
;; Keywords: internal
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
;; Set the null device (for compile.el).
(setq null-device "NUL")
-;; Set the grep regexp to match entries with drive letters.
-(setq grep-regexp-alist
- '(("^\\(\\([a-zA-Z]:\\)?[^:( \t\n]+\\)[:( \t]+\\([0-9]+\\)[:) \t]" 1 3)))
-
;; For distinguishing file types based upon suffixes.
(defvar file-name-buffer-file-type-alist
'(
; Packers
("\\.\\(a\\|o\\|tar\\|z\\|gz\\|taz\\|jar\\)$" . t)
; Unix stuff
- ("\\.tp[ulpw]$" . t)
- ; Borland Pascal stuff
- ("[:/]tags$" . nil)
- ; Emacs TAGS file
+ ("\\.sx[dmicw]$" . t) ; OpenOffice.org
+ ("\\.tp[ulpw]$" . t) ; borland Pascal stuff
+ ("[:/]tags$" . nil) ; emacs TAGS file
)
"*Alist for distinguishing text files from binary files.
Each element has the form (REGEXP . TYPE), where REGEXP is matched
`file-name-buffer-file-type-alist', and whether the file exists:
If it matches in `untranslated-filesystem-list':
- If the file exists: `no-conversion'
- If the file does not exist: `undecided'
+ 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'
(target)
(binary nil) (text nil)
(undecided nil) (undecided-unix nil))
- (cond ((eq op 'insert-file-contents)
+ (cond ((eq op 'insert-file-contents)
(setq target (nth 1 command))
;; First check for a file name that indicates
;; it is truly binary.
(modify-coding-system-alist 'file "" 'find-buffer-file-type-coding-system)
-(defun find-file-binary (filename)
+(defun find-file-binary (filename)
"Visit file FILENAME and treat it as binary."
(interactive "FFind file binary: ")
(let ((file-name-buffer-file-type-alist '(("" . t))))
(find-file filename)))
-(defun find-file-text (filename)
+(defun find-file-text (filename)
"Visit file FILENAME and treat it as a text file."
(interactive "FFind file text: ")
(let ((file-name-buffer-file-type-alist '(("" . nil))))
(setq buffer-file-type (eq buffer-file-coding-system 'no-conversion)))))
;;; To set the default coding system on new files.
-(add-hook 'find-file-not-found-hooks
+(add-hook 'find-file-not-found-hooks
'find-file-not-found-set-buffer-file-coding-system)
;;; To accomodate filesystems that do not require CR/LF translation.
(defvar untranslated-filesystem-list nil
- "List of filesystems that require no CR/LF translation when reading
+ "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.")
(defun untranslated-canonical-name (filename)
"Return FILENAME in a canonicalized form for use with the functions
dealing with untranslated filesystems."
- (if (memq system-type '(ms-dos windows-nt))
+ (if (memq system-type '(ms-dos windows-nt cygwin))
;; The canonical form for DOS/W32 is with A-Z downcased and all
;; directory separators changed to directory-sep-char.
(let ((name nil))
- (setq name (mapconcat
- '(lambda (char)
+ (setq name (mapconcat
+ '(lambda (char)
(if (and (<= ?A char) (<= char ?Z))
(char-to-string (+ (- char ?A) ?a))
(char-to-string char)))
filename))
(defun untranslated-file-p (filename)
- "Return t if FILENAME is on a filesystem that does not require
+ "Return t if FILENAME is on a filesystem that does not require
CR/LF translation, and nil otherwise."
(let ((fs (untranslated-canonical-name filename))
(ufs-list untranslated-filesystem-list)
(defun add-untranslated-filesystem (filesystem)
"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
+prefix corresponding to the filesystem. For example, for a Unix
filesystem mounted on drive Z:, FILESYSTEM could be \"Z:\"."
;; We use "D", not "f", to avoid confusing the user: "f" prompts
;; with a directory, but RET returns the current buffer's file, not
(cons fs untranslated-filesystem-list)))))
(defun remove-untranslated-filesystem (filesystem)
- "Remove FILESYSTEM from the list of filesystems that do not require
+ "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
+prefix corresponding to the filesystem. For example, for a Unix
filesystem mounted on drive Z:, FILESYSTEM could be \"Z:\"."
(interactive "fUntranslated file system: ")
- (setq untranslated-filesystem-list
+ (setq untranslated-filesystem-list
(delete (untranslated-canonical-name filesystem)
untranslated-filesystem-list)))
(printer (or (and (boundp 'dos-printer)
(stringp (symbol-value 'dos-printer))
(symbol-value 'dos-printer))
- printer-name)))
+ printer-name
+ (default-printer-name))))
(or (eq coding-system-for-write 'no-conversion)
(setq coding-system-for-write
(aref eol-type 1))) ; force conversion to DOS EOLs
(let ((printer (or (and (boundp 'dos-ps-printer)
(stringp (symbol-value 'dos-ps-printer))
(symbol-value 'dos-ps-printer))
- ps-printer-name)))
+ ps-printer-name
+ (default-printer-name))))
(direct-print-region-helper printer start end lpr-prog
delete-text buf display rest)))
(provide 'dos-w32)
+;;; arch-tag: dcfefdd2-362f-4fbc-9141-9634f5f4d6a7
;;; dos-w32.el ends here