diff options
| author | Lars Ingebrigtsen | 2019-10-05 16:48:44 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2019-10-05 16:48:51 +0200 |
| commit | 3c1635ebf2038d43c3400908e7e070d54192801a (patch) | |
| tree | 75c844c476392525c142824ba511aa0d700542ef | |
| parent | 9cf8454463ab0249c3b680f892507743b3be972e (diff) | |
| download | emacs-3c1635ebf2038d43c3400908e7e070d54192801a.tar.gz emacs-3c1635ebf2038d43c3400908e7e070d54192801a.zip | |
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):
| -rw-r--r-- | lisp/vc/ediff-diff.el | 3 | ||||
| -rw-r--r-- | lisp/vc/ediff-help.el | 2 | ||||
| -rw-r--r-- | lisp/vc/ediff-hook.el | 351 | ||||
| -rw-r--r-- | lisp/vc/ediff-init.el | 212 | ||||
| -rw-r--r-- | lisp/vc/ediff-mult.el | 157 | ||||
| -rw-r--r-- | lisp/vc/ediff-util.el | 197 | ||||
| -rw-r--r-- | lisp/vc/ediff-wind.el | 117 | ||||
| -rw-r--r-- | lisp/vc/ediff.el | 6 |
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.") | |||
| 1231 | These characters are ignored when differing regions are split into words.") | 1231 | These characters are ignored when differing regions are split into words.") |
| 1232 | (make-variable-buffer-local 'ediff-whitespace) | 1232 | (make-variable-buffer-local 'ediff-whitespace) |
| 1233 | 1233 | ||
| 1234 | (defvar ediff-word-1 | 1234 | (defvar ediff-word-1 "-[:word:]_" |
| 1235 | (if (featurep 'xemacs) "a-zA-Z---_" "-[:word:]_") | ||
| 1236 | "Characters that constitute words of type 1. | 1235 | "Characters that constitute words of type 1. |
| 1237 | More precisely, [ediff-word-1] is a regexp that matches type 1 words. | 1236 | More precisely, [ediff-word-1] is a regexp that matches type 1 words. |
| 1238 | See `ediff-forward-word' for more details.") | 1237 | 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 | |||
| 166 | (setq beg (match-beginning 1) | 166 | (setq beg (match-beginning 1) |
| 167 | end (match-end 0) | 167 | end (match-end 0) |
| 168 | cmd (buffer-substring (match-beginning 1) (match-end 1))) | 168 | cmd (buffer-substring (match-beginning 1) (match-end 1))) |
| 169 | (setq overl (ediff-make-overlay beg end)) | 169 | (setq overl (make-overlay beg end)) |
| 170 | (ediff-overlay-put overl 'mouse-face 'highlight) | 170 | (ediff-overlay-put overl 'mouse-face 'highlight) |
| 171 | (ediff-overlay-put overl 'ediff-help-info cmd)))) | 171 | (ediff-overlay-put overl 'ediff-help-info cmd)))) |
| 172 | 172 | ||
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 @@ | |||
| 44 | 44 | ||
| 45 | ;; allow menus to be set up without ediff-wind.el being loaded | 45 | ;; allow menus to be set up without ediff-wind.el being loaded |
| 46 | 46 | ||
| 47 | ;; This autoload is useless in Emacs because ediff-hook.el is dumped with | 47 | ;; Emacs |
| 48 | ;; emacs, but it is needed in XEmacs | 48 | ;; initialize menu bar keymaps |
| 49 | ;;;###autoload | 49 | (defvar menu-bar-ediff-misc-menu |
| 50 | (if (featurep 'xemacs) | 50 | (make-sparse-keymap "Ediff Miscellanea")) |
| 51 | (progn | 51 | (fset 'menu-bar-ediff-misc-menu |
| 52 | (defun ediff-xemacs-init-menus () | 52 | menu-bar-ediff-misc-menu) |
| 53 | (when (featurep 'menubar) | 53 | (defvar menu-bar-epatch-menu (make-sparse-keymap "Apply Patch")) |
| 54 | (add-submenu | 54 | (fset 'menu-bar-epatch-menu menu-bar-epatch-menu) |
| 55 | '("Tools") ediff-menu "OO-Browser...") | 55 | (defvar menu-bar-ediff-merge-menu (make-sparse-keymap "Merge")) |
| 56 | (add-submenu | 56 | (fset 'menu-bar-ediff-merge-menu |
| 57 | '("Tools") ediff-merge-menu "OO-Browser...") | 57 | menu-bar-ediff-merge-menu) |
| 58 | (add-submenu | 58 | (defvar menu-bar-ediff-menu (make-sparse-keymap "Compare")) |
| 59 | '("Tools") epatch-menu "OO-Browser...") | 59 | (fset 'menu-bar-ediff-menu menu-bar-ediff-menu) |
| 60 | (add-submenu | 60 | |
| 61 | '("Tools") ediff-misc-menu "OO-Browser...") | 61 | ;; define ediff compare menu |
| 62 | (add-menu-button | 62 | (define-key menu-bar-ediff-menu [ediff-misc] |
| 63 | '("Tools") "-------" "OO-Browser...") | 63 | `(menu-item ,(purecopy "Ediff Miscellanea") menu-bar-ediff-misc-menu)) |
| 64 | )) | 64 | (define-key menu-bar-ediff-menu [separator-ediff-misc] menu-bar-separator) |
| 65 | (defvar ediff-menu | 65 | (define-key menu-bar-ediff-menu [window] |
| 66 | '("Compare" | 66 | `(menu-item ,(purecopy "This Window and Next Window") compare-windows |
| 67 | ["Two Files..." ediff-files t] | 67 | :help ,(purecopy "Compare the current window and the next window"))) |
| 68 | ["Two Buffers..." ediff-buffers t] | 68 | (define-key menu-bar-ediff-menu [ediff-windows-linewise] |
| 69 | ["Three Files..." ediff-files3 t] | 69 | `(menu-item ,(purecopy "Windows Line-by-line...") ediff-windows-linewise |
| 70 | ["Three Buffers..." ediff-buffers3 t] | 70 | :help ,(purecopy "Compare windows line-wise"))) |
| 71 | "---" | 71 | (define-key menu-bar-ediff-menu [ediff-windows-wordwise] |
| 72 | ["Two Directories..." ediff-directories t] | 72 | `(menu-item ,(purecopy "Windows Word-by-word...") ediff-windows-wordwise |
| 73 | ["Three Directories..." ediff-directories3 t] | 73 | :help ,(purecopy "Compare windows word-wise"))) |
| 74 | "---" | 74 | (define-key menu-bar-ediff-menu [separator-ediff-windows] menu-bar-separator) |
| 75 | ["File with Revision..." ediff-revision t] | 75 | (define-key menu-bar-ediff-menu [ediff-regions-linewise] |
| 76 | ["Directory Revisions..." ediff-directory-revisions t] | 76 | `(menu-item ,(purecopy "Regions Line-by-line...") ediff-regions-linewise |
| 77 | "---" | 77 | :help ,(purecopy "Compare regions line-wise"))) |
| 78 | ["Windows Word-by-word..." ediff-windows-wordwise t] | 78 | (define-key menu-bar-ediff-menu [ediff-regions-wordwise] |
| 79 | ["Windows Line-by-line..." ediff-windows-linewise t] | 79 | `(menu-item ,(purecopy "Regions Word-by-word...") ediff-regions-wordwise |
| 80 | "---" | 80 | :help ,(purecopy "Compare regions word-wise"))) |
| 81 | ["Regions Word-by-word..." ediff-regions-wordwise t] | 81 | (define-key menu-bar-ediff-menu [separator-ediff-regions] menu-bar-separator) |
| 82 | ["Regions Line-by-line..." ediff-regions-linewise t] | 82 | (define-key menu-bar-ediff-menu [ediff-dir-revision] |
| 83 | )) | 83 | `(menu-item ,(purecopy "Directory Revisions...") ediff-directory-revisions |
| 84 | (defvar ediff-merge-menu | 84 | :help ,(purecopy "Compare directory files with their older versions"))) |
| 85 | '("Merge" | 85 | (define-key menu-bar-ediff-menu [ediff-revision] |
| 86 | ["Files..." ediff-merge-files t] | 86 | `(menu-item ,(purecopy "File with Revision...") ediff-revision |
| 87 | ["Files with Ancestor..." ediff-merge-files-with-ancestor t] | 87 | :help ,(purecopy "Compare file with its older versions"))) |
| 88 | ["Buffers..." ediff-merge-buffers t] | 88 | (define-key menu-bar-ediff-menu [separator-ediff-directories] menu-bar-separator) |
| 89 | ["Buffers with Ancestor..." | 89 | (define-key menu-bar-ediff-menu [ediff-directories3] |
| 90 | ediff-merge-buffers-with-ancestor t] | 90 | `(menu-item ,(purecopy "Three Directories...") ediff-directories3 |
| 91 | "---" | 91 | :help ,(purecopy "Compare files common to three directories simultaneously"))) |
| 92 | ["Directories..." ediff-merge-directories t] | 92 | (define-key menu-bar-ediff-menu [ediff-directories] |
| 93 | ["Directories with Ancestor..." | 93 | `(menu-item ,(purecopy "Two Directories...") ediff-directories |
| 94 | ediff-merge-directories-with-ancestor t] | 94 | :help ,(purecopy "Compare files common to two directories simultaneously"))) |
| 95 | "---" | 95 | (define-key menu-bar-ediff-menu [separator-ediff-files] menu-bar-separator) |
| 96 | ["Revisions..." ediff-merge-revisions t] | 96 | (define-key menu-bar-ediff-menu [ediff-buffers3] |
| 97 | ["Revisions with Ancestor..." | 97 | `(menu-item ,(purecopy "Three Buffers...") ediff-buffers3 |
| 98 | ediff-merge-revisions-with-ancestor t] | 98 | :help ,(purecopy "Compare three buffers simultaneously"))) |
| 99 | ["Directory Revisions..." ediff-merge-directory-revisions t] | 99 | (define-key menu-bar-ediff-menu [ediff-files3] |
| 100 | ["Directory Revisions with Ancestor..." | 100 | `(menu-item ,(purecopy "Three Files...") ediff-files3 |
| 101 | ediff-merge-directory-revisions-with-ancestor t] | 101 | :help ,(purecopy "Compare three files simultaneously"))) |
| 102 | )) | 102 | (define-key menu-bar-ediff-menu [ediff-buffers] |
| 103 | (defvar epatch-menu | 103 | `(menu-item ,(purecopy "Two Buffers...") ediff-buffers |
| 104 | '("Apply Patch" | 104 | :help ,(purecopy "Compare two buffers simultaneously"))) |
| 105 | ["To a file..." ediff-patch-file t] | 105 | (define-key menu-bar-ediff-menu [ediff-files] |
| 106 | ["To a buffer..." ediff-patch-buffer t] | 106 | `(menu-item ,(purecopy "Two Files...") ediff-files |
| 107 | )) | 107 | :help ,(purecopy "Compare two files simultaneously"))) |
| 108 | (defvar ediff-misc-menu | 108 | |
| 109 | '("Ediff Miscellanea" | 109 | ;; define ediff merge menu |
| 110 | ["Ediff Manual" ediff-documentation t] | 110 | (define-key |
| 111 | ["Customize Ediff" ediff-customize t] | 111 | menu-bar-ediff-merge-menu [ediff-merge-dir-revisions-with-ancestor] |
| 112 | ["List Ediff Sessions" ediff-show-registry t] | 112 | `(menu-item ,(purecopy "Directory Revisions with Ancestor...") |
| 113 | ["Use separate frame for Ediff control buffer" | 113 | ediff-merge-directory-revisions-with-ancestor |
| 114 | ediff-toggle-multiframe | 114 | :help ,(purecopy "Merge versions of the files in the same directory by comparing the files with common ancestors"))) |
| 115 | :style toggle | 115 | (define-key |
| 116 | :selected (eq (bound-and-true-p ediff-window-setup-function) | 116 | menu-bar-ediff-merge-menu [ediff-merge-dir-revisions] |
| 117 | #'ediff-setup-windows-multiframe)] | 117 | `(menu-item ,(purecopy "Directory Revisions...") ediff-merge-directory-revisions |
| 118 | ["Use a toolbar with Ediff control buffer" | 118 | :help ,(purecopy "Merge versions of the files in the same directory (without using ancestor information)"))) |
| 119 | ediff-toggle-use-toolbar | 119 | (define-key |
| 120 | :style toggle | 120 | menu-bar-ediff-merge-menu [ediff-merge-revisions-with-ancestor] |
| 121 | :selected (if (featurep 'ediff-tbar) | 121 | `(menu-item ,(purecopy "Revisions with Ancestor...") |
| 122 | (ediff-use-toolbar-p))])) | 122 | ediff-merge-revisions-with-ancestor |
| 123 | 123 | :help ,(purecopy "Merge versions of the same file by comparing them with a common ancestor"))) | |
| 124 | ;; put these menus before Object-Oriented-Browser in Tools menu | 124 | (define-key menu-bar-ediff-merge-menu [ediff-merge-revisions] |
| 125 | (if (and (featurep 'menubar) (not (featurep 'infodock)) | 125 | `(menu-item ,(purecopy "Revisions...") ediff-merge-revisions |
| 126 | (not (featurep 'ediff-hook))) | 126 | :help ,(purecopy "Merge versions of the same file (without using ancestor information)"))) |
| 127 | (ediff-xemacs-init-menus))) | 127 | (define-key menu-bar-ediff-merge-menu [separator-ediff-merge] menu-bar-separator) |
| 128 | ;; Emacs | 128 | (define-key |
| 129 | ;; initialize menu bar keymaps | 129 | menu-bar-ediff-merge-menu [ediff-merge-directories-with-ancestor] |
| 130 | (defvar menu-bar-ediff-misc-menu | 130 | `(menu-item ,(purecopy "Directories with Ancestor...") |
| 131 | (make-sparse-keymap "Ediff Miscellanea")) | 131 | ediff-merge-directories-with-ancestor |
| 132 | (fset 'menu-bar-ediff-misc-menu | 132 | :help ,(purecopy "Merge files common to a pair of directories by comparing the files with common ancestors"))) |
| 133 | menu-bar-ediff-misc-menu) | 133 | (define-key menu-bar-ediff-merge-menu [ediff-merge-directories] |
| 134 | (defvar menu-bar-epatch-menu (make-sparse-keymap "Apply Patch")) | 134 | `(menu-item ,(purecopy "Directories...") ediff-merge-directories |
| 135 | (fset 'menu-bar-epatch-menu menu-bar-epatch-menu) | 135 | :help ,(purecopy "Merge files common to a pair of directories"))) |
| 136 | (defvar menu-bar-ediff-merge-menu (make-sparse-keymap "Merge")) | 136 | (define-key |
| 137 | (fset 'menu-bar-ediff-merge-menu | 137 | menu-bar-ediff-merge-menu [separator-ediff-merge-dirs] menu-bar-separator) |
| 138 | menu-bar-ediff-merge-menu) | 138 | (define-key |
| 139 | (defvar menu-bar-ediff-menu (make-sparse-keymap "Compare")) | 139 | menu-bar-ediff-merge-menu [ediff-merge-buffers-with-ancestor] |
| 140 | (fset 'menu-bar-ediff-menu menu-bar-ediff-menu) | 140 | `(menu-item ,(purecopy "Buffers with Ancestor...") ediff-merge-buffers-with-ancestor |
| 141 | 141 | :help ,(purecopy "Merge buffers by comparing their contents with a common ancestor"))) | |
| 142 | ;; define ediff compare menu | 142 | (define-key menu-bar-ediff-merge-menu [ediff-merge-buffers] |
| 143 | (define-key menu-bar-ediff-menu [ediff-misc] | 143 | `(menu-item ,(purecopy "Buffers...") ediff-merge-buffers |
| 144 | `(menu-item ,(purecopy "Ediff Miscellanea") menu-bar-ediff-misc-menu)) | 144 | :help ,(purecopy "Merge buffers (without using ancestor information)"))) |
| 145 | (define-key menu-bar-ediff-menu [separator-ediff-misc] menu-bar-separator) | 145 | (define-key menu-bar-ediff-merge-menu [ediff-merge-files-with-ancestor] |
| 146 | (define-key menu-bar-ediff-menu [window] | 146 | `(menu-item ,(purecopy "Files with Ancestor...") ediff-merge-files-with-ancestor |
| 147 | `(menu-item ,(purecopy "This Window and Next Window") compare-windows | 147 | :help ,(purecopy "Merge files by comparing them with a common ancestor"))) |
| 148 | :help ,(purecopy "Compare the current window and the next window"))) | 148 | (define-key menu-bar-ediff-merge-menu [ediff-merge-files] |
| 149 | (define-key menu-bar-ediff-menu [ediff-windows-linewise] | 149 | `(menu-item ,(purecopy "Files...") ediff-merge-files |
| 150 | `(menu-item ,(purecopy "Windows Line-by-line...") ediff-windows-linewise | 150 | :help ,(purecopy "Merge files (without using ancestor information)"))) |
| 151 | :help ,(purecopy "Compare windows line-wise"))) | 151 | |
| 152 | (define-key menu-bar-ediff-menu [ediff-windows-wordwise] | 152 | ;; define epatch menu |
| 153 | `(menu-item ,(purecopy "Windows Word-by-word...") ediff-windows-wordwise | 153 | (define-key menu-bar-epatch-menu [ediff-patch-buffer] |
| 154 | :help ,(purecopy "Compare windows word-wise"))) | 154 | `(menu-item ,(purecopy "To a Buffer...") ediff-patch-buffer |
| 155 | (define-key menu-bar-ediff-menu [separator-ediff-windows] menu-bar-separator) | 155 | :help ,(purecopy "Apply a patch to the contents of a buffer"))) |
| 156 | (define-key menu-bar-ediff-menu [ediff-regions-linewise] | 156 | (define-key menu-bar-epatch-menu [ediff-patch-file] |
| 157 | `(menu-item ,(purecopy "Regions Line-by-line...") ediff-regions-linewise | 157 | `(menu-item ,(purecopy "To a File...") ediff-patch-file |
| 158 | :help ,(purecopy "Compare regions line-wise"))) | 158 | :help ,(purecopy "Apply a patch to a file"))) |
| 159 | (define-key menu-bar-ediff-menu [ediff-regions-wordwise] | 159 | |
| 160 | `(menu-item ,(purecopy "Regions Word-by-word...") ediff-regions-wordwise | 160 | ;; define ediff miscellanea |
| 161 | :help ,(purecopy "Compare regions word-wise"))) | 161 | (define-key menu-bar-ediff-misc-menu [emultiframe] |
| 162 | (define-key menu-bar-ediff-menu [separator-ediff-regions] menu-bar-separator) | 162 | `(menu-item ,(purecopy "Use separate control buffer frame") |
| 163 | (define-key menu-bar-ediff-menu [ediff-dir-revision] | 163 | ediff-toggle-multiframe |
| 164 | `(menu-item ,(purecopy "Directory Revisions...") ediff-directory-revisions | 164 | :help ,(purecopy "Switch between the single-frame presentation mode and the multi-frame mode") |
| 165 | :help ,(purecopy "Compare directory files with their older versions"))) | 165 | :button (:toggle . (eq (bound-and-true-p ediff-window-setup-function) |
| 166 | (define-key menu-bar-ediff-menu [ediff-revision] | 166 | #'ediff-setup-windows-multiframe)))) |
| 167 | `(menu-item ,(purecopy "File with Revision...") ediff-revision | 167 | ;; FIXME: Port XEmacs's toolbar support! |
| 168 | :help ,(purecopy "Compare file with its older versions"))) | 168 | ;; ["Use a toolbar with Ediff control buffer" |
| 169 | (define-key menu-bar-ediff-menu [separator-ediff-directories] menu-bar-separator) | 169 | ;; ediff-toggle-use-toolbar |
| 170 | (define-key menu-bar-ediff-menu [ediff-directories3] | 170 | ;; :style toggle |
| 171 | `(menu-item ,(purecopy "Three Directories...") ediff-directories3 | 171 | ;; :selected (if (featurep 'ediff-tbar) |
| 172 | :help ,(purecopy "Compare files common to three directories simultaneously"))) | 172 | ;; (ediff-use-toolbar-p))] |
| 173 | (define-key menu-bar-ediff-menu [ediff-directories] | 173 | (define-key menu-bar-ediff-misc-menu [eregistry] |
| 174 | `(menu-item ,(purecopy "Two Directories...") ediff-directories | 174 | `(menu-item ,(purecopy "List Ediff Sessions") ediff-show-registry |
| 175 | :help ,(purecopy "Compare files common to two directories simultaneously"))) | 175 | :help ,(purecopy "List all active Ediff sessions; it is a convenient way to find and resume such a session"))) |
| 176 | (define-key menu-bar-ediff-menu [separator-ediff-files] menu-bar-separator) | 176 | (define-key menu-bar-ediff-misc-menu [ediff-cust] |
| 177 | (define-key menu-bar-ediff-menu [ediff-buffers3] | 177 | `(menu-item ,(purecopy "Customize Ediff") ediff-customize |
| 178 | `(menu-item ,(purecopy "Three Buffers...") ediff-buffers3 | 178 | :help ,(purecopy "Change some of the parameters that govern the behavior of Ediff"))) |
| 179 | :help ,(purecopy "Compare three buffers simultaneously"))) | 179 | (define-key menu-bar-ediff-misc-menu [ediff-doc] |
| 180 | (define-key menu-bar-ediff-menu [ediff-files3] | 180 | `(menu-item ,(purecopy "Ediff Manual") ediff-documentation |
| 181 | `(menu-item ,(purecopy "Three Files...") ediff-files3 | 181 | :help ,(purecopy "Bring up the Ediff manual"))) |
| 182 | :help ,(purecopy "Compare three files simultaneously"))) | ||
| 183 | (define-key menu-bar-ediff-menu [ediff-buffers] | ||
| 184 | `(menu-item ,(purecopy "Two Buffers...") ediff-buffers | ||
| 185 | :help ,(purecopy "Compare two buffers simultaneously"))) | ||
| 186 | (define-key menu-bar-ediff-menu [ediff-files] | ||
| 187 | `(menu-item ,(purecopy "Two Files...") ediff-files | ||
| 188 | :help ,(purecopy "Compare two files simultaneously"))) | ||
| 189 | |||
| 190 | ;; define ediff merge menu | ||
| 191 | (define-key | ||
| 192 | menu-bar-ediff-merge-menu [ediff-merge-dir-revisions-with-ancestor] | ||
| 193 | `(menu-item ,(purecopy "Directory Revisions with Ancestor...") | ||
| 194 | ediff-merge-directory-revisions-with-ancestor | ||
| 195 | :help ,(purecopy "Merge versions of the files in the same directory by comparing the files with common ancestors"))) | ||
| 196 | (define-key | ||
| 197 | menu-bar-ediff-merge-menu [ediff-merge-dir-revisions] | ||
| 198 | `(menu-item ,(purecopy "Directory Revisions...") ediff-merge-directory-revisions | ||
| 199 | :help ,(purecopy "Merge versions of the files in the same directory (without using ancestor information)"))) | ||
| 200 | (define-key | ||
| 201 | menu-bar-ediff-merge-menu [ediff-merge-revisions-with-ancestor] | ||
| 202 | `(menu-item ,(purecopy "Revisions with Ancestor...") | ||
| 203 | ediff-merge-revisions-with-ancestor | ||
| 204 | :help ,(purecopy "Merge versions of the same file by comparing them with a common ancestor"))) | ||
| 205 | (define-key menu-bar-ediff-merge-menu [ediff-merge-revisions] | ||
| 206 | `(menu-item ,(purecopy "Revisions...") ediff-merge-revisions | ||
| 207 | :help ,(purecopy "Merge versions of the same file (without using ancestor information)"))) | ||
| 208 | (define-key menu-bar-ediff-merge-menu [separator-ediff-merge] menu-bar-separator) | ||
| 209 | (define-key | ||
| 210 | menu-bar-ediff-merge-menu [ediff-merge-directories-with-ancestor] | ||
| 211 | `(menu-item ,(purecopy "Directories with Ancestor...") | ||
| 212 | ediff-merge-directories-with-ancestor | ||
| 213 | :help ,(purecopy "Merge files common to a pair of directories by comparing the files with common ancestors"))) | ||
| 214 | (define-key menu-bar-ediff-merge-menu [ediff-merge-directories] | ||
| 215 | `(menu-item ,(purecopy "Directories...") ediff-merge-directories | ||
| 216 | :help ,(purecopy "Merge files common to a pair of directories"))) | ||
| 217 | (define-key | ||
| 218 | menu-bar-ediff-merge-menu [separator-ediff-merge-dirs] menu-bar-separator) | ||
| 219 | (define-key | ||
| 220 | menu-bar-ediff-merge-menu [ediff-merge-buffers-with-ancestor] | ||
| 221 | `(menu-item ,(purecopy "Buffers with Ancestor...") ediff-merge-buffers-with-ancestor | ||
| 222 | :help ,(purecopy "Merge buffers by comparing their contents with a common ancestor"))) | ||
| 223 | (define-key menu-bar-ediff-merge-menu [ediff-merge-buffers] | ||
| 224 | `(menu-item ,(purecopy "Buffers...") ediff-merge-buffers | ||
| 225 | :help ,(purecopy "Merge buffers (without using ancestor information)"))) | ||
| 226 | (define-key menu-bar-ediff-merge-menu [ediff-merge-files-with-ancestor] | ||
| 227 | `(menu-item ,(purecopy "Files with Ancestor...") ediff-merge-files-with-ancestor | ||
| 228 | :help ,(purecopy "Merge files by comparing them with a common ancestor"))) | ||
| 229 | (define-key menu-bar-ediff-merge-menu [ediff-merge-files] | ||
| 230 | `(menu-item ,(purecopy "Files...") ediff-merge-files | ||
| 231 | :help ,(purecopy "Merge files (without using ancestor information)"))) | ||
| 232 | |||
| 233 | ;; define epatch menu | ||
| 234 | (define-key menu-bar-epatch-menu [ediff-patch-buffer] | ||
| 235 | `(menu-item ,(purecopy "To a Buffer...") ediff-patch-buffer | ||
| 236 | :help ,(purecopy "Apply a patch to the contents of a buffer"))) | ||
| 237 | (define-key menu-bar-epatch-menu [ediff-patch-file] | ||
| 238 | `(menu-item ,(purecopy "To a File...") ediff-patch-file | ||
| 239 | :help ,(purecopy "Apply a patch to a file"))) | ||
| 240 | |||
| 241 | ;; define ediff miscellanea | ||
| 242 | (define-key menu-bar-ediff-misc-menu [emultiframe] | ||
| 243 | `(menu-item ,(purecopy "Use separate control buffer frame") | ||
| 244 | ediff-toggle-multiframe | ||
| 245 | :help ,(purecopy "Switch between the single-frame presentation mode and the multi-frame mode") | ||
| 246 | :button (:toggle . (eq (bound-and-true-p ediff-window-setup-function) | ||
| 247 | #'ediff-setup-windows-multiframe)))) | ||
| 248 | ;; FIXME: Port XEmacs's toolbar support! | ||
| 249 | ;; ["Use a toolbar with Ediff control buffer" | ||
| 250 | ;; ediff-toggle-use-toolbar | ||
| 251 | ;; :style toggle | ||
| 252 | ;; :selected (if (featurep 'ediff-tbar) | ||
| 253 | ;; (ediff-use-toolbar-p))] | ||
| 254 | (define-key menu-bar-ediff-misc-menu [eregistry] | ||
| 255 | `(menu-item ,(purecopy "List Ediff Sessions") ediff-show-registry | ||
| 256 | :help ,(purecopy "List all active Ediff sessions; it is a convenient way to find and resume such a session"))) | ||
| 257 | (define-key menu-bar-ediff-misc-menu [ediff-cust] | ||
| 258 | `(menu-item ,(purecopy "Customize Ediff") ediff-customize | ||
| 259 | :help ,(purecopy "Change some of the parameters that govern the behavior of Ediff"))) | ||
| 260 | (define-key menu-bar-ediff-misc-menu [ediff-doc] | ||
| 261 | `(menu-item ,(purecopy "Ediff Manual") ediff-documentation | ||
| 262 | :help ,(purecopy "Bring up the Ediff manual")))) | ||
| 263 | 182 | ||
| 264 | (provide 'ediff-hook) | 183 | (provide 'ediff-hook) |
| 265 | ;;; ediff-hook.el ends here | 184 | ;;; 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.") | |||
| 45 | 45 | ||
| 46 | ;; Are we running as a window application or on a TTY? | 46 | ;; Are we running as a window application or on a TTY? |
| 47 | (defsubst ediff-device-type () | 47 | (defsubst ediff-device-type () |
| 48 | (if (featurep 'xemacs) | 48 | (declare (obsolete nil "27.1")) |
| 49 | (device-type (selected-device)) | 49 | window-system) |
| 50 | window-system)) | ||
| 51 | 50 | ||
| 52 | ;; in XEmacs: device-type is tty on tty and stream in batch. | 51 | ;; in XEmacs: device-type is tty on tty and stream in batch. |
| 53 | (defun ediff-window-display-p () | 52 | (defun ediff-window-display-p () |
| 54 | (and (ediff-device-type) (not (memq (ediff-device-type) '(tty pc stream))))) | 53 | (and window-system |
| 54 | (not (memq window-system '(tty pc stream))))) | ||
| 55 | 55 | ||
| 56 | ;; test if supports faces | 56 | ;; test if supports faces |
| 57 | (defun ediff-has-face-support-p () | 57 | (defun ediff-has-face-support-p () |
| 58 | (cond ((ediff-window-display-p)) | 58 | (cond ((ediff-window-display-p)) |
| 59 | (ediff-force-faces) | 59 | (ediff-force-faces) |
| 60 | ((ediff-color-display-p)) | 60 | ((display-color-p)) |
| 61 | (t (memq (ediff-device-type) '(pc))))) | 61 | (t (memq window-system '(pc))))) |
| 62 | 62 | ||
| 63 | ;; toolbar support for emacs hasn't been implemented in ediff | 63 | ;; toolbar support for emacs hasn't been implemented in ediff |
| 64 | (defun ediff-has-toolbar-support-p () | 64 | (defun ediff-has-toolbar-support-p () |
| 65 | (if (featurep 'xemacs) | 65 | nil) |
| 66 | (if (featurep 'toolbar) (console-on-window-system-p)))) | ||
| 67 | 66 | ||
| 68 | 67 | ||
| 69 | (defun ediff-has-gutter-support-p () | 68 | (defun ediff-has-gutter-support-p () |
| 70 | (if (featurep 'xemacs) | 69 | (declare (obsolete nil "27.1")) |
| 71 | (if (featurep 'gutter) (console-on-window-system-p)))) | 70 | nil) |
| 72 | 71 | ||
| 73 | (defun ediff-use-toolbar-p () | 72 | (defun ediff-use-toolbar-p () |
| 74 | (and (ediff-has-toolbar-support-p) ;Can it do it ? | 73 | (and (ediff-has-toolbar-support-p) ;Can it do it ? |
| @@ -493,10 +492,9 @@ set local variables that determine how the display looks like." | |||
| 493 | "%S: Bad diff region number, %d. Valid numbers are 1 to %d") | 492 | "%S: Bad diff region number, %d. Valid numbers are 1 to %d") |
| 494 | (defconst ediff-BAD-INFO (format " | 493 | (defconst ediff-BAD-INFO (format " |
| 495 | *** The Info file for Ediff, a part of the standard distribution | 494 | *** The Info file for Ediff, a part of the standard distribution |
| 496 | *** of %sEmacs, does not seem to be properly installed. | 495 | *** of Emacs, does not seem to be properly installed. |
| 497 | *** | 496 | *** |
| 498 | *** Please contact your system administrator. " | 497 | *** Please contact your system administrator. ")) |
| 499 | (if (featurep 'xemacs) "X" ""))) | ||
| 500 | 498 | ||
| 501 | ;; Selective browsing | 499 | ;; Selective browsing |
| 502 | 500 | ||
| @@ -553,24 +551,24 @@ See the documentation string of `ediff-focus-on-regexp-matches' for details.") | |||
| 553 | 551 | ||
| 554 | 552 | ||
| 555 | ;; Highlighting | 553 | ;; Highlighting |
| 556 | (defcustom ediff-before-flag-bol (if (featurep 'xemacs) (make-glyph "->>") "->>") | 554 | (defcustom ediff-before-flag-bol "->>" |
| 557 | "Flag placed before a highlighted block of differences, if block starts at beginning of a line." | 555 | "Flag placed before a highlighted block of differences, if block starts at beginning of a line." |
| 558 | :type 'string | 556 | :type 'string |
| 559 | :tag "Region before-flag at beginning of line" | 557 | :tag "Region before-flag at beginning of line" |
| 560 | :group 'ediff) | 558 | :group 'ediff) |
| 561 | 559 | ||
| 562 | (defcustom ediff-after-flag-eol (if (featurep 'xemacs) (make-glyph "<<-") "<<-") | 560 | (defcustom ediff-after-flag-eol "<<-" |
| 563 | "Flag placed after a highlighted block of differences, if block ends at end of a line." | 561 | "Flag placed after a highlighted block of differences, if block ends at end of a line." |
| 564 | :type 'string | 562 | :type 'string |
| 565 | :tag "Region after-flag at end of line" | 563 | :tag "Region after-flag at end of line" |
| 566 | :group 'ediff) | 564 | :group 'ediff) |
| 567 | 565 | ||
| 568 | (defcustom ediff-before-flag-mol (if (featurep 'xemacs) (make-glyph "->>") "->>") | 566 | (defcustom ediff-before-flag-mol "->>" |
| 569 | "Flag placed before a highlighted block of differences, if block starts in mid-line." | 567 | "Flag placed before a highlighted block of differences, if block starts in mid-line." |
| 570 | :type 'string | 568 | :type 'string |
| 571 | :tag "Region before-flag in the middle of line" | 569 | :tag "Region before-flag in the middle of line" |
| 572 | :group 'ediff) | 570 | :group 'ediff) |
| 573 | (defcustom ediff-after-flag-mol (if (featurep 'xemacs) (make-glyph "<<-") "<<-") | 571 | (defcustom ediff-after-flag-mol "<<-" |
| 574 | "Flag placed after a highlighted block of differences, if block ends in mid-line." | 572 | "Flag placed after a highlighted block of differences, if block ends in mid-line." |
| 575 | :type 'string | 573 | :type 'string |
| 576 | :tag "Region after-flag in the middle of line" | 574 | :tag "Region after-flag in the middle of line" |
| @@ -717,33 +715,22 @@ work." | |||
| 717 | :type 'symbol | 715 | :type 'symbol |
| 718 | :group 'ediff) | 716 | :group 'ediff) |
| 719 | 717 | ||
| 720 | (defcustom ediff-coding-system-for-write (if (featurep 'xemacs) | 718 | (defcustom ediff-coding-system-for-write 'emacs-internal |
| 721 | 'escape-quoted | ||
| 722 | 'emacs-internal) | ||
| 723 | "The coding system for write to use when writing out difference regions | 719 | "The coding system for write to use when writing out difference regions |
| 724 | to temp files in buffer jobs and when Ediff needs to find fine differences." | 720 | to temp files in buffer jobs and when Ediff needs to find fine differences." |
| 725 | :type 'symbol | 721 | :type 'symbol |
| 726 | :group 'ediff) | 722 | :group 'ediff) |
| 727 | 723 | ||
| 728 | 724 | ||
| 729 | (defalias 'ediff-read-event | 725 | (define-obsolete-function-alias 'ediff-read-event #'read-event "27.1") |
| 730 | (if (featurep 'xemacs) 'next-command-event 'read-event)) | ||
| 731 | 726 | ||
| 732 | (defalias 'ediff-overlayp | 727 | (define-obsolete-function-alias 'ediff-overlayp #'overlayp "27.1") |
| 733 | (if (featurep 'xemacs) 'extentp 'overlayp)) | ||
| 734 | 728 | ||
| 735 | (defalias 'ediff-make-overlay | 729 | (define-obsolete-function-alias 'ediff-make-overlay #'make-overlay "27.1") |
| 736 | (if (featurep 'xemacs) 'make-extent 'make-overlay)) | ||
| 737 | 730 | ||
| 738 | (defalias 'ediff-delete-overlay | 731 | (define-obsolete-function-alias 'ediff-delete-overlay #'delete-overlay "27.1") |
| 739 | (if (featurep 'xemacs) 'delete-extent 'delete-overlay)) | ||
| 740 | 732 | ||
| 741 | (defun ediff-color-display-p () | 733 | (define-obsolete-function-alias 'ediff-color-display-p #'display-color-p "27.1") |
| 742 | (condition-case nil | ||
| 743 | (if (featurep 'xemacs) | ||
| 744 | (eq (device-class (selected-device)) 'color) ; xemacs form | ||
| 745 | (display-color-p)) ; emacs form | ||
| 746 | (error nil))) | ||
| 747 | 734 | ||
| 748 | 735 | ||
| 749 | ;; A var local to each control panel buffer. Indicates highlighting style | 736 | ;; 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." | |||
| 754 | "") | 741 | "") |
| 755 | 742 | ||
| 756 | 743 | ||
| 757 | (if (featurep 'xemacs) | 744 | (define-obsolete-function-alias 'ediff-display-pixel-width |
| 758 | (progn | 745 | #'display-pixel-width "27.1") |
| 759 | (defalias 'ediff-display-pixel-width 'device-pixel-width) | 746 | (define-obsolete-function-alias 'ediff-display-pixel-height |
| 760 | (defalias 'ediff-display-pixel-height 'device-pixel-height)) | 747 | #'display-pixel-height "27.1") |
| 761 | (defalias 'ediff-display-pixel-width 'display-pixel-width) | ||
| 762 | (defalias 'ediff-display-pixel-height 'display-pixel-height)) | ||
| 763 | 748 | ||
| 764 | ;; A-list of current-diff-overlay symbols associated with buf types | 749 | ;; A-list of current-diff-overlay symbols associated with buf types |
| 765 | (defconst ediff-current-diff-overlay-alist | 750 | (defconst ediff-current-diff-overlay-alist |
| @@ -783,9 +768,9 @@ to temp files in buffer jobs and when Ediff needs to find fine differences." | |||
| 783 | (defun ediff-region-help-echo (extent-or-window &optional overlay _point) | 768 | (defun ediff-region-help-echo (extent-or-window &optional overlay _point) |
| 784 | (unless overlay | 769 | (unless overlay |
| 785 | (setq overlay extent-or-window)) | 770 | (setq overlay extent-or-window)) |
| 786 | (let ((is-current (ediff-overlay-get overlay 'ediff)) | 771 | (let ((is-current (overlay-get overlay 'ediff)) |
| 787 | (face (ediff-overlay-get overlay 'face)) | 772 | (face (overlay-get overlay 'face)) |
| 788 | (diff-num (ediff-overlay-get overlay 'ediff-diff-num)) | 773 | (diff-num (overlay-get overlay 'ediff-diff-num)) |
| 789 | face-help) | 774 | face-help) |
| 790 | 775 | ||
| 791 | ;; This happens only for refinement overlays | 776 | ;; This happens only for refinement overlays |
| @@ -804,7 +789,7 @@ to temp files in buffer jobs and when Ediff needs to find fine differences." | |||
| 804 | 789 | ||
| 805 | (defun ediff-set-face-pixmap (face pixmap) | 790 | (defun ediff-set-face-pixmap (face pixmap) |
| 806 | "Set face pixmap on a monochrome display." | 791 | "Set face pixmap on a monochrome display." |
| 807 | (if (and (ediff-window-display-p) (not (ediff-color-display-p))) | 792 | (if (and (ediff-window-display-p) (not (display-color-p))) |
| 808 | (condition-case nil | 793 | (condition-case nil |
| 809 | (set-face-background-pixmap face pixmap) | 794 | (set-face-background-pixmap face pixmap) |
| 810 | (error | 795 | (error |
| @@ -839,14 +824,6 @@ DO NOT CHANGE this variable. Instead, use the customization | |||
| 839 | widget to customize the actual face object `ediff-current-diff-A' | 824 | widget to customize the actual face object `ediff-current-diff-A' |
| 840 | this variable represents.") | 825 | this variable represents.") |
| 841 | (ediff-hide-face ediff-current-diff-face-A) | 826 | (ediff-hide-face ediff-current-diff-face-A) |
| 842 | ;; Until custom.el for XEmacs starts supporting :inverse-video we do this. | ||
| 843 | ;; This means that some user customization may be trashed. | ||
| 844 | (and (featurep 'xemacs) | ||
| 845 | (ediff-has-face-support-p) | ||
| 846 | (not (ediff-color-display-p)) | ||
| 847 | (copy-face 'modeline ediff-current-diff-face-A)) | ||
| 848 | |||
| 849 | |||
| 850 | 827 | ||
| 851 | (defface ediff-current-diff-B | 828 | (defface ediff-current-diff-B |
| 852 | '((((class color) (min-colors 88) (background light)) | 829 | '((((class color) (min-colors 88) (background light)) |
| @@ -869,13 +846,6 @@ this variable represents.") | |||
| 869 | widget to customize the actual face `ediff-current-diff-B' | 846 | widget to customize the actual face `ediff-current-diff-B' |
| 870 | this variable represents.") | 847 | this variable represents.") |
| 871 | (ediff-hide-face ediff-current-diff-face-B) | 848 | (ediff-hide-face ediff-current-diff-face-B) |
| 872 | ;; Until custom.el for XEmacs starts supporting :inverse-video we do this. | ||
| 873 | ;; This means that some user customization may be trashed. | ||
| 874 | (and (featurep 'xemacs) | ||
| 875 | (ediff-has-face-support-p) | ||
| 876 | (not (ediff-color-display-p)) | ||
| 877 | (copy-face 'modeline ediff-current-diff-face-B)) | ||
| 878 | |||
| 879 | 849 | ||
| 880 | (defface ediff-current-diff-C | 850 | (defface ediff-current-diff-C |
| 881 | '((((class color) (min-colors 88) (background light)) | 851 | '((((class color) (min-colors 88) (background light)) |
| @@ -897,13 +867,6 @@ DO NOT CHANGE this variable. Instead, use the customization | |||
| 897 | widget to customize the actual face object `ediff-current-diff-C' | 867 | widget to customize the actual face object `ediff-current-diff-C' |
| 898 | this variable represents.") | 868 | this variable represents.") |
| 899 | (ediff-hide-face ediff-current-diff-face-C) | 869 | (ediff-hide-face ediff-current-diff-face-C) |
| 900 | ;; Until custom.el for XEmacs starts supporting :inverse-video we do this. | ||
| 901 | ;; This means that some user customization may be trashed. | ||
| 902 | (and (featurep 'xemacs) | ||
| 903 | (ediff-has-face-support-p) | ||
| 904 | (not (ediff-color-display-p)) | ||
| 905 | (copy-face 'modeline ediff-current-diff-face-C)) | ||
| 906 | |||
| 907 | 870 | ||
| 908 | (defface ediff-current-diff-Ancestor | 871 | (defface ediff-current-diff-Ancestor |
| 909 | '((((class color) (min-colors 88) (background light)) | 872 | '((((class color) (min-colors 88) (background light)) |
| @@ -927,13 +890,6 @@ DO NOT CHANGE this variable. Instead, use the customization | |||
| 927 | widget to customize the actual face object `ediff-current-diff-Ancestor' | 890 | widget to customize the actual face object `ediff-current-diff-Ancestor' |
| 928 | this variable represents.") | 891 | this variable represents.") |
| 929 | (ediff-hide-face ediff-current-diff-face-Ancestor) | 892 | (ediff-hide-face ediff-current-diff-face-Ancestor) |
| 930 | ;; Until custom.el for XEmacs starts supporting :inverse-video we do this. | ||
| 931 | ;; This means that some user customization may be trashed. | ||
| 932 | (and (featurep 'xemacs) | ||
| 933 | (ediff-has-face-support-p) | ||
| 934 | (not (ediff-color-display-p)) | ||
| 935 | (copy-face 'modeline ediff-current-diff-face-Ancestor)) | ||
| 936 | |||
| 937 | 893 | ||
| 938 | (defface ediff-fine-diff-A | 894 | (defface ediff-fine-diff-A |
| 939 | '((((class color) (min-colors 88) (background light)) | 895 | '((((class color) (min-colors 88) (background light)) |
| @@ -1383,8 +1339,8 @@ This default should work without changes." | |||
| 1383 | overl diff-num) | 1339 | overl diff-num) |
| 1384 | (mapcar (lambda (rec) | 1340 | (mapcar (lambda (rec) |
| 1385 | (setq overl (ediff-get-diff-overlay-from-diff-record rec) | 1341 | (setq overl (ediff-get-diff-overlay-from-diff-record rec) |
| 1386 | diff-num (ediff-overlay-get overl 'ediff-diff-num)) | 1342 | diff-num (overlay-get overl 'ediff-diff-num)) |
| 1387 | (if (ediff-overlay-buffer overl) | 1343 | (if (overlay-buffer overl) |
| 1388 | ;; only if overlay is alive | 1344 | ;; only if overlay is alive |
| 1389 | (ediff-set-overlay-face | 1345 | (ediff-set-overlay-face |
| 1390 | overl | 1346 | overl |
| @@ -1410,8 +1366,8 @@ This default should work without changes." | |||
| 1410 | ;; this record is itself a vector | 1366 | ;; this record is itself a vector |
| 1411 | (defsubst ediff-clear-fine-diff-vector (diff-record) | 1367 | (defsubst ediff-clear-fine-diff-vector (diff-record) |
| 1412 | (if diff-record | 1368 | (if diff-record |
| 1413 | (mapc #'ediff-delete-overlay | 1369 | (mapc #'delete-overlay |
| 1414 | (ediff-get-fine-diff-vector-from-diff-record diff-record)))) | 1370 | (ediff-get-fine-diff-vector-from-diff-record diff-record)))) |
| 1415 | 1371 | ||
| 1416 | (defsubst ediff-clear-fine-differences-in-one-buffer (n buf-type) | 1372 | (defsubst ediff-clear-fine-differences-in-one-buffer (n buf-type) |
| 1417 | (ediff-clear-fine-diff-vector (ediff-get-difference n buf-type)) | 1373 | (ediff-clear-fine-diff-vector (ediff-get-difference n buf-type)) |
| @@ -1425,49 +1381,37 @@ This default should work without changes." | |||
| 1425 | 1381 | ||
| 1426 | 1382 | ||
| 1427 | (defsubst ediff-mouse-event-p (event) | 1383 | (defsubst ediff-mouse-event-p (event) |
| 1428 | (if (featurep 'xemacs) | 1384 | (string-match "mouse" (format "%S" (event-basic-type event)))) |
| 1429 | (button-event-p event) | ||
| 1430 | (string-match "mouse" (format "%S" (event-basic-type event))))) | ||
| 1431 | 1385 | ||
| 1432 | 1386 | ||
| 1433 | (defsubst ediff-key-press-event-p (event) | 1387 | (defsubst ediff-key-press-event-p (event) |
| 1434 | (if (featurep 'xemacs) | 1388 | (or (char-or-string-p event) (symbolp event))) |
| 1435 | (key-press-event-p event) | ||
| 1436 | (or (char-or-string-p event) (symbolp event)))) | ||
| 1437 | 1389 | ||
| 1438 | (defun ediff-event-point (event) | 1390 | (defun ediff-event-point (event) |
| 1439 | (cond ((ediff-mouse-event-p event) | 1391 | (cond ((ediff-mouse-event-p event) |
| 1440 | (if (featurep 'xemacs) | 1392 | (posn-point (event-start event))) |
| 1441 | (event-point event) | ||
| 1442 | (posn-point (event-start event)))) | ||
| 1443 | ((ediff-key-press-event-p event) | 1393 | ((ediff-key-press-event-p event) |
| 1444 | (point)) | 1394 | (point)) |
| 1445 | (t (error "Error")))) | 1395 | (t (error "Error")))) |
| 1446 | 1396 | ||
| 1447 | (defun ediff-event-buffer (event) | 1397 | (defun ediff-event-buffer (event) |
| 1448 | (cond ((ediff-mouse-event-p event) | 1398 | (cond ((ediff-mouse-event-p event) |
| 1449 | (if (featurep 'xemacs) | 1399 | (window-buffer (posn-window (event-start event)))) |
| 1450 | (event-buffer event) | ||
| 1451 | (window-buffer (posn-window (event-start event))))) | ||
| 1452 | ((ediff-key-press-event-p event) | 1400 | ((ediff-key-press-event-p event) |
| 1453 | (current-buffer)) | 1401 | (current-buffer)) |
| 1454 | (t (error "Error")))) | 1402 | (t (error "Error")))) |
| 1455 | 1403 | ||
| 1456 | (defun ediff-event-key (event-or-key) | 1404 | (define-obsolete-function-alias 'ediff-event-key #'identity "27.1") |
| 1457 | (if (featurep 'xemacs) | ||
| 1458 | ;;(if (eventp event-or-key) (event-key event-or-key) event-or-key) | ||
| 1459 | (if (eventp event-or-key) (event-to-character event-or-key t t) event-or-key) | ||
| 1460 | event-or-key)) | ||
| 1461 | 1405 | ||
| 1462 | (defun ediff-last-command-char () | 1406 | (defun ediff-last-command-char () |
| 1463 | (ediff-event-key last-command-event)) | 1407 | (declare (obsolete nil "27.1")) |
| 1408 | last-command-event) | ||
| 1464 | 1409 | ||
| 1465 | 1410 | ||
| 1466 | (defsubst ediff-frame-iconified-p (frame) | 1411 | (defsubst ediff-frame-iconified-p (frame) |
| 1467 | (and (ediff-window-display-p) (frame-live-p frame) | 1412 | (and (ediff-window-display-p) |
| 1468 | (if (featurep 'xemacs) | 1413 | (frame-live-p frame) |
| 1469 | (frame-iconified-p frame) | 1414 | (eq (frame-visible-p frame) 'icon))) |
| 1470 | (eq (frame-visible-p frame) 'icon)))) | ||
| 1471 | 1415 | ||
| 1472 | (defsubst ediff-window-visible-p (wind) | 1416 | (defsubst ediff-window-visible-p (wind) |
| 1473 | ;; under TTY, window-live-p also means window is visible | 1417 | ;; under TTY, window-live-p also means window is visible |
| @@ -1476,17 +1420,13 @@ This default should work without changes." | |||
| 1476 | (frame-visible-p (window-frame wind))))) | 1420 | (frame-visible-p (window-frame wind))))) |
| 1477 | 1421 | ||
| 1478 | 1422 | ||
| 1479 | (defsubst ediff-frame-char-width (frame) | 1423 | (define-obsolete-function-alias 'ediff-frame-char-width |
| 1480 | (if (featurep 'xemacs) | 1424 | #'frame-char-width "27.1") |
| 1481 | (/ (frame-pixel-width frame) (frame-width frame)) | ||
| 1482 | (frame-char-width frame))) | ||
| 1483 | 1425 | ||
| 1484 | (defun ediff-reset-mouse (&optional frame do-not-grab-mouse) | 1426 | (defun ediff-reset-mouse (&optional frame do-not-grab-mouse) |
| 1485 | (or frame (setq frame (selected-frame))) | 1427 | (or frame (setq frame (selected-frame))) |
| 1486 | (if (ediff-window-display-p) | 1428 | (if (ediff-window-display-p) |
| 1487 | (let ((frame-or-wind frame)) | 1429 | (let ((frame-or-wind frame)) |
| 1488 | (if (featurep 'xemacs) | ||
| 1489 | (setq frame-or-wind (frame-selected-window frame))) | ||
| 1490 | (or do-not-grab-mouse | 1430 | (or do-not-grab-mouse |
| 1491 | ;; don't set mouse if the user said to never do this | 1431 | ;; don't set mouse if the user said to never do this |
| 1492 | (not ediff-grab-mouse) | 1432 | (not ediff-grab-mouse) |
| @@ -1523,65 +1463,42 @@ This default should work without changes." | |||
| 1523 | ediff-mouse-pixel-threshold)))) | 1463 | ediff-mouse-pixel-threshold)))) |
| 1524 | (t nil)))) | 1464 | (t nil)))) |
| 1525 | 1465 | ||
| 1526 | (defsubst ediff-frame-char-height (frame) | 1466 | (define-obsolete-function-alias 'ediff-frame-char-height |
| 1527 | (if (featurep 'xemacs) | 1467 | #'frame-char-height "27.1") |
| 1528 | (glyph-height ediff-H-glyph (frame-selected-window frame)) | ||
| 1529 | (frame-char-height frame))) | ||
| 1530 | 1468 | ||
| 1531 | ;; Some overlay functions | 1469 | ;; Some overlay functions |
| 1532 | 1470 | ||
| 1533 | (defsubst ediff-overlay-start (overl) | 1471 | (defsubst ediff-overlay-start (overl) |
| 1534 | (if (ediff-overlayp overl) | 1472 | (if (overlayp overl) |
| 1535 | (if (featurep 'xemacs) | 1473 | (overlay-start overl))) |
| 1536 | (extent-start-position overl) | ||
| 1537 | (overlay-start overl)))) | ||
| 1538 | 1474 | ||
| 1539 | (defsubst ediff-overlay-end (overl) | 1475 | (defsubst ediff-overlay-end (overl) |
| 1540 | (if (ediff-overlayp overl) | 1476 | (if (overlayp overl) |
| 1541 | (if (featurep 'xemacs) | 1477 | (overlay-end overl))) |
| 1542 | (extent-end-position overl) | ||
| 1543 | (overlay-end overl)))) | ||
| 1544 | 1478 | ||
| 1545 | (defsubst ediff-empty-overlay-p (overl) | 1479 | (defsubst ediff-empty-overlay-p (overl) |
| 1546 | (= (ediff-overlay-start overl) (ediff-overlay-end overl))) | 1480 | (= (ediff-overlay-start overl) (ediff-overlay-end overl))) |
| 1547 | 1481 | ||
| 1548 | ;; like overlay-buffer in Emacs. In XEmacs, returns nil if the extent is | 1482 | (define-obsolete-function-alias 'ediff-overlay-buffer |
| 1549 | ;; dead. Otherwise, works like extent-buffer | 1483 | #'overlay-buffer "27.1") |
| 1550 | (defun ediff-overlay-buffer (overl) | ||
| 1551 | (if (featurep 'xemacs) | ||
| 1552 | (and (extent-live-p overl) (extent-object overl)) | ||
| 1553 | (overlay-buffer overl))) | ||
| 1554 | 1484 | ||
| 1555 | ;; like overlay-get in Emacs. In XEmacs, returns nil if the extent is | 1485 | (define-obsolete-function-alias 'ediff-overlay-get #'overlay-get "27.1") |
| 1556 | ;; dead. Otherwise, like extent-property | ||
| 1557 | (defun ediff-overlay-get (overl property) | ||
| 1558 | (if (featurep 'xemacs) | ||
| 1559 | (and (extent-live-p overl) (extent-property overl property)) | ||
| 1560 | (overlay-get overl property))) | ||
| 1561 | 1486 | ||
| 1562 | 1487 | ||
| 1563 | ;; These two functions are here because XEmacs refuses to | ||
| 1564 | ;; handle overlays whose buffers were deleted. | ||
| 1565 | (defun ediff-move-overlay (overlay beg end &optional buffer) | 1488 | (defun ediff-move-overlay (overlay beg end &optional buffer) |
| 1566 | "Calls `move-overlay' in Emacs and `set-extent-endpoints' in Lemacs. | 1489 | "If OVERLAY's buffer exists, call `move-overlay'." |
| 1567 | Checks if overlay's buffer exists before actually doing the move." | 1490 | (let ((buf (and overlay (overlay-buffer overlay)))) |
| 1568 | (let ((buf (and overlay (ediff-overlay-buffer overlay)))) | ||
| 1569 | (if (ediff-buffer-live-p buf) | 1491 | (if (ediff-buffer-live-p buf) |
| 1570 | (if (featurep 'xemacs) | 1492 | (move-overlay overlay beg end buffer) |
| 1571 | (set-extent-endpoints overlay beg end) | ||
| 1572 | (move-overlay overlay beg end buffer)) | ||
| 1573 | ;; buffer's dead | 1493 | ;; buffer's dead |
| 1574 | (if overlay | 1494 | (if overlay |
| 1575 | (ediff-delete-overlay overlay))))) | 1495 | (delete-overlay overlay))))) |
| 1576 | 1496 | ||
| 1577 | (defun ediff-overlay-put (overlay prop value) | 1497 | (defun ediff-overlay-put (overlay prop value) |
| 1578 | "Calls `overlay-put' or `set-extent-property' depending on Emacs version. | 1498 | "Calls `overlay-put', but checks if overlay's buffer exists." |
| 1579 | Checks if overlay's buffer exists." | 1499 | (if (ediff-buffer-live-p (overlay-buffer overlay)) |
| 1580 | (if (ediff-buffer-live-p (ediff-overlay-buffer overlay)) | 1500 | (overlay-put overlay prop value) |
| 1581 | (if (featurep 'xemacs) | 1501 | (delete-overlay overlay))) |
| 1582 | (set-extent-property overlay prop value) | ||
| 1583 | (overlay-put overlay prop value)) | ||
| 1584 | (ediff-delete-overlay overlay))) | ||
| 1585 | 1502 | ||
| 1586 | ;; temporarily uses DIR to abbreviate file name | 1503 | ;; temporarily uses DIR to abbreviate file name |
| 1587 | ;; if DIR is nil, use default-directory | 1504 | ;; if DIR is nil, use default-directory |
| @@ -1590,10 +1507,7 @@ Checks if overlay's buffer exists." | |||
| 1590 | (let ((directory-abbrev-alist (list (cons dir "")))) | 1507 | (let ((directory-abbrev-alist (list (cons dir "")))) |
| 1591 | (abbreviate-file-name file))) | 1508 | (abbreviate-file-name file))) |
| 1592 | (t | 1509 | (t |
| 1593 | (if (featurep 'xemacs) | 1510 | (abbreviate-file-name file)))) |
| 1594 | ;; XEmacs requires addl argument | ||
| 1595 | (abbreviate-file-name file t) | ||
| 1596 | (abbreviate-file-name file))))) | ||
| 1597 | 1511 | ||
| 1598 | ;; Takes a directory and returns the parent directory. | 1512 | ;; Takes a directory and returns the parent directory. |
| 1599 | ;; does nothing to `/'. If the ARG is a regular file, | 1513 | ;; 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." | |||
| 471 | (ediff-next-meta-item1) | 471 | (ediff-next-meta-item1) |
| 472 | (setq overl (ediff-get-meta-overlay-at-pos (point))) | 472 | (setq overl (ediff-get-meta-overlay-at-pos (point))) |
| 473 | ;; skip invisible ones | 473 | ;; skip invisible ones |
| 474 | (while (and overl (ediff-overlay-get overl 'invisible)) | 474 | (while (and overl (overlay-get overl 'invisible)) |
| 475 | (ediff-next-meta-item1) | 475 | (ediff-next-meta-item1) |
| 476 | (setq overl (ediff-get-meta-overlay-at-pos (point))))))) | 476 | (setq overl (ediff-get-meta-overlay-at-pos (point))))))) |
| 477 | 477 | ||
| @@ -499,7 +499,7 @@ Moves in circular fashion. With numeric prefix arg, skip this many items." | |||
| 499 | (ediff-previous-meta-item1) | 499 | (ediff-previous-meta-item1) |
| 500 | (setq overl (ediff-get-meta-overlay-at-pos (point))) | 500 | (setq overl (ediff-get-meta-overlay-at-pos (point))) |
| 501 | ;; skip invisible ones | 501 | ;; skip invisible ones |
| 502 | (while (and overl (ediff-overlay-get overl 'invisible)) | 502 | (while (and overl (overlay-get overl 'invisible)) |
| 503 | (ediff-previous-meta-item1) | 503 | (ediff-previous-meta-item1) |
| 504 | (setq overl (ediff-get-meta-overlay-at-pos (point))))))) | 504 | (setq overl (ediff-get-meta-overlay-at-pos (point))))))) |
| 505 | 505 | ||
| @@ -929,7 +929,7 @@ behavior." | |||
| 929 | ;; in the meta buffer. If nil, use SPC | 929 | ;; in the meta buffer. If nil, use SPC |
| 930 | (defun ediff-replace-session-activity-marker-in-meta-buffer (point new-marker) | 930 | (defun ediff-replace-session-activity-marker-in-meta-buffer (point new-marker) |
| 931 | (let* ((overl (ediff-get-meta-overlay-at-pos point)) | 931 | (let* ((overl (ediff-get-meta-overlay-at-pos point)) |
| 932 | (session-info (ediff-overlay-get overl 'ediff-meta-info)) | 932 | (session-info (overlay-get overl 'ediff-meta-info)) |
| 933 | (activity-marker (ediff-get-session-activity-marker session-info)) | 933 | (activity-marker (ediff-get-session-activity-marker session-info)) |
| 934 | buffer-read-only) | 934 | buffer-read-only) |
| 935 | (or new-marker activity-marker (setq new-marker ?\s)) | 935 | (or new-marker activity-marker (setq new-marker ?\s)) |
| @@ -944,7 +944,7 @@ behavior." | |||
| 944 | ;; the meta buffer. If nil, use SPC | 944 | ;; the meta buffer. If nil, use SPC |
| 945 | (defun ediff-replace-session-status-in-meta-buffer (point new-status) | 945 | (defun ediff-replace-session-status-in-meta-buffer (point new-status) |
| 946 | (let* ((overl (ediff-get-meta-overlay-at-pos point)) | 946 | (let* ((overl (ediff-get-meta-overlay-at-pos point)) |
| 947 | (session-info (ediff-overlay-get overl 'ediff-meta-info)) | 947 | (session-info (overlay-get overl 'ediff-meta-info)) |
| 948 | (status (ediff-get-session-status session-info)) | 948 | (status (ediff-get-session-status session-info)) |
| 949 | buffer-read-only) | 949 | buffer-read-only) |
| 950 | (setq new-status (or new-status status ?\s)) | 950 | (setq new-status (or new-status status ?\s)) |
| @@ -988,9 +988,7 @@ behavior." | |||
| 988 | (erase-buffer) | 988 | (erase-buffer) |
| 989 | ;; delete phony overlays that used to represent sessions before the buff | 989 | ;; delete phony overlays that used to represent sessions before the buff |
| 990 | ;; was redrawn | 990 | ;; was redrawn |
| 991 | (if (featurep 'xemacs) | 991 | (mapc #'delete-overlay (overlays-in 1 1)) |
| 992 | (map-extents 'delete-extent) | ||
| 993 | (mapc #'delete-overlay (overlays-in 1 1))) | ||
| 994 | 992 | ||
| 995 | (setq regexp (ediff-get-group-regexp meta-list) | 993 | (setq regexp (ediff-get-group-regexp meta-list) |
| 996 | merge-autostore-dir | 994 | merge-autostore-dir |
| @@ -1077,7 +1075,7 @@ behavior." | |||
| 1077 | ;; Do hiding | 1075 | ;; Do hiding |
| 1078 | (if overl (ediff-overlay-put overl 'invisible t))) | 1076 | (if overl (ediff-overlay-put overl 'invisible t))) |
| 1079 | ((and (eq (ediff-get-session-status session-info) ?H) | 1077 | ((and (eq (ediff-get-session-status session-info) ?H) |
| 1080 | overl (ediff-overlay-get overl 'invisible)) | 1078 | overl (overlay-get overl 'invisible)) |
| 1081 | ;; Do unhiding | 1079 | ;; Do unhiding |
| 1082 | (ediff-overlay-put overl 'invisible nil)) | 1080 | (ediff-overlay-put overl 'invisible nil)) |
| 1083 | (t (ediff-replace-session-activity-marker-in-meta-buffer | 1081 | (t (ediff-replace-session-activity-marker-in-meta-buffer |
| @@ -1094,36 +1092,26 @@ behavior." | |||
| 1094 | 1092 | ||
| 1095 | (defun ediff-update-session-marker-in-dir-meta-buffer (session-num) | 1093 | (defun ediff-update-session-marker-in-dir-meta-buffer (session-num) |
| 1096 | (let (buffer-meta-overlays session-info overl buffer-read-only) | 1094 | (let (buffer-meta-overlays session-info overl buffer-read-only) |
| 1097 | (setq overl | 1095 | ;; Splice overlay lists to get all buffer overlays |
| 1098 | (if (featurep 'xemacs) | 1096 | (setq buffer-meta-overlays (overlay-lists) |
| 1099 | (map-extents | 1097 | buffer-meta-overlays (append (car buffer-meta-overlays) |
| 1100 | (lambda (ext _maparg) | 1098 | (cdr buffer-meta-overlays))) |
| 1101 | (if (and | 1099 | (setq overl (car |
| 1102 | (ediff-overlay-get ext 'ediff-meta-info) | 1100 | (delq nil |
| 1103 | (eq (ediff-overlay-get ext 'ediff-meta-session-number) | 1101 | (mapcar |
| 1104 | session-num)) | 1102 | (lambda (overl) |
| 1105 | ext))) | 1103 | (if (and |
| 1106 | ;; Emacs doesn't have map-extents, so try harder | 1104 | (overlay-get overl 'ediff-meta-info) |
| 1107 | ;; Splice overlay lists to get all buffer overlays | 1105 | (eq (overlay-get |
| 1108 | (setq buffer-meta-overlays (overlay-lists) | 1106 | overl 'ediff-meta-session-number) |
| 1109 | buffer-meta-overlays (append (car buffer-meta-overlays) | 1107 | session-num)) |
| 1110 | (cdr buffer-meta-overlays))) | 1108 | overl)) |
| 1111 | (car | 1109 | buffer-meta-overlays)))) |
| 1112 | (delq nil | ||
| 1113 | (mapcar | ||
| 1114 | (lambda (overl) | ||
| 1115 | (if (and | ||
| 1116 | (ediff-overlay-get overl 'ediff-meta-info) | ||
| 1117 | (eq (ediff-overlay-get | ||
| 1118 | overl 'ediff-meta-session-number) | ||
| 1119 | session-num)) | ||
| 1120 | overl)) | ||
| 1121 | buffer-meta-overlays))))) | ||
| 1122 | (or overl | 1110 | (or overl |
| 1123 | (error | 1111 | (error |
| 1124 | "Bug in ediff-update-session-marker-in-dir-meta-buffer: no overlay with given number %S" | 1112 | "Bug in ediff-update-session-marker-in-dir-meta-buffer: no overlay with given number %S" |
| 1125 | session-num)) | 1113 | session-num)) |
| 1126 | (setq session-info (ediff-overlay-get overl 'ediff-meta-info)) | 1114 | (setq session-info (overlay-get overl 'ediff-meta-info)) |
| 1127 | (goto-char (ediff-overlay-start overl)) | 1115 | (goto-char (ediff-overlay-start overl)) |
| 1128 | (ediff-replace-session-activity-marker-in-meta-buffer | 1116 | (ediff-replace-session-activity-marker-in-meta-buffer |
| 1129 | (point) | 1117 | (point) |
| @@ -1434,9 +1422,7 @@ Useful commands: | |||
| 1434 | (erase-buffer) | 1422 | (erase-buffer) |
| 1435 | ;; delete phony overlays that used to represent sessions before the buff | 1423 | ;; delete phony overlays that used to represent sessions before the buff |
| 1436 | ;; was redrawn | 1424 | ;; was redrawn |
| 1437 | (if (featurep 'xemacs) | 1425 | (mapc #'delete-overlay (overlays-in 1 1)) |
| 1438 | (map-extents 'delete-extent) | ||
| 1439 | (mapc #'delete-overlay (overlays-in 1 1))) | ||
| 1440 | 1426 | ||
| 1441 | (insert (substitute-command-keys "\ | 1427 | (insert (substitute-command-keys "\ |
| 1442 | This is a registry of all active Ediff sessions. | 1428 | This is a registry of all active Ediff sessions. |
| @@ -1538,7 +1524,7 @@ Useful commands: | |||
| 1538 | ;; (SESSION-CTL-BUFFER STATUS OBJA OBJB OBJC) | 1524 | ;; (SESSION-CTL-BUFFER STATUS OBJA OBJB OBJC) |
| 1539 | (defun ediff-set-meta-overlay (b e prop &optional session-number hidden) | 1525 | (defun ediff-set-meta-overlay (b e prop &optional session-number hidden) |
| 1540 | (let (overl) | 1526 | (let (overl) |
| 1541 | (setq overl (ediff-make-overlay b e)) | 1527 | (setq overl (make-overlay b e)) |
| 1542 | (ediff-overlay-put overl 'mouse-face 'highlight) | 1528 | (ediff-overlay-put overl 'mouse-face 'highlight) |
| 1543 | (ediff-overlay-put overl 'ediff-meta-info prop) | 1529 | (ediff-overlay-put overl 'ediff-meta-info prop) |
| 1544 | (ediff-overlay-put overl 'invisible hidden) | 1530 | (ediff-overlay-put overl 'invisible hidden) |
| @@ -2167,7 +2153,7 @@ all marked sessions must be active." | |||
| 2167 | (ediff-update-markers-in-dir-meta-buffer ediff-meta-list))) | 2153 | (ediff-update-markers-in-dir-meta-buffer ediff-meta-list))) |
| 2168 | (setq overl (ediff-get-meta-overlay-at-pos (point))) | 2154 | (setq overl (ediff-get-meta-overlay-at-pos (point))) |
| 2169 | ;; skip the invisible sessions | 2155 | ;; skip the invisible sessions |
| 2170 | (while (and overl (ediff-overlay-get overl 'invisible)) | 2156 | (while (and overl (overlay-get overl 'invisible)) |
| 2171 | (ediff-next-meta-item1) | 2157 | (ediff-next-meta-item1) |
| 2172 | (setq overl (ediff-get-meta-overlay-at-pos (point)))) | 2158 | (setq overl (ediff-get-meta-overlay-at-pos (point)))) |
| 2173 | )))) | 2159 | )))) |
| @@ -2259,21 +2245,17 @@ If this is a session registry buffer then just bury it." | |||
| 2259 | ;; If optional NOERROR arg is given, don't report error and return nil if no | 2245 | ;; If optional NOERROR arg is given, don't report error and return nil if no |
| 2260 | ;; meta info is found on line. | 2246 | ;; meta info is found on line. |
| 2261 | (defun ediff-get-meta-info (buf point &optional noerror) | 2247 | (defun ediff-get-meta-info (buf point &optional noerror) |
| 2262 | (let (result olist tmp) | 2248 | (let (result olist) |
| 2263 | (if (and point (ediff-buffer-live-p buf)) | 2249 | (if (and point (ediff-buffer-live-p buf)) |
| 2264 | (ediff-with-current-buffer buf | 2250 | (ediff-with-current-buffer buf |
| 2265 | (if (featurep 'xemacs) | 2251 | (setq olist |
| 2266 | (setq result | 2252 | (mapcar (lambda (elt) |
| 2267 | (if (setq tmp (extent-at point buf 'ediff-meta-info)) | 2253 | (unless (overlay-get elt 'invisible) |
| 2268 | (ediff-overlay-get tmp 'ediff-meta-info))) | 2254 | (overlay-get elt 'ediff-meta-info))) |
| 2269 | (setq olist | 2255 | (overlays-at point))) |
| 2270 | (mapcar (lambda (elt) | 2256 | (while (and olist (null (car olist))) |
| 2271 | (unless (overlay-get elt 'invisible) | 2257 | (setq olist (cdr olist))) |
| 2272 | (overlay-get elt 'ediff-meta-info))) | 2258 | (setq result (car olist)))) |
| 2273 | (overlays-at point))) | ||
| 2274 | (while (and olist (null (car olist))) | ||
| 2275 | (setq olist (cdr olist))) | ||
| 2276 | (setq result (car olist))))) | ||
| 2277 | (or result | 2259 | (or result |
| 2278 | (unless noerror | 2260 | (unless noerror |
| 2279 | (ediff-update-registry) | 2261 | (ediff-update-registry) |
| @@ -2281,21 +2263,19 @@ If this is a session registry buffer then just bury it." | |||
| 2281 | 2263 | ||
| 2282 | 2264 | ||
| 2283 | (defun ediff-get-meta-overlay-at-pos (point) | 2265 | (defun ediff-get-meta-overlay-at-pos (point) |
| 2284 | (if (featurep 'xemacs) | 2266 | (let* ((overl-list (overlays-at point)) |
| 2285 | (extent-at point (current-buffer) 'ediff-meta-info) | 2267 | (overl (car overl-list))) |
| 2286 | (let* ((overl-list (overlays-at point)) | 2268 | (while (and overl (null (overlay-get overl 'ediff-meta-info))) |
| 2287 | (overl (car overl-list))) | 2269 | (setq overl-list (cdr overl-list) |
| 2288 | (while (and overl (null (overlay-get overl 'ediff-meta-info))) | 2270 | overl (car overl-list))) |
| 2289 | (setq overl-list (cdr overl-list) | 2271 | overl)) |
| 2290 | overl (car overl-list))) | ||
| 2291 | overl))) | ||
| 2292 | 2272 | ||
| 2293 | (defun ediff-get-session-number-at-pos (point &optional meta-buffer) | 2273 | (defun ediff-get-session-number-at-pos (point &optional meta-buffer) |
| 2294 | (setq meta-buffer (if (ediff-buffer-live-p meta-buffer) | 2274 | (setq meta-buffer (if (ediff-buffer-live-p meta-buffer) |
| 2295 | meta-buffer | 2275 | meta-buffer |
| 2296 | (current-buffer))) | 2276 | (current-buffer))) |
| 2297 | (ediff-with-current-buffer meta-buffer | 2277 | (ediff-with-current-buffer meta-buffer |
| 2298 | (ediff-overlay-get | 2278 | (overlay-get |
| 2299 | (ediff-get-meta-overlay-at-pos point) 'ediff-meta-session-number))) | 2279 | (ediff-get-meta-overlay-at-pos point) 'ediff-meta-session-number))) |
| 2300 | 2280 | ||
| 2301 | 2281 | ||
| @@ -2304,46 +2284,29 @@ If this is a session registry buffer then just bury it." | |||
| 2304 | (if (eobp) | 2284 | (if (eobp) |
| 2305 | (goto-char (point-min)) | 2285 | (goto-char (point-min)) |
| 2306 | (let ((overl (ediff-get-meta-overlay-at-pos point))) | 2286 | (let ((overl (ediff-get-meta-overlay-at-pos point))) |
| 2307 | (if (featurep 'xemacs) | 2287 | (if overl |
| 2308 | (progn ; xemacs | 2288 | ;; note: end of current overlay is the beginning of the next one |
| 2309 | (if overl | 2289 | (overlay-end overl) |
| 2310 | (setq overl (next-extent overl)) | 2290 | (next-overlay-change point))))) |
| 2311 | (setq overl (next-extent (current-buffer)))) | ||
| 2312 | (if overl | ||
| 2313 | (extent-start-position overl) | ||
| 2314 | (point-max))) | ||
| 2315 | ;; emacs | ||
| 2316 | (if overl | ||
| 2317 | ;; note: end of current overlay is the beginning of the next one | ||
| 2318 | (overlay-end overl) | ||
| 2319 | (next-overlay-change point)))))) | ||
| 2320 | 2291 | ||
| 2321 | 2292 | ||
| 2322 | (defun ediff-previous-meta-overlay-start (point) | 2293 | (defun ediff-previous-meta-overlay-start (point) |
| 2323 | (if (bobp) | 2294 | (if (bobp) |
| 2324 | (goto-char (point-max)) | 2295 | (goto-char (point-max)) |
| 2325 | (let ((overl (ediff-get-meta-overlay-at-pos point))) | 2296 | (let ((overl (ediff-get-meta-overlay-at-pos point))) |
| 2326 | (if (featurep 'xemacs) | 2297 | (if overl (setq point (overlay-start overl))) |
| 2327 | (progn | 2298 | ;; to get to the beginning of prev overlay |
| 2328 | (if overl | 2299 | (if (not (bobp)) |
| 2329 | (setq overl (previous-extent overl)) | 2300 | ;; trick to overcome an emacs bug--doesn't always find previous |
| 2330 | (setq overl (previous-extent (current-buffer)))) | 2301 | ;; overlay change correctly |
| 2331 | (if overl | 2302 | (setq point (1- point))) |
| 2332 | (extent-start-position overl) | 2303 | (setq point (previous-overlay-change point)) |
| 2333 | (point-min))) | 2304 | ;; If we are not over an overlay after subtracting 1, it means we are |
| 2334 | (if overl (setq point (overlay-start overl))) | 2305 | ;; in the description area preceding session records. In this case, |
| 2335 | ;; to get to the beginning of prev overlay | 2306 | ;; goto the top of the registry buffer. |
| 2336 | (if (not (bobp)) | 2307 | (or (car (overlays-at point)) |
| 2337 | ;; trick to overcome an emacs bug--doesn't always find previous | 2308 | (setq point (point-min))) |
| 2338 | ;; overlay change correctly | 2309 | point))) |
| 2339 | (setq point (1- point))) | ||
| 2340 | (setq point (previous-overlay-change point)) | ||
| 2341 | ;; If we are not over an overlay after subtracting 1, it means we are | ||
| 2342 | ;; in the description area preceding session records. In this case, | ||
| 2343 | ;; goto the top of the registry buffer. | ||
| 2344 | (or (car (overlays-at point)) | ||
| 2345 | (setq point (point-min))) | ||
| 2346 | point)))) | ||
| 2347 | 2310 | ||
| 2348 | (autoload 'ediff-patch-file-internal "ediff-ptch") | 2311 | (autoload 'ediff-patch-file-internal "ediff-ptch") |
| 2349 | 2312 | ||
| @@ -2403,10 +2366,10 @@ If this is a session registry buffer then just bury it." | |||
| 2403 | This is used only for sessions that involve 2 or 3 files at the same time. | 2366 | This is used only for sessions that involve 2 or 3 files at the same time. |
| 2404 | ACTION is an optional argument that can be ?h, ?m, ?=, to mark for hiding, mark | 2367 | ACTION is an optional argument that can be ?h, ?m, ?=, to mark for hiding, mark |
| 2405 | for operation, or simply indicate which are equal files. If it is nil, then | 2368 | for operation, or simply indicate which are equal files. If it is nil, then |
| 2406 | `(ediff-last-command-char)' is used to decide which action to take." | 2369 | `last-command-event' is used to decide which action to take." |
| 2407 | (interactive) | 2370 | (interactive) |
| 2408 | (if (null action) | 2371 | (if (null action) |
| 2409 | (setq action (ediff-last-command-char))) | 2372 | (setq action last-command-event)) |
| 2410 | (let ((list (cdr ediff-meta-list)) | 2373 | (let ((list (cdr ediff-meta-list)) |
| 2411 | marked1 marked2 marked3 | 2374 | marked1 marked2 marked3 |
| 2412 | fileinfo1 fileinfo2 fileinfo3 elt) | 2375 | 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 @@ | |||
| 48 | (require 'ediff-wind) | 48 | (require 'ediff-wind) |
| 49 | (require 'ediff-diff) | 49 | (require 'ediff-diff) |
| 50 | (require 'ediff-merg) | 50 | (require 'ediff-merg) |
| 51 | ;; for compatibility with current stable version of xemacs | ||
| 52 | (if (featurep 'xemacs) | ||
| 53 | (require 'ediff-tbar)) | ||
| 54 | 51 | ||
| 55 | 52 | ||
| 56 | ;;; Functions | 53 | ;;; Functions |
| @@ -284,9 +281,6 @@ to invocation.") | |||
| 284 | (make-local-variable 'window-min-height) | 281 | (make-local-variable 'window-min-height) |
| 285 | (setq window-min-height 2) | 282 | (setq window-min-height 2) |
| 286 | 283 | ||
| 287 | (if (featurep 'xemacs) | ||
| 288 | (make-local-hook 'ediff-after-quit-hook-internal)) | ||
| 289 | |||
| 290 | ;; unwrap set up parameters passed as argument | 284 | ;; unwrap set up parameters passed as argument |
| 291 | (while setup-parameters | 285 | (while setup-parameters |
| 292 | (set (car (car setup-parameters)) (cdr (car setup-parameters))) | 286 | (set (car (car setup-parameters)) (cdr (car setup-parameters))) |
| @@ -308,9 +302,6 @@ to invocation.") | |||
| 308 | (if (string-match "buffer" (symbol-name ediff-job-name)) | 302 | (if (string-match "buffer" (symbol-name ediff-job-name)) |
| 309 | (setq ediff-keep-variants t)) | 303 | (setq ediff-keep-variants t)) |
| 310 | 304 | ||
| 311 | (if (featurep 'xemacs) | ||
| 312 | (make-local-hook 'pre-command-hook)) | ||
| 313 | |||
| 314 | (if (ediff-window-display-p) | 305 | (if (ediff-window-display-p) |
| 315 | (add-hook 'pre-command-hook 'ediff-spy-after-mouse nil 'local)) | 306 | (add-hook 'pre-command-hook 'ediff-spy-after-mouse nil 'local)) |
| 316 | (setq ediff-mouse-pixel-position (mouse-pixel-position)) | 307 | (setq ediff-mouse-pixel-position (mouse-pixel-position)) |
| @@ -417,7 +408,6 @@ to invocation.") | |||
| 417 | ;; since these vars are local to control-buffer | 408 | ;; since these vars are local to control-buffer |
| 418 | ;; These won't run if there are errors in diff | 409 | ;; These won't run if there are errors in diff |
| 419 | (ediff-with-current-buffer ediff-buffer-A | 410 | (ediff-with-current-buffer ediff-buffer-A |
| 420 | (ediff-nuke-selective-display) | ||
| 421 | (run-hooks 'ediff-prepare-buffer-hook) | 411 | (run-hooks 'ediff-prepare-buffer-hook) |
| 422 | (if (ediff-with-current-buffer control-buffer ediff-merge-job) | 412 | (if (ediff-with-current-buffer control-buffer ediff-merge-job) |
| 423 | (setq buffer-read-only t)) | 413 | (setq buffer-read-only t)) |
| @@ -431,7 +421,6 @@ to invocation.") | |||
| 431 | ) | 421 | ) |
| 432 | 422 | ||
| 433 | (ediff-with-current-buffer ediff-buffer-B | 423 | (ediff-with-current-buffer ediff-buffer-B |
| 434 | (ediff-nuke-selective-display) | ||
| 435 | (run-hooks 'ediff-prepare-buffer-hook) | 424 | (run-hooks 'ediff-prepare-buffer-hook) |
| 436 | (if (ediff-with-current-buffer control-buffer ediff-merge-job) | 425 | (if (ediff-with-current-buffer control-buffer ediff-merge-job) |
| 437 | (setq buffer-read-only t)) | 426 | (setq buffer-read-only t)) |
| @@ -445,7 +434,6 @@ to invocation.") | |||
| 445 | 434 | ||
| 446 | (if ediff-3way-job | 435 | (if ediff-3way-job |
| 447 | (ediff-with-current-buffer ediff-buffer-C | 436 | (ediff-with-current-buffer ediff-buffer-C |
| 448 | (ediff-nuke-selective-display) | ||
| 449 | ;; the merge buffer should never be narrowed | 437 | ;; the merge buffer should never be narrowed |
| 450 | ;; (it can happen if it is on rmail-mode or similar) | 438 | ;; (it can happen if it is on rmail-mode or similar) |
| 451 | (if (ediff-with-current-buffer control-buffer ediff-merge-job) | 439 | (if (ediff-with-current-buffer control-buffer ediff-merge-job) |
| @@ -463,7 +451,6 @@ to invocation.") | |||
| 463 | 451 | ||
| 464 | (if (ediff-buffer-live-p ediff-ancestor-buffer) | 452 | (if (ediff-buffer-live-p ediff-ancestor-buffer) |
| 465 | (ediff-with-current-buffer ediff-ancestor-buffer | 453 | (ediff-with-current-buffer ediff-ancestor-buffer |
| 466 | (ediff-nuke-selective-display) | ||
| 467 | (setq buffer-read-only t) | 454 | (setq buffer-read-only t) |
| 468 | (run-hooks 'ediff-prepare-buffer-hook) | 455 | (run-hooks 'ediff-prepare-buffer-hook) |
| 469 | (or (memq control-buffer ediff-this-buffer-ediff-sessions) | 456 | (or (memq control-buffer ediff-this-buffer-ediff-sessions) |
| @@ -560,9 +547,6 @@ to invocation.") | |||
| 560 | ediff-wide-display-p)) | 547 | ediff-wide-display-p)) |
| 561 | 548 | ||
| 562 | (set-window-dedicated-p (selected-window) t) | 549 | (set-window-dedicated-p (selected-window) t) |
| 563 | ;; In multiframe, toolbar is set in ediff-setup-control-frame | ||
| 564 | (if (not (ediff-multiframe-setup-p)) | ||
| 565 | (ediff-make-bottom-toolbar)) ; this checks if toolbar is requested | ||
| 566 | (goto-char (point-min)) | 550 | (goto-char (point-min)) |
| 567 | (skip-chars-forward ediff-whitespace))) | 551 | (skip-chars-forward ediff-whitespace))) |
| 568 | 552 | ||
| @@ -773,9 +757,7 @@ Reestablish the default window display." | |||
| 773 | (if (fboundp 'select-frame-set-input-focus) | 757 | (if (fboundp 'select-frame-set-input-focus) |
| 774 | (select-frame-set-input-focus ediff-control-frame) | 758 | (select-frame-set-input-focus ediff-control-frame) |
| 775 | (raise-frame ediff-control-frame) | 759 | (raise-frame ediff-control-frame) |
| 776 | (select-frame ediff-control-frame) | 760 | (select-frame ediff-control-frame))) |
| 777 | (and (featurep 'xemacs) (fboundp 'focus-frame) | ||
| 778 | (focus-frame ediff-control-frame)))) | ||
| 779 | 761 | ||
| 780 | ;; Redisplay whatever buffers are showing, if there is a selected difference | 762 | ;; Redisplay whatever buffers are showing, if there is a selected difference |
| 781 | (let ((control-frame ediff-control-frame) | 763 | (let ((control-frame ediff-control-frame) |
| @@ -831,7 +813,7 @@ Reestablish the default window display." | |||
| 831 | (if window | 813 | (if window |
| 832 | (progn | 814 | (progn |
| 833 | (select-window window) | 815 | (select-window window) |
| 834 | (ediff-deactivate-mark) | 816 | (deactivate-mark) |
| 835 | (ediff-position-region | 817 | (ediff-position-region |
| 836 | (ediff-get-diff-posn buf-type 'beg nil control-buf) | 818 | (ediff-get-diff-posn buf-type 'beg nil control-buf) |
| 837 | (ediff-get-diff-posn buf-type 'end nil control-buf) | 819 | (ediff-get-diff-posn buf-type 'end nil control-buf) |
| @@ -1026,7 +1008,7 @@ of the current buffer." | |||
| 1026 | (interactive) | 1008 | (interactive) |
| 1027 | (ediff-barf-if-not-control-buffer) | 1009 | (ediff-barf-if-not-control-buffer) |
| 1028 | (let ((ctl-buf (if (null buf) (current-buffer))) | 1010 | (let ((ctl-buf (if (null buf) (current-buffer))) |
| 1029 | (buf-type (ediff-char-to-buftype (ediff-last-command-char)))) | 1011 | (buf-type (ediff-char-to-buftype last-command-event))) |
| 1030 | (or buf (ediff-recenter)) | 1012 | (or buf (ediff-recenter)) |
| 1031 | (or buf | 1013 | (or buf |
| 1032 | (setq buf (ediff-get-buffer buf-type))) | 1014 | (setq buf (ediff-get-buffer buf-type))) |
| @@ -1134,10 +1116,7 @@ of the current buffer." | |||
| 1134 | (and (vc-backend file) | 1116 | (and (vc-backend file) |
| 1135 | (if (fboundp 'vc-state) | 1117 | (if (fboundp 'vc-state) |
| 1136 | (or (memq (vc-state file) '(edited needs-merge)) | 1118 | (or (memq (vc-state file) '(edited needs-merge)) |
| 1137 | (stringp (vc-state file))) | 1119 | (stringp (vc-state file))))))) |
| 1138 | ;; XEmacs has no vc-state | ||
| 1139 | (when (featurep 'xemacs) (vc-locking-user file))) | ||
| 1140 | ))) | ||
| 1141 | 1120 | ||
| 1142 | (defun ediff-file-checked-in-p (file) | 1121 | (defun ediff-file-checked-in-p (file) |
| 1143 | (and (featurep 'vc-hooks) | 1122 | (and (featurep 'vc-hooks) |
| @@ -1146,10 +1125,7 @@ of the current buffer." | |||
| 1146 | (if (fboundp 'vc-state) | 1125 | (if (fboundp 'vc-state) |
| 1147 | (and | 1126 | (and |
| 1148 | (not (memq (vc-state file) '(edited needs-merge))) | 1127 | (not (memq (vc-state file) '(edited needs-merge))) |
| 1149 | (not (stringp (vc-state file)))) | 1128 | (not (stringp (vc-state file))))))) |
| 1150 | ;; XEmacs has no vc-state | ||
| 1151 | (when (featurep 'xemacs) (not (vc-locking-user file)))) | ||
| 1152 | )) | ||
| 1153 | 1129 | ||
| 1154 | (defun ediff-file-compressed-p (file) | 1130 | (defun ediff-file-compressed-p (file) |
| 1155 | (require 'jka-compr) | 1131 | (require 'jka-compr) |
| @@ -1274,7 +1250,6 @@ This is especially useful when comparing buffers side-by-side." | |||
| 1274 | (ediff-with-current-buffer ctl-buf | 1250 | (ediff-with-current-buffer ctl-buf |
| 1275 | (modify-frame-parameters | 1251 | (modify-frame-parameters |
| 1276 | ediff-wide-display-frame ediff-wide-display-orig-parameters) | 1252 | ediff-wide-display-frame ediff-wide-display-orig-parameters) |
| 1277 | ;;(sit-for (if (featurep 'xemacs) 0.4 0)) | ||
| 1278 | ;; restore control buf, since ctl window may have been deleted | 1253 | ;; restore control buf, since ctl window may have been deleted |
| 1279 | ;; during resizing | 1254 | ;; during resizing |
| 1280 | (set-buffer ctl-buf) | 1255 | (set-buffer ctl-buf) |
| @@ -1282,7 +1257,6 @@ This is especially useful when comparing buffers side-by-side." | |||
| 1282 | ediff-window-B nil) ; force update of window config | 1257 | ediff-window-B nil) ; force update of window config |
| 1283 | (ediff-recenter 'no-rehighlight)) | 1258 | (ediff-recenter 'no-rehighlight)) |
| 1284 | (funcall ediff-make-wide-display-function) | 1259 | (funcall ediff-make-wide-display-function) |
| 1285 | ;;(sit-for (if (featurep 'xemacs) 0.4 0)) | ||
| 1286 | (ediff-with-current-buffer ctl-buf | 1260 | (ediff-with-current-buffer ctl-buf |
| 1287 | (setq ediff-window-B nil) ; force update of window config | 1261 | (setq ediff-window-B nil) ; force update of window config |
| 1288 | (ediff-recenter 'no-rehighlight))))) | 1262 | (ediff-recenter 'no-rehighlight))))) |
| @@ -1302,8 +1276,6 @@ which see." | |||
| 1302 | (setq window-setup-func #'ediff-setup-windows-plain) | 1276 | (setq window-setup-func #'ediff-setup-windows-plain) |
| 1303 | (message "ediff is now in 'plain' mode")) | 1277 | (message "ediff is now in 'plain' mode")) |
| 1304 | ((eq ediff-window-setup-function #'ediff-setup-windows-plain) | 1278 | ((eq ediff-window-setup-function #'ediff-setup-windows-plain) |
| 1305 | (if (ediff-in-control-buffer-p) | ||
| 1306 | (ediff-kill-bottom-toolbar)) | ||
| 1307 | (if (and (ediff-buffer-live-p ediff-control-buffer) | 1279 | (if (and (ediff-buffer-live-p ediff-control-buffer) |
| 1308 | (window-live-p ediff-control-window)) | 1280 | (window-live-p ediff-control-window)) |
| 1309 | (set-window-dedicated-p ediff-control-window nil)) | 1281 | (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." | |||
| 1342 | (progn | 1314 | (progn |
| 1343 | (or (ediff-window-display-p) | 1315 | (or (ediff-window-display-p) |
| 1344 | (user-error "Emacs is not running as a window application")) | 1316 | (user-error "Emacs is not running as a window application")) |
| 1345 | (if (ediff-use-toolbar-p) | ||
| 1346 | (ediff-kill-bottom-toolbar)) | ||
| 1347 | ;; do this only after killing the toolbar | 1317 | ;; do this only after killing the toolbar |
| 1348 | (setq ediff-use-toolbar-p (not ediff-use-toolbar-p)) | 1318 | (setq ediff-use-toolbar-p (not ediff-use-toolbar-p)) |
| 1349 | 1319 | ||
| @@ -1357,36 +1327,8 @@ To change the default, set the variable `ediff-use-toolbar-p', which see." | |||
| 1357 | (ediff-recenter 'no-rehighlight))))) | 1327 | (ediff-recenter 'no-rehighlight))))) |
| 1358 | 1328 | ||
| 1359 | 1329 | ||
| 1360 | ;; if was using toolbar, kill it | 1330 | (define-obsolete-function-alias 'ediff-kill-bottom-toolbar #'ignore "27.1") |
| 1361 | (defun ediff-kill-bottom-toolbar () | 1331 | (define-obsolete-function-alias 'ediff-make-bottom-toolbar #'ignore "27.1") |
| 1362 | ;; Using ctl-buffer or ediff-control-window for LOCALE does not | ||
| 1363 | ;; work properly in XEmacs 19.14: we have to use | ||
| 1364 | ;;(selected-frame). | ||
| 1365 | ;; The problem with this is that any previous bottom-toolbar | ||
| 1366 | ;; will not re-appear after our cleanup here. Is there a way | ||
| 1367 | ;; to do "push" and "pop" toolbars ? --marcpa | ||
| 1368 | (if (featurep 'xemacs) | ||
| 1369 | (when (ediff-use-toolbar-p) | ||
| 1370 | (set-specifier bottom-toolbar (list (selected-frame) nil)) | ||
| 1371 | (set-specifier bottom-toolbar-visible-p (list (selected-frame) nil))))) | ||
| 1372 | |||
| 1373 | ;; If wants to use toolbar, make it. | ||
| 1374 | ;; If not, zero the toolbar for XEmacs. | ||
| 1375 | ;; Do nothing for Emacs. | ||
| 1376 | (defun ediff-make-bottom-toolbar (&optional frame) | ||
| 1377 | (when (ediff-window-display-p) | ||
| 1378 | (setq frame (or frame (selected-frame))) | ||
| 1379 | (if (featurep 'xemacs) | ||
| 1380 | (cond ((ediff-use-toolbar-p) ; this checks for XEmacs | ||
| 1381 | (set-specifier | ||
| 1382 | bottom-toolbar | ||
| 1383 | (list frame (if (ediff-3way-comparison-job) | ||
| 1384 | ediff-toolbar-3way ediff-toolbar))) | ||
| 1385 | (set-specifier bottom-toolbar-visible-p (list frame t)) | ||
| 1386 | (set-specifier bottom-toolbar-height | ||
| 1387 | (list frame ediff-toolbar-height))) | ||
| 1388 | ((ediff-has-toolbar-support-p) | ||
| 1389 | (set-specifier bottom-toolbar-height (list frame 0))))))) | ||
| 1390 | 1332 | ||
| 1391 | ;; Merging | 1333 | ;; Merging |
| 1392 | 1334 | ||
| @@ -1449,15 +1391,15 @@ Used in ediff-windows/regions only." | |||
| 1449 | 'C ediff-visible-bounds)) | 1391 | 'C ediff-visible-bounds)) |
| 1450 | ) | 1392 | ) |
| 1451 | (ediff-with-current-buffer ediff-buffer-A | 1393 | (ediff-with-current-buffer ediff-buffer-A |
| 1452 | (if (ediff-overlay-buffer overl-A) | 1394 | (if (overlay-buffer overl-A) |
| 1453 | (narrow-to-region | 1395 | (narrow-to-region |
| 1454 | (ediff-overlay-start overl-A) (ediff-overlay-end overl-A)))) | 1396 | (ediff-overlay-start overl-A) (ediff-overlay-end overl-A)))) |
| 1455 | (ediff-with-current-buffer ediff-buffer-B | 1397 | (ediff-with-current-buffer ediff-buffer-B |
| 1456 | (if (ediff-overlay-buffer overl-B) | 1398 | (if (overlay-buffer overl-B) |
| 1457 | (narrow-to-region | 1399 | (narrow-to-region |
| 1458 | (ediff-overlay-start overl-B) (ediff-overlay-end overl-B)))) | 1400 | (ediff-overlay-start overl-B) (ediff-overlay-end overl-B)))) |
| 1459 | 1401 | ||
| 1460 | (if (and ediff-3way-job (ediff-overlay-buffer overl-C)) | 1402 | (if (and ediff-3way-job (overlay-buffer overl-C)) |
| 1461 | (ediff-with-current-buffer ediff-buffer-C | 1403 | (ediff-with-current-buffer ediff-buffer-C |
| 1462 | (narrow-to-region | 1404 | (narrow-to-region |
| 1463 | (ediff-overlay-start overl-C) (ediff-overlay-end overl-C)))) | 1405 | (ediff-overlay-start overl-C) (ediff-overlay-end overl-C)))) |
| @@ -1540,7 +1482,7 @@ the one half of the height of window-A." | |||
| 1540 | (error ediff-KILLED-VITAL-BUFFER)) | 1482 | (error ediff-KILLED-VITAL-BUFFER)) |
| 1541 | 1483 | ||
| 1542 | (ediff-operate-on-windows | 1484 | (ediff-operate-on-windows |
| 1543 | (if (memq (ediff-last-command-char) '(?v ?\C-v)) | 1485 | (if (memq last-command-event '(?v ?\C-v)) |
| 1544 | #'scroll-up | 1486 | #'scroll-up |
| 1545 | #'scroll-down) | 1487 | #'scroll-down) |
| 1546 | ;; calculate argument to scroll-up/down | 1488 | ;; calculate argument to scroll-up/down |
| @@ -1595,7 +1537,7 @@ the width of the A/B/C windows." | |||
| 1595 | ;; interactively so that they set the window's min_hscroll. | 1537 | ;; interactively so that they set the window's min_hscroll. |
| 1596 | ;; Otherwise, automatic hscrolling will undo the effect of | 1538 | ;; Otherwise, automatic hscrolling will undo the effect of |
| 1597 | ;; hscrolling. | 1539 | ;; hscrolling. |
| 1598 | (if (= (ediff-last-command-char) ?<) | 1540 | (if (= last-command-event ?<) |
| 1599 | (lambda (arg) | 1541 | (lambda (arg) |
| 1600 | (let ((prefix-arg arg)) | 1542 | (let ((prefix-arg arg)) |
| 1601 | (call-interactively #'scroll-left))) | 1543 | (call-interactively #'scroll-left))) |
| @@ -1867,7 +1809,7 @@ With a prefix argument, synchronize all files around the current point position | |||
| 1867 | in the specified buffer." | 1809 | in the specified buffer." |
| 1868 | (interactive "P") | 1810 | (interactive "P") |
| 1869 | (ediff-barf-if-not-control-buffer) | 1811 | (ediff-barf-if-not-control-buffer) |
| 1870 | (let* ((buf-type (ediff-char-to-buftype (ediff-last-command-char))) | 1812 | (let* ((buf-type (ediff-char-to-buftype last-command-event)) |
| 1871 | (buffer (ediff-get-buffer buf-type)) | 1813 | (buffer (ediff-get-buffer buf-type)) |
| 1872 | (pt (ediff-with-current-buffer buffer (point))) | 1814 | (pt (ediff-with-current-buffer buffer (point))) |
| 1873 | (diff-no (ediff-diff-at-point buf-type nil (if arg 'after))) | 1815 | (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." | |||
| 1975 | (if (eq arg '-) (setq arg -1)) ; translate neg arg to -1 | 1917 | (if (eq arg '-) (setq arg -1)) ; translate neg arg to -1 |
| 1976 | (if (numberp arg) (ediff-jump-to-difference arg)) | 1918 | (if (numberp arg) (ediff-jump-to-difference arg)) |
| 1977 | 1919 | ||
| 1978 | (let* ((key1 (aref keys 0)) | 1920 | (let* ((char1 (aref keys 0)) |
| 1979 | (key2 (aref keys 1)) | 1921 | (char2 (aref keys 1)) |
| 1980 | (char1 (ediff-event-key key1)) | ||
| 1981 | (char2 (ediff-event-key key2)) | ||
| 1982 | ediff-verbose-p) | 1922 | ediff-verbose-p) |
| 1983 | (ediff-copy-diff ediff-current-difference | 1923 | (ediff-copy-diff ediff-current-difference |
| 1984 | (ediff-char-to-buftype char1) | 1924 | (ediff-char-to-buftype char1) |
| @@ -2209,7 +2149,7 @@ determine the target buffer instead of `ediff-last-command-char'." | |||
| 2209 | (if (numberp arg) | 2149 | (if (numberp arg) |
| 2210 | (ediff-jump-to-difference arg)) | 2150 | (ediff-jump-to-difference arg)) |
| 2211 | (ediff-pop-diff ediff-current-difference | 2151 | (ediff-pop-diff ediff-current-difference |
| 2212 | (ediff-char-to-buftype (or key (ediff-last-command-char)))) | 2152 | (ediff-char-to-buftype (or key last-command-event))) |
| 2213 | ;; recenter with rehighlighting, but no messages | 2153 | ;; recenter with rehighlighting, but no messages |
| 2214 | (let (ediff-verbose-p) | 2154 | (let (ediff-verbose-p) |
| 2215 | (ediff-recenter))) | 2155 | (ediff-recenter))) |
| @@ -2233,13 +2173,13 @@ a regular expression typed in by the user." | |||
| 2233 | (cond | 2173 | (cond |
| 2234 | ((or (and (eq ediff-skip-diff-region-function | 2174 | ((or (and (eq ediff-skip-diff-region-function |
| 2235 | ediff-focus-on-regexp-matches-function) | 2175 | ediff-focus-on-regexp-matches-function) |
| 2236 | (eq (ediff-last-command-char) ?f)) | 2176 | (eq last-command-event ?f)) |
| 2237 | (and (eq ediff-skip-diff-region-function | 2177 | (and (eq ediff-skip-diff-region-function |
| 2238 | ediff-hide-regexp-matches-function) | 2178 | ediff-hide-regexp-matches-function) |
| 2239 | (eq (ediff-last-command-char) ?h))) | 2179 | (eq last-command-event ?h))) |
| 2240 | (message "Selective browsing by regexp turned off") | 2180 | (message "Selective browsing by regexp turned off") |
| 2241 | (setq ediff-skip-diff-region-function #'ediff-show-all-diffs)) | 2181 | (setq ediff-skip-diff-region-function #'ediff-show-all-diffs)) |
| 2242 | ((eq (ediff-last-command-char) ?h) | 2182 | ((eq last-command-event ?h) |
| 2243 | (setq ediff-skip-diff-region-function ediff-hide-regexp-matches-function | 2183 | (setq ediff-skip-diff-region-function ediff-hide-regexp-matches-function |
| 2244 | regexp-A | 2184 | regexp-A |
| 2245 | (read-string | 2185 | (read-string |
| @@ -2277,7 +2217,7 @@ a regular expression typed in by the user." | |||
| 2277 | (or (string= regexp-B "") (setq ediff-regexp-hide-B regexp-B)) | 2217 | (or (string= regexp-B "") (setq ediff-regexp-hide-B regexp-B)) |
| 2278 | (or (string= regexp-C "") (setq ediff-regexp-hide-C regexp-C))) | 2218 | (or (string= regexp-C "") (setq ediff-regexp-hide-C regexp-C))) |
| 2279 | 2219 | ||
| 2280 | ((eq (ediff-last-command-char) ?f) | 2220 | ((eq last-command-event ?f) |
| 2281 | (setq ediff-skip-diff-region-function | 2221 | (setq ediff-skip-diff-region-function |
| 2282 | ediff-focus-on-regexp-matches-function | 2222 | ediff-focus-on-regexp-matches-function |
| 2283 | regexp-A | 2223 | regexp-A |
| @@ -2467,12 +2407,12 @@ temporarily reverses the meaning of this variable." | |||
| 2467 | ;; Apply selective display to narrow or widen | 2407 | ;; Apply selective display to narrow or widen |
| 2468 | (ediff-visible-region) | 2408 | (ediff-visible-region) |
| 2469 | (mapc (lambda (overl) | 2409 | (mapc (lambda (overl) |
| 2470 | (if (ediff-overlayp overl) | 2410 | (if (overlayp overl) |
| 2471 | (ediff-delete-overlay overl))) | 2411 | (delete-overlay overl))) |
| 2472 | ediff-wide-bounds) | 2412 | ediff-wide-bounds) |
| 2473 | (mapc (lambda (overl) | 2413 | (mapc (lambda (overl) |
| 2474 | (if (ediff-overlayp overl) | 2414 | (if (overlayp overl) |
| 2475 | (ediff-delete-overlay overl))) | 2415 | (delete-overlay overl))) |
| 2476 | ediff-narrow-bounds) | 2416 | ediff-narrow-bounds) |
| 2477 | 2417 | ||
| 2478 | ;; restore buffer mode line id's in buffer-A/B/C | 2418 | ;; restore buffer mode line id's in buffer-A/B/C |
| @@ -2619,10 +2559,6 @@ temporarily reverses the meaning of this variable." | |||
| 2619 | ((window-live-p ctl-wind) | 2559 | ((window-live-p ctl-wind) |
| 2620 | (delete-window ctl-wind))) | 2560 | (delete-window ctl-wind))) |
| 2621 | 2561 | ||
| 2622 | ;; Hide bottom toolbar. --marcpa | ||
| 2623 | (if (not (ediff-multiframe-setup-p)) | ||
| 2624 | (ediff-kill-bottom-toolbar)) | ||
| 2625 | |||
| 2626 | (ediff-kill-buffer-carefully ctl-buf) | 2562 | (ediff-kill-buffer-carefully ctl-buf) |
| 2627 | 2563 | ||
| 2628 | (if (frame-live-p main-frame) | 2564 | (if (frame-live-p main-frame) |
| @@ -3060,9 +2996,7 @@ Hit \\[ediff-recenter] to reset the windows afterward." | |||
| 3060 | (ediff-get-symbol-from-alist | 2996 | (ediff-get-symbol-from-alist |
| 3061 | buf-type ediff-current-diff-overlay-alist)))) | 2997 | buf-type ediff-current-diff-overlay-alist)))) |
| 3062 | 2998 | ||
| 3063 | (if (featurep 'xemacs) | 2999 | (ediff-move-overlay current-diff-overlay begin end-hilit buff) |
| 3064 | (ediff-move-overlay current-diff-overlay begin end-hilit) | ||
| 3065 | (ediff-move-overlay current-diff-overlay begin end-hilit buff)) | ||
| 3066 | (ediff-overlay-put current-diff-overlay 'ediff-diff-num n) | 3000 | (ediff-overlay-put current-diff-overlay 'ediff-diff-num n) |
| 3067 | 3001 | ||
| 3068 | ;; unhighlight the background overlay for diff n so it won't | 3002 | ;; unhighlight the background overlay for diff n so it won't |
| @@ -3101,8 +3035,8 @@ Hit \\[ediff-recenter] to reset the windows afterward." | |||
| 3101 | buf-type ediff-current-diff-overlay-alist)) | 3035 | buf-type ediff-current-diff-overlay-alist)) |
| 3102 | (current-diff-overlay (symbol-value current-diff-overlay-var))) | 3036 | (current-diff-overlay (symbol-value current-diff-overlay-var))) |
| 3103 | (ediff-paint-background-regions 'unhighlight) | 3037 | (ediff-paint-background-regions 'unhighlight) |
| 3104 | (if (ediff-overlayp current-diff-overlay) | 3038 | (if (overlayp current-diff-overlay) |
| 3105 | (ediff-delete-overlay current-diff-overlay)) | 3039 | (delete-overlay current-diff-overlay)) |
| 3106 | (set current-diff-overlay-var nil) | 3040 | (set current-diff-overlay-var nil) |
| 3107 | ))) | 3041 | ))) |
| 3108 | 3042 | ||
| @@ -3351,10 +3285,10 @@ Without an argument, it saves customized diff argument, if available | |||
| 3351 | (ediff-barf-if-not-control-buffer) | 3285 | (ediff-barf-if-not-control-buffer) |
| 3352 | (ediff-compute-custom-diffs-maybe) | 3286 | (ediff-compute-custom-diffs-maybe) |
| 3353 | (ediff-with-current-buffer | 3287 | (ediff-with-current-buffer |
| 3354 | (cond ((memq (ediff-last-command-char) '(?a ?b ?c)) | 3288 | (cond ((memq last-command-event '(?a ?b ?c)) |
| 3355 | (ediff-get-buffer | 3289 | (ediff-get-buffer |
| 3356 | (ediff-char-to-buftype (ediff-last-command-char)))) | 3290 | (ediff-char-to-buftype last-command-event))) |
| 3357 | ((eq (ediff-last-command-char) ?d) | 3291 | ((eq last-command-event ?d) |
| 3358 | (message "Saving diff output ...") | 3292 | (message "Saving diff output ...") |
| 3359 | (sit-for 1) ; let the user see the message | 3293 | (sit-for 1) ; let the user see the message |
| 3360 | (cond ((and arg (ediff-buffer-live-p ediff-diff-buffer)) | 3294 | (cond ((and arg (ediff-buffer-live-p ediff-diff-buffer)) |
| @@ -3440,15 +3374,14 @@ Without an argument, it saves customized diff argument, if available | |||
| 3440 | 3374 | ||
| 3441 | 3375 | ||
| 3442 | (defun ediff-make-cloned-buffer (buff region-name) | 3376 | (defun ediff-make-cloned-buffer (buff region-name) |
| 3443 | (ediff-make-indirect-buffer | 3377 | (make-indirect-buffer |
| 3444 | buff (generate-new-buffer-name | 3378 | buff (generate-new-buffer-name |
| 3445 | (concat (if (stringp buff) buff (buffer-name buff)) region-name)))) | 3379 | (concat (if (stringp buff) buff (buffer-name buff)) region-name)) |
| 3446 | 3380 | 'clone)) | |
| 3447 | 3381 | ||
| 3448 | (defun ediff-make-indirect-buffer (base-buf indirect-buf-name) | 3382 | (defun ediff-make-indirect-buffer (base-buf indirect-buf-name) |
| 3449 | (if (featurep 'xemacs) | 3383 | (declare (obsolete make-indirect-buffer "27.1")) |
| 3450 | (make-indirect-buffer base-buf indirect-buf-name) | 3384 | (make-indirect-buffer base-buf indirect-buf-name 'clone)) |
| 3451 | (make-indirect-buffer base-buf indirect-buf-name 'clone))) | ||
| 3452 | 3385 | ||
| 3453 | 3386 | ||
| 3454 | ;; This function operates only from an ediff control buffer | 3387 | ;; This function operates only from an ediff control buffer |
| @@ -3647,14 +3580,8 @@ Ediff Control Panel to restore highlighting." | |||
| 3647 | (defun ediff-remove-flags-from-buffer (buffer overlay) | 3580 | (defun ediff-remove-flags-from-buffer (buffer overlay) |
| 3648 | (ediff-with-current-buffer buffer | 3581 | (ediff-with-current-buffer buffer |
| 3649 | (let ((inhibit-read-only t)) | 3582 | (let ((inhibit-read-only t)) |
| 3650 | (if (featurep 'xemacs) | 3583 | (ediff-overlay-put overlay 'before-string nil) |
| 3651 | (ediff-overlay-put overlay 'begin-glyph nil) | 3584 | (ediff-overlay-put overlay 'after-string nil)))) |
| 3652 | (ediff-overlay-put overlay 'before-string nil)) | ||
| 3653 | |||
| 3654 | (if (featurep 'xemacs) | ||
| 3655 | (ediff-overlay-put overlay 'end-glyph nil) | ||
| 3656 | (ediff-overlay-put overlay 'after-string nil)) | ||
| 3657 | ))) | ||
| 3658 | 3585 | ||
| 3659 | 3586 | ||
| 3660 | 3587 | ||
| @@ -3679,9 +3606,7 @@ Ediff Control Panel to restore highlighting." | |||
| 3679 | ediff-before-flag-bol ediff-before-flag-mol)))) | 3606 | ediff-before-flag-bol ediff-before-flag-mol)))) |
| 3680 | 3607 | ||
| 3681 | ;; insert the flag itself | 3608 | ;; insert the flag itself |
| 3682 | (if (featurep 'xemacs) | 3609 | (ediff-overlay-put curr-overl 'before-string flag) |
| 3683 | (ediff-overlay-put curr-overl 'begin-glyph flag) | ||
| 3684 | (ediff-overlay-put curr-overl 'before-string flag)) | ||
| 3685 | 3610 | ||
| 3686 | ;; insert the flag after the difference | 3611 | ;; insert the flag after the difference |
| 3687 | ;; `after' must be set here, after the before-flag was inserted | 3612 | ;; `after' must be set here, after the before-flag was inserted |
| @@ -3695,10 +3620,7 @@ Ediff Control Panel to restore highlighting." | |||
| 3695 | ediff-after-flag-eol ediff-after-flag-mol)))) | 3620 | ediff-after-flag-eol ediff-after-flag-mol)))) |
| 3696 | 3621 | ||
| 3697 | ;; insert the flag itself | 3622 | ;; insert the flag itself |
| 3698 | (if (featurep 'xemacs) | 3623 | (ediff-overlay-put curr-overl 'after-string flag))) |
| 3699 | (ediff-overlay-put curr-overl 'end-glyph flag) | ||
| 3700 | (ediff-overlay-put curr-overl 'after-string flag)) | ||
| 3701 | )) | ||
| 3702 | 3624 | ||
| 3703 | 3625 | ||
| 3704 | ;;; Some diff region tests | 3626 | ;;; Some diff region tests |
| @@ -3758,7 +3680,7 @@ Ediff Control Panel to restore highlighting." | |||
| 3758 | this-command (1+ n) ediff-number-of-differences) | 3680 | this-command (1+ n) ediff-number-of-differences) |
| 3759 | (error ediff-NO-DIFFERENCES))) | 3681 | (error ediff-NO-DIFFERENCES))) |
| 3760 | (setq diff-overlay (ediff-get-diff-overlay n buf-type))) | 3682 | (setq diff-overlay (ediff-get-diff-overlay n buf-type))) |
| 3761 | (if (not (ediff-buffer-live-p (ediff-overlay-buffer diff-overlay))) | 3683 | (if (not (ediff-buffer-live-p (overlay-buffer diff-overlay))) |
| 3762 | (error ediff-KILLED-VITAL-BUFFER)) | 3684 | (error ediff-KILLED-VITAL-BUFFER)) |
| 3763 | (if (eq pos 'beg) | 3685 | (if (eq pos 'beg) |
| 3764 | (ediff-overlay-start diff-overlay) | 3686 | (ediff-overlay-start diff-overlay) |
| @@ -3784,8 +3706,7 @@ Ediff Control Panel to restore highlighting." | |||
| 3784 | (defun ediff-clear-diff-vector (vec-var &optional fine-diffs-also) | 3706 | (defun ediff-clear-diff-vector (vec-var &optional fine-diffs-also) |
| 3785 | (if (vectorp (symbol-value vec-var)) | 3707 | (if (vectorp (symbol-value vec-var)) |
| 3786 | (mapc (lambda (elt) | 3708 | (mapc (lambda (elt) |
| 3787 | (ediff-delete-overlay | 3709 | (delete-overlay (ediff-get-diff-overlay-from-diff-record elt)) |
| 3788 | (ediff-get-diff-overlay-from-diff-record elt)) | ||
| 3789 | (if fine-diffs-also | 3710 | (if fine-diffs-also |
| 3790 | (ediff-clear-fine-diff-vector elt)) | 3711 | (ediff-clear-fine-diff-vector elt)) |
| 3791 | ) | 3712 | ) |
| @@ -3813,19 +3734,11 @@ Ediff Control Panel to restore highlighting." | |||
| 3813 | (setq beg (eval beg))) | 3734 | (setq beg (eval beg))) |
| 3814 | (or (number-or-marker-p end) | 3735 | (or (number-or-marker-p end) |
| 3815 | (setq end (eval end))) | 3736 | (setq end (eval end))) |
| 3816 | (setq overl | 3737 | ;; advance front and rear of the overlay |
| 3817 | (if (featurep 'xemacs) | 3738 | (setq overl (make-overlay beg end buff nil 'rear-advance)) |
| 3818 | (make-extent beg end buff) | ||
| 3819 | ;; advance front and rear of the overlay | ||
| 3820 | (make-overlay beg end buff nil 'rear-advance))) | ||
| 3821 | 3739 | ||
| 3822 | ;; never detach | 3740 | ;; never detach |
| 3823 | (ediff-overlay-put overl 'evaporate nil) | 3741 | (ediff-overlay-put overl 'evaporate nil) |
| 3824 | ;; make overlay open-ended | ||
| 3825 | ;; In emacs, it is made open ended at creation time | ||
| 3826 | (when (featurep 'xemacs) | ||
| 3827 | (ediff-overlay-put overl 'start-open nil) | ||
| 3828 | (ediff-overlay-put overl 'end-open nil)) | ||
| 3829 | (ediff-overlay-put overl 'ediff-diff-num 0) | 3742 | (ediff-overlay-put overl 'ediff-diff-num 0) |
| 3830 | overl)))) | 3743 | overl)))) |
| 3831 | 3744 | ||
| @@ -3983,7 +3896,7 @@ Ediff Control Panel to restore highlighting." | |||
| 3983 | (defvar ediff-buffer-name) | 3896 | (defvar ediff-buffer-name) |
| 3984 | (let ((reporter-prompt-for-summary-p t) | 3897 | (let ((reporter-prompt-for-summary-p t) |
| 3985 | (ctl-buf ediff-control-buffer) | 3898 | (ctl-buf ediff-control-buffer) |
| 3986 | (ediff-device-type (ediff-device-type)) | 3899 | (ediff-device-type window-system) |
| 3987 | varlist salutation ediff-buffer-name) | 3900 | varlist salutation ediff-buffer-name) |
| 3988 | (setq varlist '(ediff-diff-program ediff-diff-options | 3901 | (setq varlist '(ediff-diff-program ediff-diff-options |
| 3989 | ediff-diff3-program ediff-diff3-options | 3902 | ediff-diff3-program ediff-diff3-options |
| @@ -4091,22 +4004,13 @@ Mail anyway? (y or n) ") | |||
| 4091 | ) | 4004 | ) |
| 4092 | 4005 | ||
| 4093 | 4006 | ||
| 4094 | (defun ediff-deactivate-mark () | 4007 | (define-obsolete-function-alias 'ediff-deactivate-mark #'deactivate-mark "27.1") |
| 4095 | (if (featurep 'xemacs) | ||
| 4096 | (zmacs-deactivate-region) | ||
| 4097 | (deactivate-mark))) | ||
| 4098 | 4008 | ||
| 4099 | (defun ediff-activate-mark () | 4009 | (defun ediff-activate-mark () |
| 4100 | (if (featurep 'xemacs) | 4010 | (make-local-variable 'transient-mark-mode) |
| 4101 | (zmacs-activate-region) | 4011 | (setq mark-active 'ediff-util transient-mark-mode t)) |
| 4102 | (make-local-variable 'transient-mark-mode) | ||
| 4103 | (setq mark-active 'ediff-util transient-mark-mode t))) | ||
| 4104 | |||
| 4105 | (defun ediff-nuke-selective-display () | ||
| 4106 | (if (featurep 'xemacs) | ||
| 4107 | (nuke-selective-display) | ||
| 4108 | )) | ||
| 4109 | 4012 | ||
| 4013 | (define-obsolete-function-alias 'ediff-nuke-selective-display #'ignore "27.1") | ||
| 4110 | 4014 | ||
| 4111 | ;; The next two are modified versions from emerge.el. | 4015 | ;; The next two are modified versions from emerge.el. |
| 4112 | ;; VARS must be a list of symbols | 4016 | ;; VARS must be a list of symbols |
| @@ -4189,9 +4093,6 @@ Mail anyway? (y or n) ") | |||
| 4189 | (interactive) | 4093 | (interactive) |
| 4190 | (ediff-barf-if-not-control-buffer) | 4094 | (ediff-barf-if-not-control-buffer) |
| 4191 | 4095 | ||
| 4192 | (if (featurep 'xemacs) | ||
| 4193 | (make-local-hook 'post-command-hook)) | ||
| 4194 | |||
| 4195 | (let ((pre-hook 'pre-command-hook) | 4096 | (let ((pre-hook 'pre-command-hook) |
| 4196 | (post-hook 'post-command-hook)) | 4097 | (post-hook 'post-command-hook)) |
| 4197 | (if (not (equal ediff-command-begin-time '(0 0 0))) | 4098 | (if (not (equal ediff-command-begin-time '(0 0 0))) |
| @@ -4214,7 +4115,7 @@ Mail anyway? (y or n) ") | |||
| 4214 | \t\tState-of-diff:\t %S | 4115 | \t\tState-of-diff:\t %S |
| 4215 | \t\tState-of-merge:\t %S | 4116 | \t\tState-of-merge:\t %S |
| 4216 | " | 4117 | " |
| 4217 | (1+ (ediff-overlay-get (aref overl-vec 0) 'ediff-diff-num)) | 4118 | (1+ (overlay-get (aref overl-vec 0) 'ediff-diff-num)) |
| 4218 | (aref overl-vec 0) | 4119 | (aref overl-vec 0) |
| 4219 | ;; fine-diff-vector | 4120 | ;; fine-diff-vector |
| 4220 | (if (= (length (aref overl-vec 1)) 0) | 4121 | (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." | |||
| 151 | (const :tag "Split horizontally" split-window-horizontally) | 151 | (const :tag "Split horizontally" split-window-horizontally) |
| 152 | function)) | 152 | function)) |
| 153 | 153 | ||
| 154 | ;; Definitions hidden from the compiler by compat wrappers. | ||
| 155 | (declare-function ediff-display-pixel-width "ediff-init") | ||
| 156 | (declare-function ediff-display-pixel-height "ediff-init") | ||
| 157 | |||
| 158 | (defconst ediff-control-frame-parameters | 154 | (defconst ediff-control-frame-parameters |
| 159 | (list | 155 | (list |
| 160 | '(name . "Ediff") | 156 | '(name . "Ediff") |
| @@ -179,11 +175,11 @@ In this case, Ediff will use those frames to display these buffers." | |||
| 179 | ;; this blocks queries from window manager as to where to put | 175 | ;; this blocks queries from window manager as to where to put |
| 180 | ;; ediff's control frame. we put the frame outside the display, | 176 | ;; ediff's control frame. we put the frame outside the display, |
| 181 | ;; so the initial frame won't jump all over the screen | 177 | ;; so the initial frame won't jump all over the screen |
| 182 | (cons 'top (if (fboundp 'ediff-display-pixel-height) | 178 | (cons 'top (if (fboundp 'display-pixel-height) |
| 183 | (1+ (ediff-display-pixel-height)) | 179 | (1+ (display-pixel-height)) |
| 184 | 3000)) | 180 | 3000)) |
| 185 | (cons 'left (if (fboundp 'ediff-display-pixel-width) | 181 | (cons 'left (if (fboundp 'display-pixel-width) |
| 186 | (1+ (ediff-display-pixel-width)) | 182 | (1+ (display-pixel-width)) |
| 187 | 3000)) | 183 | 3000)) |
| 188 | ) | 184 | ) |
| 189 | "Frame parameters for displaying Ediff Control Panel. | 185 | "Frame parameters for displaying Ediff Control Panel. |
| @@ -219,7 +215,7 @@ This is used by the default control frame positioning function, | |||
| 219 | customization of the default control frame positioning." | 215 | customization of the default control frame positioning." |
| 220 | :type 'integer) | 216 | :type 'integer) |
| 221 | 217 | ||
| 222 | (defcustom ediff-narrow-control-frame-leftward-shift (if (featurep 'xemacs) 7 3) | 218 | (defcustom ediff-narrow-control-frame-leftward-shift 3 |
| 223 | "The leftward shift of control frame from the right edge of buf A's frame. | 219 | "The leftward shift of control frame from the right edge of buf A's frame. |
| 224 | Measured in characters. | 220 | Measured in characters. |
| 225 | This is used by the default control frame positioning function, | 221 | This is used by the default control frame positioning function, |
| @@ -276,36 +272,32 @@ into icons, regardless of the window manager." | |||
| 276 | (let (event) | 272 | (let (event) |
| 277 | (message | 273 | (message |
| 278 | "Select windows by clicking. Please click on Window %d " wind-number) | 274 | "Select windows by clicking. Please click on Window %d " wind-number) |
| 279 | (while (not (ediff-mouse-event-p (setq event (ediff-read-event)))) | 275 | (while (not (ediff-mouse-event-p (setq event (read-event)))) |
| 280 | (if (sit-for 1) ; if sequence of events, wait till the final word | 276 | (if (sit-for 1) ; if sequence of events, wait till the final word |
| 281 | (beep 1)) | 277 | (beep 1)) |
| 282 | (message "Please click on Window %d " wind-number)) | 278 | (message "Please click on Window %d " wind-number)) |
| 283 | (ediff-read-event) ; discard event | 279 | (read-event) ; discard event |
| 284 | (if (featurep 'xemacs) | 280 | (posn-window (event-start event)))) |
| 285 | (event-window event) | ||
| 286 | (posn-window (event-start event))))) | ||
| 287 | 281 | ||
| 288 | 282 | ||
| 289 | ;; Select the lowest window on the frame. | 283 | ;; Select the lowest window on the frame. |
| 290 | (defun ediff-select-lowest-window () | 284 | (defun ediff-select-lowest-window () |
| 291 | (if (featurep 'xemacs) | 285 | (let* ((lowest-window (selected-window)) |
| 292 | (select-window (frame-lowest-window)) | 286 | (bottom-edge (car (cdr (cdr (cdr (window-edges)))))) |
| 293 | (let* ((lowest-window (selected-window)) | 287 | (last-window (save-excursion |
| 294 | (bottom-edge (car (cdr (cdr (cdr (window-edges)))))) | 288 | (other-window -1) (selected-window))) |
| 295 | (last-window (save-excursion | 289 | (window-search t)) |
| 296 | (other-window -1) (selected-window))) | 290 | (while window-search |
| 297 | (window-search t)) | 291 | (let* ((this-window (next-window)) |
| 298 | (while window-search | 292 | (next-bottom-edge |
| 299 | (let* ((this-window (next-window)) | 293 | (car (cdr (cdr (cdr (window-edges this-window))))))) |
| 300 | (next-bottom-edge | 294 | (if (< bottom-edge next-bottom-edge) |
| 301 | (car (cdr (cdr (cdr (window-edges this-window))))))) | 295 | (setq bottom-edge next-bottom-edge |
| 302 | (if (< bottom-edge next-bottom-edge) | 296 | lowest-window this-window)) |
| 303 | (setq bottom-edge next-bottom-edge | 297 | (select-window this-window) |
| 304 | lowest-window this-window)) | 298 | (when (eq last-window this-window) |
| 305 | (select-window this-window) | 299 | (select-window lowest-window) |
| 306 | (when (eq last-window this-window) | 300 | (setq window-search nil)))))) |
| 307 | (select-window lowest-window) | ||
| 308 | (setq window-search nil))))))) | ||
| 309 | 301 | ||
| 310 | 302 | ||
| 311 | ;;; Common window setup routines | 303 | ;;; Common window setup routines |
| @@ -379,11 +371,6 @@ into icons, regardless of the window manager." | |||
| 379 | (switch-to-buffer buf-A) | 371 | (switch-to-buffer buf-A) |
| 380 | (setq wind-A (selected-window)) | 372 | (setq wind-A (selected-window)) |
| 381 | 373 | ||
| 382 | ;; XEmacs used to have a lot of trouble with display | ||
| 383 | ;; It did't set things right unless we tell it to sit still | ||
| 384 | ;; 19.12 seems ok. | ||
| 385 | ;;(if (featurep 'xemacs) (sit-for 0)) | ||
| 386 | |||
| 387 | (split-window-vertically (max 2 (- (window-height) merge-window-lines))) | 374 | (split-window-vertically (max 2 (- (window-height) merge-window-lines))) |
| 388 | (if (eq (selected-window) wind-A) | 375 | (if (eq (selected-window) wind-A) |
| 389 | (other-window 1)) | 376 | (other-window 1)) |
| @@ -456,11 +443,6 @@ into icons, regardless of the window manager." | |||
| 456 | (window-width wind-A)) | 443 | (window-width wind-A)) |
| 457 | 3))) | 444 | 3))) |
| 458 | 445 | ||
| 459 | ;; XEmacs used to have a lot of trouble with display | ||
| 460 | ;; It did't set things right unless we told it to sit still | ||
| 461 | ;; 19.12 seems ok. | ||
| 462 | ;;(if (featurep 'xemacs) (sit-for 0)) | ||
| 463 | |||
| 464 | (funcall split-window-function wind-width-or-height) | 446 | (funcall split-window-function wind-width-or-height) |
| 465 | 447 | ||
| 466 | (if (eq (selected-window) wind-A) | 448 | (if (eq (selected-window) wind-A) |
| @@ -935,8 +917,6 @@ create a new splittable frame if none is found." | |||
| 935 | (not (ediff-frame-has-dedicated-windows (window-frame wind))) | 917 | (not (ediff-frame-has-dedicated-windows (window-frame wind))) |
| 936 | ))) | 918 | ))) |
| 937 | 919 | ||
| 938 | (declare-function ediff-make-bottom-toolbar "ediff-util" (&optional frame)) | ||
| 939 | |||
| 940 | ;; Prepare or refresh control frame | 920 | ;; Prepare or refresh control frame |
| 941 | (defun ediff-setup-control-frame (ctl-buffer designated-minibuffer-frame) | 921 | (defun ediff-setup-control-frame (ctl-buffer designated-minibuffer-frame) |
| 942 | (let ((window-min-height 1) | 922 | (let ((window-min-height 1) |
| @@ -946,8 +926,6 @@ create a new splittable frame if none is found." | |||
| 946 | fheight fwidth adjusted-parameters) | 926 | fheight fwidth adjusted-parameters) |
| 947 | 927 | ||
| 948 | (with-current-buffer ctl-buffer | 928 | (with-current-buffer ctl-buffer |
| 949 | (if (and (featurep 'xemacs) (featurep 'menubar)) | ||
| 950 | (set-buffer-menubar nil)) | ||
| 951 | ;;(setq user-grabbed-mouse (ediff-user-grabbed-mouse)) | 929 | ;;(setq user-grabbed-mouse (ediff-user-grabbed-mouse)) |
| 952 | (run-hooks 'ediff-before-setup-control-frame-hook)) | 930 | (run-hooks 'ediff-before-setup-control-frame-hook)) |
| 953 | 931 | ||
| @@ -1007,18 +985,6 @@ create a new splittable frame if none is found." | |||
| 1007 | '(auto-raise . t)) | 985 | '(auto-raise . t)) |
| 1008 | adjusted-parameters)) | 986 | adjusted-parameters)) |
| 1009 | 987 | ||
| 1010 | ;; In XEmacs, buffer menubar needs to be killed before frame parameters | ||
| 1011 | ;; are changed. | ||
| 1012 | (if (ediff-has-toolbar-support-p) | ||
| 1013 | (when (featurep 'xemacs) | ||
| 1014 | (if (ediff-has-gutter-support-p) | ||
| 1015 | (set-specifier top-gutter (list ctl-frame nil))) | ||
| 1016 | (sit-for 0) | ||
| 1017 | (set-specifier top-toolbar-height (list ctl-frame 0)) | ||
| 1018 | ;;(set-specifier bottom-toolbar-height (list ctl-frame 0)) | ||
| 1019 | (set-specifier left-toolbar-width (list ctl-frame 0)) | ||
| 1020 | (set-specifier right-toolbar-width (list ctl-frame 0)))) | ||
| 1021 | |||
| 1022 | ;; As a precaution, we call modify frame parameters twice, in | 988 | ;; As a precaution, we call modify frame parameters twice, in |
| 1023 | ;; order to make sure that at least once we do it for | 989 | ;; order to make sure that at least once we do it for |
| 1024 | ;; a non-iconified frame. (It appears that in the Windows port of | 990 | ;; 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." | |||
| 1026 | (if (eq system-type 'windows-nt) | 992 | (if (eq system-type 'windows-nt) |
| 1027 | (modify-frame-parameters ctl-frame adjusted-parameters)) | 993 | (modify-frame-parameters ctl-frame adjusted-parameters)) |
| 1028 | 994 | ||
| 1029 | ;; make or zap toolbar (if not requested) | ||
| 1030 | (ediff-make-bottom-toolbar ctl-frame) | ||
| 1031 | |||
| 1032 | (goto-char (point-min)) | 995 | (goto-char (point-min)) |
| 1033 | 996 | ||
| 1034 | (modify-frame-parameters ctl-frame adjusted-parameters) | 997 | (modify-frame-parameters ctl-frame adjusted-parameters) |
| @@ -1070,12 +1033,6 @@ create a new splittable frame if none is found." | |||
| 1070 | (or (eq this-command 'ediff-quit) | 1033 | (or (eq this-command 'ediff-quit) |
| 1071 | (not (eq ediff-grab-mouse t))))) | 1034 | (not (eq ediff-grab-mouse t))))) |
| 1072 | 1035 | ||
| 1073 | (when (featurep 'xemacs) | ||
| 1074 | (with-current-buffer ctl-buffer | ||
| 1075 | (make-local-hook 'select-frame-hook) | ||
| 1076 | (add-hook 'select-frame-hook | ||
| 1077 | #'ediff-xemacs-select-frame-hook nil 'local))) | ||
| 1078 | |||
| 1079 | (with-current-buffer ctl-buffer | 1036 | (with-current-buffer ctl-buffer |
| 1080 | (run-hooks 'ediff-after-setup-control-frame-hook)))) | 1037 | (run-hooks 'ediff-after-setup-control-frame-hook)))) |
| 1081 | 1038 | ||
| @@ -1084,8 +1041,6 @@ create a new splittable frame if none is found." | |||
| 1084 | (ediff-with-current-buffer ctl-buffer | 1041 | (ediff-with-current-buffer ctl-buffer |
| 1085 | (if (and (ediff-window-display-p) (frame-live-p ediff-control-frame)) | 1042 | (if (and (ediff-window-display-p) (frame-live-p ediff-control-frame)) |
| 1086 | (let ((ctl-frame ediff-control-frame)) | 1043 | (let ((ctl-frame ediff-control-frame)) |
| 1087 | (if (and (featurep 'xemacs) (featurep 'menubar)) | ||
| 1088 | (set-buffer-menubar default-menubar)) | ||
| 1089 | (setq ediff-control-frame nil) | 1044 | (setq ediff-control-frame nil) |
| 1090 | (delete-frame ctl-frame)))) | 1045 | (delete-frame ctl-frame)))) |
| 1091 | (if ediff-multiframe | 1046 | (if ediff-multiframe |
| @@ -1117,23 +1072,23 @@ create a new splittable frame if none is found." | |||
| 1117 | ctl-frame-left | 1072 | ctl-frame-left |
| 1118 | (+ frame-A-left | 1073 | (+ frame-A-left |
| 1119 | (if ediff-use-long-help-message | 1074 | (if ediff-use-long-help-message |
| 1120 | (* (ediff-frame-char-width ctl-frame) | 1075 | (* (frame-char-width ctl-frame) |
| 1121 | (+ ediff-wide-control-frame-rightward-shift | 1076 | (+ ediff-wide-control-frame-rightward-shift |
| 1122 | horizontal-adjustment)) | 1077 | horizontal-adjustment)) |
| 1123 | (- (* frame-A-width (ediff-frame-char-width frame-A)) | 1078 | (- (* frame-A-width (frame-char-width frame-A)) |
| 1124 | (* (ediff-frame-char-width ctl-frame) | 1079 | (* (frame-char-width ctl-frame) |
| 1125 | (+ ctl-frame-width | 1080 | (+ ctl-frame-width |
| 1126 | ediff-narrow-control-frame-leftward-shift | 1081 | ediff-narrow-control-frame-leftward-shift |
| 1127 | horizontal-adjustment)))))) | 1082 | horizontal-adjustment)))))) |
| 1128 | (setq ctl-frame-top | 1083 | (setq ctl-frame-top |
| 1129 | (min ctl-frame-top | 1084 | (min ctl-frame-top |
| 1130 | (- (ediff-display-pixel-height) | 1085 | (- (display-pixel-height) |
| 1131 | (* 2 ctl-frame-height | 1086 | (* 2 ctl-frame-height |
| 1132 | (ediff-frame-char-height ctl-frame)))) | 1087 | (frame-char-height ctl-frame)))) |
| 1133 | ctl-frame-left | 1088 | ctl-frame-left |
| 1134 | (min ctl-frame-left | 1089 | (min ctl-frame-left |
| 1135 | (- (ediff-display-pixel-width) | 1090 | (- (display-pixel-width) |
| 1136 | (* ctl-frame-width (ediff-frame-char-width ctl-frame))))) | 1091 | (* ctl-frame-width (frame-char-width ctl-frame))))) |
| 1137 | ;; keep ctl frame within the visible bounds | 1092 | ;; keep ctl frame within the visible bounds |
| 1138 | (setq ctl-frame-top (max ctl-frame-top 1) | 1093 | (setq ctl-frame-top (max ctl-frame-top 1) |
| 1139 | ctl-frame-left (max ctl-frame-left 1)) | 1094 | ctl-frame-left (max ctl-frame-left 1)) |
| @@ -1153,12 +1108,12 @@ Saves the old frame parameters in `ediff-wide-display-orig-parameters'. | |||
| 1153 | The frame to be resized is kept in `ediff-wide-display-frame'. | 1108 | The frame to be resized is kept in `ediff-wide-display-frame'. |
| 1154 | This function modifies only the left margin and the width of the display. | 1109 | This function modifies only the left margin and the width of the display. |
| 1155 | It assumes that it is called from within the control buffer." | 1110 | It assumes that it is called from within the control buffer." |
| 1156 | (if (not (fboundp 'ediff-display-pixel-width)) | 1111 | (if (not (fboundp 'display-pixel-width)) |
| 1157 | (user-error "Can't determine display width")) | 1112 | (user-error "Can't determine display width")) |
| 1158 | (let* ((frame-A (window-frame ediff-window-A)) | 1113 | (let* ((frame-A (window-frame ediff-window-A)) |
| 1159 | (frame-A-params (frame-parameters frame-A)) | 1114 | (frame-A-params (frame-parameters frame-A)) |
| 1160 | (cw (ediff-frame-char-width frame-A)) | 1115 | (cw (frame-char-width frame-A)) |
| 1161 | (wd (- (/ (ediff-display-pixel-width) cw) 5))) | 1116 | (wd (- (/ (display-pixel-width) cw) 5))) |
| 1162 | (setq ediff-wide-display-orig-parameters | 1117 | (setq ediff-wide-display-orig-parameters |
| 1163 | (list (cons 'left (max 0 (eval (cdr (assoc 'left frame-A-params))))) | 1118 | (list (cons 'left (max 0 (eval (cdr (assoc 'left frame-A-params))))) |
| 1164 | (cons 'width (cdr (assoc 'width frame-A-params)))) | 1119 | (cons 'width (cdr (assoc 'width frame-A-params)))) |
| @@ -1300,9 +1255,7 @@ It assumes that it is called from within the control buffer." | |||
| 1300 | ;; If buff is not live, return nil | 1255 | ;; If buff is not live, return nil |
| 1301 | (defun ediff-get-visible-buffer-window (buff) | 1256 | (defun ediff-get-visible-buffer-window (buff) |
| 1302 | (if (ediff-buffer-live-p buff) | 1257 | (if (ediff-buffer-live-p buff) |
| 1303 | (if (featurep 'xemacs) | 1258 | (get-buffer-window buff 'visible))) |
| 1304 | (get-buffer-window buff t) | ||
| 1305 | (get-buffer-window buff 'visible)))) | ||
| 1306 | 1259 | ||
| 1307 | 1260 | ||
| 1308 | ;;; Functions to decide when to redraw windows | 1261 | ;;; 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." | |||
| 1541 | "Return string describing the version of Ediff. | 1541 | "Return string describing the version of Ediff. |
| 1542 | When called interactively, displays the version." | 1542 | When called interactively, displays the version." |
| 1543 | (interactive) | 1543 | (interactive) |
| 1544 | (if (if (featurep 'xemacs) | 1544 | (if (called-interactively-p 'interactive) |
| 1545 | (interactive-p) | ||
| 1546 | (called-interactively-p 'interactive)) | ||
| 1547 | (message "%s" (ediff-version)) | 1545 | (message "%s" (ediff-version)) |
| 1548 | (format "Ediff %s" ediff-version))) | 1546 | (format "Ediff %s" ediff-version))) |
| 1549 | 1547 | ||
| @@ -1562,7 +1560,7 @@ With optional NODE, goes to that node." | |||
| 1562 | (condition-case nil | 1560 | (condition-case nil |
| 1563 | (progn | 1561 | (progn |
| 1564 | (pop-to-buffer (get-buffer-create "*info*")) | 1562 | (pop-to-buffer (get-buffer-create "*info*")) |
| 1565 | (info (if (featurep 'xemacs) "ediff.info" "ediff")) | 1563 | (info "ediff") |
| 1566 | (if node | 1564 | (if node |
| 1567 | (Info-goto-node node) | 1565 | (Info-goto-node node) |
| 1568 | (message "Type `i' to search for a specific topic")) | 1566 | (message "Type `i' to search for a specific topic")) |