diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2019-10-05 16:48:44 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2019-10-05 16:48:51 +0200 |
commit | 3c1635ebf2038d43c3400908e7e070d54192801a (patch) | |
tree | 75c844c476392525c142824ba511aa0d700542ef /lisp/vc/ediff-mult.el | |
parent | 9cf8454463ab0249c3b680f892507743b3be972e (diff) | |
download | emacs-3c1635ebf2038d43c3400908e7e070d54192801a.tar.gz emacs-3c1635ebf2038d43c3400908e7e070d54192801a.tar.bz2 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):
Diffstat (limited to 'lisp/vc/ediff-mult.el')
-rw-r--r-- | lisp/vc/ediff-mult.el | 157 |
1 files changed, 60 insertions, 97 deletions
diff --git a/lisp/vc/ediff-mult.el b/lisp/vc/ediff-mult.el index 3a869bff3e4..4dc0485e7e5 100644 --- a/lisp/vc/ediff-mult.el +++ b/lisp/vc/ediff-mult.el @@ -471,7 +471,7 @@ Moves in circular fashion. With numeric prefix arg, skip this many items." (ediff-next-meta-item1) (setq overl (ediff-get-meta-overlay-at-pos (point))) ;; skip invisible ones - (while (and overl (ediff-overlay-get overl 'invisible)) + (while (and overl (overlay-get overl 'invisible)) (ediff-next-meta-item1) (setq overl (ediff-get-meta-overlay-at-pos (point))))))) @@ -499,7 +499,7 @@ Moves in circular fashion. With numeric prefix arg, skip this many items." (ediff-previous-meta-item1) (setq overl (ediff-get-meta-overlay-at-pos (point))) ;; skip invisible ones - (while (and overl (ediff-overlay-get overl 'invisible)) + (while (and overl (overlay-get overl 'invisible)) (ediff-previous-meta-item1) (setq overl (ediff-get-meta-overlay-at-pos (point))))))) @@ -929,7 +929,7 @@ behavior." ;; in the meta buffer. If nil, use SPC (defun ediff-replace-session-activity-marker-in-meta-buffer (point new-marker) (let* ((overl (ediff-get-meta-overlay-at-pos point)) - (session-info (ediff-overlay-get overl 'ediff-meta-info)) + (session-info (overlay-get overl 'ediff-meta-info)) (activity-marker (ediff-get-session-activity-marker session-info)) buffer-read-only) (or new-marker activity-marker (setq new-marker ?\s)) @@ -944,7 +944,7 @@ behavior." ;; the meta buffer. If nil, use SPC (defun ediff-replace-session-status-in-meta-buffer (point new-status) (let* ((overl (ediff-get-meta-overlay-at-pos point)) - (session-info (ediff-overlay-get overl 'ediff-meta-info)) + (session-info (overlay-get overl 'ediff-meta-info)) (status (ediff-get-session-status session-info)) buffer-read-only) (setq new-status (or new-status status ?\s)) @@ -988,9 +988,7 @@ behavior." (erase-buffer) ;; delete phony overlays that used to represent sessions before the buff ;; was redrawn - (if (featurep 'xemacs) - (map-extents 'delete-extent) - (mapc #'delete-overlay (overlays-in 1 1))) + (mapc #'delete-overlay (overlays-in 1 1)) (setq regexp (ediff-get-group-regexp meta-list) merge-autostore-dir @@ -1077,7 +1075,7 @@ behavior." ;; Do hiding (if overl (ediff-overlay-put overl 'invisible t))) ((and (eq (ediff-get-session-status session-info) ?H) - overl (ediff-overlay-get overl 'invisible)) + overl (overlay-get overl 'invisible)) ;; Do unhiding (ediff-overlay-put overl 'invisible nil)) (t (ediff-replace-session-activity-marker-in-meta-buffer @@ -1094,36 +1092,26 @@ behavior." (defun ediff-update-session-marker-in-dir-meta-buffer (session-num) (let (buffer-meta-overlays session-info overl buffer-read-only) - (setq overl - (if (featurep 'xemacs) - (map-extents - (lambda (ext _maparg) - (if (and - (ediff-overlay-get ext 'ediff-meta-info) - (eq (ediff-overlay-get ext 'ediff-meta-session-number) - session-num)) - ext))) - ;; Emacs doesn't have map-extents, so try harder - ;; Splice overlay lists to get all buffer overlays - (setq buffer-meta-overlays (overlay-lists) - buffer-meta-overlays (append (car buffer-meta-overlays) - (cdr buffer-meta-overlays))) - (car - (delq nil - (mapcar - (lambda (overl) - (if (and - (ediff-overlay-get overl 'ediff-meta-info) - (eq (ediff-overlay-get - overl 'ediff-meta-session-number) - session-num)) - overl)) - buffer-meta-overlays))))) + ;; Splice overlay lists to get all buffer overlays + (setq buffer-meta-overlays (overlay-lists) + buffer-meta-overlays (append (car buffer-meta-overlays) + (cdr buffer-meta-overlays))) + (setq overl (car + (delq nil + (mapcar + (lambda (overl) + (if (and + (overlay-get overl 'ediff-meta-info) + (eq (overlay-get + overl 'ediff-meta-session-number) + session-num)) + overl)) + buffer-meta-overlays)))) (or overl (error "Bug in ediff-update-session-marker-in-dir-meta-buffer: no overlay with given number %S" session-num)) - (setq session-info (ediff-overlay-get overl 'ediff-meta-info)) + (setq session-info (overlay-get overl 'ediff-meta-info)) (goto-char (ediff-overlay-start overl)) (ediff-replace-session-activity-marker-in-meta-buffer (point) @@ -1434,9 +1422,7 @@ Useful commands: (erase-buffer) ;; delete phony overlays that used to represent sessions before the buff ;; was redrawn - (if (featurep 'xemacs) - (map-extents 'delete-extent) - (mapc #'delete-overlay (overlays-in 1 1))) + (mapc #'delete-overlay (overlays-in 1 1)) (insert (substitute-command-keys "\ This is a registry of all active Ediff sessions. @@ -1538,7 +1524,7 @@ Useful commands: ;; (SESSION-CTL-BUFFER STATUS OBJA OBJB OBJC) (defun ediff-set-meta-overlay (b e prop &optional session-number hidden) (let (overl) - (setq overl (ediff-make-overlay b e)) + (setq overl (make-overlay b e)) (ediff-overlay-put overl 'mouse-face 'highlight) (ediff-overlay-put overl 'ediff-meta-info prop) (ediff-overlay-put overl 'invisible hidden) @@ -2167,7 +2153,7 @@ all marked sessions must be active." (ediff-update-markers-in-dir-meta-buffer ediff-meta-list))) (setq overl (ediff-get-meta-overlay-at-pos (point))) ;; skip the invisible sessions - (while (and overl (ediff-overlay-get overl 'invisible)) + (while (and overl (overlay-get overl 'invisible)) (ediff-next-meta-item1) (setq overl (ediff-get-meta-overlay-at-pos (point)))) )))) @@ -2259,21 +2245,17 @@ If this is a session registry buffer then just bury it." ;; If optional NOERROR arg is given, don't report error and return nil if no ;; meta info is found on line. (defun ediff-get-meta-info (buf point &optional noerror) - (let (result olist tmp) + (let (result olist) (if (and point (ediff-buffer-live-p buf)) (ediff-with-current-buffer buf - (if (featurep 'xemacs) - (setq result - (if (setq tmp (extent-at point buf 'ediff-meta-info)) - (ediff-overlay-get tmp 'ediff-meta-info))) - (setq olist - (mapcar (lambda (elt) - (unless (overlay-get elt 'invisible) - (overlay-get elt 'ediff-meta-info))) - (overlays-at point))) - (while (and olist (null (car olist))) - (setq olist (cdr olist))) - (setq result (car olist))))) + (setq olist + (mapcar (lambda (elt) + (unless (overlay-get elt 'invisible) + (overlay-get elt 'ediff-meta-info))) + (overlays-at point))) + (while (and olist (null (car olist))) + (setq olist (cdr olist))) + (setq result (car olist)))) (or result (unless noerror (ediff-update-registry) @@ -2281,21 +2263,19 @@ If this is a session registry buffer then just bury it." (defun ediff-get-meta-overlay-at-pos (point) - (if (featurep 'xemacs) - (extent-at point (current-buffer) 'ediff-meta-info) - (let* ((overl-list (overlays-at point)) - (overl (car overl-list))) - (while (and overl (null (overlay-get overl 'ediff-meta-info))) - (setq overl-list (cdr overl-list) - overl (car overl-list))) - overl))) + (let* ((overl-list (overlays-at point)) + (overl (car overl-list))) + (while (and overl (null (overlay-get overl 'ediff-meta-info))) + (setq overl-list (cdr overl-list) + overl (car overl-list))) + overl)) (defun ediff-get-session-number-at-pos (point &optional meta-buffer) (setq meta-buffer (if (ediff-buffer-live-p meta-buffer) meta-buffer (current-buffer))) (ediff-with-current-buffer meta-buffer - (ediff-overlay-get + (overlay-get (ediff-get-meta-overlay-at-pos point) 'ediff-meta-session-number))) @@ -2304,46 +2284,29 @@ If this is a session registry buffer then just bury it." (if (eobp) (goto-char (point-min)) (let ((overl (ediff-get-meta-overlay-at-pos point))) - (if (featurep 'xemacs) - (progn ; xemacs - (if overl - (setq overl (next-extent overl)) - (setq overl (next-extent (current-buffer)))) - (if overl - (extent-start-position overl) - (point-max))) - ;; emacs - (if overl - ;; note: end of current overlay is the beginning of the next one - (overlay-end overl) - (next-overlay-change point)))))) + (if overl + ;; note: end of current overlay is the beginning of the next one + (overlay-end overl) + (next-overlay-change point))))) (defun ediff-previous-meta-overlay-start (point) (if (bobp) (goto-char (point-max)) (let ((overl (ediff-get-meta-overlay-at-pos point))) - (if (featurep 'xemacs) - (progn - (if overl - (setq overl (previous-extent overl)) - (setq overl (previous-extent (current-buffer)))) - (if overl - (extent-start-position overl) - (point-min))) - (if overl (setq point (overlay-start overl))) - ;; to get to the beginning of prev overlay - (if (not (bobp)) - ;; trick to overcome an emacs bug--doesn't always find previous - ;; overlay change correctly - (setq point (1- point))) - (setq point (previous-overlay-change point)) - ;; If we are not over an overlay after subtracting 1, it means we are - ;; in the description area preceding session records. In this case, - ;; goto the top of the registry buffer. - (or (car (overlays-at point)) - (setq point (point-min))) - point)))) + (if overl (setq point (overlay-start overl))) + ;; to get to the beginning of prev overlay + (if (not (bobp)) + ;; trick to overcome an emacs bug--doesn't always find previous + ;; overlay change correctly + (setq point (1- point))) + (setq point (previous-overlay-change point)) + ;; If we are not over an overlay after subtracting 1, it means we are + ;; in the description area preceding session records. In this case, + ;; goto the top of the registry buffer. + (or (car (overlays-at point)) + (setq point (point-min))) + point))) (autoload 'ediff-patch-file-internal "ediff-ptch") @@ -2403,10 +2366,10 @@ If this is a session registry buffer then just bury it." This is used only for sessions that involve 2 or 3 files at the same time. ACTION is an optional argument that can be ?h, ?m, ?=, to mark for hiding, mark for operation, or simply indicate which are equal files. If it is nil, then -`(ediff-last-command-char)' is used to decide which action to take." +`last-command-event' is used to decide which action to take." (interactive) (if (null action) - (setq action (ediff-last-command-char))) + (setq action last-command-event)) (let ((list (cdr ediff-meta-list)) marked1 marked2 marked3 fileinfo1 fileinfo2 fileinfo3 elt) |