[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/ediff.el
From: |
Juanma Barranquero |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/ediff.el |
Date: |
Tue, 04 Feb 2003 06:14:51 -0500 |
Index: emacs/lisp/ediff.el
diff -c emacs/lisp/ediff.el:1.60 emacs/lisp/ediff.el:1.61
*** emacs/lisp/ediff.el:1.60 Sat Jan 25 03:09:15 2003
--- emacs/lisp/ediff.el Tue Feb 4 06:14:51 2003
***************
*** 7,13 ****
;; Keywords: comparing, merging, patching, tools, unix
(defconst ediff-version "2.78" "The current version of Ediff")
! (defconst ediff-date "January 25, 2003" "Date of last update")
;; This file is part of GNU Emacs.
--- 7,13 ----
;; Keywords: comparing, merging, patching, tools, unix
(defconst ediff-version "2.78" "The current version of Ediff")
! (defconst ediff-date "January 25, 2003" "Date of last update")
;; This file is part of GNU Emacs.
***************
*** 200,212 ****
dir-B f)
(list (setq f (ediff-read-file-name
"File A to compare"
! dir-A
(ediff-get-default-file-name)
'no-dirs))
! (ediff-read-file-name "File B to compare"
(setq dir-B
(if ediff-use-last-dir
! ediff-last-dir-B
(file-name-directory f)))
(progn
(setq file-name-history
--- 200,212 ----
dir-B f)
(list (setq f (ediff-read-file-name
"File A to compare"
! dir-A
(ediff-get-default-file-name)
'no-dirs))
! (ediff-read-file-name "File B to compare"
(setq dir-B
(if ediff-use-last-dir
! ediff-last-dir-B
(file-name-directory f)))
(progn
(setq file-name-history
***************
*** 217,223 ****
file-name-history))
(ediff-get-default-file-name f 1)))
)))
! (ediff-files-internal file-A
(if (file-directory-p file-B)
(expand-file-name
(file-name-nondirectory file-A) file-B)
--- 217,223 ----
file-name-history))
(ediff-get-default-file-name f 1)))
)))
! (ediff-files-internal file-A
(if (file-directory-p file-B)
(expand-file-name
(file-name-nondirectory file-A) file-B)
***************
*** 225,231 ****
nil ; file-C
startup-hooks
'ediff-files))
!
;;;###autoload
(defun ediff-files3 (file-A file-B file-C &optional startup-hooks)
"Run Ediff on three files, FILE-A, FILE-B, and FILE-C."
--- 225,231 ----
nil ; file-C
startup-hooks
'ediff-files))
!
;;;###autoload
(defun ediff-files3 (file-A file-B file-C &optional startup-hooks)
"Run Ediff on three files, FILE-A, FILE-B, and FILE-C."
***************
*** 239,245 ****
dir-A
(ediff-get-default-file-name)
'no-dirs))
! (setq ff (ediff-read-file-name "File B to compare"
(setq dir-B
(if ediff-use-last-dir
ediff-last-dir-B
--- 239,245 ----
dir-A
(ediff-get-default-file-name)
'no-dirs))
! (setq ff (ediff-read-file-name "File B to compare"
(setq dir-B
(if ediff-use-last-dir
ediff-last-dir-B
***************
*** 253,259 ****
dir-B))
file-name-history))
(ediff-get-default-file-name f 1))))
! (ediff-read-file-name "File C to compare"
(setq dir-C (if ediff-use-last-dir
ediff-last-dir-C
(file-name-directory ff)))
--- 253,259 ----
dir-B))
file-name-history))
(ediff-get-default-file-name f 1))))
! (ediff-read-file-name "File C to compare"
(setq dir-C (if ediff-use-last-dir
ediff-last-dir-C
(file-name-directory ff)))
***************
*** 266,272 ****
file-name-history))
(ediff-get-default-file-name ff 2)))
)))
! (ediff-files-internal file-A
(if (file-directory-p file-B)
(expand-file-name
(file-name-nondirectory file-A) file-B)
--- 266,272 ----
file-name-history))
(ediff-get-default-file-name ff 2)))
)))
! (ediff-files-internal file-A
(if (file-directory-p file-B)
(expand-file-name
(file-name-nondirectory file-A) file-B)
***************
*** 282,288 ****
(defalias 'ediff3 'ediff-files3)
! ;; Visit FILE and arrange its buffer to Ediff's liking.
;; FILE is actually a variable symbol that must contain a true file name.
;; BUFFER-NAME is a variable symbol, which will get the buffer object into
;; which FILE is read.
--- 282,288 ----
(defalias 'ediff3 'ediff-files3)
! ;; Visit FILE and arrange its buffer to Ediff's liking.
;; FILE is actually a variable symbol that must contain a true file name.
;; BUFFER-NAME is a variable symbol, which will get the buffer object into
;; which FILE is read.
***************
*** 299,315 ****
(error "File `%s' does not exist or is not readable" file))
((file-directory-p file)
(error "File `%s' is a directory" file)))
!
;; some of the commands, below, require full file name
(setq file (expand-file-name file))
!
;; Record the directory of the file
(if last-dir
(set last-dir (expand-file-name (file-name-directory file))))
!
;; Setup the buffer
(set buffer-name (find-file-noselect file))
!
(ediff-with-current-buffer (symbol-value buffer-name)
(widen) ; Make sure the entire file is seen
(cond (file-magic ; file has a handler, such as jka-compr-handler or
--- 299,315 ----
(error "File `%s' does not exist or is not readable" file))
((file-directory-p file)
(error "File `%s' is a directory" file)))
!
;; some of the commands, below, require full file name
(setq file (expand-file-name file))
!
;; Record the directory of the file
(if last-dir
(set last-dir (expand-file-name (file-name-directory file))))
!
;; Setup the buffer
(set buffer-name (find-file-noselect file))
!
(ediff-with-current-buffer (symbol-value buffer-name)
(widen) ; Make sure the entire file is seen
(cond (file-magic ; file has a handler, such as jka-compr-handler or
***************
*** 362,368 ****
startup-hooks
(list (cons 'ediff-job-name job-name))
merge-buffer-file)))
!
;;;###autoload
(defalias 'ediff 'ediff-files)
--- 362,368 ----
startup-hooks
(list (cons 'ediff-job-name job-name))
merge-buffer-file)))
!
;;;###autoload
(defalias 'ediff 'ediff-files)
***************
*** 387,393 ****
;;;###autoload
(defun ediff-buffers (buffer-A buffer-B &optional startup-hooks job-name)
"Run Ediff on a pair of buffers, BUFFER-A and BUFFER-B."
! (interactive
(let (bf)
(list (setq bf (read-buffer "Buffer A to compare: "
(ediff-other-buffer "") t))
--- 387,393 ----
;;;###autoload
(defun ediff-buffers (buffer-A buffer-B &optional startup-hooks job-name)
"Run Ediff on a pair of buffers, BUFFER-A and BUFFER-B."
! (interactive
(let (bf)
(list (setq bf (read-buffer "Buffer A to compare: "
(ediff-other-buffer "") t))
***************
*** 404,415 ****
;;;###autoload
(defalias 'ebuffers 'ediff-buffers)
!
;;;###autoload
(defun ediff-buffers3 (buffer-A buffer-B buffer-C
&optional startup-hooks job-name)
"Run Ediff on three buffers, BUFFER-A, BUFFER-B, and BUFFER-C."
! (interactive
(let (bf bff)
(list (setq bf (read-buffer "Buffer A to compare: "
(ediff-other-buffer "") t))
--- 404,415 ----
;;;###autoload
(defalias 'ebuffers 'ediff-buffers)
!
;;;###autoload
(defun ediff-buffers3 (buffer-A buffer-B buffer-C
&optional startup-hooks job-name)
"Run Ediff on three buffers, BUFFER-A, BUFFER-B, and BUFFER-C."
! (interactive
(let (bf bff)
(list (setq bf (read-buffer "Buffer A to compare: "
(ediff-other-buffer "") t))
***************
*** 433,441 ****
;;;###autoload
(defalias 'ebuffers3 'ediff-buffers3)
-
!
;; MERGE-BUFFER-FILE is the file to be associated with the merge buffer
(defun ediff-buffers-internal (buf-A buf-B buf-C startup-hooks job-name
&optional merge-buffer-file)
--- 433,441 ----
;;;###autoload
(defalias 'ebuffers3 'ediff-buffers3)
!
!
;; MERGE-BUFFER-FILE is the file to be associated with the merge buffer
(defun ediff-buffers-internal (buf-A buf-B buf-C startup-hooks job-name
&optional merge-buffer-file)
***************
*** 459,470 ****
(setq buf-B-file-name (file-name-nondirectory buf-B-file-name)))
(if (stringp buf-C-file-name)
(setq buf-C-file-name (file-name-nondirectory buf-C-file-name)))
!
(setq file-A (ediff-make-temp-file buf-A buf-A-file-name)
file-B (ediff-make-temp-file buf-B buf-B-file-name))
(if buf-C-is-alive
(setq file-C (ediff-make-temp-file buf-C buf-C-file-name)))
!
(ediff-setup (get-buffer buf-A) file-A
(get-buffer buf-B) file-B
(if buf-C-is-alive (get-buffer buf-C))
--- 459,470 ----
(setq buf-B-file-name (file-name-nondirectory buf-B-file-name)))
(if (stringp buf-C-file-name)
(setq buf-C-file-name (file-name-nondirectory buf-C-file-name)))
!
(setq file-A (ediff-make-temp-file buf-A buf-A-file-name)
file-B (ediff-make-temp-file buf-B buf-B-file-name))
(if buf-C-is-alive
(setq file-C (ediff-make-temp-file buf-C buf-C-file-name)))
!
(ediff-setup (get-buffer buf-A) file-A
(get-buffer buf-B) file-B
(if buf-C-is-alive (get-buffer buf-C))
***************
*** 503,511 ****
(let ((dir-A (ediff-get-default-directory-name))
f)
(list (setq f (ediff-read-file-name "Directory A to compare:" dir-A nil))
! (ediff-read-file-name "Directory B to compare:"
(if ediff-use-last-dir
! ediff-last-dir-B
(ediff-strip-last-dir f))
nil)
(read-string "Filter through regular expression: "
--- 503,511 ----
(let ((dir-A (ediff-get-default-directory-name))
f)
(list (setq f (ediff-read-file-name "Directory A to compare:" dir-A nil))
! (ediff-read-file-name "Directory B to compare:"
(if ediff-use-last-dir
! ediff-last-dir-B
(ediff-strip-last-dir f))
nil)
(read-string "Filter through regular expression: "
***************
*** 549,562 ****
(let ((dir-A (ediff-get-default-directory-name))
f)
(list (setq f (ediff-read-file-name "Directory A to compare:" dir-A nil))
! (setq f (ediff-read-file-name "Directory B to compare:"
(if ediff-use-last-dir
! ediff-last-dir-B
(ediff-strip-last-dir f))
nil))
! (ediff-read-file-name "Directory C to compare:"
(if ediff-use-last-dir
! ediff-last-dir-C
(ediff-strip-last-dir f))
nil)
(read-string "Filter through regular expression: "
--- 549,562 ----
(let ((dir-A (ediff-get-default-directory-name))
f)
(list (setq f (ediff-read-file-name "Directory A to compare:" dir-A nil))
! (setq f (ediff-read-file-name "Directory B to compare:"
(if ediff-use-last-dir
! ediff-last-dir-B
(ediff-strip-last-dir f))
nil))
! (ediff-read-file-name "Directory C to compare:"
(if ediff-use-last-dir
! ediff-last-dir-C
(ediff-strip-last-dir f))
nil)
(read-string "Filter through regular expression: "
***************
*** 578,586 ****
(let ((dir-A (ediff-get-default-directory-name))
f)
(list (setq f (ediff-read-file-name "Directory A to merge:" dir-A nil))
! (ediff-read-file-name "Directory B to merge:"
(if ediff-use-last-dir
! ediff-last-dir-B
(ediff-strip-last-dir f))
nil)
(read-string "Filter through regular expression: "
--- 578,586 ----
(let ((dir-A (ediff-get-default-directory-name))
f)
(list (setq f (ediff-read-file-name "Directory A to merge:" dir-A nil))
! (ediff-read-file-name "Directory B to merge:"
(if ediff-use-last-dir
! ediff-last-dir-B
(ediff-strip-last-dir f))
nil)
(read-string "Filter through regular expression: "
***************
*** 607,620 ****
(let ((dir-A (ediff-get-default-directory-name))
f)
(list (setq f (ediff-read-file-name "Directory A to merge:" dir-A nil))
! (setq f (ediff-read-file-name "Directory B to merge:"
(if ediff-use-last-dir
! ediff-last-dir-B
(ediff-strip-last-dir f))
nil))
(ediff-read-file-name "Ancestor directory:"
(if ediff-use-last-dir
! ediff-last-dir-C
(ediff-strip-last-dir f))
nil)
(read-string "Filter through regular expression: "
--- 607,620 ----
(let ((dir-A (ediff-get-default-directory-name))
f)
(list (setq f (ediff-read-file-name "Directory A to merge:" dir-A nil))
! (setq f (ediff-read-file-name "Directory B to merge:"
(if ediff-use-last-dir
! ediff-last-dir-B
(ediff-strip-last-dir f))
nil))
(ediff-read-file-name "Ancestor directory:"
(if ediff-use-last-dir
! ediff-last-dir-C
(ediff-strip-last-dir f))
nil)
(read-string "Filter through regular expression: "
***************
*** 670,676 ****
;;;###autoload
(defalias
'edir-merge-revisions-with-ancestor
! 'ediff-merge-directory-revisions-with-ancestor)
;;;###autoload
(defalias 'edirs-merge-with-ancestor 'ediff-merge-directories-with-ancestor)
--- 670,676 ----
;;;###autoload
(defalias
'edir-merge-revisions-with-ancestor
! 'ediff-merge-directory-revisions-with-ancestor)
;;;###autoload
(defalias 'edirs-merge-with-ancestor 'ediff-merge-directories-with-ancestor)
***************
*** 681,687 ****
;; only file names that match the regexp are considered.
;; JOBNAME is the symbol indicating the meta-job to be performed.
;; MERGE-AUTOSTORE-DIR is the directory in which to store merged files.
! (defun ediff-directories-internal (dir1 dir2 dir3 regexp action jobname
&optional startup-hooks
merge-autostore-dir)
;; ediff-read-file-name is set to attach a previously entered file name if
--- 681,687 ----
;; only file names that match the regexp are considered.
;; JOBNAME is the symbol indicating the meta-job to be performed.
;; MERGE-AUTOSTORE-DIR is the directory in which to store merged files.
! (defun ediff-directories-internal (dir1 dir2 dir3 regexp action jobname
&optional startup-hooks
merge-autostore-dir)
;; ediff-read-file-name is set to attach a previously entered file name if
***************
*** 705,711 ****
(or (stringp merge-autostore-dir)
(error "%s: Directory for storing merged files must be a string"
jobname)))
! (let (;; dir-diff-struct is of the form (common-list diff-list)
;; It is a structure where ediff-intersect-directories returns
;; commonalities and differences among directories
dir-diff-struct
--- 705,711 ----
(or (stringp merge-autostore-dir)
(error "%s: Directory for storing merged files must be a string"
jobname)))
! (let (;; dir-diff-struct is of the form (common-list diff-list)
;; It is a structure where ediff-intersect-directories returns
;; commonalities and differences among directories
dir-diff-struct
***************
*** 713,719 ****
(if (and ediff-autostore-merges
(ediff-merge-metajob jobname)
(not merge-autostore-dir))
! (setq merge-autostore-dir
(read-file-name "Save merged files in directory: "
(if ediff-use-last-dir
ediff-last-merge-autostore-dir
--- 713,719 ----
(if (and ediff-autostore-merges
(ediff-merge-metajob jobname)
(not merge-autostore-dir))
! (setq merge-autostore-dir
(read-file-name "Save merged files in directory: "
(if ediff-use-last-dir
ediff-last-merge-autostore-dir
***************
*** 734,741 ****
(or (y-or-n-p
"Directory for saving merged files = Ancestor Directory.
Sure? ")
(error "Directory merge aborted")))))
!
! (setq dir-diff-struct (ediff-intersect-directories
jobname
regexp dir1 dir2 dir3 merge-autostore-dir))
(setq startup-hooks
--- 734,741 ----
(or (y-or-n-p
"Directory for saving merged files = Ancestor Directory.
Sure? ")
(error "Directory merge aborted")))))
!
! (setq dir-diff-struct (ediff-intersect-directories
jobname
regexp dir1 dir2 dir3 merge-autostore-dir))
(setq startup-hooks
***************
*** 744,754 ****
(cons `(lambda ()
;; tell what to do if the user clicks on a session record
(setq ediff-session-action-function (quote ,action))
! ;; set ediff-dir-difference-list
(setq ediff-dir-difference-list
(cdr (quote ,dir-diff-struct))))
startup-hooks))
! (setq meta-buf (ediff-prepare-meta-buffer
'ediff-filegroup-action
(car dir-diff-struct)
"*Ediff Session Group Panel"
--- 744,754 ----
(cons `(lambda ()
;; tell what to do if the user clicks on a session record
(setq ediff-session-action-function (quote ,action))
! ;; set ediff-dir-difference-list
(setq ediff-dir-difference-list
(cdr (quote ,dir-diff-struct))))
startup-hooks))
! (setq meta-buf (ediff-prepare-meta-buffer
'ediff-filegroup-action
(car dir-diff-struct)
"*Ediff Session Group Panel"
***************
*** 760,766 ****
;; MERGE-AUTOSTORE-DIR can be given to tell ediff where to store the merged
;; files
! (defun ediff-directory-revisions-internal (dir1 regexp action jobname
&optional startup-hooks
merge-autostore-dir)
(setq dir1 (if (file-directory-p dir1) dir1 (file-name-directory dir1)))
--- 760,766 ----
;; MERGE-AUTOSTORE-DIR can be given to tell ediff where to store the merged
;; files
! (defun ediff-directory-revisions-internal (dir1 regexp action jobname
&optional startup-hooks
merge-autostore-dir)
(setq dir1 (if (file-directory-p dir1) dir1 (file-name-directory dir1)))
***************
*** 770,779 ****
(error "%S: Directory for storing merged files must be a string"
jobname)))
(let (file-list meta-buf)
! (if (and ediff-autostore-merges
(ediff-merge-metajob jobname)
(not merge-autostore-dir))
! (setq merge-autostore-dir
(read-file-name "Save merged files in directory: "
(if ediff-use-last-dir
ediff-last-merge-autostore-dir
--- 770,779 ----
(error "%S: Directory for storing merged files must be a string"
jobname)))
(let (file-list meta-buf)
! (if (and ediff-autostore-merges
(ediff-merge-metajob jobname)
(not merge-autostore-dir))
! (setq merge-autostore-dir
(read-file-name "Save merged files in directory: "
(if ediff-use-last-dir
ediff-last-merge-autostore-dir
***************
*** 787,793 ****
(or (y-or-n-p
"Directory for saving merged file = directory A. Sure? ")
(error "Merge of directory revisions aborted")))
!
(setq file-list
(ediff-get-directory-files-under-revision
jobname regexp dir1 merge-autostore-dir))
--- 787,793 ----
(or (y-or-n-p
"Directory for saving merged file = directory A. Sure? ")
(error "Merge of directory revisions aborted")))
!
(setq file-list
(ediff-get-directory-files-under-revision
jobname regexp dir1 merge-autostore-dir))
***************
*** 798,804 ****
;; tell what to do if the user clicks on a session record
(setq ediff-session-action-function (quote ,action)))
startup-hooks))
! (setq meta-buf (ediff-prepare-meta-buffer
'ediff-filegroup-action
file-list
"*Ediff Session Group Panel"
--- 798,804 ----
;; tell what to do if the user clicks on a session record
(setq ediff-session-action-function (quote ,action)))
startup-hooks))
! (setq meta-buf (ediff-prepare-meta-buffer
'ediff-filegroup-action
file-list
"*Ediff Session Group Panel"
***************
*** 821,827 ****
(interactive "P")
(ediff-windows dumb-mode wind-A wind-B
startup-hooks 'ediff-windows-wordwise 'word-mode))
!
;;;###autoload
(defun ediff-windows-linewise (dumb-mode &optional wind-A wind-B
startup-hooks)
"Compare WIND-A and WIND-B, which are selected by clicking, linewise.
--- 821,827 ----
(interactive "P")
(ediff-windows dumb-mode wind-A wind-B
startup-hooks 'ediff-windows-wordwise 'word-mode))
!
;;;###autoload
(defun ediff-windows-linewise (dumb-mode &optional wind-A wind-B
startup-hooks)
"Compare WIND-A and WIND-B, which are selected by clicking, linewise.
***************
*** 832,838 ****
(interactive "P")
(ediff-windows dumb-mode wind-A wind-B
startup-hooks 'ediff-windows-linewise nil))
!
;; Compare WIND-A and WIND-B, which are selected by clicking.
;; With prefix argument, DUMB-MODE, or on a non-windowing display,
;; works as follows:
--- 832,838 ----
(interactive "P")
(ediff-windows dumb-mode wind-A wind-B
startup-hooks 'ediff-windows-linewise nil))
!
;; Compare WIND-A and WIND-B, which are selected by clicking.
;; With prefix argument, DUMB-MODE, or on a non-windowing display,
;; works as follows:
***************
*** 844,854 ****
wind-B (ediff-get-next-window wind-B wind-A))
(setq wind-A (ediff-get-window-by-clicking wind-A nil 1)
wind-B (ediff-get-window-by-clicking wind-B wind-A 2)))
!
(let ((buffer-A (window-buffer wind-A))
(buffer-B (window-buffer wind-B))
beg-A end-A beg-B end-B)
!
(save-excursion
(save-window-excursion
(sit-for 0) ; sync before using window-start/end -- a precaution
--- 844,854 ----
wind-B (ediff-get-next-window wind-B wind-A))
(setq wind-A (ediff-get-window-by-clicking wind-A nil 1)
wind-B (ediff-get-window-by-clicking wind-B wind-A 2)))
!
(let ((buffer-A (window-buffer wind-A))
(buffer-B (window-buffer wind-B))
beg-A end-A beg-B end-B)
!
(save-excursion
(save-window-excursion
(sit-for 0) ; sync before using window-start/end -- a precaution
***************
*** 867,873 ****
(ediff-regions-internal
buffer-A beg-A end-A buffer-B beg-B end-B
startup-hooks job-name word-mode nil)))
!
;;;###autoload
(defun ediff-regions-wordwise (buffer-A buffer-B &optional startup-hooks)
--- 867,873 ----
(ediff-regions-internal
buffer-A beg-A end-A buffer-B beg-B end-B
startup-hooks job-name word-mode nil)))
!
;;;###autoload
(defun ediff-regions-wordwise (buffer-A buffer-B &optional startup-hooks)
***************
*** 878,884 ****
region.
This function is effective only for relatively small regions, up to 200
lines. For large regions, use `ediff-regions-linewise'."
! (interactive
(let (bf)
(list (setq bf (read-buffer "Region's A buffer: "
(ediff-other-buffer "") t))
--- 878,884 ----
region.
This function is effective only for relatively small regions, up to 200
lines. For large regions, use `ediff-regions-linewise'."
! (interactive
(let (bf)
(list (setq bf (read-buffer "Region's A buffer: "
(ediff-other-buffer "") t))
***************
*** 893,900 ****
(error "Buffer %S doesn't exist" buffer-A))
(if (not (ediff-buffer-live-p buffer-B))
(error "Buffer %S doesn't exist" buffer-B))
!
!
(let ((buffer-A
(ediff-clone-buffer-for-region-comparison buffer-A "-Region.A-"))
(buffer-B
--- 893,900 ----
(error "Buffer %S doesn't exist" buffer-A))
(if (not (ediff-buffer-live-p buffer-B))
(error "Buffer %S doesn't exist" buffer-B))
!
!
(let ((buffer-A
(ediff-clone-buffer-for-region-comparison buffer-A "-Region.A-"))
(buffer-B
***************
*** 907,918 ****
(set-buffer buffer-B)
(setq reg-B-beg (region-beginning)
reg-B-end (region-end)))
!
(ediff-regions-internal
(get-buffer buffer-A) reg-A-beg reg-A-end
(get-buffer buffer-B) reg-B-beg reg-B-end
startup-hooks 'ediff-regions-wordwise 'word-mode nil)))
!
;;;###autoload
(defun ediff-regions-linewise (buffer-A buffer-B &optional startup-hooks)
"Run Ediff on a pair of regions in specified buffers.
--- 907,918 ----
(set-buffer buffer-B)
(setq reg-B-beg (region-beginning)
reg-B-end (region-end)))
!
(ediff-regions-internal
(get-buffer buffer-A) reg-A-beg reg-A-end
(get-buffer buffer-B) reg-B-beg reg-B-end
startup-hooks 'ediff-regions-wordwise 'word-mode nil)))
!
;;;###autoload
(defun ediff-regions-linewise (buffer-A buffer-B &optional startup-hooks)
"Run Ediff on a pair of regions in specified buffers.
***************
*** 923,929 ****
Each region is enlarged to contain full lines.
This function is effective for large regions, over 100-200
lines. For small regions, use `ediff-regions-wordwise'."
! (interactive
(let (bf)
(list (setq bf (read-buffer "Region A's buffer: "
(ediff-other-buffer "") t))
--- 923,929 ----
Each region is enlarged to contain full lines.
This function is effective for large regions, over 100-200
lines. For small regions, use `ediff-regions-wordwise'."
! (interactive
(let (bf)
(list (setq bf (read-buffer "Region A's buffer: "
(ediff-other-buffer "") t))
***************
*** 938,944 ****
(error "Buffer %S doesn't exist" buffer-A))
(if (not (ediff-buffer-live-p buffer-B))
(error "Buffer %S doesn't exist" buffer-B))
!
(let ((buffer-A
(ediff-clone-buffer-for-region-comparison buffer-A "-Region.A-"))
(buffer-B
--- 938,944 ----
(error "Buffer %S doesn't exist" buffer-A))
(if (not (ediff-buffer-live-p buffer-B))
(error "Buffer %S doesn't exist" buffer-B))
!
(let ((buffer-A
(ediff-clone-buffer-for-region-comparison buffer-A "-Region.A-"))
(buffer-B
***************
*** 949,989 ****
(setq reg-A-beg (region-beginning)
reg-A-end (region-end))
;; enlarge the region to hold full lines
! (goto-char reg-A-beg)
(beginning-of-line)
(setq reg-A-beg (point))
! (goto-char reg-A-end)
(end-of-line)
(or (eobp) (forward-char)) ; include the newline char
(setq reg-A-end (point))
!
(set-buffer buffer-B)
(setq reg-B-beg (region-beginning)
reg-B-end (region-end))
;; enlarge the region to hold full lines
! (goto-char reg-B-beg)
(beginning-of-line)
(setq reg-B-beg (point))
! (goto-char reg-B-end)
(end-of-line)
(or (eobp) (forward-char)) ; include the newline char
(setq reg-B-end (point))
) ; save excursion
!
(ediff-regions-internal
(get-buffer buffer-A) reg-A-beg reg-A-end
(get-buffer buffer-B) reg-B-beg reg-B-end
startup-hooks 'ediff-regions-linewise nil nil))) ; no word mode
!
;; compare region beg-A to end-A of buffer-A
! ;; to regions beg-B -- end-B in buffer-B.
(defun ediff-regions-internal (buffer-A beg-A end-A buffer-B beg-B end-B
startup-hooks job-name word-mode
setup-parameters)
(let ((tmp-buffer (get-buffer-create ediff-tmp-buffer))
overl-A overl-B
file-A file-B)
!
;; in case beg/end-A/B aren't markers--make them into markers
(ediff-with-current-buffer buffer-A
(setq beg-A (move-marker (make-marker) beg-A)
--- 949,989 ----
(setq reg-A-beg (region-beginning)
reg-A-end (region-end))
;; enlarge the region to hold full lines
! (goto-char reg-A-beg)
(beginning-of-line)
(setq reg-A-beg (point))
! (goto-char reg-A-end)
(end-of-line)
(or (eobp) (forward-char)) ; include the newline char
(setq reg-A-end (point))
!
(set-buffer buffer-B)
(setq reg-B-beg (region-beginning)
reg-B-end (region-end))
;; enlarge the region to hold full lines
! (goto-char reg-B-beg)
(beginning-of-line)
(setq reg-B-beg (point))
! (goto-char reg-B-end)
(end-of-line)
(or (eobp) (forward-char)) ; include the newline char
(setq reg-B-end (point))
) ; save excursion
!
(ediff-regions-internal
(get-buffer buffer-A) reg-A-beg reg-A-end
(get-buffer buffer-B) reg-B-beg reg-B-end
startup-hooks 'ediff-regions-linewise nil nil))) ; no word mode
!
;; compare region beg-A to end-A of buffer-A
! ;; to regions beg-B -- end-B in buffer-B.
(defun ediff-regions-internal (buffer-A beg-A end-A buffer-B beg-B end-B
startup-hooks job-name word-mode
setup-parameters)
(let ((tmp-buffer (get-buffer-create ediff-tmp-buffer))
overl-A overl-B
file-A file-B)
!
;; in case beg/end-A/B aren't markers--make them into markers
(ediff-with-current-buffer buffer-A
(setq beg-A (move-marker (make-marker) beg-A)
***************
*** 991,1009 ****
(ediff-with-current-buffer buffer-B
(setq beg-B (move-marker (make-marker) beg-B)
end-B (move-marker (make-marker) end-B)))
!
;; make file-A
(if word-mode
(ediff-wordify beg-A end-A buffer-A tmp-buffer)
(ediff-copy-to-buffer beg-A end-A buffer-A tmp-buffer))
(setq file-A (ediff-make-temp-file tmp-buffer "regA"))
!
;; make file-B
(if word-mode
(ediff-wordify beg-B end-B buffer-B tmp-buffer)
(ediff-copy-to-buffer beg-B end-B buffer-B tmp-buffer))
(setq file-B (ediff-make-temp-file tmp-buffer "regB"))
!
(setq overl-A (ediff-make-bullet-proof-overlay beg-A end-A buffer-A))
(setq overl-B (ediff-make-bullet-proof-overlay beg-B end-B buffer-B))
(ediff-setup buffer-A file-A
--- 991,1009 ----
(ediff-with-current-buffer buffer-B
(setq beg-B (move-marker (make-marker) beg-B)
end-B (move-marker (make-marker) end-B)))
!
;; make file-A
(if word-mode
(ediff-wordify beg-A end-A buffer-A tmp-buffer)
(ediff-copy-to-buffer beg-A end-A buffer-A tmp-buffer))
(setq file-A (ediff-make-temp-file tmp-buffer "regA"))
!
;; make file-B
(if word-mode
(ediff-wordify beg-B end-B buffer-B tmp-buffer)
(ediff-copy-to-buffer beg-B end-B buffer-B tmp-buffer))
(setq file-B (ediff-make-temp-file tmp-buffer "regB"))
!
(setq overl-A (ediff-make-bullet-proof-overlay beg-A end-A buffer-A))
(setq overl-B (ediff-make-bullet-proof-overlay beg-B end-B buffer-B))
(ediff-setup buffer-A file-A
***************
*** 1019,1031 ****
(cons 'ediff-job-name job-name))
setup-parameters))
))
!
!
;;; Merge files and buffers
!
;;;###autoload
(defalias 'ediff-merge 'ediff-merge-files)
!
(defsubst ediff-merge-on-startup ()
(ediff-do-merge 0)
(ediff-with-current-buffer ediff-buffer-C
--- 1019,1031 ----
(cons 'ediff-job-name job-name))
setup-parameters))
))
!
!
;;; Merge files and buffers
!
;;;###autoload
(defalias 'ediff-merge 'ediff-merge-files)
!
(defsubst ediff-merge-on-startup ()
(ediff-do-merge 0)
(ediff-with-current-buffer ediff-buffer-C
***************
*** 1034,1040 ****
;;;###autoload
(defun ediff-merge-files (file-A file-B
;; MERGE-BUFFER-FILE is the file to be
! ;; associated with the merge buffer
&optional startup-hooks merge-buffer-file)
"Merge two files without ancestor."
(interactive
--- 1034,1040 ----
;;;###autoload
(defun ediff-merge-files (file-A file-B
;; MERGE-BUFFER-FILE is the file to be
! ;; associated with the merge buffer
&optional startup-hooks merge-buffer-file)
"Merge two files without ancestor."
(interactive
***************
*** 1047,1056 ****
dir-A
(ediff-get-default-file-name)
'no-dirs))
! (ediff-read-file-name "File B to merge"
(setq dir-B
(if ediff-use-last-dir
! ediff-last-dir-B
(file-name-directory f)))
(progn
(setq file-name-history
--- 1047,1056 ----
dir-A
(ediff-get-default-file-name)
'no-dirs))
! (ediff-read-file-name "File B to merge"
(setq dir-B
(if ediff-use-last-dir
! ediff-last-dir-B
(file-name-directory f)))
(progn
(setq file-name-history
***************
*** 1062,1068 ****
(ediff-get-default-file-name f 1)))
)))
(setq startup-hooks (cons 'ediff-merge-on-startup startup-hooks))
! (ediff-files-internal file-A
(if (file-directory-p file-B)
(expand-file-name
(file-name-nondirectory file-A) file-B)
--- 1062,1068 ----
(ediff-get-default-file-name f 1)))
)))
(setq startup-hooks (cons 'ediff-merge-on-startup startup-hooks))
! (ediff-files-internal file-A
(if (file-directory-p file-B)
(expand-file-name
(file-name-nondirectory file-A) file-B)
***************
*** 1071,1077 ****
startup-hooks
'ediff-merge-files
merge-buffer-file))
!
;;;###autoload
(defun ediff-merge-files-with-ancestor (file-A file-B file-ancestor
&optional
--- 1071,1077 ----
startup-hooks
'ediff-merge-files
merge-buffer-file))
!
;;;###autoload
(defun ediff-merge-files-with-ancestor (file-A file-B file-ancestor
&optional
***************
*** 1091,1100 ****
dir-A
(ediff-get-default-file-name)
'no-dirs))
! (setq ff (ediff-read-file-name "File B to merge"
(setq dir-B
(if ediff-use-last-dir
! ediff-last-dir-B
(file-name-directory f)))
(progn
(setq file-name-history
--- 1091,1100 ----
dir-A
(ediff-get-default-file-name)
'no-dirs))
! (setq ff (ediff-read-file-name "File B to merge"
(setq dir-B
(if ediff-use-last-dir
! ediff-last-dir-B
(file-name-directory f)))
(progn
(setq file-name-history
***************
*** 1105,1111 ****
dir-B))
file-name-history))
(ediff-get-default-file-name f 1))))
! (ediff-read-file-name "Ancestor file"
(setq dir-ancestor
(if ediff-use-last-dir
ediff-last-dir-ancestor
--- 1105,1111 ----
dir-B))
file-name-history))
(ediff-get-default-file-name f 1))))
! (ediff-read-file-name "Ancestor file"
(setq dir-ancestor
(if ediff-use-last-dir
ediff-last-dir-ancestor
***************
*** 1120,1126 ****
(ediff-get-default-file-name ff 2)))
)))
(setq startup-hooks (cons 'ediff-merge-on-startup startup-hooks))
! (ediff-files-internal file-A
(if (file-directory-p file-B)
(expand-file-name
(file-name-nondirectory file-A) file-B)
--- 1120,1126 ----
(ediff-get-default-file-name ff 2)))
)))
(setq startup-hooks (cons 'ediff-merge-on-startup startup-hooks))
! (ediff-files-internal file-A
(if (file-directory-p file-B)
(expand-file-name
(file-name-nondirectory file-A) file-B)
***************
*** 1129,1138 ****
startup-hooks
'ediff-merge-files-with-ancestor
merge-buffer-file))
!
;;;###autoload
(defalias 'ediff-merge-with-ancestor 'ediff-merge-files-with-ancestor)
!
;;;###autoload
(defun ediff-merge-buffers (buffer-A buffer-B
&optional
--- 1129,1138 ----
startup-hooks
'ediff-merge-files-with-ancestor
merge-buffer-file))
!
;;;###autoload
(defalias 'ediff-merge-with-ancestor 'ediff-merge-files-with-ancestor)
!
;;;###autoload
(defun ediff-merge-buffers (buffer-A buffer-B
&optional
***************
*** 1140,1146 ****
;; associated with the merge buffer
startup-hooks job-name merge-buffer-file)
"Merge buffers without ancestor."
! (interactive
(let (bf)
(list (setq bf (read-buffer "Buffer A to merge: "
(ediff-other-buffer "") t))
--- 1140,1146 ----
;; associated with the merge buffer
startup-hooks job-name merge-buffer-file)
"Merge buffers without ancestor."
! (interactive
(let (bf)
(list (setq bf (read-buffer "Buffer A to merge: "
(ediff-other-buffer "") t))
***************
*** 1151,1162 ****
(save-window-excursion (other-window 1))
(ediff-other-buffer bf))
t))))
!
(setq startup-hooks (cons 'ediff-merge-on-startup startup-hooks))
(or job-name (setq job-name 'ediff-merge-buffers))
(ediff-buffers-internal
buffer-A buffer-B nil startup-hooks job-name merge-buffer-file))
!
;;;###autoload
(defun ediff-merge-buffers-with-ancestor (buffer-A buffer-B buffer-ancestor
&optional
--- 1151,1162 ----
(save-window-excursion (other-window 1))
(ediff-other-buffer bf))
t))))
!
(setq startup-hooks (cons 'ediff-merge-on-startup startup-hooks))
(or job-name (setq job-name 'ediff-merge-buffers))
(ediff-buffers-internal
buffer-A buffer-B nil startup-hooks job-name merge-buffer-file))
!
;;;###autoload
(defun ediff-merge-buffers-with-ancestor (buffer-A buffer-B buffer-ancestor
&optional
***************
*** 1167,1173 ****
;; with the merge buffer
merge-buffer-file)
"Merge buffers with ancestor."
! (interactive
(let (bf bff)
(list (setq bf (read-buffer "Buffer A to merge: "
(ediff-other-buffer "") t))
--- 1167,1173 ----
;; with the merge buffer
merge-buffer-file)
"Merge buffers with ancestor."
! (interactive
(let (bf bff)
(list (setq bf (read-buffer "Buffer A to merge: "
(ediff-other-buffer "") t))
***************
*** 1186,1197 ****
(ediff-other-buffer (list bf bff)))
t)
)))
!
(setq startup-hooks (cons 'ediff-merge-on-startup startup-hooks))
(or job-name (setq job-name 'ediff-merge-buffers-with-ancestor))
(ediff-buffers-internal
buffer-A buffer-B buffer-ancestor startup-hooks job-name
merge-buffer-file))
!
;;;###autoload
(defun ediff-merge-revisions (&optional file startup-hooks merge-buffer-file)
--- 1186,1197 ----
(ediff-other-buffer (list bf bff)))
t)
)))
!
(setq startup-hooks (cons 'ediff-merge-on-startup startup-hooks))
(or job-name (setq job-name 'ediff-merge-buffers-with-ancestor))
(ediff-buffers-internal
buffer-A buffer-B buffer-ancestor startup-hooks job-name
merge-buffer-file))
!
;;;###autoload
(defun ediff-merge-revisions (&optional file startup-hooks merge-buffer-file)
***************
*** 1219,1225 ****
(funcall
(intern (format "ediff-%S-merge-internal" ediff-version-control-package))
rev1 rev2 nil startup-hooks merge-buffer-file)))
!
;;;###autoload
(defun ediff-merge-revisions-with-ancestor (&optional
--- 1219,1225 ----
(funcall
(intern (format "ediff-%S-merge-internal" ediff-version-control-package))
rev1 rev2 nil startup-hooks merge-buffer-file)))
!
;;;###autoload
(defun ediff-merge-revisions-with-ancestor (&optional
***************
*** 1269,1276 ****
(if tin
(cvs-run-ediff-on-file-descriptor tin)
(error "There is no file to merge"))))
!
!
;;; Apply patch
;;;###autoload
--- 1269,1276 ----
(if tin
(cvs-run-ediff-on-file-descriptor tin)
(error "There is no file to merge"))))
!
!
;;; Apply patch
;;;###autoload
***************
*** 1294,1300 ****
(buffer-file-name patch-buf))))
(t default-directory)))
(setq source-file
! (read-file-name
"File to patch (directory, if multifile patch): "
;; use an explicit initial file
source-dir nil nil (ediff-get-default-file-name)))
--- 1294,1300 ----
(buffer-file-name patch-buf))))
(t default-directory)))
(setq source-file
! (read-file-name
"File to patch (directory, if multifile patch): "
;; use an explicit initial file
source-dir nil nil (ediff-get-default-file-name)))
***************
*** 1317,1323 ****
(read-buffer
"Which buffer to patch? "
(current-buffer))))
!
;;;###autoload
(defalias 'epatch 'ediff-patch-file)
--- 1317,1323 ----
(read-buffer
"Which buffer to patch? "
(current-buffer))))
!
;;;###autoload
(defalias 'epatch 'ediff-patch-file)
***************
*** 1327,1334 ****
! ;;; Versions Control functions
!
;;;###autoload
(defun ediff-revision (&optional file startup-hooks)
"Run Ediff by comparing versions of a file.
--- 1327,1334 ----
! ;;; Versions Control functions
!
;;;###autoload
(defun ediff-revision (&optional file startup-hooks)
"Run Ediff by comparing versions of a file.
***************
*** 1344,1350 ****
ediff-last-dir-A
default-directory)
(ediff-get-default-file-name)
! 'no-dirs)))
(find-file file)
(if (and (buffer-modified-p)
(y-or-n-p (message "Buffer %s is modified. Save buffer? "
--- 1344,1350 ----
ediff-last-dir-A
default-directory)
(ediff-get-default-file-name)
! 'no-dirs)))
(find-file file)
(if (and (buffer-modified-p)
(y-or-n-p (message "Buffer %s is modified. Save buffer? "
***************
*** 1356,1362 ****
(format "Revision 1 to compare (default: %s's latest revision): "
(file-name-nondirectory file)))
rev2
! (read-string
(format "Revision 2 to compare (default: %s's current state): "
(file-name-nondirectory file))))
(ediff-load-version-control)
--- 1356,1362 ----
(format "Revision 1 to compare (default: %s's latest revision): "
(file-name-nondirectory file)))
rev2
! (read-string
(format "Revision 2 to compare (default: %s's current state): "
(file-name-nondirectory file))))
(ediff-load-version-control)
***************
*** 1368,1375 ****
;;;###autoload
(defalias 'erevision 'ediff-revision)
!
!
;; Test if version control package is loaded and load if not
;; Is SILENT is non-nil, don't report error if package is not found.
(defun ediff-load-version-control (&optional silent)
--- 1368,1375 ----
;;;###autoload
(defalias 'erevision 'ediff-revision)
!
!
;; Test if version control package is loaded and load if not
;; Is SILENT is non-nil, don't report error if package is not found.
(defun ediff-load-version-control (&optional silent)
***************
*** 1420,1426 ****
(progn
(select-window ctl-window)
(set-window-buffer ctl-window ctl-buf)))))))
!
--- 1420,1426 ----
(progn
(select-window ctl-window)
(set-window-buffer ctl-window ctl-buf)))))))
!
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/ediff.el,
Juanma Barranquero <=