]> git.eshelyaron.com Git - emacs.git/commitdiff
2000-07-05 Michael Kifer <kifer@cs.sunysb.edu>
authorMichael Kifer <kifer@cs.stonybrook.edu>
Thu, 6 Jul 2000 05:36:21 +0000 (05:36 +0000)
committerMichael Kifer <kifer@cs.stonybrook.edu>
Thu, 6 Jul 2000 05:36:21 +0000 (05:36 +0000)
* 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.

lisp/ChangeLog
lisp/ediff-diff.el
lisp/ediff-init.el

index 83df703356bd380823f4f291147bc5173dfe4235..5b96988b6fc0e8720bafb53816b505133126d13d 100644 (file)
@@ -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.
index a7236bd1d35f89786614be5887281db4cc454381..e6864bf02feca8859205ddc9363d1137c40590b4 100644 (file)
@@ -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)
index 7cd3d3da229b836ab3e22dfff89473d8cc45eca5..ed8cfa29e1ea59b16d1a47c46649661717957982 100644 (file)
@@ -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