mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-26 07:33:47 +00:00
(ediff-fixup-patch-map): Use mapc' rather than
mapcar'.
This commit is contained in:
parent
629962c351
commit
3f0f4f6fc5
@ -292,43 +292,43 @@ program."
|
||||
)
|
||||
|
||||
;; chop off base-dirs
|
||||
(mapcar (lambda (session-info)
|
||||
(let* ((proposed-file-names
|
||||
;; Filename-spec is objA; it is represented as
|
||||
;; (file1 . file2). Get it using ediff-get-session-objA.
|
||||
(ediff-get-session-objA-name session-info))
|
||||
;; base-dir1 is the dir part of the 1st file in the patch
|
||||
(base-dir1
|
||||
(or (file-name-directory (car proposed-file-names))
|
||||
""))
|
||||
;; directory part of the 2nd file in the patch
|
||||
(base-dir2
|
||||
(or (file-name-directory (cdr proposed-file-names))
|
||||
""))
|
||||
)
|
||||
;; If both base-dir1 and base-dir2 are relative and exist,
|
||||
;; assume that
|
||||
;; these dirs lead to the actual files starting at the present
|
||||
;; directory. So, we don't strip these relative dirs from the
|
||||
;; file names. This is a heuristic intended to improve guessing
|
||||
(let ((default-directory (file-name-directory filename)))
|
||||
(unless (or (file-name-absolute-p base-dir1)
|
||||
(file-name-absolute-p base-dir2)
|
||||
(not (file-exists-p base-dir1))
|
||||
(not (file-exists-p base-dir2)))
|
||||
(setq base-dir1 ""
|
||||
base-dir2 "")))
|
||||
(or (string= (car proposed-file-names) "/dev/null")
|
||||
(setcar proposed-file-names
|
||||
(ediff-file-name-sans-prefix
|
||||
(car proposed-file-names) base-dir1)))
|
||||
(or (string=
|
||||
(cdr proposed-file-names) "/dev/null")
|
||||
(setcdr proposed-file-names
|
||||
(ediff-file-name-sans-prefix
|
||||
(cdr proposed-file-names) base-dir2)))
|
||||
))
|
||||
ediff-patch-map)
|
||||
(mapc (lambda (session-info)
|
||||
(let* ((proposed-file-names
|
||||
;; Filename-spec is objA; it is represented as
|
||||
;; (file1 . file2). Get it using ediff-get-session-objA.
|
||||
(ediff-get-session-objA-name session-info))
|
||||
;; base-dir1 is the dir part of the 1st file in the patch
|
||||
(base-dir1
|
||||
(or (file-name-directory (car proposed-file-names))
|
||||
""))
|
||||
;; directory part of the 2nd file in the patch
|
||||
(base-dir2
|
||||
(or (file-name-directory (cdr proposed-file-names))
|
||||
""))
|
||||
)
|
||||
;; If both base-dir1 and base-dir2 are relative and exist,
|
||||
;; assume that
|
||||
;; these dirs lead to the actual files starting at the present
|
||||
;; directory. So, we don't strip these relative dirs from the
|
||||
;; file names. This is a heuristic intended to improve guessing
|
||||
(let ((default-directory (file-name-directory filename)))
|
||||
(unless (or (file-name-absolute-p base-dir1)
|
||||
(file-name-absolute-p base-dir2)
|
||||
(not (file-exists-p base-dir1))
|
||||
(not (file-exists-p base-dir2)))
|
||||
(setq base-dir1 ""
|
||||
base-dir2 "")))
|
||||
(or (string= (car proposed-file-names) "/dev/null")
|
||||
(setcar proposed-file-names
|
||||
(ediff-file-name-sans-prefix
|
||||
(car proposed-file-names) base-dir1)))
|
||||
(or (string=
|
||||
(cdr proposed-file-names) "/dev/null")
|
||||
(setcdr proposed-file-names
|
||||
(ediff-file-name-sans-prefix
|
||||
(cdr proposed-file-names) base-dir2)))
|
||||
))
|
||||
ediff-patch-map)
|
||||
|
||||
;; take the given file name into account
|
||||
(or (file-directory-p filename)
|
||||
@ -338,19 +338,19 @@ program."
|
||||
(file-name-nondirectory filename))))
|
||||
|
||||
;; prepend actual-dir
|
||||
(mapcar (lambda (session-info)
|
||||
(let ((proposed-file-names
|
||||
(ediff-get-session-objA-name session-info)))
|
||||
(if (and (string-match "^/null/" (car proposed-file-names))
|
||||
(string-match "^/null/" (cdr proposed-file-names)))
|
||||
;; couldn't intuit the file name to patch, so
|
||||
;; something is amiss
|
||||
(progn
|
||||
(with-output-to-temp-buffer ediff-msg-buffer
|
||||
(ediff-with-current-buffer standard-output
|
||||
(fundamental-mode))
|
||||
(princ
|
||||
(format "
|
||||
(mapc (lambda (session-info)
|
||||
(let ((proposed-file-names
|
||||
(ediff-get-session-objA-name session-info)))
|
||||
(if (and (string-match "^/null/" (car proposed-file-names))
|
||||
(string-match "^/null/" (cdr proposed-file-names)))
|
||||
;; couldn't intuit the file name to patch, so
|
||||
;; something is amiss
|
||||
(progn
|
||||
(with-output-to-temp-buffer ediff-msg-buffer
|
||||
(ediff-with-current-buffer standard-output
|
||||
(fundamental-mode))
|
||||
(princ
|
||||
(format "
|
||||
The patch file contains a context diff for
|
||||
%s
|
||||
%s
|
||||
@ -361,31 +361,31 @@ please enter it now.
|
||||
If you don't know and still would like to apply patches to
|
||||
other files, enter /dev/null
|
||||
"
|
||||
(substring (car proposed-file-names) 6)
|
||||
(substring (cdr proposed-file-names) 6))))
|
||||
(let ((directory t)
|
||||
user-file)
|
||||
(while directory
|
||||
(setq user-file
|
||||
(read-file-name
|
||||
"Please enter file name: "
|
||||
actual-dir actual-dir t))
|
||||
(if (not (file-directory-p user-file))
|
||||
(setq directory nil)
|
||||
(setq directory t)
|
||||
(beep)
|
||||
(message "%s is a directory" user-file)
|
||||
(sit-for 2)))
|
||||
(setcar (ediff-get-session-objA session-info)
|
||||
(cons user-file user-file))))
|
||||
(setcar proposed-file-names
|
||||
(expand-file-name
|
||||
(concat actual-dir (car proposed-file-names))))
|
||||
(setcdr proposed-file-names
|
||||
(expand-file-name
|
||||
(concat actual-dir (cdr proposed-file-names)))))
|
||||
))
|
||||
ediff-patch-map)
|
||||
(substring (car proposed-file-names) 6)
|
||||
(substring (cdr proposed-file-names) 6))))
|
||||
(let ((directory t)
|
||||
user-file)
|
||||
(while directory
|
||||
(setq user-file
|
||||
(read-file-name
|
||||
"Please enter file name: "
|
||||
actual-dir actual-dir t))
|
||||
(if (not (file-directory-p user-file))
|
||||
(setq directory nil)
|
||||
(setq directory t)
|
||||
(beep)
|
||||
(message "%s is a directory" user-file)
|
||||
(sit-for 2)))
|
||||
(setcar (ediff-get-session-objA session-info)
|
||||
(cons user-file user-file))))
|
||||
(setcar proposed-file-names
|
||||
(expand-file-name
|
||||
(concat actual-dir (car proposed-file-names))))
|
||||
(setcdr proposed-file-names
|
||||
(expand-file-name
|
||||
(concat actual-dir (cdr proposed-file-names)))))
|
||||
))
|
||||
ediff-patch-map)
|
||||
;; Check for the existing files in each pair and discard the nonexisting
|
||||
;; ones. If both exist, ask the user.
|
||||
(mapcar (lambda (session-info)
|
||||
|
Loading…
Reference in New Issue
Block a user