These characters are ignored when differing regions are split into words.")
(make-variable-buffer-local 'ediff-whitespace)
-(defvar ediff-word-1
- (if (featurep 'xemacs) "a-zA-Z---_" "-[:word:]_")
+(defvar ediff-word-1 "-[:word:]_"
"Characters that constitute words of type 1.
More precisely, [ediff-word-1] is a regexp that matches type 1 words.
See `ediff-forward-word' for more details.")
(setq beg (match-beginning 1)
end (match-end 0)
cmd (buffer-substring (match-beginning 1) (match-end 1)))
- (setq overl (ediff-make-overlay beg end))
+ (setq overl (make-overlay beg end))
(ediff-overlay-put overl 'mouse-face 'highlight)
(ediff-overlay-put overl 'ediff-help-info cmd))))
;; allow menus to be set up without ediff-wind.el being loaded
-;; This autoload is useless in Emacs because ediff-hook.el is dumped with
-;; emacs, but it is needed in XEmacs
-;;;###autoload
-(if (featurep 'xemacs)
- (progn
- (defun ediff-xemacs-init-menus ()
- (when (featurep 'menubar)
- (add-submenu
- '("Tools") ediff-menu "OO-Browser...")
- (add-submenu
- '("Tools") ediff-merge-menu "OO-Browser...")
- (add-submenu
- '("Tools") epatch-menu "OO-Browser...")
- (add-submenu
- '("Tools") ediff-misc-menu "OO-Browser...")
- (add-menu-button
- '("Tools") "-------" "OO-Browser...")
- ))
- (defvar ediff-menu
- '("Compare"
- ["Two Files..." ediff-files t]
- ["Two Buffers..." ediff-buffers t]
- ["Three Files..." ediff-files3 t]
- ["Three Buffers..." ediff-buffers3 t]
- "---"
- ["Two Directories..." ediff-directories t]
- ["Three Directories..." ediff-directories3 t]
- "---"
- ["File with Revision..." ediff-revision t]
- ["Directory Revisions..." ediff-directory-revisions t]
- "---"
- ["Windows Word-by-word..." ediff-windows-wordwise t]
- ["Windows Line-by-line..." ediff-windows-linewise t]
- "---"
- ["Regions Word-by-word..." ediff-regions-wordwise t]
- ["Regions Line-by-line..." ediff-regions-linewise t]
- ))
- (defvar ediff-merge-menu
- '("Merge"
- ["Files..." ediff-merge-files t]
- ["Files with Ancestor..." ediff-merge-files-with-ancestor t]
- ["Buffers..." ediff-merge-buffers t]
- ["Buffers with Ancestor..."
- ediff-merge-buffers-with-ancestor t]
- "---"
- ["Directories..." ediff-merge-directories t]
- ["Directories with Ancestor..."
- ediff-merge-directories-with-ancestor t]
- "---"
- ["Revisions..." ediff-merge-revisions t]
- ["Revisions with Ancestor..."
- ediff-merge-revisions-with-ancestor t]
- ["Directory Revisions..." ediff-merge-directory-revisions t]
- ["Directory Revisions with Ancestor..."
- ediff-merge-directory-revisions-with-ancestor t]
- ))
- (defvar epatch-menu
- '("Apply Patch"
- ["To a file..." ediff-patch-file t]
- ["To a buffer..." ediff-patch-buffer t]
- ))
- (defvar ediff-misc-menu
- '("Ediff Miscellanea"
- ["Ediff Manual" ediff-documentation t]
- ["Customize Ediff" ediff-customize t]
- ["List Ediff Sessions" ediff-show-registry t]
- ["Use separate frame for Ediff control buffer"
- ediff-toggle-multiframe
- :style toggle
- :selected (eq (bound-and-true-p ediff-window-setup-function)
- #'ediff-setup-windows-multiframe)]
- ["Use a toolbar with Ediff control buffer"
- ediff-toggle-use-toolbar
- :style toggle
- :selected (if (featurep 'ediff-tbar)
- (ediff-use-toolbar-p))]))
-
- ;; put these menus before Object-Oriented-Browser in Tools menu
- (if (and (featurep 'menubar) (not (featurep 'infodock))
- (not (featurep 'ediff-hook)))
- (ediff-xemacs-init-menus)))
- ;; Emacs
- ;; initialize menu bar keymaps
- (defvar menu-bar-ediff-misc-menu
- (make-sparse-keymap "Ediff Miscellanea"))
- (fset 'menu-bar-ediff-misc-menu
- menu-bar-ediff-misc-menu)
- (defvar menu-bar-epatch-menu (make-sparse-keymap "Apply Patch"))
- (fset 'menu-bar-epatch-menu menu-bar-epatch-menu)
- (defvar menu-bar-ediff-merge-menu (make-sparse-keymap "Merge"))
- (fset 'menu-bar-ediff-merge-menu
- menu-bar-ediff-merge-menu)
- (defvar menu-bar-ediff-menu (make-sparse-keymap "Compare"))
- (fset 'menu-bar-ediff-menu menu-bar-ediff-menu)
-
- ;; define ediff compare menu
- (define-key menu-bar-ediff-menu [ediff-misc]
- `(menu-item ,(purecopy "Ediff Miscellanea") menu-bar-ediff-misc-menu))
- (define-key menu-bar-ediff-menu [separator-ediff-misc] menu-bar-separator)
- (define-key menu-bar-ediff-menu [window]
- `(menu-item ,(purecopy "This Window and Next Window") compare-windows
- :help ,(purecopy "Compare the current window and the next window")))
- (define-key menu-bar-ediff-menu [ediff-windows-linewise]
- `(menu-item ,(purecopy "Windows Line-by-line...") ediff-windows-linewise
- :help ,(purecopy "Compare windows line-wise")))
- (define-key menu-bar-ediff-menu [ediff-windows-wordwise]
- `(menu-item ,(purecopy "Windows Word-by-word...") ediff-windows-wordwise
- :help ,(purecopy "Compare windows word-wise")))
- (define-key menu-bar-ediff-menu [separator-ediff-windows] menu-bar-separator)
- (define-key menu-bar-ediff-menu [ediff-regions-linewise]
- `(menu-item ,(purecopy "Regions Line-by-line...") ediff-regions-linewise
- :help ,(purecopy "Compare regions line-wise")))
- (define-key menu-bar-ediff-menu [ediff-regions-wordwise]
- `(menu-item ,(purecopy "Regions Word-by-word...") ediff-regions-wordwise
- :help ,(purecopy "Compare regions word-wise")))
- (define-key menu-bar-ediff-menu [separator-ediff-regions] menu-bar-separator)
- (define-key menu-bar-ediff-menu [ediff-dir-revision]
- `(menu-item ,(purecopy "Directory Revisions...") ediff-directory-revisions
- :help ,(purecopy "Compare directory files with their older versions")))
- (define-key menu-bar-ediff-menu [ediff-revision]
- `(menu-item ,(purecopy "File with Revision...") ediff-revision
- :help ,(purecopy "Compare file with its older versions")))
- (define-key menu-bar-ediff-menu [separator-ediff-directories] menu-bar-separator)
- (define-key menu-bar-ediff-menu [ediff-directories3]
- `(menu-item ,(purecopy "Three Directories...") ediff-directories3
- :help ,(purecopy "Compare files common to three directories simultaneously")))
- (define-key menu-bar-ediff-menu [ediff-directories]
- `(menu-item ,(purecopy "Two Directories...") ediff-directories
- :help ,(purecopy "Compare files common to two directories simultaneously")))
- (define-key menu-bar-ediff-menu [separator-ediff-files] menu-bar-separator)
- (define-key menu-bar-ediff-menu [ediff-buffers3]
- `(menu-item ,(purecopy "Three Buffers...") ediff-buffers3
- :help ,(purecopy "Compare three buffers simultaneously")))
- (define-key menu-bar-ediff-menu [ediff-files3]
- `(menu-item ,(purecopy "Three Files...") ediff-files3
- :help ,(purecopy "Compare three files simultaneously")))
- (define-key menu-bar-ediff-menu [ediff-buffers]
- `(menu-item ,(purecopy "Two Buffers...") ediff-buffers
- :help ,(purecopy "Compare two buffers simultaneously")))
- (define-key menu-bar-ediff-menu [ediff-files]
- `(menu-item ,(purecopy "Two Files...") ediff-files
- :help ,(purecopy "Compare two files simultaneously")))
-
- ;; define ediff merge menu
- (define-key
- menu-bar-ediff-merge-menu [ediff-merge-dir-revisions-with-ancestor]
- `(menu-item ,(purecopy "Directory Revisions with Ancestor...")
- ediff-merge-directory-revisions-with-ancestor
- :help ,(purecopy "Merge versions of the files in the same directory by comparing the files with common ancestors")))
- (define-key
- menu-bar-ediff-merge-menu [ediff-merge-dir-revisions]
- `(menu-item ,(purecopy "Directory Revisions...") ediff-merge-directory-revisions
- :help ,(purecopy "Merge versions of the files in the same directory (without using ancestor information)")))
- (define-key
- menu-bar-ediff-merge-menu [ediff-merge-revisions-with-ancestor]
- `(menu-item ,(purecopy "Revisions with Ancestor...")
- ediff-merge-revisions-with-ancestor
- :help ,(purecopy "Merge versions of the same file by comparing them with a common ancestor")))
- (define-key menu-bar-ediff-merge-menu [ediff-merge-revisions]
- `(menu-item ,(purecopy "Revisions...") ediff-merge-revisions
- :help ,(purecopy "Merge versions of the same file (without using ancestor information)")))
- (define-key menu-bar-ediff-merge-menu [separator-ediff-merge] menu-bar-separator)
- (define-key
- menu-bar-ediff-merge-menu [ediff-merge-directories-with-ancestor]
- `(menu-item ,(purecopy "Directories with Ancestor...")
- ediff-merge-directories-with-ancestor
- :help ,(purecopy "Merge files common to a pair of directories by comparing the files with common ancestors")))
- (define-key menu-bar-ediff-merge-menu [ediff-merge-directories]
- `(menu-item ,(purecopy "Directories...") ediff-merge-directories
- :help ,(purecopy "Merge files common to a pair of directories")))
- (define-key
- menu-bar-ediff-merge-menu [separator-ediff-merge-dirs] menu-bar-separator)
- (define-key
- menu-bar-ediff-merge-menu [ediff-merge-buffers-with-ancestor]
- `(menu-item ,(purecopy "Buffers with Ancestor...") ediff-merge-buffers-with-ancestor
- :help ,(purecopy "Merge buffers by comparing their contents with a common ancestor")))
- (define-key menu-bar-ediff-merge-menu [ediff-merge-buffers]
- `(menu-item ,(purecopy "Buffers...") ediff-merge-buffers
- :help ,(purecopy "Merge buffers (without using ancestor information)")))
- (define-key menu-bar-ediff-merge-menu [ediff-merge-files-with-ancestor]
- `(menu-item ,(purecopy "Files with Ancestor...") ediff-merge-files-with-ancestor
- :help ,(purecopy "Merge files by comparing them with a common ancestor")))
- (define-key menu-bar-ediff-merge-menu [ediff-merge-files]
- `(menu-item ,(purecopy "Files...") ediff-merge-files
- :help ,(purecopy "Merge files (without using ancestor information)")))
-
- ;; define epatch menu
- (define-key menu-bar-epatch-menu [ediff-patch-buffer]
- `(menu-item ,(purecopy "To a Buffer...") ediff-patch-buffer
- :help ,(purecopy "Apply a patch to the contents of a buffer")))
- (define-key menu-bar-epatch-menu [ediff-patch-file]
- `(menu-item ,(purecopy "To a File...") ediff-patch-file
- :help ,(purecopy "Apply a patch to a file")))
-
- ;; define ediff miscellanea
- (define-key menu-bar-ediff-misc-menu [emultiframe]
- `(menu-item ,(purecopy "Use separate control buffer frame")
- ediff-toggle-multiframe
- :help ,(purecopy "Switch between the single-frame presentation mode and the multi-frame mode")
- :button (:toggle . (eq (bound-and-true-p ediff-window-setup-function)
- #'ediff-setup-windows-multiframe))))
- ;; FIXME: Port XEmacs's toolbar support!
- ;; ["Use a toolbar with Ediff control buffer"
- ;; ediff-toggle-use-toolbar
- ;; :style toggle
- ;; :selected (if (featurep 'ediff-tbar)
- ;; (ediff-use-toolbar-p))]
- (define-key menu-bar-ediff-misc-menu [eregistry]
- `(menu-item ,(purecopy "List Ediff Sessions") ediff-show-registry
- :help ,(purecopy "List all active Ediff sessions; it is a convenient way to find and resume such a session")))
- (define-key menu-bar-ediff-misc-menu [ediff-cust]
- `(menu-item ,(purecopy "Customize Ediff") ediff-customize
- :help ,(purecopy "Change some of the parameters that govern the behavior of Ediff")))
- (define-key menu-bar-ediff-misc-menu [ediff-doc]
- `(menu-item ,(purecopy "Ediff Manual") ediff-documentation
- :help ,(purecopy "Bring up the Ediff manual"))))
+;; Emacs
+;; initialize menu bar keymaps
+(defvar menu-bar-ediff-misc-menu
+ (make-sparse-keymap "Ediff Miscellanea"))
+(fset 'menu-bar-ediff-misc-menu
+ menu-bar-ediff-misc-menu)
+(defvar menu-bar-epatch-menu (make-sparse-keymap "Apply Patch"))
+(fset 'menu-bar-epatch-menu menu-bar-epatch-menu)
+(defvar menu-bar-ediff-merge-menu (make-sparse-keymap "Merge"))
+(fset 'menu-bar-ediff-merge-menu
+ menu-bar-ediff-merge-menu)
+(defvar menu-bar-ediff-menu (make-sparse-keymap "Compare"))
+(fset 'menu-bar-ediff-menu menu-bar-ediff-menu)
+
+;; define ediff compare menu
+(define-key menu-bar-ediff-menu [ediff-misc]
+ `(menu-item ,(purecopy "Ediff Miscellanea") menu-bar-ediff-misc-menu))
+(define-key menu-bar-ediff-menu [separator-ediff-misc] menu-bar-separator)
+(define-key menu-bar-ediff-menu [window]
+ `(menu-item ,(purecopy "This Window and Next Window") compare-windows
+ :help ,(purecopy "Compare the current window and the next window")))
+(define-key menu-bar-ediff-menu [ediff-windows-linewise]
+ `(menu-item ,(purecopy "Windows Line-by-line...") ediff-windows-linewise
+ :help ,(purecopy "Compare windows line-wise")))
+(define-key menu-bar-ediff-menu [ediff-windows-wordwise]
+ `(menu-item ,(purecopy "Windows Word-by-word...") ediff-windows-wordwise
+ :help ,(purecopy "Compare windows word-wise")))
+(define-key menu-bar-ediff-menu [separator-ediff-windows] menu-bar-separator)
+(define-key menu-bar-ediff-menu [ediff-regions-linewise]
+ `(menu-item ,(purecopy "Regions Line-by-line...") ediff-regions-linewise
+ :help ,(purecopy "Compare regions line-wise")))
+(define-key menu-bar-ediff-menu [ediff-regions-wordwise]
+ `(menu-item ,(purecopy "Regions Word-by-word...") ediff-regions-wordwise
+ :help ,(purecopy "Compare regions word-wise")))
+(define-key menu-bar-ediff-menu [separator-ediff-regions] menu-bar-separator)
+(define-key menu-bar-ediff-menu [ediff-dir-revision]
+ `(menu-item ,(purecopy "Directory Revisions...") ediff-directory-revisions
+ :help ,(purecopy "Compare directory files with their older versions")))
+(define-key menu-bar-ediff-menu [ediff-revision]
+ `(menu-item ,(purecopy "File with Revision...") ediff-revision
+ :help ,(purecopy "Compare file with its older versions")))
+(define-key menu-bar-ediff-menu [separator-ediff-directories] menu-bar-separator)
+(define-key menu-bar-ediff-menu [ediff-directories3]
+ `(menu-item ,(purecopy "Three Directories...") ediff-directories3
+ :help ,(purecopy "Compare files common to three directories simultaneously")))
+(define-key menu-bar-ediff-menu [ediff-directories]
+ `(menu-item ,(purecopy "Two Directories...") ediff-directories
+ :help ,(purecopy "Compare files common to two directories simultaneously")))
+(define-key menu-bar-ediff-menu [separator-ediff-files] menu-bar-separator)
+(define-key menu-bar-ediff-menu [ediff-buffers3]
+ `(menu-item ,(purecopy "Three Buffers...") ediff-buffers3
+ :help ,(purecopy "Compare three buffers simultaneously")))
+(define-key menu-bar-ediff-menu [ediff-files3]
+ `(menu-item ,(purecopy "Three Files...") ediff-files3
+ :help ,(purecopy "Compare three files simultaneously")))
+(define-key menu-bar-ediff-menu [ediff-buffers]
+ `(menu-item ,(purecopy "Two Buffers...") ediff-buffers
+ :help ,(purecopy "Compare two buffers simultaneously")))
+(define-key menu-bar-ediff-menu [ediff-files]
+ `(menu-item ,(purecopy "Two Files...") ediff-files
+ :help ,(purecopy "Compare two files simultaneously")))
+
+;; define ediff merge menu
+(define-key
+ menu-bar-ediff-merge-menu [ediff-merge-dir-revisions-with-ancestor]
+ `(menu-item ,(purecopy "Directory Revisions with Ancestor...")
+ ediff-merge-directory-revisions-with-ancestor
+ :help ,(purecopy "Merge versions of the files in the same directory by comparing the files with common ancestors")))
+(define-key
+ menu-bar-ediff-merge-menu [ediff-merge-dir-revisions]
+ `(menu-item ,(purecopy "Directory Revisions...") ediff-merge-directory-revisions
+ :help ,(purecopy "Merge versions of the files in the same directory (without using ancestor information)")))
+(define-key
+ menu-bar-ediff-merge-menu [ediff-merge-revisions-with-ancestor]
+ `(menu-item ,(purecopy "Revisions with Ancestor...")
+ ediff-merge-revisions-with-ancestor
+ :help ,(purecopy "Merge versions of the same file by comparing them with a common ancestor")))
+(define-key menu-bar-ediff-merge-menu [ediff-merge-revisions]
+ `(menu-item ,(purecopy "Revisions...") ediff-merge-revisions
+ :help ,(purecopy "Merge versions of the same file (without using ancestor information)")))
+(define-key menu-bar-ediff-merge-menu [separator-ediff-merge] menu-bar-separator)
+(define-key
+ menu-bar-ediff-merge-menu [ediff-merge-directories-with-ancestor]
+ `(menu-item ,(purecopy "Directories with Ancestor...")
+ ediff-merge-directories-with-ancestor
+ :help ,(purecopy "Merge files common to a pair of directories by comparing the files with common ancestors")))
+(define-key menu-bar-ediff-merge-menu [ediff-merge-directories]
+ `(menu-item ,(purecopy "Directories...") ediff-merge-directories
+ :help ,(purecopy "Merge files common to a pair of directories")))
+(define-key
+ menu-bar-ediff-merge-menu [separator-ediff-merge-dirs] menu-bar-separator)
+(define-key
+ menu-bar-ediff-merge-menu [ediff-merge-buffers-with-ancestor]
+ `(menu-item ,(purecopy "Buffers with Ancestor...") ediff-merge-buffers-with-ancestor
+ :help ,(purecopy "Merge buffers by comparing their contents with a common ancestor")))
+(define-key menu-bar-ediff-merge-menu [ediff-merge-buffers]
+ `(menu-item ,(purecopy "Buffers...") ediff-merge-buffers
+ :help ,(purecopy "Merge buffers (without using ancestor information)")))
+(define-key menu-bar-ediff-merge-menu [ediff-merge-files-with-ancestor]
+ `(menu-item ,(purecopy "Files with Ancestor...") ediff-merge-files-with-ancestor
+ :help ,(purecopy "Merge files by comparing them with a common ancestor")))
+(define-key menu-bar-ediff-merge-menu [ediff-merge-files]
+ `(menu-item ,(purecopy "Files...") ediff-merge-files
+ :help ,(purecopy "Merge files (without using ancestor information)")))
+
+;; define epatch menu
+(define-key menu-bar-epatch-menu [ediff-patch-buffer]
+ `(menu-item ,(purecopy "To a Buffer...") ediff-patch-buffer
+ :help ,(purecopy "Apply a patch to the contents of a buffer")))
+(define-key menu-bar-epatch-menu [ediff-patch-file]
+ `(menu-item ,(purecopy "To a File...") ediff-patch-file
+ :help ,(purecopy "Apply a patch to a file")))
+
+;; define ediff miscellanea
+(define-key menu-bar-ediff-misc-menu [emultiframe]
+ `(menu-item ,(purecopy "Use separate control buffer frame")
+ ediff-toggle-multiframe
+ :help ,(purecopy "Switch between the single-frame presentation mode and the multi-frame mode")
+ :button (:toggle . (eq (bound-and-true-p ediff-window-setup-function)
+ #'ediff-setup-windows-multiframe))))
+;; FIXME: Port XEmacs's toolbar support!
+;; ["Use a toolbar with Ediff control buffer"
+;; ediff-toggle-use-toolbar
+;; :style toggle
+;; :selected (if (featurep 'ediff-tbar)
+;; (ediff-use-toolbar-p))]
+(define-key menu-bar-ediff-misc-menu [eregistry]
+ `(menu-item ,(purecopy "List Ediff Sessions") ediff-show-registry
+ :help ,(purecopy "List all active Ediff sessions; it is a convenient way to find and resume such a session")))
+(define-key menu-bar-ediff-misc-menu [ediff-cust]
+ `(menu-item ,(purecopy "Customize Ediff") ediff-customize
+ :help ,(purecopy "Change some of the parameters that govern the behavior of Ediff")))
+(define-key menu-bar-ediff-misc-menu [ediff-doc]
+ `(menu-item ,(purecopy "Ediff Manual") ediff-documentation
+ :help ,(purecopy "Bring up the Ediff manual")))
(provide 'ediff-hook)
;;; ediff-hook.el ends here
;; Are we running as a window application or on a TTY?
(defsubst ediff-device-type ()
- (if (featurep 'xemacs)
- (device-type (selected-device))
- window-system))
+ (declare (obsolete nil "27.1"))
+ window-system)
;; in XEmacs: device-type is tty on tty and stream in batch.
(defun ediff-window-display-p ()
- (and (ediff-device-type) (not (memq (ediff-device-type) '(tty pc stream)))))
+ (and window-system
+ (not (memq window-system '(tty pc stream)))))
;; test if supports faces
(defun ediff-has-face-support-p ()
(cond ((ediff-window-display-p))
(ediff-force-faces)
- ((ediff-color-display-p))
- (t (memq (ediff-device-type) '(pc)))))
+ ((display-color-p))
+ (t (memq window-system '(pc)))))
;; toolbar support for emacs hasn't been implemented in ediff
(defun ediff-has-toolbar-support-p ()
- (if (featurep 'xemacs)
- (if (featurep 'toolbar) (console-on-window-system-p))))
+ nil)
(defun ediff-has-gutter-support-p ()
- (if (featurep 'xemacs)
- (if (featurep 'gutter) (console-on-window-system-p))))
+ (declare (obsolete nil "27.1"))
+ nil)
(defun ediff-use-toolbar-p ()
(and (ediff-has-toolbar-support-p) ;Can it do it ?
"%S: Bad diff region number, %d. Valid numbers are 1 to %d")
(defconst ediff-BAD-INFO (format "
*** The Info file for Ediff, a part of the standard distribution
-*** of %sEmacs, does not seem to be properly installed.
+*** of Emacs, does not seem to be properly installed.
***
-*** Please contact your system administrator. "
- (if (featurep 'xemacs) "X" "")))
+*** Please contact your system administrator. "))
;; Selective browsing
;; Highlighting
-(defcustom ediff-before-flag-bol (if (featurep 'xemacs) (make-glyph "->>") "->>")
+(defcustom ediff-before-flag-bol "->>"
"Flag placed before a highlighted block of differences, if block starts at beginning of a line."
:type 'string
:tag "Region before-flag at beginning of line"
:group 'ediff)
-(defcustom ediff-after-flag-eol (if (featurep 'xemacs) (make-glyph "<<-") "<<-")
+(defcustom ediff-after-flag-eol "<<-"
"Flag placed after a highlighted block of differences, if block ends at end of a line."
:type 'string
:tag "Region after-flag at end of line"
:group 'ediff)
-(defcustom ediff-before-flag-mol (if (featurep 'xemacs) (make-glyph "->>") "->>")
+(defcustom ediff-before-flag-mol "->>"
"Flag placed before a highlighted block of differences, if block starts in mid-line."
:type 'string
:tag "Region before-flag in the middle of line"
:group 'ediff)
-(defcustom ediff-after-flag-mol (if (featurep 'xemacs) (make-glyph "<<-") "<<-")
+(defcustom ediff-after-flag-mol "<<-"
"Flag placed after a highlighted block of differences, if block ends in mid-line."
:type 'string
:tag "Region after-flag in the middle of line"
:type 'symbol
:group 'ediff)
-(defcustom ediff-coding-system-for-write (if (featurep 'xemacs)
- 'escape-quoted
- 'emacs-internal)
+(defcustom ediff-coding-system-for-write 'emacs-internal
"The coding system for write to use when writing out difference regions
to temp files in buffer jobs and when Ediff needs to find fine differences."
:type 'symbol
:group 'ediff)
-(defalias 'ediff-read-event
- (if (featurep 'xemacs) 'next-command-event 'read-event))
+(define-obsolete-function-alias 'ediff-read-event #'read-event "27.1")
-(defalias 'ediff-overlayp
- (if (featurep 'xemacs) 'extentp 'overlayp))
+(define-obsolete-function-alias 'ediff-overlayp #'overlayp "27.1")
-(defalias 'ediff-make-overlay
- (if (featurep 'xemacs) 'make-extent 'make-overlay))
+(define-obsolete-function-alias 'ediff-make-overlay #'make-overlay "27.1")
-(defalias 'ediff-delete-overlay
- (if (featurep 'xemacs) 'delete-extent 'delete-overlay))
+(define-obsolete-function-alias 'ediff-delete-overlay #'delete-overlay "27.1")
-(defun ediff-color-display-p ()
- (condition-case nil
- (if (featurep 'xemacs)
- (eq (device-class (selected-device)) 'color) ; xemacs form
- (display-color-p)) ; emacs form
- (error nil)))
+(define-obsolete-function-alias 'ediff-color-display-p #'display-color-p "27.1")
;; A var local to each control panel buffer. Indicates highlighting style
"")
-(if (featurep 'xemacs)
- (progn
- (defalias 'ediff-display-pixel-width 'device-pixel-width)
- (defalias 'ediff-display-pixel-height 'device-pixel-height))
- (defalias 'ediff-display-pixel-width 'display-pixel-width)
- (defalias 'ediff-display-pixel-height 'display-pixel-height))
+(define-obsolete-function-alias 'ediff-display-pixel-width
+ #'display-pixel-width "27.1")
+(define-obsolete-function-alias 'ediff-display-pixel-height
+ #'display-pixel-height "27.1")
;; A-list of current-diff-overlay symbols associated with buf types
(defconst ediff-current-diff-overlay-alist
(defun ediff-region-help-echo (extent-or-window &optional overlay _point)
(unless overlay
(setq overlay extent-or-window))
- (let ((is-current (ediff-overlay-get overlay 'ediff))
- (face (ediff-overlay-get overlay 'face))
- (diff-num (ediff-overlay-get overlay 'ediff-diff-num))
+ (let ((is-current (overlay-get overlay 'ediff))
+ (face (overlay-get overlay 'face))
+ (diff-num (overlay-get overlay 'ediff-diff-num))
face-help)
;; This happens only for refinement overlays
(defun ediff-set-face-pixmap (face pixmap)
"Set face pixmap on a monochrome display."
- (if (and (ediff-window-display-p) (not (ediff-color-display-p)))
+ (if (and (ediff-window-display-p) (not (display-color-p)))
(condition-case nil
(set-face-background-pixmap face pixmap)
(error
widget to customize the actual face object `ediff-current-diff-A'
this variable represents.")
(ediff-hide-face ediff-current-diff-face-A)
-;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
-;; This means that some user customization may be trashed.
-(and (featurep 'xemacs)
- (ediff-has-face-support-p)
- (not (ediff-color-display-p))
- (copy-face 'modeline ediff-current-diff-face-A))
-
-
(defface ediff-current-diff-B
'((((class color) (min-colors 88) (background light))
widget to customize the actual face `ediff-current-diff-B'
this variable represents.")
(ediff-hide-face ediff-current-diff-face-B)
-;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
-;; This means that some user customization may be trashed.
-(and (featurep 'xemacs)
- (ediff-has-face-support-p)
- (not (ediff-color-display-p))
- (copy-face 'modeline ediff-current-diff-face-B))
-
(defface ediff-current-diff-C
'((((class color) (min-colors 88) (background light))
widget to customize the actual face object `ediff-current-diff-C'
this variable represents.")
(ediff-hide-face ediff-current-diff-face-C)
-;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
-;; This means that some user customization may be trashed.
-(and (featurep 'xemacs)
- (ediff-has-face-support-p)
- (not (ediff-color-display-p))
- (copy-face 'modeline ediff-current-diff-face-C))
-
(defface ediff-current-diff-Ancestor
'((((class color) (min-colors 88) (background light))
widget to customize the actual face object `ediff-current-diff-Ancestor'
this variable represents.")
(ediff-hide-face ediff-current-diff-face-Ancestor)
-;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
-;; This means that some user customization may be trashed.
-(and (featurep 'xemacs)
- (ediff-has-face-support-p)
- (not (ediff-color-display-p))
- (copy-face 'modeline ediff-current-diff-face-Ancestor))
-
(defface ediff-fine-diff-A
'((((class color) (min-colors 88) (background light))
overl diff-num)
(mapcar (lambda (rec)
(setq overl (ediff-get-diff-overlay-from-diff-record rec)
- diff-num (ediff-overlay-get overl 'ediff-diff-num))
- (if (ediff-overlay-buffer overl)
+ diff-num (overlay-get overl 'ediff-diff-num))
+ (if (overlay-buffer overl)
;; only if overlay is alive
(ediff-set-overlay-face
overl
;; this record is itself a vector
(defsubst ediff-clear-fine-diff-vector (diff-record)
(if diff-record
- (mapc #'ediff-delete-overlay
- (ediff-get-fine-diff-vector-from-diff-record diff-record))))
+ (mapc #'delete-overlay
+ (ediff-get-fine-diff-vector-from-diff-record diff-record))))
(defsubst ediff-clear-fine-differences-in-one-buffer (n buf-type)
(ediff-clear-fine-diff-vector (ediff-get-difference n buf-type))
(defsubst ediff-mouse-event-p (event)
- (if (featurep 'xemacs)
- (button-event-p event)
- (string-match "mouse" (format "%S" (event-basic-type event)))))
+ (string-match "mouse" (format "%S" (event-basic-type event))))
(defsubst ediff-key-press-event-p (event)
- (if (featurep 'xemacs)
- (key-press-event-p event)
- (or (char-or-string-p event) (symbolp event))))
+ (or (char-or-string-p event) (symbolp event)))
(defun ediff-event-point (event)
(cond ((ediff-mouse-event-p event)
- (if (featurep 'xemacs)
- (event-point event)
- (posn-point (event-start event))))
+ (posn-point (event-start event)))
((ediff-key-press-event-p event)
(point))
(t (error "Error"))))
(defun ediff-event-buffer (event)
(cond ((ediff-mouse-event-p event)
- (if (featurep 'xemacs)
- (event-buffer event)
- (window-buffer (posn-window (event-start event)))))
+ (window-buffer (posn-window (event-start event))))
((ediff-key-press-event-p event)
(current-buffer))
(t (error "Error"))))
-(defun ediff-event-key (event-or-key)
- (if (featurep 'xemacs)
- ;;(if (eventp event-or-key) (event-key event-or-key) event-or-key)
- (if (eventp event-or-key) (event-to-character event-or-key t t) event-or-key)
- event-or-key))
+(define-obsolete-function-alias 'ediff-event-key #'identity "27.1")
(defun ediff-last-command-char ()
- (ediff-event-key last-command-event))
+ (declare (obsolete nil "27.1"))
+ last-command-event)
(defsubst ediff-frame-iconified-p (frame)
- (and (ediff-window-display-p) (frame-live-p frame)
- (if (featurep 'xemacs)
- (frame-iconified-p frame)
- (eq (frame-visible-p frame) 'icon))))
+ (and (ediff-window-display-p)
+ (frame-live-p frame)
+ (eq (frame-visible-p frame) 'icon)))
(defsubst ediff-window-visible-p (wind)
;; under TTY, window-live-p also means window is visible
(frame-visible-p (window-frame wind)))))
-(defsubst ediff-frame-char-width (frame)
- (if (featurep 'xemacs)
- (/ (frame-pixel-width frame) (frame-width frame))
- (frame-char-width frame)))
+(define-obsolete-function-alias 'ediff-frame-char-width
+ #'frame-char-width "27.1")
(defun ediff-reset-mouse (&optional frame do-not-grab-mouse)
(or frame (setq frame (selected-frame)))
(if (ediff-window-display-p)
(let ((frame-or-wind frame))
- (if (featurep 'xemacs)
- (setq frame-or-wind (frame-selected-window frame)))
(or do-not-grab-mouse
;; don't set mouse if the user said to never do this
(not ediff-grab-mouse)
ediff-mouse-pixel-threshold))))
(t nil))))
-(defsubst ediff-frame-char-height (frame)
- (if (featurep 'xemacs)
- (glyph-height ediff-H-glyph (frame-selected-window frame))
- (frame-char-height frame)))
+(define-obsolete-function-alias 'ediff-frame-char-height
+ #'frame-char-height "27.1")
;; Some overlay functions
(defsubst ediff-overlay-start (overl)
- (if (ediff-overlayp overl)
- (if (featurep 'xemacs)
- (extent-start-position overl)
- (overlay-start overl))))
+ (if (overlayp overl)
+ (overlay-start overl)))
(defsubst ediff-overlay-end (overl)
- (if (ediff-overlayp overl)
- (if (featurep 'xemacs)
- (extent-end-position overl)
- (overlay-end overl))))
+ (if (overlayp overl)
+ (overlay-end overl)))
(defsubst ediff-empty-overlay-p (overl)
(= (ediff-overlay-start overl) (ediff-overlay-end overl)))
-;; like overlay-buffer in Emacs. In XEmacs, returns nil if the extent is
-;; dead. Otherwise, works like extent-buffer
-(defun ediff-overlay-buffer (overl)
- (if (featurep 'xemacs)
- (and (extent-live-p overl) (extent-object overl))
- (overlay-buffer overl)))
+(define-obsolete-function-alias 'ediff-overlay-buffer
+ #'overlay-buffer "27.1")
-;; like overlay-get in Emacs. In XEmacs, returns nil if the extent is
-;; dead. Otherwise, like extent-property
-(defun ediff-overlay-get (overl property)
- (if (featurep 'xemacs)
- (and (extent-live-p overl) (extent-property overl property))
- (overlay-get overl property)))
+(define-obsolete-function-alias 'ediff-overlay-get #'overlay-get "27.1")
-;; These two functions are here because XEmacs refuses to
-;; handle overlays whose buffers were deleted.
(defun ediff-move-overlay (overlay beg end &optional buffer)
- "Calls `move-overlay' in Emacs and `set-extent-endpoints' in Lemacs.
-Checks if overlay's buffer exists before actually doing the move."
- (let ((buf (and overlay (ediff-overlay-buffer overlay))))
+ "If OVERLAY's buffer exists, call `move-overlay'."
+ (let ((buf (and overlay (overlay-buffer overlay))))
(if (ediff-buffer-live-p buf)
- (if (featurep 'xemacs)
- (set-extent-endpoints overlay beg end)
- (move-overlay overlay beg end buffer))
+ (move-overlay overlay beg end buffer)
;; buffer's dead
(if overlay
- (ediff-delete-overlay overlay)))))
+ (delete-overlay overlay)))))
(defun ediff-overlay-put (overlay prop value)
- "Calls `overlay-put' or `set-extent-property' depending on Emacs version.
-Checks if overlay's buffer exists."
- (if (ediff-buffer-live-p (ediff-overlay-buffer overlay))
- (if (featurep 'xemacs)
- (set-extent-property overlay prop value)
- (overlay-put overlay prop value))
- (ediff-delete-overlay overlay)))
+ "Calls `overlay-put', but checks if overlay's buffer exists."
+ (if (ediff-buffer-live-p (overlay-buffer overlay))
+ (overlay-put overlay prop value)
+ (delete-overlay overlay)))
;; temporarily uses DIR to abbreviate file name
;; if DIR is nil, use default-directory
(let ((directory-abbrev-alist (list (cons dir ""))))
(abbreviate-file-name file)))
(t
- (if (featurep 'xemacs)
- ;; XEmacs requires addl argument
- (abbreviate-file-name file t)
- (abbreviate-file-name file)))))
+ (abbreviate-file-name file))))
;; Takes a directory and returns the parent directory.
;; does nothing to `/'. If the ARG is a regular file,
(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)))))))
(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)))))))
;; 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))
;; 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))
(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
;; 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
(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)
(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.
;; (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)
(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))))
))))
;; 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)
(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)))
(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")
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)
(require 'ediff-wind)
(require 'ediff-diff)
(require 'ediff-merg)
-;; for compatibility with current stable version of xemacs
-(if (featurep 'xemacs)
- (require 'ediff-tbar))
\f
;;; Functions
(make-local-variable 'window-min-height)
(setq window-min-height 2)
- (if (featurep 'xemacs)
- (make-local-hook 'ediff-after-quit-hook-internal))
-
;; unwrap set up parameters passed as argument
(while setup-parameters
(set (car (car setup-parameters)) (cdr (car setup-parameters)))
(if (string-match "buffer" (symbol-name ediff-job-name))
(setq ediff-keep-variants t))
- (if (featurep 'xemacs)
- (make-local-hook 'pre-command-hook))
-
(if (ediff-window-display-p)
(add-hook 'pre-command-hook 'ediff-spy-after-mouse nil 'local))
(setq ediff-mouse-pixel-position (mouse-pixel-position))
;; since these vars are local to control-buffer
;; These won't run if there are errors in diff
(ediff-with-current-buffer ediff-buffer-A
- (ediff-nuke-selective-display)
(run-hooks 'ediff-prepare-buffer-hook)
(if (ediff-with-current-buffer control-buffer ediff-merge-job)
(setq buffer-read-only t))
)
(ediff-with-current-buffer ediff-buffer-B
- (ediff-nuke-selective-display)
(run-hooks 'ediff-prepare-buffer-hook)
(if (ediff-with-current-buffer control-buffer ediff-merge-job)
(setq buffer-read-only t))
(if ediff-3way-job
(ediff-with-current-buffer ediff-buffer-C
- (ediff-nuke-selective-display)
;; the merge buffer should never be narrowed
;; (it can happen if it is on rmail-mode or similar)
(if (ediff-with-current-buffer control-buffer ediff-merge-job)
(if (ediff-buffer-live-p ediff-ancestor-buffer)
(ediff-with-current-buffer ediff-ancestor-buffer
- (ediff-nuke-selective-display)
(setq buffer-read-only t)
(run-hooks 'ediff-prepare-buffer-hook)
(or (memq control-buffer ediff-this-buffer-ediff-sessions)
ediff-wide-display-p))
(set-window-dedicated-p (selected-window) t)
- ;; In multiframe, toolbar is set in ediff-setup-control-frame
- (if (not (ediff-multiframe-setup-p))
- (ediff-make-bottom-toolbar)) ; this checks if toolbar is requested
(goto-char (point-min))
(skip-chars-forward ediff-whitespace)))
(if (fboundp 'select-frame-set-input-focus)
(select-frame-set-input-focus ediff-control-frame)
(raise-frame ediff-control-frame)
- (select-frame ediff-control-frame)
- (and (featurep 'xemacs) (fboundp 'focus-frame)
- (focus-frame ediff-control-frame))))
+ (select-frame ediff-control-frame)))
;; Redisplay whatever buffers are showing, if there is a selected difference
(let ((control-frame ediff-control-frame)
(if window
(progn
(select-window window)
- (ediff-deactivate-mark)
+ (deactivate-mark)
(ediff-position-region
(ediff-get-diff-posn buf-type 'beg nil control-buf)
(ediff-get-diff-posn buf-type 'end nil control-buf)
(interactive)
(ediff-barf-if-not-control-buffer)
(let ((ctl-buf (if (null buf) (current-buffer)))
- (buf-type (ediff-char-to-buftype (ediff-last-command-char))))
+ (buf-type (ediff-char-to-buftype last-command-event)))
(or buf (ediff-recenter))
(or buf
(setq buf (ediff-get-buffer buf-type)))
(and (vc-backend file)
(if (fboundp 'vc-state)
(or (memq (vc-state file) '(edited needs-merge))
- (stringp (vc-state file)))
- ;; XEmacs has no vc-state
- (when (featurep 'xemacs) (vc-locking-user file)))
- )))
+ (stringp (vc-state file)))))))
(defun ediff-file-checked-in-p (file)
(and (featurep 'vc-hooks)
(if (fboundp 'vc-state)
(and
(not (memq (vc-state file) '(edited needs-merge)))
- (not (stringp (vc-state file))))
- ;; XEmacs has no vc-state
- (when (featurep 'xemacs) (not (vc-locking-user file))))
- ))
+ (not (stringp (vc-state file)))))))
(defun ediff-file-compressed-p (file)
(require 'jka-compr)
(ediff-with-current-buffer ctl-buf
(modify-frame-parameters
ediff-wide-display-frame ediff-wide-display-orig-parameters)
- ;;(sit-for (if (featurep 'xemacs) 0.4 0))
;; restore control buf, since ctl window may have been deleted
;; during resizing
(set-buffer ctl-buf)
ediff-window-B nil) ; force update of window config
(ediff-recenter 'no-rehighlight))
(funcall ediff-make-wide-display-function)
- ;;(sit-for (if (featurep 'xemacs) 0.4 0))
(ediff-with-current-buffer ctl-buf
(setq ediff-window-B nil) ; force update of window config
(ediff-recenter 'no-rehighlight)))))
(setq window-setup-func #'ediff-setup-windows-plain)
(message "ediff is now in 'plain' mode"))
((eq ediff-window-setup-function #'ediff-setup-windows-plain)
- (if (ediff-in-control-buffer-p)
- (ediff-kill-bottom-toolbar))
(if (and (ediff-buffer-live-p ediff-control-buffer)
(window-live-p ediff-control-window))
(set-window-dedicated-p ediff-control-window nil))
(progn
(or (ediff-window-display-p)
(user-error "Emacs is not running as a window application"))
- (if (ediff-use-toolbar-p)
- (ediff-kill-bottom-toolbar))
;; do this only after killing the toolbar
(setq ediff-use-toolbar-p (not ediff-use-toolbar-p))
(ediff-recenter 'no-rehighlight)))))
-;; if was using toolbar, kill it
-(defun ediff-kill-bottom-toolbar ()
- ;; Using ctl-buffer or ediff-control-window for LOCALE does not
- ;; work properly in XEmacs 19.14: we have to use
- ;;(selected-frame).
- ;; The problem with this is that any previous bottom-toolbar
- ;; will not re-appear after our cleanup here. Is there a way
- ;; to do "push" and "pop" toolbars ? --marcpa
- (if (featurep 'xemacs)
- (when (ediff-use-toolbar-p)
- (set-specifier bottom-toolbar (list (selected-frame) nil))
- (set-specifier bottom-toolbar-visible-p (list (selected-frame) nil)))))
-
-;; If wants to use toolbar, make it.
-;; If not, zero the toolbar for XEmacs.
-;; Do nothing for Emacs.
-(defun ediff-make-bottom-toolbar (&optional frame)
- (when (ediff-window-display-p)
- (setq frame (or frame (selected-frame)))
- (if (featurep 'xemacs)
- (cond ((ediff-use-toolbar-p) ; this checks for XEmacs
- (set-specifier
- bottom-toolbar
- (list frame (if (ediff-3way-comparison-job)
- ediff-toolbar-3way ediff-toolbar)))
- (set-specifier bottom-toolbar-visible-p (list frame t))
- (set-specifier bottom-toolbar-height
- (list frame ediff-toolbar-height)))
- ((ediff-has-toolbar-support-p)
- (set-specifier bottom-toolbar-height (list frame 0)))))))
+(define-obsolete-function-alias 'ediff-kill-bottom-toolbar #'ignore "27.1")
+(define-obsolete-function-alias 'ediff-make-bottom-toolbar #'ignore "27.1")
;; Merging
'C ediff-visible-bounds))
)
(ediff-with-current-buffer ediff-buffer-A
- (if (ediff-overlay-buffer overl-A)
+ (if (overlay-buffer overl-A)
(narrow-to-region
(ediff-overlay-start overl-A) (ediff-overlay-end overl-A))))
(ediff-with-current-buffer ediff-buffer-B
- (if (ediff-overlay-buffer overl-B)
+ (if (overlay-buffer overl-B)
(narrow-to-region
(ediff-overlay-start overl-B) (ediff-overlay-end overl-B))))
- (if (and ediff-3way-job (ediff-overlay-buffer overl-C))
+ (if (and ediff-3way-job (overlay-buffer overl-C))
(ediff-with-current-buffer ediff-buffer-C
(narrow-to-region
(ediff-overlay-start overl-C) (ediff-overlay-end overl-C))))
(error ediff-KILLED-VITAL-BUFFER))
(ediff-operate-on-windows
- (if (memq (ediff-last-command-char) '(?v ?\C-v))
+ (if (memq last-command-event '(?v ?\C-v))
#'scroll-up
#'scroll-down)
;; calculate argument to scroll-up/down
;; interactively so that they set the window's min_hscroll.
;; Otherwise, automatic hscrolling will undo the effect of
;; hscrolling.
- (if (= (ediff-last-command-char) ?<)
+ (if (= last-command-event ?<)
(lambda (arg)
(let ((prefix-arg arg))
(call-interactively #'scroll-left)))
in the specified buffer."
(interactive "P")
(ediff-barf-if-not-control-buffer)
- (let* ((buf-type (ediff-char-to-buftype (ediff-last-command-char)))
+ (let* ((buf-type (ediff-char-to-buftype last-command-event))
(buffer (ediff-get-buffer buf-type))
(pt (ediff-with-current-buffer buffer (point)))
(diff-no (ediff-diff-at-point buf-type nil (if arg 'after)))
(if (eq arg '-) (setq arg -1)) ; translate neg arg to -1
(if (numberp arg) (ediff-jump-to-difference arg))
- (let* ((key1 (aref keys 0))
- (key2 (aref keys 1))
- (char1 (ediff-event-key key1))
- (char2 (ediff-event-key key2))
+ (let* ((char1 (aref keys 0))
+ (char2 (aref keys 1))
ediff-verbose-p)
(ediff-copy-diff ediff-current-difference
(ediff-char-to-buftype char1)
(if (numberp arg)
(ediff-jump-to-difference arg))
(ediff-pop-diff ediff-current-difference
- (ediff-char-to-buftype (or key (ediff-last-command-char))))
+ (ediff-char-to-buftype (or key last-command-event)))
;; recenter with rehighlighting, but no messages
(let (ediff-verbose-p)
(ediff-recenter)))
(cond
((or (and (eq ediff-skip-diff-region-function
ediff-focus-on-regexp-matches-function)
- (eq (ediff-last-command-char) ?f))
+ (eq last-command-event ?f))
(and (eq ediff-skip-diff-region-function
ediff-hide-regexp-matches-function)
- (eq (ediff-last-command-char) ?h)))
+ (eq last-command-event ?h)))
(message "Selective browsing by regexp turned off")
(setq ediff-skip-diff-region-function #'ediff-show-all-diffs))
- ((eq (ediff-last-command-char) ?h)
+ ((eq last-command-event ?h)
(setq ediff-skip-diff-region-function ediff-hide-regexp-matches-function
regexp-A
(read-string
(or (string= regexp-B "") (setq ediff-regexp-hide-B regexp-B))
(or (string= regexp-C "") (setq ediff-regexp-hide-C regexp-C)))
- ((eq (ediff-last-command-char) ?f)
+ ((eq last-command-event ?f)
(setq ediff-skip-diff-region-function
ediff-focus-on-regexp-matches-function
regexp-A
;; Apply selective display to narrow or widen
(ediff-visible-region)
(mapc (lambda (overl)
- (if (ediff-overlayp overl)
- (ediff-delete-overlay overl)))
+ (if (overlayp overl)
+ (delete-overlay overl)))
ediff-wide-bounds)
(mapc (lambda (overl)
- (if (ediff-overlayp overl)
- (ediff-delete-overlay overl)))
+ (if (overlayp overl)
+ (delete-overlay overl)))
ediff-narrow-bounds)
;; restore buffer mode line id's in buffer-A/B/C
((window-live-p ctl-wind)
(delete-window ctl-wind)))
- ;; Hide bottom toolbar. --marcpa
- (if (not (ediff-multiframe-setup-p))
- (ediff-kill-bottom-toolbar))
-
(ediff-kill-buffer-carefully ctl-buf)
(if (frame-live-p main-frame)
(ediff-get-symbol-from-alist
buf-type ediff-current-diff-overlay-alist))))
- (if (featurep 'xemacs)
- (ediff-move-overlay current-diff-overlay begin end-hilit)
- (ediff-move-overlay current-diff-overlay begin end-hilit buff))
+ (ediff-move-overlay current-diff-overlay begin end-hilit buff)
(ediff-overlay-put current-diff-overlay 'ediff-diff-num n)
;; unhighlight the background overlay for diff n so it won't
buf-type ediff-current-diff-overlay-alist))
(current-diff-overlay (symbol-value current-diff-overlay-var)))
(ediff-paint-background-regions 'unhighlight)
- (if (ediff-overlayp current-diff-overlay)
- (ediff-delete-overlay current-diff-overlay))
+ (if (overlayp current-diff-overlay)
+ (delete-overlay current-diff-overlay))
(set current-diff-overlay-var nil)
)))
(ediff-barf-if-not-control-buffer)
(ediff-compute-custom-diffs-maybe)
(ediff-with-current-buffer
- (cond ((memq (ediff-last-command-char) '(?a ?b ?c))
+ (cond ((memq last-command-event '(?a ?b ?c))
(ediff-get-buffer
- (ediff-char-to-buftype (ediff-last-command-char))))
- ((eq (ediff-last-command-char) ?d)
+ (ediff-char-to-buftype last-command-event)))
+ ((eq last-command-event ?d)
(message "Saving diff output ...")
(sit-for 1) ; let the user see the message
(cond ((and arg (ediff-buffer-live-p ediff-diff-buffer))
(defun ediff-make-cloned-buffer (buff region-name)
- (ediff-make-indirect-buffer
+ (make-indirect-buffer
buff (generate-new-buffer-name
- (concat (if (stringp buff) buff (buffer-name buff)) region-name))))
-
+ (concat (if (stringp buff) buff (buffer-name buff)) region-name))
+ 'clone))
(defun ediff-make-indirect-buffer (base-buf indirect-buf-name)
- (if (featurep 'xemacs)
- (make-indirect-buffer base-buf indirect-buf-name)
- (make-indirect-buffer base-buf indirect-buf-name 'clone)))
+ (declare (obsolete make-indirect-buffer "27.1"))
+ (make-indirect-buffer base-buf indirect-buf-name 'clone))
;; This function operates only from an ediff control buffer
(defun ediff-remove-flags-from-buffer (buffer overlay)
(ediff-with-current-buffer buffer
(let ((inhibit-read-only t))
- (if (featurep 'xemacs)
- (ediff-overlay-put overlay 'begin-glyph nil)
- (ediff-overlay-put overlay 'before-string nil))
-
- (if (featurep 'xemacs)
- (ediff-overlay-put overlay 'end-glyph nil)
- (ediff-overlay-put overlay 'after-string nil))
- )))
+ (ediff-overlay-put overlay 'before-string nil)
+ (ediff-overlay-put overlay 'after-string nil))))
ediff-before-flag-bol ediff-before-flag-mol))))
;; insert the flag itself
- (if (featurep 'xemacs)
- (ediff-overlay-put curr-overl 'begin-glyph flag)
- (ediff-overlay-put curr-overl 'before-string flag))
+ (ediff-overlay-put curr-overl 'before-string flag)
;; insert the flag after the difference
;; `after' must be set here, after the before-flag was inserted
ediff-after-flag-eol ediff-after-flag-mol))))
;; insert the flag itself
- (if (featurep 'xemacs)
- (ediff-overlay-put curr-overl 'end-glyph flag)
- (ediff-overlay-put curr-overl 'after-string flag))
- ))
+ (ediff-overlay-put curr-overl 'after-string flag)))
;;; Some diff region tests
this-command (1+ n) ediff-number-of-differences)
(error ediff-NO-DIFFERENCES)))
(setq diff-overlay (ediff-get-diff-overlay n buf-type)))
- (if (not (ediff-buffer-live-p (ediff-overlay-buffer diff-overlay)))
+ (if (not (ediff-buffer-live-p (overlay-buffer diff-overlay)))
(error ediff-KILLED-VITAL-BUFFER))
(if (eq pos 'beg)
(ediff-overlay-start diff-overlay)
(defun ediff-clear-diff-vector (vec-var &optional fine-diffs-also)
(if (vectorp (symbol-value vec-var))
(mapc (lambda (elt)
- (ediff-delete-overlay
- (ediff-get-diff-overlay-from-diff-record elt))
+ (delete-overlay (ediff-get-diff-overlay-from-diff-record elt))
(if fine-diffs-also
(ediff-clear-fine-diff-vector elt))
)
(setq beg (eval beg)))
(or (number-or-marker-p end)
(setq end (eval end)))
- (setq overl
- (if (featurep 'xemacs)
- (make-extent beg end buff)
- ;; advance front and rear of the overlay
- (make-overlay beg end buff nil 'rear-advance)))
+ ;; advance front and rear of the overlay
+ (setq overl (make-overlay beg end buff nil 'rear-advance))
;; never detach
(ediff-overlay-put overl 'evaporate nil)
- ;; make overlay open-ended
- ;; In emacs, it is made open ended at creation time
- (when (featurep 'xemacs)
- (ediff-overlay-put overl 'start-open nil)
- (ediff-overlay-put overl 'end-open nil))
(ediff-overlay-put overl 'ediff-diff-num 0)
overl))))
(defvar ediff-buffer-name)
(let ((reporter-prompt-for-summary-p t)
(ctl-buf ediff-control-buffer)
- (ediff-device-type (ediff-device-type))
+ (ediff-device-type window-system)
varlist salutation ediff-buffer-name)
(setq varlist '(ediff-diff-program ediff-diff-options
ediff-diff3-program ediff-diff3-options
)
-(defun ediff-deactivate-mark ()
- (if (featurep 'xemacs)
- (zmacs-deactivate-region)
- (deactivate-mark)))
+(define-obsolete-function-alias 'ediff-deactivate-mark #'deactivate-mark "27.1")
(defun ediff-activate-mark ()
- (if (featurep 'xemacs)
- (zmacs-activate-region)
- (make-local-variable 'transient-mark-mode)
- (setq mark-active 'ediff-util transient-mark-mode t)))
-
-(defun ediff-nuke-selective-display ()
- (if (featurep 'xemacs)
- (nuke-selective-display)
- ))
+ (make-local-variable 'transient-mark-mode)
+ (setq mark-active 'ediff-util transient-mark-mode t))
+(define-obsolete-function-alias 'ediff-nuke-selective-display #'ignore "27.1")
;; The next two are modified versions from emerge.el.
;; VARS must be a list of symbols
(interactive)
(ediff-barf-if-not-control-buffer)
- (if (featurep 'xemacs)
- (make-local-hook 'post-command-hook))
-
(let ((pre-hook 'pre-command-hook)
(post-hook 'post-command-hook))
(if (not (equal ediff-command-begin-time '(0 0 0)))
\t\tState-of-diff:\t %S
\t\tState-of-merge:\t %S
"
- (1+ (ediff-overlay-get (aref overl-vec 0) 'ediff-diff-num))
+ (1+ (overlay-get (aref overl-vec 0) 'ediff-diff-num))
(aref overl-vec 0)
;; fine-diff-vector
(if (= (length (aref overl-vec 1)) 0)
(const :tag "Split horizontally" split-window-horizontally)
function))
-;; Definitions hidden from the compiler by compat wrappers.
-(declare-function ediff-display-pixel-width "ediff-init")
-(declare-function ediff-display-pixel-height "ediff-init")
-
(defconst ediff-control-frame-parameters
(list
'(name . "Ediff")
;; this blocks queries from window manager as to where to put
;; ediff's control frame. we put the frame outside the display,
;; so the initial frame won't jump all over the screen
- (cons 'top (if (fboundp 'ediff-display-pixel-height)
- (1+ (ediff-display-pixel-height))
+ (cons 'top (if (fboundp 'display-pixel-height)
+ (1+ (display-pixel-height))
3000))
- (cons 'left (if (fboundp 'ediff-display-pixel-width)
- (1+ (ediff-display-pixel-width))
+ (cons 'left (if (fboundp 'display-pixel-width)
+ (1+ (display-pixel-width))
3000))
)
"Frame parameters for displaying Ediff Control Panel.
customization of the default control frame positioning."
:type 'integer)
-(defcustom ediff-narrow-control-frame-leftward-shift (if (featurep 'xemacs) 7 3)
+(defcustom ediff-narrow-control-frame-leftward-shift 3
"The leftward shift of control frame from the right edge of buf A's frame.
Measured in characters.
This is used by the default control frame positioning function,
(let (event)
(message
"Select windows by clicking. Please click on Window %d " wind-number)
- (while (not (ediff-mouse-event-p (setq event (ediff-read-event))))
+ (while (not (ediff-mouse-event-p (setq event (read-event))))
(if (sit-for 1) ; if sequence of events, wait till the final word
(beep 1))
(message "Please click on Window %d " wind-number))
- (ediff-read-event) ; discard event
- (if (featurep 'xemacs)
- (event-window event)
- (posn-window (event-start event)))))
+ (read-event) ; discard event
+ (posn-window (event-start event))))
;; Select the lowest window on the frame.
(defun ediff-select-lowest-window ()
- (if (featurep 'xemacs)
- (select-window (frame-lowest-window))
- (let* ((lowest-window (selected-window))
- (bottom-edge (car (cdr (cdr (cdr (window-edges))))))
- (last-window (save-excursion
- (other-window -1) (selected-window)))
- (window-search t))
- (while window-search
- (let* ((this-window (next-window))
- (next-bottom-edge
- (car (cdr (cdr (cdr (window-edges this-window)))))))
- (if (< bottom-edge next-bottom-edge)
- (setq bottom-edge next-bottom-edge
- lowest-window this-window))
- (select-window this-window)
- (when (eq last-window this-window)
- (select-window lowest-window)
- (setq window-search nil)))))))
+ (let* ((lowest-window (selected-window))
+ (bottom-edge (car (cdr (cdr (cdr (window-edges))))))
+ (last-window (save-excursion
+ (other-window -1) (selected-window)))
+ (window-search t))
+ (while window-search
+ (let* ((this-window (next-window))
+ (next-bottom-edge
+ (car (cdr (cdr (cdr (window-edges this-window)))))))
+ (if (< bottom-edge next-bottom-edge)
+ (setq bottom-edge next-bottom-edge
+ lowest-window this-window))
+ (select-window this-window)
+ (when (eq last-window this-window)
+ (select-window lowest-window)
+ (setq window-search nil))))))
;;; Common window setup routines
(switch-to-buffer buf-A)
(setq wind-A (selected-window))
- ;; XEmacs used to have a lot of trouble with display
- ;; It did't set things right unless we tell it to sit still
- ;; 19.12 seems ok.
- ;;(if (featurep 'xemacs) (sit-for 0))
-
(split-window-vertically (max 2 (- (window-height) merge-window-lines)))
(if (eq (selected-window) wind-A)
(other-window 1))
(window-width wind-A))
3)))
- ;; XEmacs used to have a lot of trouble with display
- ;; It did't set things right unless we told it to sit still
- ;; 19.12 seems ok.
- ;;(if (featurep 'xemacs) (sit-for 0))
-
(funcall split-window-function wind-width-or-height)
(if (eq (selected-window) wind-A)
(not (ediff-frame-has-dedicated-windows (window-frame wind)))
)))
-(declare-function ediff-make-bottom-toolbar "ediff-util" (&optional frame))
-
;; Prepare or refresh control frame
(defun ediff-setup-control-frame (ctl-buffer designated-minibuffer-frame)
(let ((window-min-height 1)
fheight fwidth adjusted-parameters)
(with-current-buffer ctl-buffer
- (if (and (featurep 'xemacs) (featurep 'menubar))
- (set-buffer-menubar nil))
;;(setq user-grabbed-mouse (ediff-user-grabbed-mouse))
(run-hooks 'ediff-before-setup-control-frame-hook))
'(auto-raise . t))
adjusted-parameters))
- ;; In XEmacs, buffer menubar needs to be killed before frame parameters
- ;; are changed.
- (if (ediff-has-toolbar-support-p)
- (when (featurep 'xemacs)
- (if (ediff-has-gutter-support-p)
- (set-specifier top-gutter (list ctl-frame nil)))
- (sit-for 0)
- (set-specifier top-toolbar-height (list ctl-frame 0))
- ;;(set-specifier bottom-toolbar-height (list ctl-frame 0))
- (set-specifier left-toolbar-width (list ctl-frame 0))
- (set-specifier right-toolbar-width (list ctl-frame 0))))
-
;; As a precaution, we call modify frame parameters twice, in
;; order to make sure that at least once we do it for
;; a non-iconified frame. (It appears that in the Windows port of
(if (eq system-type 'windows-nt)
(modify-frame-parameters ctl-frame adjusted-parameters))
- ;; make or zap toolbar (if not requested)
- (ediff-make-bottom-toolbar ctl-frame)
-
(goto-char (point-min))
(modify-frame-parameters ctl-frame adjusted-parameters)
(or (eq this-command 'ediff-quit)
(not (eq ediff-grab-mouse t)))))
- (when (featurep 'xemacs)
- (with-current-buffer ctl-buffer
- (make-local-hook 'select-frame-hook)
- (add-hook 'select-frame-hook
- #'ediff-xemacs-select-frame-hook nil 'local)))
-
(with-current-buffer ctl-buffer
(run-hooks 'ediff-after-setup-control-frame-hook))))
(ediff-with-current-buffer ctl-buffer
(if (and (ediff-window-display-p) (frame-live-p ediff-control-frame))
(let ((ctl-frame ediff-control-frame))
- (if (and (featurep 'xemacs) (featurep 'menubar))
- (set-buffer-menubar default-menubar))
(setq ediff-control-frame nil)
(delete-frame ctl-frame))))
(if ediff-multiframe
ctl-frame-left
(+ frame-A-left
(if ediff-use-long-help-message
- (* (ediff-frame-char-width ctl-frame)
+ (* (frame-char-width ctl-frame)
(+ ediff-wide-control-frame-rightward-shift
horizontal-adjustment))
- (- (* frame-A-width (ediff-frame-char-width frame-A))
- (* (ediff-frame-char-width ctl-frame)
+ (- (* frame-A-width (frame-char-width frame-A))
+ (* (frame-char-width ctl-frame)
(+ ctl-frame-width
ediff-narrow-control-frame-leftward-shift
horizontal-adjustment))))))
(setq ctl-frame-top
(min ctl-frame-top
- (- (ediff-display-pixel-height)
+ (- (display-pixel-height)
(* 2 ctl-frame-height
- (ediff-frame-char-height ctl-frame))))
+ (frame-char-height ctl-frame))))
ctl-frame-left
(min ctl-frame-left
- (- (ediff-display-pixel-width)
- (* ctl-frame-width (ediff-frame-char-width ctl-frame)))))
+ (- (display-pixel-width)
+ (* ctl-frame-width (frame-char-width ctl-frame)))))
;; keep ctl frame within the visible bounds
(setq ctl-frame-top (max ctl-frame-top 1)
ctl-frame-left (max ctl-frame-left 1))
The frame to be resized is kept in `ediff-wide-display-frame'.
This function modifies only the left margin and the width of the display.
It assumes that it is called from within the control buffer."
- (if (not (fboundp 'ediff-display-pixel-width))
+ (if (not (fboundp 'display-pixel-width))
(user-error "Can't determine display width"))
(let* ((frame-A (window-frame ediff-window-A))
(frame-A-params (frame-parameters frame-A))
- (cw (ediff-frame-char-width frame-A))
- (wd (- (/ (ediff-display-pixel-width) cw) 5)))
+ (cw (frame-char-width frame-A))
+ (wd (- (/ (display-pixel-width) cw) 5)))
(setq ediff-wide-display-orig-parameters
(list (cons 'left (max 0 (eval (cdr (assoc 'left frame-A-params)))))
(cons 'width (cdr (assoc 'width frame-A-params))))
;; If buff is not live, return nil
(defun ediff-get-visible-buffer-window (buff)
(if (ediff-buffer-live-p buff)
- (if (featurep 'xemacs)
- (get-buffer-window buff t)
- (get-buffer-window buff 'visible))))
+ (get-buffer-window buff 'visible)))
;;; Functions to decide when to redraw windows
"Return string describing the version of Ediff.
When called interactively, displays the version."
(interactive)
- (if (if (featurep 'xemacs)
- (interactive-p)
- (called-interactively-p 'interactive))
+ (if (called-interactively-p 'interactive)
(message "%s" (ediff-version))
(format "Ediff %s" ediff-version)))
(condition-case nil
(progn
(pop-to-buffer (get-buffer-create "*info*"))
- (info (if (featurep 'xemacs) "ediff.info" "ediff"))
+ (info "ediff")
(if node
(Info-goto-node node)
(message "Type `i' to search for a specific topic"))