Mercurial > emacs
changeset 30089:f7f64f1ccc38
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.
author | Michael Kifer <kifer@cs.stonybrook.edu> |
---|---|
date | Thu, 06 Jul 2000 05:36:21 +0000 |
parents | 2ed241fb45f7 |
children | 6ea3040d5833 |
files | lisp/ChangeLog lisp/ediff-diff.el lisp/ediff-init.el |
diffstat | 3 files changed, 44 insertions(+), 31 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Jul 05 22:07:21 2000 +0000 +++ b/lisp/ChangeLog Thu Jul 06 05:36:21 2000 +0000 @@ -1,3 +1,14 @@ +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.
--- a/lisp/ediff-diff.el Wed Jul 05 22:07:21 2000 +0000 +++ b/lisp/ediff-diff.el Thu Jul 06 05:36:21 2000 +0000 @@ -1216,7 +1216,7 @@ "*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 @@ (> (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 @@ ;; 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)
--- a/lisp/ediff-init.el Wed Jul 05 22:07:21 2000 +0000 +++ b/lisp/ediff-init.el Thu Jul 06 05:36:21 2000 +0000 @@ -63,8 +63,8 @@ (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 @@ ((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 @@ (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 @@ (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