summaryrefslogtreecommitdiff
path: root/lisp/vc
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2019-10-05 16:48:44 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2019-10-05 16:48:51 +0200
commit3c1635ebf2038d43c3400908e7e070d54192801a (patch)
tree75c844c476392525c142824ba511aa0d700542ef /lisp/vc
parent9cf8454463ab0249c3b680f892507743b3be972e (diff)
downloademacs-3c1635ebf2038d43c3400908e7e070d54192801a.tar.gz
Remove most of the XEmacs compat code from ediff*.el
* lisp/vc/ediff-diff.el (ediff-word-1): Remove XEmacs compat code and declare compatibility functions for obsolete. Adjust all callers. * lisp/vc/ediff-help.el (ediff-set-help-overlays): * lisp/vc/ediff-hook.el: (menu-bar-ediff-misc-menu, menu-bar-ediff-merge-menu) (menu-bar-ediff-menu, menu-bar-ediff-merge-menu) (menu-bar-epatch-menu, menu-bar-ediff-misc-menu): * lisp/vc/ediff-init.el (ediff-device-type) (ediff-window-display-p, ediff-has-face-support-p) (ediff-has-toolbar-support-p, ediff-has-gutter-support-p) (ediff-BAD-INFO, ediff-coding-system-for-write) (ediff-read-event, ediff-overlayp, ediff-make-overlay) (ediff-delete-overlay, ediff-color-display-p) (ediff-display-pixel-width, ediff-display-pixel-height) (ediff-region-help-echo, ediff-set-face-pixmap) (ediff-paint-background-regions-in-one-buffer) (ediff-clear-fine-diff-vector, ediff-mouse-event-p) (ediff-key-press-event-p, ediff-event-point, ) (ediff-event-buffer, ediff-event-key, ediff-last-command-char) (ediff-frame-iconified-p, ediff-frame-char-width) (ediff-reset-mouse, ediff-frame-char-height) (ediff-overlay-start, ediff-overlay-end, ediff-overlay-buffer) (ediff-overlay-get, ediff-move-overlay, ediff-overlay-put) (ediff-abbreviate-file-name): * lisp/vc/ediff-mult.el (ediff-next-meta-item) (ediff-previous-meta-item) (ediff-replace-session-activity-marker-in-meta-buffer) (ediff-replace-session-status-in-meta-buffer) (ediff-redraw-directory-group-buffer) (ediff-update-markers-in-dir-meta-buffer) (ediff-update-session-marker-in-dir-meta-buffer) (ediff-redraw-registry-buffer, ediff-set-meta-overlay) (ediff-update-meta-buffer, ediff-get-meta-info) (ediff-get-meta-overlay-at-pos, ) (ediff-get-session-number-at-pos, ) (ediff-next-meta-overlay-start) (ediff-previous-meta-overlay-start, ) (ediff-meta-mark-equal-files): * lisp/vc/ediff-util.el: (ediff-setup, ediff-setup-control-buffer, ediff-recenter) (ediff-recenter-one-window, ediff-toggle-read-only) (ediff-file-checked-out-p, ediff-file-checked-in-p) (ediff-toggle-wide-display, ediff-toggle-multiframe) (ediff-toggle-use-toolbar, ediff-kill-bottom-toolbar) (ediff-visible-region, ediff-scroll-vertically) (ediff-scroll-horizontally, ediff-jump-to-difference-at-point) (ediff-diff-to-diff, ediff-restore-diff) (ediff-toggle-regexp-match, ediff-really-quit) (ediff-cleanup-mess, ediff-highlight-diff-in-one-buffer) (ediff-unhighlight-diffs-totally-in-one-buffer) (ediff-save-buffer, ediff-make-cloned-buffer) (ediff-make-indirect-buffer, ediff-remove-flags-from-buffer) (ediff-place-flags-in-buffer1, ediff-get-diff-posn) (ediff-clear-diff-vector, ediff-make-bullet-proof-overlay) (ediff-submit-report, ediff-deactivate-mark) (ediff-activate-mark, ediff-profile, ediff-print-diff-vector): * lisp/vc/ediff-wind.el (ediff-control-frame-parameters) (ediff-get-window-by-clicking, ediff-select-lowest-window) (ediff-setup-windows-plain-merge) (ediff-setup-windows-plain-compare, ediff-setup-control-frame) (ediff-destroy-control-frame, ediff-make-frame-position) (ediff-make-wide-display, ediff-get-visible-buffer-window): * lisp/vc/ediff.el (ediff-version, ediff-documentation):
Diffstat (limited to 'lisp/vc')
-rw-r--r--lisp/vc/ediff-diff.el3
-rw-r--r--lisp/vc/ediff-help.el2
-rw-r--r--lisp/vc/ediff-hook.el351
-rw-r--r--lisp/vc/ediff-init.el212
-rw-r--r--lisp/vc/ediff-mult.el157
-rw-r--r--lisp/vc/ediff-util.el197
-rw-r--r--lisp/vc/ediff-wind.el117
-rw-r--r--lisp/vc/ediff.el6
8 files changed, 346 insertions, 699 deletions
diff --git a/lisp/vc/ediff-diff.el b/lisp/vc/ediff-diff.el
index 0c8c89610fb..dded160c577 100644
--- a/lisp/vc/ediff-diff.el
+++ b/lisp/vc/ediff-diff.el
@@ -1231,8 +1231,7 @@ Used for splitting difference regions into individual words.")
These characters are ignored when differing regions are split into words.")
(make-variable-buffer-local 'ediff-whitespace)
-(defvar ediff-word-1
- (if (featurep 'xemacs) "a-zA-Z---_" "-[:word:]_")
+(defvar ediff-word-1 "-[:word:]_"
"Characters that constitute words of type 1.
More precisely, [ediff-word-1] is a regexp that matches type 1 words.
See `ediff-forward-word' for more details.")
diff --git a/lisp/vc/ediff-help.el b/lisp/vc/ediff-help.el
index 0b127564743..f291d40bc24 100644
--- a/lisp/vc/ediff-help.el
+++ b/lisp/vc/ediff-help.el
@@ -166,7 +166,7 @@ the value of this variable and the variables `ediff-help-message-*' in
(setq beg (match-beginning 1)
end (match-end 0)
cmd (buffer-substring (match-beginning 1) (match-end 1)))
- (setq overl (ediff-make-overlay beg end))
+ (setq overl (make-overlay beg end))
(ediff-overlay-put overl 'mouse-face 'highlight)
(ediff-overlay-put overl 'ediff-help-info cmd))))
diff --git a/lisp/vc/ediff-hook.el b/lisp/vc/ediff-hook.el
index 7a04249fc85..2aa03cc930b 100644
--- a/lisp/vc/ediff-hook.el
+++ b/lisp/vc/ediff-hook.el
@@ -44,222 +44,141 @@
;; allow menus to be set up without ediff-wind.el being loaded
-;; This autoload is useless in Emacs because ediff-hook.el is dumped with
-;; emacs, but it is needed in XEmacs
-;;;###autoload
-(if (featurep 'xemacs)
- (progn
- (defun ediff-xemacs-init-menus ()
- (when (featurep 'menubar)
- (add-submenu
- '("Tools") ediff-menu "OO-Browser...")
- (add-submenu
- '("Tools") ediff-merge-menu "OO-Browser...")
- (add-submenu
- '("Tools") epatch-menu "OO-Browser...")
- (add-submenu
- '("Tools") ediff-misc-menu "OO-Browser...")
- (add-menu-button
- '("Tools") "-------" "OO-Browser...")
- ))
- (defvar ediff-menu
- '("Compare"
- ["Two Files..." ediff-files t]
- ["Two Buffers..." ediff-buffers t]
- ["Three Files..." ediff-files3 t]
- ["Three Buffers..." ediff-buffers3 t]
- "---"
- ["Two Directories..." ediff-directories t]
- ["Three Directories..." ediff-directories3 t]
- "---"
- ["File with Revision..." ediff-revision t]
- ["Directory Revisions..." ediff-directory-revisions t]
- "---"
- ["Windows Word-by-word..." ediff-windows-wordwise t]
- ["Windows Line-by-line..." ediff-windows-linewise t]
- "---"
- ["Regions Word-by-word..." ediff-regions-wordwise t]
- ["Regions Line-by-line..." ediff-regions-linewise t]
- ))
- (defvar ediff-merge-menu
- '("Merge"
- ["Files..." ediff-merge-files t]
- ["Files with Ancestor..." ediff-merge-files-with-ancestor t]
- ["Buffers..." ediff-merge-buffers t]
- ["Buffers with Ancestor..."
- ediff-merge-buffers-with-ancestor t]
- "---"
- ["Directories..." ediff-merge-directories t]
- ["Directories with Ancestor..."
- ediff-merge-directories-with-ancestor t]
- "---"
- ["Revisions..." ediff-merge-revisions t]
- ["Revisions with Ancestor..."
- ediff-merge-revisions-with-ancestor t]
- ["Directory Revisions..." ediff-merge-directory-revisions t]
- ["Directory Revisions with Ancestor..."
- ediff-merge-directory-revisions-with-ancestor t]
- ))
- (defvar epatch-menu
- '("Apply Patch"
- ["To a file..." ediff-patch-file t]
- ["To a buffer..." ediff-patch-buffer t]
- ))
- (defvar ediff-misc-menu
- '("Ediff Miscellanea"
- ["Ediff Manual" ediff-documentation t]
- ["Customize Ediff" ediff-customize t]
- ["List Ediff Sessions" ediff-show-registry t]
- ["Use separate frame for Ediff control buffer"
- ediff-toggle-multiframe
- :style toggle
- :selected (eq (bound-and-true-p ediff-window-setup-function)
- #'ediff-setup-windows-multiframe)]
- ["Use a toolbar with Ediff control buffer"
- ediff-toggle-use-toolbar
- :style toggle
- :selected (if (featurep 'ediff-tbar)
- (ediff-use-toolbar-p))]))
-
- ;; put these menus before Object-Oriented-Browser in Tools menu
- (if (and (featurep 'menubar) (not (featurep 'infodock))
- (not (featurep 'ediff-hook)))
- (ediff-xemacs-init-menus)))
- ;; Emacs
- ;; initialize menu bar keymaps
- (defvar menu-bar-ediff-misc-menu
- (make-sparse-keymap "Ediff Miscellanea"))
- (fset 'menu-bar-ediff-misc-menu
- menu-bar-ediff-misc-menu)
- (defvar menu-bar-epatch-menu (make-sparse-keymap "Apply Patch"))
- (fset 'menu-bar-epatch-menu menu-bar-epatch-menu)
- (defvar menu-bar-ediff-merge-menu (make-sparse-keymap "Merge"))
- (fset 'menu-bar-ediff-merge-menu
- menu-bar-ediff-merge-menu)
- (defvar menu-bar-ediff-menu (make-sparse-keymap "Compare"))
- (fset 'menu-bar-ediff-menu menu-bar-ediff-menu)
-
- ;; define ediff compare menu
- (define-key menu-bar-ediff-menu [ediff-misc]
- `(menu-item ,(purecopy "Ediff Miscellanea") menu-bar-ediff-misc-menu))
- (define-key menu-bar-ediff-menu [separator-ediff-misc] menu-bar-separator)
- (define-key menu-bar-ediff-menu [window]
- `(menu-item ,(purecopy "This Window and Next Window") compare-windows
- :help ,(purecopy "Compare the current window and the next window")))
- (define-key menu-bar-ediff-menu [ediff-windows-linewise]
- `(menu-item ,(purecopy "Windows Line-by-line...") ediff-windows-linewise
- :help ,(purecopy "Compare windows line-wise")))
- (define-key menu-bar-ediff-menu [ediff-windows-wordwise]
- `(menu-item ,(purecopy "Windows Word-by-word...") ediff-windows-wordwise
- :help ,(purecopy "Compare windows word-wise")))
- (define-key menu-bar-ediff-menu [separator-ediff-windows] menu-bar-separator)
- (define-key menu-bar-ediff-menu [ediff-regions-linewise]
- `(menu-item ,(purecopy "Regions Line-by-line...") ediff-regions-linewise
- :help ,(purecopy "Compare regions line-wise")))
- (define-key menu-bar-ediff-menu [ediff-regions-wordwise]
- `(menu-item ,(purecopy "Regions Word-by-word...") ediff-regions-wordwise
- :help ,(purecopy "Compare regions word-wise")))
- (define-key menu-bar-ediff-menu [separator-ediff-regions] menu-bar-separator)
- (define-key menu-bar-ediff-menu [ediff-dir-revision]
- `(menu-item ,(purecopy "Directory Revisions...") ediff-directory-revisions
- :help ,(purecopy "Compare directory files with their older versions")))
- (define-key menu-bar-ediff-menu [ediff-revision]
- `(menu-item ,(purecopy "File with Revision...") ediff-revision
- :help ,(purecopy "Compare file with its older versions")))
- (define-key menu-bar-ediff-menu [separator-ediff-directories] menu-bar-separator)
- (define-key menu-bar-ediff-menu [ediff-directories3]
- `(menu-item ,(purecopy "Three Directories...") ediff-directories3
- :help ,(purecopy "Compare files common to three directories simultaneously")))
- (define-key menu-bar-ediff-menu [ediff-directories]
- `(menu-item ,(purecopy "Two Directories...") ediff-directories
- :help ,(purecopy "Compare files common to two directories simultaneously")))
- (define-key menu-bar-ediff-menu [separator-ediff-files] menu-bar-separator)
- (define-key menu-bar-ediff-menu [ediff-buffers3]
- `(menu-item ,(purecopy "Three Buffers...") ediff-buffers3
- :help ,(purecopy "Compare three buffers simultaneously")))
- (define-key menu-bar-ediff-menu [ediff-files3]
- `(menu-item ,(purecopy "Three Files...") ediff-files3
- :help ,(purecopy "Compare three files simultaneously")))
- (define-key menu-bar-ediff-menu [ediff-buffers]
- `(menu-item ,(purecopy "Two Buffers...") ediff-buffers
- :help ,(purecopy "Compare two buffers simultaneously")))
- (define-key menu-bar-ediff-menu [ediff-files]
- `(menu-item ,(purecopy "Two Files...") ediff-files
- :help ,(purecopy "Compare two files simultaneously")))
-
- ;; define ediff merge menu
- (define-key
- menu-bar-ediff-merge-menu [ediff-merge-dir-revisions-with-ancestor]
- `(menu-item ,(purecopy "Directory Revisions with Ancestor...")
- ediff-merge-directory-revisions-with-ancestor
- :help ,(purecopy "Merge versions of the files in the same directory by comparing the files with common ancestors")))
- (define-key
- menu-bar-ediff-merge-menu [ediff-merge-dir-revisions]
- `(menu-item ,(purecopy "Directory Revisions...") ediff-merge-directory-revisions
- :help ,(purecopy "Merge versions of the files in the same directory (without using ancestor information)")))
- (define-key
- menu-bar-ediff-merge-menu [ediff-merge-revisions-with-ancestor]
- `(menu-item ,(purecopy "Revisions with Ancestor...")
- ediff-merge-revisions-with-ancestor
- :help ,(purecopy "Merge versions of the same file by comparing them with a common ancestor")))
- (define-key menu-bar-ediff-merge-menu [ediff-merge-revisions]
- `(menu-item ,(purecopy "Revisions...") ediff-merge-revisions
- :help ,(purecopy "Merge versions of the same file (without using ancestor information)")))
- (define-key menu-bar-ediff-merge-menu [separator-ediff-merge] menu-bar-separator)
- (define-key
- menu-bar-ediff-merge-menu [ediff-merge-directories-with-ancestor]
- `(menu-item ,(purecopy "Directories with Ancestor...")
- ediff-merge-directories-with-ancestor
- :help ,(purecopy "Merge files common to a pair of directories by comparing the files with common ancestors")))
- (define-key menu-bar-ediff-merge-menu [ediff-merge-directories]
- `(menu-item ,(purecopy "Directories...") ediff-merge-directories
- :help ,(purecopy "Merge files common to a pair of directories")))
- (define-key
- menu-bar-ediff-merge-menu [separator-ediff-merge-dirs] menu-bar-separator)
- (define-key
- menu-bar-ediff-merge-menu [ediff-merge-buffers-with-ancestor]
- `(menu-item ,(purecopy "Buffers with Ancestor...") ediff-merge-buffers-with-ancestor
- :help ,(purecopy "Merge buffers by comparing their contents with a common ancestor")))
- (define-key menu-bar-ediff-merge-menu [ediff-merge-buffers]
- `(menu-item ,(purecopy "Buffers...") ediff-merge-buffers
- :help ,(purecopy "Merge buffers (without using ancestor information)")))
- (define-key menu-bar-ediff-merge-menu [ediff-merge-files-with-ancestor]
- `(menu-item ,(purecopy "Files with Ancestor...") ediff-merge-files-with-ancestor
- :help ,(purecopy "Merge files by comparing them with a common ancestor")))
- (define-key menu-bar-ediff-merge-menu [ediff-merge-files]
- `(menu-item ,(purecopy "Files...") ediff-merge-files
- :help ,(purecopy "Merge files (without using ancestor information)")))
-
- ;; define epatch menu
- (define-key menu-bar-epatch-menu [ediff-patch-buffer]
- `(menu-item ,(purecopy "To a Buffer...") ediff-patch-buffer
- :help ,(purecopy "Apply a patch to the contents of a buffer")))
- (define-key menu-bar-epatch-menu [ediff-patch-file]
- `(menu-item ,(purecopy "To a File...") ediff-patch-file
- :help ,(purecopy "Apply a patch to a file")))
-
- ;; define ediff miscellanea
- (define-key menu-bar-ediff-misc-menu [emultiframe]
- `(menu-item ,(purecopy "Use separate control buffer frame")
- ediff-toggle-multiframe
- :help ,(purecopy "Switch between the single-frame presentation mode and the multi-frame mode")
- :button (:toggle . (eq (bound-and-true-p ediff-window-setup-function)
- #'ediff-setup-windows-multiframe))))
- ;; FIXME: Port XEmacs's toolbar support!
- ;; ["Use a toolbar with Ediff control buffer"
- ;; ediff-toggle-use-toolbar
- ;; :style toggle
- ;; :selected (if (featurep 'ediff-tbar)
- ;; (ediff-use-toolbar-p))]
- (define-key menu-bar-ediff-misc-menu [eregistry]
- `(menu-item ,(purecopy "List Ediff Sessions") ediff-show-registry
- :help ,(purecopy "List all active Ediff sessions; it is a convenient way to find and resume such a session")))
- (define-key menu-bar-ediff-misc-menu [ediff-cust]
- `(menu-item ,(purecopy "Customize Ediff") ediff-customize
- :help ,(purecopy "Change some of the parameters that govern the behavior of Ediff")))
- (define-key menu-bar-ediff-misc-menu [ediff-doc]
- `(menu-item ,(purecopy "Ediff Manual") ediff-documentation
- :help ,(purecopy "Bring up the Ediff manual"))))
+;; Emacs
+;; initialize menu bar keymaps
+(defvar menu-bar-ediff-misc-menu
+ (make-sparse-keymap "Ediff Miscellanea"))
+(fset 'menu-bar-ediff-misc-menu
+ menu-bar-ediff-misc-menu)
+(defvar menu-bar-epatch-menu (make-sparse-keymap "Apply Patch"))
+(fset 'menu-bar-epatch-menu menu-bar-epatch-menu)
+(defvar menu-bar-ediff-merge-menu (make-sparse-keymap "Merge"))
+(fset 'menu-bar-ediff-merge-menu
+ menu-bar-ediff-merge-menu)
+(defvar menu-bar-ediff-menu (make-sparse-keymap "Compare"))
+(fset 'menu-bar-ediff-menu menu-bar-ediff-menu)
+
+;; define ediff compare menu
+(define-key menu-bar-ediff-menu [ediff-misc]
+ `(menu-item ,(purecopy "Ediff Miscellanea") menu-bar-ediff-misc-menu))
+(define-key menu-bar-ediff-menu [separator-ediff-misc] menu-bar-separator)
+(define-key menu-bar-ediff-menu [window]
+ `(menu-item ,(purecopy "This Window and Next Window") compare-windows
+ :help ,(purecopy "Compare the current window and the next window")))
+(define-key menu-bar-ediff-menu [ediff-windows-linewise]
+ `(menu-item ,(purecopy "Windows Line-by-line...") ediff-windows-linewise
+ :help ,(purecopy "Compare windows line-wise")))
+(define-key menu-bar-ediff-menu [ediff-windows-wordwise]
+ `(menu-item ,(purecopy "Windows Word-by-word...") ediff-windows-wordwise
+ :help ,(purecopy "Compare windows word-wise")))
+(define-key menu-bar-ediff-menu [separator-ediff-windows] menu-bar-separator)
+(define-key menu-bar-ediff-menu [ediff-regions-linewise]
+ `(menu-item ,(purecopy "Regions Line-by-line...") ediff-regions-linewise
+ :help ,(purecopy "Compare regions line-wise")))
+(define-key menu-bar-ediff-menu [ediff-regions-wordwise]
+ `(menu-item ,(purecopy "Regions Word-by-word...") ediff-regions-wordwise
+ :help ,(purecopy "Compare regions word-wise")))
+(define-key menu-bar-ediff-menu [separator-ediff-regions] menu-bar-separator)
+(define-key menu-bar-ediff-menu [ediff-dir-revision]
+ `(menu-item ,(purecopy "Directory Revisions...") ediff-directory-revisions
+ :help ,(purecopy "Compare directory files with their older versions")))
+(define-key menu-bar-ediff-menu [ediff-revision]
+ `(menu-item ,(purecopy "File with Revision...") ediff-revision
+ :help ,(purecopy "Compare file with its older versions")))
+(define-key menu-bar-ediff-menu [separator-ediff-directories] menu-bar-separator)
+(define-key menu-bar-ediff-menu [ediff-directories3]
+ `(menu-item ,(purecopy "Three Directories...") ediff-directories3
+ :help ,(purecopy "Compare files common to three directories simultaneously")))
+(define-key menu-bar-ediff-menu [ediff-directories]
+ `(menu-item ,(purecopy "Two Directories...") ediff-directories
+ :help ,(purecopy "Compare files common to two directories simultaneously")))
+(define-key menu-bar-ediff-menu [separator-ediff-files] menu-bar-separator)
+(define-key menu-bar-ediff-menu [ediff-buffers3]
+ `(menu-item ,(purecopy "Three Buffers...") ediff-buffers3
+ :help ,(purecopy "Compare three buffers simultaneously")))
+(define-key menu-bar-ediff-menu [ediff-files3]
+ `(menu-item ,(purecopy "Three Files...") ediff-files3
+ :help ,(purecopy "Compare three files simultaneously")))
+(define-key menu-bar-ediff-menu [ediff-buffers]
+ `(menu-item ,(purecopy "Two Buffers...") ediff-buffers
+ :help ,(purecopy "Compare two buffers simultaneously")))
+(define-key menu-bar-ediff-menu [ediff-files]
+ `(menu-item ,(purecopy "Two Files...") ediff-files
+ :help ,(purecopy "Compare two files simultaneously")))
+
+;; define ediff merge menu
+(define-key
+ menu-bar-ediff-merge-menu [ediff-merge-dir-revisions-with-ancestor]
+ `(menu-item ,(purecopy "Directory Revisions with Ancestor...")
+ ediff-merge-directory-revisions-with-ancestor
+ :help ,(purecopy "Merge versions of the files in the same directory by comparing the files with common ancestors")))
+(define-key
+ menu-bar-ediff-merge-menu [ediff-merge-dir-revisions]
+ `(menu-item ,(purecopy "Directory Revisions...") ediff-merge-directory-revisions
+ :help ,(purecopy "Merge versions of the files in the same directory (without using ancestor information)")))
+(define-key
+ menu-bar-ediff-merge-menu [ediff-merge-revisions-with-ancestor]
+ `(menu-item ,(purecopy "Revisions with Ancestor...")
+ ediff-merge-revisions-with-ancestor
+ :help ,(purecopy "Merge versions of the same file by comparing them with a common ancestor")))
+(define-key menu-bar-ediff-merge-menu [ediff-merge-revisions]
+ `(menu-item ,(purecopy "Revisions...") ediff-merge-revisions
+ :help ,(purecopy "Merge versions of the same file (without using ancestor information)")))
+(define-key menu-bar-ediff-merge-menu [separator-ediff-merge] menu-bar-separator)
+(define-key
+ menu-bar-ediff-merge-menu [ediff-merge-directories-with-ancestor]
+ `(menu-item ,(purecopy "Directories with Ancestor...")
+ ediff-merge-directories-with-ancestor
+ :help ,(purecopy "Merge files common to a pair of directories by comparing the files with common ancestors")))
+(define-key menu-bar-ediff-merge-menu [ediff-merge-directories]
+ `(menu-item ,(purecopy "Directories...") ediff-merge-directories
+ :help ,(purecopy "Merge files common to a pair of directories")))
+(define-key
+ menu-bar-ediff-merge-menu [separator-ediff-merge-dirs] menu-bar-separator)
+(define-key
+ menu-bar-ediff-merge-menu [ediff-merge-buffers-with-ancestor]
+ `(menu-item ,(purecopy "Buffers with Ancestor...") ediff-merge-buffers-with-ancestor
+ :help ,(purecopy "Merge buffers by comparing their contents with a common ancestor")))
+(define-key menu-bar-ediff-merge-menu [ediff-merge-buffers]
+ `(menu-item ,(purecopy "Buffers...") ediff-merge-buffers
+ :help ,(purecopy "Merge buffers (without using ancestor information)")))
+(define-key menu-bar-ediff-merge-menu [ediff-merge-files-with-ancestor]
+ `(menu-item ,(purecopy "Files with Ancestor...") ediff-merge-files-with-ancestor
+ :help ,(purecopy "Merge files by comparing them with a common ancestor")))
+(define-key menu-bar-ediff-merge-menu [ediff-merge-files]
+ `(menu-item ,(purecopy "Files...") ediff-merge-files
+ :help ,(purecopy "Merge files (without using ancestor information)")))
+
+;; define epatch menu
+(define-key menu-bar-epatch-menu [ediff-patch-buffer]
+ `(menu-item ,(purecopy "To a Buffer...") ediff-patch-buffer
+ :help ,(purecopy "Apply a patch to the contents of a buffer")))
+(define-key menu-bar-epatch-menu [ediff-patch-file]
+ `(menu-item ,(purecopy "To a File...") ediff-patch-file
+ :help ,(purecopy "Apply a patch to a file")))
+
+;; define ediff miscellanea
+(define-key menu-bar-ediff-misc-menu [emultiframe]
+ `(menu-item ,(purecopy "Use separate control buffer frame")
+ ediff-toggle-multiframe
+ :help ,(purecopy "Switch between the single-frame presentation mode and the multi-frame mode")
+ :button (:toggle . (eq (bound-and-true-p ediff-window-setup-function)
+ #'ediff-setup-windows-multiframe))))
+;; FIXME: Port XEmacs's toolbar support!
+;; ["Use a toolbar with Ediff control buffer"
+;; ediff-toggle-use-toolbar
+;; :style toggle
+;; :selected (if (featurep 'ediff-tbar)
+;; (ediff-use-toolbar-p))]
+(define-key menu-bar-ediff-misc-menu [eregistry]
+ `(menu-item ,(purecopy "List Ediff Sessions") ediff-show-registry
+ :help ,(purecopy "List all active Ediff sessions; it is a convenient way to find and resume such a session")))
+(define-key menu-bar-ediff-misc-menu [ediff-cust]
+ `(menu-item ,(purecopy "Customize Ediff") ediff-customize
+ :help ,(purecopy "Change some of the parameters that govern the behavior of Ediff")))
+(define-key menu-bar-ediff-misc-menu [ediff-doc]
+ `(menu-item ,(purecopy "Ediff Manual") ediff-documentation
+ :help ,(purecopy "Bring up the Ediff manual")))
(provide 'ediff-hook)
;;; ediff-hook.el ends here
diff --git a/lisp/vc/ediff-init.el b/lisp/vc/ediff-init.el
index c007d934483..9e4d08d70c8 100644
--- a/lisp/vc/ediff-init.el
+++ b/lisp/vc/ediff-init.el
@@ -45,30 +45,29 @@ that Ediff doesn't know about.")
;; Are we running as a window application or on a TTY?
(defsubst ediff-device-type ()
- (if (featurep 'xemacs)
- (device-type (selected-device))
- window-system))
+ (declare (obsolete nil "27.1"))
+ window-system)
;; in XEmacs: device-type is tty on tty and stream in batch.
(defun ediff-window-display-p ()
- (and (ediff-device-type) (not (memq (ediff-device-type) '(tty pc stream)))))
+ (and window-system
+ (not (memq window-system '(tty pc stream)))))
;; test if supports faces
(defun ediff-has-face-support-p ()
(cond ((ediff-window-display-p))
(ediff-force-faces)
- ((ediff-color-display-p))
- (t (memq (ediff-device-type) '(pc)))))
+ ((display-color-p))
+ (t (memq window-system '(pc)))))
;; toolbar support for emacs hasn't been implemented in ediff
(defun ediff-has-toolbar-support-p ()
- (if (featurep 'xemacs)
- (if (featurep 'toolbar) (console-on-window-system-p))))
+ nil)
(defun ediff-has-gutter-support-p ()
- (if (featurep 'xemacs)
- (if (featurep 'gutter) (console-on-window-system-p))))
+ (declare (obsolete nil "27.1"))
+ nil)
(defun ediff-use-toolbar-p ()
(and (ediff-has-toolbar-support-p) ;Can it do it ?
@@ -493,10 +492,9 @@ set local variables that determine how the display looks like."
"%S: Bad diff region number, %d. Valid numbers are 1 to %d")
(defconst ediff-BAD-INFO (format "
*** The Info file for Ediff, a part of the standard distribution
-*** of %sEmacs, does not seem to be properly installed.
+*** of Emacs, does not seem to be properly installed.
***
-*** Please contact your system administrator. "
- (if (featurep 'xemacs) "X" "")))
+*** Please contact your system administrator. "))
;; Selective browsing
@@ -553,24 +551,24 @@ See the documentation string of `ediff-focus-on-regexp-matches' for details.")
;; Highlighting
-(defcustom ediff-before-flag-bol (if (featurep 'xemacs) (make-glyph "->>") "->>")
+(defcustom ediff-before-flag-bol "->>"
"Flag placed before a highlighted block of differences, if block starts at beginning of a line."
:type 'string
:tag "Region before-flag at beginning of line"
:group 'ediff)
-(defcustom ediff-after-flag-eol (if (featurep 'xemacs) (make-glyph "<<-") "<<-")
+(defcustom ediff-after-flag-eol "<<-"
"Flag placed after a highlighted block of differences, if block ends at end of a line."
:type 'string
:tag "Region after-flag at end of line"
:group 'ediff)
-(defcustom ediff-before-flag-mol (if (featurep 'xemacs) (make-glyph "->>") "->>")
+(defcustom ediff-before-flag-mol "->>"
"Flag placed before a highlighted block of differences, if block starts in mid-line."
:type 'string
:tag "Region before-flag in the middle of line"
:group 'ediff)
-(defcustom ediff-after-flag-mol (if (featurep 'xemacs) (make-glyph "<<-") "<<-")
+(defcustom ediff-after-flag-mol "<<-"
"Flag placed after a highlighted block of differences, if block ends in mid-line."
:type 'string
:tag "Region after-flag in the middle of line"
@@ -717,33 +715,22 @@ work."
:type 'symbol
:group 'ediff)
-(defcustom ediff-coding-system-for-write (if (featurep 'xemacs)
- 'escape-quoted
- 'emacs-internal)
+(defcustom ediff-coding-system-for-write 'emacs-internal
"The coding system for write to use when writing out difference regions
to temp files in buffer jobs and when Ediff needs to find fine differences."
:type 'symbol
:group 'ediff)
-(defalias 'ediff-read-event
- (if (featurep 'xemacs) 'next-command-event 'read-event))
+(define-obsolete-function-alias 'ediff-read-event #'read-event "27.1")
-(defalias 'ediff-overlayp
- (if (featurep 'xemacs) 'extentp 'overlayp))
+(define-obsolete-function-alias 'ediff-overlayp #'overlayp "27.1")
-(defalias 'ediff-make-overlay
- (if (featurep 'xemacs) 'make-extent 'make-overlay))
+(define-obsolete-function-alias 'ediff-make-overlay #'make-overlay "27.1")
-(defalias 'ediff-delete-overlay
- (if (featurep 'xemacs) 'delete-extent 'delete-overlay))
+(define-obsolete-function-alias 'ediff-delete-overlay #'delete-overlay "27.1")
-(defun ediff-color-display-p ()
- (condition-case nil
- (if (featurep 'xemacs)
- (eq (device-class (selected-device)) 'color) ; xemacs form
- (display-color-p)) ; emacs form
- (error nil)))
+(define-obsolete-function-alias 'ediff-color-display-p #'display-color-p "27.1")
;; A var local to each control panel buffer. Indicates highlighting style
@@ -754,12 +741,10 @@ to temp files in buffer jobs and when Ediff needs to find fine differences."
"")
-(if (featurep 'xemacs)
- (progn
- (defalias 'ediff-display-pixel-width 'device-pixel-width)
- (defalias 'ediff-display-pixel-height 'device-pixel-height))
- (defalias 'ediff-display-pixel-width 'display-pixel-width)
- (defalias 'ediff-display-pixel-height 'display-pixel-height))
+(define-obsolete-function-alias 'ediff-display-pixel-width
+ #'display-pixel-width "27.1")
+(define-obsolete-function-alias 'ediff-display-pixel-height
+ #'display-pixel-height "27.1")
;; A-list of current-diff-overlay symbols associated with buf types
(defconst ediff-current-diff-overlay-alist
@@ -783,9 +768,9 @@ to temp files in buffer jobs and when Ediff needs to find fine differences."
(defun ediff-region-help-echo (extent-or-window &optional overlay _point)
(unless overlay
(setq overlay extent-or-window))
- (let ((is-current (ediff-overlay-get overlay 'ediff))
- (face (ediff-overlay-get overlay 'face))
- (diff-num (ediff-overlay-get overlay 'ediff-diff-num))
+ (let ((is-current (overlay-get overlay 'ediff))
+ (face (overlay-get overlay 'face))
+ (diff-num (overlay-get overlay 'ediff-diff-num))
face-help)
;; This happens only for refinement overlays
@@ -804,7 +789,7 @@ to temp files in buffer jobs and when Ediff needs to find fine differences."
(defun ediff-set-face-pixmap (face pixmap)
"Set face pixmap on a monochrome display."
- (if (and (ediff-window-display-p) (not (ediff-color-display-p)))
+ (if (and (ediff-window-display-p) (not (display-color-p)))
(condition-case nil
(set-face-background-pixmap face pixmap)
(error
@@ -839,14 +824,6 @@ DO NOT CHANGE this variable. Instead, use the customization
widget to customize the actual face object `ediff-current-diff-A'
this variable represents.")
(ediff-hide-face ediff-current-diff-face-A)
-;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
-;; This means that some user customization may be trashed.
-(and (featurep 'xemacs)
- (ediff-has-face-support-p)
- (not (ediff-color-display-p))
- (copy-face 'modeline ediff-current-diff-face-A))
-
-
(defface ediff-current-diff-B
'((((class color) (min-colors 88) (background light))
@@ -869,13 +846,6 @@ this variable represents.")
widget to customize the actual face `ediff-current-diff-B'
this variable represents.")
(ediff-hide-face ediff-current-diff-face-B)
-;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
-;; This means that some user customization may be trashed.
-(and (featurep 'xemacs)
- (ediff-has-face-support-p)
- (not (ediff-color-display-p))
- (copy-face 'modeline ediff-current-diff-face-B))
-
(defface ediff-current-diff-C
'((((class color) (min-colors 88) (background light))
@@ -897,13 +867,6 @@ DO NOT CHANGE this variable. Instead, use the customization
widget to customize the actual face object `ediff-current-diff-C'
this variable represents.")
(ediff-hide-face ediff-current-diff-face-C)
-;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
-;; This means that some user customization may be trashed.
-(and (featurep 'xemacs)
- (ediff-has-face-support-p)
- (not (ediff-color-display-p))
- (copy-face 'modeline ediff-current-diff-face-C))
-
(defface ediff-current-diff-Ancestor
'((((class color) (min-colors 88) (background light))
@@ -927,13 +890,6 @@ DO NOT CHANGE this variable. Instead, use the customization
widget to customize the actual face object `ediff-current-diff-Ancestor'
this variable represents.")
(ediff-hide-face ediff-current-diff-face-Ancestor)
-;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
-;; This means that some user customization may be trashed.
-(and (featurep 'xemacs)
- (ediff-has-face-support-p)
- (not (ediff-color-display-p))
- (copy-face 'modeline ediff-current-diff-face-Ancestor))
-
(defface ediff-fine-diff-A
'((((class color) (min-colors 88) (background light))
@@ -1383,8 +1339,8 @@ This default should work without changes."
overl diff-num)
(mapcar (lambda (rec)
(setq overl (ediff-get-diff-overlay-from-diff-record rec)
- diff-num (ediff-overlay-get overl 'ediff-diff-num))
- (if (ediff-overlay-buffer overl)
+ diff-num (overlay-get overl 'ediff-diff-num))
+ (if (overlay-buffer overl)
;; only if overlay is alive
(ediff-set-overlay-face
overl
@@ -1410,8 +1366,8 @@ This default should work without changes."
;; this record is itself a vector
(defsubst ediff-clear-fine-diff-vector (diff-record)
(if diff-record
- (mapc #'ediff-delete-overlay
- (ediff-get-fine-diff-vector-from-diff-record diff-record))))
+ (mapc #'delete-overlay
+ (ediff-get-fine-diff-vector-from-diff-record diff-record))))
(defsubst ediff-clear-fine-differences-in-one-buffer (n buf-type)
(ediff-clear-fine-diff-vector (ediff-get-difference n buf-type))
@@ -1425,49 +1381,37 @@ This default should work without changes."
(defsubst ediff-mouse-event-p (event)
- (if (featurep 'xemacs)
- (button-event-p event)
- (string-match "mouse" (format "%S" (event-basic-type event)))))
+ (string-match "mouse" (format "%S" (event-basic-type event))))
(defsubst ediff-key-press-event-p (event)
- (if (featurep 'xemacs)
- (key-press-event-p event)
- (or (char-or-string-p event) (symbolp event))))
+ (or (char-or-string-p event) (symbolp event)))
(defun ediff-event-point (event)
(cond ((ediff-mouse-event-p event)
- (if (featurep 'xemacs)
- (event-point event)
- (posn-point (event-start event))))
+ (posn-point (event-start event)))
((ediff-key-press-event-p event)
(point))
(t (error "Error"))))
(defun ediff-event-buffer (event)
(cond ((ediff-mouse-event-p event)
- (if (featurep 'xemacs)
- (event-buffer event)
- (window-buffer (posn-window (event-start event)))))
+ (window-buffer (posn-window (event-start event))))
((ediff-key-press-event-p event)
(current-buffer))
(t (error "Error"))))
-(defun ediff-event-key (event-or-key)
- (if (featurep 'xemacs)
- ;;(if (eventp event-or-key) (event-key event-or-key) event-or-key)
- (if (eventp event-or-key) (event-to-character event-or-key t t) event-or-key)
- event-or-key))
+(define-obsolete-function-alias 'ediff-event-key #'identity "27.1")
(defun ediff-last-command-char ()
- (ediff-event-key last-command-event))
+ (declare (obsolete nil "27.1"))
+ last-command-event)
(defsubst ediff-frame-iconified-p (frame)
- (and (ediff-window-display-p) (frame-live-p frame)
- (if (featurep 'xemacs)
- (frame-iconified-p frame)
- (eq (frame-visible-p frame) 'icon))))
+ (and (ediff-window-display-p)
+ (frame-live-p frame)
+ (eq (frame-visible-p frame) 'icon)))
(defsubst ediff-window-visible-p (wind)
;; under TTY, window-live-p also means window is visible
@@ -1476,17 +1420,13 @@ This default should work without changes."
(frame-visible-p (window-frame wind)))))
-(defsubst ediff-frame-char-width (frame)
- (if (featurep 'xemacs)
- (/ (frame-pixel-width frame) (frame-width frame))
- (frame-char-width frame)))
+(define-obsolete-function-alias 'ediff-frame-char-width
+ #'frame-char-width "27.1")
(defun ediff-reset-mouse (&optional frame do-not-grab-mouse)
(or frame (setq frame (selected-frame)))
(if (ediff-window-display-p)
(let ((frame-or-wind frame))
- (if (featurep 'xemacs)
- (setq frame-or-wind (frame-selected-window frame)))
(or do-not-grab-mouse
;; don't set mouse if the user said to never do this
(not ediff-grab-mouse)
@@ -1523,65 +1463,42 @@ This default should work without changes."
ediff-mouse-pixel-threshold))))
(t nil))))
-(defsubst ediff-frame-char-height (frame)
- (if (featurep 'xemacs)
- (glyph-height ediff-H-glyph (frame-selected-window frame))
- (frame-char-height frame)))
+(define-obsolete-function-alias 'ediff-frame-char-height
+ #'frame-char-height "27.1")
;; Some overlay functions
(defsubst ediff-overlay-start (overl)
- (if (ediff-overlayp overl)
- (if (featurep 'xemacs)
- (extent-start-position overl)
- (overlay-start overl))))
+ (if (overlayp overl)
+ (overlay-start overl)))
(defsubst ediff-overlay-end (overl)
- (if (ediff-overlayp overl)
- (if (featurep 'xemacs)
- (extent-end-position overl)
- (overlay-end overl))))
+ (if (overlayp overl)
+ (overlay-end overl)))
(defsubst ediff-empty-overlay-p (overl)
(= (ediff-overlay-start overl) (ediff-overlay-end overl)))
-;; like overlay-buffer in Emacs. In XEmacs, returns nil if the extent is
-;; dead. Otherwise, works like extent-buffer
-(defun ediff-overlay-buffer (overl)
- (if (featurep 'xemacs)
- (and (extent-live-p overl) (extent-object overl))
- (overlay-buffer overl)))
+(define-obsolete-function-alias 'ediff-overlay-buffer
+ #'overlay-buffer "27.1")
-;; like overlay-get in Emacs. In XEmacs, returns nil if the extent is
-;; dead. Otherwise, like extent-property
-(defun ediff-overlay-get (overl property)
- (if (featurep 'xemacs)
- (and (extent-live-p overl) (extent-property overl property))
- (overlay-get overl property)))
+(define-obsolete-function-alias 'ediff-overlay-get #'overlay-get "27.1")
-;; These two functions are here because XEmacs refuses to
-;; handle overlays whose buffers were deleted.
(defun ediff-move-overlay (overlay beg end &optional buffer)
- "Calls `move-overlay' in Emacs and `set-extent-endpoints' in Lemacs.
-Checks if overlay's buffer exists before actually doing the move."
- (let ((buf (and overlay (ediff-overlay-buffer overlay))))
+ "If OVERLAY's buffer exists, call `move-overlay'."
+ (let ((buf (and overlay (overlay-buffer overlay))))
(if (ediff-buffer-live-p buf)
- (if (featurep 'xemacs)
- (set-extent-endpoints overlay beg end)
- (move-overlay overlay beg end buffer))
+ (move-overlay overlay beg end buffer)
;; buffer's dead
(if overlay
- (ediff-delete-overlay overlay)))))
+ (delete-overlay overlay)))))
(defun ediff-overlay-put (overlay prop value)
- "Calls `overlay-put' or `set-extent-property' depending on Emacs version.
-Checks if overlay's buffer exists."
- (if (ediff-buffer-live-p (ediff-overlay-buffer overlay))
- (if (featurep 'xemacs)
- (set-extent-property overlay prop value)
- (overlay-put overlay prop value))
- (ediff-delete-overlay overlay)))
+ "Calls `overlay-put', but checks if overlay's buffer exists."
+ (if (ediff-buffer-live-p (overlay-buffer overlay))
+ (overlay-put overlay prop value)
+ (delete-overlay overlay)))
;; temporarily uses DIR to abbreviate file name
;; if DIR is nil, use default-directory
@@ -1590,10 +1507,7 @@ Checks if overlay's buffer exists."
(let ((directory-abbrev-alist (list (cons dir ""))))
(abbreviate-file-name file)))
(t
- (if (featurep 'xemacs)
- ;; XEmacs requires addl argument
- (abbreviate-file-name file t)
- (abbreviate-file-name file)))))
+ (abbreviate-file-name file))))
;; Takes a directory and returns the parent directory.
;; does nothing to `/'. If the ARG is a regular file,
diff --git a/lisp/vc/ediff-mult.el b/lisp/vc/ediff-mult.el
index 3a869bff3e4..4dc0485e7e5 100644
--- a/lisp/vc/ediff-mult.el
+++ b/lisp/vc/ediff-mult.el
@@ -471,7 +471,7 @@ Moves in circular fashion. With numeric prefix arg, skip this many items."
(ediff-next-meta-item1)
(setq overl (ediff-get-meta-overlay-at-pos (point)))
;; skip invisible ones
- (while (and overl (ediff-overlay-get overl 'invisible))
+ (while (and overl (overlay-get overl 'invisible))
(ediff-next-meta-item1)
(setq overl (ediff-get-meta-overlay-at-pos (point)))))))
@@ -499,7 +499,7 @@ Moves in circular fashion. With numeric prefix arg, skip this many items."
(ediff-previous-meta-item1)
(setq overl (ediff-get-meta-overlay-at-pos (point)))
;; skip invisible ones
- (while (and overl (ediff-overlay-get overl 'invisible))
+ (while (and overl (overlay-get overl 'invisible))
(ediff-previous-meta-item1)
(setq overl (ediff-get-meta-overlay-at-pos (point)))))))
@@ -929,7 +929,7 @@ behavior."
;; in the meta buffer. If nil, use SPC
(defun ediff-replace-session-activity-marker-in-meta-buffer (point new-marker)
(let* ((overl (ediff-get-meta-overlay-at-pos point))
- (session-info (ediff-overlay-get overl 'ediff-meta-info))
+ (session-info (overlay-get overl 'ediff-meta-info))
(activity-marker (ediff-get-session-activity-marker session-info))
buffer-read-only)
(or new-marker activity-marker (setq new-marker ?\s))
@@ -944,7 +944,7 @@ behavior."
;; the meta buffer. If nil, use SPC
(defun ediff-replace-session-status-in-meta-buffer (point new-status)
(let* ((overl (ediff-get-meta-overlay-at-pos point))
- (session-info (ediff-overlay-get overl 'ediff-meta-info))
+ (session-info (overlay-get overl 'ediff-meta-info))
(status (ediff-get-session-status session-info))
buffer-read-only)
(setq new-status (or new-status status ?\s))
@@ -988,9 +988,7 @@ behavior."
(erase-buffer)
;; delete phony overlays that used to represent sessions before the buff
;; was redrawn
- (if (featurep 'xemacs)
- (map-extents 'delete-extent)
- (mapc #'delete-overlay (overlays-in 1 1)))
+ (mapc #'delete-overlay (overlays-in 1 1))
(setq regexp (ediff-get-group-regexp meta-list)
merge-autostore-dir
@@ -1077,7 +1075,7 @@ behavior."
;; Do hiding
(if overl (ediff-overlay-put overl 'invisible t)))
((and (eq (ediff-get-session-status session-info) ?H)
- overl (ediff-overlay-get overl 'invisible))
+ overl (overlay-get overl 'invisible))
;; Do unhiding
(ediff-overlay-put overl 'invisible nil))
(t (ediff-replace-session-activity-marker-in-meta-buffer
@@ -1094,36 +1092,26 @@ behavior."
(defun ediff-update-session-marker-in-dir-meta-buffer (session-num)
(let (buffer-meta-overlays session-info overl buffer-read-only)
- (setq overl
- (if (featurep 'xemacs)
- (map-extents
- (lambda (ext _maparg)
- (if (and
- (ediff-overlay-get ext 'ediff-meta-info)
- (eq (ediff-overlay-get ext 'ediff-meta-session-number)
- session-num))
- ext)))
- ;; Emacs doesn't have map-extents, so try harder
- ;; Splice overlay lists to get all buffer overlays
- (setq buffer-meta-overlays (overlay-lists)
- buffer-meta-overlays (append (car buffer-meta-overlays)
- (cdr buffer-meta-overlays)))
- (car
- (delq nil
- (mapcar
- (lambda (overl)
- (if (and
- (ediff-overlay-get overl 'ediff-meta-info)
- (eq (ediff-overlay-get
- overl 'ediff-meta-session-number)
- session-num))
- overl))
- buffer-meta-overlays)))))
+ ;; Splice overlay lists to get all buffer overlays
+ (setq buffer-meta-overlays (overlay-lists)
+ buffer-meta-overlays (append (car buffer-meta-overlays)
+ (cdr buffer-meta-overlays)))
+ (setq overl (car
+ (delq nil
+ (mapcar
+ (lambda (overl)
+ (if (and
+ (overlay-get overl 'ediff-meta-info)
+ (eq (overlay-get
+ overl 'ediff-meta-session-number)
+ session-num))
+ overl))
+ buffer-meta-overlays))))
(or overl
(error
"Bug in ediff-update-session-marker-in-dir-meta-buffer: no overlay with given number %S"
session-num))
- (setq session-info (ediff-overlay-get overl 'ediff-meta-info))
+ (setq session-info (overlay-get overl 'ediff-meta-info))
(goto-char (ediff-overlay-start overl))
(ediff-replace-session-activity-marker-in-meta-buffer
(point)
@@ -1434,9 +1422,7 @@ Useful commands:
(erase-buffer)
;; delete phony overlays that used to represent sessions before the buff
;; was redrawn
- (if (featurep 'xemacs)
- (map-extents 'delete-extent)
- (mapc #'delete-overlay (overlays-in 1 1)))
+ (mapc #'delete-overlay (overlays-in 1 1))
(insert (substitute-command-keys "\
This is a registry of all active Ediff sessions.
@@ -1538,7 +1524,7 @@ Useful commands:
;; (SESSION-CTL-BUFFER STATUS OBJA OBJB OBJC)
(defun ediff-set-meta-overlay (b e prop &optional session-number hidden)
(let (overl)
- (setq overl (ediff-make-overlay b e))
+ (setq overl (make-overlay b e))
(ediff-overlay-put overl 'mouse-face 'highlight)
(ediff-overlay-put overl 'ediff-meta-info prop)
(ediff-overlay-put overl 'invisible hidden)
@@ -2167,7 +2153,7 @@ all marked sessions must be active."
(ediff-update-markers-in-dir-meta-buffer ediff-meta-list)))
(setq overl (ediff-get-meta-overlay-at-pos (point)))
;; skip the invisible sessions
- (while (and overl (ediff-overlay-get overl 'invisible))
+ (while (and overl (overlay-get overl 'invisible))
(ediff-next-meta-item1)
(setq overl (ediff-get-meta-overlay-at-pos (point))))
))))
@@ -2259,21 +2245,17 @@ If this is a session registry buffer then just bury it."
;; If optional NOERROR arg is given, don't report error and return nil if no
;; meta info is found on line.
(defun ediff-get-meta-info (buf point &optional noerror)
- (let (result olist tmp)
+ (let (result olist)
(if (and point (ediff-buffer-live-p buf))
(ediff-with-current-buffer buf
- (if (featurep 'xemacs)
- (setq result
- (if (setq tmp (extent-at point buf 'ediff-meta-info))
- (ediff-overlay-get tmp 'ediff-meta-info)))
- (setq olist
- (mapcar (lambda (elt)
- (unless (overlay-get elt 'invisible)
- (overlay-get elt 'ediff-meta-info)))
- (overlays-at point)))
- (while (and olist (null (car olist)))
- (setq olist (cdr olist)))
- (setq result (car olist)))))
+ (setq olist
+ (mapcar (lambda (elt)
+ (unless (overlay-get elt 'invisible)
+ (overlay-get elt 'ediff-meta-info)))
+ (overlays-at point)))
+ (while (and olist (null (car olist)))
+ (setq olist (cdr olist)))
+ (setq result (car olist))))
(or result
(unless noerror
(ediff-update-registry)
@@ -2281,21 +2263,19 @@ If this is a session registry buffer then just bury it."
(defun ediff-get-meta-overlay-at-pos (point)
- (if (featurep 'xemacs)
- (extent-at point (current-buffer) 'ediff-meta-info)
- (let* ((overl-list (overlays-at point))
- (overl (car overl-list)))
- (while (and overl (null (overlay-get overl 'ediff-meta-info)))
- (setq overl-list (cdr overl-list)
- overl (car overl-list)))
- overl)))
+ (let* ((overl-list (overlays-at point))
+ (overl (car overl-list)))
+ (while (and overl (null (overlay-get overl 'ediff-meta-info)))
+ (setq overl-list (cdr overl-list)
+ overl (car overl-list)))
+ overl))
(defun ediff-get-session-number-at-pos (point &optional meta-buffer)
(setq meta-buffer (if (ediff-buffer-live-p meta-buffer)
meta-buffer
(current-buffer)))
(ediff-with-current-buffer meta-buffer
- (ediff-overlay-get
+ (overlay-get
(ediff-get-meta-overlay-at-pos point) 'ediff-meta-session-number)))
@@ -2304,46 +2284,29 @@ If this is a session registry buffer then just bury it."
(if (eobp)
(goto-char (point-min))
(let ((overl (ediff-get-meta-overlay-at-pos point)))
- (if (featurep 'xemacs)
- (progn ; xemacs
- (if overl
- (setq overl (next-extent overl))
- (setq overl (next-extent (current-buffer))))
- (if overl
- (extent-start-position overl)
- (point-max)))
- ;; emacs
- (if overl
- ;; note: end of current overlay is the beginning of the next one
- (overlay-end overl)
- (next-overlay-change point))))))
+ (if overl
+ ;; note: end of current overlay is the beginning of the next one
+ (overlay-end overl)
+ (next-overlay-change point)))))
(defun ediff-previous-meta-overlay-start (point)
(if (bobp)
(goto-char (point-max))
(let ((overl (ediff-get-meta-overlay-at-pos point)))
- (if (featurep 'xemacs)
- (progn
- (if overl
- (setq overl (previous-extent overl))
- (setq overl (previous-extent (current-buffer))))
- (if overl
- (extent-start-position overl)
- (point-min)))
- (if overl (setq point (overlay-start overl)))
- ;; to get to the beginning of prev overlay
- (if (not (bobp))
- ;; trick to overcome an emacs bug--doesn't always find previous
- ;; overlay change correctly
- (setq point (1- point)))
- (setq point (previous-overlay-change point))
- ;; If we are not over an overlay after subtracting 1, it means we are
- ;; in the description area preceding session records. In this case,
- ;; goto the top of the registry buffer.
- (or (car (overlays-at point))
- (setq point (point-min)))
- point))))
+ (if overl (setq point (overlay-start overl)))
+ ;; to get to the beginning of prev overlay
+ (if (not (bobp))
+ ;; trick to overcome an emacs bug--doesn't always find previous
+ ;; overlay change correctly
+ (setq point (1- point)))
+ (setq point (previous-overlay-change point))
+ ;; If we are not over an overlay after subtracting 1, it means we are
+ ;; in the description area preceding session records. In this case,
+ ;; goto the top of the registry buffer.
+ (or (car (overlays-at point))
+ (setq point (point-min)))
+ point)))
(autoload 'ediff-patch-file-internal "ediff-ptch")
@@ -2403,10 +2366,10 @@ If this is a session registry buffer then just bury it."
This is used only for sessions that involve 2 or 3 files at the same time.
ACTION is an optional argument that can be ?h, ?m, ?=, to mark for hiding, mark
for operation, or simply indicate which are equal files. If it is nil, then
-`(ediff-last-command-char)' is used to decide which action to take."
+`last-command-event' is used to decide which action to take."
(interactive)
(if (null action)
- (setq action (ediff-last-command-char)))
+ (setq action last-command-event))
(let ((list (cdr ediff-meta-list))
marked1 marked2 marked3
fileinfo1 fileinfo2 fileinfo3 elt)
diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el
index 6b2f023a222..52a765482e0 100644
--- a/lisp/vc/ediff-util.el
+++ b/lisp/vc/ediff-util.el
@@ -48,9 +48,6 @@
(require 'ediff-wind)
(require 'ediff-diff)
(require 'ediff-merg)
-;; for compatibility with current stable version of xemacs
-(if (featurep 'xemacs)
- (require 'ediff-tbar))
;;; Functions
@@ -284,9 +281,6 @@ to invocation.")
(make-local-variable 'window-min-height)
(setq window-min-height 2)
- (if (featurep 'xemacs)
- (make-local-hook 'ediff-after-quit-hook-internal))
-
;; unwrap set up parameters passed as argument
(while setup-parameters
(set (car (car setup-parameters)) (cdr (car setup-parameters)))
@@ -308,9 +302,6 @@ to invocation.")
(if (string-match "buffer" (symbol-name ediff-job-name))
(setq ediff-keep-variants t))
- (if (featurep 'xemacs)
- (make-local-hook 'pre-command-hook))
-
(if (ediff-window-display-p)
(add-hook 'pre-command-hook 'ediff-spy-after-mouse nil 'local))
(setq ediff-mouse-pixel-position (mouse-pixel-position))
@@ -417,7 +408,6 @@ to invocation.")
;; since these vars are local to control-buffer
;; These won't run if there are errors in diff
(ediff-with-current-buffer ediff-buffer-A
- (ediff-nuke-selective-display)
(run-hooks 'ediff-prepare-buffer-hook)
(if (ediff-with-current-buffer control-buffer ediff-merge-job)
(setq buffer-read-only t))
@@ -431,7 +421,6 @@ to invocation.")
)
(ediff-with-current-buffer ediff-buffer-B
- (ediff-nuke-selective-display)
(run-hooks 'ediff-prepare-buffer-hook)
(if (ediff-with-current-buffer control-buffer ediff-merge-job)
(setq buffer-read-only t))
@@ -445,7 +434,6 @@ to invocation.")
(if ediff-3way-job
(ediff-with-current-buffer ediff-buffer-C
- (ediff-nuke-selective-display)
;; the merge buffer should never be narrowed
;; (it can happen if it is on rmail-mode or similar)
(if (ediff-with-current-buffer control-buffer ediff-merge-job)
@@ -463,7 +451,6 @@ to invocation.")
(if (ediff-buffer-live-p ediff-ancestor-buffer)
(ediff-with-current-buffer ediff-ancestor-buffer
- (ediff-nuke-selective-display)
(setq buffer-read-only t)
(run-hooks 'ediff-prepare-buffer-hook)
(or (memq control-buffer ediff-this-buffer-ediff-sessions)
@@ -560,9 +547,6 @@ to invocation.")
ediff-wide-display-p))
(set-window-dedicated-p (selected-window) t)
- ;; In multiframe, toolbar is set in ediff-setup-control-frame
- (if (not (ediff-multiframe-setup-p))
- (ediff-make-bottom-toolbar)) ; this checks if toolbar is requested
(goto-char (point-min))
(skip-chars-forward ediff-whitespace)))
@@ -773,9 +757,7 @@ Reestablish the default window display."
(if (fboundp 'select-frame-set-input-focus)
(select-frame-set-input-focus ediff-control-frame)
(raise-frame ediff-control-frame)
- (select-frame ediff-control-frame)
- (and (featurep 'xemacs) (fboundp 'focus-frame)
- (focus-frame ediff-control-frame))))
+ (select-frame ediff-control-frame)))
;; Redisplay whatever buffers are showing, if there is a selected difference
(let ((control-frame ediff-control-frame)
@@ -831,7 +813,7 @@ Reestablish the default window display."
(if window
(progn
(select-window window)
- (ediff-deactivate-mark)
+ (deactivate-mark)
(ediff-position-region
(ediff-get-diff-posn buf-type 'beg nil control-buf)
(ediff-get-diff-posn buf-type 'end nil control-buf)
@@ -1026,7 +1008,7 @@ of the current buffer."
(interactive)
(ediff-barf-if-not-control-buffer)
(let ((ctl-buf (if (null buf) (current-buffer)))
- (buf-type (ediff-char-to-buftype (ediff-last-command-char))))
+ (buf-type (ediff-char-to-buftype last-command-event)))
(or buf (ediff-recenter))
(or buf
(setq buf (ediff-get-buffer buf-type)))
@@ -1134,10 +1116,7 @@ of the current buffer."
(and (vc-backend file)
(if (fboundp 'vc-state)
(or (memq (vc-state file) '(edited needs-merge))
- (stringp (vc-state file)))
- ;; XEmacs has no vc-state
- (when (featurep 'xemacs) (vc-locking-user file)))
- )))
+ (stringp (vc-state file)))))))
(defun ediff-file-checked-in-p (file)
(and (featurep 'vc-hooks)
@@ -1146,10 +1125,7 @@ of the current buffer."
(if (fboundp 'vc-state)
(and
(not (memq (vc-state file) '(edited needs-merge)))
- (not (stringp (vc-state file))))
- ;; XEmacs has no vc-state
- (when (featurep 'xemacs) (not (vc-locking-user file))))
- ))
+ (not (stringp (vc-state file)))))))
(defun ediff-file-compressed-p (file)
(require 'jka-compr)
@@ -1274,7 +1250,6 @@ This is especially useful when comparing buffers side-by-side."
(ediff-with-current-buffer ctl-buf
(modify-frame-parameters
ediff-wide-display-frame ediff-wide-display-orig-parameters)
- ;;(sit-for (if (featurep 'xemacs) 0.4 0))
;; restore control buf, since ctl window may have been deleted
;; during resizing
(set-buffer ctl-buf)
@@ -1282,7 +1257,6 @@ This is especially useful when comparing buffers side-by-side."
ediff-window-B nil) ; force update of window config
(ediff-recenter 'no-rehighlight))
(funcall ediff-make-wide-display-function)
- ;;(sit-for (if (featurep 'xemacs) 0.4 0))
(ediff-with-current-buffer ctl-buf
(setq ediff-window-B nil) ; force update of window config
(ediff-recenter 'no-rehighlight)))))
@@ -1302,8 +1276,6 @@ which see."
(setq window-setup-func #'ediff-setup-windows-plain)
(message "ediff is now in 'plain' mode"))
((eq ediff-window-setup-function #'ediff-setup-windows-plain)
- (if (ediff-in-control-buffer-p)
- (ediff-kill-bottom-toolbar))
(if (and (ediff-buffer-live-p ediff-control-buffer)
(window-live-p ediff-control-window))
(set-window-dedicated-p ediff-control-window nil))
@@ -1342,8 +1314,6 @@ To change the default, set the variable `ediff-use-toolbar-p', which see."
(progn
(or (ediff-window-display-p)
(user-error "Emacs is not running as a window application"))
- (if (ediff-use-toolbar-p)
- (ediff-kill-bottom-toolbar))
;; do this only after killing the toolbar
(setq ediff-use-toolbar-p (not ediff-use-toolbar-p))
@@ -1357,36 +1327,8 @@ To change the default, set the variable `ediff-use-toolbar-p', which see."
(ediff-recenter 'no-rehighlight)))))
-;; if was using toolbar, kill it
-(defun ediff-kill-bottom-toolbar ()
- ;; Using ctl-buffer or ediff-control-window for LOCALE does not
- ;; work properly in XEmacs 19.14: we have to use
- ;;(selected-frame).
- ;; The problem with this is that any previous bottom-toolbar
- ;; will not re-appear after our cleanup here. Is there a way
- ;; to do "push" and "pop" toolbars ? --marcpa
- (if (featurep 'xemacs)
- (when (ediff-use-toolbar-p)
- (set-specifier bottom-toolbar (list (selected-frame) nil))
- (set-specifier bottom-toolbar-visible-p (list (selected-frame) nil)))))
-
-;; If wants to use toolbar, make it.
-;; If not, zero the toolbar for XEmacs.
-;; Do nothing for Emacs.
-(defun ediff-make-bottom-toolbar (&optional frame)
- (when (ediff-window-display-p)
- (setq frame (or frame (selected-frame)))
- (if (featurep 'xemacs)
- (cond ((ediff-use-toolbar-p) ; this checks for XEmacs
- (set-specifier
- bottom-toolbar
- (list frame (if (ediff-3way-comparison-job)
- ediff-toolbar-3way ediff-toolbar)))
- (set-specifier bottom-toolbar-visible-p (list frame t))
- (set-specifier bottom-toolbar-height
- (list frame ediff-toolbar-height)))
- ((ediff-has-toolbar-support-p)
- (set-specifier bottom-toolbar-height (list frame 0)))))))
+(define-obsolete-function-alias 'ediff-kill-bottom-toolbar #'ignore "27.1")
+(define-obsolete-function-alias 'ediff-make-bottom-toolbar #'ignore "27.1")
;; Merging
@@ -1449,15 +1391,15 @@ Used in ediff-windows/regions only."
'C ediff-visible-bounds))
)
(ediff-with-current-buffer ediff-buffer-A
- (if (ediff-overlay-buffer overl-A)
+ (if (overlay-buffer overl-A)
(narrow-to-region
(ediff-overlay-start overl-A) (ediff-overlay-end overl-A))))
(ediff-with-current-buffer ediff-buffer-B
- (if (ediff-overlay-buffer overl-B)
+ (if (overlay-buffer overl-B)
(narrow-to-region
(ediff-overlay-start overl-B) (ediff-overlay-end overl-B))))
- (if (and ediff-3way-job (ediff-overlay-buffer overl-C))
+ (if (and ediff-3way-job (overlay-buffer overl-C))
(ediff-with-current-buffer ediff-buffer-C
(narrow-to-region
(ediff-overlay-start overl-C) (ediff-overlay-end overl-C))))
@@ -1540,7 +1482,7 @@ the one half of the height of window-A."
(error ediff-KILLED-VITAL-BUFFER))
(ediff-operate-on-windows
- (if (memq (ediff-last-command-char) '(?v ?\C-v))
+ (if (memq last-command-event '(?v ?\C-v))
#'scroll-up
#'scroll-down)
;; calculate argument to scroll-up/down
@@ -1595,7 +1537,7 @@ the width of the A/B/C windows."
;; interactively so that they set the window's min_hscroll.
;; Otherwise, automatic hscrolling will undo the effect of
;; hscrolling.
- (if (= (ediff-last-command-char) ?<)
+ (if (= last-command-event ?<)
(lambda (arg)
(let ((prefix-arg arg))
(call-interactively #'scroll-left)))
@@ -1867,7 +1809,7 @@ With a prefix argument, synchronize all files around the current point position
in the specified buffer."
(interactive "P")
(ediff-barf-if-not-control-buffer)
- (let* ((buf-type (ediff-char-to-buftype (ediff-last-command-char)))
+ (let* ((buf-type (ediff-char-to-buftype last-command-event))
(buffer (ediff-get-buffer buf-type))
(pt (ediff-with-current-buffer buffer (point)))
(diff-no (ediff-diff-at-point buf-type nil (if arg 'after)))
@@ -1975,10 +1917,8 @@ determine the source and the target buffers instead of the command keys."
(if (eq arg '-) (setq arg -1)) ; translate neg arg to -1
(if (numberp arg) (ediff-jump-to-difference arg))
- (let* ((key1 (aref keys 0))
- (key2 (aref keys 1))
- (char1 (ediff-event-key key1))
- (char2 (ediff-event-key key2))
+ (let* ((char1 (aref keys 0))
+ (char2 (aref keys 1))
ediff-verbose-p)
(ediff-copy-diff ediff-current-difference
(ediff-char-to-buftype char1)
@@ -2209,7 +2149,7 @@ determine the target buffer instead of `ediff-last-command-char'."
(if (numberp arg)
(ediff-jump-to-difference arg))
(ediff-pop-diff ediff-current-difference
- (ediff-char-to-buftype (or key (ediff-last-command-char))))
+ (ediff-char-to-buftype (or key last-command-event)))
;; recenter with rehighlighting, but no messages
(let (ediff-verbose-p)
(ediff-recenter)))
@@ -2233,13 +2173,13 @@ a regular expression typed in by the user."
(cond
((or (and (eq ediff-skip-diff-region-function
ediff-focus-on-regexp-matches-function)
- (eq (ediff-last-command-char) ?f))
+ (eq last-command-event ?f))
(and (eq ediff-skip-diff-region-function
ediff-hide-regexp-matches-function)
- (eq (ediff-last-command-char) ?h)))
+ (eq last-command-event ?h)))
(message "Selective browsing by regexp turned off")
(setq ediff-skip-diff-region-function #'ediff-show-all-diffs))
- ((eq (ediff-last-command-char) ?h)
+ ((eq last-command-event ?h)
(setq ediff-skip-diff-region-function ediff-hide-regexp-matches-function
regexp-A
(read-string
@@ -2277,7 +2217,7 @@ a regular expression typed in by the user."
(or (string= regexp-B "") (setq ediff-regexp-hide-B regexp-B))
(or (string= regexp-C "") (setq ediff-regexp-hide-C regexp-C)))
- ((eq (ediff-last-command-char) ?f)
+ ((eq last-command-event ?f)
(setq ediff-skip-diff-region-function
ediff-focus-on-regexp-matches-function
regexp-A
@@ -2467,12 +2407,12 @@ temporarily reverses the meaning of this variable."
;; Apply selective display to narrow or widen
(ediff-visible-region)
(mapc (lambda (overl)
- (if (ediff-overlayp overl)
- (ediff-delete-overlay overl)))
+ (if (overlayp overl)
+ (delete-overlay overl)))
ediff-wide-bounds)
(mapc (lambda (overl)
- (if (ediff-overlayp overl)
- (ediff-delete-overlay overl)))
+ (if (overlayp overl)
+ (delete-overlay overl)))
ediff-narrow-bounds)
;; restore buffer mode line id's in buffer-A/B/C
@@ -2619,10 +2559,6 @@ temporarily reverses the meaning of this variable."
((window-live-p ctl-wind)
(delete-window ctl-wind)))
- ;; Hide bottom toolbar. --marcpa
- (if (not (ediff-multiframe-setup-p))
- (ediff-kill-bottom-toolbar))
-
(ediff-kill-buffer-carefully ctl-buf)
(if (frame-live-p main-frame)
@@ -3060,9 +2996,7 @@ Hit \\[ediff-recenter] to reset the windows afterward."
(ediff-get-symbol-from-alist
buf-type ediff-current-diff-overlay-alist))))
- (if (featurep 'xemacs)
- (ediff-move-overlay current-diff-overlay begin end-hilit)
- (ediff-move-overlay current-diff-overlay begin end-hilit buff))
+ (ediff-move-overlay current-diff-overlay begin end-hilit buff)
(ediff-overlay-put current-diff-overlay 'ediff-diff-num n)
;; unhighlight the background overlay for diff n so it won't
@@ -3101,8 +3035,8 @@ Hit \\[ediff-recenter] to reset the windows afterward."
buf-type ediff-current-diff-overlay-alist))
(current-diff-overlay (symbol-value current-diff-overlay-var)))
(ediff-paint-background-regions 'unhighlight)
- (if (ediff-overlayp current-diff-overlay)
- (ediff-delete-overlay current-diff-overlay))
+ (if (overlayp current-diff-overlay)
+ (delete-overlay current-diff-overlay))
(set current-diff-overlay-var nil)
)))
@@ -3351,10 +3285,10 @@ Without an argument, it saves customized diff argument, if available
(ediff-barf-if-not-control-buffer)
(ediff-compute-custom-diffs-maybe)
(ediff-with-current-buffer
- (cond ((memq (ediff-last-command-char) '(?a ?b ?c))
+ (cond ((memq last-command-event '(?a ?b ?c))
(ediff-get-buffer
- (ediff-char-to-buftype (ediff-last-command-char))))
- ((eq (ediff-last-command-char) ?d)
+ (ediff-char-to-buftype last-command-event)))
+ ((eq last-command-event ?d)
(message "Saving diff output ...")
(sit-for 1) ; let the user see the message
(cond ((and arg (ediff-buffer-live-p ediff-diff-buffer))
@@ -3440,15 +3374,14 @@ Without an argument, it saves customized diff argument, if available
(defun ediff-make-cloned-buffer (buff region-name)
- (ediff-make-indirect-buffer
+ (make-indirect-buffer
buff (generate-new-buffer-name
- (concat (if (stringp buff) buff (buffer-name buff)) region-name))))
-
+ (concat (if (stringp buff) buff (buffer-name buff)) region-name))
+ 'clone))
(defun ediff-make-indirect-buffer (base-buf indirect-buf-name)
- (if (featurep 'xemacs)
- (make-indirect-buffer base-buf indirect-buf-name)
- (make-indirect-buffer base-buf indirect-buf-name 'clone)))
+ (declare (obsolete make-indirect-buffer "27.1"))
+ (make-indirect-buffer base-buf indirect-buf-name 'clone))
;; This function operates only from an ediff control buffer
@@ -3647,14 +3580,8 @@ Ediff Control Panel to restore highlighting."
(defun ediff-remove-flags-from-buffer (buffer overlay)
(ediff-with-current-buffer buffer
(let ((inhibit-read-only t))
- (if (featurep 'xemacs)
- (ediff-overlay-put overlay 'begin-glyph nil)
- (ediff-overlay-put overlay 'before-string nil))
-
- (if (featurep 'xemacs)
- (ediff-overlay-put overlay 'end-glyph nil)
- (ediff-overlay-put overlay 'after-string nil))
- )))
+ (ediff-overlay-put overlay 'before-string nil)
+ (ediff-overlay-put overlay 'after-string nil))))
@@ -3679,9 +3606,7 @@ Ediff Control Panel to restore highlighting."
ediff-before-flag-bol ediff-before-flag-mol))))
;; insert the flag itself
- (if (featurep 'xemacs)
- (ediff-overlay-put curr-overl 'begin-glyph flag)
- (ediff-overlay-put curr-overl 'before-string flag))
+ (ediff-overlay-put curr-overl 'before-string flag)
;; insert the flag after the difference
;; `after' must be set here, after the before-flag was inserted
@@ -3695,10 +3620,7 @@ Ediff Control Panel to restore highlighting."
ediff-after-flag-eol ediff-after-flag-mol))))
;; insert the flag itself
- (if (featurep 'xemacs)
- (ediff-overlay-put curr-overl 'end-glyph flag)
- (ediff-overlay-put curr-overl 'after-string flag))
- ))
+ (ediff-overlay-put curr-overl 'after-string flag)))
;;; Some diff region tests
@@ -3758,7 +3680,7 @@ Ediff Control Panel to restore highlighting."
this-command (1+ n) ediff-number-of-differences)
(error ediff-NO-DIFFERENCES)))
(setq diff-overlay (ediff-get-diff-overlay n buf-type)))
- (if (not (ediff-buffer-live-p (ediff-overlay-buffer diff-overlay)))
+ (if (not (ediff-buffer-live-p (overlay-buffer diff-overlay)))
(error ediff-KILLED-VITAL-BUFFER))
(if (eq pos 'beg)
(ediff-overlay-start diff-overlay)
@@ -3784,8 +3706,7 @@ Ediff Control Panel to restore highlighting."
(defun ediff-clear-diff-vector (vec-var &optional fine-diffs-also)
(if (vectorp (symbol-value vec-var))
(mapc (lambda (elt)
- (ediff-delete-overlay
- (ediff-get-diff-overlay-from-diff-record elt))
+ (delete-overlay (ediff-get-diff-overlay-from-diff-record elt))
(if fine-diffs-also
(ediff-clear-fine-diff-vector elt))
)
@@ -3813,19 +3734,11 @@ Ediff Control Panel to restore highlighting."
(setq beg (eval beg)))
(or (number-or-marker-p end)
(setq end (eval end)))
- (setq overl
- (if (featurep 'xemacs)
- (make-extent beg end buff)
- ;; advance front and rear of the overlay
- (make-overlay beg end buff nil 'rear-advance)))
+ ;; advance front and rear of the overlay
+ (setq overl (make-overlay beg end buff nil 'rear-advance))
;; never detach
(ediff-overlay-put overl 'evaporate nil)
- ;; make overlay open-ended
- ;; In emacs, it is made open ended at creation time
- (when (featurep 'xemacs)
- (ediff-overlay-put overl 'start-open nil)
- (ediff-overlay-put overl 'end-open nil))
(ediff-overlay-put overl 'ediff-diff-num 0)
overl))))
@@ -3983,7 +3896,7 @@ Ediff Control Panel to restore highlighting."
(defvar ediff-buffer-name)
(let ((reporter-prompt-for-summary-p t)
(ctl-buf ediff-control-buffer)
- (ediff-device-type (ediff-device-type))
+ (ediff-device-type window-system)
varlist salutation ediff-buffer-name)
(setq varlist '(ediff-diff-program ediff-diff-options
ediff-diff3-program ediff-diff3-options
@@ -4091,22 +4004,13 @@ Mail anyway? (y or n) ")
)
-(defun ediff-deactivate-mark ()
- (if (featurep 'xemacs)
- (zmacs-deactivate-region)
- (deactivate-mark)))
+(define-obsolete-function-alias 'ediff-deactivate-mark #'deactivate-mark "27.1")
(defun ediff-activate-mark ()
- (if (featurep 'xemacs)
- (zmacs-activate-region)
- (make-local-variable 'transient-mark-mode)
- (setq mark-active 'ediff-util transient-mark-mode t)))
-
-(defun ediff-nuke-selective-display ()
- (if (featurep 'xemacs)
- (nuke-selective-display)
- ))
+ (make-local-variable 'transient-mark-mode)
+ (setq mark-active 'ediff-util transient-mark-mode t))
+(define-obsolete-function-alias 'ediff-nuke-selective-display #'ignore "27.1")
;; The next two are modified versions from emerge.el.
;; VARS must be a list of symbols
@@ -4189,9 +4093,6 @@ Mail anyway? (y or n) ")
(interactive)
(ediff-barf-if-not-control-buffer)
- (if (featurep 'xemacs)
- (make-local-hook 'post-command-hook))
-
(let ((pre-hook 'pre-command-hook)
(post-hook 'post-command-hook))
(if (not (equal ediff-command-begin-time '(0 0 0)))
@@ -4214,7 +4115,7 @@ Mail anyway? (y or n) ")
\t\tState-of-diff:\t %S
\t\tState-of-merge:\t %S
"
- (1+ (ediff-overlay-get (aref overl-vec 0) 'ediff-diff-num))
+ (1+ (overlay-get (aref overl-vec 0) 'ediff-diff-num))
(aref overl-vec 0)
;; fine-diff-vector
(if (= (length (aref overl-vec 1)) 0)
diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el
index 7ca3941a375..028995a4e58 100644
--- a/lisp/vc/ediff-wind.el
+++ b/lisp/vc/ediff-wind.el
@@ -151,10 +151,6 @@ In this case, Ediff will use those frames to display these buffers."
(const :tag "Split horizontally" split-window-horizontally)
function))
-;; Definitions hidden from the compiler by compat wrappers.
-(declare-function ediff-display-pixel-width "ediff-init")
-(declare-function ediff-display-pixel-height "ediff-init")
-
(defconst ediff-control-frame-parameters
(list
'(name . "Ediff")
@@ -179,11 +175,11 @@ In this case, Ediff will use those frames to display these buffers."
;; this blocks queries from window manager as to where to put
;; ediff's control frame. we put the frame outside the display,
;; so the initial frame won't jump all over the screen
- (cons 'top (if (fboundp 'ediff-display-pixel-height)
- (1+ (ediff-display-pixel-height))
+ (cons 'top (if (fboundp 'display-pixel-height)
+ (1+ (display-pixel-height))
3000))
- (cons 'left (if (fboundp 'ediff-display-pixel-width)
- (1+ (ediff-display-pixel-width))
+ (cons 'left (if (fboundp 'display-pixel-width)
+ (1+ (display-pixel-width))
3000))
)
"Frame parameters for displaying Ediff Control Panel.
@@ -219,7 +215,7 @@ This is used by the default control frame positioning function,
customization of the default control frame positioning."
:type 'integer)
-(defcustom ediff-narrow-control-frame-leftward-shift (if (featurep 'xemacs) 7 3)
+(defcustom ediff-narrow-control-frame-leftward-shift 3
"The leftward shift of control frame from the right edge of buf A's frame.
Measured in characters.
This is used by the default control frame positioning function,
@@ -276,36 +272,32 @@ into icons, regardless of the window manager."
(let (event)
(message
"Select windows by clicking. Please click on Window %d " wind-number)
- (while (not (ediff-mouse-event-p (setq event (ediff-read-event))))
+ (while (not (ediff-mouse-event-p (setq event (read-event))))
(if (sit-for 1) ; if sequence of events, wait till the final word
(beep 1))
(message "Please click on Window %d " wind-number))
- (ediff-read-event) ; discard event
- (if (featurep 'xemacs)
- (event-window event)
- (posn-window (event-start event)))))
+ (read-event) ; discard event
+ (posn-window (event-start event))))
;; Select the lowest window on the frame.
(defun ediff-select-lowest-window ()
- (if (featurep 'xemacs)
- (select-window (frame-lowest-window))
- (let* ((lowest-window (selected-window))
- (bottom-edge (car (cdr (cdr (cdr (window-edges))))))
- (last-window (save-excursion
- (other-window -1) (selected-window)))
- (window-search t))
- (while window-search
- (let* ((this-window (next-window))
- (next-bottom-edge
- (car (cdr (cdr (cdr (window-edges this-window)))))))
- (if (< bottom-edge next-bottom-edge)
- (setq bottom-edge next-bottom-edge
- lowest-window this-window))
- (select-window this-window)
- (when (eq last-window this-window)
- (select-window lowest-window)
- (setq window-search nil)))))))
+ (let* ((lowest-window (selected-window))
+ (bottom-edge (car (cdr (cdr (cdr (window-edges))))))
+ (last-window (save-excursion
+ (other-window -1) (selected-window)))
+ (window-search t))
+ (while window-search
+ (let* ((this-window (next-window))
+ (next-bottom-edge
+ (car (cdr (cdr (cdr (window-edges this-window)))))))
+ (if (< bottom-edge next-bottom-edge)
+ (setq bottom-edge next-bottom-edge
+ lowest-window this-window))
+ (select-window this-window)
+ (when (eq last-window this-window)
+ (select-window lowest-window)
+ (setq window-search nil))))))
;;; Common window setup routines
@@ -379,11 +371,6 @@ into icons, regardless of the window manager."
(switch-to-buffer buf-A)
(setq wind-A (selected-window))
- ;; XEmacs used to have a lot of trouble with display
- ;; It did't set things right unless we tell it to sit still
- ;; 19.12 seems ok.
- ;;(if (featurep 'xemacs) (sit-for 0))
-
(split-window-vertically (max 2 (- (window-height) merge-window-lines)))
(if (eq (selected-window) wind-A)
(other-window 1))
@@ -456,11 +443,6 @@ into icons, regardless of the window manager."
(window-width wind-A))
3)))
- ;; XEmacs used to have a lot of trouble with display
- ;; It did't set things right unless we told it to sit still
- ;; 19.12 seems ok.
- ;;(if (featurep 'xemacs) (sit-for 0))
-
(funcall split-window-function wind-width-or-height)
(if (eq (selected-window) wind-A)
@@ -935,8 +917,6 @@ create a new splittable frame if none is found."
(not (ediff-frame-has-dedicated-windows (window-frame wind)))
)))
-(declare-function ediff-make-bottom-toolbar "ediff-util" (&optional frame))
-
;; Prepare or refresh control frame
(defun ediff-setup-control-frame (ctl-buffer designated-minibuffer-frame)
(let ((window-min-height 1)
@@ -946,8 +926,6 @@ create a new splittable frame if none is found."
fheight fwidth adjusted-parameters)
(with-current-buffer ctl-buffer
- (if (and (featurep 'xemacs) (featurep 'menubar))
- (set-buffer-menubar nil))
;;(setq user-grabbed-mouse (ediff-user-grabbed-mouse))
(run-hooks 'ediff-before-setup-control-frame-hook))
@@ -1007,18 +985,6 @@ create a new splittable frame if none is found."
'(auto-raise . t))
adjusted-parameters))
- ;; In XEmacs, buffer menubar needs to be killed before frame parameters
- ;; are changed.
- (if (ediff-has-toolbar-support-p)
- (when (featurep 'xemacs)
- (if (ediff-has-gutter-support-p)
- (set-specifier top-gutter (list ctl-frame nil)))
- (sit-for 0)
- (set-specifier top-toolbar-height (list ctl-frame 0))
- ;;(set-specifier bottom-toolbar-height (list ctl-frame 0))
- (set-specifier left-toolbar-width (list ctl-frame 0))
- (set-specifier right-toolbar-width (list ctl-frame 0))))
-
;; As a precaution, we call modify frame parameters twice, in
;; order to make sure that at least once we do it for
;; a non-iconified frame. (It appears that in the Windows port of
@@ -1026,9 +992,6 @@ create a new splittable frame if none is found."
(if (eq system-type 'windows-nt)
(modify-frame-parameters ctl-frame adjusted-parameters))
- ;; make or zap toolbar (if not requested)
- (ediff-make-bottom-toolbar ctl-frame)
-
(goto-char (point-min))
(modify-frame-parameters ctl-frame adjusted-parameters)
@@ -1070,12 +1033,6 @@ create a new splittable frame if none is found."
(or (eq this-command 'ediff-quit)
(not (eq ediff-grab-mouse t)))))
- (when (featurep 'xemacs)
- (with-current-buffer ctl-buffer
- (make-local-hook 'select-frame-hook)
- (add-hook 'select-frame-hook
- #'ediff-xemacs-select-frame-hook nil 'local)))
-
(with-current-buffer ctl-buffer
(run-hooks 'ediff-after-setup-control-frame-hook))))
@@ -1084,8 +1041,6 @@ create a new splittable frame if none is found."
(ediff-with-current-buffer ctl-buffer
(if (and (ediff-window-display-p) (frame-live-p ediff-control-frame))
(let ((ctl-frame ediff-control-frame))
- (if (and (featurep 'xemacs) (featurep 'menubar))
- (set-buffer-menubar default-menubar))
(setq ediff-control-frame nil)
(delete-frame ctl-frame))))
(if ediff-multiframe
@@ -1117,23 +1072,23 @@ create a new splittable frame if none is found."
ctl-frame-left
(+ frame-A-left
(if ediff-use-long-help-message
- (* (ediff-frame-char-width ctl-frame)
+ (* (frame-char-width ctl-frame)
(+ ediff-wide-control-frame-rightward-shift
horizontal-adjustment))
- (- (* frame-A-width (ediff-frame-char-width frame-A))
- (* (ediff-frame-char-width ctl-frame)
+ (- (* frame-A-width (frame-char-width frame-A))
+ (* (frame-char-width ctl-frame)
(+ ctl-frame-width
ediff-narrow-control-frame-leftward-shift
horizontal-adjustment))))))
(setq ctl-frame-top
(min ctl-frame-top
- (- (ediff-display-pixel-height)
+ (- (display-pixel-height)
(* 2 ctl-frame-height
- (ediff-frame-char-height ctl-frame))))
+ (frame-char-height ctl-frame))))
ctl-frame-left
(min ctl-frame-left
- (- (ediff-display-pixel-width)
- (* ctl-frame-width (ediff-frame-char-width ctl-frame)))))
+ (- (display-pixel-width)
+ (* ctl-frame-width (frame-char-width ctl-frame)))))
;; keep ctl frame within the visible bounds
(setq ctl-frame-top (max ctl-frame-top 1)
ctl-frame-left (max ctl-frame-left 1))
@@ -1153,12 +1108,12 @@ Saves the old frame parameters in `ediff-wide-display-orig-parameters'.
The frame to be resized is kept in `ediff-wide-display-frame'.
This function modifies only the left margin and the width of the display.
It assumes that it is called from within the control buffer."
- (if (not (fboundp 'ediff-display-pixel-width))
+ (if (not (fboundp 'display-pixel-width))
(user-error "Can't determine display width"))
(let* ((frame-A (window-frame ediff-window-A))
(frame-A-params (frame-parameters frame-A))
- (cw (ediff-frame-char-width frame-A))
- (wd (- (/ (ediff-display-pixel-width) cw) 5)))
+ (cw (frame-char-width frame-A))
+ (wd (- (/ (display-pixel-width) cw) 5)))
(setq ediff-wide-display-orig-parameters
(list (cons 'left (max 0 (eval (cdr (assoc 'left frame-A-params)))))
(cons 'width (cdr (assoc 'width frame-A-params))))
@@ -1300,9 +1255,7 @@ It assumes that it is called from within the control buffer."
;; If buff is not live, return nil
(defun ediff-get-visible-buffer-window (buff)
(if (ediff-buffer-live-p buff)
- (if (featurep 'xemacs)
- (get-buffer-window buff t)
- (get-buffer-window buff 'visible))))
+ (get-buffer-window buff 'visible)))
;;; Functions to decide when to redraw windows
diff --git a/lisp/vc/ediff.el b/lisp/vc/ediff.el
index 20e27003dac..fae694d5221 100644
--- a/lisp/vc/ediff.el
+++ b/lisp/vc/ediff.el
@@ -1541,9 +1541,7 @@ arguments after setting up the Ediff buffers."
"Return string describing the version of Ediff.
When called interactively, displays the version."
(interactive)
- (if (if (featurep 'xemacs)
- (interactive-p)
- (called-interactively-p 'interactive))
+ (if (called-interactively-p 'interactive)
(message "%s" (ediff-version))
(format "Ediff %s" ediff-version)))
@@ -1562,7 +1560,7 @@ With optional NODE, goes to that node."
(condition-case nil
(progn
(pop-to-buffer (get-buffer-create "*info*"))
- (info (if (featurep 'xemacs) "ediff.info" "ediff"))
+ (info "ediff")
(if node
(Info-goto-node node)
(message "Type `i' to search for a specific topic"))