Commit d396e521 authored by Michael Kifer's avatar Michael Kifer
Browse files

2000-07-05 Michael Kifer <kifer@cs.sunysb.edu>

	* ediff-diff.el (ediff-wordify): use syntax table.
	* ediff-init.el (ediff-has-face-support-p): use
	ediff-color-display-p.
	(ediff-color-display-p): use display-color-p, changed to defun
	from defsubst.
	Got rid of special cases for NeXT and OS/2.
	* ediff-wind.el (ediff-setup-control-frame): set proper modeline
	face.
parent 5e2dfaa4
2000-07-05 Michael Kifer <kifer@cs.sunysb.edu>
* ediff-diff.el (ediff-wordify): use syntax table.
* ediff-init.el (ediff-has-face-support-p): use
ediff-color-display-p.
(ediff-color-display-p): use display-color-p, changed to defun
from defsubst.
Got rid of special cases for NeXT and OS/2.
* ediff-wind.el (ediff-setup-control-frame): set proper modeline
face.
2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
* emacs-lisp/lucid.el: Require CL.
......
......@@ -1216,7 +1216,7 @@ Used for splitting difference regions into individual words.")
"*Characters constituting white space.
These characters are ignored when differing regions are split into words.")
(defvar ediff-word-1 "\\(a-zA-Z---_\\|\w\\)"
(defvar ediff-word-1 "a-zA-Z---_"
"*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.")
......@@ -1253,13 +1253,19 @@ arguments to `skip-chars-forward'."
(> (skip-chars-forward ediff-word-4) 0)
))
(defun ediff-wordify (beg end in-buffer out-buffer &optional control-buf)
(let (sv-point string)
(let (inbuf-syntax-tbl sv-point string)
(save-excursion
(set-buffer in-buffer)
(setq inbuf-syntax-tbl (syntax-table))
(setq string (buffer-substring-no-properties beg end))
(set-buffer out-buffer)
;; Make sure that temp buff syntax table is the same a the original buf
;; syntax tbl, because we use ediff-forward-word in both and
;; ediff-forward-word depends on the syntax classes of characters.
(set-syntax-table inbuf-syntax-tbl)
(erase-buffer)
(insert string)
(goto-char (point-min))
......@@ -1271,7 +1277,8 @@ arguments to `skip-chars-forward'."
;; different invocations
(if control-buf
(funcall
(ediff-with-current-buffer control-buf ediff-forward-word-function))
(ediff-with-current-buffer
control-buf ediff-forward-word-function))
(funcall ediff-forward-word-function))
(setq sv-point (point))
(skip-chars-forward ediff-whitespace)
......
......@@ -63,8 +63,8 @@ that Ediff doesn't know about.")
(defun ediff-has-face-support-p ()
(cond ((ediff-window-display-p))
(ediff-force-faces)
(ediff-emacs-p (or (x-display-color-p)
(memq (ediff-device-type) '(pc))))
((ediff-color-display-p))
(ediff-emacs-p (memq (ediff-device-type) '(pc)))
(ediff-xemacs-p (memq (ediff-device-type) '(tty pc)))))
(defun ediff-has-toolbar-support-p ()
......@@ -739,22 +739,15 @@ appropriate symbol: `rcs', `pcl-cvs', or `generic-sc' if you so desire."
((memq op '(< <=)) t))))
;; A fix for NeXT Step
;; Should probably be eliminated in later versions.
(if (and (ediff-window-display-p) (eq (ediff-device-type) 'ns))
(progn
(fset 'x-display-color-p (symbol-function 'ns-display-color-p))
(fset 'x-color-defined-p (symbol-function 'ns-color-defined-p))
(fset 'x-display-pixel-height (symbol-function 'ns-display-pixel-height))
(fset 'x-display-pixel-width (symbol-function 'ns-display-pixel-width))
))
(defsubst ediff-color-display-p ()
(if ediff-emacs-p
(x-display-color-p)
(eq (device-class (selected-device)) 'color)))
(defun ediff-color-display-p ()
(condition-case nil
(if ediff-emacs-p
(if (fboundp 'display-color-p)
(display-color-p)
(x-display-color-p))
(eq (device-class (selected-device)) 'color))
(error
nil)))
(if (ediff-has-face-support-p)
......@@ -762,12 +755,10 @@ appropriate symbol: `rcs', `pcl-cvs', or `generic-sc' if you so desire."
(progn
(fset 'ediff-valid-color-p (symbol-function 'valid-color-name-p))
(fset 'ediff-get-face (symbol-function 'get-face)))
;; Temporary fix for OS/2 port of Emacs
;; pm-win.el in PM-Emacs should be fixed.
(if (eq (ediff-device-type) 'pm)
(fset 'ediff-valid-color-p
(lambda (color) (assoc color pm-color-alist)))
(fset 'ediff-valid-color-p (symbol-function 'x-color-defined-p)))
(fset 'ediff-valid-color-p (symbol-function
(if (fboundp 'color-defined-p)
'color-defined-p
'x-color-defined-p)))
(fset 'ediff-get-face (symbol-function 'internal-get-face))))
(if (ediff-window-display-p)
......@@ -777,10 +768,14 @@ appropriate symbol: `rcs', `pcl-cvs', or `generic-sc' if you so desire."
(symbol-function 'device-pixel-width))
(fset 'ediff-display-pixel-height
(symbol-function 'device-pixel-height)))
(fset 'ediff-display-pixel-width
(symbol-function 'x-display-pixel-width))
(fset 'ediff-display-pixel-height
(symbol-function 'x-display-pixel-height))))
(fset 'ediff-display-pixel-width (symbol-function
(if (fboundp 'display-pixel-width)
'display-pixel-width
'x-display-pixel-width)))
(fset 'ediff-display-pixel-height (symbol-function
(if (fboundp 'display-pixel-height)
'display-pixel-height
'x-display-pixel-height)))))
;; A-list of current-diff-overlay symbols asssociated with buf types
(defconst ediff-current-diff-overlay-alist
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment