X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/d52969e8afaa19ed1acc01f4ff0bb651bf7869a7..1a5d0c15185986e645e8fb8080a2338d8f17d562:/lisp/vc/ediff-mult.el diff --git a/lisp/vc/ediff-mult.el b/lisp/vc/ediff-mult.el index 58778f4ce9..7f0db5d45d 100644 --- a/lisp/vc/ediff-mult.el +++ b/lisp/vc/ediff-mult.el @@ -1,7 +1,6 @@ ;;; ediff-mult.el --- support for multi-file/multi-buffer processing in Ediff -;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +;; Copyright (C) 1995-2016 Free Software Foundation, Inc. ;; Author: Michael Kifer ;; Package: ediff @@ -111,14 +110,11 @@ :prefix "ediff-" :group 'ediff) - -;; compiler pacifier -(eval-when-compile - (require 'ediff-ptch) - (require 'ediff)) -;; end pacifier - (require 'ediff-init) +(require 'ediff-diff) +(require 'ediff-wind) +(require 'ediff-util) + ;; meta-buffer (ediff-defvar-local ediff-meta-buffer nil "") @@ -144,7 +140,7 @@ Useful commands (type ? to hide them and free up screen): uh/um:\tunmark all sessions marked for hiding/operation n,SPC:\tnext session p,DEL:\tprevious session - E:\tbrowse Ediff on-line manual + E:\tbrowse Ediff manual T:\ttoggle truncation of long file names q:\tquit this session group ") @@ -178,7 +174,8 @@ directories.") (defcustom ediff-default-filtering-regexp nil "The default regular expression used as a filename filter in multifile comparisons. Should be a sexp. For instance (car ediff-filtering-regexp-history) or nil." - :type 'sexp + :type 'sexp ; yuck - why not just a regexp? + :risky t :group 'ediff-mult) ;; This has the form ((meta-buf regexp dir1 dir2 dir3 merge-auto-store-dir) @@ -218,8 +215,9 @@ This can be toggled with `ediff-toggle-filename-truncation'." :type 'hook :group 'ediff-mult) -(defcustom ediff-before-session-group-setup-hooks nil - "Hooks to run before Ediff arranges the window for group-level operations. +(defcustom ediff-before-session-group-setup-hooks + nil ;FIXME: Bad name (should be -hook or -functions) and never run?? + "Hook run before Ediff arranges the window for group-level operations. It is used by commands such as `ediff-directories'. This hook can be used to save the previous window config, which can be restored on `ediff-quit', `ediff-suspend', or `ediff-quit-session-group-hook'." @@ -307,7 +305,7 @@ buffers." (nth 3 elt)) (defsubst ediff-get-session-objC (elt) (nth 4 elt)) -;; Take the "name" component of the object into acount. ObjA/C/B is of the form +;; Take the "name" component of the object into account. ObjA/C/B is of the form ;; (name . equality-indicator) (defsubst ediff-get-session-objA-name (elt) (car (nth 2 elt))) @@ -1118,7 +1116,7 @@ behavior." (setq overl (if (featurep 'xemacs) (map-extents - (lambda (ext maparg) + (lambda (ext _maparg) (if (and (ediff-overlay-get ext 'ediff-meta-info) (eq (ediff-overlay-get ext 'ediff-meta-session-number) @@ -1447,7 +1445,7 @@ Useful commands: ;; argument is ignored -(defun ediff-redraw-registry-buffer (&optional ignore) +(defun ediff-redraw-registry-buffer (&optional _ignore) (ediff-with-current-buffer ediff-registry-buffer (let ((point (point)) elt bufAname bufBname bufCname cur-diff total-diffs pt @@ -1459,7 +1457,8 @@ Useful commands: (map-extents 'delete-extent) (mapc 'delete-overlay (overlays-in 1 1))) - (insert "This is a registry of all active Ediff sessions. + (insert (substitute-command-keys "\ +This is a registry of all active Ediff sessions. Useful commands: button2, `v', RET over a session record: switch to that session @@ -1467,14 +1466,14 @@ Useful commands: R in any Ediff session: display session registry n,SPC: next session p,DEL: previous session - E: browse Ediff on-line manual + E: browse Ediff manual q: bury registry \t\tActive Ediff Sessions: \t\t---------------------- -") +")) ;; purge registry list from dead buffers (mapc (lambda (elt) (if (not (ediff-buffer-live-p elt)) @@ -1795,6 +1794,14 @@ all marked sessions must be active." )) (error "The patch buffer wasn't found")))) +(declare-function ediff-directories-internal "ediff" + (dir1 dir2 dir3 regexp action jobname + &optional startup-hooks merge-autostore-dir)) + +(declare-function ediff-directory-revisions-internal "ediff" + (dir1 regexp action jobname + &optional startup-hooks merge-autostore-dir)) + ;; This function executes in meta buffer. It knows where event happened. (defun ediff-filegroup-action () @@ -2165,7 +2172,7 @@ all marked sessions must be active." ;; If meta-buf doesn't exist, it is created. In that case, id doesn't have a ;; parent meta-buf ;; Check if META-BUF exists before calling this function -;; Optional MUST-REDRAW, if non-nil, would force redrawal of the whole meta +;; Optional MUST-REDRAW, if non-nil, would force redrawing of the whole meta ;; buffer. Otherwise, it will just go over the buffer and update activity marks ;; and session status. ;; SESSION-NUMBER, if specified, says which session caused the update. @@ -2360,6 +2367,8 @@ If this is a session registry buffer then just bury it." (setq point (point-min))) point)))) +(autoload 'ediff-patch-file-internal "ediff-ptch") + ;; this is the action invoked when the user selects a patch from the meta ;; buffer. (defun ediff-patch-file-form-meta (file &optional startup-hooks) @@ -2474,5 +2483,4 @@ for operation, or simply indicate which are equal files. If it is nil, then ;; eval: (put 'ediff-with-current-buffer 'edebug-form-spec '(form body)) ;; End: -;; arch-tag: c8a76898-f96f-4d9c-be9d-129134017188 ;;; ediff-mult.el ends here