• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/emacs-93/emacs/lisp/

Lines Matching +defs:other +defs:file

8 ;; This file is part of GNU Emacs.
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the
50 (let ((load-path (cons (expand-file-name ".") load-path)))
110 `ediff-patch-file'
268 ;; so other functions can do post-processing SETUP-PARAMETERS is a list of the
272 (defun ediff-setup (buffer-A file-A buffer-B file-B buffer-C file-C
274 &optional merge-buffer-file)
276 ;; ediff-convert-standard-filename puts file names in the form appropriate
278 (setq file-A (ediff-convert-standard-filename (expand-file-name file-A)))
279 (setq file-B (ediff-convert-standard-filename (expand-file-name file-B)))
280 (if (stringp file-C)
281 (setq file-C
282 (ediff-convert-standard-filename (expand-file-name file-C))))
283 (if (stringp merge-buffer-file)
285 (setq merge-buffer-file
287 (expand-file-name merge-buffer-file)))
289 (or (file-exists-p (file-name-directory merge-buffer-file))
291 (abbreviate-file-name
292 (file-name-directory merge-buffer-file))))
293 (if (and (file-exists-p merge-buffer-file)
294 (file-directory-p merge-buffer-file))
295 (error "The merge buffer file %s must not be a directory"
296 (abbreviate-file-name merge-buffer-file)))
377 (add-hook 'local-write-file-hooks 'ediff-set-merge-mode nil t)
432 ;; In all other cases, ediff-visible-region sets visibility bounds to
505 (funcall ediff-setup-diff-regions-function file-A file-B file-C)
545 (ediff-arrange-autosave-in-merge-jobs merge-buffer-file)
595 ;; This executes in control buffer and sets auto-save, visited file name, etc,
597 (defun ediff-arrange-autosave-in-merge-jobs (merge-buffer-file)
600 (if (stringp merge-buffer-file)
602 ediff-merge-store-file merge-buffer-file))
603 (if (stringp ediff-merge-store-file)
606 (ediff-verify-file-merge-buffer ediff-merge-store-file)
607 (setq merge-buffer-file ediff-merge-store-file)
609 (set-visited-file-name merge-buffer-file))))
636 (buf-A-file-name (buffer-file-name ediff-buffer-A))
637 (buf-B-file-name (buffer-file-name ediff-buffer-B))
640 (buf-C-file-name (buffer-file-name ediff-buffer-C))
648 file-A file-B file-C)
650 (if (stringp buf-A-file-name)
651 (setq buf-A-file-name (file-name-nondirectory buf-A-file-name)))
652 (if (stringp buf-B-file-name)
653 (setq buf-B-file-name (file-name-nondirectory buf-B-file-name)))
654 (if (stringp buf-C-file-name)
655 (setq buf-C-file-name (file-name-nondirectory buf-C-file-name)))
669 (setq file-A (ediff-make-temp-file tmp-buffer "regA"))
671 (setq file-B (ediff-make-temp-file tmp-buffer "regB"))
675 (setq file-C (ediff-make-temp-file tmp-buffer "regC"))))
678 (setq file-A (ediff-make-temp-file ediff-buffer-A buf-A-file-name))
679 (setq file-B (ediff-make-temp-file ediff-buffer-B buf-B-file-name))
681 (setq file-C (ediff-make-temp-file ediff-buffer-C buf-C-file-name)))
710 (funcall ediff-setup-diff-regions-function file-A file-B file-C))
713 (delete-file file-A)
714 (delete-file file-B)
715 (if file-C
716 (delete-file file-C))
727 "Revert buffers A, B and C. Then rerun Ediff on file A and file B."
903 Does nothing if file-A and file-B are in different frames."
1043 (let* ((file (buffer-file-name buf))
1044 (file-writable (and file
1045 (file-exists-p file)
1046 (file-writable-p file)))
1048 ((ediff-file-checked-out-p file)
1050 (file-writable 'toggle-read-only)
1052 ;; If the file is checked in, make sure we don't make buffer modifiable
1054 ;; buffer non-RO without checking the file out. We regard this as a
1056 (if (and (ediff-file-checked-in-p file)
1066 (ediff-abbreviate-file-name file))))
1067 ;; if we checked the file out, we should also change the
1069 ;; do this, the mode line will show %%, since the file was
1070 ;; RO before ediff started, so the user will think the file
1079 "Boy, this is risky! Don't modify this file...")
1089 ;; Check if we made the current buffer updatable, but its file is RO.
1091 (if (and file (not buffer-read-only)
1093 (file-exists-p file)
1094 (not (file-writable-p file)))
1097 (message "Warning: file %s is read-only"
1098 (ediff-abbreviate-file-name file))))
1101 ;; checkout if visited file is checked in
1103 (let ((file (expand-file-name (buffer-file-name buf)))
1105 (if (and (ediff-file-checked-in-p file)
1110 (ediff-abbreviate-file-name file))))
1115 ;; This is a simple-minded check for whether a file is under version control.
1116 ;; If file,v exists but file doesn't, this file is considered to be not checked
1118 ;; able to read such a file anyway).
1119 ;; FILE is a string representing file name
1120 ;;(defun ediff-file-under-version-control (file)
1121 ;; (let* ((filedir (file-name-directory file))
1122 ;; (file-nondir (file-name-nondirectory file))
1123 ;; (trial (concat file-nondir ",v"))
1126 ;; (and (stringp file)
1127 ;; (file-exists-p file)
1130 ;; (file-exists-p full-trial)
1131 ;; ;; in FAT FS, `file,v' and `file' may turn out to be the same!
1133 ;; (not (equal (file-attributes file)
1134 ;; (file-attributes full-trial))))
1136 ;; (file-exists-p full-rcs-trial)))
1140 (defun ediff-file-checked-out-p (file)
1142 (and (vc-backend file)
1144 (or (memq (vc-state file) '(edited needs-merge))
1145 (stringp (vc-state file)))
1147 (vc-locking-user file))
1150 (defun ediff-file-checked-in-p (file)
1153 (not (memq (vc-backend file) '(nil CVS)))
1156 (not (memq (vc-state file) '(edited needs-merge)))
1157 (not (stringp (vc-state file))))
1159 (not (vc-locking-user file)))
1162 (defun ediff-file-compressed-p (file)
1167 (string-match (jka-compr-build-file-regexp) file)))
1481 ;; Performs some operation on the two file windows (if they are showing).
1632 ;; file regions (not diff-regions) being compared.
1697 ;; that it won't happen that one diff region is scrolled off while the other is
2407 flags of the compared file buffers, kills Ediff buffers for this session
2438 ;; Since for other job names ediff-visible-region sets
2527 ;; other auxiliary buffers. we made it into a hook to let the users do their
2565 (if (and (stringp ediff-temp-file-A) (file-exists-p ediff-temp-file-A))
2566 (delete-file ediff-temp-file-A))
2567 (if (and (stringp ediff-temp-file-B) (file-exists-p ediff-temp-file-B))
2568 (delete-file ediff-temp-file-B))
2569 (if (and (stringp ediff-temp-file-C) (file-exists-p ediff-temp-file-C))
2570 (delete-file ediff-temp-file-C)))
2573 ;; Kill control buffer, other auxiliary Ediff buffers.
2695 If it is t, it saves the merge buffer in the file `ediff-merge-store-file'
2701 (let ((merge-store-file ediff-merge-store-file)
2705 (cond ((stringp merge-store-file)
2708 ediff-buffer-C merge-store-file 'show-file save-and-continue))
2710 ;; ask for file name
2711 (setq merge-store-file
2712 (read-file-name "Save the result of the merge in file: "))
2714 ediff-buffer-C merge-store-file nil save-and-continue))
2718 ;; The parent metajob passed nil as the autostore file.
2724 (defun ediff-write-merge-buffer-and-maybe-kill (buf file
2726 show-file save-and-continue)
2727 (if (not (eq (find-buffer-visiting file) buf))
2729 (format "Another buffer is visiting file %s. Too dangerous to save the merge buffer"
2730 file)))
2740 (if (or (not (file-exists-p file))
2741 (y-or-n-p (format "File %s exists, overwrite? " file)))
2743 ;;(write-region (point-min) (point-max) file)
2745 (set-visited-file-name file)
2747 (if show-file
2749 (message "Merge buffer saved in: %s" file)
2788 (delete-other-windows)
2797 (delete-other-windows)
2806 (delete-other-windows)
2841 (if buffer-file-name
2843 (format "File A = %S\n" buffer-file-name))
2847 (if buffer-file-name
2849 (format "File B = %S\n" buffer-file-name))
2854 (if buffer-file-name
2856 (format "File C = %S\n" buffer-file-name))
2997 ;; Unselects prev diff and selects a new one, if FLAG has value other than
3121 (defun ediff-read-file-name (prompt default-dir default-file &optional no-dirs)
3124 (file-name-as-directory
3125 (ediff-abbreviate-file-name
3126 (expand-file-name (or default-dir
3127 (and default-file
3128 (file-name-directory default-file))
3131 ;; strip the directory from default-file
3132 (if default-file
3133 (setq default-file (file-name-nondirectory default-file)))
3134 (if (string= default-file "")
3135 (setq default-file nil))
3138 (setq f (expand-file-name
3139 (read-file-name
3142 (cond (default-file
3143 (concat " (default " default-file "):"))
3146 (or default-file default-dir)
3148 (if default-file (file-name-directory default-file))
3152 ;; If user entered a directory name, expand the default file in that
3154 ;; B-file and diff against the default-file in that directory instead
3156 (if (and (file-directory-p f) default-file)
3157 (setq f (expand-file-name
3158 (file-name-nondirectory default-file) f)))
3159 (if (and no-dirs (file-directory-p f))
3163 ;; If PREFIX is given, then it is used as a prefix for the temp file
3165 ;; file and don't create a new one.
3168 ;; Also, save buffer from START to END in the file.
3170 (defun ediff-make-temp-file (buff &optional prefix given-file start end)
3175 (if (and (fboundp 'msdos-long-file-names)
3176 (not (msdos-long-file-names))
3180 (setq f (concat ediff-temp-file-prefix p)
3181 short-f (concat ediff-temp-file-prefix short-p)
3182 f (cond (given-file)
3183 ((find-file-name-handler f 'insert-file-contents)
3184 ;; to thwart file handlers in write-region, e.g., if file
3188 (ediff-make-empty-tmp-file short-f))
3190 ;; Prefix is most often the same as the file name for the
3191 ;; variant. Here we are trying to use the original file
3193 (ediff-make-empty-tmp-file f 'keep-name))
3196 ;; to proposed file name.
3197 (ediff-make-empty-tmp-file short-f))))
3199 ;; create the file
3206 (set-file-modes f ediff-temp-file-mode)
3207 (expand-file-name f))))
3209 ;; Create a temporary file.
3210 ;; The returned file name (created by appending some random characters at the
3211 ;; end of PROPOSED-NAME is guaranteed to point to a newly created empty file.
3213 ;; If KEEP-PROPOSED-NAME isn't nil, try to keep PROPOSED-NAME, unless such file
3215 ;; It is a modified version of make-temp-file in emacs 20.5
3216 (defun ediff-make-empty-tmp-file (proposed-name &optional keep-proposed-name)
3217 (let ((file proposed-name))
3220 (if (or (file-exists-p file) (not keep-proposed-name))
3221 (setq file (make-temp-name proposed-name)))
3224 ;; file in an indirect buffer, failing to notice that the
3228 (write-region "" nil file nil 'silent nil 'excl))
3230 (file-already-exists t))
3231 ;; the file was somehow created by someone else between
3234 file))
3249 ;; Make sure the current buffer (for a file) has the same contents as the
3250 ;; file on disk, and attempt to remedy the situation if not.
3255 (defun ediff-verify-file-buffer (&optional file-magic)
3256 ;; First check if the file has been modified since the buffer visited it.
3257 (if (verify-visited-file-modtime (current-buffer))
3261 (format "Buffer %s has been modified. Save it in file %s? "
3263 buffer-file-name))
3268 (message "Couldn't save %s" buffer-file-name)))
3269 (error "Buffer is out of sync for file %s" buffer-file-name))
3274 (format "File %s was modified since visited by buffer %s. REVERT file %s? "
3275 buffer-file-name
3277 buffer-file-name))
3279 (if file-magic
3282 (error "Buffer out of sync for file %s" buffer-file-name))))
3284 ;; if there is another buffer visiting the file of the merge buffer, offer to
3286 (defun ediff-verify-file-merge-buffer (file)
3287 (let ((buff (if (stringp file) (find-buffer-visiting file)))
3293 (buffer-name buff) file))
3303 (error "Too dangerous to merge versions of a file visited by another buffer"))))
3308 (defun ediff-filename-magic-p (file)
3309 (or (ediff-file-compressed-p file)
3310 (ediff-file-remote-p file)))
3347 other-wind
3354 (delete-other-windows)
3358 (setq other-wind (selected-window))
3371 (set-window-buffer other-wind msg-buf)
3419 (let ((buf-A-file-name (buffer-file-name ediff-buffer-A))
3420 (buf-B-file-name (buffer-file-name ediff-buffer-B))
3421 file-A file-B)
3422 (unless (and buf-A-file-name (file-exists-p buf-A-file-name))
3423 (setq file-A
3424 (ediff-make-temp-file ediff-buffer-A)))
3425 (unless (and buf-B-file-name (file-exists-p buf-B-file-name))
3426 (setq file-B
3427 (ediff-make-temp-file ediff-buffer-B)))
3438 ;; repetition of buf-A-file-name is needed so it'll return a file
3439 (or (and buf-A-file-name (file-exists-p buf-A-file-name) buf-A-file-name)
3440 file-A)
3441 (or (and buf-B-file-name (file-exists-p buf-B-file-name) buf-B-file-name)
3442 file-B))
3443 ;; put the diff file in diff-mode, if it is available
3447 (and file-A (file-exists-p file-A) (delete-file file-A))
3448 (and file-B (file-exists-p file-B) (delete-file file-B))
3818 ;; Like other-buffer, but prefers visible buffers and ignores temporary or
3819 ;; other insignificant buffers (those beginning with "^[ *]").
3823 (defun ediff-other-buffer (excl-buff-lst)
3988 (delete-other-windows)
4005 interfaces to several other packages and runs under Emacs and XEmacs,
4008 While compiling toplevel forms in file ediff.el:
4033 'delete-other-windows
4159 (defun ediff-save-buffer-in-file (buffer file)
4161 (write-file file)))