summaryrefslogtreecommitdiff
path: root/lisp/ediff-util.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/ediff-util.el')
-rw-r--r--lisp/ediff-util.el102
1 files changed, 42 insertions, 60 deletions
diff --git a/lisp/ediff-util.el b/lisp/ediff-util.el
index 14b1be963d7..2ed8f73a282 100644
--- a/lisp/ediff-util.el
+++ b/lisp/ediff-util.el
@@ -38,7 +38,6 @@
(defvar bottom-toolbar-visible-p)
(defvar bottom-toolbar-height)
(defvar mark-active)
-(defvar ediff-emacs-p)
(defvar ediff-after-quit-hook-internal nil)
@@ -64,7 +63,7 @@
(or (featurep 'ediff)
(load "ediff.el" nil nil 'nosuffix))
(or (featurep 'ediff-tbar)
- ediff-emacs-p
+ (featurep 'emacs)
(load "ediff-tbar.el" 'noerror nil 'nosuffix))
))
;; end pacifier
@@ -77,7 +76,7 @@
(require 'ediff-diff)
(require 'ediff-merg)
-(if ediff-xemacs-p
+(if (featurep 'xemacs)
(require 'ediff-tbar))
@@ -154,7 +153,7 @@ to invocation.")
(suppress-keymap ediff-mode-map)
(define-key ediff-mode-map
- (if ediff-emacs-p [mouse-2] [button2]) 'ediff-help-for-quick-help)
+ (if (featurep 'emacs) [mouse-2] [button2]) 'ediff-help-for-quick-help)
(define-key ediff-mode-map "\C-m" 'ediff-help-for-quick-help)
(define-key ediff-mode-map "p" 'ediff-previous-difference)
@@ -1141,7 +1140,7 @@ of the current buffer."
(or (memq (vc-state file) '(edited needs-merge))
(stringp (vc-state file)))
;; XEmacs has no vc-state
- (vc-locking-user file))
+ (when (featurep 'xemacs) (vc-locking-user file)))
)))
(defun ediff-file-checked-in-p (file)
@@ -1153,7 +1152,7 @@ of the current buffer."
(not (memq (vc-state file) '(edited needs-merge)))
(not (stringp (vc-state file))))
;; XEmacs has no vc-state
- (not (vc-locking-user file)))
+ (when (featurep 'xemacs) (not (vc-locking-user file))))
))
(defun ediff-file-compressed-p (file)
@@ -1275,7 +1274,7 @@ This is especially useful when comparing buffers side-by-side."
(ediff-barf-if-not-control-buffer)
(or (ediff-window-display-p)
(error "%sEmacs is not running as a window application"
- (if ediff-emacs-p "" "X")))
+ (if (featurep 'emacs) "" "X")))
(ediff-recenter 'no-rehighlight) ; make sure buffs are displayed in windows
(let ((ctl-buf ediff-control-buffer))
(setq ediff-wide-display-p (not ediff-wide-display-p))
@@ -1283,7 +1282,7 @@ This is especially useful when comparing buffers side-by-side."
(ediff-with-current-buffer ctl-buf
(modify-frame-parameters
ediff-wide-display-frame ediff-wide-display-orig-parameters)
- ;;(sit-for (if ediff-xemacs-p 0.4 0))
+ ;;(sit-for (if (featurep 'xemacs) 0.4 0))
;; restore control buf, since ctl window may have been deleted
;; during resizing
(set-buffer ctl-buf)
@@ -1291,7 +1290,7 @@ This is especially useful when comparing buffers side-by-side."
ediff-window-B nil) ; force update of window config
(ediff-recenter 'no-rehighlight))
(funcall ediff-make-wide-display-function)
- ;;(sit-for (if ediff-xemacs-p 0.4 0))
+ ;;(sit-for (if (featurep 'xemacs) 0.4 0))
(ediff-with-current-buffer ctl-buf
(setq ediff-window-B nil) ; force update of window config
(ediff-recenter 'no-rehighlight)))))
@@ -1305,7 +1304,7 @@ which see."
(let (window-setup-func)
(or (ediff-window-display-p)
(error "%sEmacs is not running as a window application"
- (if ediff-emacs-p "" "X")))
+ (if (featurep 'emacs) "" "X")))
(cond ((eq ediff-window-setup-function 'ediff-setup-windows-multiframe)
(setq window-setup-func 'ediff-setup-windows-plain))
@@ -1335,7 +1334,7 @@ To change the default, set the variable `ediff-use-toolbar-p', which see."
(progn
(or (ediff-window-display-p)
(error "%sEmacs is not running as a window application"
- (if ediff-emacs-p "" "X")))
+ (if (featurep 'emacs) "" "X")))
(if (ediff-use-toolbar-p)
(ediff-kill-bottom-toolbar))
;; do this only after killing the toolbar
@@ -2529,7 +2528,7 @@ temporarily reverses the meaning of this variable."
(cond ((ediff-good-frame-under-mouse))
(t warp-frame)))
(if (and (ediff-window-display-p) (frame-live-p warp-frame) ediff-grab-mouse)
- (set-mouse-position (if ediff-emacs-p
+ (set-mouse-position (if (featurep 'emacs)
warp-frame
(frame-selected-window warp-frame))
2 1))
@@ -2544,11 +2543,11 @@ temporarily reverses the meaning of this variable."
(buf-name "")
frame obj-ok)
(setq obj-ok
- (if ediff-emacs-p
+ (if (featurep 'emacs)
(frame-live-p frame-or-win)
(window-live-p frame-or-win)))
(if obj-ok
- (setq frame (if ediff-emacs-p frame-or-win (window-frame frame-or-win))
+ (setq frame (if (featurep 'emacs) frame-or-win (window-frame frame-or-win))
buf-name
(buffer-name (window-buffer (frame-selected-window frame)))))
(if (string-match "Minibuf" buf-name)
@@ -3031,7 +3030,7 @@ Hit \\[ediff-recenter] to reset the windows afterward."
(ediff-get-symbol-from-alist
buf-type ediff-current-diff-overlay-alist))))
- (if ediff-xemacs-p
+ (if (featurep 'xemacs)
(ediff-move-overlay current-diff-overlay begin end-hilit)
(ediff-move-overlay current-diff-overlay begin end-hilit buff))
(ediff-overlay-put current-diff-overlay 'priority
@@ -3611,11 +3610,11 @@ Ediff Control Panel to restore highlighting."
(defun ediff-remove-flags-from-buffer (buffer overlay)
(ediff-with-current-buffer buffer
(let ((inhibit-read-only t))
- (if ediff-xemacs-p
+ (if (featurep 'xemacs)
(ediff-overlay-put overlay 'begin-glyph nil)
(ediff-overlay-put overlay 'before-string nil))
- (if ediff-xemacs-p
+ (if (featurep 'xemacs)
(ediff-overlay-put overlay 'end-glyph nil)
(ediff-overlay-put overlay 'after-string nil))
)))
@@ -3643,7 +3642,7 @@ Ediff Control Panel to restore highlighting."
ediff-before-flag-bol ediff-before-flag-mol))))
;; insert the flag itself
- (if ediff-xemacs-p
+ (if (featurep 'xemacs)
(ediff-overlay-put curr-overl 'begin-glyph flag)
(ediff-overlay-put curr-overl 'before-string flag))
@@ -3659,7 +3658,7 @@ Ediff Control Panel to restore highlighting."
ediff-after-flag-eol ediff-after-flag-mol))))
;; insert the flag itself
- (if ediff-xemacs-p
+ (if (featurep 'xemacs)
(ediff-overlay-put curr-overl 'end-glyph flag)
(ediff-overlay-put curr-overl 'after-string flag))
))
@@ -3786,10 +3785,10 @@ Ediff Control Panel to restore highlighting."
;; never detach
(ediff-overlay-put
- overl (if ediff-emacs-p 'evaporate 'detachable) nil)
+ overl (if (featurep 'emacs) 'evaporate 'detachable) nil)
;; make overlay open-ended
;; In emacs, it is made open ended at creation time
- (if ediff-xemacs-p
+ (if (featurep 'xemacs)
(progn
(ediff-overlay-put overl 'start-open nil)
(ediff-overlay-put overl 'end-open nil)))
@@ -3802,9 +3801,8 @@ Ediff Control Panel to restore highlighting."
(let ((overlay (ediff-get-symbol-from-alist
type ediff-current-diff-overlay-alist))
(buffer (ediff-get-buffer type))
- (face (face-name
- (ediff-get-symbol-from-alist
- type ediff-current-diff-face-alist))))
+ (face (ediff-get-symbol-from-alist
+ type ediff-current-diff-face-alist)))
(set overlay
(ediff-make-bullet-proof-overlay (point-max) (point-max) buffer))
(ediff-set-overlay-face (symbol-value overlay) face)
@@ -4071,28 +4069,25 @@ Mail anyway? (y or n) ")
)
))
-(cond ((fboundp 'nuke-selective-display)
- ;; XEmacs has nuke-selective-display
- (defalias 'ediff-nuke-selective-display 'nuke-selective-display))
- (t
- (defun ediff-nuke-selective-display ()
- (save-excursion
- (save-restriction
- (widen)
- (goto-char (point-min))
- (let ((mod-p (buffer-modified-p))
- buffer-read-only end)
- (and (eq t selective-display)
- (while (search-forward "\^M" nil t)
- (end-of-line)
- (setq end (point))
- (beginning-of-line)
- (while (search-forward "\^M" end t)
- (delete-char -1)
- (insert "\^J"))))
- (set-buffer-modified-p mod-p)
- (setq selective-display nil)))))
- ))
+(defun ediff-nuke-selective-display ()
+ (if (featurep 'xemacs)
+ (nuke-selective-display)
+ (save-excursion
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+ (let ((mod-p (buffer-modified-p))
+ buffer-read-only end)
+ (and (eq t selective-display)
+ (while (search-forward "\^M" nil t)
+ (end-of-line)
+ (setq end (point))
+ (beginning-of-line)
+ (while (search-forward "\^M" end t)
+ (delete-char -1)
+ (insert "\^J"))))
+ (set-buffer-modified-p mod-p)
+ (setq selective-display nil))))))
;; The next two are modified versions from emerge.el.
@@ -4295,20 +4290,7 @@ Mail anyway? (y or n) ")
(add-to-history history-var newelt)
(set history-var (cons newelt (symbol-value history-var)))))
-(if (fboundp 'copy-sequence)
- (defalias 'ediff-copy-list 'copy-sequence)
- (defun ediff-copy-list (list)
- (if (consp list)
- ;;;(let ((res nil))
- ;;; (while (consp list) (push (pop list) res))
- ;;; (prog1 (nreverse res) (setcdr res list)))
- (let (res elt)
- (while (consp list)
- (setq elt (car list)
- res (cons elt res)
- list (cdr list)))
- (nreverse res))
- (car list))))
+(defalias 'ediff-copy-list 'copy-sequence)
;; don't report error if version control package wasn't found