diff lisp/ediff-diff.el @ 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 ecd388a0937d
children f6a67d77484a
line wrap: on
line diff
--- 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)