Mercurial > emacs
comparison lisp/files.el @ 90789:c0409ee15cee
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 670-674)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 209-210)
- Merge from emacs--devo--0
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-185
author | Miles Bader <miles@gnu.org> |
---|---|
date | Wed, 21 Mar 2007 13:33:07 +0000 |
parents | 91bf6e05918b 88155f310fdf |
children | 4ef881a120fe |
comparison
equal
deleted
inserted
replaced
90788:a12805fdabe8 | 90789:c0409ee15cee |
---|---|
1698 | 1698 |
1699 (defun insert-file-1 (filename insert-func) | 1699 (defun insert-file-1 (filename insert-func) |
1700 (if (file-directory-p filename) | 1700 (if (file-directory-p filename) |
1701 (signal 'file-error (list "Opening input file" "file is a directory" | 1701 (signal 'file-error (list "Opening input file" "file is a directory" |
1702 filename))) | 1702 filename))) |
1703 ;; Check whether the file is uncommonly large (see find-file-noselect): | |
1704 (let (size) | |
1705 (when (and large-file-warning-threshold | |
1706 (setq size (nth 7 (file-attributes filename))) | |
1707 (> size large-file-warning-threshold) | |
1708 (not (y-or-n-p | |
1709 (format "File %s is large (%dMB), really insert? " | |
1710 (file-name-nondirectory filename) | |
1711 (/ size 1048576))))) | |
1712 (error "Aborted"))) | |
1713 (let* ((buffer (find-buffer-visiting (abbreviate-file-name (file-truename filename)) | 1703 (let* ((buffer (find-buffer-visiting (abbreviate-file-name (file-truename filename)) |
1714 #'buffer-modified-p)) | 1704 #'buffer-modified-p)) |
1715 (tem (funcall insert-func filename))) | 1705 (tem (funcall insert-func filename))) |
1716 (push-mark (+ (point) (car (cdr tem)))) | 1706 (push-mark (+ (point) (car (cdr tem)))) |
1717 (when buffer | 1707 (when buffer |
2145 ("<\\?xml " . xml-mode) | 2135 ("<\\?xml " . xml-mode) |
2146 (,(let* ((incomment-re "\\(?:[^-]\\|-[^-]\\)") | 2136 (,(let* ((incomment-re "\\(?:[^-]\\|-[^-]\\)") |
2147 (comment-re (concat "\\(?:!--" incomment-re "*-->[ \t\n]*<\\)"))) | 2137 (comment-re (concat "\\(?:!--" incomment-re "*-->[ \t\n]*<\\)"))) |
2148 (concat "[ \t\n]*<" comment-re "*!DOCTYPE ")) | 2138 (concat "[ \t\n]*<" comment-re "*!DOCTYPE ")) |
2149 . sgml-mode) | 2139 . sgml-mode) |
2150 ("%![^V]" . ps-mode) | 2140 ("%!PS" . ps-mode) |
2151 ("# xmcd " . conf-unix-mode)) | 2141 ("# xmcd " . conf-unix-mode)) |
2152 "Alist of buffer beginnings vs. corresponding major mode functions. | 2142 "Alist of buffer beginnings vs. corresponding major mode functions. |
2153 Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION). | 2143 Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION). |
2154 After visiting a file, if REGEXP matches the text at the beginning of the | 2144 After visiting a file, if REGEXP matches the text at the beginning of the |
2155 buffer, or calling MATCH-FUNCTION returns non-nil, `normal-mode' will | 2145 buffer, or calling MATCH-FUNCTION returns non-nil, `normal-mode' will |
2443 ;; For variables defined in the C source code the declaration should go here: | 2433 ;; For variables defined in the C source code the declaration should go here: |
2444 | 2434 |
2445 (mapc (lambda (pair) | 2435 (mapc (lambda (pair) |
2446 (put (car pair) 'safe-local-variable (cdr pair))) | 2436 (put (car pair) 'safe-local-variable (cdr pair))) |
2447 '((buffer-read-only . booleanp) ;; C source code | 2437 '((buffer-read-only . booleanp) ;; C source code |
2438 (default-directory . stringp) ;; C source code | |
2448 (fill-column . integerp) ;; C source code | 2439 (fill-column . integerp) ;; C source code |
2449 (indent-tabs-mode . booleanp) ;; C source code | 2440 (indent-tabs-mode . booleanp) ;; C source code |
2450 (left-margin . integerp) ;; C source code | 2441 (left-margin . integerp) ;; C source code |
2451 (no-update-autoloads . booleanp) | 2442 (no-update-autoloads . booleanp) |
2452 (tab-width . integerp) ;; C source code | 2443 (tab-width . integerp) ;; C source code |
3602 ;; If buffer has no file name, ask user for one. | 3593 ;; If buffer has no file name, ask user for one. |
3603 (or buffer-file-name | 3594 (or buffer-file-name |
3604 (let ((filename | 3595 (let ((filename |
3605 (expand-file-name | 3596 (expand-file-name |
3606 (read-file-name "File to save in: ") nil))) | 3597 (read-file-name "File to save in: ") nil))) |
3607 (and (file-exists-p filename) | 3598 (if (file-exists-p filename) |
3608 (or (y-or-n-p (format "File `%s' exists; overwrite? " | 3599 (if (file-directory-p filename) |
3609 filename)) | 3600 ;; Signal an error if the user specified the name of an |
3610 (error "Canceled"))) | 3601 ;; existing directory. |
3602 (error "%s is a directory" filename) | |
3603 (unless (y-or-n-p (format "File `%s' exists; overwrite? " | |
3604 filename)) | |
3605 (error "Canceled"))) | |
3606 ;; Signal an error if the specified name refers to a | |
3607 ;; non-existing directory. | |
3608 (let ((dir (file-name-directory filename))) | |
3609 (unless (file-directory-p dir) | |
3610 (if (file-exists-p dir) | |
3611 (error "%s is not a directory" dir) | |
3612 (error "%s: no such directory" dir))))) | |
3611 (set-visited-file-name filename))) | 3613 (set-visited-file-name filename))) |
3612 (or (verify-visited-file-modtime (current-buffer)) | 3614 (or (verify-visited-file-modtime (current-buffer)) |
3613 (not (file-exists-p buffer-file-name)) | 3615 (not (file-exists-p buffer-file-name)) |
3614 (yes-or-no-p | 3616 (yes-or-no-p |
3615 (format "%s has changed since visited or saved. Save anyway? " | 3617 (format "%s has changed since visited or saved. Save anyway? " |
3679 (if (not (file-writable-p buffer-file-name)) | 3681 (if (not (file-writable-p buffer-file-name)) |
3680 (let ((dir (file-name-directory buffer-file-name))) | 3682 (let ((dir (file-name-directory buffer-file-name))) |
3681 (if (not (file-directory-p dir)) | 3683 (if (not (file-directory-p dir)) |
3682 (if (file-exists-p dir) | 3684 (if (file-exists-p dir) |
3683 (error "%s is not a directory" dir) | 3685 (error "%s is not a directory" dir) |
3684 (error "%s: no such directory" buffer-file-name)) | 3686 (error "%s: no such directory" dir)) |
3685 (if (not (file-exists-p buffer-file-name)) | 3687 (if (not (file-exists-p buffer-file-name)) |
3686 (error "Directory %s write-protected" dir) | 3688 (error "Directory %s write-protected" dir) |
3687 (if (yes-or-no-p | 3689 (if (yes-or-no-p |
3688 (format "File %s is write-protected; try to save anyway? " | 3690 (format "File %s is write-protected; try to save anyway? " |
3689 (file-name-nondirectory | 3691 (file-name-nondirectory |