# HG changeset patch # User Richard M. Stallman # Date 841597856 0 # Node ID fbe8d94bff001d60b66b76f7a37117c918a6f02b # Parent 9f27358422139b7ee6e12c5ef482b04c619516df (path-separator, grep-null-device, grep-regexp-alist) (file-name-buffer-file-type-alist, find-buffer-file-type): (find-file-not-found-set-buffer-file-type, find-file-binary): (find-file-text, mode-line-format): Moved to dos-nt.el. (save-to-unix-hook, revert-from-unix-hook) (using-unix-filesystems): Functions removed. diff -r 9f2735842213 -r fbe8d94bff00 lisp/w32-fns.el --- a/lisp/w32-fns.el Sun Sep 01 17:10:14 1996 +0000 +++ b/lisp/w32-fns.el Sun Sep 01 17:10:56 1996 +0000 @@ -39,23 +39,6 @@ (define-key function-key-map [M-backspace] [?\M-\177]) (define-key function-key-map [C-M-backspace] [\C-\M-delete]) -;; Show file type (text or binary) on modeline -(setq-default mode-line-format - (list (purecopy "") - 'mode-line-modified - 'mode-line-buffer-identification - (purecopy " ") - 'global-mode-string - (purecopy " %[(") - (purecopy "%t:") - 'mode-name 'mode-line-process 'minor-mode-alist - (purecopy "%n") - (purecopy ")%]--") - (purecopy '(line-number-mode "L%l--")) - (purecopy '(column-number-mode "C%c--")) - (purecopy '(-3 . "%p")) - (purecopy "-%-"))) - ;; Ignore case on file-name completion (setq completion-ignore-case t) @@ -67,98 +50,6 @@ (add-hook 'shell-mode-hook '(lambda () (setq comint-completion-addsuffix '("\\" . " ")))) -;; Use ";" instead of ":" as a path separator (from files.el). -(setq path-separator ";") - -;; Set the null device (for compile.el). -(setq grep-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))) - -;; Taken from dos-fn.el ... don't want all that's in the file, maybe -;; separate it out someday. - -(defvar file-name-buffer-file-type-alist - '( - ("[:/].*config.sys$" . nil) ; config.sys text - ("\\.elc$" . t) ; emacs stuff - ("\\.\\(obj\\|exe\\|com\\|lib\\|sys\\|chk\\|out\\|bin\\|ico\\|pif\\)$" . t) - ; MS-Dos stuff - ("\\.\\(arc\\|zip\\|pak\\|lzh\\|zoo\\)$" . t) - ; Packers - ("\\.\\(a\\|o\\|tar\\|z\\|gz\\|taz\\)$" . t) - ; Unix stuff - ("\\.tp[ulpw]$" . t) - ; Borland Pascal stuff - ) - "*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.") - -(defun find-buffer-file-type (filename) - (let ((alist file-name-buffer-file-type-alist) - (found nil) - (code nil)) - (let ((case-fold-search t)) - (setq filename (file-name-sans-versions filename)) - (while (and (not found) alist) - (if (string-match (car (car alist)) filename) - (setq code (cdr (car alist)) - found t)) - (setq alist (cdr alist)))) - (if found - (cond((memq code '(nil t)) code) - ((and (symbolp code) (fboundp code)) - (funcall code filename))) - default-buffer-file-type))) - -(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) - "Visit file FILENAME and treat it as a text file." - (interactive "FFind file text: ") - (let ((file-name-buffer-file-type-alist '(("" . nil)))) - (find-file filename))) - -(defun find-file-not-found-set-buffer-file-type () - (save-excursion - (set-buffer (current-buffer)) - (setq buffer-file-type (find-buffer-file-type (buffer-file-name)))) - nil) - -;;; To set the default file type on new files. -(add-hook 'find-file-not-found-hooks 'find-file-not-found-set-buffer-file-type) - -;;; For using attached Unix filesystems. -(defun save-to-unix-hook () - (save-excursion - (setq buffer-file-type t)) - nil) - -(defun revert-from-unix-hook () - (save-excursion - (setq buffer-file-type (find-buffer-file-type (buffer-file-name)))) - nil) - -;; Really should provide this capability at the drive letter granularity. -(defun using-unix-filesystems (flag) - "Read and write files without CR/LF translation, if FLAG is non-nil. -This is in effect assuming the files are on a remote Unix file system. -If FLAG is nil, resume using CR/LF translation as usual." - (if flag - (progn - (add-hook 'write-file-hooks 'save-to-unix-hook) - (add-hook 'after-save-hook 'revert-from-unix-hook)) - (progn - (remove-hook 'write-file-hooks 'save-to-unix-hook) - (remove-hook 'after-save-hook 'revert-from-unix-hook)))) - ;;; Avoid creating auto-save file names containing invalid characters ;;; (primarily "*", eg. for the *mail* buffer). (fset 'original-make-auto-save-file-name